42 lines
1.4 KiB
ReStructuredText
42 lines
1.4 KiB
ReStructuredText
.. _target-host-device-simulator:
|
|
|
|
=====================
|
|
Host Device Simulator
|
|
=====================
|
|
This Pigweed target simulates the behavior of an embedded device, spawning
|
|
threads for facilities like RPC and logging. Executables build by this target
|
|
will perpetually run until they crash or are explicitly terminated. All
|
|
communications with the process are over the RPC server hosted on a local
|
|
socket rather than by directly interacting with the terminal via standard I/O.
|
|
|
|
-----
|
|
Setup
|
|
-----
|
|
To use this target, Pigweed must be set up to use nanopb. The required source
|
|
repository can be downloaded via ``pw package``, and then the build must be
|
|
manually configured to point to the location the repository was downloaded to.
|
|
|
|
.. code:: sh
|
|
|
|
pw package install nanopb
|
|
|
|
gn args out
|
|
# Add this line, replacing ${PW_ROOT} with the path to the location that
|
|
# Pigweed is checked out at.
|
|
dir_pw_third_party_nanopb = "${PW_ROOT}/.environment/packages/nanopb"
|
|
|
|
-----------------------------
|
|
Building and running the demo
|
|
-----------------------------
|
|
This target has an associated demo application that can be built and then
|
|
run with the following commands:
|
|
|
|
.. code:: sh
|
|
|
|
ninja -C out pw_system_demo
|
|
|
|
./out/host_device_simulator.speed_optimized/obj/pw_system/bin/system_example
|
|
|
|
To communicate with the launched process, use
|
|
``pw-system-console -s localhost:33000 --proto-globs pw_rpc/echo.proto``.
|