Oliver Fabel 1 год назад
Родитель
Сommit
292e48c329

+ 0 - 10
genhdr/moduledefs.h

@@ -1,9 +1,5 @@
 // Automatically generated by makemoduledefs.py.
 // Automatically generated by makemoduledefs.py.
 
 
-extern const struct _mp_obj_module_t mp_module_array;
-#undef MODULE_DEF_ARRAY
-#define MODULE_DEF_ARRAY { MP_ROM_QSTR(MP_QSTR_array), MP_ROM_PTR(&mp_module_array) },
-
 extern const struct _mp_obj_module_t mp_module_random;
 extern const struct _mp_obj_module_t mp_module_random;
 #undef MODULE_DEF_RANDOM
 #undef MODULE_DEF_RANDOM
 #define MODULE_DEF_RANDOM { MP_ROM_QSTR(MP_QSTR_random), MP_ROM_PTR(&mp_module_random) },
 #define MODULE_DEF_RANDOM { MP_ROM_QSTR(MP_QSTR_random), MP_ROM_PTR(&mp_module_random) },
@@ -28,21 +24,15 @@ extern const struct _mp_obj_module_t mp_module_gc;
 #undef MODULE_DEF_GC
 #undef MODULE_DEF_GC
 #define MODULE_DEF_GC { MP_ROM_QSTR(MP_QSTR_gc), MP_ROM_PTR(&mp_module_gc) },
 #define MODULE_DEF_GC { MP_ROM_QSTR(MP_QSTR_gc), MP_ROM_PTR(&mp_module_gc) },
 
 
-extern const struct _mp_obj_module_t mp_module_micropython;
-#undef MODULE_DEF_MICROPYTHON
-#define MODULE_DEF_MICROPYTHON { MP_ROM_QSTR(MP_QSTR_micropython), MP_ROM_PTR(&mp_module_micropython) },
-
 
 
 #define MICROPY_REGISTERED_MODULES \
 #define MICROPY_REGISTERED_MODULES \
     MODULE_DEF_BUILTINS \
     MODULE_DEF_BUILTINS \
     MODULE_DEF_FLIPPERZERO \
     MODULE_DEF_FLIPPERZERO \
     MODULE_DEF_GC \
     MODULE_DEF_GC \
-    MODULE_DEF_MICROPYTHON \
     MODULE_DEF___MAIN__ \
     MODULE_DEF___MAIN__ \
 // MICROPY_REGISTERED_MODULES
 // MICROPY_REGISTERED_MODULES
 
 
 #define MICROPY_REGISTERED_EXTENSIBLE_MODULES \
 #define MICROPY_REGISTERED_EXTENSIBLE_MODULES \
-    MODULE_DEF_ARRAY \
     MODULE_DEF_RANDOM \
     MODULE_DEF_RANDOM \
     MODULE_DEF_TIME \
     MODULE_DEF_TIME \
 // MICROPY_REGISTERED_EXTENSIBLE_MODULES
 // MICROPY_REGISTERED_EXTENSIBLE_MODULES

+ 2 - 2
genhdr/mpversion.h

@@ -1,4 +1,4 @@
 // This file was generated by py/makeversionhdr.py
 // This file was generated by py/makeversionhdr.py
-#define MICROPY_GIT_TAG "v1.23.0-preview.322.g5114f2c1e"
+#define MICROPY_GIT_TAG "v1.23.0-preview.322.g5114f2c1e.dirty"
 #define MICROPY_GIT_HASH "5114f2c1e"
 #define MICROPY_GIT_HASH "5114f2c1e"
-#define MICROPY_BUILD_DATE "2024-04-16"
+#define MICROPY_BUILD_DATE "2024-08-04"

+ 12 - 30
genhdr/qstrdefs.generated.h

@@ -166,8 +166,6 @@ QDEF0(MP_QSTR_value, 78, 5, "value")
 QDEF0(MP_QSTR_values, 125, 6, "values")
 QDEF0(MP_QSTR_values, 125, 6, "values")
 QDEF0(MP_QSTR_write, 152, 5, "write")
 QDEF0(MP_QSTR_write, 152, 5, "write")
 QDEF0(MP_QSTR_zip, 230, 3, "zip")
 QDEF0(MP_QSTR_zip, 230, 3, "zip")
-QDEF1(MP_QSTR__percent__hash_o, 108, 3, "%#o")
-QDEF1(MP_QSTR__percent__hash_x, 123, 3, "%#x")
 QDEF0(MP_QSTR__lt_dictcomp_gt_, 204, 10, "<dictcomp>")
 QDEF0(MP_QSTR__lt_dictcomp_gt_, 204, 10, "<dictcomp>")
 QDEF0(MP_QSTR__lt_genexpr_gt_, 52, 9, "<genexpr>")
 QDEF0(MP_QSTR__lt_genexpr_gt_, 52, 9, "<genexpr>")
 QDEF0(MP_QSTR__lt_lambda_gt_, 128, 8, "<lambda>")
 QDEF0(MP_QSTR__lt_lambda_gt_, 128, 8, "<lambda>")
