summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Halbert <halbert@halwitz.org>2018-04-10 12:08:41 -0400
committerDan Halbert <halbert@halwitz.org>2018-04-10 12:08:41 -0400
commit5f98953ed89f5e89b92f500788ae4ff0806886c8 (patch)
tree8211442c7e8aef157b6aee1a9aae20d9a09c8783
parent1e9a27177c5d43ffcc3d02c94b0bc12eb4e7ae34 (diff)
esp8266 and nrf: raise NotImplementedError
-rw-r--r--ports/atmel-samd/common-hal/storage/__init__.c8
-rw-r--r--ports/esp8266/common-hal/storage/__init__.c7
-rw-r--r--ports/nrf/common-hal/storage/__init__.c4
-rw-r--r--shared-bindings/storage/__init__.c8
-rw-r--r--shared-module/storage/__init__.c6
-rw-r--r--supervisor/filesystem.h2
6 files changed, 25 insertions, 10 deletions
diff --git a/ports/atmel-samd/common-hal/storage/__init__.c b/ports/atmel-samd/common-hal/storage/__init__.c
index c4cb83142..383865558 100644
--- a/ports/atmel-samd/common-hal/storage/__init__.c
+++ b/ports/atmel-samd/common-hal/storage/__init__.c
@@ -29,7 +29,9 @@
#include "flash_api.h"
#include "py/mperrno.h"
#include "py/runtime.h"
+#include "shared-bindings/microcontroller/__init__.h"
#include "shared-bindings/storage/__init__.h"
+#include "supervisor/filesystem.h"
#include "usb.h"
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);
}
+
+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.
+}
diff --git a/ports/esp8266/common-hal/storage/__init__.c b/ports/esp8266/common-hal/storage/__init__.c
index a4c3a387a..dd732e3b7 100644
--- a/ports/esp8266/common-hal/storage/__init__.c
+++ b/ports/esp8266/common-hal/storage/__init__.c
@@ -26,9 +26,16 @@
#include <string.h>
+#include "lib/oofatfs/ff.h"
+#include "lib/oofatfs/diskio.h"
+#include "py/mperrno.h"
#include "py/runtime.h"
#include "shared-bindings/storage/__init__.h"
void common_hal_storage_remount(const char* mount_path, bool readonly) {
mp_raise_NotImplementedError("");
}
+
+void common_hal_storage_erase_filesystem() {
+ mp_raise_NotImplementedError("Use esptool to erase flash and re-upload Python instead");
+}
diff --git a/ports/nrf/common-hal/storage/__init__.c b/ports/nrf/common-hal/storage/__init__.c
index 9d94d3969..76ff81466 100644
--- a/ports/nrf/common-hal/storage/__init__.c
+++ b/ports/nrf/common-hal/storage/__init__.c
@@ -37,3 +37,7 @@ void common_hal_storage_remount(const char* mount_path, bool readonly) {
mp_raise_OSError(MP_EINVAL);
}
}
+
+void common_hal_storage_erase_filesystem() {
+ mp_raise_NotImplementedError("");
+}
diff --git a/shared-bindings/storage/__init__.c b/shared-bindings/storage/__init__.c
index 2195d2242..ca9281a18 100644
--- a/shared-bindings/storage/__init__.c
+++ b/shared-bindings/storage/__init__.c
@@ -133,15 +133,17 @@ MP_DEFINE_CONST_FUN_OBJ_1(storage_getmount_obj, storage_getmount);
//| .. function:: erase_filesystem()
//|
-//| Erase and re-create the ``CIRCUITPY`` filesystem. Then call
-//| `microcontroller.reset()` to restart CircuitPython and have the
+//| Erase and re-create the ``CIRCUITPY`` filesystem.
+//|
+//| 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.
//|
//| This function can be called from the REPL when ``CIRCUITPY``
//| has become corrupted.
//|
//| .. 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) {
common_hal_storage_erase_filesystem();
diff --git a/shared-module/storage/__init__.c b/shared-module/storage/__init__.c
index f1fa74990..dc576ccda 100644
--- a/shared-module/storage/__init__.c
+++ b/shared-module/storage/__init__.c
@@ -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) {
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.
-}
diff --git a/supervisor/filesystem.h b/supervisor/filesystem.h
index 63da0bcab..eb9e65c09 100644
--- a/supervisor/filesystem.h
+++ b/supervisor/filesystem.h
@@ -29,7 +29,7 @@
#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_writable_by_python(bool writable);
bool filesystem_present(void);