mirror of
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module.git
synced 2026-08-12 10:23:16 +00:00
WLV8TX small changes and save few bytes
This commit is contained in:
@@ -167,7 +167,7 @@
|
|||||||
74,3,RadioLink,RC4G,0,CH5,FS_CH1,FS_CH2,FS_CH3,FS_CH4
|
74,3,RadioLink,RC4G,0,CH5,FS_CH1,FS_CH2,FS_CH3,FS_CH4
|
||||||
74,4,RadioLink,Dumbo_P,0,CH5,CH6,CH7,CH8GY,CH9,CH10,n-a,n-a,n-a,n-a,n-a,n-a
|
74,4,RadioLink,Dumbo_P,0,CH5,CH6,CH7,CH8GY,CH9,CH10,n-a,n-a,n-a,n-a,n-a,n-a
|
||||||
76,0,Realacc,R11,1,Flip,Light,Calib,HLess,RTH,ThCut,Rotat
|
76,0,Realacc,R11,1,Flip,Light,Calib,HLess,RTH,ThCut,Rotat
|
||||||
76,1,Realacc,WLV8Tx,0,ST_Tr
|
76,1,Realacc,WLV8TX,0,ST_Tr
|
||||||
50,0,Redpine,Fast,0,sCH5,sCH6,sCH7,sCH8,sCH9,sCH10,sCH11,sCH12,sCH13,sCH14,sCH15,sCH16
|
50,0,Redpine,Fast,0,sCH5,sCH6,sCH7,sCH8,sCH9,sCH10,sCH11,sCH12,sCH13,sCH14,sCH15,sCH16
|
||||||
50,1,Redpine,Slow,0,sCH5,sCH6,sCH7,sCH8,sCH9,sCH10,sCH11,sCH12,sCH13,sCH14,sCH15,sCH16
|
50,1,Redpine,Slow,0,sCH5,sCH6,sCH7,sCH8,sCH9,sCH10,sCH11,sCH12,sCH13,sCH14,sCH15,sCH16
|
||||||
21,0,Futaba,SFHSS,0,CH5,CH6,CH7,CH8
|
21,0,Futaba,SFHSS,0,CH5,CH6,CH7,CH8
|
||||||
|
|||||||
@@ -73,7 +73,7 @@
|
|||||||
73,Kyosho,FHSS,Hype
|
73,Kyosho,FHSS,Hype
|
||||||
74,RadioLink,Surface,Air,DumboRC,RC4G,Dumbo_P
|
74,RadioLink,Surface,Air,DumboRC,RC4G,Dumbo_P
|
||||||
75,---
|
75,---
|
||||||
76,Realacc,R11,WL-V8Tx
|
76,Realacc,R11,WLV8TX
|
||||||
77,OMP
|
77,OMP
|
||||||
78,M-Link
|
78,M-Link
|
||||||
79,WFLY,RF20x
|
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_PELIKAN[] = "\x05""Pro\0 ""Lite\0""SCX24";
|
||||||
const char STR_SUBTYPE_V761[] = "\x05""3ch\0 ""4ch\0 ""TOPRC";
|
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_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_KYOSHO[] = "\x04""FHSS""Hype";
|
||||||
const char STR_SUBTYPE_KYOSHO2[] = "\x05""KT-17";
|
const char STR_SUBTYPE_KYOSHO2[] = "\x05""KT-17";
|
||||||
const char STR_SUBTYPE_KYOSHO3[] = "\x03""ASF";
|
const char STR_SUBTYPE_KYOSHO3[] = "\x03""ASF";
|
||||||
|
|||||||
@@ -42,8 +42,6 @@ enum
|
|||||||
REALACC_WLV8TX_DATA
|
REALACC_WLV8TX_DATA
|
||||||
};
|
};
|
||||||
|
|
||||||
static uint8_t realacc_phase;
|
|
||||||
static bool realacc_wlv8tx_rx_b3;
|
|
||||||
#endif
|
#endif
|
||||||
static uint8_t realacc_bind_packet[REALACC_BIND_PAYLOAD_SIZE];
|
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()
|
static void __attribute__((unused)) REALACC_send_bind_packet()
|
||||||
{
|
{
|
||||||
#ifndef MULTI_AIR
|
#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
|
{ // WLV8TX bind sent after RX packet B3 acknowledged
|
||||||
packet[0] = 0xB4;
|
packet[0] = 0xB4;
|
||||||
packet[1] = rx_id[1];
|
packet[1] = rx_id[1];
|
||||||
@@ -187,21 +185,21 @@ static void __attribute__((unused)) REALACC_wlv8tx_process_rx()
|
|||||||
if(len != 3)
|
if(len != 3)
|
||||||
return;
|
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[1] = packet_in[1];
|
||||||
rx_id[2] = packet_in[2];
|
rx_id[2] = packet_in[2];
|
||||||
rx_tx_addr[2] ^= packet_in[1];
|
rx_tx_addr[2] ^= packet_in[1];
|
||||||
rx_tx_addr[3] ^= packet_in[2];
|
rx_tx_addr[3] ^= packet_in[2];
|
||||||
rx_tx_addr[3] |= 0x80;
|
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;
|
BIND_DONE;
|
||||||
XN297_SetTXAddr(rx_tx_addr, 4);
|
XN297_SetTXAddr(rx_tx_addr, 4);
|
||||||
XN297_SetTxRxMode(TXRX_OFF);
|
XN297_SetTxRxMode(TXRX_OFF);
|
||||||
realacc_phase = REALACC_WLV8TX_DATA;
|
bind_phase = REALACC_WLV8TX_DATA;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@@ -222,34 +220,34 @@ uint16_t REALACC_callback()
|
|||||||
#else
|
#else
|
||||||
if(sub_protocol == REALACC_WLV8TX)
|
if(sub_protocol == REALACC_WLV8TX)
|
||||||
{
|
{
|
||||||
if(realacc_phase == REALACC_WLV8TX_DATA)
|
if(bind_phase == REALACC_WLV8TX_DATA)
|
||||||
{
|
{
|
||||||
XN297_SetTxRxMode(TX_EN);
|
XN297_SetTxRxMode(TX_EN);
|
||||||
REALACC_send_packet();
|
REALACC_send_packet();
|
||||||
return WLV8TX_PACKET_PERIOD;
|
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(TXRX_OFF);
|
||||||
XN297_SetTxRxMode(RX_EN);
|
XN297_SetTxRxMode(RX_EN);
|
||||||
realacc_phase = REALACC_WLV8TX_BIND_RX_CHECK;
|
bind_phase = REALACC_WLV8TX_BIND_RX_CHECK;
|
||||||
return WLV8TX_PACKET_PERIOD/3;
|
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();
|
REALACC_wlv8tx_process_rx();
|
||||||
if(realacc_phase == REALACC_WLV8TX_DATA)
|
if(bind_phase == REALACC_WLV8TX_DATA)
|
||||||
return WLV8TX_PACKET_PERIOD;
|
return WLV8TX_PACKET_PERIOD;
|
||||||
realacc_phase = REALACC_WLV8TX_BIND_TX;
|
bind_phase = REALACC_WLV8TX_BIND_TX;
|
||||||
return WLV8TX_PACKET_PERIOD/3;
|
return WLV8TX_PACKET_PERIOD/3;
|
||||||
}
|
}
|
||||||
//Bind Phase
|
//Bind Phase
|
||||||
XN297_SetTxRxMode(TXRX_OFF);
|
XN297_SetTxRxMode(TXRX_OFF);
|
||||||
XN297_SetTxRxMode(TX_EN);
|
XN297_SetTxRxMode(TX_EN);
|
||||||
REALACC_send_bind_packet();
|
REALACC_send_bind_packet();
|
||||||
realacc_phase = REALACC_WLV8TX_BIND_RX_SETUP;
|
bind_phase = REALACC_WLV8TX_BIND_RX_SETUP;
|
||||||
return WLV8TX_PACKET_PERIOD/3;
|
return WLV8TX_PACKET_PERIOD/3;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@@ -277,10 +275,10 @@ void REALACC_init()
|
|||||||
#ifndef MULTI_AIR
|
#ifndef MULTI_AIR
|
||||||
if(sub_protocol == REALACC_WLV8TX)
|
if(sub_protocol == REALACC_WLV8TX)
|
||||||
{
|
{
|
||||||
|
rx_id[0] = 0; // realacc_wlv8tx_rx_b3
|
||||||
rx_id[1] = 0;
|
rx_id[1] = 0;
|
||||||
rx_id[2] = 0;
|
rx_id[2] = 0;
|
||||||
realacc_wlv8tx_rx_b3 = false;
|
bind_phase = REALACC_WLV8TX_BIND_TX;
|
||||||
realacc_phase = REALACC_WLV8TX_BIND_TX;
|
|
||||||
memcpy(packet, realacc_bind_packet, 4);
|
memcpy(packet, realacc_bind_packet, 4);
|
||||||
packet[3] |= 0x80;
|
packet[3] |= 0x80;
|
||||||
XN297_SetRXAddr(packet, 4);
|
XN297_SetRXAddr(packet, 4);
|
||||||
|
|||||||
@@ -829,7 +829,8 @@ const PPM_Parameters PPM_prot[14*NBR_BANKS]= {
|
|||||||
PROTO_Q90C
|
PROTO_Q90C
|
||||||
NONE
|
NONE
|
||||||
PROTO_REALACC
|
PROTO_REALACC
|
||||||
NONE
|
REALACC_R11
|
||||||
|
REALACC_WLV8TX
|
||||||
PROTO_REDPINE
|
PROTO_REDPINE
|
||||||
RED_FAST
|
RED_FAST
|
||||||
RED_SLOW
|
RED_SLOW
|
||||||
|
|||||||
@@ -139,7 +139,7 @@ CFlie|AIR|38|CFlie||||||||NRF24L01|
|
|||||||
[Q303](Protocols_Details.md#Q303---31)||31|Q303|CX35|CX10D|CX10WD|||||NRF24L01|XN297
|
[Q303](Protocols_Details.md#Q303---31)||31|Q303|CX35|CX10D|CX10WD|||||NRF24L01|XN297
|
||||||
[Q90C](Protocols_Details.md#Q90C---72)||72|Q90C*||||||||NRF24L01|XN297
|
[Q90C](Protocols_Details.md#Q90C---72)||72|Q90C*||||||||NRF24L01|XN297
|
||||||
[RadioLink](Protocols_Details.md#RadioLink---74)||74|Surface|Air|DumboRC|RC4G|Dumbo_P||||CC2500|
|
[RadioLink](Protocols_Details.md#RadioLink---74)||74|Surface|Air|DumboRC|RC4G|Dumbo_P||||CC2500|
|
||||||
[Realacc](Protocols_Details.md#Realacc---76)||76|R11|WL-V8Tx|||||||NRF24L01|
|
[Realacc](Protocols_Details.md#Realacc---76)||76|R11|WLV8TX|||||||NRF24L01|
|
||||||
[Redpine](Protocols_Details.md#Redpine---50)||50|FAST|SLOW|||||||NRF24L01|XN297
|
[Redpine](Protocols_Details.md#Redpine---50)||50|FAST|SLOW|||||||NRF24L01|XN297
|
||||||
[Scanner](Protocols_Details.md#Scanner---54)||54|||||||||CC2500|
|
[Scanner](Protocols_Details.md#Scanner---54)||54|||||||||CC2500|
|
||||||
[Scorpio](Protocols_Details.md#Scorpio---94)||94|||||||||CYRF6936|
|
[Scorpio](Protocols_Details.md#Scorpio---94)||94|||||||||CYRF6936|
|
||||||
@@ -2342,7 +2342,7 @@ CH1|CH2|CH3|CH4|CH5|CH6|CH7|CH8|CH9|CH10|CH11
|
|||||||
---|---|---|---|---|---|---|---|---|----|----
|
---|---|---|---|---|---|---|---|---|----|----
|
||||||
A|E|T|R|FLIP|LIGHT|CALIB|HLESS|RTH|THR_CUT|ROTATE
|
A|E|T|R|FLIP|LIGHT|CALIB|HLESS|RTH|THR_CUT|ROTATE
|
||||||
|
|
||||||
### Sub_protocol WL-V8Tx - *1*
|
### Sub_protocol WLV8TX - *1*
|
||||||
|
|
||||||
Models: WLtoys 284019A, 284191, Cars using V8 Transmitter
|
Models: WLtoys 284019A, 284191, Cars using V8 Transmitter
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user