mirror of
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module.git
synced 2025-02-04 18:38:13 +00:00
New protocol: Skyartec
This commit is contained in:
parent
fc5fbc9899
commit
4ae30dc3b0
@ -65,3 +65,4 @@
|
|||||||
65,FrSkyR9,915MHz,868MHz,915_8ch,868_8ch
|
65,FrSkyR9,915MHz,868MHz,915_8ch,868_8ch
|
||||||
66,PROPEL,74-Z
|
66,PROPEL,74-Z
|
||||||
67,LR12,LR12,LR12_6ch
|
67,LR12,LR12,LR12_6ch
|
||||||
|
68,Skyartec
|
||||||
|
@ -81,6 +81,7 @@ const char STR_XK[] ="XK";
|
|||||||
const char STR_XN297DUMP[] ="XN297DP";
|
const char STR_XN297DUMP[] ="XN297DP";
|
||||||
const char STR_FRSKYR9[] ="FrSkyR9";
|
const char STR_FRSKYR9[] ="FrSkyR9";
|
||||||
const char STR_PROPEL[] ="PROPEL";
|
const char STR_PROPEL[] ="PROPEL";
|
||||||
|
const char STR_SKYARTEC[] ="Skyartc";
|
||||||
|
|
||||||
const char STR_SUBTYPE_FLYSKY[] = "\x04""Std\0""V9x9""V6x6""V912""CX20";
|
const char STR_SUBTYPE_FLYSKY[] = "\x04""Std\0""V9x9""V6x6""V912""CX20";
|
||||||
const char STR_SUBTYPE_HUBSAN[] = "\x04""H107""H301""H501";
|
const char STR_SUBTYPE_HUBSAN[] = "\x04""H107""H301""H501";
|
||||||
@ -227,7 +228,7 @@ const mm_protocol_definition multi_protocols[] = {
|
|||||||
{PROTO_FRSKYL, STR_FRSKYL, 2, STR_SUBTYPE_FRSKYL, OPTION_RFTUNE },
|
{PROTO_FRSKYL, STR_FRSKYL, 2, STR_SUBTYPE_FRSKYL, OPTION_RFTUNE },
|
||||||
#endif
|
#endif
|
||||||
#if defined(FRSKYR9_SX1276_INO)
|
#if defined(FRSKYR9_SX1276_INO)
|
||||||
{PROTO_FRSKY_R9, STR_FRSKYR9, 4, STR_SUBTYPE_FRSKYR9, OPTION_NONE },
|
{PROTO_FRSKY_R9, STR_FRSKYR9, 4, STR_SUBTYPE_FRSKYR9, OPTION_NONE },
|
||||||
#endif
|
#endif
|
||||||
#if defined(FX816_NRF24L01_INO)
|
#if defined(FX816_NRF24L01_INO)
|
||||||
{PROTO_FX816, STR_FX816, 1, STR_SUBTYPE_FX816, OPTION_NONE },
|
{PROTO_FX816, STR_FX816, 1, STR_SUBTYPE_FX816, OPTION_NONE },
|
||||||
@ -284,7 +285,7 @@ const mm_protocol_definition multi_protocols[] = {
|
|||||||
{PROTO_POTENSIC, STR_POTENSIC, 1, STR_SUBTYPE_POTENSIC, OPTION_NONE },
|
{PROTO_POTENSIC, STR_POTENSIC, 1, STR_SUBTYPE_POTENSIC, OPTION_NONE },
|
||||||
#endif
|
#endif
|
||||||
#if defined(PROPEL_NRF24L01_INO)
|
#if defined(PROPEL_NRF24L01_INO)
|
||||||
{PROTO_PROPEL, STR_PROPEL, 4, STR_SUBTYPE_PROPEL, OPTION_NONE },
|
{PROTO_PROPEL, STR_PROPEL, 4, STR_SUBTYPE_PROPEL, OPTION_NONE },
|
||||||
#endif
|
#endif
|
||||||
#if defined(CX10_NRF24L01_INO)
|
#if defined(CX10_NRF24L01_INO)
|
||||||
{PROTO_Q2X2, STR_Q2X2, 3, STR_SUBTYPE_Q2X2, OPTION_NONE },
|
{PROTO_Q2X2, STR_Q2X2, 3, STR_SUBTYPE_Q2X2, OPTION_NONE },
|
||||||
@ -304,8 +305,11 @@ const mm_protocol_definition multi_protocols[] = {
|
|||||||
#if defined(SHENQI_NRF24L01_INO)
|
#if defined(SHENQI_NRF24L01_INO)
|
||||||
{PROTO_SHENQI, STR_SHENQI, 0, NO_SUBTYPE, OPTION_NONE },
|
{PROTO_SHENQI, STR_SHENQI, 0, NO_SUBTYPE, OPTION_NONE },
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(SKYARTEC_CC2500_INO)
|
||||||
|
{PROTO_SKYARTEC, STR_SKYARTEC, 0, NO_SUBTYPE, OPTION_NONE },
|
||||||
|
#endif
|
||||||
#if defined(SLT_NRF24L01_INO)
|
#if defined(SLT_NRF24L01_INO)
|
||||||
{PROTO_SLT, STR_SLT, 5, STR_SUBTYPE_SLT, OPTION_RFTUNE },
|
{PROTO_SLT, STR_SLT, 5, STR_SUBTYPE_SLT, OPTION_RFTUNE },
|
||||||
#endif
|
#endif
|
||||||
#if defined(SYMAX_NRF24L01_INO)
|
#if defined(SYMAX_NRF24L01_INO)
|
||||||
{PROTO_SYMAX, STR_SYMAX, 2, STR_SUBTYPE_SYMAX, OPTION_NONE },
|
{PROTO_SYMAX, STR_SYMAX, 2, STR_SUBTYPE_SYMAX, OPTION_NONE },
|
||||||
|
@ -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 88
|
#define VERSION_PATCH_LEVEL 89
|
||||||
|
|
||||||
//******************
|
//******************
|
||||||
// Protocols
|
// Protocols
|
||||||
@ -94,6 +94,7 @@ enum PROTOCOLS
|
|||||||
PROTO_FRSKY_R9 = 65, // =>SX1276
|
PROTO_FRSKY_R9 = 65, // =>SX1276
|
||||||
PROTO_PROPEL = 66, // =>NRF24L01
|
PROTO_PROPEL = 66, // =>NRF24L01
|
||||||
PROTO_FRSKYL = 67, // =>CC2500
|
PROTO_FRSKYL = 67, // =>CC2500
|
||||||
|
PROTO_SKYARTEC = 68, // =>CC2500
|
||||||
};
|
};
|
||||||
|
|
||||||
enum Flysky
|
enum Flysky
|
||||||
@ -396,7 +397,7 @@ enum MultiPacketTypes
|
|||||||
//*** Tests ***
|
//*** Tests ***
|
||||||
//***************
|
//***************
|
||||||
#define IS_FAILSAFE_PROTOCOL ( (protocol==PROTO_HISKY && sub_protocol==HK310) || protocol==PROTO_AFHDS2A || protocol==PROTO_DEVO || protocol==PROTO_SFHSS || protocol==PROTO_WK2x01 || protocol== PROTO_HOTT || protocol==PROTO_FRSKYX || protocol==PROTO_FRSKYX2 )
|
#define IS_FAILSAFE_PROTOCOL ( (protocol==PROTO_HISKY && sub_protocol==HK310) || protocol==PROTO_AFHDS2A || protocol==PROTO_DEVO || protocol==PROTO_SFHSS || protocol==PROTO_WK2x01 || protocol== PROTO_HOTT || protocol==PROTO_FRSKYX || protocol==PROTO_FRSKYX2 )
|
||||||
#define IS_CHMAP_PROTOCOL ( (protocol==PROTO_HISKY && sub_protocol==HK310) || protocol==PROTO_AFHDS2A || protocol==PROTO_DEVO || protocol==PROTO_SFHSS || protocol==PROTO_WK2x01 || protocol== PROTO_DSM || protocol==PROTO_SLT || protocol==PROTO_FLYSKY || protocol==PROTO_ESKY || protocol==PROTO_J6PRO || protocol==PROTO_PELIKAN )
|
#define IS_CHMAP_PROTOCOL ( (protocol==PROTO_HISKY && sub_protocol==HK310) || protocol==PROTO_AFHDS2A || protocol==PROTO_DEVO || protocol==PROTO_SFHSS || protocol==PROTO_WK2x01 || protocol== PROTO_DSM || protocol==PROTO_SLT || protocol==PROTO_FLYSKY || protocol==PROTO_ESKY || protocol==PROTO_J6PRO || protocol==PROTO_PELIKAN || protocol==PROTO_SKYARTEC )
|
||||||
|
|
||||||
//***************
|
//***************
|
||||||
//*** Flags ***
|
//*** Flags ***
|
||||||
@ -751,6 +752,8 @@ Serial: 100000 Baud 8e2 _ xxxx xxxx p --
|
|||||||
FRSKYX2 64
|
FRSKYX2 64
|
||||||
FRSKY_R9 65
|
FRSKY_R9 65
|
||||||
PROPEL 66
|
PROPEL 66
|
||||||
|
FRSKYL 67
|
||||||
|
SKYARTEC 68
|
||||||
BindBit=> 0x80 1=Bind/0=No
|
BindBit=> 0x80 1=Bind/0=No
|
||||||
AutoBindBit=> 0x40 1=Yes /0=No
|
AutoBindBit=> 0x40 1=Yes /0=No
|
||||||
RangeCheck=> 0x20 1=Yes /0=No
|
RangeCheck=> 0x20 1=Yes /0=No
|
||||||
|
@ -529,6 +529,11 @@ void setup()
|
|||||||
option = FORCE_CORONA_TUNING; // Use config-defined tuning value for CORONA
|
option = FORCE_CORONA_TUNING; // Use config-defined tuning value for CORONA
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(FORCE_SKYARTEC_TUNING) && defined(SKYARTEC_CC2500_INO)
|
||||||
|
if (protocol==PROTO_SKYARTEC)
|
||||||
|
option = FORCE_SKYARTEC_TUNING; // Use config-defined tuning value for SKYARTEC
|
||||||
|
else
|
||||||
|
#endif
|
||||||
#if defined(FORCE_REDPINE_TUNING) && defined(REDPINE_CC2500_INO)
|
#if defined(FORCE_REDPINE_TUNING) && defined(REDPINE_CC2500_INO)
|
||||||
if (protocol==PROTO_REDPINE)
|
if (protocol==PROTO_REDPINE)
|
||||||
option = FORCE_REDPINE_TUNING; // Use config-defined tuning value for REDPINE
|
option = FORCE_REDPINE_TUNING; // Use config-defined tuning value for REDPINE
|
||||||
@ -1158,6 +1163,14 @@ static void protocol_init()
|
|||||||
remote_callback = ReadCORONA;
|
remote_callback = ReadCORONA;
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(SKYARTEC_CC2500_INO)
|
||||||
|
case PROTO_SKYARTEC:
|
||||||
|
PE1_off; //antenna RF2
|
||||||
|
PE2_on;
|
||||||
|
next_callback = initSKYARTEC();
|
||||||
|
remote_callback = ReadSKYARTEC;
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
#if defined(REDPINE_CC2500_INO)
|
#if defined(REDPINE_CC2500_INO)
|
||||||
case PROTO_REDPINE:
|
case PROTO_REDPINE:
|
||||||
PE1_off; //antenna RF2
|
PE1_off; //antenna RF2
|
||||||
@ -1646,6 +1659,11 @@ void update_serial_data()
|
|||||||
option=FORCE_CORONA_TUNING; // Use config-defined tuning value for CORONA
|
option=FORCE_CORONA_TUNING; // Use config-defined tuning value for CORONA
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(FORCE_SKYARTEC_TUNING) && defined(SKYARTEC_CC2500_INO)
|
||||||
|
if (protocol==PROTO_SKYARTEC)
|
||||||
|
option=FORCE_SKYARTEC_TUNING; // Use config-defined tuning value for SKYARTEC
|
||||||
|
else
|
||||||
|
#endif
|
||||||
#if defined(FORCE_REDPINE_TUNING) && defined(REDPINE_CC2500_INO)
|
#if defined(FORCE_REDPINE_TUNING) && defined(REDPINE_CC2500_INO)
|
||||||
if (protocol==PROTO_REDPINE)
|
if (protocol==PROTO_REDPINE)
|
||||||
option=FORCE_REDPINE_TUNING; // Use config-defined tuning value for REDPINE
|
option=FORCE_REDPINE_TUNING; // Use config-defined tuning value for REDPINE
|
||||||
|
174
Multiprotocol/Skyartec_cc2500.ino
Normal file
174
Multiprotocol/Skyartec_cc2500.ino
Normal file
@ -0,0 +1,174 @@
|
|||||||
|
/*
|
||||||
|
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/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if defined(SKYARTEC_CC2500_INO)
|
||||||
|
|
||||||
|
#include "iface_cc2500.h"
|
||||||
|
|
||||||
|
//#define SKYARTEC_FORCE_ID
|
||||||
|
|
||||||
|
#define SKYARTEC_BIND_CHANNEL 0x7D
|
||||||
|
#define SKYARTEC_COARSE 0x00
|
||||||
|
#define SKYARTEC_TX_ADDR rx_tx_addr[1]
|
||||||
|
#define SKYARTEC_TX_CHANNEL rx_tx_addr[0]
|
||||||
|
|
||||||
|
enum {
|
||||||
|
SKYARTEC_PKT1 = 0,
|
||||||
|
SKYARTEC_SLEEP1,
|
||||||
|
SKYARTEC_PKT2,
|
||||||
|
SKYARTEC_SLEEP2,
|
||||||
|
SKYARTEC_PKT3,
|
||||||
|
SKYARTEC_SLEEP3,
|
||||||
|
SKYARTEC_PKT4,
|
||||||
|
SKYARTEC_SLEEP4,
|
||||||
|
SKYARTEC_PKT5,
|
||||||
|
SKYARTEC_SLEEP5,
|
||||||
|
SKYARTEC_PKT6,
|
||||||
|
SKYARTEC_LAST,
|
||||||
|
};
|
||||||
|
|
||||||
|
const PROGMEM uint8_t SKYARTEC_init_values[] = {
|
||||||
|
/* 04 */ 0x13, 0x18, 0xFF, 0x05,
|
||||||
|
/* 08 */ 0x05, 0x43, SKYARTEC_BIND_CHANNEL, 0x09, 0x00, 0x5D, 0x93, 0xB1 + SKYARTEC_COARSE,
|
||||||
|
/* 10 */ 0x2D, 0x20, 0x73, 0x22, 0xF8, 0x50, 0x07, 0x30,
|
||||||
|
/* 18 */ 0x18, 0x1D, 0x1C, 0xC7, 0x00, 0xB2, 0x87, 0x6B,
|
||||||
|
/* 20 */ 0xF8, 0xB6, 0x10, 0xEA, 0x0A, 0x00, 0x11, 0x41,
|
||||||
|
/* 28 */ 0x00, 0x59, 0x7F, 0x3F, 0x88, 0x31, 0x0B
|
||||||
|
};
|
||||||
|
|
||||||
|
static void __attribute__((unused)) SKYARTEC_rf_init()
|
||||||
|
{
|
||||||
|
CC2500_Strobe(CC2500_SIDLE);
|
||||||
|
|
||||||
|
for (uint8_t i = 4; i <= 0x2E; ++i)
|
||||||
|
CC2500_WriteReg(i, pgm_read_byte_near(&SKYARTEC_init_values[i-4]));
|
||||||
|
|
||||||
|
prev_option = option;
|
||||||
|
CC2500_WriteReg(CC2500_0C_FSCTRL0, option);
|
||||||
|
|
||||||
|
CC2500_SetTxRxMode(TX_EN);
|
||||||
|
CC2500_SetPower();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void __attribute__((unused)) SKYARTEC_send_data_packet()
|
||||||
|
{
|
||||||
|
//13 c5 01 0259 0168 0000 0259 030c 021a 0489 f3 7e 0a
|
||||||
|
//header
|
||||||
|
packet[0] = 0x13; //Length
|
||||||
|
packet[1] = SKYARTEC_TX_ADDR; //Tx Addr?
|
||||||
|
packet[2] = 0x01; //???
|
||||||
|
//channels
|
||||||
|
for(uint8_t i = 0; i < 7; i++)
|
||||||
|
{
|
||||||
|
uint16_t value = convert_channel_16b_limit(CH_AETR[i],0x000,0x500);
|
||||||
|
packet[3+2*i] = value >> 8;
|
||||||
|
packet[4+2*i] = value & 0xff;
|
||||||
|
}
|
||||||
|
//checks
|
||||||
|
uint8_t xor1 = 0;
|
||||||
|
for(uint8_t i = 3; i <= 16; i++)
|
||||||
|
xor1 ^= packet[i];
|
||||||
|
packet[17] = xor1;
|
||||||
|
uint8_t xor2 = 0;
|
||||||
|
for(uint8_t i = 3; i <= 14; i++)
|
||||||
|
xor2 ^= packet[i];
|
||||||
|
packet[18] = xor2;
|
||||||
|
packet[19] = packet[3] + packet[5] + packet[7] + packet[9] + packet[11] + packet[13];
|
||||||
|
|
||||||
|
CC2500_WriteReg(CC2500_04_SYNC1, rx_tx_addr[3]);
|
||||||
|
CC2500_WriteReg(CC2500_05_SYNC0, rx_tx_addr[2]);
|
||||||
|
CC2500_WriteReg(CC2500_09_ADDR, SKYARTEC_TX_ADDR);
|
||||||
|
CC2500_WriteReg(CC2500_0A_CHANNR, SKYARTEC_TX_CHANNEL);
|
||||||
|
CC2500_WriteData(packet, 20);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void __attribute__((unused)) SKYARTEC_send_bind_packet()
|
||||||
|
{
|
||||||
|
//0b 7d 01 01 b2 c5 4a 2f 00 00 c5 d6
|
||||||
|
packet[0] = 0x0b; //Length
|
||||||
|
packet[1] = 0x7d;
|
||||||
|
packet[2] = 0x01;
|
||||||
|
packet[3] = 0x01;
|
||||||
|
memcpy(&packet[4], rx_tx_addr, 4);
|
||||||
|
packet[8] = 0x00;
|
||||||
|
packet[9] = 0x00;
|
||||||
|
packet[10] = SKYARTEC_TX_ADDR;
|
||||||
|
uint8_t xor1 = 0;
|
||||||
|
for(uint8_t i = 3; i < 11; i++)
|
||||||
|
xor1 ^= packet[i];
|
||||||
|
packet[11] = xor1;
|
||||||
|
CC2500_WriteReg(CC2500_04_SYNC1, 0x7d);
|
||||||
|
CC2500_WriteReg(CC2500_05_SYNC0, 0x7d);
|
||||||
|
CC2500_WriteReg(CC2500_09_ADDR, 0x7d);
|
||||||
|
CC2500_WriteReg(CC2500_0A_CHANNR, SKYARTEC_BIND_CHANNEL);
|
||||||
|
CC2500_WriteData(packet, 12);
|
||||||
|
}
|
||||||
|
|
||||||
|
uint16_t ReadSKYARTEC()
|
||||||
|
{
|
||||||
|
if (phase & 0x01)
|
||||||
|
{
|
||||||
|
CC2500_Strobe(CC2500_SIDLE);
|
||||||
|
if (phase == SKYARTEC_LAST)
|
||||||
|
{
|
||||||
|
CC2500_SetPower();
|
||||||
|
// Tune frequency if it has been changed
|
||||||
|
if ( prev_option != option )
|
||||||
|
{
|
||||||
|
CC2500_WriteReg(CC2500_0C_FSCTRL0, option);
|
||||||
|
prev_option = option ;
|
||||||
|
}
|
||||||
|
phase = SKYARTEC_PKT1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
phase++;
|
||||||
|
return 3000;
|
||||||
|
}
|
||||||
|
if (phase == SKYARTEC_PKT1 && bind_counter)
|
||||||
|
{
|
||||||
|
SKYARTEC_send_bind_packet();
|
||||||
|
bind_counter--;
|
||||||
|
if(bind_counter == 0)
|
||||||
|
BIND_DONE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
#ifdef MULTI_SYNC
|
||||||
|
telemetry_set_input_sync(6000);
|
||||||
|
#endif
|
||||||
|
SKYARTEC_send_data_packet();
|
||||||
|
}
|
||||||
|
phase++;
|
||||||
|
return 3000;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint16_t initSKYARTEC()
|
||||||
|
{
|
||||||
|
SKYARTEC_rf_init();
|
||||||
|
|
||||||
|
#ifdef SKYARTEC_FORCEID
|
||||||
|
memset(rx_tx_addr,0x00,4);
|
||||||
|
#endif
|
||||||
|
if(rx_tx_addr[0]==0) rx_tx_addr[0]=0xB2;
|
||||||
|
if(rx_tx_addr[1]==0) rx_tx_addr[1]=0xC5;
|
||||||
|
if(rx_tx_addr[2]==0) rx_tx_addr[2]=0x4A;
|
||||||
|
if(rx_tx_addr[3]==0) rx_tx_addr[3]=0x2F;
|
||||||
|
|
||||||
|
bind_counter = 250;
|
||||||
|
phase = SKYARTEC_PKT1;
|
||||||
|
return 10000;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
@ -99,6 +99,11 @@
|
|||||||
#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."
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef FORCE_HOTT_TUNING
|
||||||
|
#if ( FORCE_HOTT_TUNING < -127 ) || ( FORCE_HOTT_TUNING > 127 )
|
||||||
|
#error "The HOTT forced frequency tuning value is outside of the range -127..127."
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
#ifdef FORCE_REDPINE_TUNING
|
#ifdef FORCE_REDPINE_TUNING
|
||||||
#if ( FORCE_REDPINE_TUNING < -127 ) || ( FORCE_REDPINE_TUNING > 127 )
|
#if ( FORCE_REDPINE_TUNING < -127 ) || ( FORCE_REDPINE_TUNING > 127 )
|
||||||
#error "The REDPINE forced frequency tuning value is outside of the range -127..127."
|
#error "The REDPINE forced frequency tuning value is outside of the range -127..127."
|
||||||
@ -109,9 +114,9 @@
|
|||||||
#error "The SFHSS forced frequency tuning value is outside of the range -127..127."
|
#error "The SFHSS forced frequency tuning value is outside of the range -127..127."
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#ifdef FORCE_HOTT_TUNING
|
#ifdef FORCE_SKYARTEC_TUNING
|
||||||
#if ( FORCE_HOTT_TUNING < -127 ) || ( FORCE_HOTT_TUNING > 127 )
|
#if ( FORCE_SKYARTEC_TUNING < -127 ) || ( FORCE_SKYARTEC_TUNING > 127 )
|
||||||
#error "The HOTT forced frequency tuning value is outside of the range -127..127."
|
#error "The SKYARTEC forced frequency tuning value is outside of the range -127..127."
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
//A7105
|
//A7105
|
||||||
@ -188,12 +193,12 @@
|
|||||||
|
|
||||||
//Make sure protocols are selected correctly
|
//Make sure protocols are selected correctly
|
||||||
#ifndef A7105_INSTALLED
|
#ifndef A7105_INSTALLED
|
||||||
#undef FLYSKY_A7105_INO
|
|
||||||
#undef HUBSAN_A7105_INO
|
|
||||||
#undef AFHDS2A_A7105_INO
|
#undef AFHDS2A_A7105_INO
|
||||||
#undef BUGS_A7105_INO
|
|
||||||
#undef FLYZONE_A7105_INO
|
|
||||||
#undef AFHDS2A_RX_A7105_INO
|
#undef AFHDS2A_RX_A7105_INO
|
||||||
|
#undef BUGS_A7105_INO
|
||||||
|
#undef FLYSKY_A7105_INO
|
||||||
|
#undef FLYZONE_A7105_INO
|
||||||
|
#undef HUBSAN_A7105_INO
|
||||||
#undef PELIKAN_A7105_INO
|
#undef PELIKAN_A7105_INO
|
||||||
#endif
|
#endif
|
||||||
#ifndef CYRF6936_INSTALLED
|
#ifndef CYRF6936_INSTALLED
|
||||||
@ -201,62 +206,63 @@
|
|||||||
#undef DSM_CYRF6936_INO
|
#undef DSM_CYRF6936_INO
|
||||||
#undef HOTT_CC2500_INO
|
#undef HOTT_CC2500_INO
|
||||||
#undef J6PRO_CYRF6936_INO
|
#undef J6PRO_CYRF6936_INO
|
||||||
|
#undef TRAXXAS_CYRF6936_INO
|
||||||
#undef WFLY_CYRF6936_INO
|
#undef WFLY_CYRF6936_INO
|
||||||
#undef WK2x01_CYRF6936_INO
|
#undef WK2x01_CYRF6936_INO
|
||||||
#undef TRAXXAS_CYRF6936_INO
|
|
||||||
#endif
|
#endif
|
||||||
#ifndef CC2500_INSTALLED
|
#ifndef CC2500_INSTALLED
|
||||||
|
#undef CORONA_CC2500_INO
|
||||||
#undef FRSKYD_CC2500_INO
|
#undef FRSKYD_CC2500_INO
|
||||||
#undef FRSKYL_CC2500_INO
|
#undef FRSKYL_CC2500_INO
|
||||||
#undef FRSKYV_CC2500_INO
|
#undef FRSKYV_CC2500_INO
|
||||||
#undef FRSKYX_CC2500_INO
|
#undef FRSKYX_CC2500_INO
|
||||||
#undef SFHSS_CC2500_INO
|
|
||||||
#undef CORONA_CC2500_INO
|
|
||||||
#undef REDPINE_CC2500_INO
|
|
||||||
#undef HITEC_CC2500_INO
|
|
||||||
#undef SCANNER_CC2500_INO
|
|
||||||
#undef FRSKY_RX_CC2500_INO
|
#undef FRSKY_RX_CC2500_INO
|
||||||
|
#undef HITEC_CC2500_INO
|
||||||
#undef HOTT_CC2500_INO
|
#undef HOTT_CC2500_INO
|
||||||
|
#undef REDPINE_CC2500_INO
|
||||||
|
#undef SCANNER_CC2500_INO
|
||||||
|
#undef SFHSS_CC2500_INO
|
||||||
|
#undef SKYARTEC_CC2500_INO
|
||||||
#endif
|
#endif
|
||||||
#ifndef NRF24L01_INSTALLED
|
#ifndef NRF24L01_INSTALLED
|
||||||
|
#undef ASSAN_NRF24L01_INO
|
||||||
#undef BAYANG_NRF24L01_INO
|
#undef BAYANG_NRF24L01_INO
|
||||||
|
#undef BAYANG_RX_NRF24L01_INO
|
||||||
|
#undef BUGSMINI_NRF24L01_INO
|
||||||
|
#undef CABELL_NRF24L01_INO
|
||||||
|
#undef CFLIE_NRF24L01_INO
|
||||||
#undef CG023_NRF24L01_INO
|
#undef CG023_NRF24L01_INO
|
||||||
#undef CX10_NRF24L01_INO
|
#undef CX10_NRF24L01_INO
|
||||||
|
#undef DM002_NRF24L01_INO
|
||||||
|
#undef E01X_NRF24L01_INO
|
||||||
#undef ESKY_NRF24L01_INO
|
#undef ESKY_NRF24L01_INO
|
||||||
#undef HISKY_NRF24L01_INO
|
#undef ESKY150_NRF24L01_INO
|
||||||
#undef KF606_NRF24L01_INO
|
#undef FQ777_NRF24L01_INO
|
||||||
#undef KN_NRF24L01_INO
|
|
||||||
#undef SLT_NRF24L01_INO
|
|
||||||
#undef SYMAX_NRF24L01_INO
|
|
||||||
#undef V2X2_NRF24L01_INO
|
|
||||||
#undef YD717_NRF24L01_INO
|
|
||||||
#undef MT99XX_NRF24L01_INO
|
|
||||||
#undef MJXQ_NRF24L01_INO
|
|
||||||
#undef SHENQI_NRF24L01_INO
|
|
||||||
#undef FX816_NRF24L01_INO
|
#undef FX816_NRF24L01_INO
|
||||||
#undef FY326_NRF24L01_INO
|
#undef FY326_NRF24L01_INO
|
||||||
#undef FQ777_NRF24L01_INO
|
|
||||||
#undef ASSAN_NRF24L01_INO
|
|
||||||
#undef HONTAI_NRF24L01_INO
|
|
||||||
#undef Q303_NRF24L01_INO
|
|
||||||
#undef GW008_NRF24L01_INO
|
|
||||||
#undef GD00X_NRF24L01_INO
|
#undef GD00X_NRF24L01_INO
|
||||||
#undef DM002_NRF24L01_INO
|
#undef GW008_NRF24L01_INO
|
||||||
#undef CABELL_NRF24L01_INO
|
|
||||||
#undef ESKY150_NRF24L01_INO
|
|
||||||
#undef H8_3D_NRF24L01_INO
|
#undef H8_3D_NRF24L01_INO
|
||||||
#undef CFLIE_NRF24L01_INO
|
#undef HISKY_NRF24L01_INO
|
||||||
#undef BUGSMINI_NRF24L01_INO
|
#undef HONTAI_NRF24L01_INO
|
||||||
|
#undef KF606_NRF24L01_INO
|
||||||
|
#undef KN_NRF24L01_INO
|
||||||
|
#undef MJXQ_NRF24L01_INO
|
||||||
|
#undef MT99XX_NRF24L01_INO
|
||||||
#undef NCC1701_NRF24L01_INO
|
#undef NCC1701_NRF24L01_INO
|
||||||
#undef E01X_NRF24L01_INO
|
#undef POTENSIC_NRF24L01_INO
|
||||||
|
#undef PROPEL_NRF24L01_INO
|
||||||
|
#undef Q303_NRF24L01_INO
|
||||||
|
#undef SHENQI_NRF24L01_INO
|
||||||
|
#undef SLT_NRF24L01_INO
|
||||||
|
#undef SYMAX_NRF24L01_INO
|
||||||
|
#undef TIGER_NRF24L01_INO
|
||||||
|
#undef V2X2_NRF24L01_INO
|
||||||
#undef V761_NRF24L01_INO
|
#undef V761_NRF24L01_INO
|
||||||
#undef V911S_NRF24L01_INO
|
#undef V911S_NRF24L01_INO
|
||||||
#undef POTENSIC_NRF24L01_INO
|
|
||||||
#undef ZSX_NRF24L01_INO
|
|
||||||
#undef BAYANG_RX_NRF24L01_INO
|
|
||||||
#undef TIGER_NRF24L01_INO
|
|
||||||
#undef XK_NRF24L01_INO
|
#undef XK_NRF24L01_INO
|
||||||
#undef PROPEL_NRF24L01_INO
|
#undef YD717_NRF24L01_INO
|
||||||
|
#undef ZSX_NRF24L01_INO
|
||||||
#endif
|
#endif
|
||||||
#if not defined(STM32_BOARD)
|
#if not defined(STM32_BOARD)
|
||||||
#undef SX1276_INSTALLED
|
#undef SX1276_INSTALLED
|
||||||
|
@ -96,6 +96,7 @@
|
|||||||
//#define FORCE_FRSKYV_TUNING 0
|
//#define FORCE_FRSKYV_TUNING 0
|
||||||
//#define FORCE_FRSKYX_TUNING 0
|
//#define FORCE_FRSKYX_TUNING 0
|
||||||
//#define FORCE_SFHSS_TUNING 0
|
//#define FORCE_SFHSS_TUNING 0
|
||||||
|
//#define FORCE_SKYARTEC_TUNING 0
|
||||||
//#define FORCE_HITEC_TUNING 0
|
//#define FORCE_HITEC_TUNING 0
|
||||||
//#define FORCE_HOTT_TUNING 0
|
//#define FORCE_HOTT_TUNING 0
|
||||||
//#define FORCE_REDPINE_TUNING 0
|
//#define FORCE_REDPINE_TUNING 0
|
||||||
@ -185,6 +186,7 @@
|
|||||||
#define HOTT_CC2500_INO
|
#define HOTT_CC2500_INO
|
||||||
#define SCANNER_CC2500_INO
|
#define SCANNER_CC2500_INO
|
||||||
#define SFHSS_CC2500_INO
|
#define SFHSS_CC2500_INO
|
||||||
|
#define SKYARTEC_CC2500_INO
|
||||||
#define REDPINE_CC2500_INO
|
#define REDPINE_CC2500_INO
|
||||||
|
|
||||||
//The protocols below need a NRF24L01 to be installed
|
//The protocols below need a NRF24L01 to be installed
|
||||||
@ -671,6 +673,8 @@ const PPM_Parameters PPM_prot[14*NBR_BANKS]= {
|
|||||||
NONE
|
NONE
|
||||||
PROTO_SHENQI
|
PROTO_SHENQI
|
||||||
NONE
|
NONE
|
||||||
|
PROTO_SKYARTEC
|
||||||
|
NONE
|
||||||
PROTO_SLT
|
PROTO_SLT
|
||||||
SLT_V1
|
SLT_V1
|
||||||
SLT_V2
|
SLT_V2
|
||||||
|
@ -118,8 +118,9 @@ CFlie|38|CFlie||||||||NRF24L01|
|
|||||||
[Q303](Protocols_Details.md#Q303---31)|31|Q303|CX35|CX10D|CX10WD|||||NRF24L01|XN297
|
[Q303](Protocols_Details.md#Q303---31)|31|Q303|CX35|CX10D|CX10WD|||||NRF24L01|XN297
|
||||||
[Redpine](Protocols_Details.md#Redpine---50)|50|FAST|SLOW|||||||NRF24L01|
|
[Redpine](Protocols_Details.md#Redpine---50)|50|FAST|SLOW|||||||NRF24L01|
|
||||||
[Scanner](Protocols_Details.md#Scanner---54)|54|||||||||CC2500|
|
[Scanner](Protocols_Details.md#Scanner---54)|54|||||||||CC2500|
|
||||||
[SFHSS](Protocols_Details.md#SFHSS---21)|21|SFHSS||||||||CC2500|
|
[SFHSS](Protocols_Details.md#SFHSS---21)|21|||||||||CC2500|
|
||||||
[Shenqi](Protocols_Details.md#Shenqi---19)|19|Shenqi||||||||NRF24L01|LT8900
|
[Shenqi](Protocols_Details.md#Shenqi---19)|19|||||||||NRF24L01|LT8900
|
||||||
|
[Skyartec](Protocols_Details.md#Skyartec---68)|68|||||||||CC2500|CC2500
|
||||||
[SLT](Protocols_Details.md#SLT---11)|11|SLT_V1|SLT_V2|Q100|Q200|MR100||||NRF24L01|
|
[SLT](Protocols_Details.md#SLT---11)|11|SLT_V1|SLT_V2|Q100|Q200|MR100||||NRF24L01|
|
||||||
[SymaX](Protocols_Details.md#Symax---10)|10|SYMAX|SYMAX5C|||||||NRF24L01|
|
[SymaX](Protocols_Details.md#Symax---10)|10|SYMAX|SYMAX5C|||||||NRF24L01|
|
||||||
[Tiger](Protocols_Details.md#Tiger---61)|61|Tiger||||||||NRF24L01|XN297
|
[Tiger](Protocols_Details.md#Tiger---61)|61|Tiger||||||||NRF24L01|XN297
|
||||||
@ -499,6 +500,9 @@ CH1|CH2|CH3|CH4|CH5|CH6|CH7|CH8|CH9|CH10|CH11|CH12
|
|||||||
|
|
||||||
Basic telemetry is available on OpenTX 2.3.3+ with RX voltage, Rx temperature, RX RSSI, RX LQI, TX RSSI and TX LQI. Lowest the TX_LQI value is best the quality link is, it's a good indicator of how well the module is tuned.
|
Basic telemetry is available on OpenTX 2.3.3+ with RX voltage, Rx temperature, RX RSSI, RX LQI, TX RSSI and TX LQI. Lowest the TX_LQI value is best the quality link is, it's a good indicator of how well the module is tuned.
|
||||||
|
|
||||||
|
## Scanner - *54*
|
||||||
|
2.4GHz scanner accessible using the OpenTX 2.3 Spectrum Analyser tool.
|
||||||
|
|
||||||
## SFHSS - *21*
|
## SFHSS - *21*
|
||||||
Models: Futaba RXs and XK models.
|
Models: Futaba RXs and XK models.
|
||||||
|
|
||||||
@ -511,8 +515,14 @@ CH1|CH2|CH3|CH4|CH5|CH6|CH7|CH8
|
|||||||
---|---|---|---|---|---|---|---
|
---|---|---|---|---|---|---|---
|
||||||
A|E|T|R|CH5|CH6|CH7|CH8
|
A|E|T|R|CH5|CH6|CH7|CH8
|
||||||
|
|
||||||
## Scanner - *54*
|
## Skyartec - *68*
|
||||||
2.4GHz scanner accessible using the OpenTX 2.3 Spectrum Analyser tool.
|
|
||||||
|
Option for this protocol corresponds to fine frequency tuning. This value is different for each Module and **must** be accurate otherwise the link will not be stable.
|
||||||
|
Check the [Frequency Tuning page](/docs/Frequency_Tuning.md) to determine it.
|
||||||
|
|
||||||
|
CH1|CH2|CH3|CH4|CH5|CH6|CH7
|
||||||
|
---|---|---|---|---|---|---
|
||||||
|
A|E|T|R|CH5|CH6|CH7
|
||||||
|
|
||||||
***
|
***
|
||||||
# CYRF6936 RF Module
|
# CYRF6936 RF Module
|
||||||
|
Loading…
x
Reference in New Issue
Block a user