Kyosho FHSS and Syncro

Automatically binding a FHSS or a Syncro RX using FHSS
This commit is contained in:
pascallanger 2024-01-31 19:22:36 +01:00
parent ce75dd3355
commit cdabde5d67
7 changed files with 11 additions and 21 deletions

View File

@ -123,7 +123,6 @@
9,1,KN,Feilun,0,DRate,THold,IdleUp,Gyro,Ttrim,Atrim,Etrim 9,1,KN,Feilun,0,DRate,THold,IdleUp,Gyro,Ttrim,Atrim,Etrim
73,0,Kyosho,FHSS,0,CH5,CH6,CH7,CH8,CH9,CH10,CH11,CH12,CH13,CH14 73,0,Kyosho,FHSS,0,CH5,CH6,CH7,CH8,CH9,CH10,CH11,CH12,CH13,CH14
73,1,Kyosho,Hype,0,CH5,CH6 73,1,Kyosho,Hype,0,CH5,CH6
73,2,Kyosho,Syncro,0,CH5,CH6
18,0,MJXQ,WHL08,1,Flip,LED,Pict,Video,HLess,RTH,AuFlip,Pan,Tilt,Rate 18,0,MJXQ,WHL08,1,Flip,LED,Pict,Video,HLess,RTH,AuFlip,Pan,Tilt,Rate
18,1,MJXQ,X600,1,Flip,LED,Pict,Video,HLess,RTH,AuFlip,Pan,Tilt,Rate 18,1,MJXQ,X600,1,Flip,LED,Pict,Video,HLess,RTH,AuFlip,Pan,Tilt,Rate
18,2,MJXQ,X800,1,Flip,LED,Pict,Video,HLess,RTH,AuFlip,Pan,Tilt,Rate 18,2,MJXQ,X800,1,Flip,LED,Pict,Video,HLess,RTH,AuFlip,Pan,Tilt,Rate

View File

