mirror of
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module.git
synced 2025-07-12 17:57:53 +00:00
Added option for Pulsetrain remapping
This commit is contained in:
parent
d80c218744
commit
8b75dad5c0
@ -19,7 +19,7 @@
|
||||
#define VERSION_MAJOR 1
|
||||
#define VERSION_MINOR 2
|
||||
#define VERSION_REVISION 1
|
||||
#define VERSION_PATCH_LEVEL 74
|
||||
#define VERSION_PATCH_LEVEL 75
|
||||
|
||||
//******************
|
||||
// Protocols
|
||||
@ -294,6 +294,9 @@ enum TRAXXAS
|
||||
#define AUTOBIND 1
|
||||
#define NO_AUTOBIND 0
|
||||
|
||||
#define CO_DEFAULT 0
|
||||
#define CO_JR_HELI 1
|
||||
|
||||
struct PPM_Parameters
|
||||
{
|
||||
uint8_t protocol : 6;
|
||||
@ -302,6 +305,7 @@ struct PPM_Parameters
|
||||
uint8_t power : 1;
|
||||
uint8_t autobind : 1;
|
||||
uint8_t option;
|
||||
uint8_t channel_order : 2;
|
||||
};
|
||||
|
||||
// Telemetry
|
||||
|
@ -129,11 +129,10 @@ uint8_t num_ch;
|
||||
#define BOOT_READY 3
|
||||
#endif
|
||||
|
||||
//Channel mapping for protocols
|
||||
const uint8_t CH_AETR[]={AILERON, ELEVATOR, THROTTLE, RUDDER, CH5, CH6, CH7, CH8, CH9, CH10, CH11, CH12, CH13, CH14, CH15, CH16};
|
||||
const uint8_t CH_TAER[]={THROTTLE, AILERON, ELEVATOR, RUDDER, CH5, CH6, CH7, CH8, CH9, CH10, CH11, CH12, CH13, CH14, CH15, CH16};
|
||||
const uint8_t CH_RETA[]={RUDDER, ELEVATOR, THROTTLE, AILERON, CH5, CH6, CH7, CH8, CH9, CH10, CH11, CH12, CH13, CH14, CH15, CH16};
|
||||
const uint8_t CH_EATR[]={ELEVATOR, AILERON, THROTTLE, RUDDER, CH5, CH6, CH7, CH8, CH9, CH10, CH11, CH12, CH13, CH14, CH15, CH16};
|
||||
uint8_t CH_AETR[]={AILERON, ELEVATOR, THROTTLE, RUDDER, CH5, CH6, CH7, CH8, CH9, CH10, CH11, CH12, CH13, CH14, CH15, CH16};
|
||||
uint8_t CH_TAER[]={THROTTLE, AILERON, ELEVATOR, RUDDER, CH5, CH6, CH7, CH8, CH9, CH10, CH11, CH12, CH13, CH14, CH15, CH16};
|
||||
uint8_t CH_RETA[]={RUDDER, ELEVATOR, THROTTLE, AILERON, CH5, CH6, CH7, CH8, CH9, CH10, CH11, CH12, CH13, CH14, CH15, CH16};
|
||||
uint8_t CH_EATR[]={ELEVATOR, AILERON, THROTTLE, RUDDER, CH5, CH6, CH7, CH8, CH9, CH10, CH11, CH12, CH13, CH14, CH15, CH16};
|
||||
|
||||
// Mode_select variables
|
||||
uint8_t mode_select;
|
||||
@ -157,7 +156,9 @@ uint8_t option;
|
||||
uint8_t cur_protocol[3];
|
||||
uint8_t prev_option;
|
||||
uint8_t prev_power=0xFD; // unused power value
|
||||
uint8_t RX_num;
|
||||
uint8_t RX_num;
|
||||
|
||||
uint8_t channel_order;
|
||||
|
||||
//Serial RX variables
|
||||
#define BAUD 100000
|
||||
@ -165,7 +166,7 @@ uint8_t RX_num;
|
||||
volatile uint8_t rx_buff[RXBUFFER_SIZE];
|
||||
volatile uint8_t rx_ok_buff[RXBUFFER_SIZE];
|
||||
volatile uint8_t discard_frame = 0;
|
||||
|
||||
|
||||
// Telemetry
|
||||
#define MAX_PKT 29
|
||||
uint8_t pkt[MAX_PKT];//telemetry receiving packets
|
||||
@ -220,7 +221,7 @@ void_function_t remote_callback = 0;
|
||||
|
||||
// Init
|
||||
void setup()
|
||||
{
|
||||
{
|
||||
// Setup diagnostic uart before anything else
|
||||
#ifdef DEBUG_SERIAL
|
||||
Serial.begin(115200,SERIAL_8N1);
|
||||
@ -395,6 +396,7 @@ void setup()
|
||||
|
||||
// Set default channels' value
|
||||
InitChannel();
|
||||
|
||||
#ifdef ENABLE_PPM
|
||||
InitPPM();
|
||||
#endif
|
||||
@ -430,11 +432,42 @@ void setup()
|
||||
const PPM_Parameters *PPM_prot_line=&My_PPM_prot[bank*14+mode_select-1];
|
||||
#endif
|
||||
|
||||
protocol = PPM_prot_line->protocol;
|
||||
protocol = PPM_prot_line->protocol;
|
||||
cur_protocol[1] = protocol;
|
||||
sub_protocol = PPM_prot_line->sub_proto;
|
||||
RX_num = PPM_prot_line->rx_num;
|
||||
sub_protocol = PPM_prot_line->sub_proto;
|
||||
RX_num = PPM_prot_line->rx_num;
|
||||
channel_order = PPM_prot_line->channel_order;
|
||||
|
||||
/* PPM and the channel re-mapping for protocols, can be extended with more, hence already the switch */
|
||||
switch(channel_order) {
|
||||
case CO_JR_HELI :
|
||||
{
|
||||
/*
|
||||
JR Graupner **order** of PPM pulses in pulsetrain if model in transmitter is set as heli type
|
||||
CollectivePitch is at the first pulse and throttle the sixth
|
||||
But since the indexes start at 0 the pulse order is defined at the "Zero" pulse and so on for the rest
|
||||
CollectivePitch 0
|
||||
Aileron 1
|
||||
Elevator 2
|
||||
Rudder 3
|
||||
x 4
|
||||
Throttle 5
|
||||
GyroGain (optional) 6
|
||||
...
|
||||
*/
|
||||
|
||||
CH_AETR[0]=1;CH_AETR[1]=2;CH_AETR[2]=5;CH_AETR[3]=3;CH_AETR[4]=4;CH_AETR[5]=0;
|
||||
CH_TAER[0]=5;CH_TAER[1]=1;CH_TAER[2]=2;CH_TAER[3]=3;CH_TAER[4]=4;CH_TAER[5]=0;
|
||||
CH_RETA[0]=3;CH_RETA[1]=2;CH_RETA[2]=5;CH_RETA[3]=1;CH_RETA[4]=4;CH_RETA[5]=0;
|
||||
CH_EATR[0]=2;CH_EATR[1]=1;CH_EATR[2]=5;CH_EATR[3]=3;CH_EATR[4]=4;CH_EATR[5]=0;
|
||||
break;
|
||||
}
|
||||
default :
|
||||
break;
|
||||
}
|
||||
//#endif
|
||||
|
||||
//#ifdef ENABLE_PPM
|
||||
//Forced frequency tuning values for CC2500 protocols
|
||||
#if defined(FORCE_FRSKYD_TUNING) && defined(FRSKYD_CC2500_INO)
|
||||
if(protocol==PROTO_FRSKYD)
|
||||
|
@ -366,93 +366,93 @@
|
||||
const PPM_Parameters PPM_prot[14*NBR_BANKS]= {
|
||||
#if NBR_BANKS > 0
|
||||
//****************************** BANK 1 ******************************
|
||||
// Switch Protocol Sub protocol RX_Num Power Auto Bind Option
|
||||
/* 1 */ {PROTO_FLYSKY, Flysky , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 2 */ {PROTO_AFHDS2A, PWM_IBUS , 0 , P_HIGH , NO_AUTOBIND , 0 }, // RX number 0
|
||||
/* 3 */ {PROTO_AFHDS2A, PWM_IBUS , 1 , P_HIGH , NO_AUTOBIND , 0 }, // RX number 1
|
||||
/* 4 */ {PROTO_AFHDS2A, PWM_IBUS , 2 , P_HIGH , NO_AUTOBIND , 0 }, // RX number 2
|
||||
/* 5 */ {PROTO_AFHDS2A, PWM_IBUS , 3 , P_HIGH , NO_AUTOBIND , 0 }, // RX number 3
|
||||
/* 6 */ {PROTO_AFHDS2A, PWM_IBUS , 2 , P_HIGH , NO_AUTOBIND , 0 }, // RX number 4
|
||||
/* 7 */ {PROTO_AFHDS2A, PWM_IBUS , 3 , P_HIGH , NO_AUTOBIND , 0 }, // RX number 5
|
||||
/* 8 */ {PROTO_SFHSS, H107 , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 9 */ {PROTO_FRSKYV, NONE , 0 , P_HIGH , NO_AUTOBIND , 40 }, // option=fine freq tuning
|
||||
/* 10 */ {PROTO_FRSKYD, NONE , 0 , P_HIGH , NO_AUTOBIND , 40 }, // option=fine freq tuning
|
||||
/* 11 */ {PROTO_FRSKYX, CH_16 , 0 , P_HIGH , NO_AUTOBIND , 40 }, // option=fine freq tuning
|
||||
/* 12 */ {PROTO_FRSKYX, EU_16 , 0 , P_HIGH , NO_AUTOBIND , 40 }, // option=fine freq tuning
|
||||
/* 13 */ {PROTO_DEVO , NONE , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 14 */ {PROTO_WK2x01, WK2801 , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
// Switch Protocol Sub protocol RX_Num Power Auto Bind Option CH Order PPM out
|
||||
/* 1 */ {PROTO_FLYSKY, Flysky , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 2 */ {PROTO_AFHDS2A, PWM_IBUS , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT }, // RX number 0
|
||||
/* 3 */ {PROTO_AFHDS2A, PWM_IBUS , 1 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT }, // RX number 1
|
||||
/* 4 */ {PROTO_AFHDS2A, PWM_IBUS , 2 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT }, // RX number 2
|
||||
/* 5 */ {PROTO_AFHDS2A, PWM_IBUS , 3 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT }, // RX number 3
|
||||
/* 6 */ {PROTO_AFHDS2A, PWM_IBUS , 2 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT }, // RX number 4
|
||||
/* 7 */ {PROTO_AFHDS2A, PWM_IBUS , 3 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT }, // RX number 5
|
||||
/* 8 */ {PROTO_SFHSS, H107 , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 9 */ {PROTO_FRSKYV, NONE , 0 , P_HIGH , NO_AUTOBIND , 40 , CO_DEFAULT }, // option=fine freq tuning
|
||||
/* 10 */ {PROTO_FRSKYD, NONE , 0 , P_HIGH , NO_AUTOBIND , 40 , CO_DEFAULT }, // option=fine freq tuning
|
||||
/* 11 */ {PROTO_FRSKYX, CH_16 , 0 , P_HIGH , NO_AUTOBIND , 40 , CO_DEFAULT }, // option=fine freq tuning
|
||||
/* 12 */ {PROTO_FRSKYX, EU_16 , 0 , P_HIGH , NO_AUTOBIND , 40 , CO_DEFAULT }, // option=fine freq tuning
|
||||
/* 13 */ {PROTO_DEVO, NONE , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 14 */ {PROTO_WK2x01, WK2801 , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
#endif
|
||||
#if NBR_BANKS > 1
|
||||
//****************************** BANK 2 ******************************
|
||||
// Switch Protocol Sub protocol RX_Num Power Auto Bind Option
|
||||
/* 1 */ {PROTO_DSM , DSM2_11 , 0 , P_HIGH , NO_AUTOBIND , 6 }, // option=number of channels
|
||||
/* 2 */ {PROTO_DSM , DSM2_22 , 0 , P_HIGH , NO_AUTOBIND , 6 }, // option=number of channels
|
||||
/* 3 */ {PROTO_DSM , DSMX_11 , 0 , P_HIGH , NO_AUTOBIND , 6 }, // option=number of channels
|
||||
/* 4 */ {PROTO_DSM , DSMX_22 , 0 , P_HIGH , NO_AUTOBIND , 6 }, // option=number of channels
|
||||
/* 5 */ {PROTO_DSM , DSM2_11 , 0 , P_HIGH , NO_AUTOBIND , 8 }, // option=number of channels
|
||||
/* 6 */ {PROTO_DSM , DSM2_22 , 0 , P_HIGH , NO_AUTOBIND , 8 }, // option=number of channels
|
||||
/* 7 */ {PROTO_DSM , DSMX_11 , 0 , P_HIGH , NO_AUTOBIND , 8 }, // option=number of channels
|
||||
/* 8 */ {PROTO_DSM , DSMX_22 , 0 , P_HIGH , NO_AUTOBIND , 8 }, // option=number of channels
|
||||
/* 9 */ {PROTO_SLT , SLT_V1 , 0 , P_HIGH , NO_AUTOBIND , 6 },
|
||||
/* 10 */ {PROTO_HUBSAN, H107 , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 11 */ {PROTO_HUBSAN, H301 , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 12 */ {PROTO_HUBSAN, H501 , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 13 */ {PROTO_HISKY, Hisky , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 14 */ {PROTO_V2X2 , NONE , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
// Switch Protocol Sub protocol RX_Num Power Auto Bind Option CH Order PPM out
|
||||
/* 1 */ {PROTO_DSM, DSM2_11 , 0 , P_HIGH , NO_AUTOBIND , 6 , CO_DEFAULT }, // option=number of channels
|
||||
/* 2 */ {PROTO_DSM, DSM2_22 , 0 , P_HIGH , NO_AUTOBIND , 6 , CO_DEFAULT }, // option=number of channels
|
||||
/* 3 */ {PROTO_DSM, DSMX_11 , 0 , P_HIGH , NO_AUTOBIND , 6 , CO_DEFAULT }, // option=number of channels
|
||||
/* 4 */ {PROTO_DSM, DSMX_22 , 0 , P_HIGH , NO_AUTOBIND , 6 , CO_DEFAULT }, // option=number of channels
|
||||
/* 5 */ {PROTO_DSM, DSM2_11 , 0 , P_HIGH , NO_AUTOBIND , 8 , CO_DEFAULT }, // option=number of channels
|
||||
/* 6 */ {PROTO_DSM, DSM2_22 , 0 , P_HIGH , NO_AUTOBIND , 8 , CO_DEFAULT }, // option=number of channels
|
||||
/* 7 */ {PROTO_DSM, DSMX_11 , 0 , P_HIGH , NO_AUTOBIND , 8 , CO_DEFAULT }, // option=number of channels
|
||||
/* 8 */ {PROTO_DSM, DSMX_22 , 0 , P_HIGH , NO_AUTOBIND , 8 , CO_DEFAULT }, // option=number of channels
|
||||
/* 9 */ {PROTO_SLT, SLT_V1 , 0 , P_HIGH , NO_AUTOBIND , 6 , CO_DEFAULT },
|
||||
/* 10 */ {PROTO_HUBSAN, H107 , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 11 */ {PROTO_HUBSAN, H301 , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 12 */ {PROTO_HUBSAN, H501 , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 13 */ {PROTO_HISKY, Hisky , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 14 */ {PROTO_V2X2, NONE , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
#endif
|
||||
#if NBR_BANKS > 2
|
||||
//****************************** BANK 3 ******************************
|
||||
// Switch Protocol Sub protocol RX_Num Power Auto Bind Option
|
||||
/* 1 */ {PROTO_ESKY , NONE , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 2 */ {PROTO_ESKY150, NONE , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 3 */ {PROTO_ASSAN, NONE , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 4 */ {PROTO_CORONA, COR_V2 , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 5 */ {PROTO_SYMAX, SYMAX , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 6 */ {PROTO_KN , WLTOYS , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 7 */ {PROTO_BAYANG, BAYANG , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 8 */ {PROTO_BAYANG, H8S3D , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 9 */ {PROTO_BAYANG, X16_AH , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 10 */ {PROTO_BAYANG, IRDRONE , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 11 */ {PROTO_H8_3D, H8_3D , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 12 */ {PROTO_H8_3D, H20H , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 13 */ {PROTO_H8_3D, H20MINI , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 14 */ {PROTO_H8_3D, H30MINI , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
// Switch Protocol Sub protocol RX_Num Power Auto Bind Option CH Order PPM out
|
||||
/* 1 */ {PROTO_ESKY, NONE , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 2 */ {PROTO_ESKY150, NONE , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 3 */ {PROTO_ASSAN, NONE , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 4 */ {PROTO_CORONA, COR_V2 , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 5 */ {PROTO_SYMAX, SYMAX , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 6 */ {PROTO_KN, WLTOYS , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 7 */ {PROTO_BAYANG, BAYANG , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 8 */ {PROTO_BAYANG, H8S3D , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 9 */ {PROTO_BAYANG, X16_AH , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 10 */ {PROTO_BAYANG, IRDRONE , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 11 */ {PROTO_H8_3D, H8_3D , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 12 */ {PROTO_H8_3D, H20H , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 13 */ {PROTO_H8_3D, H20MINI , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 14 */ {PROTO_H8_3D, H30MINI , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
#endif
|
||||
#if NBR_BANKS > 3
|
||||
//****************************** BANK 4 ******************************
|
||||
// Switch Protocol Sub protocol RX_Num Power Auto Bind Option
|
||||
/* 1 */ {PROTO_MJXQ , WLH08 , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 2 */ {PROTO_MJXQ , X600 , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 3 */ {PROTO_MJXQ , X800 , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 4 */ {PROTO_MJXQ , H26D , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 5 */ {PROTO_MJXQ , E010 , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 6 */ {PROTO_MJXQ , H26WH , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 7 */ {PROTO_HONTAI, HONTAI , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 8 */ {PROTO_HONTAI, JJRCX1 , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 9 */ {PROTO_HONTAI, X5C1 , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 10 */ {PROTO_HONTAI, FQ777_951 , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 11 */ {PROTO_Q303 , Q303 , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 12 */ {PROTO_Q303 , CX35 , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 13 */ {PROTO_Q303 , CX10D , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 14 */ {PROTO_Q303 , CX10WD , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
// Switch Protocol Sub protocol RX_Num Power Auto Bind Option CH Order PPM out
|
||||
/* 1 */ {PROTO_MJXQ, WLH08 , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 2 */ {PROTO_MJXQ, X600 , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 3 */ {PROTO_MJXQ, X800 , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 4 */ {PROTO_MJXQ, H26D , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 5 */ {PROTO_MJXQ, E010 , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 6 */ {PROTO_MJXQ, H26WH , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 7 */ {PROTO_HONTAI, HONTAI , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 8 */ {PROTO_HONTAI, JJRCX1 , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 9 */ {PROTO_HONTAI, X5C1 , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 10 */ {PROTO_HONTAI, FQ777_951 , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 11 */ {PROTO_Q303, Q303 , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 12 */ {PROTO_Q303, CX35 , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 13 */ {PROTO_Q303, CX10D , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 14 */ {PROTO_Q303, CX10WD , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
#endif
|
||||
#if NBR_BANKS > 4
|
||||
//****************************** BANK 5 ******************************
|
||||
// Switch Protocol Sub protocol RX_Num Power Auto Bind Option
|
||||
/* 1 */ {PROTO_CX10 , CX10_GREEN , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 2 */ {PROTO_CX10 , CX10_BLUE , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 3 */ {PROTO_CX10 , DM007 , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 4 */ {PROTO_CX10 , JC3015_1 , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 5 */ {PROTO_CX10 , JC3015_2 , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 6 */ {PROTO_CX10 , MK33041 , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 7 */ {PROTO_Q2X2 , Q222 , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 8 */ {PROTO_Q2X2 , Q242 , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 9 */ {PROTO_Q2X2 , Q282 , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 10 */ {PROTO_CG023, CG023 , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 11 */ {PROTO_CG023, YD829 , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 12 */ {PROTO_FQ777, NONE , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 13 */ {PROTO_YD717, YD717 , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 14 */ {PROTO_MT99XX, MT99 , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
// Switch Protocol Sub protocol RX_Num Power Auto Bind Option CH Order PPM out
|
||||
/* 1 */ {PROTO_CX10, CX10_GREEN , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 2 */ {PROTO_CX10, CX10_BLUE , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 3 */ {PROTO_CX10, DM007 , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 4 */ {PROTO_CX10, JC3015_1 , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 5 */ {PROTO_CX10, JC3015_2 , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 6 */ {PROTO_CX10, MK33041 , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 7 */ {PROTO_Q2X2, Q222 , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 8 */ {PROTO_Q2X2, Q242 , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 9 */ {PROTO_Q2X2, Q282 , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 10 */ {PROTO_CG023, CG023 , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 11 */ {PROTO_CG023, YD829 , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 12 */ {PROTO_FQ777, NONE , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 13 */ {PROTO_YD717, YD717 , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 14 */ {PROTO_MT99XX, MT99 , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
#endif
|
||||
};
|
||||
// RX_Num is used for TX & RX match. Using different RX_Num values for each receiver will prevent starting a model with the false config loaded...
|
||||
@ -469,6 +469,8 @@ const PPM_Parameters PPM_prot[14*NBR_BANKS]= {
|
||||
// Option: the value is between -128 and +127.
|
||||
// The option value is only valid for some protocols, read this page for more information: https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/blob/master/Protocols_Details.md
|
||||
|
||||
// CH Order PPM out CO_DEFAULT or CO_JR_HELI where the latter one has Collective CHannel swapped with Throttle on Heli model modes for TX's that have non variable output pulsetrain
|
||||
|
||||
/* Available protocols and associated sub protocols to pick and choose from (Listed in alphabetical order)
|
||||
PROTO_AFHDS2A
|
||||
PWM_IBUS
|
||||
|
@ -60,20 +60,20 @@
|
||||
#define MY_PPM_PROT // Use the bellow protocol list
|
||||
const PPM_Parameters My_PPM_prot[14*NBR_BANKS]={
|
||||
//****************************** BANK 1 ******************************
|
||||
// Switch Protocol Sub protocol RX_Num Power Auto Bind Option
|
||||
/* 1 */ {PROTO_KN , WLTOYS , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 2 */ {PROTO_FLYSKY, Flysky , 0 , P_HIGH , AUTOBIND , 0 },
|
||||
/* 3 */ {PROTO_AFHDS2A, PWM_IBUS , 1 , P_HIGH , NO_AUTOBIND , 0 }, // RX number 1
|
||||
/* 4 */ {PROTO_AFHDS2A, PWM_IBUS , 2 , P_HIGH , NO_AUTOBIND , 0 }, // RX number 2
|
||||
/* 5 */ {PROTO_AFHDS2A, PWM_IBUS , 3 , P_HIGH , NO_AUTOBIND , 0 }, // RX number 3
|
||||
/* 6 */ {PROTO_AFHDS2A, PWM_IBUS , 2 , P_HIGH , NO_AUTOBIND , 0 }, // RX number 4
|
||||
/* 7 */ {PROTO_AFHDS2A, PWM_IBUS , 3 , P_HIGH , NO_AUTOBIND , 0 }, // RX number 5
|
||||
/* 8 */ {PROTO_SFHSS, H107 , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 9 */ {PROTO_FRSKYV, NONE , 0 , P_HIGH , NO_AUTOBIND , 40 }, // option=fine freq tuning
|
||||
/* 10 */ {PROTO_FRSKYD, NONE , 0 , P_HIGH , NO_AUTOBIND , 40 }, // option=fine freq tuning
|
||||
/* 11 */ {PROTO_FRSKYX, CH_16 , 0 , P_HIGH , NO_AUTOBIND , 40 }, // option=fine freq tuning
|
||||
/* 12 */ {PROTO_FRSKYX, EU_16 , 0 , P_HIGH , NO_AUTOBIND , 40 }, // option=fine freq tuning
|
||||
/* 13 */ {PROTO_DEVO , NONE , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
/* 14 */ {PROTO_WK2x01, WK2801 , 0 , P_HIGH , NO_AUTOBIND , 0 },
|
||||
// Switch Protocol Sub protocol RX_Num Power Auto Bind Option CH Order PPM out
|
||||
/* 1 */ {PROTO_KN, WLTOYS , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 2 */ {PROTO_FLYSKY, Flysky , 0 , P_HIGH , AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 3 */ {PROTO_AFHDS2A, PWM_IBUS , 1 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT }, // RX number 1
|
||||
/* 4 */ {PROTO_AFHDS2A, PWM_IBUS , 2 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT }, // RX number 2
|
||||
/* 5 */ {PROTO_AFHDS2A, PWM_IBUS , 3 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT }, // RX number 3
|
||||
/* 6 */ {PROTO_AFHDS2A, PWM_IBUS , 2 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT }, // RX number 4
|
||||
/* 7 */ {PROTO_AFHDS2A, PWM_IBUS , 3 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT }, // RX number 5
|
||||
/* 8 */ {PROTO_SFHSS, H107 , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 9 */ {PROTO_FRSKYV, NONE , 0 , P_HIGH , NO_AUTOBIND , 40 , CO_DEFAULT }, // option=fine freq tuning
|
||||
/* 10 */ {PROTO_FRSKYD, NONE , 0 , P_HIGH , NO_AUTOBIND , 40 , CO_DEFAULT }, // option=fine freq tuning
|
||||
/* 11 */ {PROTO_FRSKYX, CH_16 , 0 , P_HIGH , NO_AUTOBIND , 40 , CO_DEFAULT }, // option=fine freq tuning
|
||||
/* 12 */ {PROTO_FRSKYX, EU_16 , 0 , P_HIGH , NO_AUTOBIND , 40 , CO_DEFAULT }, // option=fine freq tuning
|
||||
/* 13 */ {PROTO_DEVO, NONE , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_DEFAULT },
|
||||
/* 14 */ {PROTO_WK2x01, WK2801 , 0 , P_HIGH , NO_AUTOBIND , 0 , CO_JR_HELI },
|
||||
};
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user