mirror of
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module.git
synced 2025-07-13 02:07:53 +00:00
Merge branch 'master' of https://github.com/pascallanger/DIY-Multiprotocol-TX-Module.git into CloneMode
This commit is contained in:
commit
b5bbc2cf5d
@ -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 82
|
#define VERSION_PATCH_LEVEL 84
|
||||||
|
|
||||||
//******************
|
//******************
|
||||||
// Protocols
|
// Protocols
|
||||||
|
@ -1792,13 +1792,20 @@ void update_serial_data()
|
|||||||
#define BYTE_STUFF 0x7D
|
#define BYTE_STUFF 0x7D
|
||||||
#define STUFF_MASK 0x20
|
#define STUFF_MASK 0x20
|
||||||
//debug("SPort_in: ");
|
//debug("SPort_in: ");
|
||||||
|
boolean sport_valid=false;
|
||||||
|
for(uint8_t i=28;i<28+7;i++)
|
||||||
|
if(rx_ok_buff[i]!=0) sport_valid=true; //Check that the payload is not full of 0
|
||||||
|
if((rx_ok_buff[27]&0x1F) > 0x1B) //Check 1st byte validity
|
||||||
|
sport_valid=false;
|
||||||
|
if(sport_valid)
|
||||||
|
{
|
||||||
SportData[SportTail]=0x7E;
|
SportData[SportTail]=0x7E;
|
||||||
SportTail = (SportTail+1) & (MAX_SPORT_BUFFER-1);
|
SportTail = (SportTail+1) & (MAX_SPORT_BUFFER-1);
|
||||||
SportData[SportTail]=rx_ok_buff[27]&0x1F;
|
SportData[SportTail]=rx_ok_buff[27]&0x1F;
|
||||||
SportTail = (SportTail+1) & (MAX_SPORT_BUFFER-1);
|
SportTail = (SportTail+1) & (MAX_SPORT_BUFFER-1);
|
||||||
for(uint8_t i=28;i<28+7;i++)
|
for(uint8_t i=28;i<28+7;i++)
|
||||||
{
|
{
|
||||||
if(rx_ok_buff[i]==BYTE_STUFF)
|
if( (rx_ok_buff[i]==BYTE_STUFF) || (rx_ok_buff[i]==0x7E) )
|
||||||
{//stuff
|
{//stuff
|
||||||
SportData[SportTail]=BYTE_STUFF;
|
SportData[SportTail]=BYTE_STUFF;
|
||||||
SportTail = (SportTail+1) & (MAX_SPORT_BUFFER-1);
|
SportTail = (SportTail+1) & (MAX_SPORT_BUFFER-1);
|
||||||
@ -1821,6 +1828,7 @@ void update_serial_data()
|
|||||||
debugln("Low buf=%d,h=%d,t=%d",used,SportHead,SportTail);
|
debugln("Low buf=%d,h=%d,t=%d",used,SportHead,SportTail);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
#endif //SPORT_SEND
|
#endif //SPORT_SEND
|
||||||
#ifdef HOTT_FW_TELEMETRY
|
#ifdef HOTT_FW_TELEMETRY
|
||||||
if(protocol==PROTO_HOTT && rx_len==28)
|
if(protocol==PROTO_HOTT && rx_len==28)
|
||||||
|
@ -172,6 +172,10 @@ void NRF24L01_SetPower()
|
|||||||
if(prev_power != power)
|
if(prev_power != power)
|
||||||
{
|
{
|
||||||
rf_setup = (rf_setup & 0xF9) | (power << 1);
|
rf_setup = (rf_setup & 0xF9) | (power << 1);
|
||||||
|
if(power==3)
|
||||||
|
rf_setup |=0x01; // Si24r01 full power, unused bit for NRF
|
||||||
|
else
|
||||||
|
rf_setup &=0xFE;
|
||||||
NRF24L01_WriteReg(NRF24L01_06_RF_SETUP, rf_setup);
|
NRF24L01_WriteReg(NRF24L01_06_RF_SETUP, rf_setup);
|
||||||
prev_power=power;
|
prev_power=power;
|
||||||
}
|
}
|
||||||
|
@ -128,6 +128,7 @@ CFlie|38|CFlie||||||||NRF24L01|
|
|||||||
[V911S](Protocols_Details.md#V911S---46)|46|V911S*|E119*|||||||NRF24L01|XN297
|
[V911S](Protocols_Details.md#V911S---46)|46|V911S*|E119*|||||||NRF24L01|XN297
|
||||||
[WFly](Protocols_Details.md#WFLY---40)|40|WFLY||||||||CYRF6936|
|
[WFly](Protocols_Details.md#WFLY---40)|40|WFLY||||||||CYRF6936|
|
||||||
[WK2x01](Protocols_Details.md#WK2X01---30)|30|WK2801|WK2401|W6_5_1|W6_6_1|W6_HEL|W6_HEL_I|||CYRF6936|
|
[WK2x01](Protocols_Details.md#WK2X01---30)|30|WK2801|WK2401|W6_5_1|W6_6_1|W6_HEL|W6_HEL_I|||CYRF6936|
|
||||||
|
[XK](Protocols_Details.md#XK---62)|62|XK|X450|X420||||||NRF24L01|XN297
|
||||||
[YD717](Protocols_Details.md#YD717---8)|8|YD717|SKYWLKR|SYMAX4|XINXUN|NIHUI||||NRF24L01|
|
[YD717](Protocols_Details.md#YD717---8)|8|YD717|SKYWLKR|SYMAX4|XINXUN|NIHUI||||NRF24L01|
|
||||||
[ZSX](Protocols_Details.md#ZSX---52)|52|280||||||||NRF24L01|XN297
|
[ZSX](Protocols_Details.md#ZSX---52)|52|280||||||||NRF24L01|XN297
|
||||||
* "*" Sub Protocols designated by * suffix are using a XN297L@250kbps which will be emulated by default with the NRF24L01. If option (freq tune) is diffrent from 0, the CC2500 module (if installed) will be used instead. Each specific sub protocol has a more detailed explanation.
|
* "*" Sub Protocols designated by * suffix are using a XN297L@250kbps which will be emulated by default with the NRF24L01. If option (freq tune) is diffrent from 0, the CC2500 module (if installed) will be used instead. Each specific sub protocol has a more detailed explanation.
|
||||||
@ -1332,6 +1333,24 @@ Models: WLtoys V911S, XK A110
|
|||||||
### Sub_protocol E119 - *1*
|
### Sub_protocol E119 - *1*
|
||||||
Models: Eachine E119
|
Models: Eachine E119
|
||||||
|
|
||||||
|
## XK - *62*
|
||||||
|
|
||||||
|
CH1|CH2|CH3|CH4|CH5|CH6|CH7|CH8|CH9|CH10
|
||||||
|
---|---|---|---|---|---|---|---|---|----
|
||||||
|
A|E|T|R|Flight_modes|Take_off|Emerg stop|3D/6G|Picture|Video
|
||||||
|
|
||||||
|
Flight_modes: -100%=M-Mode, 0%=6G-Mode, +100%=V-Mode. CH6-CH10 are mementary switches.
|
||||||
|
|
||||||
|
### Sub_protocol X450 - *0*
|
||||||
|
Models: XK X450 (TX=X8)
|
||||||
|
|
||||||
|
This protocol is known to be problematic because it's using the xn297L emulation with a transmission speed of 250kbps therefore it doesn't work very well with every modules, this is an hardware issue with the accuracy of the components.
|
||||||
|
|
||||||
|
If the model does not respond well to inputs or hard to bind, you can try to switch the emulation from the default NRF24L01 RF component to the CC2500 by using an option value (freq tuning) different from 0. Option in this case is used for fine frequency tuning like any CC2500 protocols so check the [Frequency Tuning page](/docs/Frequency_Tuning.md).
|
||||||
|
|
||||||
|
### Sub_protocol X420 - *1*
|
||||||
|
Models: XK X420/X520 (TX=X4)
|
||||||
|
|
||||||
## YD717 - *8*
|
## YD717 - *8*
|
||||||
Autobind protocol
|
Autobind protocol
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user