Commit Graph

6 Commits

  • - remove bug in i2s driver resulting in overwriting DMA descriptor while initialization leading to wrong initial sync
    - change some function return values from int8_t to int32_t
    - improve syncing
      o try to mimic original algorithm used by badaix
    - latency_buffer_full() call in player sporadically returns negative value
      which led to a unnecessary vTaskDelay --> resolved
    - use esp_timer_get_time() instead of gettimeofday() for timestamping
    - enable IRAM optimazations for WIFI
    - decrease WIFI RX buffers
    
    Signed-off-by: Karl Osterseher <karli_o@gmx.at>
  • - increase buffer size written to DMA buffer on initial sync
    o configurable through CHNK_CTRL_CNT
    - move time sync messaging to timer callback so it will keep going to send and receive them as long as we are connected to snapserver
    - change task priorities and core IDs of tasks
    
    Signed-off-by: Karl Osterseher <karli_o@gmx.at>
  • - completely drop ADF but copy necessary parts
    o copy component audio_board from ADF and create custom component from it
      o copy component audio_hal from ADF and create custom component from it
      o copy component audio_sal from ADF and create custom component from it
      o copy component esp_peripherals from ADF and create custom component from it
    - add fLaC support through xiph's original repository as a git module
  • - clean up code
    - add pre commit using GNU style
    - remove some minor issues regarding the use of global variables and such
  • - add sdkconfig for NO_SPIRAM and SPIRAM situation
    - detect snapcast configuration and init everything accordingly, e.g sample rate, chunk duration, ...
      o calculate apll predefines in dependence of sample rate
      o communicate these settings to interested parties
    - remove typos
  • - merge with original master from jorgen
    - minimize RAM usage of all components
    - use both IRAM and DRAM in player component so we can buffer up to 1s on modules without SPI RAM
    - support fragemented pcm chunks so we can use all available RAM if there isn't a big enough block available but still enough HEAP
    - reinclude all components from jorgen's master branch
    - add custom i2s driver to get a precise timing of initial sync
    - change wrong usage of esp_timer for latency measurement of snapcast protocol
    - add player component