From aeb8d67219e34013788791b400a3204418b5d7ec Mon Sep 17 00:00:00 2001 From: Pascal Langer Date: Mon, 1 Jun 2020 22:55:32 +0200 Subject: [PATCH] HoTT: add subprotocols --- Multiprotocol/HOTT_cc2500.ino | 7 +++++-- Multiprotocol/Multi.txt | 2 +- Multiprotocol/Multi_Names.ino | 3 ++- Multiprotocol/Multiprotocol.h | 11 ++++++++++- Multiprotocol/_Config.h | 3 ++- Protocols_Details.md | 6 ++++++ 6 files changed, 26 insertions(+), 6 deletions(-) diff --git a/Multiprotocol/HOTT_cc2500.ino b/Multiprotocol/HOTT_cc2500.ino index 85862f6..d7b0a55 100644 --- a/Multiprotocol/HOTT_cc2500.ino +++ b/Multiprotocol/HOTT_cc2500.ino @@ -245,7 +245,10 @@ static void __attribute__((unused)) HOTT_prep_data_packet() else { packet[28] = 0x89+HOTT_sensor_cur; // 0x89/8A/8B/8C/8D/8E during normal packets - packet[29] = ((HOTT_sensor_seq+1)<<3) | 2; // Telemetry packet sequence + if(sub_protocol == HOTT_SYNC) + packet[29] = ((HOTT_sensor_seq+1)<<3) | 2; // Telemetry packet sequence + else + packet[29] = 0x02; //debugln("28=%02X,29=%02X",packet[28],packet[29]); } } @@ -272,7 +275,7 @@ static void __attribute__((unused)) HOTT_prep_data_packet() uint16_t ReadHOTT() { #ifdef HOTT_FW_TELEMETRY - static uint8_t pps_counter=0, HOTT_sensor_rx=0; + static uint8_t pps_counter=0; #endif switch(phase) diff --git a/Multiprotocol/Multi.txt b/Multiprotocol/Multi.txt index e18c81d..a1debd5 100644 --- a/Multiprotocol/Multi.txt +++ b/Multiprotocol/Multi.txt @@ -54,7 +54,7 @@ 54,Scanner 55,Frsky_RX,RX,CloneTX 56,AFHDS2A_RX -57,HoTT +57,HoTT,Sync,No_Sync 58,FX816,P38 59,Bayang_RX 60,Pelikan diff --git a/Multiprotocol/Multi_Names.ino b/Multiprotocol/Multi_Names.ino index 4badd6d..9c4fc1a 100644 --- a/Multiprotocol/Multi_Names.ino +++ b/Multiprotocol/Multi_Names.ino @@ -134,6 +134,7 @@ const char STR_SUBTYPE_PROPEL[] = "\x04""74-Z"; const char STR_SUBTYPE_FRSKY_RX[] = "\x07""RX\0 ""CloneTX"; const char STR_SUBTYPE_FRSKYL[] = "\x08""LR12\0 ""LR12 6ch"; const char STR_SUBTYPE_WFLY[] = "\x06""WFR0xS"; +const char STR_SUBTYPE_HOTT[] = "\x07""Sync\0 ""No_Sync"; enum { @@ -267,7 +268,7 @@ const mm_protocol_definition multi_protocols[] = { {PROTO_HONTAI, STR_HONTAI, 4, STR_SUBTYPE_HONTAI, OPTION_NONE }, #endif #if defined(HOTT_CC2500_INO) - {PROTO_HOTT, STR_HOTT, 0, NO_SUBTYPE, OPTION_RFTUNE }, + {PROTO_HOTT, STR_HOTT, 2, STR_SUBTYPE_HOTT, OPTION_RFTUNE }, #endif #if defined(HUBSAN_A7105_INO) {PROTO_HUBSAN, STR_HUBSAN, 3, STR_SUBTYPE_HUBSAN, OPTION_VIDFREQ }, diff --git a/Multiprotocol/Multiprotocol.h b/Multiprotocol/Multiprotocol.h index 27aa506..5b1a73e 100644 --- a/Multiprotocol/Multiprotocol.h +++ b/Multiprotocol/Multiprotocol.h @@ -19,7 +19,7 @@ #define VERSION_MAJOR 1 #define VERSION_MINOR 3 #define VERSION_REVISION 1 -#define VERSION_PATCH_LEVEL 5 +#define VERSION_PATCH_LEVEL 6 //****************** // Protocols @@ -358,6 +358,12 @@ enum FRSKYL LR12_6CH = 1, }; +enum HOTT +{ + HOTT_SYNC = 0, + HOTT_NO_SYNC= 1, +}; + #define NONE 0 #define P_HIGH 1 #define P_LOW 0 @@ -943,6 +949,9 @@ Serial: 100000 Baud 8e2 _ xxxx xxxx p -- sub_protocol==FRSKYL LR12 0 LR12_6CH 1 + sub_protocol==HOTT + HOTT_SYNC 0 + HOTT_NO_SYNC 1 Power value => 0x80 0=High/1=Low Stream[3] = option_protocol; diff --git a/Multiprotocol/_Config.h b/Multiprotocol/_Config.h index fea6ee7..342dc13 100644 --- a/Multiprotocol/_Config.h +++ b/Multiprotocol/_Config.h @@ -630,7 +630,8 @@ const PPM_Parameters PPM_prot[14*NBR_BANKS]= { X5C1 FQ777_951 PROTO_HOTT - NONE + HOTT_SYNC + HOTT_NO_SYNC PROTO_HUBSAN H107 H301 diff --git a/Protocols_Details.md b/Protocols_Details.md index 1e466dd..2428c4e 100644 --- a/Protocols_Details.md +++ b/Protocols_Details.md @@ -504,6 +504,12 @@ CH1|CH2|CH3|CH4|CH5|CH6|CH7|CH8|CH9|CH10|CH11|CH12 ---|---|---|---|---|---|---|---|---|----|----|---- CH1|CH2|CH3|CH4|CH5|CH6|CH7|CH8|CH9|CH10|CH11|CH12 +### Sub_protocol Sync - *0* +Recommended for best telemetry performance. + +### Sub_protocol No_Sync - *1* +Compatibility mode with older receiver firmwares. + ## Scanner - *54* 2.4GHz scanner accessible using the OpenTX 2.3 Spectrum Analyser tool.