Skip to content

Commit c46c49c

Browse files
committed
esp32/modmachine: Add disable_irq/enable_irq functions.
These don't actually do anything right now because the low-level disable_irq/enable_irq macros are dummy ones.
1 parent 7fad382 commit c46c49c

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

esp32/modmachine.c

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,19 @@ STATIC mp_obj_t machine_idle(void) {
7676
}
7777
STATIC MP_DEFINE_CONST_FUN_OBJ_0(machine_idle_obj, machine_idle);
7878

79+
STATIC mp_obj_t machine_disable_irq(void) {
80+
uint32_t state = disable_irq();
81+
return mp_obj_new_int(state);
82+
}
83+
MP_DEFINE_CONST_FUN_OBJ_0(machine_disable_irq_obj, machine_disable_irq);
84+
85+
STATIC mp_obj_t machine_enable_irq(mp_obj_t state_in) {
86+
uint32_t state = mp_obj_get_int(state_in);
87+
enable_irq(state);
88+
return mp_const_none;
89+
}
90+
MP_DEFINE_CONST_FUN_OBJ_1(machine_enable_irq_obj, machine_enable_irq);
91+
7992
STATIC const mp_rom_map_elem_t machine_module_globals_table[] = {
8093
{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_umachine) },
8194

@@ -87,6 +100,9 @@ STATIC const mp_rom_map_elem_t machine_module_globals_table[] = {
87100
{ MP_ROM_QSTR(MP_QSTR_reset), MP_ROM_PTR(&machine_reset_obj) },
88101
{ MP_ROM_QSTR(MP_QSTR_idle), MP_ROM_PTR(&machine_idle_obj) },
89102

103+
{ MP_ROM_QSTR(MP_QSTR_disable_irq), MP_ROM_PTR(&machine_disable_irq_obj) },
104+
{ MP_ROM_QSTR(MP_QSTR_enable_irq), MP_ROM_PTR(&machine_enable_irq_obj) },
105+
90106
{ MP_ROM_QSTR(MP_QSTR_time_pulse_us), MP_ROM_PTR(&machine_time_pulse_us_obj) },
91107

92108
{ MP_ROM_QSTR(MP_QSTR_Pin), MP_ROM_PTR(&machine_pin_type) },

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy