roll: pigweed pw_uart: Add ReadAtLeast and ReadExactly methods

Deprecate the existing Read method in favor of two read variants that
cover more use cases.

ReadExactly maps to the existing Read semantics and blocks until the
buffer is completely filled.

ReadAtLeast allows for blocking until at least the specified bytes are
received, but allows for more to be delivered if available.

ReadAtLeast is useful in cases where you don't know exactly how many
bytes will be returned and don't know exactly when to expect them.

Update mcuxpresso implementation to support this new feature.

Provide default implementations of new variant to ease transition of
existing implementations.

Original-Bug: 368149122
Original-Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/236268
Presubmit-Verified: CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com>
Original-Revision: b4e75393442526d409968e4aac685515944b3e3e

Rolled-Repo: https://pigweed.googlesource.com/pigweed/pigweed
Rolled-Commits: f946f6ae13c3bb..b4e75393442526
Roller-URL: https://ci.chromium.org/b/8735701685445106145
GitWatcher: ignore
CQ-Do-Not-Cancel-Tryjobs: true
Change-Id: I72d92423fb715a5045f8c3768c29dcf5d3363e7a
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/showcase/sense/+/238170
Bot-Commit: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com>
Lint: Lint 🤖 <android-build-ayeaye@system.gserviceaccount.com>
1 file changed
tree: f9e1c9e7b40f22dd7d980619a438e397565408ae
  1. .github/
  2. .vscode/
  3. apps/
  4. device/
  5. modules/
  6. system/
  7. targets/
  8. tools/
  9. web_app/
  10. .bazelignore
  11. .bazelrc
  12. .bazelversion
  13. .buildifier.json
  14. .clang-format
  15. .clangd.shared
  16. .gitignore
  17. .pw_console.yaml
  18. AUTHORS
  19. BUILD.bazel
  20. CONTRIBUTING.md
  21. LICENSE
  22. MODULE.bazel
  23. MODULE.bazel.lock
  24. OWNERS
  25. pigweed.json
  26. README.md
README.md

Sense

git clone https://pigweed.googlesource.com/pigweed/showcase/sense

Welcome to Pigweed Sense, a tour of key Pigweed components experienced through an imagined air quality product.

Please visit Sense: An interactive tour through Pigweed to get started.