camera_common.h 925 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #pragma once
  2. #include <stdint.h>
  3. #include <stddef.h>
  4. #include <stdbool.h>
  5. #include "rom/lldesc.h"
  6. #include "esp_err.h"
  7. #include "esp_intr_alloc.h"
  8. #include "freertos/FreeRTOS.h"
  9. #include "freertos/semphr.h"
  10. #include "freertos/task.h"
  11. #include "esp_camera.h"
  12. #include "sensor.h"
  13. typedef union {
  14. struct {
  15. uint8_t sample2;
  16. uint8_t unused2;
  17. uint8_t sample1;
  18. uint8_t unused1;
  19. };
  20. uint32_t val;
  21. } dma_elem_t;
  22. typedef enum {
  23. /* camera sends byte sequence: s1, s2, s3, s4, ...
  24. * fifo receives: 00 s1 00 s2, 00 s2 00 s3, 00 s3 00 s4, ...
  25. */
  26. SM_0A0B_0B0C = 0,
  27. /* camera sends byte sequence: s1, s2, s3, s4, ...
  28. * fifo receives: 00 s1 00 s2, 00 s3 00 s4, ...
  29. */
  30. SM_0A0B_0C0D = 1,
  31. /* camera sends byte sequence: s1, s2, s3, s4, ...
  32. * fifo receives: 00 s1 00 00, 00 s2 00 00, 00 s3 00 00, ...
  33. */
  34. SM_0A00_0B00 = 3,
  35. } i2s_sampling_mode_t;