Просмотр исходного кода

Begin work for WiFi camera server.

Cody Tolene 2 лет назад
Родитель
Сommit
6142be5346
2 измененных файлов с 15 добавлено и 87 удалено
  1. 9 1
      views/camera_suite_view_camera.c
  2. 6 86
      views/camera_suite_view_wifi_camera.c

+ 9 - 1
views/camera_suite_view_camera.c

@@ -530,25 +530,33 @@ static int32_t camera_worker(void* context) {
     CameraSuiteViewCamera* instance = context;
     CameraSuiteViewCamera* instance = context;
 
 
     while(1) {
     while(1) {
+        // Wait for any event on the worker thread.
         uint32_t events =
         uint32_t events =
             furi_thread_flags_wait(WORKER_EVENTS_MASK, FuriFlagWaitAny, FuriWaitForever);
             furi_thread_flags_wait(WORKER_EVENTS_MASK, FuriFlagWaitAny, FuriWaitForever);
+
+        // Check if an error occurred.
         furi_check((events & FuriFlagError) == 0);
         furi_check((events & FuriFlagError) == 0);
 
 
+        // Check if the thread should stop.
         if(events & WorkerEventStop) {
         if(events & WorkerEventStop) {
             break;
             break;
         } else if(events & WorkerEventRx) {
         } else if(events & WorkerEventRx) {
             size_t length = 0;
             size_t length = 0;
+            // Read all available data from the stream buffer.
             do {
             do {
+                // Read up to 64 bytes from the stream buffer.
                 size_t intended_data_size = 64;
                 size_t intended_data_size = 64;
+                // Allocate a buffer for the data.
                 uint8_t data[intended_data_size];
                 uint8_t data[intended_data_size];
+                // Read the data from the stream buffer.
                 length =
                 length =
                     furi_stream_buffer_receive(instance->rx_stream, data, intended_data_size, 0);
                     furi_stream_buffer_receive(instance->rx_stream, data, intended_data_size, 0);
-
                 if(length > 0) {
                 if(length > 0) {
                     with_view_model(
                     with_view_model(
                         instance->view,
                         instance->view,
                         UartDumpModel * model,
                         UartDumpModel * model,
                         {
                         {
+                            // Process the data.
                             for(size_t i = 0; i < length; i++) {
                             for(size_t i = 0; i < length; i++) {
                                 process_ringbuffer(model, data[i]);
                                 process_ringbuffer(model, data[i]);
                             }
                             }

+ 6 - 86
views/camera_suite_view_wifi_camera.c

@@ -49,7 +49,7 @@ static bool camera_suite_view_wifi_camera_input(InputEvent* event, void* context
                 {
                 {
                     UNUSED(model);
                     UNUSED(model);
 
 
-                    // Stop camera stream.
+                    // Stop camera WiFi stream.
                     furi_hal_uart_tx(FuriHalUartIdUSART1, (uint8_t[]){'w'}, 1);
                     furi_hal_uart_tx(FuriHalUartIdUSART1, (uint8_t[]){'w'}, 1);
                     furi_delay_ms(50);
                     furi_delay_ms(50);
 
 
@@ -59,91 +59,11 @@ static bool camera_suite_view_wifi_camera_input(InputEvent* event, void* context
                 true);
                 true);
             break;
             break;
         }
         }
-        case InputKeyLeft: {
-            with_view_model(
-                instance->view,
-                CameraSuiteViewWiFiCameraModel * model,
-                {
-                    UNUSED(model);
-
-                    // Play sound.
-                    camera_suite_play_happy_bump(instance->context);
-                    camera_suite_play_input_sound(instance->context);
-                    camera_suite_led_set_rgb(instance->context, 0, 0, 255);
-
-                    instance->callback(CameraSuiteCustomEventSceneCameraLeft, instance->context);
-                },
-                true);
-            break;
-        }
-        case InputKeyRight: {
-            with_view_model(
-                instance->view,
-                CameraSuiteViewWiFiCameraModel * model,
-                {
-                    UNUSED(model);
-
-                    // Play sound.
-                    camera_suite_play_happy_bump(instance->context);
-                    camera_suite_play_input_sound(instance->context);
-                    camera_suite_led_set_rgb(instance->context, 0, 0, 255);
-
-                    instance->callback(CameraSuiteCustomEventSceneCameraRight, instance->context);
-                },
-                true);
-            break;
-        }
-        case InputKeyUp: {
-            with_view_model(
-                instance->view,
-                CameraSuiteViewWiFiCameraModel * model,
-                {
-                    UNUSED(model);
-
-                    // Play sound.
-                    camera_suite_play_happy_bump(instance->context);
-                    camera_suite_play_input_sound(instance->context);
-                    camera_suite_led_set_rgb(instance->context, 0, 0, 255);
-
-                    instance->callback(CameraSuiteCustomEventSceneCameraUp, instance->context);
-                },
-                true);
-            break;
-        }
-        case InputKeyDown: {
-            with_view_model(
-                instance->view,
-                CameraSuiteViewWiFiCameraModel * model,
-                {
-                    UNUSED(model);
-
-                    // Play sound.
-                    camera_suite_play_happy_bump(instance->context);
-                    camera_suite_play_input_sound(instance->context);
-                    camera_suite_led_set_rgb(instance->context, 0, 0, 255);
-
-                    instance->callback(CameraSuiteCustomEventSceneCameraDown, instance->context);
-                },
-                true);
-            break;
-        }
-        case InputKeyOk: {
-            with_view_model(
-                instance->view,
-                CameraSuiteViewWiFiCameraModel * model,
-                {
-                    UNUSED(model);
-
-                    // Play sound.
-                    camera_suite_play_long_bump(instance->context);
-                    camera_suite_play_input_sound(instance->context);
-                    camera_suite_led_set_rgb(instance->context, 0, 0, 255);
-
-                    instance->callback(CameraSuiteCustomEventSceneCameraOk, instance->context);
-                },
-                true);
-            break;
-        }
+        case InputKeyLeft:
+        case InputKeyRight:
+        case InputKeyUp:
+        case InputKeyDown:
+        case InputKeyOk:
         case InputKeyMAX:
         case InputKeyMAX:
         default: {
         default: {
             break;
             break;