diff options
-rw-r--r-- | stmhal/main.c | 34 | ||||
-rw-r--r-- | stmhal/modpyb.c | 2 | ||||
-rw-r--r-- | stmhal/qstrdefsport.h | 1 |
3 files changed, 12 insertions, 25 deletions
diff --git a/stmhal/main.c b/stmhal/main.c index 2134e94fdf..b735f49bca 100644 --- a/stmhal/main.c +++ b/stmhal/main.c @@ -127,26 +127,15 @@ void disable_irq(void) { __disable_irq(); } -STATIC mp_obj_t pyb_config_source_dir = MP_OBJ_NULL; STATIC mp_obj_t pyb_config_main = MP_OBJ_NULL; STATIC mp_obj_t pyb_config_usb_mode = MP_OBJ_NULL; -STATIC mp_obj_t pyb_source_dir(mp_obj_t source_dir) { - if (MP_OBJ_IS_STR(source_dir)) { - pyb_config_source_dir = source_dir; - } - return mp_const_none; -} - -MP_DEFINE_CONST_FUN_OBJ_1(pyb_source_dir_obj, pyb_source_dir); - STATIC mp_obj_t pyb_main(mp_obj_t main) { if (MP_OBJ_IS_STR(main)) { pyb_config_main = main; } return mp_const_none; } - MP_DEFINE_CONST_FUN_OBJ_1(pyb_main_obj, pyb_main); STATIC mp_obj_t pyb_usb_mode(mp_obj_t usb_mode) { @@ -155,7 +144,6 @@ STATIC mp_obj_t pyb_usb_mode(mp_obj_t usb_mode) { } return mp_const_none; } - MP_DEFINE_CONST_FUN_OBJ_1(pyb_usb_mode_obj, pyb_usb_mode); static const char fresh_boot_py[] = @@ -444,7 +432,7 @@ soft_reset: #if MICROPY_HW_HAS_SDCARD // if an SD card is present then mount it on /sd/ - if (reset_mode == 1 && sdcard_is_present()) { + if (sdcard_is_present()) { FRESULT res = f_mount(&fatfs1, "/sd", 1); if (res != FR_OK) { printf("[SD] could not mount SD card\n"); @@ -466,7 +454,12 @@ soft_reset: } #endif + // reset config variables; they should be set by boot.py + pyb_config_main = MP_OBJ_NULL; + pyb_config_usb_mode = MP_OBJ_NULL; + // run boot.py, if it exists + // TODO perhaps have pyb.reboot([bootpy]) function to soft-reboot and execute custom boot.py if (reset_mode == 1) { const char *boot_py = "boot.py"; FRESULT res = f_stat(boot_py, NULL); @@ -491,17 +484,14 @@ soft_reset: pyb_usb_host_init(); #elif defined(USE_DEVICE_MODE) // USB device - if (reset_mode == 1) { - usb_device_mode_t usb_mode = USB_DEVICE_MODE_CDC_MSC; - if (pyb_config_usb_mode != MP_OBJ_NULL) { - if (strcmp(mp_obj_str_get_str(pyb_config_usb_mode), "CDC+HID") == 0) { - usb_mode = USB_DEVICE_MODE_CDC_HID; - } + usb_device_mode_t usb_mode = USB_DEVICE_MODE_CDC_MSC; + // if we are not in reset_mode==1, this config variable will always be NULL + if (pyb_config_usb_mode != MP_OBJ_NULL) { + if (strcmp(mp_obj_str_get_str(pyb_config_usb_mode), "CDC+HID") == 0) { + usb_mode = USB_DEVICE_MODE_CDC_HID; } - pyb_usb_dev_init(usb_mode, usb_medium); - } else { - pyb_usb_dev_init(USB_DEVICE_MODE_CDC_MSC, usb_medium); } + pyb_usb_dev_init(usb_mode, usb_medium); #endif #if MICROPY_HW_HAS_MMA7660 diff --git a/stmhal/modpyb.c b/stmhal/modpyb.c index 4b81d51e32..a075cf2c32 100644 --- a/stmhal/modpyb.c +++ b/stmhal/modpyb.c @@ -341,7 +341,6 @@ STATIC mp_obj_t pyb_hid_send_report(mp_obj_t arg) { } STATIC MP_DEFINE_CONST_FUN_OBJ_1(pyb_hid_send_report_obj, pyb_hid_send_report); -MP_DECLARE_CONST_FUN_OBJ(pyb_source_dir_obj); // defined in main.c MP_DECLARE_CONST_FUN_OBJ(pyb_main_obj); // defined in main.c MP_DECLARE_CONST_FUN_OBJ(pyb_usb_mode_obj); // defined in main.c @@ -360,7 +359,6 @@ STATIC const mp_map_elem_t pyb_module_globals_table[] = { { MP_OBJ_NEW_QSTR(MP_QSTR_stop), (mp_obj_t)&pyb_stop_obj }, { MP_OBJ_NEW_QSTR(MP_QSTR_standby), (mp_obj_t)&pyb_standby_obj }, - { MP_OBJ_NEW_QSTR(MP_QSTR_source_dir), (mp_obj_t)&pyb_source_dir_obj }, { MP_OBJ_NEW_QSTR(MP_QSTR_main), (mp_obj_t)&pyb_main_obj }, { MP_OBJ_NEW_QSTR(MP_QSTR_usb_mode), (mp_obj_t)&pyb_usb_mode_obj }, diff --git a/stmhal/qstrdefsport.h b/stmhal/qstrdefsport.h index 2505ca7474..d664597b75 100644 --- a/stmhal/qstrdefsport.h +++ b/stmhal/qstrdefsport.h @@ -39,7 +39,6 @@ Q(disable_irq) Q(enable_irq) Q(stop) Q(standby) -Q(source_dir) Q(main) Q(usb_mode) Q(sync) |