diff --git a/Lua_scripts/MultiChan.txt b/Lua_scripts/MultiChan.txt
index 8f29dce..c3baece 100644
--- a/Lua_scripts/MultiChan.txt
+++ b/Lua_scripts/MultiChan.txt
@@ -204,3 +204,4 @@
90,1,MouldKg,Digit,0
91,0,Xerall,Tank,0,FlTa,TakLan,Rate,HLess,Photo,Video,TrimR,TrimE,TrimA
92,0,MT99xx2,PA18,0,MODE,FLIP,RTH
+93,0,Kyosho2,KT-17,0
diff --git a/Multiprotocol/Kyosho2_nrf24l01.ino b/Multiprotocol/Kyosho2_nrf24l01.ino
new file mode 100644
index 0000000..fd9c2bc
--- /dev/null
+++ b/Multiprotocol/Kyosho2_nrf24l01.ino
@@ -0,0 +1,137 @@
+/*
+ This project is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Multiprotocol is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Multiprotocol. If not, see .
+ */
+
+#if defined(KYOSHO2_NRF24L01_INO)
+
+#include "iface_nrf24l01.h"
+
+#define KYOSHO2_PACKET_PERIOD 1120 // 1600 for bind, let's see
+#define KYOSHO2_BIND_COUNT 2000 // about 3sec
+#define KYOSHO2_BIND_CHANNEL 0x50
+#define KYOSHO2_PAYLOAD_SIZE 28
+#define KYOSHO2_RF_CHANNELS 15
+#define KYOSHO2_START_RF_CHANNEL 0x13 // No idea where it comes from... ID or unknown bytes during the bind?
+#define KYOSHO2_NUM_CHANNEL 10 // Only 4 on the dumps but there is space for 10 channels in the payload...
+
+#define FORCE_KYOSHO2_ID
+
+bool KYOSHO2_resend;
+//
+static void __attribute__((unused)) KYOSHO2_send_packet()
+{
+ if(KYOSHO2_resend == true)
+ {
+ NRF24L01_Strobe(NRF24L01_E3_REUSE_TX_PL);
+ if(IS_BIND_DONE)
+ KYOSHO2_resend = false;
+ return;
+ }
+
+ memset(packet,0x00,KYOSHO2_PAYLOAD_SIZE);
+
+ if(IS_BIND_IN_PROGRESS)
+ {
+ memcpy(packet, (uint8_t*)"\x01\x02\x05\x08\x1A\x2B\x3C\x4D", 8); // unknown bytes, parameters on how to build the rf channels?
+ memcpy(&packet[8], rx_tx_addr, 4);
+ }
+ else
+ {
+ memcpy(packet, rx_tx_addr, 4);
+ //Hopp
+ packet[6] = hopping_frequency_no + KYOSHO2_START_RF_CHANNEL;
+ packet[7] = hopping_frequency[hopping_frequency_no];
+ NRF24L01_WriteReg(NRF24L01_05_RF_CH, packet[6+(rf_ch_num&0x01)]);
+ rf_ch_num++;
+ //Channels
+ uint16_t temp;
+ for (uint8_t i = 0; i< KYOSHO2_NUM_CHANNEL; i++)
+ {
+ temp=convert_channel_16b_limit(i,0,0x3FF);
+ packet[8+i*2] = temp >> 8;
+ packet[9+i*2] = temp;
+ }
+ }
+ //Send
+ NRF24L01_WriteReg(NRF24L01_07_STATUS, (_BV(NRF24L01_07_TX_DS) | _BV(NRF24L01_07_MAX_RT))); // Reset flags
+ NRF24L01_FlushTx();
+ NRF24L01_WritePayload(packet,KYOSHO2_PAYLOAD_SIZE);
+ NRF24L01_SetPower();
+ KYOSHO2_resend = true;
+
+ #if 0
+ for(uint8_t i=0;iNRF24L01
PROTO_XERALL = 91, // =>NRF24L01
PROTO_MT99XX2 = 92, // =>NRF24L01, extension of MT99XX protocol
+ PROTO_KYOSHO2 = 93, // =>NRF24L01
PROTO_NANORF = 126, // =>NRF24L01
PROTO_TEST = 127, // =>CC2500
diff --git a/Multiprotocol/Validate.h b/Multiprotocol/Validate.h
index 1cee078..8e56e38 100644
--- a/Multiprotocol/Validate.h
+++ b/Multiprotocol/Validate.h
@@ -242,16 +242,16 @@
//Make sure protocols are selected correctly
#ifndef A7105_INSTALLED
- #undef AFHDS2A_A7105_INO
- #undef AFHDS2A_RX_A7105_INO
- #undef BUGS_A7105_INO
- #undef FLYSKY_A7105_INO
- #undef HEIGHT_A7105_INO
- #undef HUBSAN_A7105_INO
- #undef JOYSWAY_A7105_INO
- #undef KYOSHO_A7105_INO
- #undef PELIKAN_A7105_INO
- #undef WFLY2_A7105_INO
+ #undef AFHDS2A_A7105_INO
+ #undef AFHDS2A_RX_A7105_INO
+ #undef BUGS_A7105_INO
+ #undef FLYSKY_A7105_INO
+ #undef HEIGHT_A7105_INO
+ #undef HUBSAN_A7105_INO
+ #undef JOYSWAY_A7105_INO
+ #undef KYOSHO_A7105_INO
+ #undef PELIKAN_A7105_INO
+ #undef WFLY2_A7105_INO
#endif
#ifndef CYRF6936_INSTALLED
#undef DEVO_CYRF6936_INO
@@ -307,6 +307,7 @@
#undef HONTAI_NRF24L01_INO
#undef JJRC345_NRF24L01_INO
#undef KN_NRF24L01_INO
+ #undef KYOSHO2_NRF24L01_INO
#undef LOLI_NRF24L01_INO
#undef MOULDKG_NRF24L01_INO
#undef NCC1701_NRF24L01_INO
diff --git a/Multiprotocol/_Config.h b/Multiprotocol/_Config.h
index 9200981..c64a023 100644
--- a/Multiprotocol/_Config.h
+++ b/Multiprotocol/_Config.h
@@ -237,6 +237,7 @@
#define H8_3D_NRF24L01_INO
#define JJRC345_NRF24L01_INO
#define KN_NRF24L01_INO
+#define KYOSHO2_NRF24L01_INO
#define LOLI_NRF24L01_INO
//#define MOULDKG_NRF24L01_INO
#define NCC1701_NRF24L01_INO
@@ -722,6 +723,8 @@ const PPM_Parameters PPM_prot[14*NBR_BANKS]= {
PROTO_KYOSHO
KYOSHO_FHSS
KYOSHO_HYPE
+ PROTO_KYOSHO2
+ NONE
PROTO_LOLI
NONE
PROTO_LOSI
diff --git a/Protocols_Details.md b/Protocols_Details.md
index 0d33631..21b836e 100644
--- a/Protocols_Details.md
+++ b/Protocols_Details.md
@@ -113,6 +113,7 @@ CFlie|38|CFlie||||||||NRF24L01|
[KF606](Protocols_Details.md#KF606---49)|49|KF606|MIG320|||||||NRF24L01|XN297
[KN](Protocols_Details.md#KN---9)|9|WLTOYS|FEILUN|||||||NRF24L01|
[Kyosho](Protocols_Details.md#Kyosho---73)|73|FHSS|Hype|||||||A7105|
+[Kyosho2](Protocols_Details.md#Kyosho2---93)|93|KT-17||||||||NRF24L01|
[LOLI](Protocols_Details.md#LOLI---82)|82|||||||||NRF24L01|
[Losi](Protocols_Details.md#Losi---89)|89|||||||||CYRF6936|
[MJXq](Protocols_Details.md#MJXQ---18)|18|WLH08|X600|X800|H26D|E010*|H26WH|PHOENIX*||NRF24L01|XN297
@@ -1731,6 +1732,13 @@ Model: DF-Models SkyTumbler
RTH not supported
+## KYOSHO2 - *93*
+Model: TX KT-17, Minium Edge 540, Minium Citabria
+
+CH1|CH2|CH3|CH4|CH5|CH6|CH7|CH8|CH9|CH10
+---|---|---|---|---|---|---|---|---|----
+CH1|CH2|CH3|CH4|CH5|CH6|CH7|CH8|CH9|CH10
+
## LOLI - *82*
LOLI3 receivers: https://github.com/wooddoor/Loli3