summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--py/mkenv.mk2
-rw-r--r--stmhal/usbd_msc_storage.c3
-rw-r--r--unix/modffi.c10
3 files changed, 15 insertions, 0 deletions
diff --git a/py/mkenv.mk b/py/mkenv.mk
index 8ae54f06bb..4bc71edd78 100644
--- a/py/mkenv.mk
+++ b/py/mkenv.mk
@@ -54,4 +54,6 @@ STRIP = $(CROSS_COMPILE)strip
all:
.PHONY: all
+.DELETE_ON_ERROR:
+
MKENV_INCLUDED = 1
diff --git a/stmhal/usbd_msc_storage.c b/stmhal/usbd_msc_storage.c
index 3599e289de..6ec9abc3d1 100644
--- a/stmhal/usbd_msc_storage.c
+++ b/stmhal/usbd_msc_storage.c
@@ -38,7 +38,10 @@
// These are needed to support removal of the medium, so that the USB drive
// can be unmounted, and won't be remounted automatically.
static uint8_t flash_removed = 0;
+
+#if MICROPY_HW_HAS_SDCARD
static uint8_t sdcard_removed = 0;
+#endif
/******************************************************************************/
// Callback functions for when the internal flash is the mass storage device
diff --git a/unix/modffi.c b/unix/modffi.c
index cb6a4424f3..f2bd6fcecf 100644
--- a/unix/modffi.c
+++ b/unix/modffi.c
@@ -61,6 +61,8 @@ STATIC ffi_type *char2ffi_type(char c)
case 'I': return &ffi_type_uint;
case 'l': return &ffi_type_slong;
case 'L': return &ffi_type_ulong;
+ case 'f': return &ffi_type_float;
+ case 'd': return &ffi_type_double;
case 'p':
case 's': return &ffi_type_pointer;
case 'v': return &ffi_type_void;
@@ -92,6 +94,14 @@ STATIC mp_obj_t return_ffi_value(ffi_arg val, char type)
}
case 'v':
return mp_const_none;
+ case 'f': {
+ float *p = (float*)&val;
+ return mp_obj_new_float(*p);
+ }
+ case 'd': {
+ double *p = (double*)&val;
+ return mp_obj_new_float(*p);
+ }
default:
return mp_obj_new_int(val);
}