AFHDS2A: stop bind process as requested

This commit is contained in:
Pascal Langer 2019-05-10 19:39:14 +02:00
parent 1a8f9c5a12
commit 259d550d04
3 changed files with 11 additions and 6 deletions

View File

@ -273,6 +273,11 @@ uint16_t ReadAFHDS2A()
} }
} }
packet_count++; 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; phase |= AFHDS2A_WAIT_WRITE;
return 1700; return 1700;
case AFHDS2A_BIND1|AFHDS2A_WAIT_WRITE: case AFHDS2A_BIND1|AFHDS2A_WAIT_WRITE:
@ -335,7 +340,7 @@ uint16_t ReadAFHDS2A()
else else
if(packet[0] == 0xAA || packet[0] == 0xAC) 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 { // Validate TX address
#ifdef AFHDS2A_LQI_CH #ifdef AFHDS2A_LQI_CH
for(uint8_t sensor=0; sensor<7; sensor++) for(uint8_t sensor=0; sensor<7; sensor++)

View File

@ -19,7 +19,7 @@
#define VERSION_MAJOR 1 #define VERSION_MAJOR 1
#define VERSION_MINOR 2 #define VERSION_MINOR 2
#define VERSION_REVISION 1 #define VERSION_REVISION 1
#define VERSION_PATCH_LEVEL 44 #define VERSION_PATCH_LEVEL 45
//****************** //******************
// Protocols // Protocols

View File

@ -634,8 +634,8 @@ uint8_t Update_All()
{ // Autobind is on and BIND_CH went down { // Autobind is on and BIND_CH went down
BIND_CH_PREV_off; BIND_CH_PREV_off;
//Request protocol to terminate bind //Request protocol to terminate bind
#if defined(FRSKYD_CC2500_INO) || defined(FRSKYX_CC2500_INO) || defined(FRSKYV_CC2500_INO) #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) if(protocol==PROTO_FRSKYD || protocol==PROTO_FRSKYX || protocol==PROTO_FRSKYV || protocol==PROTO_AFHDS2A )
BIND_DONE; BIND_DONE;
else else
#endif #endif
@ -1350,8 +1350,8 @@ void update_serial_data()
else else
if( ((rx_ok_buff[1]&0x80)==0) && ((cur_protocol[1]&0x80)!=0) ) // Bind flag has been reset if( ((rx_ok_buff[1]&0x80)==0) && ((cur_protocol[1]&0x80)!=0) ) // Bind flag has been reset
{ // Request protocol to end bind { // Request protocol to end bind
#if defined(FRSKYD_CC2500_INO) || defined(FRSKYX_CC2500_INO) || defined(FRSKYV_CC2500_INO) #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) if(protocol==PROTO_FRSKYD || protocol==PROTO_FRSKYX || protocol==PROTO_FRSKYV || protocol==PROTO_AFHDS2A )
BIND_DONE; BIND_DONE;
else else
#endif #endif