Loading...
Searching...
No Matches
Go to the documentation of this file.
33#define ICC_DATA_FRAME_HEAD_SIZE 10
34#define ICC_ACK_FRAME_SIZE 6
35#define ICC_RX_FRAME_DATA_MAX (1024)
36#define ICC_TX_FRAME_DATA_MAX (1024 * 5)
37#define ICC_RX_FRAME_MAX (ICC_DATA_FRAME_HEAD_SIZE + ICC_RX_FRAME_DATA_MAX)
38#define ICC_TX_FRAME_MAX (ICC_DATA_FRAME_HEAD_SIZE + ICC_TX_FRAME_DATA_MAX)
47#define ICC_CRC8_DATA_THRESHOLD 256
58#define ICC_ACK_TABLE_DEPTH 5
59#define ICC_ACK_TIMEOUT_MS 1000
60#define ICC_RETRY_MAX 3
61#define ICC_ACK_DATA_MAX 512
70#define ICC_HEARTBEAT_INTERVAL_MS 3000
71#define ICC_HEARTBEAT_INTERVAL_FAST_MS 500
72#define ICC_HEARTBEAT_TIMEOUT_MS 60000
73#define ICC_HANDSHAKE_TIMEOUT_MS 600000
84#define ICC_GET_TICK() \
87 clock_gettime(CLOCK_MONOTONIC, &ts); \
88 ((uint64_t)ts.tv_sec * 1000ULL) + ((uint64_t)ts.tv_nsec / 1000000ULL); \
100#ifndef ICC_PROTO_LOCK_T
101#define ICC_PROTO_LOCK_T pthread_mutex_t
104#ifndef ICC_PROTO_LOCK_INIT
105#define ICC_PROTO_LOCK_INIT(mutex) \
108 if ((mutex) != NULL) \
110 pthread_mutex_init((mutex), NULL); \
115#ifndef ICC_PROTO_LOCK_DESTROY
116#define ICC_PROTO_LOCK_DESTROY(mutex) \
119 if ((mutex) != NULL) \
121 pthread_mutex_destroy((mutex)); \
126#ifndef ICC_PROTO_LOCK_ENTER
127#define ICC_PROTO_LOCK_ENTER(mutex) \
130 if ((mutex) != NULL) \
132 pthread_mutex_lock((mutex)); \
137#ifndef ICC_PROTO_LOCK_EXIT
138#define ICC_PROTO_LOCK_EXIT(mutex) \
141 if ((mutex) != NULL) \
143 pthread_mutex_unlock((mutex)); \