8000 nrf: Add interrupt support to microcontroller and add remaining pins. · godlygeek/circuitpython@4f89737 · GitHub
[go: up one dir, main page]

Skip to content

Commit 4f89737

Browse files
committed
nrf: Add interrupt support to microcontroller and add remaining pins.
1 parent b7729a2 commit 4f89737

File tree

1 file changed

+59
-17
lines changed

1 file changed

+59
-17
lines changed

nrf5/common-hal/microcontroller/__init__.c

Lines changed: 59 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -33,29 +33,71 @@ void common_hal_mcu_delay_us(uint32_t delay) {
3333
}
3434

3535
void common_hal_mcu_disable_interrupts(void) {
36-
// TODO(tannewt)
36+
#ifndef BLUETOOTH_SD
37+
__disable_irq();
38+
#endif
3739
}
3840

3941
void common_hal_mcu_enable_interrupts(void) {
40-
// TODO(tannewt)
42+
#ifndef BLUETOOTH_SD
43+
__enable_irq();
44+
#endif
4145
}
4246

4347
// This maps MCU pin names to pin objects.
4448
STATIC const mp_map_elem_t mcu_pin_global_dict_table[] = {
45-
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_00), (mp_obj_t)&pin_P0_00 },
46-
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_01), (mp_obj_t)&pin_P0_01 },
47-
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_02), (mp_obj_t)&pin_P0_02 },
48-
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_03), (mp_obj_t)&pin_P0_03 },
49-
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_13), (mp_obj_t)&pin_P0_13 },
50-
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_14), (mp_obj_t)&pin_P0_14 },
51-
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_15), (mp_obj_t)&pin_P0_15 },
52-
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_16), (mp_obj_t)&pin_P0_16 },
53-
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_17), (mp_obj_t)&pin_P0_17 },
54-
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_18), (mp_obj_t)&pin_P0_18 },
55-
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_19), (mp_obj_t)&pin_P0_19 },
56-
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_20), (mp_obj_t)&pin_P0_20 },
57-
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_21), (mp_obj_t)&pin_P0_21 },
58-
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_22), (mp_obj_t)&pin_P0_22 },
59-
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_23), (mp_obj_t)&pin_P0_23 },
49+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_00), (mp_obj_t)&pin_P0_00 },
50+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_01), (mp_obj_t)&pin_P0_01 },
51+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_02), (mp_obj_t)&pin_P0_02 },
52+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_03), (mp_obj_t)&pin_P0_03 },
53+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_04), (mp_obj_t)&pin_P0_04 },
54+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_05), (mp_obj_t)&pin_P0_05 },
55+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_06), (mp_obj_t)&pin_P0_06 },
56+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_07), (mp_obj_t)&pin_P0_07 },
57+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_08), (mp_obj_t)&pin_P0_08 },
58+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_09), (mp_obj_t)&pin_P0_09 },
59+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_10), (mp_obj_t)&pin_P0_10 },
60+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_11), (mp_obj_t)&pin_P0_11 },
61+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_12), (mp_obj_t)&pin_P0_12 },
62+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_13), (mp_obj_t)&pin_P0_13 },
63+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_14), (mp_obj_t)&pin_P0_14 },
64+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_15), (mp_obj_t)&pin_P0_15 },
65+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_16), (mp_obj_t)&pin_P0_16 },
66+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_17), (mp_obj_t)&pin_P0_17 },
67+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_18), (mp_obj_t)&pin_P0_18 },
68+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_19), (mp_obj_t)&pin_P0_19 },
69+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_20), (mp_obj_t)&pin_P0_20 },
70+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_21), (mp_obj_t)&pin_P0_21 },
71+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_22), (mp_obj_t)&pin_P0_22 },
72+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_23), (mp_obj_t)&pin_P0_23 },
73+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_24), (mp_obj_t)&pin_P0_24 },
74+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_25), (mp_obj_t)&pin_P0_25 },
75+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_26), (mp_obj_t)&pin_P0_26 },
76+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_27), (mp_obj_t)&pin_P0_27 },
77+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_28), (mp_obj_t)&pin_P0_28 },
78+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_29), (mp_obj_t)&pin_P0_29 },
79+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_30), (mp_obj_t)&pin_P0_30 },
80+
#if defined(NRF52832_XXAA) || defined(NRF52840_XXAA)
81+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P0_31), (mp_obj_t)&pin_P0_31 },
82+
#endif
83+
84+
#ifdef NRF52840_XXAA
85+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P1_00), (mp_obj_t)&pin_P1_00 },
86+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P1_01), (mp_obj_t)&pin_P1_01 },
87+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P1_02), (mp_obj_t)&pin_P1_02 },
88+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P1_03), (mp_obj_t)&pin_P1_03 },
89+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P1_04), (mp_obj_t)&pin_P1_04 },
90+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P1_05), (mp_obj_t)&pin_P1_05 },
91+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P1_06), (mp_obj_t)&pin_P1_06 },
92+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P1_07), (mp_obj_t)&pin_P1_07 },
93+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P1_08), (mp_obj_t)&pin_P1_08 },
94+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P1_09), (mp_obj_t)&pin_P1_09 },
95+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P1_10), (mp_obj_t)&pin_P1_10 },
96+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P1_11), (mp_obj_t)&pin_P1_11 },
97+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P1_12), (mp_obj_t)&pin_P1_12 },
98+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P1_13), (mp_obj_t)&pin_P1_13 },
99+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P1_14), (mp_obj_t)&pin_P1_14 },
100+
{ MP_OBJ_NEW_QSTR(MP_QSTR_P1_15), (mp_obj_t)&pin_P1_15 },
101+
#endif
60102
};
61103
MP_DEFINE_CONST_DICT(mcu_pin_globals, mcu_pin_global_dict_table);

0 commit comments

Comments
 (0)
0