mirror of
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module.git
synced 2025-02-04 19:48:11 +00:00
LOLI: RX config
This commit is contained in:
parent
8338104266
commit
30e3e84066
@ -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
|
||||
|
@ -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]<CHANNEL_MIN_COMMAND)
|
||||
P2 |= 1 << (7-i);
|
||||
|
||||
if(LOLI_P1!=P1 || LOLI_P2!=P2)
|
||||
flags=10;
|
||||
if(flags)
|
||||
{// Send RX config since P1 or P2 have changed
|
||||
LOLI_P1=P1;LOLI_P2=P2;
|
||||
packet[0] = 0xa2;
|
||||
packet[1] = LOLI_P1; // CH1:LOLI_FLAG_PPM || LOLI_FLAG_PWM1, CH2:LOLI_FLAG_PWM2, CH5:LOLI_FLAG_SBUS, CH7:LOLI_FLAG_PWM7
|
||||
packet[2] = LOLI_P2; // CHx switch bit(8-x)=1
|
||||
LOLI_SerialRX=false;
|
||||
flags--;
|
||||
}
|
||||
else
|
||||
{// Normal packet
|
||||
@ -191,6 +221,8 @@ uint16_t LOLI_callback()
|
||||
NRF24L01_WriteReg(NRF24L01_07_STATUS, 0x70);
|
||||
NRF24L01_FlushRx();
|
||||
packet_count = 0;
|
||||
//defaut RX config with servo outputs
|
||||
LOLI_P1=0;LOLI_P2=0;flags=10;
|
||||
phase++;
|
||||
|
||||
case LOLI_DATA1:
|
||||
@ -206,8 +238,12 @@ uint16_t LOLI_callback()
|
||||
debugln("");
|
||||
#endif
|
||||
RX_RSSI = packet[0]<<1;
|
||||
v_lipo1 = (packet[1] << 8) | packet[2];
|
||||
v_lipo2 = (packet[3] << 8) | packet[4];
|
||||
uint16_t val=((packet[1] << 8) | packet[2])/10;
|
||||
if(val > 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)
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user