Merge pull request #3223 from dhalbert/unmount-before-reset
storage.erase_filesystem(): disconnect from USB and wait 1 second before resetting
This commit is contained in:
commit
b76d37f24a
@ -30,6 +30,7 @@
|
|||||||
|
|
||||||
#include "extmod/vfs.h"
|
#include "extmod/vfs.h"
|
||||||
#include "py/mperrno.h"
|
#include "py/mperrno.h"
|
||||||
|
#include "py/mphal.h"
|
||||||
#include "py/obj.h"
|
#include "py/obj.h"
|
||||||
#include "py/runtime.h"
|
#include "py/runtime.h"
|
||||||
#include "shared-bindings/microcontroller/__init__.h"
|
#include "shared-bindings/microcontroller/__init__.h"
|
||||||
@ -159,6 +160,8 @@ void common_hal_storage_remount(const char *mount_path, bool readonly, bool disa
|
|||||||
}
|
}
|
||||||
|
|
||||||
void common_hal_storage_erase_filesystem(void) {
|
void common_hal_storage_erase_filesystem(void) {
|
||||||
|
usb_disconnect();
|
||||||
|
mp_hal_delay_ms(1000);
|
||||||
filesystem_init(false, true); // Force a re-format.
|
filesystem_init(false, true); // Force a re-format.
|
||||||
common_hal_mcu_reset();
|
common_hal_mcu_reset();
|
||||||
// We won't actually get here, since we're resetting.
|
// We won't actually get here, since we're resetting.
|
||||||
|
@ -74,6 +74,10 @@ void usb_init(void) {
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void usb_disconnect(void) {
|
||||||
|
tud_disconnect();
|
||||||
|
}
|
||||||
|
|
||||||
void usb_background(void) {
|
void usb_background(void) {
|
||||||
if (usb_enabled()) {
|
if (usb_enabled()) {
|
||||||
#if CFG_TUSB_OS == OPT_OS_NONE
|
#if CFG_TUSB_OS == OPT_OS_NONE
|
||||||
|
@ -45,6 +45,7 @@ void init_usb_hardware(void);
|
|||||||
// Shared implementation.
|
// Shared implementation.
|
||||||
bool usb_enabled(void);
|
bool usb_enabled(void);
|
||||||
void usb_init(void);
|
void usb_init(void);
|
||||||
|
void usb_disconnect(void);
|
||||||
|
|
||||||
// Propagate plug/unplug events to the MSC logic.
|
// Propagate plug/unplug events to the MSC logic.
|
||||||
void usb_msc_mount(void);
|
void usb_msc_mount(void);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user