@@ -175,13 +173,13 @@ QDEF0(MP_QSTR__lt_listcomp_gt_, 212, 10, "<listcomp>")
 QDEF0(MP_QSTR__lt_setcomp_gt_, 84, 9, "<setcomp>")
 QDEF0(MP_QSTR__lt_setcomp_gt_, 84, 9, "<setcomp>")
 QDEF1(MP_QSTR__lt_stdin_gt_, 227, 7, "<stdin>")
 QDEF1(MP_QSTR__lt_stdin_gt_, 227, 7, "<stdin>")
 QDEF1(MP_QSTR__lt_string_gt_, 82, 8, "<string>")
 QDEF1(MP_QSTR__lt_string_gt_, 82, 8, "<string>")
-QDEF1(MP_QSTR_CANVAS_ALIGN_BEGIN, 167, 18, "CANVAS_ALIGN_BEGIN")
-QDEF1(MP_QSTR_CANVAS_ALIGN_CENTER, 235, 19, "CANVAS_ALIGN_CENTER")
-QDEF1(MP_QSTR_CANVAS_ALIGN_END, 239, 16, "CANVAS_ALIGN_END")
+QDEF1(MP_QSTR_ALIGN_BEGIN, 240, 11, "ALIGN_BEGIN")
+QDEF1(MP_QSTR_ALIGN_CENTER, 28, 12, "ALIGN_CENTER")
+QDEF1(MP_QSTR_ALIGN_END, 248, 9, "ALIGN_END")
 QDEF1(MP_QSTR_CANVAS_BLACK, 213, 12, "CANVAS_BLACK")
 QDEF1(MP_QSTR_CANVAS_BLACK, 213, 12, "CANVAS_BLACK")
-QDEF1(MP_QSTR_CANVAS_FONT_PRIMARY, 242, 19, "CANVAS_FONT_PRIMARY")
-QDEF1(MP_QSTR_CANVAS_FONT_SECONDARY, 4, 21, "CANVAS_FONT_SECONDARY")
 QDEF1(MP_QSTR_CANVAS_WHITE, 53, 12, "CANVAS_WHITE")
 QDEF1(MP_QSTR_CANVAS_WHITE, 53, 12, "CANVAS_WHITE")
+QDEF1(MP_QSTR_FONT_PRIMARY, 133, 12, "FONT_PRIMARY")
+QDEF1(MP_QSTR_FONT_SECONDARY, 51, 14, "FONT_SECONDARY")
 QDEF1(MP_QSTR_INPUT_BUTTON_BACK, 174, 17, "INPUT_BUTTON_BACK")
 QDEF1(MP_QSTR_INPUT_BUTTON_BACK, 174, 17, "INPUT_BUTTON_BACK")
 QDEF1(MP_QSTR_INPUT_BUTTON_DOWN, 247, 17, "INPUT_BUTTON_DOWN")
 QDEF1(MP_QSTR_INPUT_BUTTON_DOWN, 247, 17, "INPUT_BUTTON_DOWN")
 QDEF1(MP_QSTR_INPUT_BUTTON_LEFT, 94, 17, "INPUT_BUTTON_LEFT")
 QDEF1(MP_QSTR_INPUT_BUTTON_LEFT, 94, 17, "INPUT_BUTTON_LEFT")
@@ -198,11 +196,9 @@ QDEF1(MP_QSTR_LIGHT_BLUE, 90, 10, "LIGHT_BLUE")
 QDEF1(MP_QSTR_LIGHT_GREEN, 95, 11, "LIGHT_GREEN")
 QDEF1(MP_QSTR_LIGHT_GREEN, 95, 11, "LIGHT_GREEN")
 QDEF1(MP_QSTR_LIGHT_RED, 215, 9, "LIGHT_RED")
 QDEF1(MP_QSTR_LIGHT_RED, 215, 9, "LIGHT_RED")
 QDEF0(MP_QSTR___add__, 196, 7, "__add__")
 QDEF0(MP_QSTR___add__, 196, 7, "__add__")
-QDEF1(MP_QSTR___bases__, 3, 9, "__bases__")
 QDEF0(MP_QSTR___bool__, 43, 8, "__bool__")
 QDEF0(MP_QSTR___bool__, 43, 8, "__bool__")
 QDEF1(MP_QSTR___build_class__, 66, 15, "__build_class__")
 QDEF1(MP_QSTR___build_class__, 66, 15, "__build_class__")
 QDEF0(MP_QSTR___contains__, 198, 12, "__contains__")
 QDEF0(MP_QSTR___contains__, 198, 12, "__contains__")
-QDEF1(MP_QSTR___dict__, 127, 8, "__dict__")
 QDEF0(MP_QSTR___eq__, 113, 6, "__eq__")
 QDEF0(MP_QSTR___eq__, 113, 6, "__eq__")
 QDEF1(MP_QSTR___file__, 3, 8, "__file__")
 QDEF1(MP_QSTR___file__, 3, 8, "__file__")
 QDEF0(MP_QSTR___float__, 53, 9, "__float__")
 QDEF0(MP_QSTR___float__, 53, 9, "__float__")
@@ -222,7 +218,6 @@ QDEF0(MP_QSTR___sub__, 33, 7, "__sub__")
 QDEF1(MP_QSTR___traceback__, 79, 13, "__traceback__")
 QDEF1(MP_QSTR___traceback__, 79, 13, "__traceback__")
 QDEF1(MP_QSTR__input_trigger_handler, 108, 22, "_input_trigger_handler")
 QDEF1(MP_QSTR__input_trigger_handler, 108, 22, "_input_trigger_handler")
 QDEF1(MP_QSTR_add, 68, 3, "add")
 QDEF1(MP_QSTR_add, 68, 3, "add")
