camera_suite_view_camera.h 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. #pragma once
  2. #define RING_BUFFER_LENGTH 19
  3. #define FRAME_BUFFER_LENGTH 1024
  4. typedef void (*CameraSuiteViewCameraCallback)(CameraSuiteCustomEvent event, void* context);
  5. typedef struct CameraSuiteViewCamera {
  6. CameraSuiteViewCameraCallback callback;
  7. View* view;
  8. void* context;
  9. } CameraSuiteViewCamera;
  10. typedef struct UartDumpModel {
  11. bool is_dithering_enabled;
  12. bool is_initialized;
  13. bool is_inverted;
  14. int rotation_angle;
  15. uint32_t orientation;
  16. uint8_t pixels[FRAME_BUFFER_LENGTH];
  17. uint8_t ringbuffer_index;
  18. uint8_t row_identifier;
  19. uint8_t row_ringbuffer[RING_BUFFER_LENGTH];
  20. FuriString* log;
  21. size_t log_strlen;
  22. } UartDumpModel;
  23. CameraSuiteViewCamera* camera_suite_view_camera_alloc();
  24. View* camera_suite_view_camera_get_view(CameraSuiteViewCamera* camera_suite_static);
  25. void camera_suite_view_camera_free(CameraSuiteViewCamera* camera_suite_static);
  26. void camera_suite_view_camera_set_callback(
  27. CameraSuiteViewCamera* camera_suite_view_camera,
  28. CameraSuiteViewCameraCallback callback,
  29. void* context);