#pragma once #define RING_BUFFER_LENGTH 19 #define FRAME_BUFFER_LENGTH 1024 typedef void (*CameraSuiteViewCameraCallback)(CameraSuiteCustomEvent event, void* context); typedef struct CameraSuiteViewCamera { CameraSuiteViewCameraCallback callback; View* view; void* context; } CameraSuiteViewCamera; typedef struct UartDumpModel { bool is_dithering_enabled; bool is_initialized; bool is_inverted; int rotation_angle; uint32_t orientation; uint8_t pixels[FRAME_BUFFER_LENGTH]; uint8_t ringbuffer_index; uint8_t row_identifier; uint8_t row_ringbuffer[RING_BUFFER_LENGTH]; FuriString* log; size_t log_strlen; } UartDumpModel; CameraSuiteViewCamera* camera_suite_view_camera_alloc(); View* camera_suite_view_camera_get_view(CameraSuiteViewCamera* camera_suite_static); void camera_suite_view_camera_free(CameraSuiteViewCamera* camera_suite_static); void camera_suite_view_camera_set_callback( CameraSuiteViewCamera* camera_suite_view_camera, CameraSuiteViewCameraCallback callback, void* context);