Skip to content

Commit 9a368ae

Browse files
committed
esp8266/modmachine: Add disable_irq and enable_irq functions.
1 parent 849eb83 commit 9a368ae

1 file changed

Lines changed: 15 additions & 0 deletions

File tree

esp8266/modmachine.c

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
#include "modpyb.h"
3535
#include "modpybrtc.h"
3636

37+
#include "xtirq.h"
3738
#include "os_type.h"
3839
#include "osapi.h"
3940
#include "etshal.h"
@@ -189,6 +190,17 @@ const mp_obj_type_t esp_timer_type = {
189190
.locals_dict = (mp_obj_t)&esp_timer_locals_dict,
190191
};
191192

193+
STATIC mp_obj_t machine_disable_irq(void) {
194+
return mp_obj_new_int(disable_irq());
195+
}
196+
MP_DEFINE_CONST_FUN_OBJ_0(machine_disable_irq_obj, machine_disable_irq);
197+
198+
STATIC mp_obj_t machine_enable_irq(mp_obj_t state) {
199+
enable_irq(mp_obj_get_int(state));
200+
return mp_const_none;
201+
}
202+
MP_DEFINE_CONST_FUN_OBJ_1(machine_enable_irq_obj, machine_enable_irq);
203+
192204
STATIC const mp_rom_map_elem_t machine_module_globals_table[] = {
193205
{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_umachine) },
194206
{ MP_ROM_QSTR(MP_QSTR_mem8), MP_ROM_PTR(&machine_mem8_obj) },
@@ -201,6 +213,9 @@ STATIC const mp_rom_map_elem_t machine_module_globals_table[] = {
201213
{ MP_ROM_QSTR(MP_QSTR_unique_id), MP_ROM_PTR(&machine_unique_id_obj) },
202214
{ MP_ROM_QSTR(MP_QSTR_deepsleep), MP_ROM_PTR(&machine_deepsleep_obj) },
203215

216+
{ MP_ROM_QSTR(MP_QSTR_disable_irq), MP_ROM_PTR(&machine_disable_irq_obj) },
217+
{ MP_ROM_QSTR(MP_QSTR_enable_irq), MP_ROM_PTR(&machine_enable_irq_obj) },
218+
204219
{ MP_ROM_QSTR(MP_QSTR_RTC), MP_ROM_PTR(&pyb_rtc_type) },
205220
{ MP_ROM_QSTR(MP_QSTR_Timer), MP_ROM_PTR(&esp_timer_type) },
206221
{ MP_ROM_QSTR(MP_QSTR_Pin), MP_ROM_PTR(&pyb_pin_type) },

0 commit comments

Comments
 (0)