From 8bea5b125b12d91a74f1d592299c861143fb555b Mon Sep 17 00:00:00 2001 From: Ben Lye Date: Wed, 7 Nov 2018 14:54:17 +0000 Subject: [PATCH] Tweak protocol builds (#199) --- .travis.yml | 63 ++++++++------------------------------- buildroot/bin/opt_disable | 2 +- buildroot/bin/opt_enable | 2 +- 3 files changed, 14 insertions(+), 53 deletions(-) diff --git a/.travis.yml b/.travis.yml index d282c22..59989fe 100644 --- a/.travis.yml +++ b/.travis.yml @@ -43,6 +43,7 @@ before_install: # - buildMulti() { arduino --verify --board $BOARD Multiprotocol/Multiprotocol.ino; } - buildProtocol() { opt_disable $ALL_PROTOCOLS; opt_enable $1; buildMulti; } + - buildEachProtocol() { exitcode=0; for PROTOCOL in $ALL_PROTOCOLS ; do echo Building $PROTOCOL; buildProtocol $PROTOCOL; if [ $? -ne 0 ]; then exitcode=1; fi; echo; done; return $exitcode; } # install: true before_script: @@ -52,11 +53,15 @@ before_script: # Log the initial Multi config - cat Multiprotocol/_Config.h # Derive the Multi protocols from the Multi source - - A7105_PROTOCOLS=$(sed -n 's/[\/\/]*[[:blank:]]*#define[[:blank:]]*\([[:alnum:]]*_A7105_INO\)\(.*\)/\1/p' Multiprotocol/_Config.h) - - CC2500_PROTOCOLS=$(sed -n 's/[\/\/]*[[:blank:]]*#define[[:blank:]]*\([[:alnum:]]*_CC2500_INO\)\(.*\)/\1/p' Multiprotocol/_Config.h) - - CYRF6936_PROTOCOLS=$(sed -n 's/[\/\/]*[[:blank:]]*#define[[:blank:]]*\([[:alnum:]]*_CYRF6936_INO\)\(.*\)/\1/p' Multiprotocol/_Config.h) - - NRF24L01_PROTOCOLS=$(sed -n 's/[\/\/]*[[:blank:]]*#define[[:blank:]]*\([[:alnum:]]*_NRF24L01_INO\)\(.*\)/\1/p' Multiprotocol/_Config.h) - - ALL_PROTOCOLS=$(echo $A7105_PROTOCOLS $CC2500_PROTOCOLS $CYRF6936_PROTOCOLS $NRF24L01_PROTOCOLS) + - A7105_PROTOCOLS=$(sed -n 's/[\/\/]*[[:blank:]]*#define[[:blank:]]*\([[:alnum:]_]*_A7105_INO\)\(.*\)/\1/p' Multiprotocol/_Config.h) + - CC2500_PROTOCOLS=$(sed -n 's/[\/\/]*[[:blank:]]*#define[[:blank:]]*\([[:alnum:]_]*_CC2500_INO\)\(.*\)/\1/p' Multiprotocol/_Config.h) + - CYRF6936_PROTOCOLS=$(sed -n 's/[\/\/]*[[:blank:]]*#define[[:blank:]]*\([[:alnum:]_]*_CYRF6936_INO\)\(.*\)/\1/p' Multiprotocol/_Config.h) + - NRF24L01_PROTOCOLS=$(sed -n 's/[\/\/]*[[:blank:]]*#define[[:blank:]]*\([[:alnum:]_]*_NRF24L01_INO\)\(.*\)/\1/p' Multiprotocol/_Config.h) + - if [[ "$BOARD" =~ "multi4in1:avr:multixmega32d4" ]]; then + ALL_PROTOCOLS=$(echo $CYRF6936_PROTOCOLS); + else + ALL_PROTOCOLS=$(echo $A7105_PROTOCOLS $CC2500_PROTOCOLS $CYRF6936_PROTOCOLS $NRF24L01_PROTOCOLS); + fi - echo $ALL_PROTOCOLS # # Enable CHECK_FOR_BOOTLOADER when needed @@ -88,49 +93,5 @@ script: - opt_enable ENABLE_SERIAL - opt_enable ENABLE_PPM # - # Build each A7150 protocol - - buildProtocol AFHDS2A_A7105_INO - - buildProtocol FLYSKY_A7105_INO - - buildProtocol HUBSAN_A7105_INO - - buildProtocol BUGS_A7105_INO - # - # Build each CC2500 protocol - - buildProtocol CORONA_CC2500_INO - - buildProtocol FRSKYD_CC2500_INO - - buildProtocol FRSKYV_CC2500_INO - - buildProtocol FRSKYX_CC2500_INO - - buildProtocol HITEC_CC2500_INO - - buildProtocol SFHSS_CC2500_INO - # - # Build each CYRF6936 protocol - - buildProtocol DEVO_CYRF6936_INO - - buildProtocol DSM_CYRF6936_INO - - buildProtocol J6PRO_CYRF6936_INO - - buildProtocol WFLY_CYRF6936_INO - - buildProtocol WK2x01_CYRF6936_INO - # - # Build each NRF24L01 protocol - - buildProtocol ASSAN_NRF24L01_INO - - buildProtocol BAYANG_NRF24L01_INO - - buildProtocol CABELL_NRF24L01_INO - - buildProtocol CFLIE_NRF24L01_INO - - buildProtocol CG023_NRF24L01_INO - - buildProtocol CX10_NRF24L01_INO - - buildProtocol DM002_NRF24L01_INO - - buildProtocol ESKY_NRF24L01_INO - - buildProtocol ESKY150_NRF24L01_INO - - buildProtocol FQ777_NRF24L01_INO - - buildProtocol FY326_NRF24L01_INO - - buildProtocol GW008_NRF24L01_INO - - buildProtocol HISKY_NRF24L01_INO - - buildProtocol HONTAI_NRF24L01_INO - - buildProtocol H8_3D_NRF24L01_INO - - buildProtocol KN_NRF24L01_INO - - buildProtocol MJXQ_NRF24L01_INO - - buildProtocol MT99XX_NRF24L01_INO - - buildProtocol Q303_NRF24L01_INO - - buildProtocol SHENQI_NRF24L01_INO - - buildProtocol SLT_NRF24L01_INO - - buildProtocol SYMAX_NRF24L01_INO - - buildProtocol V2X2_NRF24L01_INO - - buildProtocol YD717_NRF24L01_INO + # Build each protocol individually + - buildEachProtocol diff --git a/buildroot/bin/opt_disable b/buildroot/bin/opt_disable index 26ead15..9a2515a 100755 --- a/buildroot/bin/opt_disable +++ b/buildroot/bin/opt_disable @@ -3,5 +3,5 @@ SED=$(which gsed || which sed) for opt in "$@" ; do - eval "${SED} -i 's/\([[:blank:]]*\)\(#define[[:blank:]]*\b${opt}\b\)/\1\/\/\2/g' Multiprotocol/_Config.h" + eval "${SED} -i 's/^\([[:blank:]]*\)\(#define[[:blank:]]*\b${opt}\b\)/\1\/\/\2/g' Multiprotocol/_Config.h" done diff --git a/buildroot/bin/opt_enable b/buildroot/bin/opt_enable index f1a5b81..6dacbb1 100755 --- a/buildroot/bin/opt_enable +++ b/buildroot/bin/opt_enable @@ -3,5 +3,5 @@ SED=$(which gsed || which sed) for opt in "$@" ; do - eval "${SED} -i 's/\/\/[[:blank:]]*\(#define[[:blank:]]*\b${opt}\b\)/\1/g' Multiprotocol/_Config.h" + eval "${SED} -i 's/\/\{2,\}[[:blank:]]*\(#define[[:blank:]]*\b${opt}\b\)/\1/g' Multiprotocol/_Config.h" done