From 7da6d52a846608fdf17eedced8c1f8afc479151b Mon Sep 17 00:00:00 2001 From: pascallanger Date: Fri, 1 Dec 2023 10:58:56 +0100 Subject: [PATCH] CYRF data codes are always 16 Removed useless function argument LOSI now points to the DSM data codes = dependency on DSM --- Multiprotocol/CYRF6936_SPI.ino | 6 +++--- Multiprotocol/DSM.ino | 10 +++++----- Multiprotocol/DSM_Rx_cyrf6936.ino | 6 +++--- Multiprotocol/DSM_cyrf6936.ino | 8 ++++---- Multiprotocol/J6Pro_cyrf6936.ino | 2 +- Multiprotocol/Losi_cyrf6936.ino | 17 +++++++++++------ Multiprotocol/MLINK_cyrf6936.ino | 4 ++-- Multiprotocol/Multiprotocol.h | 2 +- Multiprotocol/Validate.h | 3 +++ Multiprotocol/_Config.h | 2 +- Multiprotocol/iface_cyrf6936.h | 2 +- Protocols_Details.md | 2 -- 12 files changed, 35 insertions(+), 29 deletions(-) diff --git a/Multiprotocol/CYRF6936_SPI.ino b/Multiprotocol/CYRF6936_SPI.ino index 722c787..abef608 100644 --- a/Multiprotocol/CYRF6936_SPI.ino +++ b/Multiprotocol/CYRF6936_SPI.ino @@ -195,11 +195,11 @@ void CYRF_ConfigSOPCode(const uint8_t *sopcodes) CYRF_WriteRegisterMulti(CYRF_22_SOP_CODE, sopcodes, 8); } -void CYRF_ConfigDataCode(const uint8_t *datacodes, uint8_t len) +void CYRF_ConfigDataCode(const uint8_t *datacodes) { //NOTE: This can also be implemented as: - //for(i = 0; i < len; i++) WriteRegister)0x23, datacodes[i]; - CYRF_WriteRegisterMulti(CYRF_23_DATA_CODE, datacodes, len); + //for(i = 0; i < 16; i++) WriteRegister)0x23, datacodes[i]; + CYRF_WriteRegisterMulti(CYRF_23_DATA_CODE, datacodes, 16); } void CYRF_WritePreamble(uint32_t preamble) diff --git a/Multiprotocol/DSM.ino b/Multiprotocol/DSM.ino index 1902ef1..a6edad7 100644 --- a/Multiprotocol/DSM.ino +++ b/Multiprotocol/DSM.ino @@ -65,7 +65,7 @@ const uint8_t PROGMEM DSM_pncodes[5][9][8] = { }, }; -static void __attribute__((unused)) DSM_read_code(uint8_t *buf, uint8_t row, uint8_t col, uint8_t len) +static void __attribute__((unused)) DSM_read_code(uint8_t *buf, uint8_t row, uint8_t col) { for(uint8_t i=0;i> 12; #endif diff --git a/Multiprotocol/MLINK_cyrf6936.ino b/Multiprotocol/MLINK_cyrf6936.ino index cf833e2..3f0d0ef 100644 --- a/Multiprotocol/MLINK_cyrf6936.ino +++ b/Multiprotocol/MLINK_cyrf6936.ino @@ -421,7 +421,7 @@ uint16_t MLINK_callback() case MLINK_PREP_DATA: - CYRF_ConfigDataCode(MLINK_Data_Code,16); + CYRF_ConfigDataCode(MLINK_Data_Code); MLINK_CRC_Init += 0xED; hopping_frequency_no = 0x00; CYRF_ConfigRFChannel(hopping_frequency[hopping_frequency_no]); @@ -597,7 +597,7 @@ void MLINK_init() { packet_count = 0; bind_counter = MLINK_BIND_COUNT; - CYRF_ConfigDataCode((uint8_t*)"\x6F\xBE\x32\x01\xDB\xF1\x2B\x01\xE3\x5C\xFA\x02\x97\x93\xF9\x02",16); //Bind data code + CYRF_ConfigDataCode((uint8_t*)"\x6F\xBE\x32\x01\xDB\xF1\x2B\x01\xE3\x5C\xFA\x02\x97\x93\xF9\x02"); //Bind data code CYRF_ConfigRFChannel(MLINK_BIND_CHANNEL); phase = MLINK_BIND_TX; } diff --git a/Multiprotocol/Multiprotocol.h b/Multiprotocol/Multiprotocol.h index 39ccf9f..4d0dcbf 100644 --- a/Multiprotocol/Multiprotocol.h +++ b/Multiprotocol/Multiprotocol.h @@ -19,7 +19,7 @@ #define VERSION_MAJOR 1 #define VERSION_MINOR 3 #define VERSION_REVISION 3 -#define VERSION_PATCH_LEVEL 40 +#define VERSION_PATCH_LEVEL 41 #define MODE_SERIAL 0 diff --git a/Multiprotocol/Validate.h b/Multiprotocol/Validate.h index 8cc99e2..4c34331 100644 --- a/Multiprotocol/Validate.h +++ b/Multiprotocol/Validate.h @@ -352,6 +352,9 @@ #undef V911S_CCNRF_INO #undef XK_CCNRF_INO #endif +#if not defined(DSM_CYRF6936_INO) + #undef LOSI_CYRF6936_INO +#endif #if not defined(STM32_BOARD) //RF2500 emulation does not work on atmega... #undef E010R5_CYRF6936_INO diff --git a/Multiprotocol/_Config.h b/Multiprotocol/_Config.h index bbf619f..e70c12d 100644 --- a/Multiprotocol/_Config.h +++ b/Multiprotocol/_Config.h @@ -191,7 +191,7 @@ //#define E01X_CYRF6936_INO #define E129_CYRF6936_INO #define J6PRO_CYRF6936_INO -//#define LOSI_CYRF6936_INO +#define LOSI_CYRF6936_INO //Need DSM to be enabled #define MLINK_CYRF6936_INO #define SCORPIO_CYRF6936_INO #define TRAXXAS_CYRF6936_INO diff --git a/Multiprotocol/iface_cyrf6936.h b/Multiprotocol/iface_cyrf6936.h index cf96f2c..433548a 100644 --- a/Multiprotocol/iface_cyrf6936.h +++ b/Multiprotocol/iface_cyrf6936.h @@ -85,7 +85,7 @@ void CYRF_SetPower(u8 power); void CYRF_ConfigCRCSeed(u16 crc); static void CYRF_StartReceive(); void CYRF_ConfigSOPCode(const u8 *sopcodes); -void CYRF_ConfigDataCode(const u8 *datacodes, u8 len); +void CYRF_ConfigDataCode(const u8 *datacodes); static u8 CYRF_ReadRSSI(u32 dodummyread); static void CYRF_ReadDataPacket(u8 dpbuffer[]); void CYRF_WriteDataPacket(const u8 dpbuffer[]); diff --git a/Protocols_Details.md b/Protocols_Details.md index a8f5559..a5f92e0 100644 --- a/Protocols_Details.md +++ b/Protocols_Details.md @@ -640,8 +640,6 @@ A|E|T|R|CH5|CH6|CH7|CH8|CH9|CH10|CH11|CH12 ## Losi - *89* TX: LSR-3000 -**Only 1 ID available**. More IDs can be added if you dump your original TX. - Extended limits supported CH1|CH2|CH3