From aee92737cab2be1b69ffaee1308677e27ad53835 Mon Sep 17 00:00:00 2001 From: pascallanger Date: Fri, 25 Oct 2019 22:27:46 +0200 Subject: [PATCH 1/3] Fix Failsafe compilation --- Multiprotocol/Multiprotocol.ino | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Multiprotocol/Multiprotocol.ino b/Multiprotocol/Multiprotocol.ino index 5775b5b..67a8509 100644 --- a/Multiprotocol/Multiprotocol.ino +++ b/Multiprotocol/Multiprotocol.ino @@ -653,7 +653,9 @@ uint8_t Update_All() Channel_data[i]=val; } PPM_FLAG_off; // wait for next frame before update - PPM_failsafe(); + #ifdef FAILSAFE_ENABLE + PPM_failsafe(); + #endif update_channels_aux(); INPUT_SIGNAL_on; // valid signal received last_signal=millis(); @@ -694,7 +696,7 @@ uint8_t Update_All() return 0; } -#ifdef ENABLE_PPM +#if defined(FAILSAFE_ENABLE) && defined(ENABLE_PPM) void PPM_failsafe() { static uint8_t counter=0; From 61970b028e6ed4aa034e394e44c3dcf830e4de56 Mon Sep 17 00:00:00 2001 From: pascallanger Date: Sat, 26 Oct 2019 15:40:46 +0200 Subject: [PATCH 2/3] AFHDS2A: Fix LQI to channel --- Multiprotocol/AFHDS2A_a7105.ino | 19 +++++++++++++------ Multiprotocol/Multiprotocol.h | 2 +- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/Multiprotocol/AFHDS2A_a7105.ino b/Multiprotocol/AFHDS2A_a7105.ino index 3c7b844..d0ec349 100644 --- a/Multiprotocol/AFHDS2A_a7105.ino +++ b/Multiprotocol/AFHDS2A_a7105.ino @@ -122,7 +122,8 @@ static void AFHDS2A_update_telemetry() telemetry_link=1; break; case AFHDS2A_SENSOR_RX_ERR_RATE: - RX_LQI=packet[index+2]; + if(packet[index+2]<=100) + RX_LQI=packet[index+2]; break; case AFHDS2A_SENSOR_RX_RSSI: RX_RSSI = -packet[index+2]; @@ -346,11 +347,17 @@ uint16_t ReadAFHDS2A() if(!memcmp(&packet[1], rx_tx_addr, 4)) { // Validate TX address #ifdef AFHDS2A_LQI_CH - for(uint8_t sensor=0; sensor<7; sensor++) - {//read LQI value for RX output - uint8_t index = 9+(4*sensor); - if(packet[index]==AFHDS2A_SENSOR_RX_ERR_RATE) - RX_LQI=packet[index+2]; + if(packet[0]==0xAA && packet[9]!=0xFD) + {// Normal telemetry packet + for(uint8_t sensor=0; sensor<7; sensor++) + {//read LQI value for RX output + uint8_t index = 9+(4*sensor); + if(packet[index]==AFHDS2A_SENSOR_RX_ERR_RATE && packet[index+2]<=100) + { + RX_LQI=packet[index+2]; + break; + } + } } #endif #if defined(AFHDS2A_FW_TELEMETRY) || defined(AFHDS2A_HUB_TELEMETRY) diff --git a/Multiprotocol/Multiprotocol.h b/Multiprotocol/Multiprotocol.h index d407479..a312a87 100644 --- a/Multiprotocol/Multiprotocol.h +++ b/Multiprotocol/Multiprotocol.h @@ -19,7 +19,7 @@ #define VERSION_MAJOR 1 #define VERSION_MINOR 2 #define VERSION_REVISION 1 -#define VERSION_PATCH_LEVEL 85 +#define VERSION_PATCH_LEVEL 86 //****************** // Protocols From cde185901ab1748b4b94bea2478ea55a9305fda2 Mon Sep 17 00:00:00 2001 From: pascallanger Date: Mon, 28 Oct 2019 23:29:34 +0100 Subject: [PATCH 3/3] PPM protcols: remove warning when setting negative option values --- Multiprotocol/Multiprotocol.h | 2 +- Multiprotocol/Multiprotocol.ino | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Multiprotocol/Multiprotocol.h b/Multiprotocol/Multiprotocol.h index a312a87..d3cc7a0 100644 --- a/Multiprotocol/Multiprotocol.h +++ b/Multiprotocol/Multiprotocol.h @@ -309,7 +309,7 @@ struct PPM_Parameters uint8_t rx_num : 4; uint8_t power : 1; uint8_t autobind : 1; - uint8_t option; + int8_t option; uint32_t chan_order; }; diff --git a/Multiprotocol/Multiprotocol.ino b/Multiprotocol/Multiprotocol.ino index 67a8509..389d578 100644 --- a/Multiprotocol/Multiprotocol.ino +++ b/Multiprotocol/Multiprotocol.ino @@ -477,7 +477,7 @@ void setup() option = FORCE_HITEC_TUNING; // Use config-defined tuning value for HITEC else #endif - option = PPM_prot_line->option; // Use radio-defined option value + option = (uint8_t)PPM_prot_line->option; // Use radio-defined option value if(PPM_prot_line->power) POWER_FLAG_on; if(PPM_prot_line->autobind)