diff --git a/latest/Firmware/Inc/LEDManager.hpp b/latest/Firmware/Inc/LEDManager.hpp index 1f144d7..095c10c 100644 --- a/latest/Firmware/Inc/LEDManager.hpp +++ b/latest/Firmware/Inc/LEDManager.hpp @@ -32,7 +32,7 @@ public: private: LEDManager(); - bool mForceTXLedOff = false; + volatile bool mForceTXLedOff = false; }; diff --git a/latest/Firmware/Src/LEDManager.cpp b/latest/Firmware/Src/LEDManager.cpp index 74a2c95..f101597 100644 --- a/latest/Firmware/Src/LEDManager.cpp +++ b/latest/Firmware/Src/LEDManager.cpp @@ -39,7 +39,6 @@ void tickCB() void LEDManager::init() { - bsp_set_tick_callback(tickCB); if ( !Configuration::instance().isStationDataProvisioned() ) { mForceTXLedOff = true; @@ -47,6 +46,7 @@ void LEDManager::init() // This call actually has the opposite effect as it will cause the TX led to be pulled to GND bsp_tx_led_on(); } + bsp_set_tick_callback(tickCB); } void LEDManager::onTick() @@ -64,7 +64,6 @@ void LEDManager::onTick() count2 = 1; bsp_tx_led_off(); } - } diff --git a/latest/Firmware/Src/NoiseFloorDetector.cpp b/latest/Firmware/Src/NoiseFloorDetector.cpp index fdca105..2caa74e 100644 --- a/latest/Firmware/Src/NoiseFloorDetector.cpp +++ b/latest/Firmware/Src/NoiseFloorDetector.cpp @@ -49,6 +49,8 @@ void NoiseFloorDetector::report(char channel, uint8_t rssi) { #if BOARD_REV == 61 or BOARD_REV == 52 if ( rssi < 0x12 ) // Not realistic, likely a bug +#elif BOARD_REV == 109 + if ( rssi < 0x24 ) #else if ( rssi < 0x32 ) // Not realistic, likely a bug #endif diff --git a/latest/Firmware/Src/bsp/bsp_10_9.cpp b/latest/Firmware/Src/bsp/bsp_10_9.cpp index 9c47a47..d92262f 100644 --- a/latest/Firmware/Src/bsp/bsp_10_9.cpp +++ b/latest/Firmware/Src/bsp/bsp_10_9.cpp @@ -501,7 +501,7 @@ uint8_t bsp_tx_spi_byte(uint8_t data) HAL_SPI_TransmitReceive(&hspi1, &data, &result, 1, 2); return result; } - +#if 0 bool bsp_erase_station_data() { return false; @@ -511,16 +511,20 @@ bool bsp_save_station_data(const StationData &data) { return false; } +#endif void bsp_reboot() { NVIC_SystemReset(); } +#if 0 bool bsp_read_station_data(StationData &data) { return false; } +#endif + bool bsp_is_tx_disabled() { @@ -545,10 +549,12 @@ void bsp_signal_rx_event() HAL_GPIO_WritePin(RX_EVT_PORT, RX_EVT_PIN, GPIO_PIN_SET); } +#if 0 void bsp_signal_tx_event() { HAL_GPIO_WritePin(TX_EVT_PORT, TX_EVT_PIN, GPIO_PIN_SET); } +#endif void bsp_signal_gps_status(bool tracking) { @@ -626,13 +632,8 @@ extern "C" void HAL_SYSTICK_Callback() { - static int count = 1; - if ( count++ % 20 == 0 ) - { - count = 1; - HAL_GPIO_WritePin(RX_EVT_PORT, RX_EVT_PIN, GPIO_PIN_RESET); - HAL_GPIO_WritePin(TX_EVT_PORT, TX_EVT_PIN, GPIO_PIN_RESET); - } + if ( tickCallback ) + tickCallback(); } } diff --git a/latest/Firmware/Src/main.cpp b/latest/Firmware/Src/main.cpp index a7feb97..d604d78 100644 --- a/latest/Firmware/Src/main.cpp +++ b/latest/Firmware/Src/main.cpp @@ -17,7 +17,6 @@ along with this program. If not, see */ -#include "stm32l4xx_hal.h" #include "config.h" #include "RadioManager.hpp" #include "RXPacketProcessor.hpp" @@ -25,10 +24,8 @@ #include "TXScheduler.hpp" #include "GPS.hpp" #include "LEDManager.hpp" -#include "SystickTimer.hpp" #include "CommandProcessor.hpp" #include "bsp.hpp" -#include "printf_serial.h" void jump_to_bootloader()