mirror of
https://github.com/W3SLAV/micropython.git
synced 2025-06-20 12:35:34 -04:00
rp2/modmachine: Use atomic section macros in lightsleep code.
To avoid undefined references to `mp_thread_begin_atomic_section()` / `mp_thread_end_atomic_section()`, replace them with the `MICROPY_BEGIN_ATOMIC_SECTION` / `MICROPY_END_ATOMIC_SECTION` macros. That way, it's possible to build again with `MICROPY_PY_THREAD` disabled (made possible byefa54c27b9
). Fixes commit19844b4983
. Signed-off-by: Matthias Blankertz <matthias@blankertz.org>
This commit is contained in:
parent
84a8f7ea6d
commit
93394da69c
@ -127,10 +127,10 @@ static void mp_machine_lightsleep(size_t n_args, const mp_obj_t *args) {
|
|||||||
|
|
||||||
const uint32_t xosc_hz = XOSC_MHZ * 1000000;
|
const uint32_t xosc_hz = XOSC_MHZ * 1000000;
|
||||||
|
|
||||||
uint32_t my_interrupts = mp_thread_begin_atomic_section();
|
uint32_t my_interrupts = MICROPY_BEGIN_ATOMIC_SECTION();
|
||||||
#if MICROPY_PY_NETWORK_CYW43
|
#if MICROPY_PY_NETWORK_CYW43
|
||||||
if (cyw43_has_pending && cyw43_poll != NULL) {
|
if (cyw43_has_pending && cyw43_poll != NULL) {
|
||||||
mp_thread_end_atomic_section(my_interrupts);
|
MICROPY_END_ATOMIC_SECTION(my_interrupts);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -196,7 +196,7 @@ static void mp_machine_lightsleep(size_t n_args, const mp_obj_t *args) {
|
|||||||
|
|
||||||
// Bring back all clocks.
|
// Bring back all clocks.
|
||||||
clocks_init();
|
clocks_init();
|
||||||
mp_thread_end_atomic_section(my_interrupts);
|
MICROPY_END_ATOMIC_SECTION(my_interrupts);
|
||||||
}
|
}
|
||||||
|
|
||||||
NORETURN static void mp_machine_deepsleep(size_t n_args, const mp_obj_t *args) {
|
NORETURN static void mp_machine_deepsleep(size_t n_args, const mp_obj_t *args) {
|
||||||
|
Loading…
Reference in New Issue
Block a user