mirror of
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module.git
synced 2025-02-04 22:38:14 +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
|
79,0,WFLY2,RF20x,0,CH5,CH6,CH7,CH8,CH9,CH10
|
||||||
80,0,E016Hv2,E016Hv2,1,TakLan,EmStop,Flip,Calib,HLess,RTH
|
80,0,E016Hv2,E016Hv2,1,TakLan,EmStop,Flip,Calib,HLess,RTH
|
||||||
81,0,E010r5,E010r5,1,Flip,LED,CALIB,HLess,RTH,UNK
|
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_SW2 0x40
|
||||||
#define LOLI_FLAG_SW1 0x80
|
#define LOLI_FLAG_SW1 0x80
|
||||||
|
|
||||||
|
#ifdef LOLI_NRF24L01_INO
|
||||||
|
uint8_t LOLI_P1, LOLI_P2;
|
||||||
|
#endif
|
||||||
|
|
||||||
static void __attribute__((unused)) LOLI_send_packet()
|
static void __attribute__((unused)) LOLI_send_packet()
|
||||||
{
|
{
|
||||||
if(IS_BIND_IN_PROGRESS)
|
if(IS_BIND_IN_PROGRESS)
|
||||||
@ -68,12 +72,38 @@ static void __attribute__((unused)) LOLI_send_packet()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if(LOLI_SerialRX)
|
//Check RX config
|
||||||
{// 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[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[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
|
packet[2] = LOLI_P2; // CHx switch bit(8-x)=1
|
||||||
LOLI_SerialRX=false;
|
flags--;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{// Normal packet
|
{// Normal packet
|
||||||
@ -191,6 +221,8 @@ uint16_t LOLI_callback()
|
|||||||
NRF24L01_WriteReg(NRF24L01_07_STATUS, 0x70);
|
NRF24L01_WriteReg(NRF24L01_07_STATUS, 0x70);
|
||||||
NRF24L01_FlushRx();
|
NRF24L01_FlushRx();
|
||||||
packet_count = 0;
|
packet_count = 0;
|
||||||
|
//defaut RX config with servo outputs
|
||||||
|
LOLI_P1=0;LOLI_P2=0;flags=10;
|
||||||
phase++;
|
phase++;
|
||||||
|
|
||||||
case LOLI_DATA1:
|
case LOLI_DATA1:
|
||||||
@ -206,8 +238,12 @@ uint16_t LOLI_callback()
|
|||||||
debugln("");
|
debugln("");
|
||||||
#endif
|
#endif
|
||||||
RX_RSSI = packet[0]<<1;
|
RX_RSSI = packet[0]<<1;
|
||||||
v_lipo1 = (packet[1] << 8) | packet[2];
|
uint16_t val=((packet[1] << 8) | packet[2])/10;
|
||||||
v_lipo2 = (packet[3] << 8) | packet[4];
|
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_link = 1;
|
||||||
telemetry_counter++; // TX LQI counter
|
telemetry_counter++; // TX LQI counter
|
||||||
if(telemetry_lost)
|
if(telemetry_lost)
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
#define VERSION_MAJOR 1
|
#define VERSION_MAJOR 1
|
||||||
#define VERSION_MINOR 3
|
#define VERSION_MINOR 3
|
||||||
#define VERSION_REVISION 2
|
#define VERSION_REVISION 2
|
||||||
#define VERSION_PATCH_LEVEL 00
|
#define VERSION_PATCH_LEVEL 1
|
||||||
|
|
||||||
//******************
|
//******************
|
||||||
// Protocols
|
// Protocols
|
||||||
|
@ -263,10 +263,6 @@ uint8_t packet_in[TELEMETRY_BUFFER_SIZE];//telemetry receiving packets
|
|||||||
bool DSM_SerialRX=false;
|
bool DSM_SerialRX=false;
|
||||||
#endif
|
#endif
|
||||||
#endif // TELEMETRY
|
#endif // TELEMETRY
|
||||||
#ifdef LOLI_NRF24L01_INO
|
|
||||||
bool LOLI_SerialRX=false;
|
|
||||||
uint8_t LOLI_P1=0, LOLI_P2=0;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Callback
|
// Callback
|
||||||
typedef uint16_t (*void_function_t) (void);//pointer to a function with no parameters which return an uint16_t integer
|
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;
|
DSM_SerialRX=true;
|
||||||
}
|
}
|
||||||
#endif
|
#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;
|
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.
|
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.
|
Extended limits supported.
|
||||||
|
|
||||||
@ -1298,7 +1298,17 @@ CH1|CH2|CH3|CH4|CH5|CH6|CH7|CH8
|
|||||||
---|---|---|---|---|---|---|---
|
---|---|---|---|---|---|---|---
|
||||||
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*
|
## MJXQ - *18*
|
||||||
Autobind protocol
|
Autobind protocol
|
||||||
|
Loading…
x
Reference in New Issue
Block a user