commit | 2920e1126be520d364dc5ad77e22dbcdcfdd61bc | [log] [tgz] |
---|---|---|
author | pigweed-roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com> | Thu Nov 14 09:11:53 2024 +0000 |
committer | CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com> | Thu Nov 14 09:11:53 2024 +0000 |
tree | ed8f4d06a5c8328e186bc4a2ac93be73b6760d3e | |
parent | 0c22c8feb457dc4a579cf8e8cb9326e05d8a3105 [diff] |
roll: third_party/pigweed c99ca8a..6165aa4 (26 commits) 6165aa4:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/245754 pw_i2c: Set the i2c flags correctly for transactions on an i3c bus b7246bf:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/248195 pw_sensor: Add freeform extras field to sensor.yaml 21933c6:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/248638 pw_async2: Accept alignment in CoroPromiseType::operator new 5b608da:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/248637 pw_build: Restore layering_check workaround for pw_facade ef6ae0d:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/234930 pw_string: Stringify time types b6de265:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/245216 pw_bluetooth_sapphire: Add BoringSSL to size report 65d0b8c:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/248712 pw_elf: Fix reference to data file 81d18d1:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/239506 pw_bluetooth_sapphire: Create size report c9ad96c:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/227371 pw_bluetooth: Add LE Connection-Oriented Channels API acbeaab:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/248432 pw_protobuf: Extend Find() APIs to support repeated fields b8ee89e:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/232172 pw_bluetooth_proxy: L2CAP CoC supports reading bd6248b:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/248652 pw_bluetooth_proxy: Remove uses of auto 5ecdeb1:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/248672 pw_elf: Simplify ReaderExample 7fb7bb1:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/248232 pw_tokenizer: Update regex for nested args 7f24718:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/248077 pw_bluetooth: Simplify emboss RFCOMM extended length case a89e457:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/248292 pw_bluetooth_sapphire: Remove emboss-specific control packet names 2077854:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/248174 pw_bluetooth_sapphire: Remove EventPacket e51890c:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/248392 pw_protobuf_compiler: Nanopb 3 bazel build fix b9b9135:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/248312 pw_bluetooth: Format emboss files 94e2314:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/243532 pw_tokenizer: Add Detokenizer::FromElfFile 8ee7879:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/244893 pw_elf: Add ElfReader a020d35:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/248381 pw_protobuf_compiler: Specify flags for generate_proto.py 6aadd54:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/236236 pw_spi: Finalize non-Virtual interface on Initiator a703dc3:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/244892 pw_elf: Create new module a30e972:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/248173 pw_bluetooth_sapphire: Use EmbossEventPacket in CommandChannel c5d3d97:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/245113 clang-tidy: Make [[deprecated]] a warning instead of error Rolled-Repo: https://pigweed.googlesource.com/pigweed/pigweed Rolled-Commits: c99ca8ae0a441b..6165aa470b3510 Roll-Count: 1 Roller-URL: https://cr-buildbucket.appspot.com/build/8731305678721439665 GitWatcher: ignore CQ-Do-Not-Cancel-Tryjobs: true Change-Id: I33b37bb5f04b005d8f955a2fc564afbc3620cbea Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/kudzu/+/248738 Lint: Lint 🤖 <android-build-ayeaye@system.gserviceaccount.com> Bot-Commit: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com> Commit-Queue: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com>
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
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
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.
Install the GLFW OpenGL library
sudo apt install libglfw3-dev libglfw3
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
pw build
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
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))