diff options
| author | Reinhard Panhuber <[email protected]> | 2020-10-09 20:15:57 +0200 |
|---|---|---|
| committer | Reinhard Panhuber <[email protected]> | 2020-10-09 20:15:57 +0200 |
| commit | 63f18cef1990ba5cc99667475766ecdef7988aac (patch) | |
| tree | c4f0015624dcde7571f621d7c4e3b5e9802be225 /examples/device/audio_test/src/main.c | |
| parent | 032e84c9befa0797f6a6faf86fbfdff13ec77bbe (diff) | |
Extend example s.t. a saw tooth is sent.
Diffstat (limited to 'examples/device/audio_test/src/main.c')
| -rw-r--r-- | examples/device/audio_test/src/main.c | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/examples/device/audio_test/src/main.c b/examples/device/audio_test/src/main.c index 2ea1d36c6..4ef03fa27 100644 --- a/examples/device/audio_test/src/main.c +++ b/examples/device/audio_test/src/main.c @@ -58,6 +58,10 @@ uint8_t clkValid; audio_control_range_2_n_t(1) volumeRng[CFG_TUD_AUDIO_N_CHANNELS_TX+1]; // Volume range state audio_control_range_4_n_t(1) sampleFreqRng; // Sample frequency range state +// Audio test data +uint8_t test_buffer_audio[CFG_TUD_AUDIO_TX_FIFO_SIZE]; +uint16_t startVal = 0; + void led_blinking_task(void); void audio_task(void); @@ -364,6 +368,46 @@ bool tud_audio_get_req_entity_cb(uint8_t rhport, tusb_control_request_t const * return false; // Yet not implemented } +bool tud_audio_tx_done_pre_load_cb(uint8_t rhport, uint8_t itf, uint8_t ep_in, uint8_t cur_alt_setting) +{ + (void) rhport; + (void) itf; + (void) ep_in; + (void) cur_alt_setting; + + tud_audio_write (test_buffer_audio, CFG_TUD_AUDIO_TX_FIFO_SIZE); + + return true; +} + +bool tud_audio_tx_done_post_load_cb(uint8_t rhport, uint16_t n_bytes_copied, uint8_t itf, uint8_t ep_in, uint8_t cur_alt_setting) +{ + (void) rhport; + (void) rhport; + (void) itf; + (void) ep_in; + (void) cur_alt_setting; + + uint8_t * pBuffer = test_buffer_audio; + + for (size_t cnt = 0; cnt < CFG_TUD_AUDIO_TX_FIFO_SIZE/2; cnt++) + { + *(uint16_t *)pBuffer = startVal++; + pBuffer += 2; + } + + return true; +} + +bool tud_audio_set_itf_close_EP_cb(uint8_t rhport, tusb_control_request_t const * p_request) +{ + (void) rhport; + (void) p_request; + startVal = 0; + + return true; +} + //--------------------------------------------------------------------+ // BLINKING TASK //--------------------------------------------------------------------+ |
