summaryrefslogtreecommitdiffstatshomepage
path: root/stm/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'stm/main.c')
-rw-r--r--stm/main.c20
1 files changed, 15 insertions, 5 deletions
diff --git a/stm/main.c b/stm/main.c
index 5ab17cd3db..e5f5d4e763 100644
--- a/stm/main.c
+++ b/stm/main.c
@@ -110,6 +110,16 @@ mp_obj_t pyb_delay(mp_obj_t count) {
return mp_const_none;
}
+mp_obj_t pyb_udelay(mp_obj_t usec) {
+ uint32_t count = 0;
+ const uint32_t utime = (168 * mp_obj_get_int(usec) / 5);
+ for (;;) {
+ if (++count > utime) {
+ return mp_const_none;
+ }
+ }
+}
+
void fatality(void) {
led_state(PYB_LED_R1, 1);
led_state(PYB_LED_G1, 1);
@@ -387,11 +397,6 @@ soft_reset:
servo_init();
#endif
-#if MICROPY_HW_ENABLE_AUDIO
- // audio
- audio_init();
-#endif
-
#if MICROPY_HW_ENABLE_TIMER
// timer
timer_init();
@@ -420,6 +425,7 @@ soft_reset:
rt_store_attr(m, MP_QSTR_main, rt_make_function_n(1, pyb_main));
rt_store_attr(m, MP_QSTR_sync, rt_make_function_n(0, pyb_sync));
rt_store_attr(m, MP_QSTR_delay, rt_make_function_n(1, pyb_delay));
+ rt_store_attr(m, MP_QSTR_udelay, rt_make_function_n(1, pyb_udelay));
#if MICROPY_HW_HAS_SWITCH
rt_store_attr(m, MP_QSTR_switch, (mp_obj_t)&pyb_switch_obj);
#endif
@@ -450,6 +456,10 @@ soft_reset:
rt_store_attr(m, MP_QSTR_ADC, (mp_obj_t)&pyb_ADC_obj);
rt_store_attr(m, qstr_from_str("millis"), rt_make_function_n(0, pyb_millis));
+#if MICROPY_HW_ENABLE_AUDIO
+ rt_store_attr(m, qstr_from_str("Audio"), (mp_obj_t)&pyb_Audio_obj);
+#endif
+
pin_map_init(m);
gpio_init(m);
exti_init(m);