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+
192204STATIC 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