pw_chrono_embos: adds SystemTimer backend
Adds a backend for pw::chrono::SystemTimer based on embOS's
software timer API.
Change-Id: I0d03c2b2b6474bcefb968a20897748f552ca1a7e
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/50860
Commit-Queue: Auto-Submit <auto-submit@pigweed.google.com.iam.gserviceaccount.com>
Pigweed-Auto-Submit: Ewout van Bekkum <ewout@google.com>
Reviewed-by: Wyatt Hepler <hepler@google.com>
diff --git a/pw_chrono_embos/BUILD b/pw_chrono_embos/BUILD
index 9248d51..b86d63d 100644
--- a/pw_chrono_embos/BUILD
+++ b/pw_chrono_embos/BUILD
@@ -54,3 +54,40 @@
"//pw_chrono:system_clock_facade",
],
)
+
+pw_cc_library(
+ name = "system_timer_headers",
+ hdrs = [
+ "public/pw_chrono_embos/system_timer_inline.h",
+ "public/pw_chrono_embos/system_timer_native.h",
+ "public_overrides/pw_chrono_backend/system_timer_inline.h",
+ "public_overrides/pw_chrono_backend/system_timer_native.h",
+ ],
+ includes = [
+ "public",
+ "public_overrides",
+ ],
+ deps = [
+ "//pw_chrono:system_clock",
+ "//pw_function",
+ "//pw_chrono:system_timer_facade",
+ # TODO(pwbug/317): This should depend on embOS but our third parties
+ # currently do not have Bazel support.
+ ],
+)
+
+pw_cc_library(
+ name = "system_timer",
+ srcs = [
+ "system_timer.cc",
+ ],
+ deps = [
+ ":system_timer_headers",
+ "//pw_chrono:system_timer_facade",
+ ":system_clock",
+ "//pw_assert",
+ "//pw_interrupt:context",
+ # TODO(pwbug/317): This should depend on embOS but our third parties
+ # currently do not have Bazel support.
+ ],
+)