Fixed size of UART_SETTINGS

pull/4/head
Paul Hollinsky 2018-10-22 18:25:26 -04:00
parent bc91796d15
commit 6ccd6f2072
1 changed files with 10 additions and 8 deletions

View File

@ -60,6 +60,7 @@ typedef struct
uint8_t innerFrameDelay25us; uint8_t innerFrameDelay25us;
} CAN_SETTINGS; } CAN_SETTINGS;
#define CAN_SETTINGS_SIZE 12 #define CAN_SETTINGS_SIZE 12
static_assert(sizeof(CAN_SETTINGS) == CAN_SETTINGS_SIZE, "CAN_SETTINGS is the wrong size!");
/* FDMode in CANFD_SETTINGS */ /* FDMode in CANFD_SETTINGS */
enum enum
@ -244,6 +245,7 @@ typedef struct
uint16_t chksum_enabled; uint16_t chksum_enabled;
} ISO9141_KEYWORD2000_SETTINGS; } ISO9141_KEYWORD2000_SETTINGS;
#define ISO9141_KEYWORD2000_SETTINGS_SIZE 114 #define ISO9141_KEYWORD2000_SETTINGS_SIZE 114
static_assert(sizeof(ISO9141_KEYWORD2000_SETTINGS) == ISO9141_KEYWORD2000_SETTINGS_SIZE, "ISO9141_KEYWORD2000_SETTINGS is the wrong size!");
typedef struct _UART_SETTINGS typedef struct _UART_SETTINGS
{ {
@ -254,19 +256,19 @@ typedef struct _UART_SETTINGS
uint16_t stop_bits; uint16_t stop_bits;
uint8_t flow_control; /* 0- off, 1 - Simple CTS RTS */ uint8_t flow_control; /* 0- off, 1 - Simple CTS RTS */
uint8_t reserved_1; uint8_t reserved_1;
union abcd { union {
uint32_t bOptions; uint32_t bOptions;
struct _sOptions struct {
{ uint32_t invert_tx : 1;
unsigned invert_tx : 1; uint32_t invert_rx : 1;
unsigned invert_rx : 1; uint32_t half_duplex : 1;
unsigned half_duplex : 1; uint32_t reserved_bits : 13;
unsigned reserved_bits : 13; uint32_t reserved_bits2 : 16;
unsigned reserved_bits2 : 16;
} sOptions; } sOptions;
}; };
} UART_SETTINGS; } UART_SETTINGS;
#define UART_SETTINGS_SIZE 16 #define UART_SETTINGS_SIZE 16
static_assert(sizeof(UART_SETTINGS) == UART_SETTINGS_SIZE, "UART_SETTINGS is the wrong size!");
#pragma pack(pop) #pragma pack(pop)