diff --git a/Multiprotocol/AFHDS2A_a7105.ino b/Multiprotocol/AFHDS2A_a7105.ino index 510e4b9..8be95f2 100644 --- a/Multiprotocol/AFHDS2A_a7105.ino +++ b/Multiprotocol/AFHDS2A_a7105.ino @@ -273,6 +273,11 @@ uint16_t ReadAFHDS2A() } } packet_count++; + if(IS_BIND_DONE) + { // exit bind if asked to do so from the GUI + phase = AFHDS2A_BIND4; + return 3850; + } phase |= AFHDS2A_WAIT_WRITE; return 1700; case AFHDS2A_BIND1|AFHDS2A_WAIT_WRITE: @@ -335,7 +340,7 @@ uint16_t ReadAFHDS2A() else if(packet[0] == 0xAA || packet[0] == 0xAC) { - if(memcmp(&packet[1], rx_tx_addr, 4)) + if(!memcmp(&packet[1], rx_tx_addr, 4)) { // Validate TX address #ifdef AFHDS2A_LQI_CH for(uint8_t sensor=0; sensor<7; sensor++) diff --git a/Multiprotocol/Multiprotocol.h b/Multiprotocol/Multiprotocol.h index a422314..dfbe04d 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 44 +#define VERSION_PATCH_LEVEL 45 //****************** // Protocols diff --git a/Multiprotocol/Multiprotocol.ino b/Multiprotocol/Multiprotocol.ino index 5370984..71f1ac4 100644 --- a/Multiprotocol/Multiprotocol.ino +++ b/Multiprotocol/Multiprotocol.ino @@ -634,8 +634,8 @@ uint8_t Update_All() { // Autobind is on and BIND_CH went down BIND_CH_PREV_off; //Request protocol to terminate bind - #if defined(FRSKYD_CC2500_INO) || defined(FRSKYX_CC2500_INO) || defined(FRSKYV_CC2500_INO) - if(protocol==PROTO_FRSKYD || protocol==PROTO_FRSKYX || protocol==PROTO_FRSKYV) + #if defined(FRSKYD_CC2500_INO) || defined(FRSKYX_CC2500_INO) || defined(FRSKYV_CC2500_INO) || defined(AFHDS2A_A7105_INO) + if(protocol==PROTO_FRSKYD || protocol==PROTO_FRSKYX || protocol==PROTO_FRSKYV || protocol==PROTO_AFHDS2A ) BIND_DONE; else #endif @@ -1350,8 +1350,8 @@ void update_serial_data() else if( ((rx_ok_buff[1]&0x80)==0) && ((cur_protocol[1]&0x80)!=0) ) // Bind flag has been reset { // Request protocol to end bind - #if defined(FRSKYD_CC2500_INO) || defined(FRSKYX_CC2500_INO) || defined(FRSKYV_CC2500_INO) - if(protocol==PROTO_FRSKYD || protocol==PROTO_FRSKYX || protocol==PROTO_FRSKYV) + #if defined(FRSKYD_CC2500_INO) || defined(FRSKYX_CC2500_INO) || defined(FRSKYV_CC2500_INO) || defined(AFHDS2A_A7105_INO) + if(protocol==PROTO_FRSKYD || protocol==PROTO_FRSKYX || protocol==PROTO_FRSKYV || protocol==PROTO_AFHDS2A ) BIND_DONE; else #endif