@@ -150,6 +150,23 @@ mp_obj_t sdcardio_sdcard_readblocks(mp_obj_t self_in, mp_obj_t start_block_in, m
150
150
151
151
MP_DEFINE_CONST_FUN_OBJ_3 (sdcardio_sdcard_readblocks_obj , sdcardio_sdcard_readblocks );
152
152
153
+ //| def sync(self) -> None:
154
+ //| """Ensure all blocks written are actually committed to the SD card
155
+ //|
156
+ //| :return: None"""
157
+ //| ...
158
+ mp_obj_t sdcardio_sdcard_sync (mp_obj_t self_in ) {
159
+ sdcardio_sdcard_obj_t * self = (sdcardio_sdcard_obj_t * )self_in ;
160
+ int result = common_hal_sdcardio_sdcard_sync (self );
161
+ if (result < 0 ) {
162
+ mp_raise_OSError (- result );
163
+ }
164
+ return mp_const_none ;
165
+ }
166
+
167
+ MP_DEFINE_CONST_FUN_OBJ_1 (sdcardio_sdcard_sync_obj , sdcardio_sdcard_sync );
168
+
169
+
153
170
//| def writeblocks(self, start_block: int, buf: ReadableBuffer) -> None:
154
171
//|
155
172
//| """Write one or more blocks to the card
@@ -177,6 +194,7 @@ STATIC const mp_rom_map_elem_t sdcardio_sdcard_locals_dict_table[] = {
177
194
{ MP_ROM_QSTR (MP_QSTR_count ), MP_ROM_PTR (& sdcardio_sdcard_count_obj ) },
178
195
{ MP_ROM_QSTR (MP_QSTR_deinit ), MP_ROM_PTR (& sdcardio_sdcard_deinit_obj ) },
179
196
{ MP_ROM_QSTR (MP_QSTR_readblocks ), MP_ROM_PTR (& sdcardio_sdcard_readblocks_obj ) },
197
+ { MP_ROM_QSTR (MP_QSTR_sync ), MP_ROM_PTR (& sdcardio_sdcard_sync_obj ) },
180
198
{ MP_ROM_QSTR (MP_QSTR_writeblocks ), MP_ROM_PTR (& sdcardio_sdcard_writeblocks_obj ) },
181
199
};
182
200
STATIC MP_DEFINE_CONST_DICT (sdcardio_sdcard_locals_dict , sdcardio_sdcard_locals_dict_table );
0 commit comments