-QDEF1(MP_QSTR_array, 124, 5, "array")
 QDEF1(MP_QSTR_bin, 224, 3, "bin")
 QDEF1(MP_QSTR_bin, 224, 3, "bin")
 QDEF1(MP_QSTR_bound_method, 151, 12, "bound_method")
 QDEF1(MP_QSTR_bound_method, 151, 12, "bound_method")
 QDEF1(MP_QSTR_canvas_clear, 107, 12, "canvas_clear")
 QDEF1(MP_QSTR_canvas_clear, 107, 12, "canvas_clear")
@@ -241,34 +236,28 @@ QDEF1(MP_QSTR_canvas_text_height, 239, 18, "canvas_text_height")
 QDEF1(MP_QSTR_canvas_text_width, 86, 17, "canvas_text_width")
 QDEF1(MP_QSTR_canvas_text_width, 86, 17, "canvas_text_width")
 QDEF1(MP_QSTR_canvas_update, 131, 13, "canvas_update")
 QDEF1(MP_QSTR_canvas_update, 131, 13, "canvas_update")
 QDEF1(MP_QSTR_canvas_width, 180, 12, "canvas_width")
 QDEF1(MP_QSTR_canvas_width, 180, 12, "canvas_width")
-QDEF1(MP_QSTR_choice, 46, 6, "choice")
 QDEF1(MP_QSTR_closure, 116, 7, "closure")
 QDEF1(MP_QSTR_closure, 116, 7, "closure")
 QDEF1(MP_QSTR_collect, 155, 7, "collect")
 QDEF1(MP_QSTR_collect, 155, 7, "collect")
-QDEF1(MP_QSTR_decode, 169, 6, "decode")
 QDEF1(MP_QSTR_default, 206, 7, "default")
 QDEF1(MP_QSTR_default, 206, 7, "default")
-QDEF1(MP_QSTR_delattr, 219, 7, "delattr")
-QDEF1(MP_QSTR_deleter, 110, 7, "deleter")
+QDEF1(MP_QSTR_dialog_message_clear, 95, 20, "dialog_message_clear")
+QDEF1(MP_QSTR_dialog_message_set_button, 45, 25, "dialog_message_set_button")
+QDEF1(MP_QSTR_dialog_message_set_header, 196, 25, "dialog_message_set_header")
+QDEF1(MP_QSTR_dialog_message_set_text, 198, 23, "dialog_message_set_text")
+QDEF1(MP_QSTR_dialog_message_show, 69, 19, "dialog_message_show")
 QDEF1(MP_QSTR_dict_view, 45, 9, "dict_view")
 QDEF1(MP_QSTR_dict_view, 45, 9, "dict_view")
 QDEF1(MP_QSTR_difference, 114, 10, "difference")
 QDEF1(MP_QSTR_difference, 114, 10, "difference")
 QDEF1(MP_QSTR_difference_update, 156, 17, "difference_update")
 QDEF1(MP_QSTR_difference_update, 156, 17, "difference_update")
 QDEF1(MP_QSTR_disable, 145, 7, "disable")
 QDEF1(MP_QSTR_disable, 145, 7, "disable")
 QDEF1(MP_QSTR_discard, 15, 7, "discard")
 QDEF1(MP_QSTR_discard, 15, 7, "discard")
-QDEF1(MP_QSTR_doc, 45, 3, "doc")
 QDEF1(MP_QSTR_enable, 4, 6, "enable")
 QDEF1(MP_QSTR_enable, 4, 6, "enable")
-QDEF1(MP_QSTR_encode, 67, 6, "encode")
-QDEF1(MP_QSTR_enumerate, 113, 9, "enumerate")
 QDEF1(MP_QSTR_errno, 193, 5, "errno")
 QDEF1(MP_QSTR_errno, 193, 5, "errno")
 QDEF1(MP_QSTR_filter, 37, 6, "filter")
 QDEF1(MP_QSTR_filter, 37, 6, "filter")
 QDEF1(MP_QSTR_flipperzero, 179, 11, "flipperzero")
 QDEF1(MP_QSTR_flipperzero, 179, 11, "flipperzero")
 QDEF1(MP_QSTR_float, 53, 5, "float")
 QDEF1(MP_QSTR_float, 53, 5, "float")
-QDEF1(MP_QSTR_fromkeys, 55, 8, "fromkeys")
 QDEF1(MP_QSTR_function, 39, 8, "function")
 QDEF1(MP_QSTR_function, 39, 8, "function")
 QDEF1(MP_QSTR_gc, 97, 2, "gc")
 QDEF1(MP_QSTR_gc, 97, 2, "gc")
 QDEF1(MP_QSTR_generator, 150, 9, "generator")
 QDEF1(MP_QSTR_generator, 150, 9, "generator")
 QDEF1(MP_QSTR_getrandbits, 102, 11, "getrandbits")
 QDEF1(MP_QSTR_getrandbits, 102, 11, "getrandbits")
-QDEF1(MP_QSTR_getter, 144, 6, "getter")
-QDEF1(MP_QSTR_heap_lock, 173, 9, "heap_lock")
-QDEF1(MP_QSTR_heap_unlock, 86, 11, "heap_unlock")
 QDEF1(MP_QSTR_hex, 112, 3, "hex")
 QDEF1(MP_QSTR_hex, 112, 3, "hex")
 QDEF1(MP_QSTR_intersection, 40, 12, "intersection")
 QDEF1(MP_QSTR_intersection, 40, 12, "intersection")
 QDEF1(MP_QSTR_intersection_update, 6, 19, "intersection_update")
 QDEF1(MP_QSTR_intersection_update, 6, 19, "intersection_update")
