My Project
 All Classes Functions Variables Pages
I2S.h
1 /*
2  * I2S.h
3  *
4  * Created on: Jul 23, 2017
5  * Author: kolban
6  */
7 
8 #ifndef COMPONENTS_CPP_UTILS_I2S_H_
9 #define COMPONENTS_CPP_UTILS_I2S_H_
10 #include <driver/gpio.h>
11 #include <FreeRTOS.h>
12 typedef struct {
13  gpio_num_t pin_reset;
14  gpio_num_t pin_xclk;
15  gpio_num_t pin_sscb_sda;
16  gpio_num_t pin_sscb_scl;
17  gpio_num_t pin_d7;
18  gpio_num_t pin_d6;
19  gpio_num_t pin_d5;
20  gpio_num_t pin_d4;
21  gpio_num_t pin_d3;
22  gpio_num_t pin_d2;
23  gpio_num_t pin_d1;
24  gpio_num_t pin_d0;
25  gpio_num_t pin_vsync;
26  gpio_num_t pin_href;
27  gpio_num_t pin_pclk;
30 } dma_config_t;
31 
32 class DMAData {
33 public:
34  uint32_t getLength() {
35  return m_length;
36  }
37  uint8_t* getData() {
38  return m_pData;
39  }
40 
41  void free() {
42  delete[] m_pData;
43  m_pData = nullptr;
44  }
45 private:
46  friend class I2S;
47  uint32_t m_length;
48  uint8_t* m_pData;
49 };
50 
51 class I2S {
52 public:
53  I2S();
54  virtual ~I2S();
55  void cameraMode(dma_config_t config, int desc_count, int sample_count);
56  DMAData waitForData();
57  FreeRTOS::Semaphore m_dmaSemaphore;
58 private:
59 
60 };
61 
62 #endif /* COMPONENTS_CPP_UTILS_I2S_H_ */
gpio_num_t pin_d1
Definition: I2S.h:23
gpio_num_t pin_d5
Definition: I2S.h:19
Definition: I2S.h:32
gpio_num_t pin_vsync
Definition: I2S.h:25
gpio_num_t pin_d2
Definition: I2S.h:22
gpio_num_t pin_xclk
Definition: I2S.h:14
Definition: I2S.h:51
gpio_num_t pin_sscb_scl
Definition: I2S.h:16
Definition: I2S.h:12
void cameraMode(dma_config_t config, int desc_count, int sample_count)
EXPERIMENTAL.
Definition: I2S.cpp:231
gpio_num_t pin_d7
Definition: I2S.h:17
gpio_num_t pin_pclk
Definition: I2S.h:27
gpio_num_t pin_sscb_sda
Definition: I2S.h:15
gpio_num_t pin_href
Definition: I2S.h:26
gpio_num_t pin_reset
Definition: I2S.h:13
gpio_num_t pin_d4
Definition: I2S.h:20
gpio_num_t pin_d3
Definition: I2S.h:21
gpio_num_t pin_d0
Definition: I2S.h:24
gpio_num_t pin_d6
Definition: I2S.h:18
Definition: FreeRTOS.h:31
int xclk_freq_hz
Definition: I2S.h:29