Skip to content

Commit 48ef64a

Browse files
committed
stmhal: Make os.sync use disk_ioctl exclusively; reuse os.sync in pyb.
1 parent 4f94d90 commit 48ef64a

3 files changed

Lines changed: 7 additions & 14 deletions

File tree

stmhal/modpyb.c

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -339,15 +339,6 @@ STATIC mp_obj_t pyb_freq(mp_uint_t n_args, const mp_obj_t *args) {
339339
}
340340
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(pyb_freq_obj, 0, 4, pyb_freq);
341341

342-
/// \function sync()
343-
/// Sync all file systems.
344-
STATIC mp_obj_t pyb_sync(void) {
345-
storage_flush();
346-
disk_ioctl(2, CTRL_SYNC, NULL);
347-
return mp_const_none;
348-
}
349-
STATIC MP_DEFINE_CONST_FUN_OBJ_0(pyb_sync_obj, pyb_sync);
350-
351342
/// \function millis()
352343
/// Returns the number of milliseconds since the board was last reset.
353344
///
@@ -522,7 +513,7 @@ STATIC const mp_map_elem_t pyb_module_globals_table[] = {
522513
{ MP_OBJ_NEW_QSTR(MP_QSTR_elapsed_micros), (mp_obj_t)&pyb_elapsed_micros_obj },
523514
{ MP_OBJ_NEW_QSTR(MP_QSTR_delay), (mp_obj_t)&pyb_delay_obj },
524515
{ MP_OBJ_NEW_QSTR(MP_QSTR_udelay), (mp_obj_t)&pyb_udelay_obj },
525-
{ MP_OBJ_NEW_QSTR(MP_QSTR_sync), (mp_obj_t)&pyb_sync_obj },
516+
{ MP_OBJ_NEW_QSTR(MP_QSTR_sync), (mp_obj_t)&mod_os_sync_obj },
526517
{ MP_OBJ_NEW_QSTR(MP_QSTR_mount), (mp_obj_t)&pyb_mount_obj },
527518

528519
{ MP_OBJ_NEW_QSTR(MP_QSTR_Timer), (mp_obj_t)&pyb_timer_type },

stmhal/moduos.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333
#include "lib/fatfs/ff.h"
3434
#include "lib/fatfs/diskio.h"
3535
#include "rng.h"
36-
#include "storage.h"
3736
#include "file.h"
3837
#include "sdcard.h"
3938
#include "fsusermount.h"
@@ -309,11 +308,12 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_1(os_stat_obj, os_stat);
309308
/// \function sync()
310309
/// Sync all filesystems.
311310
STATIC mp_obj_t os_sync(void) {
312-
storage_flush();
311+
disk_ioctl(0, CTRL_SYNC, NULL);
312+
disk_ioctl(1, CTRL_SYNC, NULL);
313313
disk_ioctl(2, CTRL_SYNC, NULL);
314314
return mp_const_none;
315315
}
316-
STATIC MP_DEFINE_CONST_FUN_OBJ_0(os_sync_obj, os_sync);
316+
MP_DEFINE_CONST_FUN_OBJ_0(mod_os_sync_obj, os_sync);
317317

318318
#if MICROPY_HW_ENABLE_RNG
319319
/// \function urandom(n)
@@ -343,7 +343,7 @@ STATIC const mp_map_elem_t os_module_globals_table[] = {
343343
{ MP_OBJ_NEW_QSTR(MP_QSTR_stat), (mp_obj_t)&os_stat_obj },
344344
{ MP_OBJ_NEW_QSTR(MP_QSTR_unlink), (mp_obj_t)&os_remove_obj }, // unlink aliases to remove
345345

346-
{ MP_OBJ_NEW_QSTR(MP_QSTR_sync), (mp_obj_t)&os_sync_obj },
346+
{ MP_OBJ_NEW_QSTR(MP_QSTR_sync), (mp_obj_t)&mod_os_sync_obj },
347347

348348
/// \constant sep - separation character used in paths
349349
{ MP_OBJ_NEW_QSTR(MP_QSTR_sep), MP_OBJ_NEW_QSTR(MP_QSTR__slash_) },

stmhal/portmodules.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,6 @@ extern const mp_obj_module_t mp_module_usocket;
3333

3434
// additional helper functions exported by the modules
3535

36+
MP_DECLARE_CONST_FUN_OBJ(mod_os_sync_obj);
37+
3638
mp_uint_t mod_time_seconds_since_2000(mp_uint_t year, mp_uint_t month, mp_uint_t date, mp_uint_t hour, mp_uint_t minute, mp_uint_t second);

0 commit comments

Comments
 (0)