mirror of
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module.git
synced 2026-08-12 18:43:15 +00:00
WLV8TX small changes and save few bytes
This commit is contained in:
@@ -73,7 +73,7 @@
|
||||
73,Kyosho,FHSS,Hype
|
||||
74,RadioLink,Surface,Air,DumboRC,RC4G,Dumbo_P
|
||||
75,---
|
||||
76,Realacc,R11,WL-V8Tx
|
||||
76,Realacc,R11,WLV8TX
|
||||
77,OMP
|
||||
78,M-Link
|
||||
79,WFLY,RF20x
|
||||
|
||||
@@ -182,7 +182,7 @@ const char STR_SUBTYPE_HOTT[] = "\x07""Sync\0 ""No_Sync";
|
||||
const char STR_SUBTYPE_PELIKAN[] = "\x05""Pro\0 ""Lite\0""SCX24";
|
||||
const char STR_SUBTYPE_V761[] = "\x05""3ch\0 ""4ch\0 ""TOPRC";
|
||||
const char STR_SUBTYPE_RLINK[] = "\x07""Surface""Air\0 ""DumboRC""RC4G\0 ""Dumbo_P";
|
||||
const char STR_SUBTYPE_REALACC[] = "\x07""R11\0 ""WL-V8Tx";
|
||||
const char STR_SUBTYPE_REALACC[] = "\x06""R11\0 ""WLV8TX";
|
||||
const char STR_SUBTYPE_KYOSHO[] = "\x04""FHSS""Hype";
|
||||
const char STR_SUBTYPE_KYOSHO2[] = "\x05""KT-17";
|
||||
const char STR_SUBTYPE_KYOSHO3[] = "\x03""ASF";
|
||||
|
||||
@@ -42,8 +42,6 @@ enum
|
||||
REALACC_WLV8TX_DATA
|
||||
};
|
||||
|
||||
static uint8_t realacc_phase;
|
||||
static bool realacc_wlv8tx_rx_b3;
|
||||
#endif
|
||||
static uint8_t realacc_bind_packet[REALACC_BIND_PAYLOAD_SIZE];
|
||||
|
||||
@@ -100,7 +98,7 @@ static void __attribute__((unused)) REALACC_send_packet()
|
||||
static void __attribute__((unused)) REALACC_send_bind_packet()
|
||||
{
|
||||
#ifndef MULTI_AIR
|
||||
if(sub_protocol == REALACC_WLV8TX && realacc_wlv8tx_rx_b3)
|
||||
if(sub_protocol == REALACC_WLV8TX && rx_id[0])
|
||||
{ // WLV8TX bind sent after RX packet B3 acknowledged
|
||||
packet[0] = 0xB4;
|
||||
packet[1] = rx_id[1];
|
||||
@@ -187,21 +185,21 @@ static void __attribute__((unused)) REALACC_wlv8tx_process_rx()
|
||||
if(len != 3)
|
||||
return;
|
||||
|
||||
if(packet_in[0] == 0xB3 && !realacc_wlv8tx_rx_b3)
|
||||
if(packet_in[0] == 0xB3 && !rx_id[0])
|
||||
{
|
||||
realacc_wlv8tx_rx_b3 = true;
|
||||
rx_id[0] = 0x01;
|
||||
rx_id[1] = packet_in[1];
|
||||
rx_id[2] = packet_in[2];
|
||||
rx_tx_addr[2] ^= packet_in[1];
|
||||
rx_tx_addr[3] ^= packet_in[2];
|
||||
rx_tx_addr[3] |= 0x80;
|
||||
}
|
||||
else if(packet_in[0] == 0xB5 && realacc_wlv8tx_rx_b3)
|
||||
else if(packet_in[0] == 0xB5 && rx_id[0])
|
||||
{
|
||||
BIND_DONE;
|
||||
XN297_SetTXAddr(rx_tx_addr, 4);
|
||||
XN297_SetTxRxMode(TXRX_OFF);
|
||||
realacc_phase = REALACC_WLV8TX_DATA;
|
||||
BIND_DONE;
|
||||
XN297_SetTXAddr(rx_tx_addr, 4);
|
||||
XN297_SetTxRxMode(TXRX_OFF);
|
||||
bind_phase = REALACC_WLV8TX_DATA;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -222,34 +220,34 @@ uint16_t REALACC_callback()
|
||||
#else
|
||||
if(sub_protocol == REALACC_WLV8TX)
|
||||
{
|
||||
if(realacc_phase == REALACC_WLV8TX_DATA)
|
||||
if(bind_phase == REALACC_WLV8TX_DATA)
|
||||
{
|
||||
XN297_SetTxRxMode(TX_EN);
|
||||
REALACC_send_packet();
|
||||
return WLV8TX_PACKET_PERIOD;
|
||||
}
|
||||
|
||||
if(realacc_phase == REALACC_WLV8TX_BIND_RX_SETUP)
|
||||
if(bind_phase == REALACC_WLV8TX_BIND_RX_SETUP)
|
||||
{
|
||||
XN297_SetTxRxMode(TXRX_OFF);
|
||||
XN297_SetTxRxMode(RX_EN);
|
||||
realacc_phase = REALACC_WLV8TX_BIND_RX_CHECK;
|
||||
bind_phase = REALACC_WLV8TX_BIND_RX_CHECK;
|
||||
return WLV8TX_PACKET_PERIOD/3;
|
||||
}
|
||||
|
||||
if(realacc_phase == REALACC_WLV8TX_BIND_RX_CHECK)
|
||||
if(bind_phase == REALACC_WLV8TX_BIND_RX_CHECK)
|
||||
{
|
||||
REALACC_wlv8tx_process_rx();
|
||||
if(realacc_phase == REALACC_WLV8TX_DATA)
|
||||
if(bind_phase == REALACC_WLV8TX_DATA)
|
||||
return WLV8TX_PACKET_PERIOD;
|
||||
realacc_phase = REALACC_WLV8TX_BIND_TX;
|
||||
bind_phase = REALACC_WLV8TX_BIND_TX;
|
||||
return WLV8TX_PACKET_PERIOD/3;
|
||||
}
|
||||
//Bind Phase
|
||||
XN297_SetTxRxMode(TXRX_OFF);
|
||||
XN297_SetTxRxMode(TX_EN);
|
||||
REALACC_send_bind_packet();
|
||||
realacc_phase = REALACC_WLV8TX_BIND_RX_SETUP;
|
||||
bind_phase = REALACC_WLV8TX_BIND_RX_SETUP;
|
||||
return WLV8TX_PACKET_PERIOD/3;
|
||||
}
|
||||
#endif
|
||||
@@ -277,10 +275,10 @@ void REALACC_init()
|
||||
#ifndef MULTI_AIR
|
||||
if(sub_protocol == REALACC_WLV8TX)
|
||||
{
|
||||
rx_id[0] = 0; // realacc_wlv8tx_rx_b3
|
||||
rx_id[1] = 0;
|
||||
rx_id[2] = 0;
|
||||
realacc_wlv8tx_rx_b3 = false;
|
||||
realacc_phase = REALACC_WLV8TX_BIND_TX;
|
||||
bind_phase = REALACC_WLV8TX_BIND_TX;
|
||||
memcpy(packet, realacc_bind_packet, 4);
|
||||
packet[3] |= 0x80;
|
||||
XN297_SetRXAddr(packet, 4);
|
||||
|
||||
@@ -829,7 +829,8 @@ const PPM_Parameters PPM_prot[14*NBR_BANKS]= {
|
||||
PROTO_Q90C
|
||||
NONE
|
||||
PROTO_REALACC
|
||||
NONE
|
||||
REALACC_R11
|
||||
REALACC_WLV8TX
|
||||
PROTO_REDPINE
|
||||
RED_FAST
|
||||
RED_SLOW
|
||||
|
||||
Reference in New Issue
Block a user