- Rework the bundle update service methods & related protos
- Enforce state invariants & add transitions
- Remove manifest related functionality for now
Still pending: Unit tests for this system
Requires: pigweed-internal:15720
Change-Id: Id16225a384f81f1f38241e0d6151a5b643ec0cfd
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/62443
Pigweed-Auto-Submit: Ewout van Bekkum <ewout@google.com>
Reviewed-by: Keir Mierle <keir@google.com>
Reviewed-by: Ewout van Bekkum <ewout@google.com>
Commit-Queue: Keir Mierle <keir@google.com>
Updates the update service to use a work queue to apply updates as
this may take a long period of time and includes a device reboot.
Fixes the module configuration for GN.
Also fixes the abort to properly clean up the transfer_id_ state.
And lastly changes DisableTransferId() to be invoked after
BeforeUpdateAbort().
No-Docs-Update-Reason: Module still in early development
Requires: pigweed-internal:15641
Change-Id: Ie7a9e79fc9e9485ddf74b4963756355426b80b0c
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/62421
Commit-Queue: Ewout van Bekkum <ewout@google.com>
Pigweed-Auto-Submit: Ewout van Bekkum <ewout@google.com>
Reviewed-by: David Rogers <davidrogers@google.com>
Merges the BundledUpdateManager into the BundledUpdateService.
Also fixes up the bazel build files.
No-Docs-Update-Reason: Module still in early development
Requires: pigweed-internal:15640
Change-Id: I7061ed9ad02009a1ece92599b4900038eaefc3e7
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/62420
Reviewed-by: Keir Mierle <keir@google.com>
Commit-Queue: Ewout van Bekkum <ewout@google.com>
Pigweed-Auto-Submit: Ewout van Bekkum <ewout@google.com>
Renames the backend header to match the object name.
Adjusts the FinalizeUpdate() API to use Status again to report
finalize failures before the reboot.
Also changes ApplyTargetFile() to be pure virtual.
Changes the backend API to use the Manifest object instead of the
nanopb struct for the manifest.
Moves the Manifest definition to a separate header.
Adds missing pw_protobuf dependency.
Change-Id: I295db6021b26d8ba96512f4627e39b5a76d92815
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/61820
Commit-Queue: Ewout van Bekkum <ewout@google.com>
Reviewed-by: David Rogers <davidrogers@google.com>
Reviewed-by: Keir Mierle <keir@google.com>
No-Docs-Update-Reason: this module is far from stablized
Change-Id: I408d575308bcfeb69d6fcb23448472734c729e95
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/59544
Reviewed-by: David Rogers <davidrogers@google.com>
Commit-Queue: Zihan Chen <zihanchen@google.com>
Adds an empty UpdateBundle class. It is used by the "Update
Manager" to parse, verify and provide access to a staged firmware
update bundle.
Bug: 456
Change-Id: I2df3e784ef50545f9066d4c1146f2558445ff5c8
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/58043
Reviewed-by: Ewout van Bekkum <ewout@google.com>
Reviewed-by: David Rogers <davidrogers@google.com>
Reviewed-by: Ali Zhang <alizhang@google.com>
Commit-Queue: Yecheng Zhao <zyecheng@google.com>