tree e22f03fb017f0b2ef29566647a0870f85b0ee72f
parent 9a123d5ed87b8d0232c25dea52a45e78835abb79
author Kevin Schoedel <67607049+kpschoedel@users.noreply.github.com> 1626112225 -0400
committer GitHub <noreply@github.com> 1626112225 -0400
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJg7IDhCRBK7hj4Ov3rIwAAbh0IADi8mtrRmwHRWPytjB7LQJvK
 gKrYL4n+ffgD9aE/2ql06PgpriEvm1ptRz/yufYSpZ+Gwli+tc0d+Se66x0dUWr2
 V+t+IgcjEVqiNRrG8NG5E0nJ7kvp1S64GrKB4VOSNZyaQyMhFzjNHDJhV9iuJcZ2
 p2jztpn8JLO7HCpz7ue37NPxXbeAaEBKjWBO8JLjgkP6eVfzdgQb8TeEKRW1Lip9
 sC7gCOsi7OQw1iTb/SuaiC41XS1d/co34gWfSgo/VQwhmhF+3pgVZg26TPAJY1fN
 eMCN3M+GvpYoOlYd7UychU7yJryNvbWBViMpUA88YaCTFVI2Wz57SsMvq+ahxx0=
 =B1Uq
 -----END PGP SIGNATURE-----
 

Revise System Layer clock code (#8266)

* Revise System Layer clock code

#### Problem

System Layer contains some unnecessary coupling, and a number of
ambiguous names, involving clock and time.

(This is a standalone fragment of work toward event/threading
refactoring, issue #7725)

#### Change overview

SystemLayer / SystemClock

- Add distinct type names MonotonicMilliseconds,
  MonotonicMicroseconds, UnixTimeMicroseconds.
- Move System::Layer clock functions to their own class.
- Rename them to make the time units explicit.
- Use them in preference to the System::Platform::Layer versions.
- Remove the HiRes version, which has no separate implementation.
- Move the platform implementations from System::Platform::Layer
  (not to be confused with System::Layer) to System::Platform::Clock.
- Removed the statement that SetUnixTimeMicroseconds() must be
  thread-safe. Since this function is not currently used, this
  imposes no burden on existing code.

TimeUtils

- Rename functions to make clean when ‘Epoch’ means the UNIX epoch.
- Use the scale conversion constants more often.

SystemTimer

- Remove the Timer::Epoch typedef, which wasn't an epoch, and
  rename SetTimerEpoch() to SetTimestamp().
- Remove the deprecated System::Timer::GetCurrentEpoch().

#### Testing

This change largely just renames existing code, so no functional changes
are expected. Existing cases in TestPlatformTime.cpp should catch any
mistakes in unit substititutions or conversions contstants.

* fix esp32 lock-app build, and name kMillisecondsPerSecond