@@ -276,7 +265,6 @@ QDEF1(MP_QSTR_isdisjoint, 247, 10, "isdisjoint")
 QDEF1(MP_QSTR_isenabled, 154, 9, "isenabled")
 QDEF1(MP_QSTR_isenabled, 154, 9, "isenabled")
 QDEF1(MP_QSTR_issubset, 185, 8, "issubset")
 QDEF1(MP_QSTR_issubset, 185, 8, "issubset")
 QDEF1(MP_QSTR_issuperset, 252, 10, "issuperset")
 QDEF1(MP_QSTR_issuperset, 252, 10, "issuperset")
-QDEF1(MP_QSTR_iterable, 37, 8, "iterable")
 QDEF1(MP_QSTR_iterator, 71, 8, "iterator")
 QDEF1(MP_QSTR_iterator, 71, 8, "iterator")
 QDEF1(MP_QSTR_light_blink_set_color, 217, 21, "light_blink_set_color")
 QDEF1(MP_QSTR_light_blink_set_color, 217, 21, "light_blink_set_color")
 QDEF1(MP_QSTR_light_blink_start, 121, 17, "light_blink_start")
 QDEF1(MP_QSTR_light_blink_start, 121, 17, "light_blink_start")
@@ -290,20 +278,13 @@ QDEF1(MP_QSTR_min, 175, 3, "min")
 QDEF1(MP_QSTR_module, 191, 6, "module")
 QDEF1(MP_QSTR_module, 191, 6, "module")
 QDEF1(MP_QSTR_oct, 253, 3, "oct")
 QDEF1(MP_QSTR_oct, 253, 3, "oct")
 QDEF1(MP_QSTR_on_input, 141, 8, "on_input")
 QDEF1(MP_QSTR_on_input, 141, 8, "on_input")
-QDEF1(MP_QSTR_opt_level, 135, 9, "opt_level")
-QDEF1(MP_QSTR_property, 194, 8, "property")
-QDEF1(MP_QSTR_randint, 175, 7, "randint")
 QDEF1(MP_QSTR_random, 190, 6, "random")
 QDEF1(MP_QSTR_random, 190, 6, "random")
-QDEF1(MP_QSTR_randrange, 163, 9, "randrange")
 QDEF1(MP_QSTR_rb, 213, 2, "rb")
 QDEF1(MP_QSTR_rb, 213, 2, "rb")
 QDEF1(MP_QSTR_reversed, 161, 8, "reversed")
 QDEF1(MP_QSTR_reversed, 161, 8, "reversed")
-QDEF1(MP_QSTR_schedule, 224, 8, "schedule")
 QDEF1(MP_QSTR_seed, 146, 4, "seed")
 QDEF1(MP_QSTR_seed, 146, 4, "seed")
-QDEF1(MP_QSTR_setter, 4, 6, "setter")
 QDEF1(MP_QSTR_sleep, 234, 5, "sleep")
 QDEF1(MP_QSTR_sleep, 234, 5, "sleep")
 QDEF1(MP_QSTR_sleep_ms, 11, 8, "sleep_ms")
 QDEF1(MP_QSTR_sleep_ms, 11, 8, "sleep_ms")
 QDEF1(MP_QSTR_sleep_us, 19, 8, "sleep_us")
 QDEF1(MP_QSTR_sleep_us, 19, 8, "sleep_us")
-QDEF1(MP_QSTR_slice, 181, 5, "slice")
 QDEF1(MP_QSTR_speaker_set_volume, 116, 18, "speaker_set_volume")
 QDEF1(MP_QSTR_speaker_set_volume, 116, 18, "speaker_set_volume")
 QDEF1(MP_QSTR_speaker_start, 1, 13, "speaker_start")
 QDEF1(MP_QSTR_speaker_start, 1, 13, "speaker_start")
 QDEF1(MP_QSTR_speaker_stop, 153, 12, "speaker_stop")
 QDEF1(MP_QSTR_speaker_stop, 153, 12, "speaker_stop")
@@ -317,7 +298,8 @@ QDEF1(MP_QSTR_ticks_ms, 66, 8, "ticks_ms")
 QDEF1(MP_QSTR_ticks_us, 90, 8, "ticks_us")
 QDEF1(MP_QSTR_ticks_us, 90, 8, "ticks_us")
 QDEF1(MP_QSTR_time, 240, 4, "time")
 QDEF1(MP_QSTR_time, 240, 4, "time")
 QDEF1(MP_QSTR_time_ns, 114, 7, "time_ns")
 QDEF1(MP_QSTR_time_ns, 114, 7, "time_ns")
-QDEF1(MP_QSTR_uniform, 1, 7, "uniform")
 QDEF1(MP_QSTR_union, 246, 5, "union")
 QDEF1(MP_QSTR_union, 246, 5, "union")
 QDEF1(MP_QSTR_vibro_set, 216, 9, "vibro_set")
 QDEF1(MP_QSTR_vibro_set, 216, 9, "vibro_set")
 QDEF1(MP_QSTR__brace_open__colon__hash_b_brace_close_, 88, 5, "{:#b}")
 QDEF1(MP_QSTR__brace_open__colon__hash_b_brace_close_, 88, 5, "{:#b}")
