0xchocolate 3 лет назад
Родитель
Сommit
8a38125e9f

+ 1 - 3
applications/wifi_marauder_companion/wifi_marauder_app.c

@@ -24,8 +24,6 @@ static void wifi_marauder_app_tick_event_callback(void* context) {
 WifiMarauderApp* wifi_marauder_app_alloc() {
     WifiMarauderApp* app = malloc(sizeof(WifiMarauderApp));
 
-    app->uart = wifi_marauder_uart_init();
-
     app->selected_wifi_channel = 1;
 
     app->gui = furi_record_open("gui");
@@ -86,7 +84,7 @@ int32_t wifi_marauder_app(void* p) {
     UNUSED(p);
     WifiMarauderApp* wifi_marauder_app = wifi_marauder_app_alloc();
 
-    wifi_marauder_uart_init(wifi_marauder_app);
+    wifi_marauder_app->uart = wifi_marauder_uart_init(wifi_marauder_app);
 
     view_dispatcher_run(wifi_marauder_app->view_dispatcher);
 

+ 3 - 3
applications/wifi_marauder_companion/wifi_marauder_uart.c

@@ -67,11 +67,11 @@ void wifi_marauder_uart_tx(uint8_t *data, size_t len) {
 }
 
 WifiMarauderUart* wifi_marauder_uart_init(WifiMarauderApp* app) {
+    WifiMarauderUart *uart = malloc(sizeof(WifiMarauderUart));
+
     furi_hal_console_disable();
     furi_hal_uart_set_br(UART_CH, BAUDRATE);
-    furi_hal_uart_set_irq_cb(UART_CH, wifi_marauder_uart_on_irq_cb, app->uart);
-
-    WifiMarauderUart *uart = malloc(sizeof(WifiMarauderUart));
+    furi_hal_uart_set_irq_cb(UART_CH, wifi_marauder_uart_on_irq_cb, uart);
 
     uart->app = app;
     uart->rx_thread = furi_thread_alloc();

+ 1 - 1
applications/wifi_marauder_companion/wifi_marauder_uart.h

@@ -6,5 +6,5 @@ typedef struct WifiMarauderUart WifiMarauderUart;
 
 void wifi_marauder_uart_set_handle_rx_data_cb(WifiMarauderUart* uart, void (*handle_rx_data_cb)(uint8_t *buf, size_t len, void* context));
 void wifi_marauder_uart_tx(uint8_t *data, size_t len);
-WifiMarauderUart* wifi_marauder_uart_init();
+WifiMarauderUart* wifi_marauder_uart_init(WifiMarauderApp* app);
 void wifi_marauder_uart_free(WifiMarauderUart* uart);