From 30e3e8406688bcc5c5723200b29858db85e72d79 Mon Sep 17 00:00:00 2001 From: Pascal Langer Date: Mon, 11 Jan 2021 16:27:59 +0100 Subject: [PATCH] LOLI: RX config --- Lua_scripts/MultiChan.txt | 2 +- Multiprotocol/LOLI_nrf24l01.ino | 46 +++++++++++++++++++++++++++++---- Multiprotocol/Multiprotocol.h | 2 +- Multiprotocol/Multiprotocol.ino | 12 --------- Protocols_Details.md | 14 ++++++++-- 5 files changed, 55 insertions(+), 21 deletions(-) diff --git a/Lua_scripts/MultiChan.txt b/Lua_scripts/MultiChan.txt index 78c93b6..245cbd5 100644 --- a/Lua_scripts/MultiChan.txt +++ b/Lua_scripts/MultiChan.txt @@ -180,4 +180,4 @@ 79,0,WFLY2,RF20x,0,CH5,CH6,CH7,CH8,CH9,CH10 80,0,E016Hv2,E016Hv2,1,TakLan,EmStop,Flip,Calib,HLess,RTH 81,0,E010r5,E010r5,1,Flip,LED,CALIB,HLess,RTH,UNK -82,0,LOLI,0,CH5,CH6,CH7,CH8 +82,0,LOLI,0,CH5,CH6,CH7,CH8,1SwSePpPw,2SwSePw,3SwSe,4SwSe,5SwSeSb,6SwSe,7SwSePw,8SwSe diff --git a/Multiprotocol/LOLI_nrf24l01.ino b/Multiprotocol/LOLI_nrf24l01.ino index d384631..af8bddb 100644 --- a/Multiprotocol/LOLI_nrf24l01.ino +++ b/Multiprotocol/LOLI_nrf24l01.ino @@ -57,6 +57,10 @@ static void __attribute__((unused)) LOLI_init() #define LOLI_FLAG_SW2 0x40 #define LOLI_FLAG_SW1 0x80 +#ifdef LOLI_NRF24L01_INO + uint8_t LOLI_P1, LOLI_P2; +#endif + static void __attribute__((unused)) LOLI_send_packet() { if(IS_BIND_IN_PROGRESS) @@ -68,12 +72,38 @@ static void __attribute__((unused)) LOLI_send_packet() } else { - if(LOLI_SerialRX) - {// RX config + //Check RX config + uint8_t P1=0; + uint8_t P2=0; + //ch1: PWM/PPM + if(Channel_data[CH1+8] > CHANNEL_MAX_COMMAND) + P1|=LOLI_FLAG_PWM1; + else if(Channel_data[CH1+8] > CHANNEL_SWITCH) + P1|=LOLI_FLAG_PPM; + //ch2: PWM + if(Channel_data[CH2+8] > CHANNEL_MAX_COMMAND) + P1|=LOLI_FLAG_PWM2; + //ch5: SBUS + if(Channel_data[CH7+8] > CHANNEL_SWITCH) + P1|=LOLI_FLAG_SBUS; + //ch7: PWM + if(Channel_data[CH7+8] > CHANNEL_MAX_COMMAND) + P1|=LOLI_FLAG_PWM7; + + //switches + for(uint8_t i=0;i<8;i++) + if(Channel_data[i+8] 255) val=255; + v_lipo1 = val; + val=((packet[3] << 8) | packet[4])/10; + if(val > 255) val=255; + v_lipo2 = val; telemetry_link = 1; telemetry_counter++; // TX LQI counter if(telemetry_lost) diff --git a/Multiprotocol/Multiprotocol.h b/Multiprotocol/Multiprotocol.h index 5896629..e8ef6ff 100644 --- a/Multiprotocol/Multiprotocol.h +++ b/Multiprotocol/Multiprotocol.h @@ -19,7 +19,7 @@ #define VERSION_MAJOR 1 #define VERSION_MINOR 3 #define VERSION_REVISION 2 -#define VERSION_PATCH_LEVEL 00 +#define VERSION_PATCH_LEVEL 1 //****************** // Protocols diff --git a/Multiprotocol/Multiprotocol.ino b/Multiprotocol/Multiprotocol.ino index 3d727dc..83549f7 100644 --- a/Multiprotocol/Multiprotocol.ino +++ b/Multiprotocol/Multiprotocol.ino @@ -263,10 +263,6 @@ uint8_t packet_in[TELEMETRY_BUFFER_SIZE];//telemetry receiving packets bool DSM_SerialRX=false; #endif #endif // TELEMETRY -#ifdef LOLI_NRF24L01_INO - bool LOLI_SerialRX=false; - uint8_t LOLI_P1=0, LOLI_P2=0; -#endif // Callback typedef uint16_t (*void_function_t) (void);//pointer to a function with no parameters which return an uint16_t integer @@ -2074,14 +2070,6 @@ void update_serial_data() DSM_SerialRX=true; } #endif - #ifdef LOLI_NRF24L01_INO - if(protocol==PROTO_LOLI && rx_len==27+2) - {//Protocol waiting for 2 bytes - LOLI_SerialRX=true; - LOLI_P1=rx_ok_buff[27]; - LOLI_P2=rx_ok_buff[28]; - } - #endif } RX_DONOTUPDATE_off; diff --git a/Protocols_Details.md b/Protocols_Details.md index 3622744..30daabf 100644 --- a/Protocols_Details.md +++ b/Protocols_Details.md @@ -1290,7 +1290,7 @@ LOLI3 receivers: https://github.com/wooddoor/Loli3 Failsafe supported. Once failsafe values for the 8 channels have been configured in Custom mode, wait for the RX to learn them, then set Failsafe to Receiver. -Telemetry supported: RX RSSI, TX LQI (percentage of received telemetry packets), A1 and A2. +Telemetry supported: RX RSSI, TX LQI (percentage of received telemetry packets), A1 and A2 with a Ratio=25.5 and Offset=0. Extended limits supported. @@ -1298,7 +1298,17 @@ CH1|CH2|CH3|CH4|CH5|CH6|CH7|CH8 ---|---|---|---|---|---|---|--- CH1|CH2|CH3|CH4|CH5|CH6|CH7|CH8 -Assigning functions to outputs is not supported yet. +Features: +Config on | For channel | Switch | Servo | PPM | SBUS | PWM +----|-----|-------|----|------|---|------ +CH9 | CH1 | -100% | 0% | +50% | - | +100% +CH10| CH2 | -100% | 0% | - | - | - +CH11| CH3 | -100% | 0% | - | - | - +CH12| CH4 | -100% | 0% | - | - | - +CH13| CH5 | -100% | 0% | - | +50% | +100% +CH14| CH6 | -100% | 0% | | - | - +CH15| CH7 | -100% | 0% | - | - | +100% +CH16| CH8 | -100% | 0% | - | - | - ## MJXQ - *18* Autobind protocol