diff --git a/Multiprotocol/LOLI_nrf24l01.ino b/Multiprotocol/LOLI_nrf24l01.ino index af8bddb..01aed60 100644 --- a/Multiprotocol/LOLI_nrf24l01.ino +++ b/Multiprotocol/LOLI_nrf24l01.ino @@ -84,7 +84,7 @@ static void __attribute__((unused)) LOLI_send_packet() if(Channel_data[CH2+8] > CHANNEL_MAX_COMMAND) P1|=LOLI_FLAG_PWM2; //ch5: SBUS - if(Channel_data[CH7+8] > CHANNEL_SWITCH) + if(Channel_data[CH5+8] > CHANNEL_SWITCH) P1|=LOLI_FLAG_SBUS; //ch7: PWM if(Channel_data[CH7+8] > CHANNEL_MAX_COMMAND) @@ -167,6 +167,8 @@ enum{ LOLI_SET_FAILSAFE }; +#define LOLI_WRITE_TIME 1000 + uint16_t LOLI_callback() { switch (phase) @@ -270,15 +272,17 @@ uint16_t LOLI_callback() #ifdef LOLI_HUB_TELEMETRY phase ++; - return 2000; + return LOLI_WRITE_TIME; case LOLI_DATA2: + // Wait for packet to be sent + while( (NRF24L01_ReadReg(NRF24L01_07_STATUS) & _BV(NRF24L01_07_TX_DS)) == 0); // Switch to RX mode NRF24L01_SetTxRxMode(TXRX_OFF); NRF24L01_FlushRx(); NRF24L01_SetTxRxMode(RX_EN); NRF24L01_WriteReg(NRF24L01_00_CONFIG, 0x3b); // 8bit CRC, RX phase = LOLI_DATA1; - return 18000; + return 20000 - LOLI_WRITE_TIME; #else break; #endif diff --git a/Multiprotocol/Multiprotocol.h b/Multiprotocol/Multiprotocol.h index 8dca583..0db9a27 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 5 +#define VERSION_PATCH_LEVEL 6 //****************** // Protocols diff --git a/Multiprotocol/TX_Def.h b/Multiprotocol/TX_Def.h index 0a47263..b54f4c1 100644 --- a/Multiprotocol/TX_Def.h +++ b/Multiprotocol/TX_Def.h @@ -35,16 +35,16 @@ #endif //Channel MIN MAX values -#define CHANNEL_MAX_100 1844 // 100% -#define CHANNEL_MIN_100 204 // 100% -#define CHANNEL_MAX_125 2047 // 125% -#define CHANNEL_MIN_125 0 // 125% +#define CHANNEL_MAX_100 1844 // +100% +#define CHANNEL_MIN_100 204 // -100% +#define CHANNEL_MAX_125 2047 // +125% +#define CHANNEL_MIN_125 0 // -125% #define CHANNEL_MID 1024 -#define CHANNEL_MIN_COMMAND 784 // 1350us -#define CHANNEL_SWITCH 1104 // 1550us -#define CHANNEL_MAX_COMMAND 1424 // 1750us +#define CHANNEL_MIN_COMMAND 409 // -75% +#define CHANNEL_SWITCH 1106 // +10% +#define CHANNEL_MAX_COMMAND 1639 // +75% //Channel definitions #define CH1 0