11enum woz_aliro_ble_timeout_direction {
12 WOZ_ALIRO_BLE_TIMEOUT_INCOMING = 0,
13 WOZ_ALIRO_BLE_TIMEOUT_OUTGOING = 1,
16enum woz_aliro_ble_timeout_role {
17 WOZ_ALIRO_BLE_TIMEOUT_IDLE = 0,
18 WOZ_ALIRO_BLE_TIMEOUT_LOCAL_TRANSMITTER,
19 WOZ_ALIRO_BLE_TIMEOUT_LOCAL_RECEIVER,
22enum woz_aliro_ble_timeout_message {
23 WOZ_ALIRO_BLE_TIMEOUT_MESSAGE_UNKNOWN = 0,
24 WOZ_ALIRO_BLE_TIMEOUT_MESSAGE_INITIATE_ACCESS,
25 WOZ_ALIRO_BLE_TIMEOUT_MESSAGE_INITIATE_ACCESS_RKE,
26 WOZ_ALIRO_BLE_TIMEOUT_MESSAGE_AP_REQUEST,
27 WOZ_ALIRO_BLE_TIMEOUT_MESSAGE_AP_RESPONSE,
28 WOZ_ALIRO_BLE_TIMEOUT_MESSAGE_SETUP_M1,
29 WOZ_ALIRO_BLE_TIMEOUT_MESSAGE_SETUP_M2,
30 WOZ_ALIRO_BLE_TIMEOUT_MESSAGE_SETUP_M3,
31 WOZ_ALIRO_BLE_TIMEOUT_MESSAGE_SETUP_M4,
32 WOZ_ALIRO_BLE_TIMEOUT_MESSAGE_SUSPEND_REQUEST,
33 WOZ_ALIRO_BLE_TIMEOUT_MESSAGE_SUSPEND_RESPONSE,
34 WOZ_ALIRO_BLE_TIMEOUT_MESSAGE_RESUME_REQUEST,
35 WOZ_ALIRO_BLE_TIMEOUT_MESSAGE_RESUME_RESPONSE,
36 WOZ_ALIRO_BLE_TIMEOUT_MESSAGE_INITIATE_RANGING,
37 WOZ_ALIRO_BLE_TIMEOUT_MESSAGE_INITIATE_RANGING_RESUME,
38 WOZ_ALIRO_BLE_TIMEOUT_MESSAGE_SETUP_LATER,
39 WOZ_ALIRO_BLE_TIMEOUT_MESSAGE_RESUME_LATER,
40 WOZ_ALIRO_BLE_TIMEOUT_MESSAGE_SECURE_RANGING_FAILED,
41 WOZ_ALIRO_BLE_TIMEOUT_MESSAGE_RANGING_SUSPENDED,
42 WOZ_ALIRO_BLE_TIMEOUT_MESSAGE_RKE_REQUEST,
43 WOZ_ALIRO_BLE_TIMEOUT_MESSAGE_ACCESS_COMPLETED,
44 WOZ_ALIRO_BLE_TIMEOUT_MESSAGE_READER_STATUS_CHANGED,
45 WOZ_ALIRO_BLE_TIMEOUT_MESSAGE_TIME_SYNC,
46 WOZ_ALIRO_BLE_TIMEOUT_MESSAGE_PASS_THROUGH,
47 WOZ_ALIRO_BLE_TIMEOUT_MESSAGE_BUSY,
48 WOZ_ALIRO_BLE_TIMEOUT_MESSAGE_GENERAL_ERROR,
51enum woz_aliro_ble_timeout_action {
52 WOZ_ALIRO_BLE_TIMEOUT_NO_ACTION = 0,
53 WOZ_ALIRO_BLE_TIMEOUT_ARM,
54 WOZ_ALIRO_BLE_TIMEOUT_STOP,
55 WOZ_ALIRO_BLE_TIMEOUT_TERMINATE,
63 enum woz_aliro_ble_timeout_role role;
64 enum woz_aliro_ble_timeout_message pending_message;
68int woz_aliro_ble_timeout_classify(
const uint8_t *data,
size_t data_length,
69 enum woz_aliro_ble_timeout_message *message);
72enum woz_aliro_ble_timeout_action
74 enum woz_aliro_ble_timeout_direction direction,
75 enum woz_aliro_ble_timeout_message message);
enum woz_aliro_ble_timeout_action woz_aliro_ble_timeout_observe(struct woz_aliro_ble_timeout_state *state, enum woz_aliro_ble_timeout_direction direction, enum woz_aliro_ble_timeout_message message)
Supervise Aliro BLE protocol timeouts in a state machine: track pending messages, role (idle,...
Definition ble_timeout.c:252
BLE timeout state machine: tracks the current role (reader or mobile) and which message (if any) is p...
Definition ble_timeout.h:62