Commit Graph

8 Commits

Author SHA1 Message Date
Jeff Epler
7f744a2369 Supervisor: move most of systick to the supervisor
This code is shared by most parts, except where not all the #ifdefs
inside the tick function were present in all ports.  This mostly would
have broken gamepad tick support on non-samd ports.

The "ms32" and "ms64" variants of the tick functions are introduced
because there is no 64-bit atomic read.  Disabling interrupts avoids
a low probability bug where milliseconds could be off by ~49.5 days
once every ~49.5 days (2^32 ms).

Avoiding disabling interrupts when only the low 32 bits are needed is a minor
optimization.

Testing performed: on metro m4 express, USB still works and
time.monotonic_ns() still counts up
2019-11-18 11:01:23 -06:00
Hierophect
bbc366b85b Style overhaul, extra error checks 2019-11-12 11:26:14 -05:00
Hierophect
a596213526 non-functional WIP 2019-10-21 17:06:40 -04:00
Hierophect
7c713b9e3b Fix crash related to ADC timeout 2019-09-17 15:45:15 -04:00
Hierophect
295afaaf6c Update SystemCoreClock macro 2019-07-24 16:31:25 -04:00
Hierophect
7742a97c22 Add STM32F412-DISCO support, cleanup 2019-07-09 13:03:22 -04:00
Hierophect
040acc3a32 remove dependencies for stable build 2019-07-01 19:47:10 -04:00
Hierophect
b93f93f174 name change but actually 2019-06-28 16:34:27 -04:00