mirror of
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module.git
synced 2025-07-01 01:57:52 +00:00
Prep for FrSky X v2
This commit is contained in:
parent
58665ea7a7
commit
cc115323e1
@ -140,3 +140,25 @@ uint16_t convert_channel_frsky(uint8_t num)
|
|||||||
uint16_t val=Channel_data[num];
|
uint16_t val=Channel_data[num];
|
||||||
return ((val*15)>>4)+1290;
|
return ((val*15)>>4)+1290;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 0-2047, 0 = 817, 1024 = 1500, 2047 = 2182
|
||||||
|
//64=860,1024=1500,1984=2140//Taranis 125%
|
||||||
|
static uint16_t __attribute__((unused)) FrSkyX_scaleForPXX( uint8_t i )
|
||||||
|
{ //mapped 860,2140(125%) range to 64,1984(PXX values);
|
||||||
|
uint16_t chan_val=convert_channel_frsky(i)-1226;
|
||||||
|
if(i>7) chan_val|=2048; // upper channels offset
|
||||||
|
return chan_val;
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef FAILSAFE_ENABLE
|
||||||
|
static uint16_t __attribute__((unused)) FrSkyX_scaleForPXX_FS( uint8_t i )
|
||||||
|
{ //mapped 1,2046(125%) range to 64,1984(PXX values);
|
||||||
|
uint16_t chan_val=((Failsafe_data[i]*15)>>4)+64;
|
||||||
|
if(Failsafe_data[i]==FAILSAFE_CHANNEL_NOPULSES)
|
||||||
|
chan_val=FAILSAFE_CHANNEL_NOPULSES;
|
||||||
|
else if(Failsafe_data[i]==FAILSAFE_CHANNEL_HOLD)
|
||||||
|
chan_val=FAILSAFE_CHANNEL_HOLD;
|
||||||
|
if(i>7) chan_val|=2048; // upper channels offset
|
||||||
|
return chan_val;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
@ -142,7 +142,7 @@ void Frsky_init_hop(void)
|
|||||||
/*15_DEVIATN*/ 0x42 };
|
/*15_DEVIATN*/ 0x42 };
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(FRSKYX_CC2500_INO)
|
#if defined(FRSKYX_CC2500_INO) || defined(FRSKYX2_CC2500_INO)
|
||||||
const PROGMEM uint8_t FRSKYX_cc2500_conf[]= {
|
const PROGMEM uint8_t FRSKYX_cc2500_conf[]= {
|
||||||
//FRSKYX
|
//FRSKYX
|
||||||
/*02_IOCFG0*/ 0x06 ,
|
/*02_IOCFG0*/ 0x06 ,
|
||||||
@ -222,8 +222,59 @@ void Frsky_init_hop(void)
|
|||||||
uint8_t val=pgm_read_byte_near(&FRSKY_common_end_cc2500_conf[i][1]);
|
uint8_t val=pgm_read_byte_near(&FRSKY_common_end_cc2500_conf[i][1]);
|
||||||
CC2500_WriteReg(reg,val);
|
CC2500_WriteReg(reg,val);
|
||||||
}
|
}
|
||||||
|
if(protocol==PROTO_FRSKYX2)
|
||||||
|
CC2500_WriteReg(CC2500_08_PKTCTRL0, 0x05); // enable CRC
|
||||||
CC2500_SetTxRxMode(TX_EN);
|
CC2500_SetTxRxMode(TX_EN);
|
||||||
CC2500_SetPower();
|
CC2500_SetPower();
|
||||||
CC2500_Strobe(CC2500_SIDLE); // Go to idle...
|
CC2500_Strobe(CC2500_SIDLE); // Go to idle...
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(FRSKYX_CC2500_INO) || defined(FRSKYX2_CC2500_INO)
|
||||||
|
uint8_t FrSkyX_chanskip;
|
||||||
|
uint8_t FrSkyX_TX_Seq, FrSkyX_TX_IN_Seq;
|
||||||
|
uint8_t FrSkyX_RX_Seq ;
|
||||||
|
|
||||||
|
#ifdef SPORT_SEND
|
||||||
|
struct t_FrSkyX_TX_Frame
|
||||||
|
{
|
||||||
|
uint8_t count;
|
||||||
|
uint8_t payload[8];
|
||||||
|
} ;
|
||||||
|
// Store FrskyX telemetry
|
||||||
|
struct t_FrSkyX_TX_Frame FrSkyX_TX_Frames[4] ;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FRSKYX_FAILSAFE_TIMEOUT 1032
|
||||||
|
|
||||||
|
static void __attribute__((unused)) FrSkyX_set_start(uint8_t ch )
|
||||||
|
{
|
||||||
|
CC2500_Strobe(CC2500_SIDLE);
|
||||||
|
CC2500_WriteReg(CC2500_25_FSCAL1, calData[ch]);
|
||||||
|
CC2500_WriteReg(CC2500_0A_CHANNR, hopping_frequency[ch]);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void __attribute__((unused)) FrSkyX_init()
|
||||||
|
{
|
||||||
|
FRSKY_init_cc2500((sub_protocol&2)?FRSKYXEU_cc2500_conf:FRSKYX_cc2500_conf); // LBT or FCC
|
||||||
|
//
|
||||||
|
for(uint8_t c=0;c < 48;c++)
|
||||||
|
{//calibrate hop channels
|
||||||
|
CC2500_Strobe(CC2500_SIDLE);
|
||||||
|
CC2500_WriteReg(CC2500_0A_CHANNR,hopping_frequency[c]);
|
||||||
|
CC2500_Strobe(CC2500_SCAL);
|
||||||
|
delayMicroseconds(900);//
|
||||||
|
calData[c] = CC2500_ReadReg(CC2500_25_FSCAL1);
|
||||||
|
}
|
||||||
|
//#######END INIT########
|
||||||
|
}
|
||||||
|
|
||||||
|
static void __attribute__((unused)) FrSkyX_initialize_data(uint8_t adr)
|
||||||
|
{
|
||||||
|
CC2500_WriteReg(CC2500_18_MCSM0, 0x8);
|
||||||
|
CC2500_WriteReg(CC2500_09_ADDR, adr ? 0x03 : rx_tx_addr[3]);
|
||||||
|
CC2500_WriteReg(CC2500_07_PKTCTRL1,0x05); // check address
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
@ -19,52 +19,6 @@
|
|||||||
|
|
||||||
#include "iface_cc2500.h"
|
#include "iface_cc2500.h"
|
||||||
|
|
||||||
uint8_t FrSkyX_chanskip;
|
|
||||||
uint8_t FrSkyX_TX_Seq, FrSkyX_TX_IN_Seq;
|
|
||||||
uint8_t FrSkyX_RX_Seq ;
|
|
||||||
|
|
||||||
#ifdef SPORT_SEND
|
|
||||||
struct t_FrSkyX_TX_Frame
|
|
||||||
{
|
|
||||||
uint8_t count;
|
|
||||||
uint8_t payload[8];
|
|
||||||
} ;
|
|
||||||
// Store FrskyX telemetry
|
|
||||||
struct t_FrSkyX_TX_Frame FrSkyX_TX_Frames[4] ;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define FrSkyX_FAILSAFE_TIMEOUT 1032
|
|
||||||
|
|
||||||
static void __attribute__((unused)) FrSkyX_set_start(uint8_t ch )
|
|
||||||
{
|
|
||||||
CC2500_Strobe(CC2500_SIDLE);
|
|
||||||
CC2500_WriteReg(CC2500_25_FSCAL1, calData[ch]);
|
|
||||||
CC2500_WriteReg(CC2500_0A_CHANNR, hopping_frequency[ch]);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void __attribute__((unused)) FrSkyX_init()
|
|
||||||
{
|
|
||||||
FRSKY_init_cc2500((sub_protocol&2)?FRSKYXEU_cc2500_conf:FRSKYX_cc2500_conf); // LBT or FCC
|
|
||||||
//
|
|
||||||
for(uint8_t c=0;c < 48;c++)
|
|
||||||
{//calibrate hop channels
|
|
||||||
CC2500_Strobe(CC2500_SIDLE);
|
|
||||||
CC2500_WriteReg(CC2500_0A_CHANNR,hopping_frequency[c]);
|
|
||||||
CC2500_Strobe(CC2500_SCAL);
|
|
||||||
delayMicroseconds(900);//
|
|
||||||
calData[c] = CC2500_ReadReg(CC2500_25_FSCAL1);
|
|
||||||
}
|
|
||||||
//#######END INIT########
|
|
||||||
}
|
|
||||||
|
|
||||||
static void __attribute__((unused)) FrSkyX_initialize_data(uint8_t adr)
|
|
||||||
{
|
|
||||||
CC2500_WriteReg(CC2500_0C_FSCTRL0,option); // Frequency offset hack
|
|
||||||
CC2500_WriteReg(CC2500_18_MCSM0, 0x8);
|
|
||||||
CC2500_WriteReg(CC2500_09_ADDR, adr ? 0x03 : rx_tx_addr[3]);
|
|
||||||
CC2500_WriteReg(CC2500_07_PKTCTRL1,0x05);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void __attribute__((unused)) FrSkyX_build_bind_packet()
|
static void __attribute__((unused)) FrSkyX_build_bind_packet()
|
||||||
{
|
{
|
||||||
packet[0] = (sub_protocol & 2 ) ? 0x20 : 0x1D ; // LBT or FCC
|
packet[0] = (sub_protocol & 2 ) ? 0x20 : 0x1D ; // LBT or FCC
|
||||||
@ -97,27 +51,6 @@ static void __attribute__((unused)) FrSkyX_build_bind_packet()
|
|||||||
//
|
//
|
||||||
}
|
}
|
||||||
|
|
||||||
// 0-2047, 0 = 817, 1024 = 1500, 2047 = 2182
|
|
||||||
//64=860,1024=1500,1984=2140//Taranis 125%
|
|
||||||
static uint16_t __attribute__((unused)) FrSkyX_scaleForPXX( uint8_t i )
|
|
||||||
{ //mapped 860,2140(125%) range to 64,1984(PXX values);
|
|
||||||
uint16_t chan_val=convert_channel_frsky(i)-1226;
|
|
||||||
if(i>7) chan_val|=2048; // upper channels offset
|
|
||||||
return chan_val;
|
|
||||||
}
|
|
||||||
#ifdef FAILSAFE_ENABLE
|
|
||||||
static uint16_t __attribute__((unused)) FrSkyX_scaleForPXX_FS( uint8_t i )
|
|
||||||
{ //mapped 1,2046(125%) range to 64,1984(PXX values);
|
|
||||||
uint16_t chan_val=((Failsafe_data[i]*15)>>4)+64;
|
|
||||||
if(Failsafe_data[i]==FAILSAFE_CHANNEL_NOPULSES)
|
|
||||||
chan_val=FAILSAFE_CHANNEL_NOPULSES;
|
|
||||||
else if(Failsafe_data[i]==FAILSAFE_CHANNEL_HOLD)
|
|
||||||
chan_val=FAILSAFE_CHANNEL_HOLD;
|
|
||||||
if(i>7) chan_val|=2048; // upper channels offset
|
|
||||||
return chan_val;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define FrSkyX_FAILSAFE_TIME 1032
|
#define FrSkyX_FAILSAFE_TIME 1032
|
||||||
static void __attribute__((unused)) FrSkyX_build_packet()
|
static void __attribute__((unused)) FrSkyX_build_packet()
|
||||||
{
|
{
|
||||||
|
@ -61,3 +61,4 @@
|
|||||||
61,Tiger
|
61,Tiger
|
||||||
62,XK,X450,X420
|
62,XK,X450,X420
|
||||||
63,XN_DUMP,250K,1M,2M,AUTO
|
63,XN_DUMP,250K,1M,2M,AUTO
|
||||||
|
64,FrskyX2,CH_16,CH_8,EU_16,EU_8
|
||||||
|
@ -30,6 +30,7 @@ const char STR_CX10[] ="CX10";
|
|||||||
const char STR_CG023[] ="CG023";
|
const char STR_CG023[] ="CG023";
|
||||||
const char STR_BAYANG[] ="Bayang";
|
const char STR_BAYANG[] ="Bayang";
|
||||||
const char STR_FRSKYX[] ="FrSky X";
|
const char STR_FRSKYX[] ="FrSky X";
|
||||||
|
const char STR_FRSKYX2[] ="FrSkyX2";
|
||||||
const char STR_ESKY[] ="ESky";
|
const char STR_ESKY[] ="ESky";
|
||||||
const char STR_MT99XX[] ="MT99XX";
|
const char STR_MT99XX[] ="MT99XX";
|
||||||
const char STR_MJXQ[] ="MJXq";
|
const char STR_MJXQ[] ="MJXq";
|
||||||
@ -180,6 +181,9 @@ const mm_protocol_definition multi_protocols[] = {
|
|||||||
#if defined(FRSKYX_CC2500_INO)
|
#if defined(FRSKYX_CC2500_INO)
|
||||||
{PROTO_FRSKYX, STR_FRSKYX, 4, STR_SUBTYPE_FRSKYX, OPTION_RFTUNE },
|
{PROTO_FRSKYX, STR_FRSKYX, 4, STR_SUBTYPE_FRSKYX, OPTION_RFTUNE },
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(FRSKYX2_CC2500_INO)
|
||||||
|
{PROTO_FRSKYX2, STR_FRSKYX2, 4, STR_SUBTYPE_FRSKYX, OPTION_RFTUNE },
|
||||||
|
#endif
|
||||||
#if defined(ESKY_NRF24L01_INO)
|
#if defined(ESKY_NRF24L01_INO)
|
||||||
{PROTO_ESKY, STR_ESKY, 0, NO_SUBTYPE, OPTION_NONE },
|
{PROTO_ESKY, STR_ESKY, 0, NO_SUBTYPE, OPTION_NONE },
|
||||||
#endif
|
#endif
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
#define VERSION_MAJOR 1
|
#define VERSION_MAJOR 1
|
||||||
#define VERSION_MINOR 3
|
#define VERSION_MINOR 3
|
||||||
#define VERSION_REVISION 0
|
#define VERSION_REVISION 0
|
||||||
#define VERSION_PATCH_LEVEL 63
|
#define VERSION_PATCH_LEVEL 64
|
||||||
|
|
||||||
//******************
|
//******************
|
||||||
// Protocols
|
// Protocols
|
||||||
@ -90,6 +90,7 @@ enum PROTOCOLS
|
|||||||
PROTO_TIGER = 61, // =>NRF24L01
|
PROTO_TIGER = 61, // =>NRF24L01
|
||||||
PROTO_XK = 62, // =>NRF24L01
|
PROTO_XK = 62, // =>NRF24L01
|
||||||
PROTO_XN297DUMP = 63, // =>NRF24L01
|
PROTO_XN297DUMP = 63, // =>NRF24L01
|
||||||
|
PROTO_FRSKYX2 = 64, // =>CC2500
|
||||||
};
|
};
|
||||||
|
|
||||||
enum Flysky
|
enum Flysky
|
||||||
@ -212,6 +213,13 @@ enum FRSKYX
|
|||||||
EU_16 = 2,
|
EU_16 = 2,
|
||||||
EU_8 = 3,
|
EU_8 = 3,
|
||||||
};
|
};
|
||||||
|
enum FRSKYX2
|
||||||
|
{
|
||||||
|
FRSKYX2_CH_16 = 0,
|
||||||
|
FRSKYX2_CH_8 = 1,
|
||||||
|
FRSKYX2_EU_16 = 2,
|
||||||
|
FRSKYX2_EU_8 = 3,
|
||||||
|
};
|
||||||
enum HONTAI
|
enum HONTAI
|
||||||
{
|
{
|
||||||
HONTAI = 0,
|
HONTAI = 0,
|
||||||
|
@ -514,6 +514,11 @@ void setup()
|
|||||||
option = FORCE_FRSKYX_TUNING; // Use config-defined tuning value for FrSkyX
|
option = FORCE_FRSKYX_TUNING; // Use config-defined tuning value for FrSkyX
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(FORCE_FRSKYX2_TUNING) && defined(FRSKYX2_CC2500_INO)
|
||||||
|
if(protocol==PROTO_FRSKYX2)
|
||||||
|
option = FORCE_FRSKYX2_TUNING; // Use config-defined tuning value for FrSkyX2
|
||||||
|
else
|
||||||
|
#endif
|
||||||
#if defined(FORCE_SFHSS_TUNING) && defined(SFHSS_CC2500_INO)
|
#if defined(FORCE_SFHSS_TUNING) && defined(SFHSS_CC2500_INO)
|
||||||
if (protocol==PROTO_SFHSS)
|
if (protocol==PROTO_SFHSS)
|
||||||
option = FORCE_SFHSS_TUNING; // Use config-defined tuning value for SFHSS
|
option = FORCE_SFHSS_TUNING; // Use config-defined tuning value for SFHSS
|
||||||
@ -737,7 +742,7 @@ bool Update_All()
|
|||||||
update_led_status();
|
update_led_status();
|
||||||
#if defined(TELEMETRY)
|
#if defined(TELEMETRY)
|
||||||
#if ( !( defined(MULTI_TELEMETRY) || defined(MULTI_STATUS) ) )
|
#if ( !( defined(MULTI_TELEMETRY) || defined(MULTI_STATUS) ) )
|
||||||
if((protocol == PROTO_BAYANG_RX) || (protocol == PROTO_AFHDS2A_RX) || (protocol == PROTO_FRSKY_RX) || (protocol == PROTO_SCANNER) || (protocol==PROTO_FRSKYD) || (protocol==PROTO_BAYANG) || (protocol==PROTO_NCC1701) || (protocol==PROTO_BUGS) || (protocol==PROTO_BUGSMINI) || (protocol==PROTO_HUBSAN) || (protocol==PROTO_AFHDS2A) || (protocol==PROTO_FRSKYX) || (protocol==PROTO_DSM) || (protocol==PROTO_CABELL) || (protocol==PROTO_HITEC) || (protocol==PROTO_HOTT))
|
if((protocol == PROTO_BAYANG_RX) || (protocol == PROTO_AFHDS2A_RX) || (protocol == PROTO_FRSKY_RX) || (protocol == PROTO_SCANNER) || (protocol==PROTO_FRSKYD) || (protocol==PROTO_BAYANG) || (protocol==PROTO_NCC1701) || (protocol==PROTO_BUGS) || (protocol==PROTO_BUGSMINI) || (protocol==PROTO_HUBSAN) || (protocol==PROTO_AFHDS2A) || (protocol==PROTO_FRSKYX) || (protocol==PROTO_DSM) || (protocol==PROTO_CABELL) || (protocol==PROTO_HITEC) || (protocol==PROTO_HOTT)) || (protocol==PROTO_FRSKYX2)
|
||||||
#endif
|
#endif
|
||||||
if(IS_DISABLE_TELEM_off)
|
if(IS_DISABLE_TELEM_off)
|
||||||
TelemetryUpdate();
|
TelemetryUpdate();
|
||||||
@ -1128,6 +1133,14 @@ static void protocol_init()
|
|||||||
remote_callback = ReadFrSkyX;
|
remote_callback = ReadFrSkyX;
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(FRSKYX2_CC2500_INO)
|
||||||
|
case PROTO_FRSKYX2:
|
||||||
|
PE1_off; //antenna RF2
|
||||||
|
PE2_on;
|
||||||
|
next_callback = initFrSkyX2();
|
||||||
|
remote_callback = ReadFrSkyX2;
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
#if defined(SFHSS_CC2500_INO)
|
#if defined(SFHSS_CC2500_INO)
|
||||||
case PROTO_SFHSS:
|
case PROTO_SFHSS:
|
||||||
PE1_off; //antenna RF2
|
PE1_off; //antenna RF2
|
||||||
@ -1603,6 +1616,11 @@ void update_serial_data()
|
|||||||
option=FORCE_FRSKYX_TUNING; // Use config-defined tuning value for FrSkyX
|
option=FORCE_FRSKYX_TUNING; // Use config-defined tuning value for FrSkyX
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(FORCE_FRSKYX2_TUNING) && defined(FRSKYX2_CC2500_INO)
|
||||||
|
if(protocol==PROTO_FRSKYX2)
|
||||||
|
option=FORCE_FRSKYX2_TUNING; // Use config-defined tuning value for FrSkyX2
|
||||||
|
else
|
||||||
|
#endif
|
||||||
#if defined(FORCE_SFHSS_TUNING) && defined(SFHSS_CC2500_INO)
|
#if defined(FORCE_SFHSS_TUNING) && defined(SFHSS_CC2500_INO)
|
||||||
if (protocol==PROTO_SFHSS)
|
if (protocol==PROTO_SFHSS)
|
||||||
option=FORCE_SFHSS_TUNING; // Use config-defined tuning value for SFHSS
|
option=FORCE_SFHSS_TUNING; // Use config-defined tuning value for SFHSS
|
||||||
@ -1765,14 +1783,14 @@ void update_serial_data()
|
|||||||
#endif
|
#endif
|
||||||
if(rx_len>27)
|
if(rx_len>27)
|
||||||
{ // Data available for the current protocol
|
{ // Data available for the current protocol
|
||||||
#ifdef FRSKYX_CC2500_INO
|
#if defined FRSKYX_CC2500_INO || defined FRSKYX2_CC2500_INO
|
||||||
if(protocol==PROTO_FRSKYX && rx_len==28)
|
if((protocol==PROTO_FRSKYX || protocol==PROTO_FRSKYX2) && rx_len==28)
|
||||||
{//Protocol waiting for 1 byte during bind
|
{//Protocol waiting for 1 byte during bind
|
||||||
binding_idx=rx_ok_buff[27];
|
binding_idx=rx_ok_buff[27];
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#ifdef SPORT_SEND
|
#ifdef SPORT_SEND
|
||||||
if(protocol==PROTO_FRSKYX && rx_len==35)
|
if((protocol==PROTO_FRSKYX || protocol==PROTO_FRSKYX2) && rx_len==35)
|
||||||
{//Protocol waiting for 8 bytes
|
{//Protocol waiting for 8 bytes
|
||||||
#define BYTE_STUFF 0x7D
|
#define BYTE_STUFF 0x7D
|
||||||
#define STUFF_MASK 0x20
|
#define STUFF_MASK 0x20
|
||||||
@ -2057,12 +2075,12 @@ void PPM_Telemetry_serial_init()
|
|||||||
{
|
{
|
||||||
if( (protocol==PROTO_FRSKYD) || (protocol==PROTO_HUBSAN) || (protocol==PROTO_AFHDS2A) || (protocol==PROTO_BAYANG)|| (protocol==PROTO_NCC1701) || (protocol==PROTO_CABELL) || (protocol==PROTO_HITEC) || (protocol==PROTO_BUGS) || (protocol==PROTO_BUGSMINI)
|
if( (protocol==PROTO_FRSKYD) || (protocol==PROTO_HUBSAN) || (protocol==PROTO_AFHDS2A) || (protocol==PROTO_BAYANG)|| (protocol==PROTO_NCC1701) || (protocol==PROTO_CABELL) || (protocol==PROTO_HITEC) || (protocol==PROTO_BUGS) || (protocol==PROTO_BUGSMINI)
|
||||||
#ifdef TELEMETRY_FRSKYX_TO_FRSKYD
|
#ifdef TELEMETRY_FRSKYX_TO_FRSKYD
|
||||||
|| (protocol==PROTO_FRSKYX)
|
|| (protocol==PROTO_FRSKYX) || (protocol==PROTO_FRSKYX2)
|
||||||
#endif
|
#endif
|
||||||
)
|
)
|
||||||
initTXSerial( SPEED_9600 ) ;
|
initTXSerial( SPEED_9600 ) ;
|
||||||
#ifndef TELEMETRY_FRSKYX_TO_FRSKYD
|
#ifndef TELEMETRY_FRSKYX_TO_FRSKYD
|
||||||
if(protocol==PROTO_FRSKYX)
|
if(protocol==PROTO_FRSKYX || protocol==PROTO_FRSKYX2)
|
||||||
initTXSerial( SPEED_57600 ) ;
|
initTXSerial( SPEED_57600 ) ;
|
||||||
#endif
|
#endif
|
||||||
if(protocol==PROTO_DSM)
|
if(protocol==PROTO_DSM)
|
||||||
|
@ -89,6 +89,11 @@
|
|||||||
#error "The FrSkyX forced frequency tuning value is outside of the range -127..127."
|
#error "The FrSkyX forced frequency tuning value is outside of the range -127..127."
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef FORCE_FRSKYX2_TUNING
|
||||||
|
#if ( FORCE_FRSKYX2_TUNING < -127 ) || ( FORCE_FRSKYX2_TUNING > 127 )
|
||||||
|
#error "The FrSkyX2 forced frequency tuning value is outside of the range -127..127."
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
#ifdef FORCE_HITEC_TUNING
|
#ifdef FORCE_HITEC_TUNING
|
||||||
#if ( FORCE_HITEC_TUNING < -127 ) || ( FORCE_HITEC_TUNING > 127 )
|
#if ( FORCE_HITEC_TUNING < -127 ) || ( FORCE_HITEC_TUNING > 127 )
|
||||||
#error "The HITEC forced frequency tuning value is outside of the range -127..127."
|
#error "The HITEC forced frequency tuning value is outside of the range -127..127."
|
||||||
@ -203,6 +208,7 @@
|
|||||||
#undef FRSKYD_CC2500_INO
|
#undef FRSKYD_CC2500_INO
|
||||||
#undef FRSKYV_CC2500_INO
|
#undef FRSKYV_CC2500_INO
|
||||||
#undef FRSKYX_CC2500_INO
|
#undef FRSKYX_CC2500_INO
|
||||||
|
#undef FRSKYX2_CC2500_INO
|
||||||
#undef SFHSS_CC2500_INO
|
#undef SFHSS_CC2500_INO
|
||||||
#undef CORONA_CC2500_INO
|
#undef CORONA_CC2500_INO
|
||||||
#undef REDPINE_CC2500_INO
|
#undef REDPINE_CC2500_INO
|
||||||
@ -324,7 +330,7 @@
|
|||||||
#if not defined(FRSKYD_CC2500_INO)
|
#if not defined(FRSKYD_CC2500_INO)
|
||||||
#undef HUB_TELEMETRY
|
#undef HUB_TELEMETRY
|
||||||
#endif
|
#endif
|
||||||
#if not defined(FRSKYX_CC2500_INO)
|
#if not defined(FRSKYX_CC2500_INO) and not defined(FRSKYX2_CC2500_INO)
|
||||||
#undef SPORT_TELEMETRY
|
#undef SPORT_TELEMETRY
|
||||||
#undef SPORT_SEND
|
#undef SPORT_SEND
|
||||||
#endif
|
#endif
|
||||||
|
@ -176,6 +176,7 @@
|
|||||||
#define FRSKYD_CC2500_INO
|
#define FRSKYD_CC2500_INO
|
||||||
#define FRSKYV_CC2500_INO
|
#define FRSKYV_CC2500_INO
|
||||||
#define FRSKYX_CC2500_INO
|
#define FRSKYX_CC2500_INO
|
||||||
|
#define FRSKYX2_CC2500_INO
|
||||||
#define FRSKY_RX_CC2500_INO
|
#define FRSKY_RX_CC2500_INO
|
||||||
#define HITEC_CC2500_INO
|
#define HITEC_CC2500_INO
|
||||||
#define HOTT_CC2500_INO
|
#define HOTT_CC2500_INO
|
||||||
@ -567,6 +568,11 @@ const PPM_Parameters PPM_prot[14*NBR_BANKS]= {
|
|||||||
CH_8
|
CH_8
|
||||||
EU_16
|
EU_16
|
||||||
EU_8
|
EU_8
|
||||||
|
PROTO_FRSKYX2
|
||||||
|
FRSKYX2_CH_16
|
||||||
|
FRSKYX2_CH_8
|
||||||
|
FRSKYX2_EU_16
|
||||||
|
FRSKYX2_EU_8
|
||||||
PROTO_FRSKY_RX
|
PROTO_FRSKY_RX
|
||||||
NONE
|
NONE
|
||||||
PROTO_FX816
|
PROTO_FX816
|
||||||
|
Loading…
x
Reference in New Issue
Block a user