diff --git a/tests/common.sh b/tests/common.sh index 9300717845..0c6ac9540d 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 ] && pwm_phase="--waveform_phase" local testcnt=0 for sketch in $sketches; do testcnt=$(( ($testcnt + 1) % $build_mod )) @@ -104,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 @@ -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') 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