mirror of
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module.git
synced 2025-02-04 18:48:11 +00:00
Renamed protocol E016H to E016HV2
This commit is contained in:
parent
f6de3de78c
commit
4ce3a5d298
@ -178,4 +178,4 @@
|
|||||||
52,0,ZSX,280,1,Light
|
52,0,ZSX,280,1,Light
|
||||||
78,0,M-Link,Std,0,CH5,CH6,CH7,CH8,CH9,CH10,CH11,CH12,CH13,CH14,CH15,CH16
|
78,0,M-Link,Std,0,CH5,CH6,CH7,CH8,CH9,CH10,CH11,CH12,CH13,CH14,CH15,CH16
|
||||||
79,0,WFLY2,RF20x,0,CH5,CH6,CH7,CH8,CH9,CH10
|
79,0,WFLY2,RF20x,0,CH5,CH6,CH7,CH8,CH9,CH10
|
||||||
80,0,E016H,E016Hv2,1,TakLan,EmStop,Flip,HLess,RTH
|
80,0,E016Hv2,E016Hv2,1,TakLan,EmStop,Flip,HLess,RTH
|
||||||
|
@ -13,19 +13,19 @@ Multiprotocol is distributed in the hope that it will be useful,
|
|||||||
along with Multiprotocol. If not, see <http://www.gnu.org/licenses/>.
|
along with Multiprotocol. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if defined(E016H_CC2500_INO)
|
#if defined(E016HV2_CC2500_INO)
|
||||||
|
|
||||||
#include "iface_nrf250k.h"
|
#include "iface_nrf250k.h"
|
||||||
|
|
||||||
#define FORCE_E016H_ORIGINAL_ID
|
#define FORCE_E016HV2_ORIGINAL_ID
|
||||||
|
|
||||||
#define E016H_INITIAL_WAIT 500
|
#define E016HV2_INITIAL_WAIT 500
|
||||||
#define E016H_PACKET_PERIOD 10000
|
#define E016HV2_PACKET_PERIOD 10000
|
||||||
#define E016H_RF_BIND_CHANNEL 5
|
#define E016HV2_RF_BIND_CHANNEL 5
|
||||||
#define E016H_PAYLOAD_SIZE 11
|
#define E016HV2_PAYLOAD_SIZE 11
|
||||||
#define E016H_BIND_COUNT 300 //3sec
|
#define E016HV2_BIND_COUNT 300 //3sec
|
||||||
|
|
||||||
static void __attribute__((unused)) E016H_send_packet()
|
static void __attribute__((unused)) E016HV2_send_packet()
|
||||||
{
|
{
|
||||||
//payload length (after this byte)
|
//payload length (after this byte)
|
||||||
packet[0 ] = 0x0A;
|
packet[0 ] = 0x0A;
|
||||||
@ -98,7 +98,7 @@ static void __attribute__((unused)) E016H_send_packet()
|
|||||||
|
|
||||||
// payload
|
// payload
|
||||||
debug("P:")
|
debug("P:")
|
||||||
for (uint8_t i = 0; i < E016H_PAYLOAD_SIZE; ++i)
|
for (uint8_t i = 0; i < E016HV2_PAYLOAD_SIZE; ++i)
|
||||||
{
|
{
|
||||||
uint8_t byte = (bit_reverse(packet[i])<<1) | (packet[i+1]&0x01);
|
uint8_t byte = (bit_reverse(packet[i])<<1) | (packet[i+1]&0x01);
|
||||||
debug(" %02X",byte)
|
debug(" %02X",byte)
|
||||||
@ -115,30 +115,30 @@ static void __attribute__((unused)) E016H_send_packet()
|
|||||||
CC2500_Strobe(CC2500_STX);
|
CC2500_Strobe(CC2500_STX);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint16_t E016H_callback()
|
uint16_t E016HV2_callback()
|
||||||
{
|
{
|
||||||
E016H_send_packet();
|
E016HV2_send_packet();
|
||||||
return E016H_PACKET_PERIOD;
|
return E016HV2_PACKET_PERIOD;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint16_t initE016H()
|
uint16_t initE016HV2()
|
||||||
{
|
{
|
||||||
//Config CC2500
|
//Config CC2500
|
||||||
if(option==0)
|
if(option==0)
|
||||||
option=1; // Select the CC2500
|
option=1; // Select the CC2500
|
||||||
XN297L_Init();
|
XN297L_Init();
|
||||||
XN297L_RFChannel(E016H_RF_BIND_CHANNEL); // Set bind channel
|
XN297L_RFChannel(E016HV2_RF_BIND_CHANNEL); // Set bind channel
|
||||||
|
|
||||||
//need to figure out ID&Freq
|
//need to figure out ID&Freq
|
||||||
#ifdef FORCE_E016H_ORIGINAL_ID
|
#ifdef FORCE_E016HV2_ORIGINAL_ID
|
||||||
rx_tx_addr[2]=0x27;
|
rx_tx_addr[2]=0x27;
|
||||||
rx_tx_addr[3]=0x1B;
|
rx_tx_addr[3]=0x1B;
|
||||||
hopping_frequency_no = 44;
|
hopping_frequency_no = 44;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
bind_counter = E016H_BIND_COUNT;
|
bind_counter = E016HV2_BIND_COUNT;
|
||||||
BIND_IN_PROGRESS; // Autobind protocol
|
BIND_IN_PROGRESS; // Autobind protocol
|
||||||
return E016H_INITIAL_WAIT;
|
return E016HV2_INITIAL_WAIT;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
@ -94,7 +94,7 @@ const char STR_OMP[] ="OMP";
|
|||||||
const char STR_MLINK[] ="M-Link";
|
const char STR_MLINK[] ="M-Link";
|
||||||
const char STR_TEST[] ="Test";
|
const char STR_TEST[] ="Test";
|
||||||
const char STR_NANORF[] ="NanoRF";
|
const char STR_NANORF[] ="NanoRF";
|
||||||
const char STR_E016H[] ="E016Hv2";
|
const char STR_E016HV2[] ="E016Hv2";
|
||||||
|
|
||||||
const char STR_SUBTYPE_FLYSKY[] = "\x04""Std\0""V9x9""V6x6""V912""CX20";
|
const char STR_SUBTYPE_FLYSKY[] = "\x04""Std\0""V9x9""V6x6""V912""CX20";
|
||||||
const char STR_SUBTYPE_HUBSAN[] = "\x04""H107""H301""H501";
|
const char STR_SUBTYPE_HUBSAN[] = "\x04""H107""H301""H501";
|
||||||
@ -213,8 +213,8 @@ const mm_protocol_definition multi_protocols[] = {
|
|||||||
#if defined(DSM_RX_CYRF6936_INO)
|
#if defined(DSM_RX_CYRF6936_INO)
|
||||||
{PROTO_DSM_RX, STR_DSM_RX, 0, NO_SUBTYPE, OPTION_NONE },
|
{PROTO_DSM_RX, STR_DSM_RX, 0, NO_SUBTYPE, OPTION_NONE },
|
||||||
#endif
|
#endif
|
||||||
#if defined(E016H_CC2500_INO)
|
#if defined(E016HV2_CC2500_INO)
|
||||||
{PROTO_E016H, STR_E016H, 0, NO_SUBTYPE, OPTION_RFTUNE },
|
{PROTO_E016HV2, STR_E016HV2, 0, NO_SUBTYPE, OPTION_RFTUNE },
|
||||||
#endif
|
#endif
|
||||||
#if defined(E01X_NRF24L01_INO)
|
#if defined(E01X_NRF24L01_INO)
|
||||||
{PROTO_E01X, STR_E01X, 3, STR_SUBTYPE_E01X, OPTION_OPTION },
|
{PROTO_E01X, STR_E01X, 3, STR_SUBTYPE_E01X, OPTION_OPTION },
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
#define VERSION_MAJOR 1
|
#define VERSION_MAJOR 1
|
||||||
#define VERSION_MINOR 3
|
#define VERSION_MINOR 3
|
||||||
#define VERSION_REVISION 1
|
#define VERSION_REVISION 1
|
||||||
#define VERSION_PATCH_LEVEL 89
|
#define VERSION_PATCH_LEVEL 90
|
||||||
|
|
||||||
//******************
|
//******************
|
||||||
// Protocols
|
// Protocols
|
||||||
@ -105,7 +105,7 @@ enum PROTOCOLS
|
|||||||
PROTO_OMP = 77, // =>CC2500 & NRF24L01
|
PROTO_OMP = 77, // =>CC2500 & NRF24L01
|
||||||
PROTO_MLINK = 78, // =>CYRF6936
|
PROTO_MLINK = 78, // =>CYRF6936
|
||||||
PROTO_WFLY2 = 79, // =>A7105
|
PROTO_WFLY2 = 79, // =>A7105
|
||||||
PROTO_E016H = 80, // =>CC2500 & NRF24L01
|
PROTO_E016HV2 = 80, // =>CC2500 & NRF24L01
|
||||||
|
|
||||||
PROTO_NANORF = 126, // =>NRF24L01
|
PROTO_NANORF = 126, // =>NRF24L01
|
||||||
PROTO_TEST = 127, // =>CC2500
|
PROTO_TEST = 127, // =>CC2500
|
||||||
@ -846,7 +846,7 @@ Serial: 100000 Baud 8e2 _ xxxx xxxx p --
|
|||||||
OMP 77
|
OMP 77
|
||||||
MLINK 78
|
MLINK 78
|
||||||
WFLY2 79
|
WFLY2 79
|
||||||
E016H 80
|
E016HV2 80
|
||||||
BindBit=> 0x80 1=Bind/0=No
|
BindBit=> 0x80 1=Bind/0=No
|
||||||
AutoBindBit=> 0x40 1=Yes /0=No
|
AutoBindBit=> 0x40 1=Yes /0=No
|
||||||
RangeCheck=> 0x20 1=Yes /0=No
|
RangeCheck=> 0x20 1=Yes /0=No
|
||||||
|
@ -1322,12 +1322,12 @@ static void protocol_init()
|
|||||||
remote_callback = RLINK_callback;
|
remote_callback = RLINK_callback;
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
#if defined(E016H_CC2500_INO)
|
#if defined(E016HV2_CC2500_INO)
|
||||||
case PROTO_E016H:
|
case PROTO_E016HV2:
|
||||||
PE1_off;
|
PE1_off;
|
||||||
PE2_on; //antenna RF2
|
PE2_on; //antenna RF2
|
||||||
next_callback = initE016H();
|
next_callback = initE016HV2();
|
||||||
remote_callback = E016H_callback;
|
remote_callback = E016HV2_callback;
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
@ -263,7 +263,7 @@
|
|||||||
#undef SCANNER_CC2500_INO
|
#undef SCANNER_CC2500_INO
|
||||||
#undef FUTABA_CC2500_INO
|
#undef FUTABA_CC2500_INO
|
||||||
#undef SKYARTEC_CC2500_INO
|
#undef SKYARTEC_CC2500_INO
|
||||||
#undef E016H_CC2500_INO
|
#undef E016HV2_CC2500_INO
|
||||||
#endif
|
#endif
|
||||||
#ifndef NRF24L01_INSTALLED
|
#ifndef NRF24L01_INSTALLED
|
||||||
#undef ASSAN_NRF24L01_INO
|
#undef ASSAN_NRF24L01_INO
|
||||||
@ -275,7 +275,7 @@
|
|||||||
#undef CG023_NRF24L01_INO
|
#undef CG023_NRF24L01_INO
|
||||||
#undef CX10_NRF24L01_INO
|
#undef CX10_NRF24L01_INO
|
||||||
#undef DM002_NRF24L01_INO
|
#undef DM002_NRF24L01_INO
|
||||||
#undef E016H_CC2500_INO // Use both CC2500 and NRF code
|
#undef E016HV2_CC2500_INO // Use both CC2500 and NRF code
|
||||||
#undef E01X_NRF24L01_INO
|
#undef E01X_NRF24L01_INO
|
||||||
#undef ESKY_NRF24L01_INO
|
#undef ESKY_NRF24L01_INO
|
||||||
#undef ESKY150_NRF24L01_INO
|
#undef ESKY150_NRF24L01_INO
|
||||||
|
@ -188,7 +188,7 @@
|
|||||||
|
|
||||||
//The protocols below need a CC2500 to be installed
|
//The protocols below need a CC2500 to be installed
|
||||||
#define CORONA_CC2500_INO
|
#define CORONA_CC2500_INO
|
||||||
#define E016H_CC2500_INO
|
#define E016HV2_CC2500_INO
|
||||||
#define ESKY150V2_CC2500_INO //Need both CC2500 and NRF
|
#define ESKY150V2_CC2500_INO //Need both CC2500 and NRF
|
||||||
#define FRSKYL_CC2500_INO
|
#define FRSKYL_CC2500_INO
|
||||||
#define FRSKYD_CC2500_INO
|
#define FRSKYD_CC2500_INO
|
||||||
@ -572,7 +572,7 @@ const PPM_Parameters PPM_prot[14*NBR_BANKS]= {
|
|||||||
DSMX_11
|
DSMX_11
|
||||||
PROTO_DSM_RX
|
PROTO_DSM_RX
|
||||||
NONE
|
NONE
|
||||||
PROTO_E016H
|
PROTO_E016HV2
|
||||||
NONE
|
NONE
|
||||||
PROTO_E01X
|
PROTO_E01X
|
||||||
E012
|
E012
|
||||||
|
@ -76,7 +76,7 @@ CFlie|38|CFlie||||||||NRF24L01|
|
|||||||
[DM002](Protocols_Details.md#DM002---33)|33|DM002||||||||NRF24L01|XN297
|
[DM002](Protocols_Details.md#DM002---33)|33|DM002||||||||NRF24L01|XN297
|
||||||
[DSM](Protocols_Details.md#DSM---6)|6|DSM2_1F|DSM2_2F|DSMX_1F|DSMX_2F|AUTO||||CYRF6936|
|
[DSM](Protocols_Details.md#DSM---6)|6|DSM2_1F|DSM2_2F|DSMX_1F|DSMX_2F|AUTO||||CYRF6936|
|
||||||
[DSM_RX](Protocols_Details.md#DSM_RX---70)|70|RX||||||||CYRF6936|
|
[DSM_RX](Protocols_Details.md#DSM_RX---70)|70|RX||||||||CYRF6936|
|
||||||
[E016H](Protocols_Details.md#E016H---80)|80|E016Hv2||||||||CC2500/NRF24L01|unknown
|
[E016HV2](Protocols_Details.md#E016HV2---80)|80|E016Hv2||||||||CC2500/NRF24L01|unknown
|
||||||
[E01X](Protocols_Details.md#E01X---45)|45|E012|E015|E016H||||||NRF24L01|XN297/HS6200
|
[E01X](Protocols_Details.md#E01X---45)|45|E012|E015|E016H||||||NRF24L01|XN297/HS6200
|
||||||
[ESky](Protocols_Details.md#ESKY---16)|16|ESky|ET4|||||||NRF24L01|
|
[ESky](Protocols_Details.md#ESKY---16)|16|ESky|ET4|||||||NRF24L01|
|
||||||
[ESky150](Protocols_Details.md#ESKY150---35)|35|ESKY150||||||||NRF24L01|
|
[ESky150](Protocols_Details.md#ESKY150---35)|35|ESKY150||||||||NRF24L01|
|
||||||
@ -372,10 +372,10 @@ To bind V2 RXs you must follow the below procedure (original):
|
|||||||
### Sub_protocol FD_V3 - *2*
|
### Sub_protocol FD_V3 - *2*
|
||||||
FlyDream RXs like IS-4R and IS-4R0
|
FlyDream RXs like IS-4R and IS-4R0
|
||||||
|
|
||||||
## E016H - *80*
|
## E016HV2 - *80*
|
||||||
Models: E016H v2
|
Models: E016H v2
|
||||||
|
|
||||||
**Only 1 ID available** so you can't fly multiple E016H at the same time.
|
**Only 1 ID available** so you can't fly multiple E016H v2 at the same time.
|
||||||
|
|
||||||
Option for this protocol corresponds to fine frequency tuning. This value is different for each Module and **must** be accurate otherwise the link will not be stable or bind won't even work.
|
Option for this protocol corresponds to fine frequency tuning. This value is different for each Module and **must** be accurate otherwise the link will not be stable or bind won't even work.
|
||||||
Check the [Frequency Tuning page](/docs/Frequency_Tuning.md) to determine it.
|
Check the [Frequency Tuning page](/docs/Frequency_Tuning.md) to determine it.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user