mirror of
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module.git
synced 2025-02-10 00:28:13 +00:00
FrSky D and X hopping table fix
All RXs using these protocols must be rebinded.
This commit is contained in:
parent
917cea5052
commit
6a792ce6a0
@ -71,13 +71,21 @@ uint16_t limit_channel_100(uint8_t ch)
|
|||||||
/******************************/
|
/******************************/
|
||||||
void Frsky_init_hop(void)
|
void Frsky_init_hop(void)
|
||||||
{
|
{
|
||||||
|
uint8_t val;
|
||||||
uint8_t channel = rx_tx_addr[0]&0x07;
|
uint8_t channel = rx_tx_addr[0]&0x07;
|
||||||
uint8_t channel_spacing = (rx_tx_addr[1]&0x7F)+64;
|
uint8_t channel_spacing = rx_tx_addr[1];
|
||||||
for(uint8_t i=0;i<50;i++)
|
//Filter bad tables
|
||||||
|
if(channel_spacing<0x02) channel_spacing+=0x02;
|
||||||
|
if(channel_spacing>0xE9) channel_spacing-=0xE7;
|
||||||
|
if(channel_spacing%0x2F==0) channel_spacing++;
|
||||||
|
|
||||||
|
hopping_frequency[0]=channel;
|
||||||
|
for(uint8_t i=1;i<50;i++)
|
||||||
{
|
{
|
||||||
hopping_frequency[i]=i>47?0:channel;
|
|
||||||
channel=(channel+channel_spacing) % 0xEB;
|
channel=(channel+channel_spacing) % 0xEB;
|
||||||
if((channel==0x00) || (channel==0x5A) || (channel==0xDC))
|
val=channel;
|
||||||
channel++;
|
if((val==0x00) || (val==0x5A) || (val==0xDC))
|
||||||
|
val++;
|
||||||
|
hopping_frequency[i]=i>47?0:val;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user