From f7303dbc1685adcfac0e6e6f9ca6492bf965c852 Mon Sep 17 00:00:00 2001 From: Linar Yusupov Date: Wed, 10 Jun 2020 09:04:00 +0300 Subject: [PATCH] misc. CC13XX port improvements --- .../source/SoftRF/Platform_CC13XX.cpp | 6 ++-- .../firmware/source/UATbridge/UATbridge.ino | 28 ++++++------------- 2 files changed, 12 insertions(+), 22 deletions(-) diff --git a/software/firmware/source/SoftRF/Platform_CC13XX.cpp b/software/firmware/source/SoftRF/Platform_CC13XX.cpp index e52d02e01..0ed6bacc2 100644 --- a/software/firmware/source/SoftRF/Platform_CC13XX.cpp +++ b/software/firmware/source/SoftRF/Platform_CC13XX.cpp @@ -125,14 +125,14 @@ HardwareSerial Serial2(1, Uart2_ReadCallback, Uart2_WriteCallback, true); #include #include +extern const imgHdr_t _imgHdr; + // Boot check timings in milliseconds #define BOOTCHECK_SLEEP_DURATION_MS 5000 #define BOOTCHECK_SLEEP_INTERVAL_MS 200 static void RevertToFactoryImage(void) { - extern const imgHdr_t _imgHdr; - uint32_t key = HwiP_disable(); uint8_t invalidCrc = CRC_INVALID; @@ -169,7 +169,7 @@ static void BootManagerCheck(void) uint8_t leds[] = {RED_LED, GREEN_LED, SOC_GPIO_PIN_LED_BLUE}; uint8_t LED_count = (cc13xx_board == TI_LPSTK_CC1352R ? 3 : 2); - if (revertIoInit) + if (&_imgHdr == NULL && revertIoInit) { Serial.println(F("Left button was held on reset.")); Serial.println(F("Continue holding for 5 seconds to revert to factory image.")); diff --git a/software/firmware/source/UATbridge/UATbridge.ino b/software/firmware/source/UATbridge/UATbridge.ino index c3c99e207..d0b0b8722 100644 --- a/software/firmware/source/UATbridge/UATbridge.ino +++ b/software/firmware/source/UATbridge/UATbridge.ino @@ -243,19 +243,13 @@ void setup() { Serial.println(hw_info.rf); #endif - init_fec(); - - if (settings->rf_protocol == RF_PROTOCOL_LEGACY) { - hw_info.gnss = GNSS_setup(); - -#if defined(DEBUG_UAT) - if (hw_info.gnss != GNSS_MODULE_NONE) { - settings->nmea_g = true; - settings->nmea_out = NMEA_UART; - } -#endif + if ( hw_info.rf != RF_IC_CC13XX || + (hw_info.rf == RF_IC_CC13XX && settings->rf_protocol != RF_PROTOCOL_ADSB_UAT)) { + init_fec(); } + hw_info.gnss = GNSS_setup(); + Serial.print(F("Protocol: ")); Serial.println( settings->rf_protocol == RF_PROTOCOL_LEGACY ? legacy_proto_desc.name : @@ -288,10 +282,8 @@ void setup() { void loop() { - if (settings->rf_protocol == RF_PROTOCOL_LEGACY) { - PickGNSSFix(); - GNSSTimeSync(); - } + PickGNSSFix(); + GNSSTimeSync(); if (hw_info.rf != RF_IC_CC13XX) { RF_loop(); @@ -458,11 +450,9 @@ void shutdown(const char *msg) { SoC->WDT_fini(); - if (settings->rf_protocol == RF_PROTOCOL_LEGACY) { - GNSS_fini(); + GNSS_fini(); - SoC->swSer_enableRx(false); - } + SoC->swSer_enableRx(false); SoC->Display_fini(msg);