From 5533b74c90ad14d5177b6d6529ddd38abb5dc2c1 Mon Sep 17 00:00:00 2001 From: david gauchard Date: Fri, 20 Nov 2020 19:24:33 +0100 Subject: [PATCH 01/12] every other ci builder uses waveform phase lock --- tests/common.sh | 6 ++++-- tools/build.py | 4 ++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/tests/common.sh b/tests/common.sh index 9300717845..72f8655e5c 100755 --- a/tests/common.sh +++ b/tests/common.sh @@ -66,6 +66,8 @@ function build_sketches() local sketches=$(find $srcpath -name *.ino | sort) print_size_info >size.log export ARDUINO_IDE_PATH=$arduino + local pwm_phase="" + [ $(( $build_rem % 2 )) -eq 0 ] && local pwm_phase="--waveform_phase" local testcnt=0 for sketch in $sketches; do testcnt=$(( ($testcnt + 1) % $build_mod )) @@ -112,8 +114,8 @@ function build_sketches() export MSYS2_ARG_CONV_EXC="*" export MSYS_NO_PATHCONV=1 fi - echo "$build_cmd $sketch" - time ($build_cmd $sketch >build.log) + echo "$build_cmd $pwm_phase $sketch" + time ($build_cmd $pwm_phase $sketch >build.log) local result=$? if [ $result -ne 0 ]; then echo "Build failed ($1)" diff --git a/tools/build.py b/tools/build.py index efb1409ba7..791ac30e2a 100755 --- a/tools/build.py +++ b/tools/build.py @@ -69,6 +69,8 @@ def compile(tmp_dir, sketch, cache, tools_dir, hardware_dir, ide_path, f, args): 'ResetMethod=nodemcu'.format(**vars(args)) if args.debug_port and args.debug_level: fqbn += 'dbg={debug_port},lvl={debug_level}'.format(**vars(args)) + if args.waveform_phase: + fqbn += ',waveform=phase' cmd += [fqbn] cmd += ['-built-in-libraries', ide_path + '/libraries'] cmd += ['-ide-version=10607'] @@ -115,6 +117,8 @@ def parse_args(): type=int, choices=[40, 80]) parser.add_argument('--debug_port', help='Debug port', choices=['Serial', 'Serial1']) + parser.add_argument('--waveform_phase', action='store_true', + help='Select waveform locked on phase') parser.add_argument('--debug_level', help='Debug level') parser.add_argument('--build_cache', help='Build directory to cache core.a', default='') parser.add_argument('sketch_path', help='Sketch file path') From 0d16bde551f68543c983f68a529c15f2f77fceb4 Mon Sep 17 00:00:00 2001 From: david gauchard Date: Fri, 20 Nov 2020 19:25:25 +0100 Subject: [PATCH 02/12] fix indentation --- tests/common.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/common.sh b/tests/common.sh index 72f8655e5c..6b13a01135 100755 --- a/tests/common.sh +++ b/tests/common.sh @@ -106,7 +106,7 @@ function build_sketches() fi echo -e "\n ------------ Building $sketch ------------ \n"; # $arduino --verify $sketch; - if [ "$WINDOWS" == "1" ]; then + if [ "$WINDOWS" == "1" ]; then sketch=$(echo $sketch | sed 's/^\/c//') # MINGW will try to be helpful and silently convert args that look like paths to point to a spot inside the MinGW dir. This breaks everything. # http://www.mingw.org/wiki/Posix_path_conversion From 86187255585a6402d05ccfcedf6a244dae0a6871 Mon Sep 17 00:00:00 2001 From: david gauchard Date: Fri, 20 Nov 2020 19:25:42 +0100 Subject: [PATCH 03/12] arduino-1.8.10->13 in CI --- tests/common.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/common.sh b/tests/common.sh index 6b13a01135..d9103691c4 100755 --- a/tests/common.sh +++ b/tests/common.sh @@ -152,7 +152,7 @@ function install_ide() #local idever='nightly' #local ideurl='https://www.arduino.cc/download.php?f=/arduino-nightly' - local idever='1.8.10' + local idever='1.8.13' local ideurl="https://downloads.arduino.cc/arduino-$idever" echo "using Arduino IDE distribution ${idever}" From 0942666cbfbecf68e818b65253933e5ec59bc0a1 Mon Sep 17 00:00:00 2001 From: david gauchard Date: Fri, 20 Nov 2020 19:26:00 +0100 Subject: [PATCH 04/12] same defaults for PIO as in IDE --- tools/platformio-build.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/platformio-build.py b/tools/platformio-build.py index 6620b37401..38b8aa82d2 100644 --- a/tools/platformio-build.py +++ b/tools/platformio-build.py @@ -240,9 +240,9 @@ def scons_patched_match_splitext(path, suffixes=None): # # Waveform # -if "PIO_FRAMEWORK_ARDUINO_WAVEFORM_LOCKED_PWM" in flatten_cppdefines: - env.Append(CPPDEFINES=[("WAVEFORM_LOCKED_PWM", 1)]) -# PIO_FRAMEWORK_ARDUINO_WAVEFORM_LOCKED_PHASE will be used by default +if "PIO_FRAMEWORK_ARDUINO_WAVEFORM_LOCKED_PHASE" in flatten_cppdefines: + env.Append(CPPDEFINES=[("WAVEFORM_LOCKED_PHASE", 1)]) +# PIO_FRAMEWORK_ARDUINO_WAVEFORM_LOCKED_PWM will be used by default # # VTables From 2ad51e7ff53b64df91e3d71d37a0767d7d8a0c0a Mon Sep 17 00:00:00 2001 From: david gauchard Date: Fri, 20 Nov 2020 20:07:44 +0100 Subject: [PATCH 05/12] with arduino-1.8.12 --- tests/common.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/common.sh b/tests/common.sh index d9103691c4..237adec695 100755 --- a/tests/common.sh +++ b/tests/common.sh @@ -152,7 +152,7 @@ function install_ide() #local idever='nightly' #local ideurl='https://www.arduino.cc/download.php?f=/arduino-nightly' - local idever='1.8.13' + local idever='1.8.12' local ideurl="https://downloads.arduino.cc/arduino-$idever" echo "using Arduino IDE distribution ${idever}" From cc37ecfda1149ef8f9f97d879f044f7ee6cb1541 Mon Sep 17 00:00:00 2001 From: david gauchard Date: Fri, 20 Nov 2020 20:16:00 +0100 Subject: [PATCH 06/12] try with 1.8.10 like before --- tests/common.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/common.sh b/tests/common.sh index 237adec695..6b13a01135 100755 --- a/tests/common.sh +++ b/tests/common.sh @@ -152,7 +152,7 @@ function install_ide() #local idever='nightly' #local ideurl='https://www.arduino.cc/download.php?f=/arduino-nightly' - local idever='1.8.12' + local idever='1.8.10' local ideurl="https://downloads.arduino.cc/arduino-$idever" echo "using Arduino IDE distribution ${idever}" From 6ca298b911dd55aebaa927c8d97a17e3f93d3fdd Mon Sep 17 00:00:00 2001 From: david gauchard Date: Fri, 20 Nov 2020 20:26:11 +0100 Subject: [PATCH 07/12] use arduino-1.8.10->13 in CI --- tests/common.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/common.sh b/tests/common.sh index 6b13a01135..d9103691c4 100755 --- a/tests/common.sh +++ b/tests/common.sh @@ -152,7 +152,7 @@ function install_ide() #local idever='nightly' #local ideurl='https://www.arduino.cc/download.php?f=/arduino-nightly' - local idever='1.8.10' + local idever='1.8.13' local ideurl="https://downloads.arduino.cc/arduino-$idever" echo "using Arduino IDE distribution ${idever}" From 99c8ca3a56a9120b680297754f400841588187a4 Mon Sep 17 00:00:00 2001 From: david gauchard Date: Fri, 20 Nov 2020 20:32:18 +0100 Subject: [PATCH 08/12] use temporary pragma to show which waveform flavour is used in CI --- cores/esp8266/core_esp8266_waveform_phase.cpp | 2 ++ cores/esp8266/core_esp8266_waveform_pwm.cpp | 2 ++ 2 files changed, 4 insertions(+) diff --git a/cores/esp8266/core_esp8266_waveform_phase.cpp b/cores/esp8266/core_esp8266_waveform_phase.cpp index 62e3ad3dd5..00a3d4c181 100644 --- a/cores/esp8266/core_esp8266_waveform_phase.cpp +++ b/cores/esp8266/core_esp8266_waveform_phase.cpp @@ -41,6 +41,8 @@ #ifdef WAVEFORM_LOCKED_PHASE +#pragma message "waveform: locked phase flavour" + #include "core_esp8266_waveform_phase.h" #include #include "ets_sys.h" diff --git a/cores/esp8266/core_esp8266_waveform_pwm.cpp b/cores/esp8266/core_esp8266_waveform_pwm.cpp index aea88e15b9..8f4a09e136 100644 --- a/cores/esp8266/core_esp8266_waveform_pwm.cpp +++ b/cores/esp8266/core_esp8266_waveform_pwm.cpp @@ -40,6 +40,8 @@ #ifndef WAVEFORM_LOCKED_PHASE +#pragma message "waveform: locked pwm flavour" + #include #include "ets_sys.h" #include "core_esp8266_waveform_pwm.h" From 706a5d9cfb83694120d1e06d98ae125aec52d1d2 Mon Sep 17 00:00:00 2001 From: david gauchard Date: Fri, 20 Nov 2020 20:33:39 +0100 Subject: [PATCH 09/12] arduno-1.8.13 definitely doesn't work in this environment - left for another PR, back to .10 --- tests/common.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/common.sh b/tests/common.sh index d9103691c4..6b13a01135 100755 --- a/tests/common.sh +++ b/tests/common.sh @@ -152,7 +152,7 @@ function install_ide() #local idever='nightly' #local ideurl='https://www.arduino.cc/download.php?f=/arduino-nightly' - local idever='1.8.13' + local idever='1.8.10' local ideurl="https://downloads.arduino.cc/arduino-$idever" echo "using Arduino IDE distribution ${idever}" From bb04754d6bb96ea117f3cbe6995b2eb1197925b3 Mon Sep 17 00:00:00 2001 From: david gauchard Date: Fri, 20 Nov 2020 20:42:26 +0100 Subject: [PATCH 10/12] CI: force logging without error/warning --- cores/esp8266/core_esp8266_waveform_phase.cpp | 2 -- cores/esp8266/core_esp8266_waveform_pwm.cpp | 2 -- tests/common.sh | 2 ++ 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/cores/esp8266/core_esp8266_waveform_phase.cpp b/cores/esp8266/core_esp8266_waveform_phase.cpp index 00a3d4c181..62e3ad3dd5 100644 --- a/cores/esp8266/core_esp8266_waveform_phase.cpp +++ b/cores/esp8266/core_esp8266_waveform_phase.cpp @@ -41,8 +41,6 @@ #ifdef WAVEFORM_LOCKED_PHASE -#pragma message "waveform: locked phase flavour" - #include "core_esp8266_waveform_phase.h" #include #include "ets_sys.h" diff --git a/cores/esp8266/core_esp8266_waveform_pwm.cpp b/cores/esp8266/core_esp8266_waveform_pwm.cpp index 8f4a09e136..aea88e15b9 100644 --- a/cores/esp8266/core_esp8266_waveform_pwm.cpp +++ b/cores/esp8266/core_esp8266_waveform_pwm.cpp @@ -40,8 +40,6 @@ #ifndef WAVEFORM_LOCKED_PHASE -#pragma message "waveform: locked pwm flavour" - #include #include "ets_sys.h" #include "core_esp8266_waveform_pwm.h" diff --git a/tests/common.sh b/tests/common.sh index 6b13a01135..8180caa5eb 100755 --- a/tests/common.sh +++ b/tests/common.sh @@ -130,6 +130,8 @@ function build_sketches() cat build.log fi fi +# TEMPORARY TESTING +cat build.log rm build.log print_size_info $build_dir/*.elf >>size.log done From 4ae97e5306a27a65376a10470c8ab199358fe4ae Mon Sep 17 00:00:00 2001 From: david gauchard Date: Fri, 20 Nov 2020 21:24:09 +0100 Subject: [PATCH 11/12] remove superfluous local --- tests/common.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/common.sh b/tests/common.sh index 8180caa5eb..17f9162277 100755 --- a/tests/common.sh +++ b/tests/common.sh @@ -67,7 +67,7 @@ function build_sketches() print_size_info >size.log export ARDUINO_IDE_PATH=$arduino local pwm_phase="" - [ $(( $build_rem % 2 )) -eq 0 ] && local pwm_phase="--waveform_phase" + [ $(( $build_rem % 2 )) -eq 0 ] && pwm_phase="--waveform_phase" local testcnt=0 for sketch in $sketches; do testcnt=$(( ($testcnt + 1) % $build_mod )) From c48b2ad15bdf6a93cacfb87e78eac66bb27441da Mon Sep 17 00:00:00 2001 From: david gauchard Date: Fri, 20 Nov 2020 21:24:57 +0100 Subject: [PATCH 12/12] remove forced logging --- tests/common.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/tests/common.sh b/tests/common.sh index 17f9162277..0c6ac9540d 100755 --- a/tests/common.sh +++ b/tests/common.sh @@ -130,8 +130,6 @@ function build_sketches() cat build.log fi fi -# TEMPORARY TESTING -cat build.log rm build.log print_size_info $build_dir/*.elf >>size.log done