mirror of
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module.git
synced 2026-03-30 15:27:16 +00:00
New feature: end bind
This new feature is available: - in serial mode and when binding from the GUI. As soon as the Bind window is closed = serial bind bit was set and cleared, the current bind operation will be terminated. - if the bind was initiated from the Bind on channel feature (bind channel goes high) then as soon as the bind channel goes low the current bind operation will be terminated. Tested on ersky9x which does open a bind window, not sure about OpenTX... Some protocols (Hubsan, Assan, FY326, Shenqi...) which are waiting for model/RX to reply will stay in bind mode.
This commit is contained in:
@@ -505,7 +505,16 @@ uint8_t Update_All()
|
||||
BIND_CH_PREV_on;
|
||||
}
|
||||
if(IS_BIND_CH_PREV_on && Servo_data[BIND_CH-1]<PPM_MIN_COMMAND)
|
||||
{
|
||||
BIND_CH_PREV_off;
|
||||
#if defined(FRSKYD_CC2500_INO) || defined(FRSKYX_CC2500_INO) || defined(FRSKYV_CC2500_INO)
|
||||
if(protocol==MODE_FRSKYD || protocol==MODE_FRSKYX || protocol==MODE_FRSKYV)
|
||||
BIND_DONE;
|
||||
else
|
||||
#endif
|
||||
if(bind_counter>2)
|
||||
bind_counter=2;
|
||||
}
|
||||
#endif //ENABLE_BIND_CH
|
||||
if(IS_CHANGE_PROTOCOL_FLAG_on)
|
||||
{ // Protocol needs to be changed or relaunched for bind
|
||||
@@ -964,10 +973,20 @@ void update_serial_data()
|
||||
RX_num=rx_ok_buff[2]& 0x0F; // rx_num bits 0---3
|
||||
}
|
||||
else
|
||||
if( ((rx_ok_buff[1]&0x80)!=0) && ((cur_protocol[1]&0x80)==0) ) // Bind flag has been set
|
||||
if( ((rx_ok_buff[1]&0x80)!=0) && ((cur_protocol[1]&0x80)==0) ) // Bind flag has been set
|
||||
CHANGE_PROTOCOL_FLAG_on; //restart protocol with bind
|
||||
else
|
||||
CHANGE_PROTOCOL_FLAG_off; //no need to restart
|
||||
if( ((rx_ok_buff[1]&0x80)==0) && ((cur_protocol[1]&0x80)!=0) ) // Bind flag has been reset
|
||||
{
|
||||
#if defined(FRSKYD_CC2500_INO) || defined(FRSKYX_CC2500_INO) || defined(FRSKYV_CC2500_INO)
|
||||
if(protocol==MODE_FRSKYD || protocol==MODE_FRSKYX || protocol==MODE_FRSKYV)
|
||||
BIND_DONE;
|
||||
else
|
||||
#endif
|
||||
if(bind_counter>2)
|
||||
bind_counter=2;
|
||||
}
|
||||
|
||||
//store current protocol values
|
||||
for(uint8_t i=0;i<3;i++)
|
||||
cur_protocol[i] = rx_ok_buff[i];
|
||||
|
||||
Reference in New Issue
Block a user