main_ubi_sdk v 0.1.3
This is UBI4 documentation
a_protocol.h
Go to the documentation of this file.
1/*
2 ******************************************************************************
3 * @file a_protocol.h
4 * @author A.Alborov
5 ******************************************************************************
6 */
7
8
9
10#ifndef INC_A_PROTOCOL_H_
11#define INC_A_PROTOCOL_H_
12
13
16#include "utils/custom_heap.h"
21#include "stdint.h"
22
23
31
40
41
42
50
56
57/*
58typedef struct
59{
60 uint8_t port:3;
61 uint8_t exist_uid: 1;
62 uint8_t package_type: 2;
63 uint8_t direction: 1;
64 uint8_t bridge: 1;
65
66 uint8_t addr;
67 uint8_t package_code;
68 uint8_t Data[6];
69 uint8_t crc;
70}__attribute__((__packed__)) p2p_port_header;
71
72
73//P2P high level port
74
75typedef struct
76{
77 uint8_t res:7;
78 uint8_t bridge: 1;
79 uint8_t package_code;
80 uint8_t package_id;
81 uint16_t package_size;
82 uint8_t crc;
83}__attribute__((__packed__)) p2p_high_level_port_header;
84
85
86typedef struct
87{
88 uint8_t port:7;
89 uint8_t bridge: 1;
90 uint8_t package_code;
91 uint8_t package_id;
92 uint16_t package_size;
93 uint8_t crc;
94 uint8_t address;
95}__attribute__((__packed__)) p2p_bridge_high_level_port_header;
96
97*/
98
100 uint8_t addr: 6;
102}__attribute__((__packed__));
103
104
108}__attribute__((__packed__));
109
111 uint16_t size;
112 uint8_t payload_crc;
113 uint8_t Data[3];
114}__attribute__((__packed__));
115
116
118 uint8_t Data[6];
120}__attribute__((__packed__));
121
122typedef struct
123{
124 uint8_t last_package: 1;
125 uint8_t waiting_answer: 1;
126 uint8_t request_type: 1;
127 uint8_t size_type: 2;
128 uint8_t exist_uid_or_param_com_size: 1; //waiting answer or parameter command size
129 uint8_t bridge: 1;
130 uint8_t request: 1;
131}__attribute__((__packed__)) base_bus_transmit_settings_struct;
132
133
134typedef struct
135{
136 uint8_t last_package: 1;
137 uint8_t waiting_answer: 1;
138 uint8_t request_type: 1;
139 uint8_t size_type: 2;
140 uint8_t exist_uid_or_param_com_size: 1; //waiting answer or parameter command size
141 uint8_t bridge: 1;
142 uint8_t request: 1;
143
145
148 uint8_t crc;
149
150}__attribute__((__packed__)) bus_main_module_header;
151
158
165
172
185
186
187
188
195
196
203
204typedef struct
205{
207 uint8_t* pBuf;
208 uint16_t BufSize;
209
210 uint8_t* pData;
211 uint16_t DataSize;
212
215
216
218
220
221 void* object;
222 void (*data_tx_callback)(void* object);
223}__attribute__((__packed__))base_protocol_data_segment_struct;
224
225
226
227typedef struct
228{
229 uint16_t pack_info_ID;
230 uint8_t last_package: 1;
231 uint8_t waiting_answer: 1;
232 uint8_t request_type: 1;
233 uint8_t size_type: 2;
234 uint8_t exist_uid:1;
235 uint8_t bridge:1;
236 uint8_t request: 1;
239 uint8_t* pData;
240 uint16_t DataSize;
242
244
246
247
248}__attribute__((__packed__))ubi4_bus_package_info_struct;
249
250typedef struct
251{
252 uint16_t pack_info_ID;
253 uint8_t Address;
254 uint8_t command;
257
258}__attribute__((__packed__))ubi4_bridge_request_info_struct;
259
267
288
289
290typedef void (*receive_data_func_t)(void* protocol_str);
291typedef void (*receive_bridge_func_t)(void* port_str, uint8_t* buf, uint32_t size);
292typedef void (*slave_answer_func_t)(void* protocol_str, uint8_t* buf, uint32_t size);
293typedef void (*remove_pack_info_t)(void* protocol_str, void* pack_info);
294typedef base_protocol_data_segment_struct* (*get_data_segment_func_t)(void* protocol_str, uint16_t size);
295typedef protocol_parce_status_enum (*get_data_from_package_t)(void* protocol, uint8_t* buf, uint32_t size, ubi4_bus_package_info_struct* pack_info_out, uint8_t** buf_out, uint32_t* len);
296typedef void (*receive_to_current_device_func_t)(void* protocol_str, uint8_t* buf, uint32_t size);
297typedef void (*receive_to_another_device_func_t)(void* protocol_str, uint8_t* buf, uint32_t size);
298typedef void (*protocol_answer_func_t)(void* protocol_str, void* pack_info, uint8_t* data_buf, uint16_t size);
299typedef void (*protocol_answer_obj_data_func_t)(void* protocol_str, void* pack_info, base_protocol_data_segment_struct* data_segment);
300typedef void (*device_main_receiver_t)(void* protocol_str, protocol_receive_struct receive_str);
301typedef void (*protocol_bridge_receive_callback_t)(void* protocol_str, protocol_receive_struct receive_str);
302typedef void (*transmit_data_segment_to_master_t)(void* protocol_str, uint8_t command, base_protocol_data_segment_struct* data_segment);
303typedef void (*transmit_to_slave_t)(void* protocol_str, uint8_t address, uint8_t command, base_bus_transmit_settings_struct* tx_settings, uint8_t* data_buf, uint16_t size);
304typedef int (*request_from_slave_blocked_t)(void* protocol_str, uint8_t address, uint8_t command, base_bus_transmit_settings_struct* tx_settings, uint8_t* tx_data_buf, uint16_t tx_size, uint32_t wait_rx_size, uint32_t wait_time_ms, ubi4_bus_package_info_struct* pack_info_out, uint8_t** buf_out, uint32_t* len);
305typedef int (*request_handler_blocked_t)(void* protocol_str, uint8_t address, uint8_t command, base_bus_transmit_settings_struct* tx_settings, uint8_t* tx_data_buf, uint16_t tx_size, uint32_t wait_rx_size, uint32_t wait_time_ms);
306typedef void (*transmit_bridge_to_slave_t)(void* protocol_str, uint8_t address, uint8_t command, bool last_package, void* source_protocol_str, void* source_pack_info, base_protocol_data_segment_struct* data_segment);
307typedef void (*transmit_bridge_to_slave_queue_t)(void* protocol_str, uint8_t address, uint8_t command, bool last_package, void* source_protocol_str, void* source_pack_info, base_protocol_data_segment_struct* data_segment);
308typedef void* (*get_specific_pack_info_t)(void* protocol_str, void* pack_info, pack_info_specificator_enum specificator, uint8_t* status);
309typedef uint8_t (*get_specific_byte_pack_info_t)(void* protocol_str, void* pack_info, pack_info_specificator_enum specificator, uint8_t* status);
310typedef void (*parce_preamble_t)(void* protocol_str, uint8_t* data, uint16_t size);
311typedef void (*protocol_close_port_callback_t)(void* protocol_str);
312
313typedef struct {
317
324
329
331
334 uint8_t wait_answer;
336
337 uint32_t last_rx_time;
338
340
363
365
367
368
369
370
371
372
373
374
380
381typedef void (*receiver_typedef)(void* protocol_str, protocol_receive_struct receive_str);
382
383//ubi4_bus_package_info_struct* create_package_info(ubi4_bus_protocol_obj_struct* protocol_str, uint8_t* buf, uint16_t size);
384//void remove_package_info(ubi4_bus_protocol_obj_struct* protocol_str, ubi4_bus_package_info_struct* package_info);
385
386//base_protocol_data_segment_struct* create_data_segment(ubi4_bus_protocol_obj_struct* protocol_str, uint16_t size);
387//void remove_data_segment(ubi4_bus_protocol_obj_struct* protocol_str, base_protocol_data_segment_struct* data_segment);
388
389void parce(uint8_t* Buf, uint16_t size,ports_enum port);
393
394
396
398
404
405
406void protocol_set_bridge_callback(ubi4_bus_protocol_obj_struct* protocol_str, void (*receiver)(void* protocol_str, protocol_receive_struct receive_str));
407
408
409bridge_protocol_info_struct Check_Device_Bridge_Info(void* port_device_manager, uint8_t Address);
410
411uint8_t Get_Device_Address(uint8_t* status);
412void protocol_delay(uint32_t time_ms);
413
414#endif /* INC_A_PROTOCOL_H_ */
ports_enum
Definition a_port.h:47
void protocol_set_bridge_callback(ubi4_bus_protocol_obj_struct *protocol_str, void(*receiver)(void *protocol_str, protocol_receive_struct receive_str))
Definition a_protocol.c:1196
simple_device_type_enum
Definition a_protocol.h:33
@ SDT_DRIVER
Definition a_protocol.h:34
@ SDT_SENSORE
Definition a_protocol.h:35
@ SDT_ALL_DEVICES
Definition a_protocol.h:37
@ SDT_NUM
Definition a_protocol.h:38
@ SDT_HID
Definition a_protocol.h:36
void ubi4_remove_pack_info(ubi4_bus_protocol_obj_struct *protocol_str, ubi4_bus_package_info_struct *pack_info)
Definition a_protocol.c:1639
void ubi4_master_receiver_init(base_port_struct *port, ubi4_bus_protocol_obj_struct **protocol_obj_str)
Definition a_protocol.c:977
int(* request_handler_blocked_t)(void *protocol_str, uint8_t address, uint8_t command, base_bus_transmit_settings_struct *tx_settings, uint8_t *tx_data_buf, uint16_t tx_size, uint32_t wait_rx_size, uint32_t wait_time_ms)
Definition a_protocol.h:305
void(* receiver_typedef)(void *protocol_str, protocol_receive_struct receive_str)
Definition a_protocol.h:381
uint8_t(* get_specific_byte_pack_info_t)(void *protocol_str, void *pack_info, pack_info_specificator_enum specificator, uint8_t *status)
Definition a_protocol.h:309
void(* transmit_data_segment_to_master_t)(void *protocol_str, uint8_t command, base_protocol_data_segment_struct *data_segment)
Definition a_protocol.h:302
protocol_data_segment_status_enum
Definition a_protocol.h:160
@ PDSSE_FREE
Definition a_protocol.h:161
@ PDSSE_BUSY
Definition a_protocol.h:162
void(* receive_data_func_t)(void *protocol_str)
Definition a_protocol.h:290
void(* transmit_to_slave_t)(void *protocol_str, uint8_t address, uint8_t command, base_bus_transmit_settings_struct *tx_settings, uint8_t *data_buf, uint16_t size)
Definition a_protocol.h:303
void(* transmit_bridge_to_slave_t)(void *protocol_str, uint8_t address, uint8_t command, bool last_package, void *source_protocol_str, void *source_pack_info, base_protocol_data_segment_struct *data_segment)
Definition a_protocol.h:306
package_type_enum
Definition a_protocol.h:25
@ PACKAGE_TYPE_FIX_LEN
Definition a_protocol.h:26
@ PACKAGE_TYPE_VAR_LEN
Definition a_protocol.h:27
@ PE_RES1
Definition a_protocol.h:28
@ PE_RES2
Definition a_protocol.h:29
void(* receive_to_another_device_func_t)(void *protocol_str, uint8_t *buf, uint32_t size)
Definition a_protocol.h:297
void ubi4_spi_slave_receiver_init(base_port_struct *port, ubi4_bus_protocol_init_struct init_struct, ubi4_bus_protocol_obj_struct **protocol_obj_str)
Definition a_protocol.c:1137
void protocol_delay(uint32_t time_ms)
Definition a_protocol.c:2559
void protocol_tx_complete(ubi4_bus_protocol_obj_struct *protocol_str)
Definition a_protocol.c:1731
void(* receive_to_current_device_func_t)(void *protocol_str, uint8_t *buf, uint32_t size)
Definition a_protocol.h:296
bus_protocol_request_type_enum
Definition a_protocol.h:52
@ BPRT_PARAMETERS
Definition a_protocol.h:54
@ BPRT_COMMAND
Definition a_protocol.h:53
bus_protocol_package_type_enum
Definition a_protocol.h:44
@ BPPT_FLOAT_LEN_PACKAGE
Definition a_protocol.h:46
@ BPPT_RES2
Definition a_protocol.h:48
@ BPPT_FIX_LEN_PACKAGE
Definition a_protocol.h:45
@ BPPT_RES1
Definition a_protocol.h:47
void(* protocol_bridge_receive_callback_t)(void *protocol_str, protocol_receive_struct receive_str)
Definition a_protocol.h:301
void ubi4_slave_receiver_init(base_port_struct *port, ubi4_bus_protocol_init_struct init_struct, ubi4_bus_protocol_obj_struct **protocol_obj_str)
Definition a_protocol.c:1059
void parce(uint8_t *Buf, uint16_t size, ports_enum port)
void(* receive_bridge_func_t)(void *port_str, uint8_t *buf, uint32_t size)
Definition a_protocol.h:291
base_protocol_data_segment_struct *(* get_data_segment_func_t)(void *protocol_str, uint16_t size)
Definition a_protocol.h:294
void(* parce_preamble_t)(void *protocol_str, uint8_t *data, uint16_t size)
Definition a_protocol.h:310
void(* device_main_receiver_t)(void *protocol_str, protocol_receive_struct receive_str)
Definition a_protocol.h:300
void(* remove_pack_info_t)(void *protocol_str, void *pack_info)
Definition a_protocol.h:293
void(* transmit_bridge_to_slave_queue_t)(void *protocol_str, uint8_t address, uint8_t command, bool last_package, void *source_protocol_str, void *source_pack_info, base_protocol_data_segment_struct *data_segment)
Definition a_protocol.h:307
void *(* get_specific_pack_info_t)(void *protocol_str, void *pack_info, pack_info_specificator_enum specificator, uint8_t *status)
Definition a_protocol.h:308
package_info_slot_status_enum
Definition a_protocol.h:153
@ PSSE_FREE
Definition a_protocol.h:154
@ PSSE_BUSY
Definition a_protocol.h:155
pack_info_specificator_enum
Definition a_protocol.h:174
@ PISE_PACKAGE_ID
Definition a_protocol.h:179
@ PISE_ID
Definition a_protocol.h:175
@ PISE_ADDRESS
Definition a_protocol.h:182
@ PISE_PACKAGE_CODE
Definition a_protocol.h:178
@ PISE_BRIGE
Definition a_protocol.h:176
@ PISE_PACKAGE_SIZE
Definition a_protocol.h:180
@ PISE_REQUEST_TYPE
Definition a_protocol.h:183
@ PISE_WAIT_ANSWER
Definition a_protocol.h:177
@ PISE_PACKAGE_CRC
Definition a_protocol.h:181
bridge_protocol_info_struct Check_Device_Bridge_Info(void *port_device_manager, uint8_t Address)
Definition a_protocol.c:2533
void ubi4_slave_receiver_start(ubi4_bus_protocol_obj_struct *protocol_obj_str)
Definition a_protocol.c:1208
queue_transmit_type_enum
Definition a_protocol.h:190
@ QTTE_BRIDGE
Definition a_protocol.h:193
@ QTTE_DIRECT
Definition a_protocol.h:192
@ QTTE_UNKNOW
Definition a_protocol.h:191
int ubi4_bus_receive_data_full_buffer(base_port_struct *port_str)
Definition a_protocol.c:257
void protocol_set_receiver(ubi4_bus_protocol_obj_struct *protocol_str, receiver_typedef receiver)
Definition a_protocol.c:1190
protocol_parce_status_enum(* get_data_from_package_t)(void *protocol, uint8_t *buf, uint32_t size, ubi4_bus_package_info_struct *pack_info_out, uint8_t **buf_out, uint32_t *len)
Definition a_protocol.h:295
protocol_parce_status_enum
Definition a_protocol.h:167
@ PPSE_CRC_FAIL
Definition a_protocol.h:170
@ PPSE_SHORT_PACKAGE
Definition a_protocol.h:169
@ PPSE_PARCE_OK
Definition a_protocol.h:168
protocol_receive_mode_enum
Definition a_protocol.h:198
@ PRME_RECEIVE_FULL_BUFFER
Definition a_protocol.h:200
@ PRME_RECEIVE_IRQ
Definition a_protocol.h:199
int(* request_from_slave_blocked_t)(void *protocol_str, uint8_t address, uint8_t command, base_bus_transmit_settings_struct *tx_settings, uint8_t *tx_data_buf, uint16_t tx_size, uint32_t wait_rx_size, uint32_t wait_time_ms, ubi4_bus_package_info_struct *pack_info_out, uint8_t **buf_out, uint32_t *len)
Definition a_protocol.h:304
void(* slave_answer_func_t)(void *protocol_str, uint8_t *buf, uint32_t size)
Definition a_protocol.h:292
uint8_t Get_Device_Address(uint8_t *status)
Definition a_protocol.c:2549
void(* protocol_close_port_callback_t)(void *protocol_str)
Definition a_protocol.h:311
int ubi4_bus_receive_data_rx_irq_exec(ubi4_bus_protocol_obj_struct *protocol_str)
Definition a_protocol.c:2395
void ubi4_slave_receiver_reset(ubi4_bus_protocol_obj_struct *protocol_str)
Definition a_protocol.c:284
void(* protocol_answer_func_t)(void *protocol_str, void *pack_info, uint8_t *data_buf, uint16_t size)
Definition a_protocol.h:298
void(* protocol_answer_obj_data_func_t)(void *protocol_str, void *pack_info, base_protocol_data_segment_struct *data_segment)
Definition a_protocol.h:299
Definition a_protocol.h:123
uint8_t waiting_answer
Definition a_protocol.h:125
uint8_t bridge
Definition a_protocol.h:129
uint8_t request
Definition a_protocol.h:130
uint8_t size_type
Definition a_protocol.h:127
uint8_t request_type
Definition a_protocol.h:126
uint8_t exist_uid_or_param_com_size
Definition a_protocol.h:128
uint8_t last_package
Definition a_protocol.h:124
Definition a_port.h:99
Definition a_protocol.h:205
void * object
Definition a_protocol.h:221
custom_heap_obj_struct * heap
Definition a_protocol.h:213
void * owner_conteiner
Definition a_protocol.h:219
void(* data_tx_callback)(void *object)
Definition a_protocol.h:222
protocol_data_segment_status_enum slot_status
Definition a_protocol.h:217
uint8_t * pData
Definition a_protocol.h:210
uint16_t BufSize
Definition a_protocol.h:208
uint16_t DataSize
Definition a_protocol.h:211
custom_heap_slot_struct * heapSlot
Definition a_protocol.h:214
uint8_t * pBuf
Definition a_protocol.h:207
uint16_t dataSegmentID
Definition a_protocol.h:206
Definition a_protocol.h:269
ubi4_bus_package_info_struct * source_pack_info
Definition a_protocol.h:284
uint8_t command
Definition a_protocol.h:276
uint8_t waiting_answer
Definition a_protocol.h:272
uint8_t reserv
Definition a_protocol.h:274
queue_transmit_type_enum queue_transmit_type
Definition a_protocol.h:280
union u_device_address addr
Definition a_protocol.h:278
void * source_protocol_str
Definition a_protocol.h:285
uint8_t request_type
Definition a_protocol.h:273
ubi4_bus_package_info_struct * pack_info
Definition a_protocol.h:281
base_protocol_data_segment_struct * data_segment
Definition a_protocol.h:282
uint16_t dataSegmentID
Definition a_protocol.h:270
Definition a_protocol.h:261
void * last_bridge_pack_info
Definition a_protocol.h:264
void * last_bridge_protocol
Definition a_protocol.h:265
void * device
Definition a_protocol.h:263
uint8_t status
Definition a_protocol.h:262
Definition a_protocol.h:135
uint8_t waiting_answer
Definition a_protocol.h:137
uint8_t bridge
Definition a_protocol.h:141
uint8_t request
Definition a_protocol.h:142
uint8_t size_type
Definition a_protocol.h:139
uint8_t package_code
Definition a_protocol.h:146
union u_device_address addr
Definition a_protocol.h:144
union u_bus_res_payload Data
Definition a_protocol.h:147
uint8_t crc
Definition a_protocol.h:148
uint8_t request_type
Definition a_protocol.h:138
uint8_t exist_uid_or_param_com_size
Definition a_protocol.h:140
uint8_t last_package
Definition a_protocol.h:136
Definition custom_heap.h:31
Definition custom_heap.h:24
Definition a_protocol.h:99
uint8_t simple_device_type
Definition a_protocol.h:101
uint8_t addr
Definition a_protocol.h:100
Definition a_protocol_struct.h:18
Definition data_sniffer.h:43
Верхнеуровневая структура soft_timer, с которой предстоит работать.
Definition base_soft_timer.h:169
Definition static_conteiner.h:26
Definition a_protocol.h:251
uint8_t command
Definition a_protocol.h:254
uint16_t pack_info_ID
Definition a_protocol.h:252
void * source_pack_info
Definition a_protocol.h:255
void * source_protocol
Definition a_protocol.h:256
uint8_t Address
Definition a_protocol.h:253
Definition a_protocol.h:228
uint8_t waiting_answer
Definition a_protocol.h:231
uint16_t pack_info_ID
Definition a_protocol.h:229
uint8_t bridge
Definition a_protocol.h:235
uint8_t request
Definition a_protocol.h:236
uint8_t size_type
Definition a_protocol.h:233
uint8_t * pData
Definition a_protocol.h:239
uint8_t package_code
Definition a_protocol.h:238
union u_device_address addr
Definition a_protocol.h:237
package_info_slot_status_enum slot_status
Definition a_protocol.h:245
uint8_t request_queue_pos
Definition a_protocol.h:241
uint16_t DataSize
Definition a_protocol.h:240
uint8_t exist_uid
Definition a_protocol.h:234
base_protocol_data_segment_struct * answer_data_segment
Definition a_protocol.h:243
uint8_t request_type
Definition a_protocol.h:232
uint8_t last_package
Definition a_protocol.h:230
Definition a_protocol.h:376
soft_timer_class_struct * us_soft_timer
Definition a_protocol.h:378
soft_timer_class_struct * ms_soft_timer
Definition a_protocol.h:377
Definition a_protocol.h:313
protocol_bridge_receive_callback_t protocol_bridge_receive_callback
Definition a_protocol.h:352
get_data_segment_func_t get_data_segment_func
Definition a_protocol.h:345
uint8_t * var_len_package_start
Definition a_protocol.h:335
remove_pack_info_t remove_pack_info
Definition a_protocol.h:344
soft_timer_class_struct * us_soft_timer
Definition a_protocol.h:323
uint32_t buffer_offset
Definition a_protocol.h:318
get_specific_byte_pack_info_t get_specific_byte_pack_info
Definition a_protocol.h:360
custom_heap_obj_struct * heap
Definition a_protocol.h:330
base_port_struct * port
Definition a_protocol.h:321
uint8_t answer_queue_counter
Definition a_protocol.h:332
transmit_to_slave_t transmit_to_slave
Definition a_protocol.h:354
device_main_receiver_t device_main_receiver
Definition a_protocol.h:351
receive_bridge_func_t receive_bridge_func
Definition a_protocol.h:342
parce_preamble_t parce_preamble
Definition a_protocol.h:361
bus_protocol_package_type_enum last_package_type
Definition a_protocol.h:315
transmit_bridge_to_slave_queue_t transmit_bridge_to_slave_queue
Definition a_protocol.h:358
protocol_answer_obj_data_func_t protocol_answer_obj_data_func
Definition a_protocol.h:350
sniffer_conteiner_struct * sniffer_conteiner
Definition a_protocol.h:328
get_specific_pack_info_t get_specific_pack_info
Definition a_protocol.h:359
static_conteiner_struct * data_segment_conteiner
Definition a_protocol.h:326
bus_main_module_header * last_header
Definition a_protocol.h:316
protocol_close_port_callback_t protocol_close_port_callback
Definition a_protocol.h:362
static_conteiner_struct * package_info_conteiner
Definition a_protocol.h:325
soft_timer_class_struct * ms_soft_timer
Definition a_protocol.h:322
uint8_t wait_answer
Definition a_protocol.h:334
transmit_bridge_to_slave_t transmit_bridge_to_slave
Definition a_protocol.h:357
transmit_data_segment_to_master_t transmit_data_segment_to_master
Definition a_protocol.h:353
receive_data_func_t receive_data_func
Definition a_protocol.h:341
int reset_timer_instance
Definition a_protocol.h:319
get_data_from_package_t get_data_from_package
Definition a_protocol.h:346
static_conteiner_struct * transmit_queue_conteiner
Definition a_protocol.h:327
int answer_us_timer_instance
Definition a_protocol.h:320
uint8_t rx_package_counter
Definition a_protocol.h:314
request_from_slave_blocked_t request_from_slave_blocked
Definition a_protocol.h:355
receive_to_current_device_func_t receive_to_current_device_func
Definition a_protocol.h:347
receive_to_another_device_func_t receive_to_another_device_func
Definition a_protocol.h:348
protocol_receive_mode_enum receive_mode
Definition a_protocol.h:364
void * port_device_manager
Definition a_protocol.h:339
uint8_t enable_half_duplex_transmit
Definition a_protocol.h:333
uint32_t last_rx_time
Definition a_protocol.h:337
slave_answer_func_t slave_answer_func
Definition a_protocol.h:343
protocol_answer_func_t protocol_answer_func
Definition a_protocol.h:349
request_handler_blocked_t request_handler_blocked
Definition a_protocol.h:356
Definition a_protocol.h:110
uint8_t payload_crc
Definition a_protocol.h:112
uint16_t size
Definition a_protocol.h:111
uint8_t Data[3]
Definition a_protocol.h:113
Definition a_protocol.h:117
uint8_t Data[6]
Definition a_protocol.h:118
struct var_len_payload_struct var_len_header
Definition a_protocol.h:119
Definition a_protocol.h:105
uint8_t full_address
Definition a_protocol.h:106
struct device_address_struct split_address
Definition a_protocol.h:107