commit | 4537ffea2e3a46db41c612ef4d42ed187e6f0c7d | [log] [tgz] |
---|---|---|
author | pigweed-roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com> | Wed Jan 08 23:05:17 2025 -0800 |
committer | CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com> | Wed Jan 08 23:05:17 2025 -0800 |
tree | fef55c1ad117c3d6290ed616a9b76dcd1dc2d942 | |
parent | 37a81fa16311cc0e0457d0a2d87db4c668cfecfa [diff] |
roll: pigweed 7a1c27a..8a5fc59 (20 commits) 8a5fc59:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/247972 pw_digital_io_mcuxpresso: Add McuxpressoDigitalInOutInterrupt support 34521ea:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/258994 pw_digital_io_mcuxpresso: Introduce McuxpressoPintInterrupt 3085c62:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/256593 pw_perf_test: Remove multiplexer d93f986:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/259013 pw_chrono: Don't import individual types in py aef6fca:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/251712 pw_tokenizer: CSV parser 483a24a:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/229672 pw_crypto: Remove micro_ecc support b03ff49:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/258772 pw_bluetooth_proxy: Allow Write(MultiBuf) for gatt notify 56d9d44:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/258712 pw_bluetooth_proxy: Allow Write(MultiBuf) for rfcomm and basic b129282:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/258533 pw_bluetooth_proxy: Move Write(MultiBuf) to L2capChannel 88e93b8:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/258422 pw_bluetooth_proxy: Rename L2capChannel incoming functions to use Handle 9925b31:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/258456 pw_bluetooth_proxy: Move functions to protected 0f95b66:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/258454 pw_bluetooth_proxy: Remove deprecated L2apCoc::Write(span) 413a815:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/252472 pw_toolchain_bazel: Remove contents 3e0b832:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/258833 docs: Remove admonition about Bazel version pin 736d6a3:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/239049 pw_fuzzer: Make FuzzTest usable be external CMake projects 0a9be2a:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/256116 pw_bluetooth_proxy: Remove old cid fields a16e8fa:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/258812 pw_bluetooth_sapphire: Simplify LESupportedFeatures 22b2528:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/258774 pw_watch: Move path filtering code to separate module b13f7bf:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/242033 bazel: Update to Bazel 8.0.0 f51ac28:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/258832 pw_bluetooth_proxy: Retain 'source_cid' name for pending connections Rolled-Repo: https://pigweed.googlesource.com/pigweed/pigweed Rolled-Commits: 7a1c27a34bab9c..8a5fc59a80af2f Roll-Count: 1 Roller-URL: https://cr-buildbucket.appspot.com/build/8726240877957858769 GitWatcher: ignore CQ-Do-Not-Cancel-Tryjobs: true Change-Id: I8d0db25218cb3070e760f636415731f3c4339894 Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/quickstart/bazel/+/258919 Commit-Queue: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com> Lint: Lint 🤖 <android-build-ayeaye@system.gserviceaccount.com> Bot-Commit: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com>
This repository contains a minimal example of a Bazel-based Pigweed project. It is a LED-blinking service (featuring RPC control!) for the Raspberry Pi Pico. It can also be run on any computer using the included simulator.
git clone https://pigweed.googlesource.com/pigweed/quickstart/bazel pw_bazel_quickstart cd pw_bazel_quickstart
The only dependency that must be installed is Bazelisk.
Bazelisk is a launcher for the Bazel build system that allows for easy management of multiple Bazel versions.
Instructions for installing Bazelisk can be found here.
To run the simulator, type: bazelisk run //apps/blinky:simulator_blinky
Then, in a new console, connect to the simulator using: bazelisk run //apps/blinky:simulator_console
To start, connect a Raspberry Pi Pico, Pico 2, or debug probe via USB.
To run on the Raspberry Pi Pico, type: bazelisk run //apps/blinky:flash_rp2040
Then, in a new console, connect to the device using: bazelisk run //apps/blinky:rp2040_console
Once connected with a console, RPCs can be sent to control the LED. Try running:
device.set_led(True) device.set_led(False) device.toggle_led() device.blink(blink_count=3)
bazelisk test //...
will run the unit tests defined in this project, such as the ones in modules/blinky/blinky_test.cc
.
bazelisk run @pigweed//targets/rp2040/py:unit_test_server
in one console followed by bazelisk test //... --config=rp2040
will also allow running the unit tests on-device.
Try poking around the codebase for inspiration about how Pigweed projects can be organized. Most of the relevant code in this quickstart (including RPC definitions) is inside modules/blinky
, with some client-side Python code in tools/console.py
.