circuitpython/ports/cxd56/common-hal
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
..
analogio Do not open the same ADC device again 2019-10-18 12:38:39 +02:00
board Add Spresense board folder 2019-10-11 12:09:51 +02:00
busio Clean UART on reset 2019-10-21 13:17:51 +02:00
digitalio Change port name to cxd56 2019-10-11 08:23:51 +02:00
microcontroller add dummy common_hal_mcu_processor_get_voltage() for spresense 2019-10-15 09:07:12 -04:00
os Change port name to cxd56 2019-10-11 08:23:51 +02:00
pulseio Do not open the same PWM device again 2019-10-18 12:39:22 +02:00
rtc Change port name to cxd56 2019-10-11 08:23:51 +02:00
supervisor Change port name to cxd56 2019-10-11 08:23:51 +02:00
time Supervisor: move most of systick to the supervisor 2019-11-18 11:01:23 -06:00