MJXQ/E010: TX IDs vs Freq

This commit is contained in:
pascallanger 2016-12-09 16:54:24 +01:00
parent 55eb39c51d
commit 758779a8f5
2 changed files with 43 additions and 9 deletions

View File

@ -36,6 +36,31 @@ const uint8_t PROGMEM MJXQ_map_rfchan[][4] = {
{0x0A, 0x3C, 0x36, 0x3F},
{0x0A, 0x43, 0x36, 0x3F} };
const uint8_t PROGMEM E010_map_txid[][2] = {
{0x4F, 0x1C},
{0x90, 0x1C},
{0x24, 0x36},
{0x7A, 0x40},
{0x61, 0x31},
{0x5D, 0x37},
{0xFD, 0x4F},
{0x86, 0x3C},
{0x41, 0x22},
{0xEE, 0xB3},
{0x9A, 0xB2} };
const uint8_t PROGMEM E010_map_rfchan[][4] = {
{0x3A, 0x35, 0x4A, 0x45},
{0x2E, 0x36, 0x3E, 0x46},
{0x32, 0x3E, 0x42, 0x4E},
{0x2E, 0x3C, 0x3E, 0x4C},
{0x2F, 0x3B, 0x3F, 0x4B},
{0x33, 0x3B, 0x43, 0x4B},
{0x33, 0x3B, 0x43, 0x4B},
{0x34, 0x3E, 0x44, 0x4E},
{0x3F, 0x34, 0x2F, 0x44},
{0x39, 0x3E, 0x49, 0x4E},
{0x36, 0x3E, 0x46, 0x2E} };
#define MJXQ_PAN_TILT_COUNT 16 // for H26D - match stock tx timing
#define MJXQ_PAN_DOWN 0x08
@ -165,13 +190,19 @@ 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 || sub_protocol == E010)
if (sub_protocol == H26D)
memcpy(hopping_frequency, "\x36\x3e\x46\x2e", MJXQ_RF_NUM_CHANNELS);
else
{
memcpy(hopping_frequency, "\x0a\x35\x42\x3d", MJXQ_RF_NUM_CHANNELS);
memcpy(addr, "\x6d\x6a\x73\x73\x73", MJXQ_ADDRESS_LENGTH);
}
if(sub_protocol == E010)
{
for(uint8_t i=0;i<4;i++)
hopping_frequency[i]=pgm_read_byte_near( &E010_map_rfchan[rx_tx_addr[3]%11][i] );
}
else
{
memcpy(hopping_frequency, "\x0a\x35\x42\x3d", MJXQ_RF_NUM_CHANNELS);
memcpy(addr, "\x6d\x6a\x73\x73\x73", MJXQ_ADDRESS_LENGTH);
}
NRF24L01_Initialize();
@ -215,8 +246,9 @@ static void __attribute__((unused)) MJXQ_initialize_txid()
rx_tx_addr[2]=rx_tx_addr[3]; // Make use of RX_Num
if (sub_protocol == E010)
{
rx_tx_addr[1]=(rx_tx_addr[1]&0xF0)|0x0C;
rx_tx_addr[2]<<=4; // Make use of RX_Num
for(uint8_t i=0;i<2;i++)
rx_tx_addr[i]=pgm_read_byte_near( &E010_map_txid[rx_tx_addr[3]%11][i] );
rx_tx_addr[2]=0;
}
else
for(uint8_t i=0;i<3;i++)

View File

@ -63,7 +63,7 @@
//Comment the protocols you are not using with "//" to save Flash space.
//The protocols below need an A7105 to be installed
#define FLYSKY_A7105_INO
/*#define FLYSKY_A7105_INO
#define HUBSAN_A7105_INO
#define AFHDS2A_A7105_INO
@ -90,13 +90,15 @@
#define V2X2_NRF24L01_INO
#define YD717_NRF24L01_INO
#define MT99XX_NRF24L01_INO
*/
#define MJXQ_NRF24L01_INO
/*
#define SHENQI_NRF24L01_INO
#define FY326_NRF24L01_INO
#define FQ777_NRF24L01_INO
#define ASSAN_NRF24L01_INO
#define HONTAI_NRF24L01_INO
*/
/**************************/
/*** TELEMETRY SETTINGS ***/