+QDEF1(MP_QSTR__brace_open__colon__hash_o_brace_close_, 245, 5, "{:#o}")
+QDEF1(MP_QSTR__brace_open__colon__hash_x_brace_close_, 2, 5, "{:#x}")

+ 41 - 2
mp_flipper_config.h

@@ -83,7 +83,7 @@ typedef long mp_off_t;
 #define MICROPY_PY_TIME_TIME_TIME_NS (1)
 #define MICROPY_PY_TIME_TIME_TIME_NS (1)
 
 
 #define MICROPY_PY_RANDOM (1)
 #define MICROPY_PY_RANDOM (1)
-#define MICROPY_PY_RANDOM_EXTRA_FUNCS (1)
+#define MICROPY_PY_RANDOM_EXTRA_FUNCS (0)
 
 
 #define MICROPY_PY_RANDOM_SEED_INIT_FUNC (mp_flipper_seed_init())
 #define MICROPY_PY_RANDOM_SEED_INIT_FUNC (mp_flipper_seed_init())
 
 
@@ -113,7 +113,7 @@ typedef long mp_off_t;
 #define MICROPY_REPL_EVENT_DRIVEN (0)
 #define MICROPY_REPL_EVENT_DRIVEN (0)
 #define MICROPY_READLINE_HISTORY_SIZE (0)
 #define MICROPY_READLINE_HISTORY_SIZE (0)
 
 
-#define MICROPY_CPYTHON_COMPAT (1)
+#define MICROPY_CPYTHON_COMPAT (0)
 #define MICROPY_FULL_CHECKS (1)
 #define MICROPY_FULL_CHECKS (1)
 
 
 #define MICROPY_MODULE_FROZEN_MPY (0)
 #define MICROPY_MODULE_FROZEN_MPY (0)
@@ -126,15 +126,52 @@ typedef long mp_off_t;
 #define MICROPY_PY_ASYNC_AWAIT (0)
 #define MICROPY_PY_ASYNC_AWAIT (0)
 #define MICROPY_PY_ASSIGN_EXPR (0)
 #define MICROPY_PY_ASSIGN_EXPR (0)
 #define MICROPY_PY_GENERATOR_PEND_THROW (0)
 #define MICROPY_PY_GENERATOR_PEND_THROW (0)
+#define MICROPY_PY_BUILTINS_BYTES_HEX (0)
+#define MICROPY_PY_BUILTINS_STR_UNICODE (0)
+#define MICROPY_PY_BUILTINS_STR_CENTER (0)
+#define MICROPY_PY_BUILTINS_STR_COUNT (0)
+#define MICROPY_PY_BUILTINS_STR_OP_MODULO (0)
+#define MICROPY_PY_BUILTINS_STR_PARTITION (0)
+#define MICROPY_PY_BUILTINS_STR_SPLITLINES (0)
+#define MICROPY_PY_BUILTINS_BYTEARRAY (0)
+#define MICROPY_PY_BUILTINS_DICT_FROMKEYS (0)
+#define MICROPY_PY_BUILTINS_MEMORYVIEW (0)
+#define MICROPY_PY_BUILTINS_SET (1)
+#define MICROPY_PY_BUILTINS_SLICE (0)
+#define MICROPY_PY_BUILTINS_SLICE_ATTRS (0)
+#define MICROPY_PY_BUILTINS_SLICE_INDICES (0)
+#define MICROPY_PY_BUILTINS_FROZENSET (0)
+#define MICROPY_PY_BUILTINS_PROPERTY (0)
+#define MICROPY_PY_BUILTINS_RANGE_ATTRS (0)
+#define MICROPY_PY_BUILTINS_RANGE_BINOP (0)
+#define MICROPY_PY_BUILTINS_NEXT2 (0)
+#define MICROPY_PY_BUILTINS_ROUND_INT (0)
+#define MICROPY_PY_ALL_SPECIAL_METHODS (0)
+#define MICROPY_PY_REVERSE_SPECIAL_METHODS (0)
+#define MICROPY_PY_BUILTINS_ENUMERATE (0)
 #define MICROPY_PY_BUILTINS_COMPILE (0)
 #define MICROPY_PY_BUILTINS_COMPILE (0)
 #define MICROPY_PY_BUILTINS_EVAL_EXEC (0)
 #define MICROPY_PY_BUILTINS_EVAL_EXEC (0)
 #define MICROPY_PY_BUILTINS_EXECFILE (0)
 #define MICROPY_PY_BUILTINS_EXECFILE (0)
+#define MICROPY_PY_BUILTINS_FILTER (1)
+#define MICROPY_PY_BUILTINS_REVERSED (1)
+#define MICROPY_PY_BUILTINS_NOTIMPLEMENTED (0)
 #define MICROPY_PY_BUILTINS_INPUT (0)
 #define MICROPY_PY_BUILTINS_INPUT (0)
