SLT sub protocol Q100

CH9 FMODE
CH10 FLIP
CH13 Gyro calib
This commit is contained in:
Pascal Langer 2018-09-10 08:11:56 +02:00
parent 03f417546e
commit 27dc02fdec
4 changed files with 17 additions and 14 deletions

View File

@ -8,7 +8,7 @@
8,YD717,YD717,SKYWLKR,SYMAX4,XINXUN,NIHUI
9,KN,WLTOYS,FEILUN
10,SymaX,SYMAX,SYMAX5C
11,SLT,SLT_V1,SLT_V2,Q200,MR100
11,SLT,SLT_V1,SLT_V2,Q100,Q200,MR100
12,CX10,GREEN,BLUE,DM007,---,J3015_1,J3015_2,MK33041
13,CG023,CG023,YD829
14,Bayang,Bayang,H8S3D,X16_AH,IRDRONE

View File

@ -19,7 +19,7 @@
#define VERSION_MAJOR 1
#define VERSION_MINOR 2
#define VERSION_REVISION 0
#define VERSION_PATCH_LEVEL 44
#define VERSION_PATCH_LEVEL 45
//******************
// Protocols
@ -126,8 +126,9 @@ enum SLT
{
SLT_V1 = 0,
SLT_V2 = 1,
Q200 = 2,
MR100 = 3,
Q100 = 2,
Q200 = 3,
MR100 = 4,
};
enum CX10
{
@ -703,8 +704,9 @@ Serial: 100000 Baud 8e2 _ xxxx xxxx p --
sub_protocol==SLT
SLT_V1 0
SLT_V2 1
Q200 2
MR100 3
Q100 2
Q200 3
MR100 4
Power value => 0x80 0=High/1=Low
Stream[3] = option_protocol;

View File

@ -35,7 +35,7 @@ enum{
};
enum{
// flags going to packet[6] (MR100)
// flags going to packet[6] (MR100 & Q100)
FLAG_MR100_FMODE = 0x20,
FLAG_MR100_FLIP = 0x04,
FLAG_MR100_VIDEO = 0x02,
@ -156,19 +156,19 @@ static void __attribute__((unused)) SLT_build_packet()
|GET_FLAG(CH10_SW, FLAG_Q200_FLIP)
|GET_FLAG(CH11_SW, FLAG_Q200_VIDON)
|GET_FLAG(CH12_SW, FLAG_Q200_VIDOFF);
if(sub_protocol==MR100)
else if(sub_protocol==MR100 || sub_protocol==Q100)
packet[6] = GET_FLAG(CH9_SW , FLAG_MR100_FMODE)
|GET_FLAG(CH10_SW, FLAG_MR100_FLIP)
|GET_FLAG(CH11_SW, FLAG_MR100_VIDEO)
|GET_FLAG(CH12_SW, FLAG_MR100_PICTURE);
|GET_FLAG(CH11_SW, FLAG_MR100_VIDEO) // Does not exist on the Q100 but...
|GET_FLAG(CH12_SW, FLAG_MR100_PICTURE); // Does not exist on the Q100 but...
packet[7]=convert_channel_8b(CH7);
packet[8]=convert_channel_8b(CH8);
packet[9]=0xAA; //normal mode for Q200, unknown for V2
packet[10]=0x00; //normal mode for Q200, unknown for V2
if(sub_protocol==Q200 && CH13_SW)
packet[9]=0xAA; //normal mode for Q100/Q200, unknown for V2/MR100
packet[10]=0x00; //normal mode for Q100/Q200, unknown for V2/MR100
if((sub_protocol==Q100 || sub_protocol==Q200) && CH13_SW)
{//Calibrate
packet[9]=0x77; //enter calibration
if(calib_counter>=20 && calib_counter<=23) // 3 packets
if(calib_counter>=20 && calib_counter<=25) // 7 packets for Q100 / 3 packets for Q200
packet[10]=0x20; //launch calibration
calib_counter++;
if(calib_counter>250) calib_counter=250;

View File

@ -565,6 +565,7 @@ const PPM_Parameters PPM_prot[14*NBR_BANKS]= {
PROTO_SLT
SLT_V1
SLT_V2
Q100
Q200
MR100
*/