- Class for reading "■key♦value" data from log format strings.
- Add the line field to the Metadata class.
- Update Metadata bit field widths.
Change-Id: Id06fbccf2f0c496586b29ef5f6ad23c08fcfd806
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/47862
Commit-Queue: Wyatt Hepler <hepler@google.com>
Pigweed-Auto-Submit: Wyatt Hepler <hepler@google.com>
Reviewed-by: Keir Mierle <keir@google.com>
Renames reset() to Invalidate(), as it better expresses that the
resulting object will be considered invalid after calling.
Change-Id: I288ac1118b3af80f84a260ee979b81b684a43b9b
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/41341
Commit-Queue: Armando Montanez <amontanez@google.com>
Pigweed-Auto-Submit: Armando Montanez <amontanez@google.com>
Reviewed-by: Wyatt Hepler <hepler@google.com>
- Move the Base64 tokenization functions to the tokenizer class, which
is much cleaner to work with.
- Have AutoUpdatingDetokenizer derive from Detokenizer. This makes
working with detokenizers simpler.
Change-Id: Ic6bd9354c34f21a9931c83200e7c98e05911b6a2
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/47761
Reviewed-by: Keir Mierle <keir@google.com>
Commit-Queue: Keir Mierle <keir@google.com>
Commit-Queue: Wyatt Hepler <hepler@google.com>
When pw_proto_library Python packages are nested in another package,
have the .python subtarget wrap the package in which they're nested.
pw_proto_library targets originally disabled the .python subtarget when
the proto library was nested in another Python package. This made having
one pw_proto_library target depend on another difficult, and created
an error condition that didn't need to exist.
Change-Id: I53fe712d21f9a3d3100b0c3c395abc60fa2c666a
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/47760
Pigweed-Auto-Submit: Wyatt Hepler <hepler@google.com>
Reviewed-by: Armando Montanez <amontanez@google.com>
Commit-Queue: Auto-Submit <auto-submit@pigweed.google.com.iam.gserviceaccount.com>
- Unconditionally set the PW_LOG_LEVEL_BITS macro since it is not
configurable.
- Only reserve 2 bits for flags by default. This will align with
pw_log_tokenized's default configuration.
- Merge redundant PW_LOG_LEVEL_BITS and PW_LOG_LEVEL_BITWIDTH macros.
- Remove deprecated PW_LOG_USE_ULTRA_SHORT_NAMES macro.
Change-Id: Iff19d4e3eefd2ef2ad88107f7bb5d7fba4a1f5aa
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/47860
Commit-Queue: Wyatt Hepler <hepler@google.com>
Reviewed-by: Prashanth Swaminathan <prashanthsw@google.com>
Split up environment config files so it's easier to set up just a subset
of CIPD packages. Splitting out Bazel and Python for now.
Change-Id: I39a5a01e32f3f8cbddea401ecd5887576040da81
Bug: 392
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/47088
Pigweed-Auto-Submit: Rob Mohr <mohrr@google.com>
Reviewed-by: Keir Mierle <keir@google.com>
Commit-Queue: Auto-Submit <auto-submit@pigweed.google.com.iam.gserviceaccount.com>
Add a --strict option to env_setup.py. On workstations there are some
warnings during env setup that don't cause env setup to fail. This lets
LUCI runs make those warnings errors.
Change-Id: I5eff0164de86dd63f80ccf9c8a5baff8cc55a1fd
Bug: 392
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/47320
Pigweed-Auto-Submit: Rob Mohr <mohrr@google.com>
Reviewed-by: Michael Spang <spang@google.com>
Commit-Queue: Rob Mohr <mohrr@google.com>
Add "stm32f429i" presubmit step that runs tests on hardware using the
test server. Also add a context manager that launches the test server
and then terminates it.
Change-Id: I026e76cc49f8bbe8a2fe4edb571f27487d33d587
Bug: 377
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/44200
Pigweed-Auto-Submit: Rob Mohr <mohrr@google.com>
Commit-Queue: Auto-Submit <auto-submit@pigweed.google.com.iam.gserviceaccount.com>
Reviewed-by: Keir Mierle <keir@google.com>
Previously, pw_proto_library was missing a dependency on the
${NAME}._sources target. Proto builds would work if the ._sources target
had been run previously, but a clean build would fail.
Change-Id: I163ab1a5d765845abdcec6ec1cbcc984c1f146a8
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/47361
Pigweed-Auto-Submit: Wyatt Hepler <hepler@google.com>
Commit-Queue: Auto-Submit <auto-submit@pigweed.google.com.iam.gserviceaccount.com>
Reviewed-by: Alexei Frolov <frolv@google.com>
Declare log.proto in pw_log rather than pw_log_proto. The log proto is
properly part of pw_log, rather than a standalone module.
Change-Id: I853f28b36a41a2a94564d61ea2e916d9c21076c3
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/47220
Reviewed-by: Ewout van Bekkum <ewout@google.com>
Commit-Queue: Wyatt Hepler <hepler@google.com>
Add interface for converting an analog sample into a fixed point
voltage in microvolts with MicrovoltInput.
Testing:
Host test -- OK
Change-Id: I481e78ed99e170f6b3838a5ce283e869be810ee5
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/43840
Reviewed-by: Ewout van Bekkum <ewout@google.com>
Reviewed-by: David Rogers <davidrogers@google.com>
Commit-Queue: Kevin Zeng <zengk@google.com>
- Add a pw_proto_library for nanopb.proto to the CMake build.
- Skip recompiling nanopb.proto when running protoc for Nanopb.
- Add the pw_protobuf_compiler Nanopb test to CMake.
Change-Id: I3469f35524b18efd3d484b17609e9de0f160e73a
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/46961
Pigweed-Auto-Submit: Wyatt Hepler <hepler@google.com>
Reviewed-by: Alexei Frolov <frolv@google.com>
Commit-Queue: Wyatt Hepler <hepler@google.com>
Adds a set of Bazel rules for fetching the cipd client and downloading
CIPD based dependencies as Bazel remote repositories.
Change-Id: Id15641be7dcac33ddd4bf17f807d8b7f197078ac
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/45140
Reviewed-by: Rob Mohr <mohrr@google.com>
Commit-Queue: Rob Mohr <mohrr@google.com>
Pigweed-Auto-Submit: Rob Mohr <mohrr@google.com>
Updates the streaming encoder to enforce submessage size limits
introduced by a smaller kMaxVarintSize. Switches the unit test for this
configuration option to use the new StreamingEncoder interfaces.
Bug: 384
No-Docs-Update-Reason: Internal bugfix
Change-Id: Iec06858c88b4b402292076bb410328ad8693debd
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/46620
Reviewed-by: Alexei Frolov <frolv@google.com>
Commit-Queue: Auto-Submit <auto-submit@pigweed.google.com.iam.gserviceaccount.com>
Pigweed-Auto-Submit: Armando Montanez <amontanez@google.com>
- Add a config option to pw_status that enables [[nodiscard]] to
pw::Status and pw::StatusWithSize. Default to off.
- Add [[nodiscard]] to pw::Result.
- Add Abseil-style IgnoreError() functions to Status, StatusWithSize,
and Result.
Change-Id: Iaa11ce5edc963e8bdd795e743545bafa9e42bf62
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/46603
Reviewed-by: Ewout van Bekkum <ewout@google.com>
Commit-Queue: Wyatt Hepler <hepler@google.com>
This adds a generic stm32cube build script. The pw_package creates a
text file listing all of the relavent files in the repos. The python
script then reads the text file and lists the needed source files and
headers.
The python script also inserts a `pw_stm32cube_Init()` into the startup
scripts and converts .icf -> .ld linker scripts.
Although the API's are not guaranteed to be compatible across families,
many of the common API's (like GPIO) are identical. This CL adds a
common header, so that integrations targeting multiple families can be
built.
I have tested this integration on F2, F4, and L5 boards.
Change-Id: Ibc79cf7d5cf76b220bb193849863abc16f413967
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/42924
Commit-Queue: Varun Sharma <vars@google.com>
Reviewed-by: Armando Montanez <amontanez@google.com>
Reviewed-by: Ali Zhang <alizhang@google.com>
Listeners can now be attached to multisinks, which are notified when
entries are pushed into the ring buffer or dropped on ingress. Listener
implementations might use this to schedule tasks to fetch entries from
the corresponding drains.
No-Docs-Update-Reason: Doc updates coming in follow-up change.
Change-Id: I16be7bf5792c829bcda38edce5a5be7b5a0f373d
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/39463
Commit-Queue: Prashanth Swaminathan <prashanthsw@google.com>
Reviewed-by: Ewout van Bekkum <ewout@google.com>
Adds the ThreadNotification and TimedThreadNotification facades
to pw_sync.
Also provides a generic and not-optimized backend based on
pw::sync::BinarySemaphore which is immediately used for the host
target.
Change-Id: Iac067ae10f32f9633907c05365338eb575d35097
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/44020
Reviewed-by: Wyatt Hepler <hepler@google.com>
Commit-Queue: Ewout van Bekkum <ewout@google.com>
Pigweed-Auto-Submit: Ewout van Bekkum <ewout@google.com>