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:
Joe Kearney 2025-11-30 21:20:05 +00:00
parent 6d8dab53e0
commit f80cb59828
82 changed files with 300 additions and 132 deletions

11
Settings/Settings.csv Normal file
View file

@ -0,0 +1,11 @@
Setting ID,Type,Key,Default Value,Description
SYSTEMK_SETTING_IS_RIGHT_HANDED,uint8_t,"Is_Right_Handed",1,"1 if this device is configured for a right-handed player, 0 otherwise."
SYSTEMK_SETTING_AUDIO_VOLUME,uint8_t,"Audio_Volume",CONFIG_KTAG_MAX_AUDIO_VOLUME,"Value from CONFIG_KTAG_MIN_AUDIO_VOLUME to CONFIG_KTAG_MAX_AUDIO_VOLUME representing the current volume."
SYSTEMK_SETTING_TEAMID,uint8_t,"Team_ID",BASIC_TEAMS_MINIMUM,"Selected team."
SYSTEMK_SETTING_PLAYERID,uint8_t,"Player_ID",0,"Unique-per-team identification of a player."
SYSTEMK_SETTING_WEAPONID,uint8_t,"Weapon_ID",DUBUQUE_PROTOCOL_ID,"Selected weapon."
SYSTEMK_SETTING_MAX_HEALTH,uint8_t,"Max_Health",100,"Maximum health for the game."
SYSTEMK_SETTING_N_SPECIAL_WEAPONS_ON_REENTRY,uint8_t,"N_Special_Weapons_On_Reentry",1,"Number of special weapons (currently only bombs) obtained when reentering after being tagged out."
SYSTEMK_SETTING_T_START_GAME_in_ms,uint32_t,"T_Start_Game_in_ms",30000,"Time (in milliseconds) after starting a game before the countdown begins."
SYSTEMK_SETTING_T_GAME_LENGTH_in_ms,uint32_t,"T_Game_Length_in_ms",600000,"Duration of a game (in milliseconds). If this is zero or UINT32_MAX, the game is untimed."
SYSTEMK_SETTING_SECONDARY_COLOR,uint32_t,"Secondary_Color",0xFE000000,"Color in addition to the team color used to identify a player's device. The format is Brightness-Red-Green-Blue, where a brightness of 0xFF indicates a false flag."
1 Setting ID Type Key Default Value Description
2 SYSTEMK_SETTING_IS_RIGHT_HANDED uint8_t Is_Right_Handed 1 1 if this device is configured for a right-handed player, 0 otherwise.
3 SYSTEMK_SETTING_AUDIO_VOLUME uint8_t Audio_Volume CONFIG_KTAG_MAX_AUDIO_VOLUME Value from CONFIG_KTAG_MIN_AUDIO_VOLUME to CONFIG_KTAG_MAX_AUDIO_VOLUME representing the current volume.
4 SYSTEMK_SETTING_TEAMID uint8_t Team_ID BASIC_TEAMS_MINIMUM Selected team.
5 SYSTEMK_SETTING_PLAYERID uint8_t Player_ID 0 Unique-per-team identification of a player.
6 SYSTEMK_SETTING_WEAPONID uint8_t Weapon_ID DUBUQUE_PROTOCOL_ID Selected weapon.
7 SYSTEMK_SETTING_MAX_HEALTH uint8_t Max_Health 100 Maximum health for the game.
8 SYSTEMK_SETTING_N_SPECIAL_WEAPONS_ON_REENTRY uint8_t N_Special_Weapons_On_Reentry 1 Number of special weapons (currently only bombs) obtained when reentering after being tagged out.
9 SYSTEMK_SETTING_T_START_GAME_in_ms uint32_t T_Start_Game_in_ms 30000 Time (in milliseconds) after starting a game before the countdown begins.
10 SYSTEMK_SETTING_T_GAME_LENGTH_in_ms uint32_t T_Game_Length_in_ms 600000 Duration of a game (in milliseconds). If this is zero or UINT32_MAX, the game is untimed.
11 SYSTEMK_SETTING_SECONDARY_COLOR uint32_t Secondary_Color 0xFE000000 Color in addition to the team color used to identify a player's device. The format is Brightness-Red-Green-Blue, where a brightness of 0xFF indicates a false flag.