commit | 48ea8580a6c275e8751e51eafccd47b2a252c22f | [log] [tgz] |
---|---|---|
author | pigweed-roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com> | Tue Oct 15 22:20:15 2024 +0000 |
committer | CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com> | Tue Oct 15 22:20:15 2024 +0000 |
tree | 2e6c4624e4b2a70671ec929d29bb5d42d9e738b2 | |
parent | 9c6e44a5029fabf0bf7264184e0039aa63bec711 [diff] |
roll: third_party/pigweed 9ff1095..8437527 (34 commits) 8437527:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/242192 docs: Consolidate content for pigweed.dev contributors 1eadbb9:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/240656 pw_numeric: Rounded integer division 0c98e51:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/240655 pw_numeric: New module for mathematical utilities 1184ff5:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/242252 bazel: Add `load` statments for the builtin Bazel java rules 3eab170:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/242332 pw_bytes: Remove deprecated whitespace b854269:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/240912 docs: Build pw_async2 docs with Bazel a222b3f:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/242172 targets/rp2040: Add default linker script targets f60e870:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/242193 Revert "pw_protobuf: Force use of callbacks for oneof" 53d4032:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/236592 pw_protobuf: Force use of callbacks for oneof 064c768:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/242133 pw_log_fuchsia: Replace stcompat cpp17::string_view with std version d0dd0b3:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/242016 roll: bazelisk-as-bazel 358d410:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/242013 *: Fix formatting c221c63:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/241953 roll: python-wheel d3d8490:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/241952 roll: ninja 98d4ea4:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/241637 roll: fuchsia-infra-bazel-rules 589d68e..7011a76 (43 commits) 5a33668:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/241913 roll: cmake 21c3798:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/240732 pw_bluetooth_sapphire: Support creating LE dynamic channels in gap 676147b:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/240713 pw_bluetooth_sapphire: Support creating LE dynamic channels in l2cap de832f1:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/241194 targets/rp2040: Add --chip argument to unit_test_server.py 6bdaaa9:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/238471 bzlmod: Add transitive deps for oss-fuzz 32f28d6:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/241136 pw_env_setup: Update clang next version d08c60c:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/241201 pw_stream_uart_mcuxpresso: Remove dma_stream b39ad5c:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/241200 pw_uart: Add pw::uart::UartStream 98667e8:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/241193 bazel: Switch to forked pre-release probe-rs prebuilts ba98cd9:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/237452 pw_bluetooth_sapphire: Cleanup compatibility attrs f6a7bb7:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/238393 pw_uart: Add UartBlockingAdapter ebf33f5:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/159050 python: Add ruff linting d44807b:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/235638 roll: clang bdcf658:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/238572 pw_uart: Add UartNonBlocking::FlushOutput() 840c58d:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/241199 pw_uart: Update OWNERS a789e9c:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/241359 pw_env_setup: Remove black.json 9024130:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/241472 bazel: Move WORKSPACE based toolchain declarations to generated repo 17df82d:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/241212 pw_tokenizer: Ignore whitespace in domain values c4ea179:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/238052 pw_web: Improvements to `device` RPC APIs Rolled-Repo: https://pigweed.googlesource.com/pigweed/pigweed Rolled-Commits: 9ff1095f2c990e..84375274c2a7db Roll-Count: 1 Roller-URL: https://ci.chromium.org/b/8733973984746375345 GitWatcher: ignore CQ-Do-Not-Cancel-Tryjobs: true Change-Id: I0d241fc4b77fb063cf9fa0cf25748c821cff7833 Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/kudzu/+/242397 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>
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))