@ -44,7 +44,7 @@ static void __attribute__((unused)) KYOSHO_send_packet()
for(uint8_t i=0; i<16;i++) for(uint8_t i=0; i<16;i++)
packet[i+11]=hopping_frequency[i+(packet[9]<<4)]; packet[i+11]=hopping_frequency[i+(packet[9]<<4)];
//TX type //TX type
packet[27] = sub_protocol==KYOSHO_FHSS ? 0x05:0x07; // FHSS is 5 and Syncro is 7 packet[27] = (bind_counter & 0x40) ? 0x05:0x07; // FHSS is 5 and Syncro is 7
//Unknown //Unknown
packet[28] = 0x00; packet[28] = 0x00;
memset(packet+29,0xFF,8); memset(packet+29,0xFF,8);
@ -185,7 +185,7 @@ void KYOSHO_init()
} }
#endif #endif
#ifdef KYOSHO_FORCE_ID_SYNCRO #ifdef KYOSHO_FORCE_ID_SYNCRO
if(sub_protocol==KYOSHO_SYNCRO) if(sub_protocol==KYOSHO_FHSS)
{ {
memcpy(rx_tx_addr,"\x00\xC2\x24\x00",4); memcpy(rx_tx_addr,"\x00\xC2\x24\x00",4);
memcpy(hopping_frequency,"\x73\x12\x7D\x88\x63\x4A\x8D\x60\x57\x16\x5D\x8B\x25\x53\x6E\x3C\x41\x70\x20\x83\x2A\x19\x94\x2F\x91\x4C\x47\x36\x78\x10\x5A\x31",32); memcpy(hopping_frequency,"\x73\x12\x7D\x88\x63\x4A\x8D\x60\x57\x16\x5D\x8B\x25\x53\x6E\x3C\x41\x70\x20\x83\x2A\x19\x94\x2F\x91\x4C\x47\x36\x78\x10\x5A\x31",32);

View File

@ -70,7 +70,7 @@
70,DSM_RX,Multi,CloneTX,EraseTX,CPPM 70,DSM_RX,Multi,CloneTX,EraseTX,CPPM
71,JJRC345,JJRC345,SkyTmblr 71,JJRC345,JJRC345,SkyTmblr
72,Q90C 72,Q90C
73,Kyosho,FHSS,Hype,Syncro 73,Kyosho,FHSS,Hype
74,RadioLink,Surface,Air,DumboRC 74,RadioLink,Surface,Air,DumboRC
75,--- 75,---
76,Realacc,R11 76,Realacc,R11

View File

@ -169,7 +169,7 @@ 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"; 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""Sync"; 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_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";
@ -379,7 +379,7 @@ const mm_protocol_definition multi_protocols[] = {
{PROTO_KN, STR_KN, STR_SUBTYPE_KN, 2, OPTION_NONE, 0, 0, SW_NRF, KN_init, KN_callback }, {PROTO_KN, STR_KN, STR_SUBTYPE_KN, 2, OPTION_NONE, 0, 0, SW_NRF, KN_init, KN_callback },
#endif #endif
#if defined(KYOSHO_A7105_INO) #if defined(KYOSHO_A7105_INO)
{PROTO_KYOSHO, STR_KYOSHO, STR_SUBTYPE_KYOSHO, 3, OPTION_NONE, 0, 1, SW_A7105, KYOSHO_init, KYOSHO_callback }, {PROTO_KYOSHO, STR_KYOSHO, STR_SUBTYPE_KYOSHO, 2, OPTION_NONE, 0, 1, SW_A7105, KYOSHO_init, KYOSHO_callback },
#endif #endif
#if defined(KYOSHO2_NRF24L01_INO) #if defined(KYOSHO2_NRF24L01_INO)
{PROTO_KYOSHO2, STR_KYOSHO2, STR_SUBTYPE_KYOSHO2, 1, OPTION_NONE, 0, 0, SW_NRF, KYOSHO2_init, KYOSHO2_callback }, {PROTO_KYOSHO2, STR_KYOSHO2, STR_SUBTYPE_KYOSHO2, 1, OPTION_NONE, 0, 0, SW_NRF, KYOSHO2_init, KYOSHO2_callback },

View File

@ -19,7 +19,7 @@
#define VERSION_MAJOR 1 #define VERSION_MAJOR 1
#define VERSION_MINOR 3 #define VERSION_MINOR 3
#define VERSION_REVISION 3 #define VERSION_REVISION 3
#define VERSION_PATCH_LEVEL 46 #define VERSION_PATCH_LEVEL 47
#define MODE_SERIAL 0 #define MODE_SERIAL 0
@ -437,9 +437,8 @@ enum HEIGHT
}; };
enum KYOSHO enum KYOSHO
{ {
KYOSHO_FHSS = 0, KYOSHO_FHSS = 0,
KYOSHO_HYPE = 1, KYOSHO_HYPE = 1,
KYOSHO_SYNCRO = 2,
}; };
enum JJRC345 enum JJRC345
{ {

View File

@ -733,7 +733,6 @@ const PPM_Parameters PPM_prot[14*NBR_BANKS]= {
PROTO_KYOSHO PROTO_KYOSHO
KYOSHO_FHSS KYOSHO_FHSS
KYOSHO_HYPE KYOSHO_HYPE
KYOSHO_SYNCRO
PROTO_KYOSHO2 PROTO_KYOSHO2
NONE NONE
PROTO_LOLI PROTO_LOLI

View File

@ -326,7 +326,9 @@ CH1|CH2|CH3|CH4
## Kyosho - *73* ## Kyosho - *73*
### Sub_protocol FHSS - *0* ### Sub_protocol FHSS - *0*
Surface protocol called FHSS introduced in 2017. Transmitter: KT-531P. Models: Mini-Z Surface protocol called FHSS introduced in 2017. Transmitter: KT-531P. Models: Mini-Z.
Surface protocol called Syncro. TX: KT-331, RX: KR-331
Extended limits supported Extended limits supported
@ -343,15 +345,6 @@ A|E|T|R|CH5|CH6
RX output will match the Hype standard AETR independently of the input configuration AETR, RETA... unless on OpenTX 2.3.3+ you use the "Disable channel mapping" feature on the GUI. RX output will match the Hype standard AETR independently of the input configuration AETR, RETA... unless on OpenTX 2.3.3+ you use the "Disable channel mapping" feature on the GUI.
### Sub_protocol Syncro - *2*
Surface protocol called Syncro. TX: KT-331, RX: KR-331
Extended limits supported
CH1|CH2|CH3|CH4|CH5|CH6
---|---|---|---|---|---
STEERING|THROTTLE|CH3|CH4|CH5|CH6
## Pelikan - *60* ## Pelikan - *60*
Extended limits supported Extended limits supported