This example demonstrates the usage of Pigweed module functionalities in an application.
The example is based on CHIP, the Pigweed module, which is a collection of libraries that provide different functionalities for embedded systems, and the Ameba platform.
You can use this example as a training ground for making experiments, testing Pigweed module features and checking what actions are necessary to fully integrate Pigweed in a CHIP project.
Pigweed functionalities are being gradually integrated into CHIP. Currently, the following features are available:
Pull docker image:
$ docker pull ghcr.io/project-chip/chip-build-ameba:74
Run docker container:
$ docker run -it -v ${CHIP_DIR}:/root/chip ghcr.io/project-chip/chip-build-ameba:74
Setup build environment:
$ source ./scripts/bootstrap.sh
To build the demo application:
$ ./scripts/build/build_examples.py --target ameba-amebad-pigweed build
The output image files are stored in out/ameba-amebad-pigweed/asdk/image
folder.
The bootloader image files are stored in out/ameba-amebad-pigweed/asdk/bootloader
folder.
After building the application, Ameba Image Tool is used to flash it to Ameba board.
Connect a USB-TTL Adapter as shown below
Ameba USB-TTL A19 TX A18 RX GND GND
Build the chip-rpc console
Reset Ameba board, then launch the chip-rpc console, where the Echo RPC commands can be invoked
python -m pw_hdlc.rpc_console --device /dev/tty<USB-TTL port> -b 115200
To send an Echo RPC message, type the following command, where the actual message is the text in quotation marks after the msg=
phrase:
rpcs.pw.rpc.EchoService.Echo(msg="hi")