+#define MICROPY_PY_BUILTINS_MIN_MAX (1)
+#define MICROPY_PY_BUILTINS_POW3 (0)
+#define MICROPY_PY_BUILTINS_HELP (0)
+#define MICROPY_PY_MICROPYTHON (0)
+#define MICROPY_PY_MICROPYTHON_MEM_INFO (0)
+#define MICROPY_PY_MICROPYTHON_STACK_USE (0)
+#define MICROPY_PY_MICROPYTHON_HEAP_LOCKED (0)
+#define MICROPY_PY_ARRAY (0)
+#define MICROPY_PY_ARRAY_SLICE_ASSIGN (0)
+#define MICROPY_PY_ATTRTUPLE (0)
 #define MICROPY_PY_COLLECTIONS (0)
 #define MICROPY_PY_COLLECTIONS (0)
 #define MICROPY_PY_STRUCT (0)
 #define MICROPY_PY_STRUCT (0)
 #define MICROPY_PY_SYS (0)
 #define MICROPY_PY_SYS (0)
 #define MICROPY_PY_SYS_MODULES (0)
 #define MICROPY_PY_SYS_MODULES (0)
 #define MICROPY_PY_SELECT_SELECT (0)
 #define MICROPY_PY_SELECT_SELECT (0)
+#define MICROPY_PY_SYS_EXIT (0)
 #define MICROPY_PY_RE (0)
 #define MICROPY_PY_RE (0)
 #define MICROPY_PY_CRYPTOLIB (0)
 #define MICROPY_PY_CRYPTOLIB (0)
 #define MICROPY_PY_VFS (0)
 #define MICROPY_PY_VFS (0)
@@ -155,6 +192,8 @@ typedef long mp_off_t;
 
 
 #ifdef MP_FLIPPER_JSON
 #ifdef MP_FLIPPER_JSON
 #define MICROPY_PY_JSON (1)
 #define MICROPY_PY_JSON (1)
+#define MICROPY_PY_JSON_SEPARATORS (1)
 #else
 #else
 #define MICROPY_PY_JSON (0)
 #define MICROPY_PY_JSON (0)
+#define MICROPY_PY_JSON_SEPARATORS (0)
 #endif
 #endif

+ 0 - 4
mp_flipper_config_firmware.h

@@ -2,11 +2,7 @@
 
 
 #define MP_FLIPPER_COMPILER
 #define MP_FLIPPER_COMPILER
 #define MP_FLIPPER_RUNTIME
 #define MP_FLIPPER_RUNTIME
-#define MP_FLIPPER_MPY_SUPPORT
-#define MP_FLIPPER_FIRMWARE
 #define MP_FLIPPER_SPLIT_HEAP
 #define MP_FLIPPER_SPLIT_HEAP
-#define MP_FLIPPER_MATH
-#define MP_FLIPPER_JSON
 #define MP_FLIPPER_IO
 #define MP_FLIPPER_IO
 
 
 #include "mp_flipper_config.h"
 #include "mp_flipper_config.h"

+ 71 - 5
mp_flipper_modflipperzero.c

@@ -283,6 +283,67 @@ void mp_flipper_on_input(uint16_t button, uint16_t type) {
     }
     }
 }
 }
 
 
