blob: 3b54580e83613c736fd0bbc4a78502d49af98770 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
#include "handshake.pb.h"
#define _MDR s2m_MDR_response
typedef struct _device_info {
uint8_t device_id;
uint8_t i2c_addr;
_MDR MDR;
uint32_t subscription_requests[4]; /* Subscriptions to this device */
uint32_t subscriptions[4]; /* Subscriptions by this device */
} device_info_t;
typedef struct _subscription_info {
uint8_t module_ids[128];
uint8_t entity_ids[128];
uint8_t module_class[3];
uint8_t i2c_address[128];
uint8_t mod_idx, entity_idx, class_idx, i2c_idx;
} subscription_info_t;
typedef enum hs_status {
IDLE = 0, // send mdr request. success: mdr_ack. fail: hs_fail
HS_MDR_ACK = 1, // get mdr ack. success: mdr_cts. fail: hs_fail
HS_MDR_CTS = 2, // send mdr cts. success: mdr_mdr. fail: hs_fail
HS_MDR_MDR = 3, // get mdr. success: registered. fail: hs_fail
HS_REGISTERED = 4, // send registered. success: exit. fail: hs_fail
HS_FAILED = 5
} hs_status_t;
/* Handshake message size definitions */
#define MDR_req_buf_len 2
|