app_manager.c 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. //
  2. // Created by kindring on 2025/12/26.
  3. //
  4. #include "esp_log.h"
  5. #include "app_io.h"
  6. #include "app_manager.h"
  7. #include "app_ble.h"
  8. #include "ble_nvs.h"
  9. #define TAG "app_manager"
  10. audio_mode_t m_current_audio_mode = AUDIO_MODE_AUX;
  11. const char* mode_names[] = {
  12. "NORMAL",
  13. "BASS_BOOST",
  14. };
  15. device_config_t g_device_config = {
  16. .device_name = "YunTune",
  17. .auto_reconnect = true,
  18. .audio_mode = AUDIO_MODE_AUX,
  19. .wifi_mode = WIFI_MODE_AP,
  20. .reconnect_wait_time = 2,
  21. .reconnect_max_attempts = 10,
  22. .wifi_ssid = '\0',
  23. .wifi_password = '\0',
  24. .ap_ssid = "YunTune",
  25. .ap_password = "YunTune",
  26. };
  27. // 切换为下一个播放模式
  28. audio_mode_t next_audio_mode()
  29. {
  30. const audio_mode_t next_audio_mode = (m_current_audio_mode + 1) % AUDIO_MODE_MAX;
  31. ESP_LOGI(TAG, "Audio mode switched to: %s", mode_names[next_audio_mode]);
  32. update_output_mode(next_audio_mode);
  33. return next_audio_mode;
  34. }
  35. // 保存连接的蓝牙信息
  36. esp_err_t save_bt_info(uint8_t *bda, char *device_name)
  37. {
  38. }
  39. esp_err_t init_app()
  40. {
  41. esp_err_t err = ESP_OK;
  42. err = ble_nvs_init(&g_device_config);
  43. if (err != ESP_OK) {
  44. ESP_LOGE(TAG, "Failed to initialize NVS");
  45. return err;
  46. }
  47. init_io(g_device_config.audio_mode);
  48. // 初始化蓝牙
  49. init_ble(g_device_config.device_name);
  50. // 根据逻辑调整蓝牙的运行模式
  51. if (g_device_config.audio_mode == AUDIO_MODE_BLE)
  52. {
  53. // todo 重连 蓝牙设备
  54. }
  55. return ESP_OK;
  56. }