-
-
Save nathantsoi/a65b7baff0e044af05f6854e799c5fc5 to your computer and use it in GitHub Desktop.
DIY-Multiprotocol-TX-Module _Config.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
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 <http://www.gnu.org/licenses/>. | |
*/ | |
/**********************************************/ | |
/** Multiprotocol module configuration file ***/ | |
/**********************************************/ | |
/*******************/ | |
/*** TX SETTINGS ***/ | |
/*******************/ | |
//Modify the channel order based on your TX: AETR, TAER, RETA... | |
//For example a JR/Spektrum radio is TAER. Default is AETR. | |
#define AETR | |
/****************************/ | |
/*** PROTOCOLS TO INCLUDE ***/ | |
/****************************/ | |
//In this section select the protocols you want to be accessible when using the module. | |
//All the protocols will not fit in the module so you need to pick and choose. | |
//There are 4 RF components supported. If one of them is not installed you must comment it using "//". | |
//This is also a quick way to reduce the number of protocols and save Flash space. | |
#define A7105_INSTALLED | |
#define CYRF6936_INSTALLED | |
#define CC2500_INSTALLED | |
#define NFR24L01_INSTALLED | |
//Bellow is the list of all available protocols. Comment the protocols you are not using with "//" to save Flash space. | |
#ifdef A7105_INSTALLED | |
#define FLYSKY_A7105_INO | |
//#define HUBSAN_A7105_INO | |
#endif | |
#ifdef CYRF6936_INSTALLED | |
//#define DEVO_CYRF6936_INO | |
#define DSM2_CYRF6936_INO | |
#define J6PRO_CYRF6936_INO | |
#endif | |
#ifdef CC2500_INSTALLED | |
#define FRSKY_CC2500_INO | |
#define FRSKYX_CC2500_INO | |
#define SFHSS_CC2500_INO | |
#endif | |
#ifdef NFR24L01_INSTALLED | |
#define BAYANG_NRF24L01_INO | |
#define CG023_NRF24L01_INO | |
#define CX10_NRF24L01_INO | |
//#define ESKY_NRF24L01_INO | |
//#define HISKY_NRF24L01_INO | |
//#define KN_NRF24L01_INO | |
//#define SLT_NRF24L01_INO | |
//#define SYMAX_NRF24L01_INO | |
//#define V2X2_NRF24L01_INO | |
//#define YD717_NRF24L01_INO | |
//#define MT99XX_NRF24L01_INO | |
//#define MJXQ_NRF24L01_INO | |
//#define SHENQI_NRF24L01_INO | |
//#define FY326_NRF24L01_INO | |
//#define FQ777_NRF24L01_INO | |
//#define ASSAN_NRF24L01_INO | |
#endif | |
/**************************/ | |
/*** TELEMETRY SETTINGS ***/ | |
/**************************/ | |
//In this section you can configure the telemetry. | |
//If you do not plan using the telemetry comment this global setting using "//" and skip to the next section. | |
#define TELEMETRY | |
//Uncomment to invert the polarity of the telemetry serial signal. | |
//For ER9X and ERSKY9X it must be commented. For OpenTX it must be uncommented. | |
//#define INVERT_TELEMETRY 1 | |
//Comment a line to disable a protocol telemetry | |
#if defined(TELEMETRY) | |
#if defined DSM2_CYRF6936_INO | |
#define DSM_TELEMETRY | |
#endif | |
#if defined FRSKYX_CC2500_INO | |
#define SPORT_TELEMETRY | |
#endif | |
#if defined FRSKY_CC2500_INO | |
#define HUB_TELEMETRY | |
#endif | |
#endif | |
/****************************/ | |
/*** SERIAL MODE SETTINGS ***/ | |
/****************************/ | |
//In this section you can configure the serial mode. | |
//The serial mode enables full editing of all the parameters in the GUI of the radio. | |
//This is available natively for ER9X and ERSKY9X. It is available for OpenTX on Taranis with a special version. | |
//If you do not plan to use the Serial mode comment this line using "//" to save Flash space | |
#define ENABLE_SERIAL | |
/*************************/ | |
/*** PPM MODE SETTINGS ***/ | |
/*************************/ | |
//In this section you can configure all details about PPM. | |
//If you do not plan to use the PPM mode comment this line using "//" to save Flash space, you don't need to configure anything below in this case | |
#define ENABLE_PPM | |
/*** TX END POINTS ***/ | |
//It is important for the module to know the endpoints of your radio. | |
//Below are some standard transmitters already preconfigured. | |
//Uncomment only the one which matches your transmitter. | |
#define TX_ER9X //ER9X/ERSKY9X/OpenTX ( 988<->2012µs) | |
//#define TX_DEVO7 //DEVO (1120<->1920µs) | |
//#define TX_SPEKTRUM //Spektrum (1100<->1900µs) | |
//#define TX_HISKY //HISKY (1100<->1900µs) | |
//#define TX_CUSTOM //Custom | |
// The lines below are used to set the end points in microseconds (µs) if you have selected TX_CUSTOM. | |
// A few things to considered: | |
// - If you put too big values compared to your TX you won't be able to reach the extremes which is bad for throttle as an example | |
// - If you put too low values you won't be able to use your full stick range, it will be maxed out before reaching the end | |
// - Centered stick value is usually 1500. It should match the middle between MIN and MAX, ie Center=(MAX-MIN)/2+MIN. If your TX is not centered you can adjust the value MIN or MAX. | |
// - 100% is the value when the model is by default, 125% is the value when you extend the servo travel which is only used by some protocols | |
#if defined(TX_CUSTOM) | |
#define PPM_MAX_100 1900 // 100% | |
#define PPM_MIN_100 1100 // 100% | |
#define PPM_MAX_125 2000 // 125% | |
#define PPM_MIN_125 1000 // 125% | |
#endif | |
//The table below indicates which protocol to run when a specific position on the dial has been selected. | |
//All fields and values are explained below. Everything is configurable from here like in the Serial mode. | |
//Example: You can associate multiple times the same protocol to different dial positions to take advantage of the model match (RX_Num) | |
const PPM_Parameters PPM_prot[15]= { | |
// Dial Protocol Sub protocol RX_Num Power Auto Bind Option | |
/* 1 */ {MODE_FLYSKY, Flysky , 0 , P_HIGH , NO_AUTOBIND , 0 }, | |
/* 2 */ {MODE_HUBSAN, 0 , 0 , P_HIGH , NO_AUTOBIND , 0 }, | |
/* 3 */ {MODE_FRSKY , 0 , 0 , P_HIGH , NO_AUTOBIND , 0 }, // option=fine freq tuning | |
/* 4 */ {MODE_HISKY , Hisky , 0 , P_HIGH , NO_AUTOBIND , 0 }, | |
/* 5 */ {MODE_V2X2 , 0 , 0 , P_HIGH , NO_AUTOBIND , 0 }, | |
/* 6 */ {MODE_DSM2 , DSM2 , 0 , P_HIGH , NO_AUTOBIND , 2 }, // option=2=6 channels @ 22ms | |
/* 7 */ {MODE_DSM2 , DSMX , 0 , P_HIGH , NO_AUTOBIND , 2 }, // option=2=6 channels @ 22ms | |
/* 8 */ {MODE_YD717 , YD717 , 0 , P_HIGH , NO_AUTOBIND , 0 }, | |
/* 9 */ {MODE_KN , WLTOYS , 0 , P_HIGH , NO_AUTOBIND , 0 }, | |
/* 10 */ {MODE_SYMAX , SYMAX , 0 , P_HIGH , NO_AUTOBIND , 0 }, | |
/* 11 */ {MODE_SLT , 0 , 0 , P_HIGH , NO_AUTOBIND , 0 }, | |
/* 12 */ {MODE_CX10 , CX10_GREEN, 0 , P_HIGH , NO_AUTOBIND , 0 }, | |
/* 13 */ {MODE_CG023 , CG023 , 0 , P_HIGH , NO_AUTOBIND , 0 }, | |
/* 14 */ {MODE_BAYANG, 0 , 0 , P_HIGH , NO_AUTOBIND , 0 }, | |
/* 15 */ {MODE_SYMAX , SYMAX5C , 0 , P_HIGH , NO_AUTOBIND , 0 } | |
}; | |
/* Available protocols and associated sub protocols to pick and choose from | |
MODE_FLYSKY | |
Flysky | |
V9X9 | |
V6X6 | |
V912 | |
MODE_HUBSAN | |
NONE | |
MODE_FRSKY | |
NONE | |
MODE_HISKY | |
Hisky | |
HK310 | |
MODE_V2X2 | |
NONE | |
MODE_DSM2 | |
DSM2 | |
DSMX | |
MODE_DEVO | |
NONE | |
MODE_YD717 | |
YD717 | |
SKYWLKR | |
SYMAX4 | |
XINXUN | |
NIHUI | |
MODE_KN | |
WLTOYS | |
FEILUN | |
MODE_SYMAX | |
SYMAX | |
SYMAX5C | |
MODE_SLT | |
NONE | |
MODE_CX10 | |
CX10_GREEN | |
CX10_BLUE | |
DM007 | |
Q282 | |
JC3015_1 | |
JC3015_2 | |
MK33041 | |
Q242 | |
MODE_CG023 | |
CG023 | |
YD829 | |
H8_3D | |
MODE_BAYANG | |
NONE | |
MODE_FRSKYX | |
CH_16 | |
CH_8 | |
MODE_ESKY | |
NONE | |
MODE_MT99XX | |
MT99 | |
H7 | |
YZ | |
LS | |
MODE_MJXQ | |
WLH08 | |
X600 | |
X800 | |
H26D | |
MODE_SHENQI | |
NONE | |
MODE_FY326 | |
NONE | |
MODE_SFHSS | |
NONE | |
MODE_J6PRO | |
NONE | |
MODE_FQ777 | |
NONE | |
MODE_ASSAN | |
NONE | |
*/ | |
// RX_Num is used for model match. Using RX_Num values different for each receiver will prevent starting a model with the false config loaded... | |
// RX_Num value is between 0 and 15. | |
// Power P_HIGH or P_LOW: High or low power setting for the transmission. | |
// For indoor P_LOW is more than enough. | |
// Auto Bind AUTOBIND or NO_AUTOBIND | |
// For protocols which does not require binding at each power up (like Flysky, FrSky...), you might still want a bind to be initiated each time you power up the TX. | |
// As an exxample, it's usefull for the WLTOYS F929/F939/F949/F959 (all using the Flysky protocol) which requires a bind at each power up. | |
// Option: the value is between -127 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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment