#CHIP EFR32 Test Driver
This builds and runs the NLUnitTest on the efr32 device
This builds a test binary which contains the NLUnitTests and can be flashed onto a device. The device is controlled using the included RPCs, through the python test runner.
Download the Simplicity Commander command line tool, and ensure that commander
is your shell search path. (For Mac OS X, commander
is located inside Commander.app/Contents/MacOS/
.)
Download and install a suitable ARM gcc tool chain: GNU Arm Embedded Toolchain 9-2019-q4-major
Install some additional tools(likely already present for CHIP developers):
#Linux sudo apt-get install git libwebkitgtk-1.0-0 ninja-build
#Mac OS X brew install ninja
Supported hardware:
MG12 boards:
MG21 boards: Currently not supported due to RAM limitation.
MG24 boards :
OR use GN/Ninja directly
``` cd ~/connectedhomeip/src/test_driver/efr32/ git submodule update --init source third_party/connectedhomeip/scripts/activate.sh export SILABS_BOARD=BRD4161A gn gen out/debug ninja -C out/debug ```
To delete generated executable, libraries and object files use:
``` cd ~/connectedhomeip/src/test_driver/efr32/ rm -rf out/ ```
Build the runner using gn:
``` cd <connectedhomeip>/src/test_driver/efr32 gn gen out/debug ninja -C out/debug runner ```
Or build using build script from the root
``` cd <connectedhomeip> ./scripts/build/build_examples.py --target linux-x64-nl-test-runner build ```
The runner will be installed into the venv and python wheels will be packaged in the output folder for deploying.
Then the python wheels need to installed using pip3.
``` pip3 install out/debug/chip_nl_test_runner_wheels/*.whl ```
Other python libraries may need to be installed such as
``` pip3 install pyserial ```
To run the tests:
python -m nl_test_runner.nl_test_runner -d /dev/ttyACM1 -f out/debug/matter-silabs-device_tests.s37 -o out.log