esp8266 and nrf: raise NotImplementedError

This commit is contained in:
Dan Halbert 2018-04-10 12:08:41 -04:00
parent 1e9a27177c
commit 5f98953ed8
6 changed files with 25 additions and 10 deletions

View File

@ -29,7 +29,9 @@
#include "flash_api.h" #include "flash_api.h"
#include "py/mperrno.h" #include "py/mperrno.h"
#include "py/runtime.h" #include "py/runtime.h"
#include "shared-bindings/microcontroller/__init__.h"
#include "shared-bindings/storage/__init__.h" #include "shared-bindings/storage/__init__.h"
#include "supervisor/filesystem.h"
#include "usb.h" #include "usb.h"
extern volatile bool mp_msc_enabled; extern volatile bool mp_msc_enabled;
@ -47,3 +49,9 @@ void common_hal_storage_remount(const char* mount_path, bool readonly) {
flash_set_usb_writable(readonly); flash_set_usb_writable(readonly);
} }
void common_hal_storage_erase_filesystem(void) {
filesystem_init(false, true); // Force a re-format.
common_hal_mcu_reset();
// We won't actually get here, since we're resetting.
}

View File

@ -26,9 +26,16 @@
#include <string.h> #include <string.h>
#include "lib/oofatfs/ff.h"
#include "lib/oofatfs/diskio.h"
#include "py/mperrno.h"
#include "py/runtime.h" #include "py/runtime.h"
#include "shared-bindings/storage/__init__.h" #include "shared-bindings/storage/__init__.h"
void common_hal_storage_remount(const char* mount_path, bool readonly) { void common_hal_storage_remount(const char* mount_path, bool readonly) {
mp_raise_NotImplementedError(""); mp_raise_NotImplementedError("");
} }
void common_hal_storage_erase_filesystem() {
mp_raise_NotImplementedError("Use esptool to erase flash and re-upload Python instead");
}

View File

@ -37,3 +37,7 @@ void common_hal_storage_remount(const char* mount_path, bool readonly) {
mp_raise_OSError(MP_EINVAL); mp_raise_OSError(MP_EINVAL);
} }
} }
void common_hal_storage_erase_filesystem() {
mp_raise_NotImplementedError("");
}

View File

@ -133,15 +133,17 @@ MP_DEFINE_CONST_FUN_OBJ_1(storage_getmount_obj, storage_getmount);
//| .. function:: erase_filesystem() //| .. function:: erase_filesystem()
//| //|
//| Erase and re-create the ``CIRCUITPY`` filesystem. Then call //| Erase and re-create the ``CIRCUITPY`` filesystem.
//| `microcontroller.reset()` to restart CircuitPython and have the //|
//| On boards that present USB-visible ``CIRCUITPY`` drive (e.g., SAMD21 and SAMD51),
//| then call `microcontroller.reset()` to restart CircuitPython and have the
//| host computer remount CIRCUITPY. //| host computer remount CIRCUITPY.
//| //|
//| This function can be called from the REPL when ``CIRCUITPY`` //| This function can be called from the REPL when ``CIRCUITPY``
//| has become corrupted. //| has become corrupted.
//| //|
//| .. warning:: All the data on ``CIRCUITPY`` will be lost, and //| .. warning:: All the data on ``CIRCUITPY`` will be lost, and
//| CircuitPython will restart. //| CircuitPython will restart on certain boards.
mp_obj_t storage_erase_filesystem(void) { mp_obj_t storage_erase_filesystem(void) {
common_hal_storage_erase_filesystem(); common_hal_storage_erase_filesystem();

View File

@ -127,9 +127,3 @@ void common_hal_storage_umount_path(const char* mount_path) {
mp_obj_t common_hal_storage_getmount(const char *mount_path) { mp_obj_t common_hal_storage_getmount(const char *mount_path) {
return storage_object_from_path(mount_path); return storage_object_from_path(mount_path);
} }
void common_hal_storage_erase_filesystem(void) {
filesystem_init(false, true); // Force a re-format.
common_hal_mcu_reset();
// We won't actually get here, since we're resetting.
}

View File

@ -29,7 +29,7 @@
#include <stdbool.h> #include <stdbool.h>
void filesystem_init(bool create_allowed, bool create_force); void filesystem_init(bool create_allowed, bool force_create);
void filesystem_flush(void); void filesystem_flush(void);
void filesystem_writable_by_python(bool writable); void filesystem_writable_by_python(bool writable);
bool filesystem_present(void); bool filesystem_present(void);