From 61a1c3742cf4bb81f98c68862127971f59ecf0ab Mon Sep 17 00:00:00 2001 From: pascallanger Date: Sun, 22 Sep 2019 17:12:00 +0200 Subject: [PATCH] Fix FrskyX failsafe hold/no pulse inversion --- Multiprotocol/Multiprotocol.h | 9 ++++----- Multiprotocol/Multiprotocol.ino | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/Multiprotocol/Multiprotocol.h b/Multiprotocol/Multiprotocol.h index e4087eb..102782c 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 79 +#define VERSION_PATCH_LEVEL 80 //****************** // Protocols @@ -405,8 +405,8 @@ enum MultiPacketTypes #define IS_WAIT_BIND_off ( ( protocol_flags2 & _BV(7) ) ==0 ) // Failsafe -#define FAILSAFE_CHANNEL_HOLD 2047 -#define FAILSAFE_CHANNEL_NOPULSES 0 +#define FAILSAFE_CHANNEL_HOLD 0 +#define FAILSAFE_CHANNEL_NOPULSES 2047 //******************** //** Debug messages ** @@ -574,7 +574,7 @@ enum { #define AFHDS2A_EEPROM_OFFSET 50 // RX ID, 4 bytes per model id, end is 50+64=114 #define BUGS_EEPROM_OFFSET 114 // RX ID, 2 bytes per model id, end is 114+32=146 #define BUGSMINI_EEPROM_OFFSET 146 // RX ID, 2 bytes per model id, end is 146+32=178 -#define FRSKYX_RX_EEPROM_OFFSET 178 // TX ID + channels, 50 bytes per model, end is 178+200=378 +#define FRSKYX_RX_EEPROM_OFFSET 178 // (3) TX ID + (47) channels + (1) freq_tune, 51 bytes per model, end is 178+51=229 //#define CONFIG_EEPROM_OFFSET 210 // Current configuration of the multimodule //**************************************** @@ -877,7 +877,6 @@ Serial: 100000 Baud 8e2 _ xxxx xxxx p -- *No* usual frsky byte stuffing and without start/stop byte (0x7e) - Type 0x04 Spektrum telemetry data data[0] TX RSSI data[1-15] telemetry data diff --git a/Multiprotocol/Multiprotocol.ino b/Multiprotocol/Multiprotocol.ino index 50ae887..03db0bf 100644 --- a/Multiprotocol/Multiprotocol.ino +++ b/Multiprotocol/Multiprotocol.ino @@ -1473,7 +1473,7 @@ void update_serial_data() uint16_t temp=((*((uint32_t *)p))>>dec)&0x7FF; #ifdef FAILSAFE_ENABLE if(failsafe) - Failsafe_data[i]=temp; //value range 0..2047, 0=no pulses, 2047=hold + Failsafe_data[i]=temp; //value range 0..2047, 0=hold, 2047=no pulses else #endif Channel_data[i]=temp; //value range 0..2047, 0=-125%, 2047=+125%