SystemK v1.00 (#9)
This change cleans up the final bits before the release of SystemK version 1.00. It implements the [KTag Beacon Specification v0.12](https://ktag.clubk.club/Technology/BLE/KTag%20Beacon%20Specification%20v0.12.pdf). Co-authored-by: Joe Kearney <joe@clubk.club> Reviewed-on: #9
This commit is contained in:
parent
6d8dab53e0
commit
f80cb59828
82 changed files with 300 additions and 132 deletions
1
Events/Command_Mapping.h
Executable file → Normal file
1
Events/Command_Mapping.h
Executable file → Normal file
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
/*
|
||||
* This program source code file is part of SystemK, a library in the KTag project.
|
||||
*
|
||||
|
|
|
|||
1
Events/KEvents.c
Executable file → Normal file
1
Events/KEvents.c
Executable file → Normal file
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
/*
|
||||
* This program source code file is part of SystemK, a library in the KTag project.
|
||||
*
|
||||
|
|
|
|||
83
Events/KEvents.h
Executable file → Normal file
83
Events/KEvents.h
Executable file → Normal file
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
/*
|
||||
* This program source code file is part of SystemK, a library in the KTag project.
|
||||
*
|
||||
|
|
@ -32,55 +31,57 @@
|
|||
typedef enum
|
||||
{
|
||||
KEVENT_NO_EVENT = 0,
|
||||
KEVENT_AUTOMATIC_TRANSITION = 1,
|
||||
KEVENT_CAPSENSE_ONE_PRESSED = 2,
|
||||
KEVENT_CAPSENSE_ONE_RELEASED = 3,
|
||||
KEVENT_CAPSENSE_TWO_PRESSED = 4,
|
||||
KEVENT_CAPSENSE_TWO_RELEASED = 5,
|
||||
KEVENT_TRIGGER_SWITCH_PRESSED = 6,
|
||||
//! For #KEVENT_UNSUCCESSFUL_SYSTEMK_RESULT, #KEvent_T::Data contains a #SystemKResult_T indicating the nature of the failure.
|
||||
KEVENT_UNSUCCESSFUL_SYSTEMK_RESULT = 1,
|
||||
KEVENT_AUTOMATIC_TRANSITION = 2,
|
||||
KEVENT_CAPSENSE_ONE_PRESSED = 3,
|
||||
KEVENT_CAPSENSE_ONE_RELEASED = 4,
|
||||
KEVENT_CAPSENSE_TWO_PRESSED = 5,
|
||||
KEVENT_CAPSENSE_TWO_RELEASED = 6,
|
||||
KEVENT_TRIGGER_SWITCH_PRESSED = 7,
|
||||
KEVENT_CENTER_SWITCH_PRESSED = KEVENT_TRIGGER_SWITCH_PRESSED,
|
||||
KEVENT_TRIGGER_SWITCH_RELEASED = 7,
|
||||
KEVENT_TRIGGER_SWITCH_RELEASED = 8,
|
||||
//! For #KEVENT_CENTER_SWITCH_RELEASED, #KEvent_T::Data contains the duration of the press in milliseconds.
|
||||
KEVENT_CENTER_SWITCH_RELEASED = KEVENT_TRIGGER_SWITCH_RELEASED,
|
||||
KEVENT_UP_SWITCH_PRESSED = 8,
|
||||
KEVENT_UP_SWITCH_LONG_PRESSED = 9,
|
||||
KEVENT_UP_SWITCH_RELEASED = 10,
|
||||
KEVENT_DOWN_SWITCH_PRESSED = 11,
|
||||
KEVENT_DOWN_SWITCH_LONG_PRESSED = 12,
|
||||
KEVENT_DOWN_SWITCH_RELEASED = 13,
|
||||
KEVENT_FORWARD_SWITCH_PRESSED = 14,
|
||||
KEVENT_FORWARD_SWITCH_LONG_PRESSED = 15,
|
||||
KEVENT_FORWARD_SWITCH_RELEASED = 16,
|
||||
KEVENT_BACKWARD_SWITCH_PRESSED = 17,
|
||||
KEVENT_BACKWARD_SWITCH_LONG_PRESSED = 18,
|
||||
KEVENT_BACKWARD_SWITCH_RELEASED = 19,
|
||||
KEVENT_TAG_SENT = 20,
|
||||
KEVENT_UP_SWITCH_PRESSED = 9,
|
||||
KEVENT_UP_SWITCH_LONG_PRESSED = 10,
|
||||
KEVENT_UP_SWITCH_RELEASED = 11,
|
||||
KEVENT_DOWN_SWITCH_PRESSED = 12,
|
||||
KEVENT_DOWN_SWITCH_LONG_PRESSED = 13,
|
||||
KEVENT_DOWN_SWITCH_RELEASED = 14,
|
||||
KEVENT_FORWARD_SWITCH_PRESSED = 15,
|
||||
KEVENT_FORWARD_SWITCH_LONG_PRESSED = 16,
|
||||
KEVENT_FORWARD_SWITCH_RELEASED = 17,
|
||||
KEVENT_BACKWARD_SWITCH_PRESSED = 18,
|
||||
KEVENT_BACKWARD_SWITCH_LONG_PRESSED = 19,
|
||||
KEVENT_BACKWARD_SWITCH_RELEASED = 20,
|
||||
KEVENT_TAG_SENT = 21,
|
||||
//! For #KEVENT_TAG_RECEIVED, #KEvent_T::Data points to #TagPacket_T.
|
||||
KEVENT_TAG_RECEIVED = 21,
|
||||
KEVENT_TAGGED_OUT = 22,
|
||||
KEVENT_MISFIRE = 23,
|
||||
KEVENT_NEAR_MISS = 24,
|
||||
KEVENT_TAG_RECEIVED = 22,
|
||||
KEVENT_TAGGED_OUT = 23,
|
||||
KEVENT_MISFIRE = 24,
|
||||
KEVENT_NEAR_MISS = 25,
|
||||
//! For #KEVENT_BLE_PACKET_RECEIVED, #KEvent_T::Data points to #COMM_BLE_Packet_T.
|
||||
KEVENT_BLE_PACKET_RECEIVED = 25,
|
||||
KEVENT_BLE_PACKET_RECEIVED = 26,
|
||||
//! For #KEVENT_COMMAND_RECEIVED, #KEvent_T::Data points to #CommandPacket_T.
|
||||
KEVENT_COMMAND_RECEIVED = 26,
|
||||
KEVENT_MENU_ENTER = 27,
|
||||
KEVENT_MENU_SELECT = 28,
|
||||
KEVENT_MENU_BACK = 29,
|
||||
KEVENT_MENU_UP = 30,
|
||||
KEVENT_MENU_DOWN = 31,
|
||||
KEVENT_MENU_EXIT = 32,
|
||||
KEVENT_REPROGRAM = 33,
|
||||
KEVENT_COMMAND_RECEIVED = 27,
|
||||
KEVENT_MENU_ENTER = 28,
|
||||
KEVENT_MENU_SELECT = 29,
|
||||
KEVENT_MENU_BACK = 30,
|
||||
KEVENT_MENU_UP = 31,
|
||||
KEVENT_MENU_DOWN = 32,
|
||||
KEVENT_MENU_EXIT = 33,
|
||||
KEVENT_REPROGRAM = 34,
|
||||
//! For #KEVENT_ACCESSORY_SWITCH_PRESSED, #KEvent_T::Data contains the duration the switch has not been pressed in milliseconds.
|
||||
KEVENT_ACCESSORY_SWITCH_PRESSED = 34,
|
||||
KEVENT_ACCESSORY_SWITCH_PRESSED = 35,
|
||||
//! For #KEVENT_ACCESSORY_SWITCH_PRESSED, #KEvent_T::Data contains the duration of the press in milliseconds.
|
||||
KEVENT_ACCESSORY_SWITCH_RELEASED = 35,
|
||||
KEVENT_ACCESSORY_SWITCH_RELEASED = 36,
|
||||
//! For #KEVENT_AUDIO_COMPLETED, #KEvent_T::Data contains the AudioActionID_T of the completed action.
|
||||
KEVENT_AUDIO_COMPLETED = 36,
|
||||
KEVENT_GAME_OVER = 37,
|
||||
KEVENT_PLAY_PRESSED_ON_REMOTE = 38,
|
||||
KEVENT_AUDIO_COMPLETED = 37,
|
||||
KEVENT_GAME_OVER = 38,
|
||||
KEVENT_PLAY_PRESSED_ON_REMOTE = 39,
|
||||
//! For #KEVENT_BLE_EVENT_RECEIVED, #KEvent_T::Data contains the BLE_EventID_T of the received event.
|
||||
KEVENT_BLE_EVENT_RECEIVED = 39,
|
||||
KEVENT_BLE_EVENT_RECEIVED = 40,
|
||||
// KEVENT_IS_OUT_OF_RANGE is one more than the last valid event.
|
||||
KEVENT_IS_OUT_OF_RANGE
|
||||
} KEvent_ID_T;
|
||||
|
|
@ -95,7 +96,7 @@ typedef struct
|
|||
void *Data;
|
||||
} KEvent_T;
|
||||
|
||||
// Verify the pointer size, since sometime we store uint32_t's in the KEvent_T::Data pointer.
|
||||
// Verify the pointer size, since sometimes we store uint32_t's in the KEvent_T::Data pointer.
|
||||
_Static_assert(sizeof(uintptr_t) >= sizeof(uint32_t), "Pointer size is less than 32 bits! KEvents will not work properly on this system.");
|
||||
|
||||
void Init_KEvents(void);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue