mirror of
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module.git
synced 2025-07-01 18:27:53 +00:00
Init WIP
This commit is contained in:
parent
fabb65a2bb
commit
1091a59ae1
@ -261,6 +261,10 @@ uint16_t DSM_RX_callback()
|
||||
&0xF0 => false=1024, true=2048 */
|
||||
DSM_rx_type=packet_in[12];
|
||||
debugln(", num_ch=%d, type=%02X",num_ch, DSM_rx_type);
|
||||
if(sub_protocol==DSM_CLONE)
|
||||
{
|
||||
debugln("Collecting TX MfgId");
|
||||
}
|
||||
eeprom_write_byte((EE_ADDR)temp, DSM_rx_type);
|
||||
CYRF_WriteRegister(CYRF_29_RX_ABORT, 0x20); // Abort RX operation
|
||||
CYRF_SetTxRxMode(TX_EN); // Force end state TX
|
||||
|
@ -529,11 +529,11 @@ void DSM_init()
|
||||
sop_col = (cyrfmfg_id[0] + cyrfmfg_id[1] + cyrfmfg_id[2] + 2) & 0x07;
|
||||
|
||||
//Fix for OrangeRX using wrong DSM_pncodes by preventing access to "Col 8"
|
||||
if(sop_col==0 && sub_protocol != DSMR)
|
||||
{
|
||||
cyrfmfg_id[rx_tx_addr[0]%3]^=0x01; //Change a bit so sop_col will be different from 0
|
||||
sop_col = (cyrfmfg_id[0] + cyrfmfg_id[1] + cyrfmfg_id[2] + 2) & 0x07;
|
||||
}
|
||||
//if(sop_col==0 && sub_protocol != DSMR)
|
||||
//{
|
||||
// cyrfmfg_id[rx_tx_addr[0]%3]^=0x01; //Change a bit so sop_col will be different from 0
|
||||
// sop_col = (cyrfmfg_id[0] + cyrfmfg_id[1] + cyrfmfg_id[2] + 2) & 0x07;
|
||||
//}
|
||||
|
||||
//Calc CRC seed
|
||||
seed = (cyrfmfg_id[0] << 8) + cyrfmfg_id[1];
|
||||
|
@ -67,7 +67,7 @@
|
||||
67,LR12,LR12,LR12_6ch
|
||||
68,Skyartec
|
||||
69,ESKYv2,150V2
|
||||
70,DSM_RX,Multi,CPPM
|
||||
70,DSM_RX,Multi,CloneTX,EraseTX,CPPM
|
||||
71,JJRC345,JJRC345,SkyTmblr
|
||||
72,Q90C
|
||||
73,Kyosho,FHSS,Hype
|
||||
|
@ -179,12 +179,16 @@ const char STR_SUBTYPE_FX[] = "\x04""816\0""620\0""9630";
|
||||
|
||||
#ifdef SEND_CPPM
|
||||
const char STR_SUB_FRSKY_RX[] = "\x07""Multi\0 ""CloneTX""EraseTX""CPPM\0 ";
|
||||
const char STR_SUB_DSM_RX[] = "\x07""Multi\0 ""CloneTX""EraseTX""CPPM\0 ";
|
||||
#define FRCPPM 4
|
||||
#define DSMCPPM 4
|
||||
const char STR_CPPM[] = "\x05""Multi""CPPM\0";
|
||||
#define NBR_CPPM 2
|
||||
#else
|
||||
const char STR_SUB_FRSKY_RX[] = "\x07""Multi\0 ""CloneTX""EraseTX";
|
||||
const char STR_SUB_DSM_RX[] = "\x07""Multi\0 ""CloneTX""EraseTX";
|
||||
#define FRCPPM 3
|
||||
#define DSMCPPM 3
|
||||
#define STR_CPPM NO_SUBTYPE
|
||||
#define NBR_CPPM 0
|
||||
#endif
|
||||
@ -249,7 +253,7 @@ const mm_protocol_definition multi_protocols[] = {
|
||||
{PROTO_DSM, STR_DSM, STR_SUBTYPE_DSM, 6, OPTION_MAXTHR, 0, 1, SW_CYRF, DSM_init, DSM_callback },
|
||||
#endif
|
||||
#if defined(DSM_RX_CYRF6936_INO)
|
||||
{PROTO_DSM_RX, STR_DSM_RX, STR_CPPM, NBR_CPPM, OPTION_NONE, 0, 1, SW_CYRF, DSM_RX_init, DSM_RX_callback },
|
||||
{PROTO_DSM_RX, STR_DSM_RX, STR_SUB_DSM_RX, DSMCPPM, OPTION_NONE, 0, 1, SW_CYRF, DSM_RX_init, DSM_RX_callback },
|
||||
#endif
|
||||
#if defined(E010R5_CYRF6936_INO)
|
||||
{PROTO_E010R5, STR_E010R5, NO_SUBTYPE, 0, OPTION_NONE, 0, 0, SW_CYRF, E010R5_init, E010R5_callback },
|
||||
|
@ -19,7 +19,7 @@
|
||||
#define VERSION_MAJOR 1
|
||||
#define VERSION_MINOR 3
|
||||
#define VERSION_REVISION 3
|
||||
#define VERSION_PATCH_LEVEL 28
|
||||
#define VERSION_PATCH_LEVEL 29
|
||||
|
||||
#define MODE_SERIAL 0
|
||||
|
||||
@ -170,6 +170,12 @@ enum DSM
|
||||
DSM_AUTO = 4,
|
||||
DSMR = 5,
|
||||
};
|
||||
enum DSM_RX
|
||||
{
|
||||
DSM_RX = 0,
|
||||
DSM_CLONE = 1,
|
||||
DSM_ERASE = 2,
|
||||
};
|
||||
enum YD717
|
||||
{
|
||||
YD717 = 0,
|
||||
@ -962,6 +968,10 @@ Serial: 100000 Baud 8e2 _ xxxx xxxx p --
|
||||
DSMX_1F 2
|
||||
DSMX_2F 3
|
||||
DSM_AUTO 4
|
||||
sub_protocol==DSM_RX
|
||||
DSM_RX 0
|
||||
DSM_CLONE 1
|
||||
DSM_ERASE 2
|
||||
sub_protocol==YD717
|
||||
YD717 0
|
||||
SKYWLKR 1
|
||||
|
@ -23,7 +23,7 @@
|
||||
#include <avr/pgmspace.h>
|
||||
|
||||
//#define DEBUG_PIN // Use pin TX for AVR and SPI_CS for STM32 => DEBUG_PIN_on, DEBUG_PIN_off, DEBUG_PIN_toggle
|
||||
//#define DEBUG_SERIAL // Only for STM32_BOARD, compiled with Upload method "Serial"->usart1, "STM32duino bootloader"->USB serial
|
||||
#define DEBUG_SERIAL // Only for STM32_BOARD, compiled with Upload method "Serial"->usart1, "STM32duino bootloader"->USB serial
|
||||
|
||||
#ifdef __arm__ // Let's automatically select the board if arm is selected
|
||||
#define STM32_BOARD
|
||||
|
@ -41,7 +41,7 @@
|
||||
//Modify the channel order based on your TX: AETR, TAER, RETA...
|
||||
//Examples: Flysky & DEVO is AETR, JR/Spektrum radio is TAER, Multiplex is AERT...
|
||||
//Default is AETR.
|
||||
#define AETR
|
||||
#define TAER
|
||||
|
||||
//Uncomment to reverse the direction of the specified channel for all protocols
|
||||
//#define REVERSE_AILERON
|
||||
@ -74,10 +74,10 @@
|
||||
//4-in-1 modules have the A7105, CYRF6936, CC2500 and NRF24L01 RF chips installed
|
||||
//5-in-1 modules have all RF chips installed
|
||||
//!!!If a RF chip is present it MUST be marked as installed!!! or weird things will happen you have been warned.
|
||||
#define A7105_INSTALLED
|
||||
//#define A7105_INSTALLED
|
||||
#define CYRF6936_INSTALLED
|
||||
#define CC2500_INSTALLED
|
||||
#define NRF24L01_INSTALLED
|
||||
//#define NRF24L01_INSTALLED
|
||||
//#define SX1276_INSTALLED // only supported on STM32 modules
|
||||
|
||||
//Uncomment (remove //) if you have an internal 5-in-1 Multi module in a Jumper T18 or T-Lite.
|
||||
@ -158,7 +158,7 @@
|
||||
//If you have 2 Multi modules which you want to share the same ID so you can use either to control the same RC model
|
||||
// then you can force the ID to a certain known value using the lines below.
|
||||
//Default is commented, you should uncoment only for test purpose or if you know exactly what you are doing!!!
|
||||
//#define FORCE_CYRF_ID "\x12\x34\x56\x78\x9A\xBC"
|
||||
//#define FORCE_CYRF_ID "\x7b\xe8\x8b\x40\x9A\xBC"
|
||||
|
||||
|
||||
/****************************/
|
||||
@ -317,7 +317,7 @@
|
||||
//For er9x it depends if you have an inveter mod or not on the telemetry pin. If you don't have an inverter comment this line.
|
||||
#define INVERT_TELEMETRY
|
||||
//For STM32 and OrangeRX modules, comment to prevent the TX from forcing the serial telemetry polarity normal/invert.
|
||||
#define INVERT_TELEMETRY_TX
|
||||
#define INVERT_TELEMETRY_TXs
|
||||
|
||||
//Sends Multi status and allow OpenTX and erskyTX to autodetect the telemetry format. Comment to disable.
|
||||
#define MULTI_TELEMETRY
|
||||
@ -603,7 +603,8 @@ const PPM_Parameters PPM_prot[14*NBR_BANKS]= {
|
||||
DSMX_2F
|
||||
DSMR
|
||||
PROTO_DSM_RX
|
||||
NONE
|
||||
DSM_RX
|
||||
DSM_CLONE
|
||||
PROTO_E010R5
|
||||
NONE
|
||||
PROTO_E016H
|
||||
|
Loading…
x
Reference in New Issue
Block a user