+static mp_obj_t flipperzero_dialog_message_set_text(size_t n_args, const mp_obj_t* args) {
+    if(n_args < 3) {
+        return mp_const_none;
+    }
+
+    const char* text = mp_obj_str_get_str(args[0]);
+
+    mp_int_t x = mp_obj_get_int(args[1]);
+    mp_int_t y = mp_obj_get_int(args[2]);
+    mp_int_t h = n_args > 3 ? mp_obj_get_int(args[3]) : MP_FLIPPER_ALIGN_BEGIN;
+    mp_int_t v = n_args > 4 ? mp_obj_get_int(args[4]) : MP_FLIPPER_ALIGN_BEGIN;
+
+    mp_flipper_dialog_message_set_text(text, x, y, h, v);
+
+    return mp_const_none;
+}
+static MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(flipperzero_dialog_message_set_text_obj, 3, 5, flipperzero_dialog_message_set_text);
+
+static mp_obj_t flipperzero_dialog_message_set_header(size_t n_args, const mp_obj_t* args) {
+    if(n_args < 3) {
+        return mp_const_none;
+    }
+
+    const char* text = mp_obj_str_get_str(args[0]);
+
+    mp_int_t x = mp_obj_get_int(args[1]);
+    mp_int_t y = mp_obj_get_int(args[2]);
+    mp_int_t h = n_args > 3 ? mp_obj_get_int(args[3]) : MP_FLIPPER_ALIGN_BEGIN;
+    mp_int_t v = n_args > 4 ? mp_obj_get_int(args[4]) : MP_FLIPPER_ALIGN_BEGIN;
+
+    mp_flipper_dialog_message_set_header(text, x, y, h, v);
+
+    return mp_const_none;
+}
+static MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(flipperzero_dialog_message_set_header_obj, 3, 5, flipperzero_dialog_message_set_header);
+
+static mp_obj_t flipperzero_dialog_message_set_button(mp_obj_t text_obj, mp_obj_t button_obj) {
+    const char* text = mp_obj_str_get_str(text_obj);
+
+    mp_int_t button = mp_obj_get_int(button_obj);
+
+    mp_flipper_dialog_message_set_button(text, button);
+
+    return mp_const_none;
+}
+static MP_DEFINE_CONST_FUN_OBJ_2(flipperzero_dialog_message_set_button_obj, flipperzero_dialog_message_set_button);
+
+static mp_obj_t flipperzero_dialog_message_show() {
+    mp_int_t button = mp_flipper_dialog_message_show();
+
+    return mp_obj_new_int(button);
+}
+static MP_DEFINE_CONST_FUN_OBJ_0(flipperzero_dialog_message_show_obj, flipperzero_dialog_message_show);
+
+static mp_obj_t flipperzero_dialog_message_clear() {
+    mp_flipper_dialog_message_clear();
+
+    return mp_const_none;
+}
+static MP_DEFINE_CONST_FUN_OBJ_0(flipperzero_dialog_message_clear_obj, flipperzero_dialog_message_clear);
+
 static const mp_rom_map_elem_t flipperzero_module_globals_table[] = {
 static const mp_rom_map_elem_t flipperzero_module_globals_table[] = {
     {MP_OBJ_NEW_QSTR(MP_QSTR___name__), MP_OBJ_NEW_QSTR(MP_QSTR_flipperzero)},
     {MP_OBJ_NEW_QSTR(MP_QSTR___name__), MP_OBJ_NEW_QSTR(MP_QSTR_flipperzero)},
     {MP_ROM_QSTR(MP_QSTR_LIGHT_RED), MP_ROM_INT(MP_FLIPPER_LED_RED)},
     {MP_ROM_QSTR(MP_QSTR_LIGHT_RED), MP_ROM_INT(MP_FLIPPER_LED_RED)},
@@ -309,14 +370,14 @@ static const mp_rom_map_elem_t flipperzero_module_globals_table[] = {
     {MP_ROM_QSTR(MP_QSTR_canvas_draw_line), MP_ROM_PTR(&flipperzero_canvas_draw_line_obj)},
     {MP_ROM_QSTR(MP_QSTR_canvas_draw_line), MP_ROM_PTR(&flipperzero_canvas_draw_line_obj)},
     {MP_ROM_QSTR(MP_QSTR_canvas_draw_circle), MP_ROM_PTR(&flipperzero_canvas_draw_circle_obj)},
     {MP_ROM_QSTR(MP_QSTR_canvas_draw_circle), MP_ROM_PTR(&flipperzero_canvas_draw_circle_obj)},
     {MP_ROM_QSTR(MP_QSTR_canvas_draw_disc), MP_ROM_PTR(&flipperzero_canvas_draw_disc_obj)},
     {MP_ROM_QSTR(MP_QSTR_canvas_draw_disc), MP_ROM_PTR(&flipperzero_canvas_draw_disc_obj)},
-    {MP_ROM_QSTR(MP_QSTR_CANVAS_FONT_PRIMARY), MP_ROM_INT(MP_FLIPPER_CANVAS_FONT_PRIMARY)},
-    {MP_ROM_QSTR(MP_QSTR_CANVAS_FONT_SECONDARY), MP_ROM_INT(MP_FLIPPER_CANVAS_FONT_SECONDARY)},
+    {MP_ROM_QSTR(MP_QSTR_FONT_PRIMARY), MP_ROM_INT(MP_FLIPPER_FONT_PRIMARY)},
+    {MP_ROM_QSTR(MP_QSTR_FONT_SECONDARY), MP_ROM_INT(MP_FLIPPER_FONT_SECONDARY)},
     {MP_ROM_QSTR(MP_QSTR_canvas_set_font), MP_ROM_PTR(&flipperzero_canvas_set_font_obj)},
     {MP_ROM_QSTR(MP_QSTR_canvas_set_font), MP_ROM_PTR(&flipperzero_canvas_set_font_obj)},
     {MP_ROM_QSTR(MP_QSTR_canvas_set_color), MP_ROM_PTR(&flipperzero_canvas_set_color_obj)},
     {MP_ROM_QSTR(MP_QSTR_canvas_set_color), MP_ROM_PTR(&flipperzero_canvas_set_color_obj)},
     {MP_ROM_QSTR(MP_QSTR_canvas_set_text), MP_ROM_PTR(&flipperzero_canvas_set_text_obj)},
     {MP_ROM_QSTR(MP_QSTR_canvas_set_text), MP_ROM_PTR(&flipperzero_canvas_set_text_obj)},
-    {MP_ROM_QSTR(MP_QSTR_CANVAS_ALIGN_BEGIN), MP_ROM_INT(MP_FLIPPER_CANVAS_ALIGN_BEGIN)},
-    {MP_ROM_QSTR(MP_QSTR_CANVAS_ALIGN_CENTER), MP_ROM_INT(MP_FLIPPER_CANVAS_ALIGN_CENTER)},
-    {MP_ROM_QSTR(MP_QSTR_CANVAS_ALIGN_END), MP_ROM_INT(MP_FLIPPER_CANVAS_ALIGN_END)},
+    {MP_ROM_QSTR(MP_QSTR_ALIGN_BEGIN), MP_ROM_INT(MP_FLIPPER_ALIGN_BEGIN)},
+    {MP_ROM_QSTR(MP_QSTR_ALIGN_CENTER), MP_ROM_INT(MP_FLIPPER_ALIGN_CENTER)},
+    {MP_ROM_QSTR(MP_QSTR_ALIGN_END), MP_ROM_INT(MP_FLIPPER_ALIGN_END)},
     {MP_ROM_QSTR(MP_QSTR_canvas_set_text_align), MP_ROM_PTR(&flipperzero_canvas_set_text_align_obj)},
     {MP_ROM_QSTR(MP_QSTR_canvas_set_text_align), MP_ROM_PTR(&flipperzero_canvas_set_text_align_obj)},
     {MP_ROM_QSTR(MP_QSTR_canvas_update), MP_ROM_PTR(&flipperzero_canvas_update_obj)},
     {MP_ROM_QSTR(MP_QSTR_canvas_update), MP_ROM_PTR(&flipperzero_canvas_update_obj)},
     {MP_ROM_QSTR(MP_QSTR_canvas_clear), MP_ROM_PTR(&flipperzero_canvas_clear_obj)},
     {MP_ROM_QSTR(MP_QSTR_canvas_clear), MP_ROM_PTR(&flipperzero_canvas_clear_obj)},
@@ -333,6 +394,11 @@ static const mp_rom_map_elem_t flipperzero_module_globals_table[] = {
     {MP_ROM_QSTR(MP_QSTR_INPUT_TYPE_SHORT), MP_ROM_INT(MP_FLIPPER_INPUT_TYPE_SHORT)},
     {MP_ROM_QSTR(MP_QSTR_INPUT_TYPE_SHORT), MP_ROM_INT(MP_FLIPPER_INPUT_TYPE_SHORT)},
     {MP_ROM_QSTR(MP_QSTR_INPUT_TYPE_LONG), MP_ROM_INT(MP_FLIPPER_INPUT_TYPE_LONG)},
     {MP_ROM_QSTR(MP_QSTR_INPUT_TYPE_LONG), MP_ROM_INT(MP_FLIPPER_INPUT_TYPE_LONG)},
     {MP_ROM_QSTR(MP_QSTR_INPUT_TYPE_REPEAT), MP_ROM_INT(MP_FLIPPER_INPUT_TYPE_REPEAT)},
     {MP_ROM_QSTR(MP_QSTR_INPUT_TYPE_REPEAT), MP_ROM_INT(MP_FLIPPER_INPUT_TYPE_REPEAT)},
+    {MP_ROM_QSTR(MP_QSTR_dialog_message_set_text), MP_ROM_PTR(&flipperzero_dialog_message_set_text_obj)},
+    {MP_ROM_QSTR(MP_QSTR_dialog_message_set_header), MP_ROM_PTR(&flipperzero_dialog_message_set_header_obj)},
+    {MP_ROM_QSTR(MP_QSTR_dialog_message_set_button), MP_ROM_PTR(&flipperzero_dialog_message_set_button_obj)},
+    {MP_ROM_QSTR(MP_QSTR_dialog_message_show), MP_ROM_PTR(&flipperzero_dialog_message_show_obj)},
+    {MP_ROM_QSTR(MP_QSTR_dialog_message_clear), MP_ROM_PTR(&flipperzero_dialog_message_clear_obj)},
 };
 };
 static MP_DEFINE_CONST_DICT(flipperzero_module_globals, flipperzero_module_globals_table);
 static MP_DEFINE_CONST_DICT(flipperzero_module_globals, flipperzero_module_globals_table);
 
 

+ 11 - 5
mp_flipper_modflipperzero.h

@@ -26,12 +26,12 @@
 #define MP_FLIPPER_INPUT_TYPE_REPEAT (1 << 10)
 #define MP_FLIPPER_INPUT_TYPE_REPEAT (1 << 10)
 #define MP_FLIPPER_INPUT_TYPE ((1 << 11) - 1 - MP_FLIPPER_INPUT_BUTTON)
 #define MP_FLIPPER_INPUT_TYPE ((1 << 11) - 1 - MP_FLIPPER_INPUT_BUTTON)
 
 
-#define MP_FLIPPER_CANVAS_ALIGN_BEGIN (1 << 0)
-#define MP_FLIPPER_CANVAS_ALIGN_CENTER (1 << 1)
-#define MP_FLIPPER_CANVAS_ALIGN_END (1 << 2)
+#define MP_FLIPPER_ALIGN_BEGIN (1 << 0)
+#define MP_FLIPPER_ALIGN_CENTER (1 << 1)
+#define MP_FLIPPER_ALIGN_END (1 << 2)
 
 
-#define MP_FLIPPER_CANVAS_FONT_PRIMARY (1 << 0)
-#define MP_FLIPPER_CANVAS_FONT_SECONDARY (1 << 1)
+#define MP_FLIPPER_FONT_PRIMARY (1 << 0)
+#define MP_FLIPPER_FONT_SECONDARY (1 << 1)
 
 
 void mp_flipper_light_set(uint8_t raw_light, uint8_t brightness);
 void mp_flipper_light_set(uint8_t raw_light, uint8_t brightness);
 void mp_flipper_light_blink_start(uint8_t raw_light, uint8_t brightness, uint16_t on_time, uint16_t period);
 void mp_flipper_light_blink_start(uint8_t raw_light, uint8_t brightness, uint16_t on_time, uint16_t period);
@@ -62,3 +62,9 @@ void mp_flipper_canvas_update();
 void mp_flipper_canvas_clear();
 void mp_flipper_canvas_clear();
 
 
 void mp_flipper_on_input(uint16_t button, uint16_t type);
 void mp_flipper_on_input(uint16_t button, uint16_t type);
+
+void mp_flipper_dialog_message_set_text(const char* text, uint8_t x, uint8_t y, uint8_t h, uint8_t v);
+void mp_flipper_dialog_message_set_header(const char* text, uint8_t x, uint8_t y, uint8_t h, uint8_t v);
+void mp_flipper_dialog_message_set_button(const char* text, uint8_t button);
+uint8_t mp_flipper_dialog_message_show();
+void mp_flipper_dialog_message_clear();