roll: third_party/pigweed-experimental c169d25..2302ab9 (89 commits)

2302ab9:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/284912 Update nanopb to 0.4.9.1
e1c4ef4:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/285252 roll: third_party/pigweed Revert "pw_bluetooth_sapphire: SCO Offload Index config"
a04f616:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/285133 roll: third_party/pigweed roll: gn
83ba2a0:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/285092 roll: third_party/pigweed roll: luci
164d2e1:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/285052 roll: third_party/pigweed roll: bazelisk-as-bazel
dfb8d2b:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/284972 roll: third_party/pigweed pw_rpc: Add a test for finding a servers max echo packet size
3aba98b:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/284795 roll: third_party/pigweed pw_kernel: Add mps2-an505 specific target
fe3ec60:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/284893 roll: third_party/pigweed 99d01a3..662d5e8 (6 commits)
5d95a63:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/284792 roll: third_party/pigweed bcefbab..99d01a3 (4 commits)
c617573:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/284656 roll: third_party/pigweed 6667d2c..bcefbab (3 commits)
417d6dd:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/284714 roll: third_party/pigweed pw_toolchain: Remove Rust WORKSPACE helper
d201ecd:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/284654 roll: third_party/pigweed 6dc3d69..0e9a0e5 (5 commits)
979e279:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/284281 roll: third_party/pigweed third_party/apollo4: Use pw_external_apollo4 in gn
ab39fe0:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/284295 roll: third_party/pigweed 8e230dd..dc95087 (5 commits)
968dce5:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/284274 roll: third_party/pigweed 996359c..8e230dd (2 commits)
2390d98:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/284175 roll: third_party/pigweed 80512ef..996359c (2 commits)
b792872:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/284173 roll: third_party/pigweed df60e9e..80512ef (2 commits)
fcd4bd0:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/284132 roll: third_party/pigweed 4fa03e9..df60e9e (2 commits)
9edf524:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/283937 roll: third_party/pigweed 69c343a..4fa03e9 (2 commits)
5a12c27:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/283935 roll: third_party/pigweed 67b5300..69c343a (7 commits)
6ab87ac:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/283892 roll: third_party/pigweed f1c1ba7..67b5300 (7 commits)
26b720d:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/283595 roll: third_party/pigweed roll: gn
4573f0f:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/283552 roll: third_party/pigweed roll: luci
eba7f77:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/283492 roll: third_party/pigweed roll: ninja
fbdd88a:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/283352 roll: third_party/pigweed roll: cmake
957b38e:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/283155 roll: third_party/pigweed 28f8cdb..6c414a1 (2 commits)
1e5a783:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/283154 roll: third_party/pigweed fd726e0..28f8cdb (2 commits)
82c983f:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/283192 roll: third_party/pigweed 0379712..fd726e0 (2 commits)
6007d77:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/282818 roll: third_party/pigweed 68222f9..0379712 (7 commits)
09fe2ff:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/282817 roll: third_party/pigweed a23c49e..68222f9 (9 commits)
679fd3c:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/282652 roll: third_party/pigweed pw_bluetooth: Add AVDTP abort command
a24e268:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/282433 roll: third_party/pigweed pw_bluetooth_sapphire: Acquire wake leases in SignalingChannel
97be1aa:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/282152 roll: third_party/pigweed pw_tokenizer: Add more Python tools to Bazel
ada5769:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/282052 roll: third_party/pigweed pw_transfer: Add Number() coercion for 64-bit int proto field access
4b367f7:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/281853 roll: third_party/pigweed 12489e3..2452fa9 (3 commits)
89f098c:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/281753 roll: third_party/pigweed roll: go
0e8c948:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/281592 roll: third_party/pigweed roll: luci
eee89fb:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/281472 roll: third_party/pigweed f59444c..90d1391 (12 commits)
541d4d4:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/281412 roll: third_party/pigweed pw_unit_test: Run RPC-based tests on dedicated thread
d66c457:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/281353 roll: third_party/pigweed 7fcc58e..74fc655 (2 commits)
c7efb33:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/281272 roll: third_party/pigweed 7beeec2..7fcc58e (8 commits)
af4aa44:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/281153 roll: third_party/pigweed cc646fb..7beeec2 (3 commits)
3ddd8e7:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/281112 roll: third_party/pigweed pw_build: Use __COUNTER__ instead of __LINE__ for unique marker
5d152d0:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/281032 roll: third_party/pigweed 231ff06..4a1180f (3 commits)
9bcf052:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/280952 roll: third_party/pigweed ea3cdbd..231ff06 (2 commits)
975f751:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/280658 roll: third_party/pigweed 0512437..ea3cdbd (3 commits)
711ff97:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/280633 roll: third_party/pigweed 2dad233..0512437 (4 commits)
834714c:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/280652 roll: third_party/pigweed 97a53b1..2dad233 (2 commits)
babd9c7:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/280532 roll: third_party/pigweed pw_interrupt_xtensa: Remove module
b05a952:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/280452 roll: third_party/pigweed Revert "pw_build: Use --output_base for build_dir"
9e85343:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/280413 roll: third_party/pigweed pw_console: Remove SO_REUSEPORT from SocketClient
f041610:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/279942 roll: third_party/pigweed roll: gn
d165c74:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/280193 roll: third_party/pigweed pw_rpc: Update soong rules for pwpb & pwpb_rpc
f8d369b:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/280172 roll: third_party/pigweed roll: luci
0d7e7dc:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/279940 roll: third_party/pigweed c18cd91..61b5a37 (2 commits)
e44f948:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/279937 roll: third_party/pigweed b21016a..c18cd91 (7 commits)
da3712c:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/279954 roll: third_party/pigweed pw_bluetooth: Add AVDTP Start, Continue & End signaling header
9ca3129:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/279935 roll: third_party/pigweed pw_bloat: Fix GN build for size report generation
65f710e:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/279932 roll: third_party/pigweed pw_sync: Support yield on riscv64
13daf49:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/279874 roll: third_party/pigweed pw_stream_shmem_mcuxpresso: Add write timeout option
a543692:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/279774 roll: third_party/pigweed c837726..1040a27 (3 commits)
ff92b4a:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/279772 roll: third_party/pigweed pw_bluetooth_sapphire: Add field to LowEnergyScanResult
a8ae02f:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/279387 roll: third_party/pigweed 7941b5b..d2241c7 (2 commits)
232fade:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/279632 roll: third_party/pigweed a63c499..7941b5b (2 commits)
de62326:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/278680 roll: third_party/pigweed 982bc7d..a63c499 (8 commits)
73682c6:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/279392 roll: third_party/pigweed pw_bluetooth_sapphire: Fix basic_mode_rx_engine_fuzzer
31fa38a:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/279212 roll: third_party/pigweed 7d91dfc..1e464ac (2 commits)
fdbc43e:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/279072 roll: third_party/pigweed 7f2b75e..7d91dfc (5 commits)
1ab3c03:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/278832 roll: third_party/pigweed 8dab133..7f2b75e (5 commits)
74b05eb:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/278692 roll: third_party/pigweed pw_bluetooth_sapphire: Fix UBSAN failures in l2cap fuzz tests
21ae4b1:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/278476 roll: third_party/pigweed 011a081..2861b6a (4 commits)
0bccf75:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/278316 roll: third_party/pigweed 244b3d0..011a081 (3 commits)
7a6c131:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/278472 roll: third_party/pigweed aa22856..244b3d0 (8 commits)
39713f8:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/278252 roll: third_party/pigweed roll: luci
e05c0a5:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/278132 roll: third_party/pigweed 7da28ca..d6d2201 (2 commits)
110024f:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/277974 roll: third_party/pigweed bfcbc2f..7da28ca (3 commits)
4cbc034:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/277993 roll: third_party/pigweed c0b3d6a..bfcbc2f (4 commits)
f527a86:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/277927 roll: third_party/pigweed 4207345..c0b3d6a (4 commits)
ca95f06:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/277836 roll: third_party/pigweed 2d204c8..4207345 (4 commits)
6d3cdec:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/277914 roll: third_party/pigweed 6a36094..2d204c8 (2 commits)
2f608eb:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/277834 roll: third_party/pigweed 69aedd9..6a36094 (9 commits)
45863f1:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/277872 roll: third_party/pigweed 62025f5..69aedd9 (2 commits)
38eb657:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/277652 roll: third_party/pigweed pw_bluetooth_proxy: Remove connection reuse log
44a0738:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/277407 roll: third_party/pigweed 2eda860..322d5ee (2 commits)
d56f7e0:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/277274 roll: third_party/pigweed 8f74673..2eda860 (17 commits)
67b5ce9:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/277273 roll: third_party/pigweed 382464c..8f74673 (8 commits)
f1bb9d3:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/277254 roll: third_party/pigweed pw_tokenizer: Enable conversion warnings in Bazel
52e99b7:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/277094 roll: third_party/pigweed 1bfa6aa..a3d0ae7 (2 commits)
f93c921:https://pigweed-review.googlesource.com/c/pigweed/experimental/+/277073 roll: third_party/pigweed f0e1180..1bfa6aa (9 commits)

