Flyzone protocol: 8 channels support

This commit is contained in:
Pascal Langer 2020-07-31 10:42:10 +02:00
parent df28cfe3cc
commit 19164521e4
5 changed files with 25 additions and 6 deletions

View File

@ -383,6 +383,10 @@ void A7105_Init(void)
if(i==0x20) val=0x1E;
}
#endif
#ifdef FLYZONE_A7105_INO
if(protocol==PROTO_FLYZONE && sub_protocol==FLYZONE_8CH)
if(i==0x03) val=0x0A;
#endif
if( val != 0xFF)
A7105_WriteReg(i, val);
}

View File

@ -33,6 +33,12 @@ static void __attribute__((unused)) flyzone_build_packet()
packet[5] = convert_channel_8b(THROTTLE); //00..FF
packet[6] = convert_channel_8b(RUDDER); //00..80..FF
packet[7] = convert_channel_8b(CH5); //00..80..FF
if(sub_protocol == FLYZONE_8CH)
{
packet[8] = convert_channel_8b(CH6); //00..80..FF
packet[9] = convert_channel_8b(CH7); //00..80..FF
packet[10] = convert_channel_8b(CH8); //00..80..FF
}
}
uint16_t ReadFlyzone()
@ -59,7 +65,7 @@ uint16_t ReadFlyzone()
telemetry_set_input_sync(20*1500);
#endif
flyzone_build_packet();
A7105_WriteData(8, hopping_frequency[0]);
A7105_WriteData(sub_protocol?11:8, hopping_frequency[0]);
A7105_SetPower();
}
else

View File

@ -50,7 +50,7 @@
50,Redpine,Fast,Slow
51,Potensic,A20
52,ZSX,280
53,Flyzone,FZ-410
53,Flyzone,5ch,8ch
54,Scanner
55,Frsky_RX,RX,CloneTX
56,AFHDS2A_RX

View File

@ -125,7 +125,7 @@ const char STR_SUBTYPE_GD00X[] = "\x05""GD_V1""GD_V2";
const char STR_SUBTYPE_REDPINE[] = "\x04""Fast""Slow";
const char STR_SUBTYPE_POTENSIC[] = "\x03""A20";
const char STR_SUBTYPE_ZSX[] = "\x07""280JJRC";
const char STR_SUBTYPE_FLYZONE[] = "\x05""FZ410";
const char STR_SUBTYPE_FLYZONE[] = "\x03""5ch""8ch";
const char STR_SUBTYPE_FX816[] = "\x03""P38";
const char STR_SUBTYPE_XN297DUMP[] = "\x07""250Kbps""1Mbps\0 ""2Mbps\0 ""Auto\0 ""NRF\0 ";
const char STR_SUBTYPE_ESKY150[] = "\x03""4ch""7ch";
@ -140,7 +140,7 @@ const char STR_SUBTYPE_FRSKYL[] = "\x08""LR12\0 ""LR12 6ch";
const char STR_SUBTYPE_WFLY[] = "\x06""WFR0xS";
const char STR_SUBTYPE_HOTT[] = "\x07""Sync\0 ""No_Sync";
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 ";
enum
@ -225,7 +225,7 @@ const mm_protocol_definition multi_protocols[] = {
{PROTO_AFHDS2A_RX, STR_AFHDS2A_RX,0, NO_SUBTYPE, OPTION_NONE },
#endif
#if defined(FLYZONE_A7105_INO)
{PROTO_FLYZONE, STR_FLYZONE, 1, STR_SUBTYPE_FLYZONE, OPTION_NONE },
{PROTO_FLYZONE, STR_FLYZONE, 2, STR_SUBTYPE_FLYZONE, OPTION_NONE },
#endif
#if defined(FQ777_NRF24L01_INO)
{PROTO_FQ777, STR_FQ777, 0, NO_SUBTYPE, OPTION_NONE },

View File

@ -19,7 +19,7 @@
#define VERSION_MAJOR 1
#define VERSION_MINOR 3
#define VERSION_REVISION 1
#define VERSION_PATCH_LEVEL 47
#define VERSION_PATCH_LEVEL 48
//******************
// Protocols
@ -390,6 +390,12 @@ enum V761
V761_4CH = 1,
};
enum FLYZONE
{
FLYZONE_5CH = 0,
FLYZONE_8CH = 1,
};
#define NONE 0
#define P_HIGH 1
#define P_LOW 0
@ -993,6 +999,9 @@ Serial: 100000 Baud 8e2 _ xxxx xxxx p --
sub_protocol==V761
V761_3CH 0
V761_4CH 1
sub_protocol==FLYZONE
FLYZONE_5CH 0
FLYZONE_8CH 1
Power value => 0x80 0=High/1=Low
Stream[3] = option_protocol;