commit | f3eff7c2e8ecf80533bf5ff07f211da35cad95cf | [log] [tgz] |
---|---|---|
author | pigweed-roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com> | Mon Nov 18 09:12:01 2024 +0000 |
committer | CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com> | Mon Nov 18 09:12:01 2024 +0000 |
tree | f4b1269c5b81bff2638208b2135345c4f10418f7 | |
parent | b4b380dd118073155ecd9ae4c85020dba7836ff2 [diff] |
roll: third_party/pigweed 40d4c12..48712ad (18 commits) 48712ad:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/249532 pw_transfer: Shrink window size on retried data aeecb42:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/246732 pw_bluetooth_proxy: Prepare for BR/EDR ACL credit support 0959346:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/249653 roll: fuchsia-infra-bazel-rules c97cd7f..a627dc1 (40 commits) b4a75fd:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/248493 pw_bluetooth_proxy: Remove LDAP from TODOs 7a46cb5:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/246736 pw_bluetooth_proxy: Move+copy constructors for channels 6360c3b:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/246500 pw_bluetooth: Delete AttNotifyOverAcl a88df25:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/246499 pw_bluetooth_proxy: Increase H4 buffer size 53d5391:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/237263 pw_bluetooth_proxy: Support queueing + L2CAP credits 11ca404:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/249312 docs: Update changelog f3d2187:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/248713 pw_bluetooth_proxy: Reintroduce std::lock_guard 144c028:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/249432 pw_protobuf: Set minimum and maximum edition fields in plugin 81b8314:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/245592 docs: Configure docs_build to support emboss & sapphire 4dda096:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/249352 OWNERS: Apply WORKSPACE_OWNERS to MODULE.bazel* 92e854a:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/249414 pw_rpc: Warn when client completion callback is disabled c064969:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/249413 pw_rpc: Simplify enabling packet debug logs 786f3bc:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/249512 pw_elf: Add pw_stream to Android.bp d55664c:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/249332 pw_bluetooth_proxy: Update Android.bp ae1e16c:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/249032 pw_log_tokenized: Pass module instead of using PW_LOG_MODULE_NAME Rolled-Repo: https://pigweed.googlesource.com/pigweed/pigweed Rolled-Commits: 40d4c126127506..48712ad0655654 Roll-Count: 1 Roller-URL: https://cr-buildbucket.appspot.com/build/8730943290274317585 GitWatcher: ignore CQ-Do-Not-Cancel-Tryjobs: true Change-Id: I78506fe2e51d3fd54f137e75e2fef2b7c895ab8e Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/kudzu/+/249619 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))