diff --git a/latest/Firmware/Src/bsp/bsp_5_2.cpp b/latest/Firmware/Src/bsp/bsp_5_2.cpp index 783e5fa..02cb439 100644 --- a/latest/Firmware/Src/bsp/bsp_5_2.cpp +++ b/latest/Firmware/Src/bsp/bsp_5_2.cpp @@ -27,6 +27,8 @@ #if BOARD_REV==52 +#warning "This board is too old and not recommended for new builds" + I2C_HandleTypeDef hi2c1; SPI_HandleTypeDef hspi1; IWDG_HandleTypeDef hiwdg; @@ -45,7 +47,7 @@ irq_callback sotdmaCallback = nullptr; irq_callback trxClockCallback = nullptr; irq_callback rxClockCallback = nullptr; -#define EEPROM_ADDRESS 0x50 << 1 + typedef struct { @@ -480,55 +482,11 @@ uint8_t bsp_tx_spi_byte(uint8_t data) return result; } -bool bsp_erase_station_data() -{ - uint8_t b = 0xff; - HAL_GPIO_WritePin(EEPROM_WREN_PORT, EEPROM_WREN_PIN, GPIO_PIN_RESET); - HAL_Delay(1); - - for ( unsigned i = 0; i < sizeof(StationData); ++i ) - { - HAL_I2C_Mem_Write(&hi2c1, EEPROM_ADDRESS, i, 1, &b, 1, 100); - HAL_Delay(6); - } - HAL_GPIO_WritePin(EEPROM_WREN_PORT, EEPROM_WREN_PIN, GPIO_PIN_SET); - - return true; -} - -bool bsp_save_station_data(const StationData &data) -{ - HAL_GPIO_WritePin(EEPROM_WREN_PORT, EEPROM_WREN_PIN, GPIO_PIN_RESET); - HAL_Delay(1); - - uint8_t *b = (uint8_t*)&data; - for ( unsigned i = 0; i < sizeof(StationData); ++i, ++b ) - { - HAL_I2C_Mem_Write(&hi2c1, EEPROM_ADDRESS, i, 1, b, 1, 100); - HAL_Delay(6); - } - - HAL_GPIO_WritePin(EEPROM_WREN_PORT, EEPROM_WREN_PIN, GPIO_PIN_SET); - - return true; -} - void bsp_reboot() { NVIC_SystemReset(); } -bool bsp_read_station_data(StationData &data) -{ - uint8_t *b = (uint8_t*)&data; - for ( unsigned i = 0; i < sizeof(StationData); ++i, ++b ) - { - HAL_I2C_Mem_Read(&hi2c1, EEPROM_ADDRESS, i, 1, b, 1, 100); - } - - return true; -} - bool bsp_is_tx_disabled() { return false; diff --git a/latest/Firmware/Src/bsp/bsp_6_1.cpp b/latest/Firmware/Src/bsp/bsp_6_1.cpp index 1101768..7f07cc3 100644 --- a/latest/Firmware/Src/bsp/bsp_6_1.cpp +++ b/latest/Firmware/Src/bsp/bsp_6_1.cpp @@ -27,6 +27,9 @@ #if BOARD_REV==61 +#warning "This board is too old and not recommended for new builds" + + I2C_HandleTypeDef hi2c1; SPI_HandleTypeDef hspi1; IWDG_HandleTypeDef hiwdg; @@ -43,7 +46,6 @@ irq_callback sotdmaCallback = nullptr; irq_callback trxClockCallback = nullptr; irq_callback rxClockCallback = nullptr; -#define EEPROM_ADDRESS 0x50 << 1 typedef struct { @@ -488,55 +490,11 @@ uint8_t bsp_tx_spi_byte(uint8_t data) return result; } -bool bsp_erase_station_data() -{ - uint8_t b = 0xff; - HAL_GPIO_WritePin(EEPROM_WREN_PORT, EEPROM_WREN_PIN, GPIO_PIN_RESET); - HAL_Delay(1); - - for ( unsigned i = 0; i < sizeof(StationData); ++i ) - { - HAL_I2C_Mem_Write(&hi2c1, EEPROM_ADDRESS, i, 1, &b, 1, 100); - HAL_Delay(6); - } - HAL_GPIO_WritePin(EEPROM_WREN_PORT, EEPROM_WREN_PIN, GPIO_PIN_SET); - - return true; -} - -bool bsp_save_station_data(const StationData &data) -{ - HAL_GPIO_WritePin(EEPROM_WREN_PORT, EEPROM_WREN_PIN, GPIO_PIN_RESET); - HAL_Delay(1); - - uint8_t *b = (uint8_t*)&data; - for ( unsigned i = 0; i < sizeof(StationData); ++i, ++b ) - { - HAL_I2C_Mem_Write(&hi2c1, EEPROM_ADDRESS, i, 1, b, 1, 100); - HAL_Delay(6); - } - - HAL_GPIO_WritePin(EEPROM_WREN_PORT, EEPROM_WREN_PIN, GPIO_PIN_SET); - - return true; -} - void bsp_reboot() { NVIC_SystemReset(); } -bool bsp_read_station_data(StationData &data) -{ - uint8_t *b = (uint8_t*)&data; - for ( unsigned i = 0; i < sizeof(StationData); ++i, ++b ) - { - HAL_I2C_Mem_Read(&hi2c1, EEPROM_ADDRESS, i, 1, b, 1, 100); - } - - return true; -} - bool bsp_is_tx_disabled() { return HAL_GPIO_ReadPin(TX_DISABLE_PORT, TX_DISABLE_PIN) == GPIO_PIN_RESET; @@ -548,7 +506,7 @@ void bsp_enter_dfu() bsp_gnss_off(); // This flag simply tells main() to jump to the ROM bootloader immediately upon reset, before initializing anything - *(uint32_t*)DFU_FLAG_ADDRESS = DFU_FLAG_MAGIC; + *(uint32_t*)BOOTMODE_ADDRESS = DFU_FLAG_MAGIC; // Give the GNSS enough time to hibernate, then reset HAL_Delay(1000); diff --git a/latest/Firmware/Src/bsp/bsp_9_3.cpp b/latest/Firmware/Src/bsp/bsp_9_3.cpp index 98a4627..2f78f0d 100644 --- a/latest/Firmware/Src/bsp/bsp_9_3.cpp +++ b/latest/Firmware/Src/bsp/bsp_9_3.cpp @@ -43,7 +43,6 @@ irq_callback sotdmaCallback = nullptr; irq_callback trxClockCallback = nullptr; irq_callback rxClockCallback = nullptr; -#define EEPROM_ADDRESS 0x50 << 1 typedef struct { @@ -486,50 +485,11 @@ uint8_t bsp_tx_spi_byte(uint8_t data) return result; } -bool bsp_erase_station_data() -{ - uint8_t b = 0xff; - HAL_Delay(1); - - for ( unsigned i = 0; i < sizeof(StationData); ++i ) - { - HAL_I2C_Mem_Write(&hi2c1, EEPROM_ADDRESS, i, 1, &b, 1, 100); - HAL_Delay(6); - } - - return true; -} - -bool bsp_save_station_data(const StationData &data) -{ - HAL_Delay(1); - - uint8_t *b = (uint8_t*)&data; - for ( unsigned i = 0; i < sizeof(StationData); ++i, ++b ) - { - HAL_I2C_Mem_Write(&hi2c1, EEPROM_ADDRESS, i, 1, b, 1, 100); - HAL_Delay(6); - } - - return true; -} - void bsp_reboot() { NVIC_SystemReset(); } -bool bsp_read_station_data(StationData &data) -{ - uint8_t *b = (uint8_t*)&data; - for ( unsigned i = 0; i < sizeof(StationData); ++i, ++b ) - { - HAL_I2C_Mem_Read(&hi2c1, EEPROM_ADDRESS, i, 1, b, 1, 100); - } - - return true; -} - bool bsp_is_tx_disabled() { return HAL_GPIO_ReadPin(TX_DISABLE_PORT, TX_DISABLE_PIN) == GPIO_PIN_RESET;