/******************************************************************************* * @file device_config.h * @brief Device Configuration Management * @author Charles KWON * @date 2025-01-30 * @copyright (c) 2025 Medithings Inc. All rights reserved. * * @details EEPROM configuration loading and default values. ******************************************************************************/ #ifndef DEVICE_CONFIG_H #define DEVICE_CONFIG_H #include #include /*============================================================================== * CONSTANTS *============================================================================*/ #define LED_NUM 24 /* Number of LEDs in system */ /*============================================================================== * EXTERNAL VARIABLES *============================================================================*/ extern char m_static_passkey[7]; extern char SERIAL_NO[16]; extern bool bond_data_delete; extern uint8_t m_pd_adc_cnt; extern uint16_t m_pd_delay_us; extern uint32_t m_life_cycle; extern uint16_t led_pd_dac_v[]; /*============================================================================== * FUNCTION PROTOTYPES *============================================================================*/ /** * @brief Load device configuration from EEPROM */ void load_device_configuration(void); /** * @brief Load default configuration values */ void load_default_values(void); /** * @brief Validate serial number string * @param serial Serial number string * @return true if valid */ bool is_valid_serial_no(const char *serial); /** * @brief Validate passkey string * @param passkey Passkey string * @return true if valid */ bool is_valid_passkey(const char *passkey); #endif /* DEVICE_CONFIG_H */