tree: 56e8d138f59734fe346653df366588c0c76455d4 [path history] [tgz]
  1. BUILD.gn
  2. README.md
  3. main.cc
  4. tokenizer_database.csv
workshop/04-kvs/README.md

KVS with Logging

00:
Setup

Intro + setup.

01:
Blinky

Getting to blinky.

02:
Testing

Writing tests.

03:
RPC

Calling RPCs.

04:
KVS

Key Value Store.

05:
FactoryTest

Testing in the factory.

Build and Flash

Instructions are the same as flashing blinky but passing in a different .elf.

  1. Run the compile with pw watch or ninja -C out.

  2. Flash kvs.elf.

    Teensy

    arduino_unit_test_runner --verbose --config out/arduino_debug/gen/arduino_builder_config.json --upload-tool teensyloader --flash-only out/arduino_debug/obj/workshop/04-kvs/bin/kvs.elf
    

    stm32f429i_disc1

    openocd -s ${PW_PIGWEED_CIPD_INSTALL_DIR}/share/openocd/scripts -f ${PW_ROOT}/targets/stm32f429i_disc1/py/stm32f429i_disc1_utils/openocd_stm32f4xx.cfg -c "program out/stm32f429i_disc1_debug/obj/workshop/04-kvs/bin/kvs.elf reset exit"
    

View HDLC Encoded Log Output

  1. Optional: Create / update the log token database. This will be automatically updated when compiling.

    python -m pw_tokenizer.database create --force --database workshop/04-kvs/tokenizer_database.csv out/arduino_debug/obj/workshop/04-kvs/bin/kvs.elf
    
  2. Start the rpc_console that saves log output to a file.

    python -m pw_hdlc.rpc_console -o logfile.txt -d /dev/ttyACM0 ./third_party/pigweed/pw_rpc/echo.proto
    
  3. Tail the log output.

    python -m pw_tokenizer.detokenize base64 workshop/04-kvs/tokenizer_database.csv -i logfile.txt --follow