diff --git a/Multiprotocol/MJXQ_nrf24l01.ino b/Multiprotocol/MJXQ_nrf24l01.ino
index 9ca6f5e..556b178 100644
--- a/Multiprotocol/MJXQ_nrf24l01.ino
+++ b/Multiprotocol/MJXQ_nrf24l01.ino
@@ -12,7 +12,7 @@
You should have received a copy of the GNU General Public License
along with Multiprotocol. If not, see .
*/
-// compatible with MJX WLH08, X600, X800, H26D
+// compatible with MJX WLH08, X600, X800, H26D, Eachine E010
// Last sync with hexfet new_protocols/mjxq_nrf24l01.c dated 2016-01-17
#if defined(MJXQ_NRF24L01_INO)
@@ -92,6 +92,12 @@ static void __attribute__((unused)) MJXQ_send_packet(uint8_t bind)
// Servo_AUX7 AUTOFLIP // X800, X600
switch(sub_protocol)
{
+ case E010:
+ packet[10] = GET_FLAG(Servo_AUX5, 0x01) //HEADLESS
+ | GET_FLAG(Servo_AUX6, 0x02); //RTH
+ if (!bind)
+ packet[14] = GET_FLAG(Servo_AUX1, 0x04); //FLIP
+ break;
case H26D:
packet[10]=MJXQ_pan_tilt_value();
// fall through on purpose - no break
@@ -169,7 +175,7 @@ static void __attribute__((unused)) MJXQ_init()
if (sub_protocol == WLH08)
memcpy(hopping_frequency, "\x12\x22\x32\x42", MJXQ_RF_NUM_CHANNELS);
else
- if (sub_protocol == H26D)
+ if (sub_protocol == H26D || sub_protocol == E010)
memcpy(hopping_frequency, "\x36\x3e\x46\x2e", MJXQ_RF_NUM_CHANNELS);
else
{
@@ -193,7 +199,10 @@ static void __attribute__((unused)) MJXQ_init()
NRF24L01_WriteReg(NRF24L01_02_EN_RXADDR, 0x01); // Enable data pipe 0 only
NRF24L01_WriteReg(NRF24L01_04_SETUP_RETR, 0x00); // no retransmits
NRF24L01_WriteReg(NRF24L01_11_RX_PW_P0, MJXQ_PACKET_SIZE); // rx pipe 0 (used only for blue board)
- NRF24L01_SetBitrate(NRF24L01_BR_1M); // 1Mbps
+ if (sub_protocol == E010)
+ NRF24L01_SetBitrate(NRF24L01_BR_250K); // 250K
+ else
+ NRF24L01_SetBitrate(NRF24L01_BR_1M); // 1Mbps
NRF24L01_SetPower();
}
@@ -202,18 +211,25 @@ static void __attribute__((unused)) MJXQ_init2()
if (sub_protocol == H26D)
memcpy(hopping_frequency, "\x32\x3e\x42\x4e", MJXQ_RF_NUM_CHANNELS);
else
- if (sub_protocol == WLH08)
+ if (sub_protocol != WLH08 && sub_protocol != E010)
for(uint8_t i=0;i