unleashed-firmware/lib/digital_signal/digital_signal_i.h
hedger ffa3996a5e
[FL-3867] Code formatting update (#3765)
* clang-format: AllowShortEnumsOnASingleLine: false
* clang-format: InsertNewlineAtEOF: true
* clang-format: Standard:        c++20
* clang-format: AlignConsecutiveBitFields
* clang-format: AlignConsecutiveMacros
* clang-format: RemoveParentheses: ReturnStatement
* clang-format: RemoveSemicolon: true
* Restored RemoveParentheses: Leave, retained general changes for it
* formatting: fixed logging TAGs
* Formatting update for dev

Co-authored-by: あく <alleteam@gmail.com>
2024-07-15 13:38:49 +09:00

23 lines
821 B
C

/**
* @file digital_signal_i.h
* @brief DigitalSignal private definitions.
*
* This file is an implementation detail. It must not be included in
* any public API-related headers.
*/
#include <stdint.h>
#include <stdbool.h>
#define DIGITAL_SIGNAL_T_TIM 1562 /**< 15.625 ns *100 */
#define DIGITAL_SIGNAL_T_TIM_DIV2 (DIGITAL_SIGNAL_T_TIM / 2) /**< 15.625 ns / 2 *100 */
/**
* @brief DigitalSignal structure type.
*/
struct DigitalSignal {
bool start_level; /**< The level to begin the signal with. */
uint32_t size; /**< Current period count contained in the instance. */
uint32_t max_size; /**< Maximum period count this instance can hold. */
int32_t remainder; /**< Remainder left after converting all periods into timer ticks. */
uint32_t data[]; /**< The array of time periods. */
};