Added LED brightnes placeholder. Set the default value when the timer settings will be known.
This commit is contained in:
parent
400a83ef64
commit
daaab07912
11
README.md
11
README.md
@ -17,11 +17,12 @@
|
||||
|Value|Register|
|
||||
|---|---|
|
||||
|LED ON | 40001|
|
||||
|LED SMOOTH | 40002|
|
||||
|CO2 ALERT LIMIT1 | 40003|
|
||||
|CO2 ALERT LIMIT2 | 40004|
|
||||
|SCD4x T OFFSET | 40005|
|
||||
|MODBUS ADDR | 40006|
|
||||
|LED BRIGHTNESS | 40002|
|
||||
|LED SMOOTH | 40003|
|
||||
|CO2 ALERT LIMIT1 | 40004|
|
||||
|CO2 ALERT LIMIT2 | 40005|
|
||||
|SCD4x T OFFSET | 40006|
|
||||
|MODBUS ADDR | 40007|
|
||||
|
||||
### Device Information Registers
|
||||
|
||||
|
@ -49,6 +49,7 @@ config_read(&config);
|
||||
* Device configuration data can be accessed using config_t struct.
|
||||
*/
|
||||
#define CONFIG_DEFAULT_LED_ON 1
|
||||
#define CONFIG_DEFAULT_LED_BRIGHTNESS 100 /* TODO: set according to the timers when this will be implemented */
|
||||
#define CONFIG_DEFAULT_LED_ALERT1_LIMIT 1500
|
||||
#define CONFIG_DEFAULT_LED_ALERT2_LIMIT 3000
|
||||
#define CONFIG_DEFAULT_LED_SMOOTH 0
|
||||
@ -56,6 +57,7 @@ config_read(&config);
|
||||
|
||||
#define MODBUS_ADDR_LENGTH 2
|
||||
#define CONFIG_LED_ON_LENGTH 2
|
||||
#define CONFIG_LED_BRIGHTNESS_LENGTH 2
|
||||
#define CONFIG_LED_SMOOTH_LENGTH 2
|
||||
#define CONFIG_LED_ALERT1_LENGTH 2
|
||||
#define CONFIG_LED_ALERT2_LENGTH 2
|
||||
@ -74,7 +76,8 @@ config_read(&config);
|
||||
|
||||
#define CONFIG_EEPROM_ADDR_MODBUS_ADDR (EEPROM_ADDR_START)
|
||||
#define CONFIG_EEPROM_ADDR_LED_ON (CONFIG_EEPROM_ADDR_MODBUS_ADDR + MODBUS_ADDR_LENGTH)
|
||||
#define CONFIG_EEPROM_ADDR_LED_SMOOTH (CONFIG_EEPROM_ADDR_LED_ON + CONFIG_LED_ON_LENGTH)
|
||||
#define CONFIG_EEPROM_ADDR_LED_BRIGHTNESS (CONFIG_EEPROM_ADDR_LED_ON + CONFIG_LED_ON_LENGTH)
|
||||
#define CONFIG_EEPROM_ADDR_LED_SMOOTH (CONFIG_EEPROM_ADDR_LED_BRIGHTNESS + CONFIG_LED_BRIGHTNESS_LENGTH)
|
||||
#define CONFIG_EEPROM_ADDR_LED_ALERT1 (CONFIG_EEPROM_ADDR_LED_SMOOTH + CONFIG_LED_SMOOTH_LENGTH)
|
||||
#define CONFIG_EEPROM_ADDR_LED_ALERT2 (CONFIG_EEPROM_ADDR_LED_ALERT1 + CONFIG_LED_ALERT1_LENGTH)
|
||||
#define CONFIG_EEPROM_ADDR_SCD4x_T_OFFSET (CONFIG_EEPROM_ADDR_LED_ALERT2 + CONFIG_LED_ALERT2_LENGTH)
|
||||
@ -105,6 +108,7 @@ typedef struct
|
||||
{
|
||||
/* LED CONFIG */
|
||||
uint8_t led_on;
|
||||
uint16_t led_brightness;
|
||||
uint8_t led_smooth;
|
||||
uint16_t led_co2_alert_limit1;
|
||||
uint16_t led_co2_alert_limit2;
|
||||
|
@ -22,6 +22,7 @@ int8_t config_read(config_t *config)
|
||||
{
|
||||
config->modbus_addr = *(uint16_t *) (CONFIG_EEPROM_ADDR_MODBUS_ADDR);
|
||||
config->led_on = *(uint16_t *) (CONFIG_EEPROM_ADDR_LED_ON);
|
||||
config->led_brightness = *(uint16_t *) (CONFIG_EEPROM_ADDR_LED_BRIGHTNESS);
|
||||
config->led_smooth = *(uint16_t *) (CONFIG_EEPROM_ADDR_LED_SMOOTH);
|
||||
config->led_co2_alert_limit1 = *(uint16_t *) (CONFIG_EEPROM_ADDR_LED_ALERT1);
|
||||
config->led_co2_alert_limit2 = *(uint16_t *) (CONFIG_EEPROM_ADDR_LED_ALERT2);
|
||||
@ -59,6 +60,12 @@ int8_t config_write(config_t *config)
|
||||
return EEPROM_WRITE_ERROR;
|
||||
}
|
||||
|
||||
/* Write LED BRIGHTNESS */
|
||||
if (eeprom_program_word(CONFIG_EEPROM_ADDR_LED_BRIGHTNESS, config->led_brightness) != EEPROM_OK)
|
||||
{
|
||||
return EEPROM_WRITE_ERROR;
|
||||
}
|
||||
|
||||
/* Write LED SMOOTH */
|
||||
if (eeprom_program_byte(CONFIG_EEPROM_ADDR_LED_SMOOTH, config->led_smooth) != EEPROM_OK)
|
||||
{
|
||||
|
@ -81,11 +81,12 @@ enum {
|
||||
|
||||
enum {
|
||||
REGISTER_NUM_LED_ON = 40001,
|
||||
REGISTER_NUM_LED_SMOOTH = 40002,
|
||||
REGISTER_NUM_CO2_ALERT_LIMIT1 = 40003,
|
||||
REGISTER_NUM_CO2_ALERT_LIMIT2 = 40004,
|
||||
REGISTER_NUM_SCD4x_T_OFFSET = 40005,
|
||||
REGISTER_NUM_MODBUS_ADDR = 40006,
|
||||
REGISTER_NUM_LED_BRIGHTNESS = 40002,
|
||||
REGISTER_NUM_LED_SMOOTH = 40003,
|
||||
REGISTER_NUM_CO2_ALERT_LIMIT1 = 40004,
|
||||
REGISTER_NUM_CO2_ALERT_LIMIT2 = 40005,
|
||||
REGISTER_NUM_SCD4x_T_OFFSET = 40006,
|
||||
REGISTER_NUM_MODBUS_ADDR = 40007,
|
||||
} config_registers_numbers;
|
||||
|
||||
enum {
|
||||
@ -286,6 +287,7 @@ int main(void)
|
||||
sensor_config.led_co2_alert_limit1 = CONFIG_DEFAULT_LED_ALERT1_LIMIT;
|
||||
sensor_config.led_co2_alert_limit2 = CONFIG_DEFAULT_LED_ALERT2_LIMIT;
|
||||
sensor_config.led_on = CONFIG_DEFAULT_LED_ON;
|
||||
sensor_config.led_brightness = CONFIG_DEFAULT_LED_BRIGHTNESS;
|
||||
sensor_config.led_smooth = CONFIG_DEFAULT_LED_SMOOTH;
|
||||
sensor_config.scd4x_t_offset = CONFIG_DEFAULT_SCD4x_T_OFFSET;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user