[roll third_party/pigweed] embos: fix for_at_least contract to add one tick

Fixes the embOS backends for pw::sync::Mutex,
pw::sync::BinarySemaphore, pw::sync::CountingSemaphore, and
pw::this_thread::sleep_for to add one tick when invoking the native
API to comply with the for_at_least contract as we do not know how
far we are into the current tick.

Note this is not observable without the use of an independent clock.

This also adds explicit downcasting from int64_t to OS_TIME ticks
when invoking native APIs.

Original-Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/37280

third_party/pigweed Rolled-Commits: 7faecc97f558e21..86c25478ba96ce0
Roller-URL: https://ci.chromium.org/b/8852917526006144416
Cq-Cl-Tag: roller-builder:pigweed-experimental-roller
Cq-Cl-Tag: roller-bid:8852917526006144416
CQ-Do-Not-Cancel-Tryjobs: true
Change-Id: I9d9b4a5f05bcf52c5ba6bbca66ea2451a568b85e
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/experimental/+/37528
Reviewed-by: Pigweed Integration Roller <pigweed-integration-roller@pigweed.google.com.iam.gserviceaccount.com>
Commit-Queue: Pigweed Integration Roller <pigweed-integration-roller@pigweed.google.com.iam.gserviceaccount.com>
1 file changed
tree: 5eb4294fd13130664be594a3b8bb943b5e7d92c3
  1. applications/
  2. build_overrides/
  3. pw_board_led/
  4. pw_board_led_arduino/
  5. pw_board_led_host/
  6. pw_board_led_stm32f429i_disc1/
  7. pw_console/
  8. pw_spin_delay/
  9. pw_spin_delay_arduino/
  10. pw_spin_delay_host/
  11. pw_spin_delay_stm32f429i_disc1/
  12. targets/
  13. third_party/
  14. tools/
  15. .gitattributes
  16. .gitignore
  17. .gitmodules
  18. .gn
  19. activate.bat
  20. banner.txt
  21. bootstrap.bat
  22. bootstrap.sh
  23. BUILD.gn
  24. BUILDCONFIG.gn
  25. navbar.md
  26. PW_PLUGINS
  27. README.md
README.md

Pigweed Experimental

This repository contains experimental pigweed modules.

Repository setup

Clone this repo with --recursive to get all required submodules.

git clone --recursive https://pigweed.googlesource.com/pigweed/experimental

This will pull the Pigweed source repository into third_party/pigweed. If you already cloned but forgot to --recursive run git submodule update --init to pull all submodules.