feat(protocan): вынеси GUI-кадрирование в общий ABI
This commit is contained in:
@@ -36,6 +36,15 @@ typedef struct {
|
||||
uint8_t data[8];
|
||||
} pcan_abi_frame_t;
|
||||
|
||||
#define PCAN_ABI_GUI_PAYLOAD_MAX 512U
|
||||
|
||||
typedef struct {
|
||||
uint16_t sequence;
|
||||
uint16_t size;
|
||||
uint8_t message_type;
|
||||
uint8_t payload[PCAN_ABI_GUI_PAYLOAD_MAX];
|
||||
} pcan_abi_gui_frame_t;
|
||||
|
||||
PCAN_ABI_API uint32_t pcan_abi_version(void);
|
||||
|
||||
PCAN_ABI_API uint32_t pcan_abi_id_pack(uint8_t priority, uint8_t route,
|
||||
@@ -67,6 +76,21 @@ PCAN_ABI_API int pcan_abi_parser_stats(const void *parser_storage,
|
||||
uint32_t *bad_length,
|
||||
uint32_t *stray_bytes);
|
||||
|
||||
PCAN_ABI_API uint32_t pcan_abi_gui_crc32(const uint8_t *data, size_t size);
|
||||
PCAN_ABI_API size_t pcan_abi_gui_frame_encode(
|
||||
uint8_t message_type, uint16_t sequence,
|
||||
const uint8_t *payload, uint16_t payload_size,
|
||||
uint8_t *output, size_t output_size);
|
||||
PCAN_ABI_API size_t pcan_abi_gui_parser_size(void);
|
||||
PCAN_ABI_API int pcan_abi_gui_parser_init(void *parser_storage,
|
||||
size_t storage_size);
|
||||
PCAN_ABI_API int pcan_abi_gui_parser_push(void *parser_storage, uint8_t byte,
|
||||
pcan_abi_gui_frame_t *output);
|
||||
PCAN_ABI_API int pcan_abi_gui_parser_stats(
|
||||
const void *parser_storage, uint32_t *frames, uint32_t *crc_errors,
|
||||
uint32_t *version_errors, uint32_t *length_errors,
|
||||
uint32_t *stray_bytes);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user