From cdabde5d676e5d2d378de0b58ee11696a1367fcc Mon Sep 17 00:00:00 2001 From: pascallanger Date: Wed, 31 Jan 2024 19:22:36 +0100 Subject: [PATCH] Kyosho FHSS and Syncro Automatically binding a FHSS or a Syncro RX using FHSS --- Lua_scripts/MultiChan.txt | 1 - Multiprotocol/Kyosho_a7105.ino | 4 ++-- Multiprotocol/Multi.txt | 2 +- Multiprotocol/Multi_Protos.ino | 4 ++-- Multiprotocol/Multiprotocol.h | 7 +++---- Multiprotocol/_Config.h | 1 - Protocols_Details.md | 13 +++---------- 7 files changed, 11 insertions(+), 21 deletions(-) diff --git a/Lua_scripts/MultiChan.txt b/Lua_scripts/MultiChan.txt index b761af7..8d7835c 100644 --- a/Lua_scripts/MultiChan.txt +++ b/Lua_scripts/MultiChan.txt @@ -123,7 +123,6 @@ 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,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,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 diff --git a/Multiprotocol/Kyosho_a7105.ino b/Multiprotocol/Kyosho_a7105.ino index b2608c5..0711fd4 100644 --- a/Multiprotocol/Kyosho_a7105.ino +++ b/Multiprotocol/Kyosho_a7105.ino @@ -44,7 +44,7 @@ static void __attribute__((unused)) KYOSHO_send_packet() for(uint8_t i=0; i<16;i++) packet[i+11]=hopping_frequency[i+(packet[9]<<4)]; //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 packet[28] = 0x00; memset(packet+29,0xFF,8); @@ -185,7 +185,7 @@ void KYOSHO_init() } #endif #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(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); diff --git a/Multiprotocol/Multi.txt b/Multiprotocol/Multi.txt index 8f1cfcb..f420d6a 100644 --- a/Multiprotocol/Multi.txt +++ b/Multiprotocol/Multi.txt @@ -70,7 +70,7 @@ 70,DSM_RX,Multi,CloneTX,EraseTX,CPPM 71,JJRC345,JJRC345,SkyTmblr 72,Q90C -73,Kyosho,FHSS,Hype,Syncro +73,Kyosho,FHSS,Hype 74,RadioLink,Surface,Air,DumboRC 75,--- 76,Realacc,R11 diff --git a/Multiprotocol/Multi_Protos.ino b/Multiprotocol/Multi_Protos.ino index 4aac167..32bd83e 100644 --- a/Multiprotocol/Multi_Protos.ino +++ b/Multiprotocol/Multi_Protos.ino @@ -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_RLINK[] = "\x07""Surface""Air\0 ""DumboRC"; 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_FUTABA[] = "\x05""SFHSS"; 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 }, #endif #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 #if defined(KYOSHO2_NRF24L01_INO) {PROTO_KYOSHO2, STR_KYOSHO2, STR_SUBTYPE_KYOSHO2, 1, OPTION_NONE, 0, 0, SW_NRF, KYOSHO2_init, KYOSHO2_callback }, diff --git a/Multiprotocol/Multiprotocol.h b/Multiprotocol/Multiprotocol.h index 91676a9..9726000 100644 --- a/Multiprotocol/Multiprotocol.h +++ b/Multiprotocol/Multiprotocol.h @@ -19,7 +19,7 @@ #define VERSION_MAJOR 1 #define VERSION_MINOR 3 #define VERSION_REVISION 3 -#define VERSION_PATCH_LEVEL 46 +#define VERSION_PATCH_LEVEL 47 #define MODE_SERIAL 0 @@ -437,9 +437,8 @@ enum HEIGHT }; enum KYOSHO { - KYOSHO_FHSS = 0, - KYOSHO_HYPE = 1, - KYOSHO_SYNCRO = 2, + KYOSHO_FHSS = 0, + KYOSHO_HYPE = 1, }; enum JJRC345 { diff --git a/Multiprotocol/_Config.h b/Multiprotocol/_Config.h index b861889..986d6c7 100644 --- a/Multiprotocol/_Config.h +++ b/Multiprotocol/_Config.h @@ -733,7 +733,6 @@ const PPM_Parameters PPM_prot[14*NBR_BANKS]= { PROTO_KYOSHO KYOSHO_FHSS KYOSHO_HYPE - KYOSHO_SYNCRO PROTO_KYOSHO2 NONE PROTO_LOLI diff --git a/Protocols_Details.md b/Protocols_Details.md index 94a7b03..ddd6065 100644 --- a/Protocols_Details.md +++ b/Protocols_Details.md @@ -326,7 +326,9 @@ CH1|CH2|CH3|CH4 ## Kyosho - *73* ### 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 @@ -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. -### 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* Extended limits supported