summaryrefslogtreecommitdiffstatshomepage
path: root/ports/esp32/esp32_partition.c
diff options
context:
space:
mode:
authorThorsten von Eicken <tve@voneicken.com>2020-03-31 16:03:01 -0700
committerDamien George <damien.p.george@gmail.com>2020-04-23 10:59:07 +1000
commit1ae7e0e561134c39471e3000eced33da732b4103 (patch)
treea1d1f7393863cf0fddf8dcae82aabd1e04768971 /ports/esp32/esp32_partition.c
parenta177831c46a7e217fed6562510e12183377053f7 (diff)
downloadmicropython-1ae7e0e561134c39471e3000eced33da732b4103.tar.gz
micropython-1ae7e0e561134c39471e3000eced33da732b4103.zip
esp32: Consolidate check_esp_err functions and add IDF error string.
This commit consolidates a number of check_esp_err functions that check whether an ESP-IDF return code is OK and raises an exception if not. The exception raised is an OSError with the error code as the first argument (negative if it's ESP-IDF specific) and the ESP-IDF error string as the second argument. This commit also fixes esp32.Partition.set_boot to use check_esp_err, and uses that function for a unit test.
Diffstat (limited to 'ports/esp32/esp32_partition.c')
-rw-r--r--ports/esp32/esp32_partition.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/ports/esp32/esp32_partition.c b/ports/esp32/esp32_partition.c
index a1aa8c9dde..cbb62206fa 100644
--- a/ports/esp32/esp32_partition.c
+++ b/ports/esp32/esp32_partition.c
@@ -29,6 +29,7 @@
#include "py/runtime.h"
#include "py/mperrno.h"
#include "extmod/vfs.h"
+#include "mphalport.h"
#include "modesp32.h"
#include "esp_ota_ops.h"
@@ -47,12 +48,6 @@ typedef struct _esp32_partition_obj_t {
const esp_partition_t *part;
} esp32_partition_obj_t;
-static inline void check_esp_err(esp_err_t e) {
- if (e != ESP_OK) {
- mp_raise_OSError(-e);
- }
-}
-
STATIC esp32_partition_obj_t *esp32_partition_new(const esp_partition_t *part) {
if (part == NULL) {
mp_raise_OSError(MP_ENOENT);
@@ -203,7 +198,7 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_3(esp32_partition_ioctl_obj, esp32_partition_ioct
STATIC mp_obj_t esp32_partition_set_boot(mp_obj_t self_in) {
esp32_partition_obj_t *self = MP_OBJ_TO_PTR(self_in);
- esp_ota_set_boot_partition(self->part);
+ check_esp_err(esp_ota_set_boot_partition(self->part));
return mp_const_none;
}
STATIC MP_DEFINE_CONST_FUN_OBJ_1(esp32_partition_set_boot_obj, esp32_partition_set_boot);