Rolled-Repo: https://pigweed.googlesource.com/pigweed/experimental
Rolled-Commits: c169d25ef50705..2302ab927255f0
Roll-Count: 1
Roller-URL: https://cr-buildbucket.appspot.com/build/8716907010635144321
GitWatcher: ignore
CQ-Do-Not-Cancel-Tryjobs: true
Change-Id: I25133c944cb5dffd10c2aae4ea0e34b83c0b865c
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/kudzu/+/285492
Commit-Queue: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com>
Lint: Lint 🤖 <android-build-ayeaye@system.gserviceaccount.com>
1 file changed
tree: cb9b1af1e5db86c1bda2ea820c6410b6d55d6b1e
  1. applications/
  2. build_overrides/
  3. lib/
  4. pcb/
  5. targets/
  6. third_party/
  7. tools/
  8. .bazelignore
  9. .bazelrc
  10. .bazelversion
  11. .gitignore
  12. .gitmodules
  13. .gn
  14. activate.bat
  15. banner.txt
  16. bootstrap.bat
  17. bootstrap.fish
  18. bootstrap.sh
  19. BUILD.gn
  20. BUILDCONFIG.gn
  21. OWNERS
  22. pigweed.json
  23. README.md
  24. WORKSPACE
README.md

Kudzu

