Oliver Fabel 1 rok temu
rodzic
commit
7381d6a168
2 zmienionych plików z 6 dodań i 7 usunięć
  1. 1 1
      lib/micropython-port/modflipperzero_impl.c
  2. 5 6
      mp_flipper_app.c

+ 1 - 1
lib/micropython-port/modflipperzero_impl.c

@@ -75,7 +75,7 @@ inline bool mp_flipper_speaker_stop() {
 }
 }
 
 
 inline void mp_flipper_canvas_draw_dot(uint8_t x, uint8_t y, bool color) {
 inline void mp_flipper_canvas_draw_dot(uint8_t x, uint8_t y, bool color) {
-    size_t index = (x + 1) / SCREEN_PIXEL_PER_ITEM + y * (SCREEN_WIDTH / SCREEN_PIXEL_PER_ITEM);
+    size_t index = x / SCREEN_PIXEL_PER_ITEM + y * (SCREEN_WIDTH / SCREEN_PIXEL_PER_ITEM);
     const uint32_t mask = 1 << (x % SCREEN_PIXEL_PER_ITEM);
     const uint32_t mask = 1 << (x % SCREEN_PIXEL_PER_ITEM);
 
 
     mp_flipper_canvas[index] |= color ? (UINT32_MAX & mask) : 0;
     mp_flipper_canvas[index] |= color ? (UINT32_MAX & mask) : 0;

+ 5 - 6
mp_flipper_app.c

@@ -51,8 +51,6 @@ static void load_python_file(FuriString* file_path, FuriString* code) {
 
 
     bool result = dialog_file_browser_show(dialogs, file_path, file_path, &browser_options);
     bool result = dialog_file_browser_show(dialogs, file_path, file_path, &browser_options);
 
 
-    furi_record_close(RECORD_DIALOGS);
-
     if(result) {
     if(result) {
         result = storage_file_open(file, furi_string_get_cstr(file_path), FSAM_READ, FSOM_OPEN_EXISTING);
         result = storage_file_open(file, furi_string_get_cstr(file_path), FSAM_READ, FSOM_OPEN_EXISTING);
     }
     }
@@ -75,6 +73,7 @@ static void load_python_file(FuriString* file_path, FuriString* code) {
     }
     }
 
 
     storage_file_free(file);
     storage_file_free(file);
+    furi_record_close(RECORD_DIALOGS);
     furi_record_close(RECORD_STORAGE);
     furi_record_close(RECORD_STORAGE);
 }
 }
 
 
@@ -83,15 +82,15 @@ int32_t mp_flipper_app(void* p) {
 
 
     mp_flipper_canvas = malloc(((SCREEN_WIDTH * SCREEN_HEIGHT) / SCREEN_PIXEL_PER_ITEM) * sizeof(uint32_t));
     mp_flipper_canvas = malloc(((SCREEN_WIDTH * SCREEN_HEIGHT) / SCREEN_PIXEL_PER_ITEM) * sizeof(uint32_t));
 
 
-    const size_t memory_size = memmgr_get_free_heap() * 0.5;
-    const size_t stack_size = 2 * 1024;
-    uint8_t* memory = malloc(memory_size * sizeof(uint8_t));
-
     FuriString* file_path = furi_string_alloc();
     FuriString* file_path = furi_string_alloc();
     FuriString* code = furi_string_alloc();
     FuriString* code = furi_string_alloc();
 
 
     load_python_file(file_path, code);
     load_python_file(file_path, code);
 
 
+    const size_t memory_size = memmgr_get_free_heap() * 0.5;
+    const size_t stack_size = 2 * 1024;
+    uint8_t* memory = malloc(memory_size * sizeof(uint8_t));
+
     FURI_LOG_I(TAG, "allocated memory is %zu bytes", memory_size);
     FURI_LOG_I(TAG, "allocated memory is %zu bytes", memory_size);
     FURI_LOG_I(TAG, "stack size is %zu bytes", stack_size);
     FURI_LOG_I(TAG, "stack size is %zu bytes", stack_size);
     FURI_LOG_I(TAG, "executing python script %s", furi_string_get_cstr(file_path));
     FURI_LOG_I(TAG, "executing python script %s", furi_string_get_cstr(file_path));