Adde missing check for optional auto_detect parameter in CLI options.
Test procedure:
* Check with mbed-ls installed:
$ singletest.py --auto -j 8
MBEDLS: Detecting connected mbed-enabled devices...
MBEDLS: Detected K64F, port: COM61, mounted: E:
Building library CMSIS (K64F, ARM)
Copy: startup_MK64F12.o
Copy: sys.o
Copy: cmsis_nvic.o
Copy: system_MK64F12.o
* Uninstall mbed-ls iools:
$ pip uninstall mbed-ls
Uninstalling mbed-ls:
c:\python27\lib\site-packages\mbed_ls-0.1.4-py2.7.egg
c:\python27\scripts\mbedls-script.py
c:\python27\scripts\mbedls.exe
c:\python27\scripts\mbedls.exe.manifest
Proceed (y/n)? y
Successfully uninstalled mbed-ls
$ mbedls
'mbedls' is not recognized as an internal or external command,
operable program or batch file.
$ python
Python 2.7.8 (default, Jun 30 2014, 16:03:49) [MSC v.1500 32 bit (Intel)] win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import mbed_lstools
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named mbed_lstools
* Check singletest.py work flow without mbed-ls:
$ singletest.py -i test_spec.json -M muts_all.json
Building library CMSIS (K64F, ARM)
Building library MBED (K64F, ARM)
Building project DETECT (K64F, ARM)
TargetTest::K64F::ARM::DTCT_1::Simple detect test [OK] in 0.50 of 10 sec
Building project DEV_NULL (K64F, ARM)
TargetTest::K64F::ARM::EXAMPLE_1::/dev/null [OK] in 3.49 of 20 sec
Building project HELLO (K64F, ARM)
TargetTest::K64F::ARM::MBED_10::Hello World [OK] in 0.38 of 5 sec
Building project TICKER (K64F, ARM)
TargetTest::K64F::ARM::MBED_11::Ticker Int [OK] in 11.35 of 15 sec
Boolean value used to calclate single RTC test PASS / FAIL was not used to
calculate overall result.
==== ISSUE ====
The test suite treats the RTC test as successful, but test itself reports
failures. Which one is correct – does it fail or does it pass? See below:
HOST: Run test...
MBED: [0] [1970-01-01 00:00:00 AM]
HOST: [0] [1970-01-01 00:00:00 AM] received time +0 sec after 4.02 sec... FAIL
MBED: [0] [1970-01-01 00:00:00 AM]
HOST: [0] [1970-01-01 00:00:00 AM] received time +0 sec after 1.04 sec... FAIL
MBED: [0] [1970-01-01 00:00:00 AM]
HOST: [0] [1970-01-01 00:00:00 AM] received time +0 sec after 1.04 sec... FAIL
MBED: [0] [1970-01-01 00:00:00 AM]
HOST: [0] [1970-01-01 00:00:00 AM] received time +0 sec after 1.03 sec... FAIL
MBED: [0] [1970-01-01 00:00:00 AM]
HOST: [0] [1970-01-01 00:00:00 AM] received time +0 sec after 1.04 sec... FAIL
{{success}}
{{end}}
Test::Output::Finish
TargetTest::ARM_MPS2_M4::ARM::MBED_16::RTC [OK] in 30.37 of 40 sec
==== FIX ====
HOST: Run test...
MBED: [0] [1970-01-01 00:00:00 AM]
HOST: [0] [1970-01-01 00:00:00 AM] received time +0 sec after 0.04 sec... FAIL
MBED: [0] [1970-01-01 00:00:00 AM]
HOST: [0] [1970-01-01 00:00:00 AM] received time +0 sec after 1.04 sec... FAIL
MBED: [0] [1970-01-01 00:00:00 AM]
HOST: [0] [1970-01-01 00:00:00 AM] received time +0 sec after 1.04 sec... FAIL
MBED: [0] [1970-01-01 00:00:00 AM]
HOST: [0] [1970-01-01 00:00:00 AM] received time +0 sec after 1.04 sec... FAIL
MBED: [0] [1970-01-01 00:00:00 AM]
HOST: [0] [1970-01-01 00:00:00 AM] received time +0 sec after 1.04 sec... FAIL
{{failure}}
{{end}}
I moved the exit handler from exit.c to retarget.cpp where the rest of
the standard C library retargetting routines are found. The exported
makefiles already explicitly link in retarget.o but not exit.o
When building with the GNU toolchain, it is safest to link in the
object file directly for retargetting routines so that GNU linker has
to use these versions of the routines.
Testing:
I have only tested this change with GCC_ARM. It should really be
tested with more toolchains before getting merged.
Activated the I2CSlave functions. Slave block read/write operations are fully supported. The slave byte read and writes need general modification to I2CSlave.cpp. See pending Issue.
Activated the PWM functions. They are supported now using the SCT after updating us_ticker() to use the MRT instead of the SCT.
Added PWM support for the LPC812 using the SCT. Code was ported from LPC824 libs.
First needed to modify us_ticker() to free up the SCT and use the MRT instead.
PWM can support a maximum of 4 channels using any portpin. All channels will use the same period.