Getting Started

Make sure you've set up Pigweed's prerequisites.

If you're on Windows, you can automate the initial setup by downloading the first-time setup script from cmd.exe:

curl https://pigweed.googlesource.com/pigweed/sample_project/+/main/tools/setup_windows_prerequisites.bat?format=TEXT > setup_pigweed_prerequisites.b64 && certutil -decode -f setup_pigweed_prerequisites.b64 setup_pigweed_prerequisites.bat && del setup_pigweed_prerequisites.b64

Then you can run the script with the following command in cmd.exe:

setup_pigweed_prerequisites.bat

Note: You may see a few UAC prompts as the script installs Git, Python, and enables developer mode.

Once that is done, you can clone this project with the following command:

git clone https://pigweed.googlesource.com/pigweed/kudzu

Environment setup

Pigweed uses a local development environment for most of its tools. This means tools are not installed to your machine, and are instead stored in a directory inside your project (Note: git ignores this directory). The tools are temporarily added to the PATH of the current shell session.

To make sure the latest tooling has been fetched and set up, run the bootstrap command for your operating system:

Windows

bootstrap.bat

Linux & Mac

source ./bootstrap.sh

After tooling updates, you might need to run bootstrap again to ensure the latest tools.

After the initial bootstrap, you can use use the activate scripts to configure the current shell for development without doing a full update.

Windows

activate.bat

Linux & Mac

source ./activate.sh

Device tools setup

Install the pico SDK and tool to flash the device.

pw package install pico_sdk
pw package install picotool

These packages will be built and added to the path automatically. There is no need to add these to the gn arguments.

Linux Setup

GLFW Dependency:

Install the GLFW OpenGL library

sudo apt install libglfw3-dev libglfw3

Udev Rules:

Put the following into /usr/lib/udev/rules.d/49-picoprobe.rules

# Pico app mode
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2e8a", ATTRS{idProduct}=="000a", MODE:="0666"
KERNEL=="ttyACM*", ATTRS{idVendor}=="2e8a", ATTRS{idProduct}=="000a", MODE:="0666", SYMLINK+="rp2040"

# RP2 Boot
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2e8a", ATTRS{idProduct}=="0003", MODE:="0666"
KERNEL=="ttyACM*", ATTRS{idVendor}=="2e8a", ATTRS{idProduct}=="0003", MODE:="0666", SYMLINK+="rp2040"

# Picoprobe
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2e8a", ATTRS{idProduct}=="0004", MODE:="0666"
KERNEL=="ttyACM*", ATTRS{idVendor}=="2e8a", ATTRS{idProduct}=="0004", MODE:="0666", SYMLINK+="picoprobe"

This will also symlink /dev/picoprobe and /dev/rp2040 to the respective vendor and product ids.

Apply the above rules with:

sudo udevadm control --reload-rules
sudo udevadm trigger

Compile:

pw build

Run:

Host

Run the host app and connect to it via pw console:

./out/gn/host_device_simulator.speed_optimized/obj/applications/badge/bin/badge & \
  pw console --socket-addr default ; \
  killall badge

Kudzu

export ELF=./out/gn/rp2040.size_optimized/obj/applications/badge/bin/badge.elf

picotool reboot -f -u && \
  sleep 3 && \
  picotool load -x $ELF

Connect with pw console:

pw console --verbose \
  --baudrate 115200 \
  --token-databases ./out/gn/rp2040.size_optimized/obj/applications/badge/bin/badge.elf \
  --device /dev/rp2040

From Python Repl window you can issue RPCs interactively:

>>> device.rpcs.kudzu.rpc.Kudzu.PackageTemp()
(Status.OK, kudzu.rpc.PackageTempResponse(temp=27.60657501220703))