mirror of
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module.git
synced 2025-02-10 14:28:14 +00:00
HoTT: added support for 16 channels (previously 12)
This commit is contained in:
parent
5f0ed395ba
commit
37a06c050d
@ -172,10 +172,11 @@ static void __attribute__((unused)) HOTT_init()
|
|||||||
|
|
||||||
static void __attribute__((unused)) HOTT_prep_data_packet()
|
static void __attribute__((unused)) HOTT_prep_data_packet()
|
||||||
{
|
{
|
||||||
|
static uint8_t upper=0;
|
||||||
|
|
||||||
packet[2] = hopping_frequency_no;
|
packet[2] = hopping_frequency_no;
|
||||||
|
|
||||||
packet[3] = 0x00; // used for failsafe but may also be used for additional channels
|
packet[3] = upper; // used for failsafe and upper channels (only supporting 16 channels)
|
||||||
#ifdef FAILSAFE_ENABLE
|
#ifdef FAILSAFE_ENABLE
|
||||||
static uint8_t failsafe_count=0;
|
static uint8_t failsafe_count=0;
|
||||||
if(IS_FAILSAFE_VALUES_on && IS_BIND_DONE)
|
if(IS_FAILSAFE_VALUES_on && IS_BIND_DONE)
|
||||||
@ -195,13 +196,16 @@ static void __attribute__((unused)) HOTT_prep_data_packet()
|
|||||||
uint16_t val;
|
uint16_t val;
|
||||||
for(uint8_t i=4;i<28;i+=2)
|
for(uint8_t i=4;i<28;i+=2)
|
||||||
{
|
{
|
||||||
val=Channel_data[(i-4)>>1];
|
uint8_t ch=(i-4)>>1;
|
||||||
|
if(upper && ch >= 8)
|
||||||
|
ch+=4; // when upper swap CH9..CH12 by CH13..16
|
||||||
|
val=Channel_data[ch];
|
||||||
val=(((val<<2)+val)>>2)+860*2; // value range 860<->2140 *2 <-> -125%<->+125%
|
val=(((val<<2)+val)>>2)+860*2; // value range 860<->2140 *2 <-> -125%<->+125%
|
||||||
#ifdef FAILSAFE_ENABLE
|
#ifdef FAILSAFE_ENABLE
|
||||||
if(failsafe_count==1)
|
if(failsafe_count==1)
|
||||||
{ // first failsafe packet
|
{ // first failsafe packet
|
||||||
packet[3]=0x40;
|
packet[3] |= 0x40;
|
||||||
uint16_t fs=Failsafe_data[(i-4)>>1];
|
uint16_t fs=Failsafe_data[ch];
|
||||||
if( fs == FAILSAFE_CHANNEL_HOLD || fs == FAILSAFE_CHANNEL_NOPULSES)
|
if( fs == FAILSAFE_CHANNEL_HOLD || fs == FAILSAFE_CHANNEL_NOPULSES)
|
||||||
val|=0x8000; // channel hold flag
|
val|=0x8000; // channel hold flag
|
||||||
else
|
else
|
||||||
@ -212,7 +216,7 @@ static void __attribute__((unused)) HOTT_prep_data_packet()
|
|||||||
}
|
}
|
||||||
else if(failsafe_count==2)
|
else if(failsafe_count==2)
|
||||||
{ // second failsafe packet=timing?
|
{ // second failsafe packet=timing?
|
||||||
packet[3]=0x50;
|
packet[3] |= 0x50;
|
||||||
if(i==4)
|
if(i==4)
|
||||||
val=2;
|
val=2;
|
||||||
else
|
else
|
||||||
@ -222,6 +226,8 @@ static void __attribute__((unused)) HOTT_prep_data_packet()
|
|||||||
packet[i] = val;
|
packet[i] = val;
|
||||||
packet[i+1] = val>>8;
|
packet[i+1] = val>>8;
|
||||||
}
|
}
|
||||||
|
upper ^= 0x01; // toggle between CH9..CH12 and CH13..16
|
||||||
|
|
||||||
#ifdef HOTT_FW_TELEMETRY
|
#ifdef HOTT_FW_TELEMETRY
|
||||||
if(IS_BIND_DONE)
|
if(IS_BIND_DONE)
|
||||||
{
|
{
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
#define VERSION_MAJOR 1
|
#define VERSION_MAJOR 1
|
||||||
#define VERSION_MINOR 3
|
#define VERSION_MINOR 3
|
||||||
#define VERSION_REVISION 1
|
#define VERSION_REVISION 1
|
||||||
#define VERSION_PATCH_LEVEL 81
|
#define VERSION_PATCH_LEVEL 82
|
||||||
|
|
||||||
//******************
|
//******************
|
||||||
// Protocols
|
// Protocols
|
||||||
|
Loading…
x
Reference in New Issue
Block a user