mirror of
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module.git
synced 2025-02-04 20:48:12 +00:00
Prep for HoTT protocol and fix STM32 seed
This commit is contained in:
parent
e6e4d33847
commit
ca15d7108f
@ -54,4 +54,5 @@
|
|||||||
54,Scanner
|
54,Scanner
|
||||||
55,Frsky_RX
|
55,Frsky_RX
|
||||||
56,AFHDS2A_RX
|
56,AFHDS2A_RX
|
||||||
|
57,HoTT
|
||||||
63,XN_DUMP,250K,1M,2M
|
63,XN_DUMP,250K,1M,2M
|
||||||
|
@ -70,6 +70,7 @@ const char STR_FLYZONE[] ="FlyZone";
|
|||||||
const char STR_SCANNER[] ="Scanner";
|
const char STR_SCANNER[] ="Scanner";
|
||||||
const char STR_FRSKY_RX[] ="FrSkyRX";
|
const char STR_FRSKY_RX[] ="FrSkyRX";
|
||||||
const char STR_AFHDS2A_RX[] ="FS2A_RX";
|
const char STR_AFHDS2A_RX[] ="FS2A_RX";
|
||||||
|
const char STR_HOTT[] ="HoTT";
|
||||||
const char STR_XN297DUMP[] ="XN297DP";
|
const char STR_XN297DUMP[] ="XN297DP";
|
||||||
|
|
||||||
const char STR_SUBTYPE_FLYSKY[] = "\x04""Std\0""V9x9""V6x6""V912""CX20";
|
const char STR_SUBTYPE_FLYSKY[] = "\x04""Std\0""V9x9""V6x6""V912""CX20";
|
||||||
@ -122,7 +123,7 @@ enum
|
|||||||
#define NO_SUBTYPE nullptr
|
#define NO_SUBTYPE nullptr
|
||||||
|
|
||||||
const mm_protocol_definition multi_protocols[] = {
|
const mm_protocol_definition multi_protocols[] = {
|
||||||
// Protocol as defined in pulses\modules_constants.h, number of sub_protocols - 1, Failsafe supported, Disable channel mapping supported, Subtype string, Option type
|
// Protocol number, Protocol String, Number of sub_protocols, Sub_protocol strings, Option type
|
||||||
#if defined(FLYSKY_A7105_INO)
|
#if defined(FLYSKY_A7105_INO)
|
||||||
{PROTO_FLYSKY, STR_FLYSKY, 5, STR_SUBTYPE_FLYSKY, OPTION_NONE },
|
{PROTO_FLYSKY, STR_FLYSKY, 5, STR_SUBTYPE_FLYSKY, OPTION_NONE },
|
||||||
#endif
|
#endif
|
||||||
@ -288,6 +289,9 @@ const mm_protocol_definition multi_protocols[] = {
|
|||||||
#if defined(AFHDS2A_RX_A7105_INO)
|
#if defined(AFHDS2A_RX_A7105_INO)
|
||||||
{PROTO_AFHDS2A_RX, STR_AFHDS2A_RX,0, NO_SUBTYPE, OPTION_NONE },
|
{PROTO_AFHDS2A_RX, STR_AFHDS2A_RX,0, NO_SUBTYPE, OPTION_NONE },
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(HOTT_CC2500_INO)
|
||||||
|
{PROTO_HOTT, STR_HOTT, 0, NO_SUBTYPE, OPTION_RFTUNE },
|
||||||
|
#endif
|
||||||
#if defined(XN297DUMP_NRF24L01_INO)
|
#if defined(XN297DUMP_NRF24L01_INO)
|
||||||
{PROTO_XN297DUMP, STR_XN297DUMP, 3, STR_SUBTYPE_XN297DUMP, OPTION_NONE },
|
{PROTO_XN297DUMP, STR_XN297DUMP, 3, STR_SUBTYPE_XN297DUMP, 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 30
|
#define VERSION_PATCH_LEVEL 31
|
||||||
|
|
||||||
//******************
|
//******************
|
||||||
// Protocols
|
// Protocols
|
||||||
@ -83,6 +83,7 @@ enum PROTOCOLS
|
|||||||
PROTO_SCANNER = 54, // =>CC2500
|
PROTO_SCANNER = 54, // =>CC2500
|
||||||
PROTO_FRSKY_RX = 55, // =>CC2500
|
PROTO_FRSKY_RX = 55, // =>CC2500
|
||||||
PROTO_AFHDS2A_RX= 56, // =>A7105
|
PROTO_AFHDS2A_RX= 56, // =>A7105
|
||||||
|
PROTO_HOTT = 57, // =>CC2500
|
||||||
PROTO_XN297DUMP = 63, // =>NRF24L01
|
PROTO_XN297DUMP = 63, // =>NRF24L01
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -667,6 +668,7 @@ Serial: 100000 Baud 8e2 _ xxxx xxxx p --
|
|||||||
SCANNER 54
|
SCANNER 54
|
||||||
FRSKY_RX 55
|
FRSKY_RX 55
|
||||||
AFHDS2A_RX 56
|
AFHDS2A_RX 56
|
||||||
|
HOTT 57
|
||||||
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
|
||||||
|
@ -319,7 +319,6 @@ void setup()
|
|||||||
pinMode(S4_pin,INPUT_PULLUP);
|
pinMode(S4_pin,INPUT_PULLUP);
|
||||||
//Random pins
|
//Random pins
|
||||||
pinMode(PB0, INPUT_ANALOG); // set up pin for analog input
|
pinMode(PB0, INPUT_ANALOG); // set up pin for analog input
|
||||||
pinMode(PB1, INPUT_ANALOG); // set up pin for analog input
|
|
||||||
|
|
||||||
//Timers
|
//Timers
|
||||||
init_HWTimer(); //0.5us
|
init_HWTimer(); //0.5us
|
||||||
@ -437,10 +436,13 @@ void setup()
|
|||||||
modules_reset();
|
modules_reset();
|
||||||
|
|
||||||
#ifndef ORANGE_TX
|
#ifndef ORANGE_TX
|
||||||
//Init the seed with a random value created from watchdog timer for all protocols requiring random values
|
|
||||||
#ifdef STM32_BOARD
|
#ifdef STM32_BOARD
|
||||||
randomSeed((uint32_t)analogRead(PB0) << 10 | analogRead(PB1));
|
uint32_t seed=0;
|
||||||
|
for(uint8_t i=0;i<4;i++)
|
||||||
|
seed=(seed<<8) | (analogRead(PB0)& 0xFF);
|
||||||
|
randomSeed(seed);
|
||||||
#else
|
#else
|
||||||
|
//Init the seed with a random value created from watchdog timer for all protocols requiring random values
|
||||||
randomSeed(random_value());
|
randomSeed(random_value());
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
@ -501,6 +503,11 @@ void setup()
|
|||||||
if (protocol==PROTO_HITEC)
|
if (protocol==PROTO_HITEC)
|
||||||
option = FORCE_HITEC_TUNING; // Use config-defined tuning value for HITEC
|
option = FORCE_HITEC_TUNING; // Use config-defined tuning value for HITEC
|
||||||
else
|
else
|
||||||
|
#endif
|
||||||
|
#if defined(FORCE_HOTT_TUNING) && defined(HOTT_CC2500_INO)
|
||||||
|
if (protocol==PROTO_HOTT)
|
||||||
|
option = FORCE_HOTT_TUNING; // Use config-defined tuning value for HOTT
|
||||||
|
else
|
||||||
#endif
|
#endif
|
||||||
option = (uint8_t)PPM_prot_line->option; // Use radio-defined option value
|
option = (uint8_t)PPM_prot_line->option; // Use radio-defined option value
|
||||||
|
|
||||||
@ -1098,6 +1105,14 @@ static void protocol_init()
|
|||||||
remote_callback = ReadHITEC;
|
remote_callback = ReadHITEC;
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(HOTT_CC2500_INO)
|
||||||
|
case PROTO_HOTT:
|
||||||
|
PE1_off; //antenna RF2
|
||||||
|
PE2_on;
|
||||||
|
next_callback = initHOTT();
|
||||||
|
remote_callback = ReadHOTT;
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
#if defined(SCANNER_CC2500_INO)
|
#if defined(SCANNER_CC2500_INO)
|
||||||
case PROTO_SCANNER:
|
case PROTO_SCANNER:
|
||||||
PE1_off;
|
PE1_off;
|
||||||
@ -1528,6 +1543,11 @@ void update_serial_data()
|
|||||||
if (protocol==PROTO_HITEC)
|
if (protocol==PROTO_HITEC)
|
||||||
option=FORCE_HITEC_TUNING; // Use config-defined tuning value for HITEC
|
option=FORCE_HITEC_TUNING; // Use config-defined tuning value for HITEC
|
||||||
else
|
else
|
||||||
|
#endif
|
||||||
|
#if defined(FORCE_HOTT_TUNING) && defined(HOTT_CC2500_INO)
|
||||||
|
if (protocol==PROTO_HOTT)
|
||||||
|
option=FORCE_HOTT_TUNING; // Use config-defined tuning value for HOTT
|
||||||
|
else
|
||||||
#endif
|
#endif
|
||||||
option=rx_ok_buff[3]; // Use radio-defined option value
|
option=rx_ok_buff[3]; // Use radio-defined option value
|
||||||
|
|
||||||
|
@ -104,6 +104,11 @@
|
|||||||
#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
|
||||||
|
#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
|
||||||
//A7105
|
//A7105
|
||||||
#ifdef FORCE_AFHDS2A_TUNING
|
#ifdef FORCE_AFHDS2A_TUNING
|
||||||
#if ( FORCE_AFHDS2A_TUNING < -300 ) || ( FORCE_AFHDS2A_TUNING > 300 )
|
#if ( FORCE_AFHDS2A_TUNING < -300 ) || ( FORCE_AFHDS2A_TUNING > 300 )
|
||||||
@ -195,6 +200,7 @@
|
|||||||
#undef XN297L_CC2500_EMU
|
#undef XN297L_CC2500_EMU
|
||||||
#undef SCANNER_CC2500_INO
|
#undef SCANNER_CC2500_INO
|
||||||
#undef FRSKY_RX_CC2500_INO
|
#undef FRSKY_RX_CC2500_INO
|
||||||
|
#undef HOTT_CC2500_INO
|
||||||
#endif
|
#endif
|
||||||
#ifndef NRF24L01_INSTALLED
|
#ifndef NRF24L01_INSTALLED
|
||||||
#undef BAYANG_NRF24L01_INO
|
#undef BAYANG_NRF24L01_INO
|
||||||
|
@ -87,17 +87,18 @@
|
|||||||
//#define ORANGE_TX_BLUE
|
//#define ORANGE_TX_BLUE
|
||||||
|
|
||||||
/** CC2500 Fine Frequency Tuning **/
|
/** CC2500 Fine Frequency Tuning **/
|
||||||
//For optimal performance the CC2500 RF module used by the FrSkyD, FrSkyV, FrSkyX, SFHSS, CORONA, Redpine and Hitec protocols needs to be tuned for each protocol.
|
//For optimal performance the CC2500 RF module used by the CORONA, FrSkyD, FrSkyV, FrSkyX, Hitec, HoTT, SFHSS and Redpine protocols needs to be tuned for each protocol.
|
||||||
//Initial tuning should be done via the radio menu with a genuine FrSky/Futaba/CORONA/Hitec/Redpine receiver.
|
//Initial tuning should be done via the radio menu with a genuine CORONA/FrSky/Hitec/HoTT/Futaba/Redpine receiver.
|
||||||
//Once a good tuning value is found it can be set here and will override the radio's 'option' setting for all existing and new models which use that protocol.
|
//Once a good tuning value is found it can be set here and will override the radio's 'option' setting for all existing and new models which use that protocol.
|
||||||
//For more information: https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/tree/master/docs/Frequency_Tuning.md
|
//For more information: https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/tree/master/docs/Frequency_Tuning.md
|
||||||
//Uncomment the lines below (remove the "//") and set an appropriate value (replace the "0") to enable. Valid range is -127 to +127.
|
//Uncomment the lines below (remove the "//") and set an appropriate value (replace the "0") to enable. Valid range is -127 to +127.
|
||||||
|
//#define FORCE_CORONA_TUNING 0
|
||||||
//#define FORCE_FRSKYD_TUNING 0
|
//#define FORCE_FRSKYD_TUNING 0
|
||||||
//#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_CORONA_TUNING 0
|
|
||||||
//#define FORCE_HITEC_TUNING 0
|
//#define FORCE_HITEC_TUNING 0
|
||||||
|
//#define FORCE_HOTT_TUNING 0
|
||||||
//#define FORCE_REDPINE_TUNING 0
|
//#define FORCE_REDPINE_TUNING 0
|
||||||
|
|
||||||
/** A7105 Fine Frequency Tuning **/
|
/** A7105 Fine Frequency Tuning **/
|
||||||
@ -178,6 +179,7 @@
|
|||||||
#define FRSKYX_CC2500_INO
|
#define FRSKYX_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 SCANNER_CC2500_INO
|
#define SCANNER_CC2500_INO
|
||||||
#define SFHSS_CC2500_INO
|
#define SFHSS_CC2500_INO
|
||||||
#define REDPINE_CC2500_INO
|
#define REDPINE_CC2500_INO
|
||||||
@ -283,8 +285,7 @@
|
|||||||
//Send to OpenTX the current protocol and subprotocol names. Comment to disable.
|
//Send to OpenTX the current protocol and subprotocol names. Comment to disable.
|
||||||
#define MULTI_NAMES
|
#define MULTI_NAMES
|
||||||
//Sync OpenTX frames with the current protocol timing. This feature is only available on the STM32 module. Comment to disable.
|
//Sync OpenTX frames with the current protocol timing. This feature is only available on the STM32 module. Comment to disable.
|
||||||
//!!! Work in progress !!! Do not enable for internal module
|
#define MULTI_SYNC
|
||||||
//#define MULTI_SYNC
|
|
||||||
|
|
||||||
//Comment a line to disable a specific protocol telemetry
|
//Comment a line to disable a specific protocol telemetry
|
||||||
#define DSM_TELEMETRY // Forward received telemetry packet directly to TX to be decoded by er9x, erskyTX and OpenTX
|
#define DSM_TELEMETRY // Forward received telemetry packet directly to TX to be decoded by er9x, erskyTX and OpenTX
|
||||||
@ -588,6 +589,8 @@ const PPM_Parameters PPM_prot[14*NBR_BANKS]= {
|
|||||||
JJRCX1
|
JJRCX1
|
||||||
X5C1
|
X5C1
|
||||||
FQ777_951
|
FQ777_951
|
||||||
|
PROTO_HOTT
|
||||||
|
NONE
|
||||||
PROTO_HUBSAN
|
PROTO_HUBSAN
|
||||||
H107
|
H107
|
||||||
H301
|
H301
|
||||||
|
Loading…
x
Reference in New Issue
Block a user