commit | a7945856e331e1cddb8b190fe7d5c7782268e003 | [log] [tgz] |
---|---|---|
author | Scott James Remnant <keybuk@pigweed.infra.roller.google.com> | Mon Jun 13 23:36:06 2022 +0000 |
committer | CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com> | Mon Jun 13 23:41:17 2022 +0000 |
tree | 2f97c37db008d04aa4f253c2da7cdddb54188d6d | |
parent | 7b69fe4751f1c8aec7e5e574d20f15d2cd396026 [diff] |
[roll third_party/pigweed] pw_protobuf: Don't write empty fixed sized fields Fixed sized fields are an implementation detail of pw_protobuf, and should behave identically on-wire to those implemented with pw::Vector. This means not encoding when they have a zero (default) value, for compatibility with other protobuf implementations. Confirmation that this is correct behavior is that after this, tests for certain fields no longer need to include expected zero values of random other fields. Original-Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/97901 https://pigweed.googlesource.com/pigweed/pigweed third_party/pigweed Rolled-Commits: 19f3a3d1077c6fc..9a41bfeb2355143 Roller-URL: https://ci.chromium.org/b/8811429182687464257 Cq-Cl-Tag: roller-builder:pigweed-experimental-roller Cq-Cl-Tag: roller-bid:8811429182687464257 CQ-Do-Not-Cancel-Tryjobs: true Change-Id: Id160ea56ceb1f673f8ac8ab5ca7dae4105d62e61 Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/experimental/+/97950 Bot-Commit: Pigweed Integration Roller <pigweed-integration-roller@pigweed.google.com.iam.gserviceaccount.com> Commit-Queue: Pigweed Integration Roller <pigweed-integration-roller@pigweed.google.com.iam.gserviceaccount.com>
This repository contains experimental pigweed modules.
Clone this repo with --recursive
to get all required submodules.
git clone --recursive https://pigweed.googlesource.com/pigweed/experimental
This will pull the Pigweed source repository into third_party/pigweed
. If you already cloned but forgot to --recursive
run git submodule update --init
to pull all submodules.
The //pw_graphics folder contains some libraries for drawing to an RGB565 framebuffer and displaying it on various platforms.
The demo applications that make use of these libraries are:
First time setup:
git clone --recursive https://pigweed.googlesource.com/pigweed/experimental cd experimental . ./bootstrap.sh pw package install imgui pw package install glfw pw package install stm32cube_f4
Compile:
gn gen out --export-compile-commands --args=" dir_pw_third_party_stm32cube_f4=\"$PROJECT_DIR/.environment/packages/stm32cube_f4\" " ninja -C out
Flash:
openocd -f third_party/pigweed/targets/stm32f429i_disc1/py/stm32f429i_disc1_utils/openocd_stm32f4xx.cfg -c "program out/stm32f429i_disc1_stm32cube_debug/obj/applications/terminal_display/bin/terminal_demo.elf verify reset exit"
Compile:
gn gen out --export-compile-commands --args=" dir_pw_third_party_imgui=\"$PROJECT_DIR/.environment/packages/imgui\" " ninja -C out
Run:
out/host_debug/obj/applications/terminal_display/bin/terminal_demo
Clone the pico-sdk repo:
cd $HOME git clone https://github.com/raspberrypi/pico-sdk
Compile:
gn gen out --export-compile-commands --args=" PICO_SRC_DIR=\"$HOME/pico-sdk\" " ninja -C out
Create a uf2 file for flashing the Pico with:
./out/host_debug/obj/targets/rp2040/bin/elf2uf2 ./out/rp2040/obj/applications/terminal_display/bin/terminal_demo.elf ./out/rp2040/obj/applications/terminal_display/bin/terminal_demo.uf2
Copy ./out/rp2040/obj/applications/terminal_display/bin/terminal_demo.uf2
to your Pi Pico.