3939//| :type microcontroller.RunMode:"""
4040//|
4141//| SAFE_MODE: RunMode
42- //| """Run CircuitPython in safe mode. User code will not be run and the
42+ //| """Run CircuitPython in safe mode. User code will not run and the
4343//| file system will be writeable over USB.
4444//|
4545//| :type microcontroller.RunMode:"""
4646//|
47+ //| UF2: RunMode
48+ //| """Run the uf2 bootloader.
49+ //|
50+ //| :type microcontroller.RunMode:"""
51+ //|
4752//| BOOTLOADER: RunMode
48- //| """Run the bootloader.
53+ //| """Run the default bootloader.
4954//|
5055//| :type microcontroller.RunMode:"""
5156//|
5257const mp_obj_type_t mcu_runmode_type ;
5358
59+ const mcu_runmode_obj_t mcu_runmode_uf2_obj = {
60+ { & mcu_runmode_type },
61+ };
62+
5463const mcu_runmode_obj_t mcu_runmode_normal_obj = {
5564 { & mcu_runmode_type },
5665};
@@ -64,6 +73,7 @@ const mcu_runmode_obj_t mcu_runmode_bootloader_obj = {
6473};
6574
6675STATIC const mp_rom_map_elem_t mcu_runmode_locals_dict_table [] = {
76+ {MP_ROM_QSTR (MP_QSTR_UF2 ), MP_ROM_PTR (& mcu_runmode_uf2_obj )},
6777 {MP_ROM_QSTR (MP_QSTR_NORMAL ), MP_ROM_PTR (& mcu_runmode_normal_obj )},
6878 {MP_ROM_QSTR (MP_QSTR_SAFE_MODE ), MP_ROM_PTR (& mcu_runmode_safe_mode_obj )},
6979 {MP_ROM_QSTR (MP_QSTR_BOOTLOADER ), MP_ROM_PTR (& mcu_runmode_bootloader_obj )},
@@ -72,10 +82,11 @@ STATIC MP_DEFINE_CONST_DICT(mcu_runmode_locals_dict, mcu_runmode_locals_dict_tab
7282
7383STATIC void mcu_runmode_print (const mp_print_t * print , mp_obj_t self_in , mp_print_kind_t kind ) {
7484 qstr runmode = MP_QSTR_NORMAL ;
75- if (MP_OBJ_TO_PTR (self_in ) == MP_ROM_PTR (& mcu_runmode_safe_mode_obj )) {
85+ if (MP_OBJ_TO_PTR (self_in ) == MP_ROM_PTR (& mcu_runmode_uf2_obj )) {
86+ runmode = MP_QSTR_UF2 ;
87+ } else if (MP_OBJ_TO_PTR (self_in ) == MP_ROM_PTR (& mcu_runmode_safe_mode_obj )) {
7688 runmode = MP_QSTR_SAFE_MODE ;
77- } else if (MP_OBJ_TO_PTR (self_in ) ==
78- MP_ROM_PTR (& mcu_runmode_bootloader_obj )) {
89+ } else if (MP_OBJ_TO_PTR (self_in ) == MP_ROM_PTR (& mcu_runmode_bootloader_obj )) {
7990 runmode = MP_QSTR_BOOTLOADER ;
8091 }
8192 mp_printf (print , "%q.%q.%q" , MP_QSTR_microcontroller , MP_QSTR_RunMode ,
0 commit comments