Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

41 rinda
1.0KB

  1. #ifndef output_i2s_h_
  2. #define output_i2s_h_
  3. #include "AudioStream.h"
  4. class AudioOutputI2S : public AudioStream
  5. {
  6. public:
  7. AudioOutputI2S(void) : AudioStream(2, inputQueueArray) { begin(); }
  8. virtual void update(void);
  9. void begin(void);
  10. friend void dma_ch0_isr(void);
  11. friend class AudioInputI2S;
  12. protected:
  13. AudioOutputI2S(int dummy): AudioStream(2, inputQueueArray) {} // to be used only inside AudioOutputI2Sslave !!
  14. static void config_i2s(void);
  15. static audio_block_t *block_left_1st;
  16. static audio_block_t *block_right_1st;
  17. static bool update_responsibility;
  18. private:
  19. static audio_block_t *block_left_2nd;
  20. static audio_block_t *block_right_2nd;
  21. static uint16_t block_left_offset;
  22. static uint16_t block_right_offset;
  23. audio_block_t *inputQueueArray[2];
  24. };
  25. class AudioOutputI2Sslave : public AudioOutputI2S
  26. {
  27. public:
  28. AudioOutputI2Sslave(void) : AudioOutputI2S(0) { begin(); } ;
  29. void begin(void);
  30. friend class AudioInputI2Sslave;
  31. friend void dma_ch0_isr(void);
  32. protected:
  33. static void config_i2s(void);
  34. };
  35. #endif