mirror of
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module.git
synced 2025-02-09 22:18:14 +00:00
RLINK: subprotocol DumboRC
This commit is contained in:
parent
360dde2e1b
commit
8099018132
@ -139,6 +139,7 @@
|
|||||||
72,0,Q90C,Std,0,FMode,VTX+
|
72,0,Q90C,Std,0,FMode,VTX+
|
||||||
74,0,RadioLink,Surface,0,CH5,CH6,CH7,CH8,FS_CH1,FS_CH2,FS_CH3,FS_CH4,FS_CH5,FS_CH6,FS_CH7,FS_CH8
|
74,0,RadioLink,Surface,0,CH5,CH6,CH7,CH8,FS_CH1,FS_CH2,FS_CH3,FS_CH4,FS_CH5,FS_CH6,FS_CH7,FS_CH8
|
||||||
74,1,RadioLink,Air,0,CH5,CH6,CH7,CH8,FS_CH1,FS_CH2,FS_CH3,FS_CH4,FS_CH5,FS_CH6,FS_CH7,FS_CH8
|
74,1,RadioLink,Air,0,CH5,CH6,CH7,CH8,FS_CH1,FS_CH2,FS_CH3,FS_CH4,FS_CH5,FS_CH6,FS_CH7,FS_CH8
|
||||||
|
74,2,RadioLink,DumboRC,0,CH5,CH6,CH7,CH8,FS_CH1,FS_CH2,FS_CH3,FS_CH4,FS_CH5,FS_CH6,FS_CH7,FS_CH8
|
||||||
76,0,Realacc,R11,1,Flip,Light,Calib,HLess,RTH,UNK
|
76,0,Realacc,R11,1,Flip,Light,Calib,HLess,RTH,UNK
|
||||||
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
|
||||||
|
@ -71,9 +71,10 @@
|
|||||||
71,JJRC345,JJRC345,SkyTmblr
|
71,JJRC345,JJRC345,SkyTmblr
|
||||||
72,Q90C
|
72,Q90C
|
||||||
73,Kyosho,FHSS,Hype
|
73,Kyosho,FHSS,Hype
|
||||||
74,RadioLink,Surface,Air
|
74,RadioLink,Surface,Air,DumboRC
|
||||||
75,---
|
75,---
|
||||||
76,Realacc,R11
|
76,Realacc,R11
|
||||||
77,OMP
|
77,OMP
|
||||||
78,M-Link
|
78,M-Link
|
||||||
79,WFLY,RF20x
|
79,WFLY,RF20x
|
||||||
|
80,E016H,E016Hv2
|
||||||
|
@ -147,10 +147,10 @@ const char STR_SUBTYPE_WFLY2[] = "\x05""RF20x";
|
|||||||
const char STR_SUBTYPE_HOTT[] = "\x07""Sync\0 ""No_Sync";
|
const char STR_SUBTYPE_HOTT[] = "\x07""Sync\0 ""No_Sync";
|
||||||
const char STR_SUBTYPE_PELIKAN[] = "\x04""Pro\0""Lite";
|
const char STR_SUBTYPE_PELIKAN[] = "\x04""Pro\0""Lite";
|
||||||
const char STR_SUBTYPE_V761[] = "\x03""3ch""4ch";
|
const char STR_SUBTYPE_V761[] = "\x03""3ch""4ch";
|
||||||
const char STR_SUBTYPE_RLINK[] = "\x07""Surface""Air\0 ";
|
const char STR_SUBTYPE_RLINK[] = "\x07""Surface""Air\0 ""DumboRC";
|
||||||
const char STR_SUBTYPE_REALACC[] = "\x03""R11";
|
const char STR_SUBTYPE_REALACC[] = "\x03""R11";
|
||||||
const char STR_SUBTYPE_KYOSHO[] = "\x04""FHSS""Hype";
|
const char STR_SUBTYPE_KYOSHO[] = "\x04""FHSS""Hype";
|
||||||
const char STR_SUBTYPE_FUTABA[] = "\x05""SFHSS";
|
const char STR_SUBTYPE_FUTABA[] = "\x05""SFHSS";
|
||||||
const char STR_SUBTYPE_JJRC345[] = "\x08""JJRC345\0""SkyTmblr";
|
const char STR_SUBTYPE_JJRC345[] = "\x08""JJRC345\0""SkyTmblr";
|
||||||
|
|
||||||
enum
|
enum
|
||||||
@ -346,7 +346,7 @@ const mm_protocol_definition multi_protocols[] = {
|
|||||||
{PROTO_Q90C, STR_Q90C, 0, NO_SUBTYPE, OPTION_RFTUNE },
|
{PROTO_Q90C, STR_Q90C, 0, NO_SUBTYPE, OPTION_RFTUNE },
|
||||||
#endif
|
#endif
|
||||||
#if defined(RLINK_CC2500_INO)
|
#if defined(RLINK_CC2500_INO)
|
||||||
{PROTO_RLINK, STR_RLINK, 2, STR_SUBTYPE_RLINK, OPTION_RFTUNE },
|
{PROTO_RLINK, STR_RLINK, 3, STR_SUBTYPE_RLINK, OPTION_RFTUNE },
|
||||||
#endif
|
#endif
|
||||||
#if defined(REALACC_NRF24L01_INO)
|
#if defined(REALACC_NRF24L01_INO)
|
||||||
{PROTO_REALACC, STR_REALACC, 1, STR_SUBTYPE_REALACC, OPTION_NONE },
|
{PROTO_REALACC, STR_REALACC, 1, STR_SUBTYPE_REALACC, OPTION_NONE },
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
#define VERSION_MAJOR 1
|
#define VERSION_MAJOR 1
|
||||||
#define VERSION_MINOR 3
|
#define VERSION_MINOR 3
|
||||||
#define VERSION_REVISION 1
|
#define VERSION_REVISION 1
|
||||||
#define VERSION_PATCH_LEVEL 88
|
#define VERSION_PATCH_LEVEL 89
|
||||||
|
|
||||||
//******************
|
//******************
|
||||||
// Protocols
|
// Protocols
|
||||||
@ -413,6 +413,13 @@ enum JJRC345
|
|||||||
SKYTMBLR = 1,
|
SKYTMBLR = 1,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum RLINK
|
||||||
|
{
|
||||||
|
RLINK_SURFACE = 0,
|
||||||
|
RLINK_AIR = 1,
|
||||||
|
RLINK_DUMBORC = 2,
|
||||||
|
};
|
||||||
|
|
||||||
#define NONE 0
|
#define NONE 0
|
||||||
#define P_HIGH 1
|
#define P_HIGH 1
|
||||||
#define P_LOW 0
|
#define P_LOW 0
|
||||||
@ -1036,6 +1043,10 @@ Serial: 100000 Baud 8e2 _ xxxx xxxx p --
|
|||||||
sub_protocol==JJRC345
|
sub_protocol==JJRC345
|
||||||
JJRC345 0
|
JJRC345 0
|
||||||
SKYTMBLR 1
|
SKYTMBLR 1
|
||||||
|
sub_protocol==RLINK
|
||||||
|
RLINK_SURFACE 0
|
||||||
|
RLINK_AIR 1
|
||||||
|
RLINK_DUMBORC 2
|
||||||
|
|
||||||
Power value => 0x80 0=High/1=Low
|
Power value => 0x80 0=High/1=Low
|
||||||
Stream[3] = option_protocol;
|
Stream[3] = option_protocol;
|
||||||
|
@ -133,6 +133,12 @@ static void __attribute__((unused)) RLINK_rf_init()
|
|||||||
for (uint8_t i = 0; i < 39; ++i)
|
for (uint8_t i = 0; i < 39; ++i)
|
||||||
CC2500_WriteReg(i, pgm_read_byte_near(&RLINK_init_values[i]));
|
CC2500_WriteReg(i, pgm_read_byte_near(&RLINK_init_values[i]));
|
||||||
|
|
||||||
|
if(sub_protocol==RLINK_DUMBORC)
|
||||||
|
{
|
||||||
|
CC2500_WriteReg(4, 0xBA);
|
||||||
|
CC2500_WriteReg(5, 0xDC);
|
||||||
|
}
|
||||||
|
|
||||||
prev_option = option;
|
prev_option = option;
|
||||||
CC2500_WriteReg(CC2500_0C_FSCTRL0, option);
|
CC2500_WriteReg(CC2500_0C_FSCTRL0, option);
|
||||||
|
|
||||||
@ -160,16 +166,22 @@ static void __attribute__((unused)) RLINK_send_packet()
|
|||||||
// packet length
|
// packet length
|
||||||
packet[0] = RLINK_TX_PACKET_LEN;
|
packet[0] = RLINK_TX_PACKET_LEN;
|
||||||
// header
|
// header
|
||||||
if(sub_protocol)
|
|
||||||
packet[1] = 0x21; //air 0x21 on dump but it looks to support telemetry at least RSSI
|
|
||||||
else
|
|
||||||
{//surface
|
|
||||||
packet[1] = 0x01;
|
|
||||||
//radiolink additionnal ID which is working only on a small set of RXs
|
|
||||||
//if(RX_num) packet[1] |= ((RX_num+2)<<4)+4; // RX number limited to 10 values, 0 is a wildcard
|
|
||||||
}
|
|
||||||
if(packet_count>3)
|
if(packet_count>3)
|
||||||
packet[1] |= 0x02; // 0x02 telemetry request flag
|
packet[1] = 0x02; // 0x02 telemetry request flag
|
||||||
|
switch(sub_protocol)
|
||||||
|
{
|
||||||
|
case RLINK_SURFACE:
|
||||||
|
packet[1] |= 0x01;
|
||||||
|
//radiolink additionnal ID which is working only on a small set of RXs
|
||||||
|
//if(RX_num) packet[1] |= ((RX_num+2)<<4)+4; // RX number limited to 10 values, 0 is a wildcard
|
||||||
|
break;
|
||||||
|
case RLINK_AIR:
|
||||||
|
packet[1] |= 0x21; //air 0x21 on dump but it looks to support telemetry at least RSSI
|
||||||
|
break;
|
||||||
|
case RLINK_DUMBORC:
|
||||||
|
packet[1] = 0x00; //always 0x00 on dump
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
// ID
|
// ID
|
||||||
memcpy(&packet[2],rx_tx_addr,RLINK_TX_ID_LEN);
|
memcpy(&packet[2],rx_tx_addr,RLINK_TX_ID_LEN);
|
||||||
|
@ -724,7 +724,9 @@ const PPM_Parameters PPM_prot[14*NBR_BANKS]= {
|
|||||||
RED_FAST
|
RED_FAST
|
||||||
RED_SLOW
|
RED_SLOW
|
||||||
PROTO_RLINK
|
PROTO_RLINK
|
||||||
NONE
|
RLINK_SURFACE
|
||||||
|
RLINK_AIR
|
||||||
|
RLINK_DUMBORC
|
||||||
PROTO_SCANNER
|
PROTO_SCANNER
|
||||||
NONE
|
NONE
|
||||||
PROTO_FUTABA
|
PROTO_FUTABA
|
||||||
|
@ -632,17 +632,20 @@ CH1|CH2|CH3|CH4|CH5|CH6|CH7|CH8|FS_CH1|FS_CH2|FS_CH3|FS_CH4|FS_CH5|FS_CH6|FS_CH7
|
|||||||
FS=FailSafe
|
FS=FailSafe
|
||||||
|
|
||||||
### Sub_protocol Surface - *0*
|
### Sub_protocol Surface - *0*
|
||||||
Surface protocol. TXs: RC4GS,RC6GS. Compatible RXs:R7FG(Std),R6FG,R6F,R8EF,R8FM,R8F,R4FGM,R4F
|
Surface protocol. TXs: RC4GS,RC6GS. Compatible RXs: R7FG(Std),R6FG,R6F,R8EF,R8FM,R8F,R4FGM,R4F
|
||||||
|
|
||||||
CH1=Steering, CH2=Throttle, CH8=Gyro gain
|
CH1=Steering, CH2=Throttle, CH8=Gyro gain
|
||||||
|
|
||||||
Telemetry: RX_RSSI (for the original value add -256), TX_RSSI, TX_QLY (0..100%), A1=RX_Batt (set the ratio to 12.7 and adjust with offset), A2=Batt (set the ratio to 25.5 and adjust with offset)
|
Telemetry: RX_RSSI (for the original value add -256), TX_RSSI, TX_QLY (0..100%), A1=RX_Batt (set the ratio to 12.7 and adjust with offset), A2=Batt (set the ratio to 25.5 and adjust with offset)
|
||||||
|
|
||||||
### Sub_protocol Air - *1*
|
### Sub_protocol Air - *1*
|
||||||
Air protocol. TXs: T8FB,T8S. Compatible RXs:R8EF,R8FM,R8SM,R4FG,R4F
|
Air protocol. TXs: T8FB,T8S. Compatible RXs: R8EF,R8FM,R8SM,R4FG,R4F
|
||||||
|
|
||||||
Telemetry: RX_RSSI (for the original value add -256), TX_RSSI, TX_QLY (0..100%)
|
Telemetry: RX_RSSI (for the original value add -256), TX_RSSI, TX_QLY (0..100%)
|
||||||
|
|
||||||
|
### Sub_protocol DumboRC - *2*
|
||||||
|
Compatible RXs: X6/X6F/X6FG
|
||||||
|
|
||||||
## Futaba - *21*
|
## Futaba - *21*
|
||||||
Also called SFHSS depending on radio version.
|
Also called SFHSS depending on radio version.
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user