From 15bc1943effef660f2252e499578c7172535d8c0 Mon Sep 17 00:00:00 2001 From: dooku Date: Wed, 6 Oct 2021 19:27:54 +0200 Subject: [PATCH] Fixed EEPROM baudrate readout --- fw/Core/Inc/config.h | 2 +- fw/Core/Src/config.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/fw/Core/Inc/config.h b/fw/Core/Inc/config.h index 6e94f04..c512299 100644 --- a/fw/Core/Inc/config.h +++ b/fw/Core/Inc/config.h @@ -76,7 +76,7 @@ config_read(&config); #define EEPROM_ADDR_START ((uint32_t)0x08080000) #define EEPROM_ADDR_END ((uint32_t)0x080801FF) -#define CONFIG_EEPROM_ADDR_MODBUS_ADDR (EEPROM_ADDR_START) +#define CONFIG_EEPROM_ADDR_MODBUS_ADDR EEPROM_ADDR_START #define CONFIG_EEPROM_ADDR_BAUDRATE_INDEX (CONFIG_EEPROM_ADDR_MODBUS_ADDR + CONFIG_MODBUS_ADDR_LENGTH) #define CONFIG_EEPROM_ADDR_LED_ON (CONFIG_EEPROM_ADDR_BAUDRATE_INDEX + CONFIG_BAUDRATE_INDEX_LENGTH) #define CONFIG_EEPROM_ADDR_LED_BRIGHTNESS (CONFIG_EEPROM_ADDR_LED_ON + CONFIG_LED_ON_LENGTH) diff --git a/fw/Core/Src/config.c b/fw/Core/Src/config.c index 63e1548..676afb2 100644 --- a/fw/Core/Src/config.c +++ b/fw/Core/Src/config.c @@ -45,7 +45,7 @@ static int8_t eeprom_program_word(uint32_t addr, uint32_t ee_data); int8_t config_read(config_t *config) { config->modbus_addr = *(uint16_t *) (CONFIG_EEPROM_ADDR_MODBUS_ADDR); - config->baudrate_index = *(uint32_t *) (CONFIG_EEPROM_ADDR_BAUDRATE_INDEX); + config->baudrate_index = *(uint16_t *) (CONFIG_EEPROM_ADDR_BAUDRATE_INDEX); 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); @@ -85,7 +85,7 @@ int8_t config_write(config_t *config) return EEPROM_WRITE_ERROR; } /* Write BAUDRATE */ - if (eeprom_program_word(CONFIG_EEPROM_ADDR_BAUDRATE_INDEX, config->baudrate_index) != EEPROM_OK) + if (eeprom_program_halfword(CONFIG_EEPROM_ADDR_BAUDRATE_INDEX, config->baudrate_index) != EEPROM_OK) { return EEPROM_WRITE_ERROR; }