27 #ifndef SCOM_DATA_LINK_H
28 #define SCOM_DATA_LINK_H
36 #if defined(__GNUC__) \
37 || (defined(_MSC_VER) && defined(__cplusplus))
39 #include "scom_port_c99.h"
41 #error "target or compiler not supported"
52 #define SCOM_NBR_ELEMENTS(array) (sizeof(array)/sizeof((array)[0]))
58 #define SCOM_MIN(a, b) ((a) < (b) ? (a) : (b))
64 #define SCOM_MAX(a, b) ((a) > (b) ? (a) : (b))
73 #define SCOM_FRAME_HEADER_SIZE 14
124 SCOM_READ_PROPERTY_SERVICE = 0x1,
125 SCOM_WRITE_PROPERTY_SERVICE = 0x2
133 SCOM_FORMAT_INVALID_FORMAT = 0,
136 SCOM_FORMAT_BOOL = 1,
139 SCOM_FORMAT_FORMAT = 2,
140 SCOM_FORMAT_ENUM = 3,
141 SCOM_FORMAT_ERROR = 4,
144 SCOM_FORMAT_INT32 = 5,
145 SCOM_FORMAT_FLOAT = 6,
148 SCOM_FORMAT_STRING = 7,
149 SCOM_FORMAT_DYNAMIC = 8,
150 SCOM_FORMAT_BYTE_STREAM = 9
160 int is_new_datalogger_file_present:1;
161 int is_sd_card_full:1;
162 int is_sd_card_present:1;
163 int was_rcc_reseted:1;
164 int is_message_pending:1;
202 void scom_initialize_frame(
scom_frame_t* frame,
char* buffer,
size_t buffer_size);