SGF22/T28 new protocol

This commit is contained in:
pascallanger
2026-08-14 14:19:30 +02:00
parent 0f8aceb79f
commit 1fa5452c89
7 changed files with 20 additions and 11 deletions

View File

@@ -93,7 +93,7 @@
94,Scorpio
95,BlueFly
96,BumbleB
97,SGF22,F22,F22S,J20
97,SGF22,F22,F22S,J20,CX10,T28
98,Kyosho3
99,XK2,X4,P10
100,YuXiang

View File

@@ -192,7 +192,7 @@ const char STR_SUBTYPE_MOULDKG[] = "\x05""A4444""D4444""A664\0";
const char STR_SUBTYPE_KF606[] = "\x06""KF606\0""MIG320""ZCZ50\0";
const char STR_SUBTYPE_E129[] = "\x04""E129""C186";
const char STR_SUBTYPE_FX[] = "\x05""FX816""FX620""9630\0""Q560\0""QF012""BM26\0""A570\0";
const char STR_SUBTYPE_SGF22[] = "\x04""F22\0""F22S""J20\0""CX10";
const char STR_SUBTYPE_SGF22[] = "\x04""F22\0""F22S""J20\0""CX10""T28\0";
const char STR_SUBTYPE_JIABAILE[] = "\x04""Std\0""Gyro";
#define NO_SUBTYPE nullptr
@@ -480,7 +480,7 @@ const mm_protocol_definition multi_protocols[] = {
{PROTO_SCORPIO, STR_SCORPIO, NO_SUBTYPE, 0, OPTION_NONE, 0, 0, SW_CYRF, SCORPIO_init, SCORPIO_callback },
#endif
#if defined(SGF22_NRF24L01_INO)
{PROTO_SGF22, STR_SGF22, STR_SUBTYPE_SGF22, 4, OPTION_NONE, 0, 0, SW_NRF, SGF22_init, SGF22_callback },
{PROTO_SGF22, STR_SGF22, STR_SUBTYPE_SGF22, 5, OPTION_NONE, 0, 0, SW_NRF, SGF22_init, SGF22_callback },
#endif
#if defined(SHENQI_NRF24L01_INO)
{PROTO_SHENQI, STR_SHENQI, NO_SUBTYPE, 0, OPTION_NONE, 0, 0, SW_NRF, SHENQI_init, SHENQI_callback },

View File

@@ -19,7 +19,7 @@
#define VERSION_MAJOR 1
#define VERSION_MINOR 3
#define VERSION_REVISION 4
#define VERSION_PATCH_LEVEL 64
#define VERSION_PATCH_LEVEL 65
#define MODE_SERIAL 0
@@ -515,6 +515,7 @@ enum SGF22
SGF22_F22S = 1,
SGF22_J20 = 2,
SGF22_CX10 = 3,
SGF22_T28 = 4,
};
enum JIABAILE
{

View File

@@ -25,10 +25,12 @@ Multiprotocol is distributed in the hope that it will be useful,
#define SGF22_PAYLOAD_SIZE 12
#define SGF22_BIND_COUNT 50
#define SGF22_RF_NUM_CHANNELS 4
#define SGF22_BIND_RF_CHANNEL 78
#define SGF22_F22S_BIND_RF_CHANNEL 10
#define SGF22_J20_BIND_RF_CHANNEL 28
#define SGF22_CX10_BIND_RF_CHANNEL 48
#define SGF22_T28_BIND_RF_CHANNEL 28
//packet[8]
#define SGF22_FLAG_3D 0x00
@@ -111,7 +113,7 @@ static void __attribute__((unused)) SGF22_send_packet()
packet[10] = 0x42; // no fine tune
packet[11] = 0x10; // no fine tune
}
if(sub_protocol == SGF22_F22S)
if(sub_protocol == SGF22_F22S || sub_protocol == SGF22_T28)
packet[0] += 6;
else if (sub_protocol == SGF22_J20)
packet[0] += 3;
@@ -200,7 +202,7 @@ static void __attribute__((unused)) SGF22_RF_init()
XN297_SetRXAddr((uint8_t*)"\xC7\x95\x3C\xBB\xA5", SGF22_PAYLOAD_SIZE);
#endif
const uint8_t bind_chan[] = {SGF22_BIND_RF_CHANNEL, SGF22_F22S_BIND_RF_CHANNEL, SGF22_J20_BIND_RF_CHANNEL, SGF22_CX10_BIND_RF_CHANNEL};
const uint8_t bind_chan[] = {SGF22_BIND_RF_CHANNEL, SGF22_F22S_BIND_RF_CHANNEL, SGF22_J20_BIND_RF_CHANNEL, SGF22_CX10_BIND_RF_CHANNEL, SGF22_T28_BIND_RF_CHANNEL};
XN297_RFChannel(bind_chan[sub_protocol]); // Set bind channel
}

View File

@@ -845,10 +845,11 @@ const PPM_Parameters PPM_prot[14*NBR_BANKS]= {
PROTO_SCORPIO
NONE
PROTO_SGF22
SGF22
F22S
J20
CX10
SGF22_F22
SGF22_F22S
SGF22_J20
SGF22_CX10
SGF22_T28
PROTO_SHENQI
NONE
PROTO_SHENQI2