/* * __ ________ _____ ______ __ * / //_/_ __/___ _____ _ / ___/____ __ _______________ / ____/___ ____/ /__ * / ,< / / / __ `/ __ `/ \__ \/ __ \/ / / / ___/ ___/ _ \ / / / __ \/ __ / _ \ * / /| | / / / /_/ / /_/ / ___/ / /_/ / /_/ / / / /__/ __/ / /___/ /_/ / /_/ / __/ * /_/ |_|/_/ \__,_/\__, / /____/\____/\__,_/_/ \___/\___/ \____/\____/\__,_/\___/ * /____/ * * 🃞 THIS FILE IS PART OF THE KTAG SOURCE CODE. Visit https://ktag.clubk.club/ for more. 🃞 * */ /** \file * \brief [Autogenerated] This file declares the External EEPROM entries. * * \note AUTOGENERATED: This file was generated automatically on Friday, April 28, 2023 at 11:31:31 AM. * DO NOT MODIFY THIS FILE MANUALLY! */ #ifndef NVM_EXTERNALEEPROMENTRIES_H #define NVM_EXTERNALEEPROMENTRIES_H #ifdef __cplusplus extern "C" { #endif /* Preprocessor and Type Definitions */ typedef struct __attribute__((packed)) { //! Test Code 3 uint16_t External_Test_3; //! Test Code 4 uint32_t External_Test_4; } NVM_External_Test_T; typedef struct __attribute__((packed)) { //! Date this unit was first programmed. uint32_t Date_Code_as_YYYYMMDD; } NVM_Info_T; typedef struct __attribute__((packed)) { //! Color order for the barrel Neopixels. uint8_t Barrel_Color_Order; //! Color order for the receiver NeoPixels. uint8_t Receiver_Color_Order; //! Color order for the display NeoPixels. uint8_t Display_Color_Order; //! Color order for the effects NeoPixels. uint8_t Effects_Color_Order; //! true if this unit is configured for a right-handed person; false if for a left-handed person. bool Is_Right_Handed; //! Audio volume. uint8_t Volume; } NVM_Hardware_Settings_T; typedef struct __attribute__((packed)) { //! Selected weapon. uint8_t Weapon_ID; //! Player identification (is this used?) uint8_t Player_ID; //! Selected team. uint8_t Team_ID; } NVM_Game_Settings_T; typedef struct __attribute__((packed)) { //! Total number of startups for this unit. uint16_t Hourmeter_Startups; } NVM_Hourmeter_T; /* Include Files */ /* Public Variables */ extern NVM_EEPROMEntry_T NVM_External_Test; extern NVM_EEPROMEntry_T NVM_Info; extern NVM_EEPROMEntry_T NVM_Hardware_Settings; extern NVM_EEPROMEntry_T NVM_Game_Settings; extern NVM_EEPROMEntry_T NVM_Hourmeter; extern NVM_EEPROMEntry_T * const NVM_ExternalEEPROMEntries[]; extern const uint8_t NVM_N_EXTERNAL_EEPROM_ENTRIES; // Shorthand macros, to save you time. #define NVM_EXTERNAL_TEST_3 (((NVM_External_Test_T*)NVM_External_Test.Value)->External_Test_3) #define NVM_EXTERNAL_TEST_3_ENTRY_PTR (&NVM_External_Test) #define NVM_EXTERNAL_TEST_4 (((NVM_External_Test_T*)NVM_External_Test.Value)->External_Test_4) #define NVM_EXTERNAL_TEST_4_ENTRY_PTR (&NVM_External_Test) #define NVM_DATE_CODE_AS_YYYYMMDD (((NVM_Info_T*)NVM_Info.Value)->Date_Code_as_YYYYMMDD) #define NVM_DATE_CODE_AS_YYYYMMDD_ENTRY_PTR (&NVM_Info) #define NVM_BARREL_COLOR_ORDER (((NVM_Hardware_Settings_T*)NVM_Hardware_Settings.Value)->Barrel_Color_Order) #define NVM_BARREL_COLOR_ORDER_ENTRY_PTR (&NVM_Hardware_Settings) #define NVM_RECEIVER_COLOR_ORDER (((NVM_Hardware_Settings_T*)NVM_Hardware_Settings.Value)->Receiver_Color_Order) #define NVM_RECEIVER_COLOR_ORDER_ENTRY_PTR (&NVM_Hardware_Settings) #define NVM_DISPLAY_COLOR_ORDER (((NVM_Hardware_Settings_T*)NVM_Hardware_Settings.Value)->Display_Color_Order) #define NVM_DISPLAY_COLOR_ORDER_ENTRY_PTR (&NVM_Hardware_Settings) #define NVM_EFFECTS_COLOR_ORDER (((NVM_Hardware_Settings_T*)NVM_Hardware_Settings.Value)->Effects_Color_Order) #define NVM_EFFECTS_COLOR_ORDER_ENTRY_PTR (&NVM_Hardware_Settings) #define NVM_IS_RIGHT_HANDED (((NVM_Hardware_Settings_T*)NVM_Hardware_Settings.Value)->Is_Right_Handed) #define NVM_IS_RIGHT_HANDED_ENTRY_PTR (&NVM_Hardware_Settings) #define NVM_VOLUME (((NVM_Hardware_Settings_T*)NVM_Hardware_Settings.Value)->Volume) #define NVM_VOLUME_ENTRY_PTR (&NVM_Hardware_Settings) #define NVM_WEAPON_ID (((NVM_Game_Settings_T*)NVM_Game_Settings.Value)->Weapon_ID) #define NVM_WEAPON_ID_ENTRY_PTR (&NVM_Game_Settings) #define NVM_PLAYER_ID (((NVM_Game_Settings_T*)NVM_Game_Settings.Value)->Player_ID) #define NVM_PLAYER_ID_ENTRY_PTR (&NVM_Game_Settings) #define NVM_TEAM_ID (((NVM_Game_Settings_T*)NVM_Game_Settings.Value)->Team_ID) #define NVM_TEAM_ID_ENTRY_PTR (&NVM_Game_Settings) #define NVM_HOURMETER_STARTUPS (((NVM_Hourmeter_T*)NVM_Hourmeter.Value)->Hourmeter_Startups) #define NVM_HOURMETER_STARTUPS_ENTRY_PTR (&NVM_Hourmeter) #ifdef __cplusplus } #endif #endif // NVM_EXTERNALEEPROMENTRIES_H