diff --git a/BootLoaders/package_multi_4in1_board_index.json b/BootLoaders/package_multi_4in1_board_index.json index a76b919..b0a68c6 100644 --- a/BootLoaders/package_multi_4in1_board_index.json +++ b/BootLoaders/package_multi_4in1_board_index.json @@ -134,6 +134,24 @@ ], "toolsDependencies": [] }, + { + "name": "Multi 4-in-1 AVR Boards", + "architecture": "avr", + "version": "1.0.9", + "category": "Contributed", + "help": { + "online": "https://github.com/pascallanger/DIY-Multiprotocol-TX-Module" + }, + "url": "https://github.com/pascallanger/DIY-Multiprotocol-TX-Module-Boards/raw/master/archives/package_multi_4in1_avr_board_v1.0.9.tar.gz", + "archiveFileName": "package_multi_4in1_avr_board_v1.0.9.tar.gz", + "checksum": "SHA-256:269c4ddcb8018be2b31f5c9e9f0814d120af492e894b8d5098a814486d56faa5", + "size": "318437", + "boards": [ + {"name": "Multi 4-in-1 (Atmega328p, 3.3V, 16MHz)"}, + {"name": "Multi 4-in-1 (OrangeRX)"} + ], + "toolsDependencies": [] + }, { "name": "Multi 4-in-1 STM32 Board", "architecture": "STM32F1", @@ -449,6 +467,27 @@ "version": "4.8.3-2014q1" }] }, + { + "name": "Multi 4-in-1 STM32 Board", + "architecture": "STM32F1", + "version": "1.1.6", + "category": "Contributed", + "help": { + "online": "https://github.com/pascallanger/DIY-Multiprotocol-TX-Module" + }, + "url": "https://github.com/pascallanger/DIY-Multiprotocol-TX-Module-Boards/raw/master/archives/package_multi_4in1_stm32_board_v1.1.6.tar.gz", + "archiveFileName": "package_multi_4in1_stm32_board_v1.1.6.tar.gz", + "checksum": "SHA-256:d2d1ef721bbcdc3c680c6f98b4b8ab394478ac0f82d67af2f6c389a4a30789f4", + "size": "7962942", + "boards": [{ + "name": "Multi 4-in-1 (STM32F103C)" + }], + "toolsDependencies": [{ + "packager": "arduino", + "name": "arm-none-eabi-gcc", + "version": "4.8.3-2014q1" + }] + }, { "name": "Multi 4-in-1 OrangeRX Board - DEPRECATED, USE MULTI 4-IN-1 AVR BOARDS PACKAGE INSTEAD", "architecture": "orangerx", diff --git a/Multiprotocol/Multiprotocol.ino b/Multiprotocol/Multiprotocol.ino index edeba94..50ae887 100644 --- a/Multiprotocol/Multiprotocol.ino +++ b/Multiprotocol/Multiprotocol.ino @@ -1970,3 +1970,20 @@ static uint32_t random_id(uint16_t address, uint8_t create_new) } } #endif + +// Set the flags for detecting and writing the firmware signature +#if defined (CHECK_FOR_BOOTLOADER) + bool firmwareFlag_CHECK_FOR_BOOTLOADER = true; +#endif +#if defined (MULTI_STATUS) + bool firmwareFlag_MULTI_STATUS = true; +#endif +#if defined (MULTI_TELEMETRY) + bool firmwareFlag_MULTI_TELEMETRY = true; +#endif +#if defined (INVERT_TELEMETRY) + bool firmwareFlag_INVERT_TELEMETRY = true; +#endif +#if defined (DEBUG_SERIAL) + bool firmwareFlag_DEBUG_SERIAL = true; +#endif diff --git a/Multiprotocol/Validate.h b/Multiprotocol/Validate.h index 72ceb75..2694e83 100644 --- a/Multiprotocol/Validate.h +++ b/Multiprotocol/Validate.h @@ -193,6 +193,7 @@ #undef HITEC_CC2500_INO #undef XN297L_CC2500_EMU #undef SCANNER_CC2500_INO + #undef FRSKYX_RX_CC2500_INO #endif #ifndef NRF24L01_INSTALLED #undef BAYANG_NRF24L01_INO @@ -250,13 +251,20 @@ #undef MULTI_STATUS #undef MULTI_TELEMETRY #undef SCANNER_TELEMETRY + #undef SCANNER_CC2500_INO #undef FRSKYX_RX_TELEMETRY + #undef FRSKYX_RX_CC2500_INO #else - #if defined MULTI_TELEMETRY && not defined INVERT_TELEMETRY - #warning MULTI_TELEMETRY has been defined but not INVERT_TELEMETRY. They should be both enabled for OpenTX telemetry and status to work. + #if defined(MULTI_TELEMETRY) && defined(MULTI_STATUS) + #error You should choose either MULTI_TELEMETRY or MULTI_STATUS but not both. #endif - #if not defined(SCANNER_CC2500_INO) + #if not defined(SCANNER_CC2500_INO) || not defined(SCANNER_TELEMETRY) #undef SCANNER_TELEMETRY + #undef SCANNER_CC2500_INO + #endif + #if not defined(FRSKYX_RX_CC2500_INO) || not defined(FRSKYX_RX_TELEMETRY) + #undef FRSKYX_RX_TELEMETRY + #undef FRSKYX_RX_CC2500_INO #endif #if not defined(BAYANG_NRF24L01_INO) #undef BAYANG_HUB_TELEMETRY @@ -264,7 +272,7 @@ #if not defined(NCC1701_NRF24L01_INO) #undef NCC1701_HUB_TELEMETRY #endif - #if not ( defined(BUGS_A7105_INO) || defined(BUGSMINI_NRF24L01_INO) ) + #if not defined(BUGS_A7105_INO) || not defined(BUGSMINI_NRF24L01_INO) #undef BUGS_HUB_TELEMETRY #endif #if not defined(CABELL_NRF24L01_INO) @@ -297,7 +305,7 @@ #if not defined(DSM_CYRF6936_INO) #undef DSM_TELEMETRY #endif - #if not defined(DSM_TELEMETRY) && not defined(SPORT_TELEMETRY) && not defined(HUB_TELEMETRY) && not defined(HUBSAN_HUB_TELEMETRY) && not defined(BUGS_HUB_TELEMETRY) && not defined(NCC1701_HUB_TELEMETRY) && not defined(BAYANG_HUB_TELEMETRY) && not defined(CABELL_HUB_TELEMETRY) && not defined(AFHDS2A_HUB_TELEMETRY) && not defined(AFHDS2A_FW_TELEMETRY) && not defined(MULTI_TELEMETRY) && not defined(MULTI_STATUS) && not defined(HITEC_HUB_TELEMETRY) && not defined(HITEC_FW_TELEMETRY) && not defined(SCANNER_TELEMETRY) + #if not defined(DSM_TELEMETRY) && not defined(SPORT_TELEMETRY) && not defined(HUB_TELEMETRY) && not defined(HUBSAN_HUB_TELEMETRY) && not defined(BUGS_HUB_TELEMETRY) && not defined(NCC1701_HUB_TELEMETRY) && not defined(BAYANG_HUB_TELEMETRY) && not defined(CABELL_HUB_TELEMETRY) && not defined(AFHDS2A_HUB_TELEMETRY) && not defined(AFHDS2A_FW_TELEMETRY) && not defined(MULTI_TELEMETRY) && not defined(MULTI_STATUS) && not defined(HITEC_HUB_TELEMETRY) && not defined(HITEC_FW_TELEMETRY) && not defined(SCANNER_TELEMETRY) && not defined(FRSKYX_RX_TELEMETRY) #undef TELEMETRY #undef INVERT_TELEMETRY #undef SPORT_POLLING