summaryrefslogtreecommitdiff
path: root/src/main/main.cpp
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2022-11-15 13:25:58 +1100
committerjacqueline <me@jacqueline.id.au>2022-11-15 13:25:58 +1100
commit530fd15e66a2c89c0dcd6edd1b2a318958c349a4 (patch)
tree2b4b75a644587440a6a5cf6620f1b6e36f81c2d6 /src/main/main.cpp
parent37041b810fbd10aab0834a33ae1dbd9edbb8bcb9 (diff)
downloadtangara-fw-530fd15e66a2c89c0dcd6edd1b2a318958c349a4.tar.gz
WIP audio play and pause
Diffstat (limited to 'src/main/main.cpp')
-rw-r--r--src/main/main.cpp31
1 files changed, 16 insertions, 15 deletions
diff --git a/src/main/main.cpp b/src/main/main.cpp
index d13a7407..8233b15f 100644
--- a/src/main/main.cpp
+++ b/src/main/main.cpp
@@ -8,6 +8,7 @@
#include "freertos/portmacro.h"
#include "gpio-expander.hpp"
#include "i2c.hpp"
+#include "i2s_audio_output.hpp"
#include "misc/lv_color.h"
#include "misc/lv_timer.h"
#include "playback.hpp"
@@ -106,34 +107,34 @@ extern "C" void app_main(void) {
}
std::unique_ptr<drivers::SdStorage> storage = std::move(storage_res.value());
- ESP_LOGI(TAG, "Init DAC");
- auto dac_res = drivers::AudioDac::create(expander);
- if (storage_res.has_error()) {
- ESP_LOGE(TAG, "Failed: %d", dac_res.error());
+ LvglArgs* lvglArgs = (LvglArgs*)calloc(1, sizeof(LvglArgs));
+ lvglArgs->gpio_expander = expander;
+ xTaskCreateStaticPinnedToCore(&lvgl_main, "LVGL", kLvglStackSize,
+ (void*)lvglArgs, 1, sLvglStack,
+ &sLvglTaskBuffer, 1);
+
+ ESP_LOGI(TAG, "Init Audio Output (I2S)");
+ auto sink_res = drivers::I2SAudioOutput::create(expander);
+ if (sink_res.has_error()) {
+ ESP_LOGE(TAG, "Failed: %d", sink_res.error());
return;
}
- std::unique_ptr<drivers::AudioDac> dac = std::move(dac_res.value());
+ std::unique_ptr<drivers::AudioOutput> sink = std::move(sink_res.value());
ESP_LOGI(TAG, "Init Audio Pipeline");
- auto playback_res = drivers::DacAudioPlayback::create(dac.get());
+ auto playback_res = drivers::AudioPlayback::create(std::move(sink));
if (playback_res.has_error()) {
ESP_LOGE(TAG, "Failed: %d", playback_res.error());
return;
}
- std::unique_ptr<drivers::DacAudioPlayback> playback =
+ std::unique_ptr<drivers::AudioPlayback> playback =
std::move(playback_res.value());
ESP_LOGI(TAG, "Everything looks good! Waiting a mo for debugger.");
vTaskDelay(pdMS_TO_TICKS(1500));
- LvglArgs* lvglArgs = (LvglArgs*)calloc(1, sizeof(LvglArgs));
- lvglArgs->gpio_expander = expander;
- xTaskCreateStaticPinnedToCore(&lvgl_main, "LVGL", kLvglStackSize,
- (void*)lvglArgs, 1, sLvglStack,
- &sLvglTaskBuffer, 1);
-
while (1) {
- // TODO: Find owners for everything so we can quit this task safely.
- vTaskDelay(pdMS_TO_TICKS(1000));
+ playback->ProcessEvents(5);
+ vTaskDelay(pdMS_TO_TICKS(100));
}
}