From 4039cbf8af2416cbd1a937645b71b2d631ac3dd7 Mon Sep 17 00:00:00 2001 From: Pascal Langer Date: Tue, 7 Apr 2020 10:55:54 +0200 Subject: [PATCH] Small corrections --- Multiprotocol/Multiprotocol.h | 2 +- Multiprotocol/Multiprotocol.ino | 2 +- Multiprotocol/NRF24l01_SPI.ino | 4 ++++ Protocols_Details.md | 19 +++++++++++++++++++ 4 files changed, 25 insertions(+), 2 deletions(-) diff --git a/Multiprotocol/Multiprotocol.h b/Multiprotocol/Multiprotocol.h index 11d0c5c..c6cbe87 100644 --- a/Multiprotocol/Multiprotocol.h +++ b/Multiprotocol/Multiprotocol.h @@ -19,7 +19,7 @@ #define VERSION_MAJOR 1 #define VERSION_MINOR 3 #define VERSION_REVISION 0 -#define VERSION_PATCH_LEVEL 83 +#define VERSION_PATCH_LEVEL 84 //****************** // Protocols diff --git a/Multiprotocol/Multiprotocol.ino b/Multiprotocol/Multiprotocol.ino index 2e9abb6..3e8da97 100644 --- a/Multiprotocol/Multiprotocol.ino +++ b/Multiprotocol/Multiprotocol.ino @@ -1795,7 +1795,7 @@ void update_serial_data() 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 + if((rx_ok_buff[27]&0x1F) > 0x1B) //Check 1st byte validity sport_valid=false; if(sport_valid) { diff --git a/Multiprotocol/NRF24l01_SPI.ino b/Multiprotocol/NRF24l01_SPI.ino index 3911a77..df0e31b 100644 --- a/Multiprotocol/NRF24l01_SPI.ino +++ b/Multiprotocol/NRF24l01_SPI.ino @@ -172,6 +172,10 @@ void NRF24L01_SetPower() if(prev_power != power) { 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); prev_power=power; } diff --git a/Protocols_Details.md b/Protocols_Details.md index bf55e99..b727cf1 100644 --- a/Protocols_Details.md +++ b/Protocols_Details.md @@ -128,6 +128,7 @@ CFlie|38|CFlie||||||||NRF24L01| [V911S](Protocols_Details.md#V911S---46)|46|V911S*|E119*|||||||NRF24L01|XN297 [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| +[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| [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. @@ -1332,6 +1333,24 @@ Models: WLtoys V911S, XK A110 ### Sub_protocol E119 - *1* 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* Autobind protocol