Commit Graph

  • 8571c487f6 - fix kernel panic when calling init_http_server_task() after provisioning finished - add menuconfig options for provisioning SSID and password Karl Osterseher 2023-01-24 22:03:44 +01:00
  • 7fca2eebf0 fix #24 Karl Osterseher 2023-01-23 06:51:29 +01:00
  • 30dcc47ba9 - add support for Ethernet using an external PHY Karl Osterseher 2023-01-21 23:25:52 +01:00
  • d9df6ac3bb - add support for new DAC ADAU1961 Karl Osterseher 2023-01-21 16:50:18 +01:00
  • 016a131f33 add new component: user interface http server Karl Osterseher 2023-01-15 20:21:49 +01:00
  • d2a21f99ac reduce RAM footprint of dsp processor and add a simple EQ (bass, treble) to dsp processor Karl Osterseher 2023-01-05 20:30:57 +01:00
  • 280367e3a3 - remove compile error for dsp processor Karl Osterseher 2023-01-05 18:38:41 +01:00
  • 3b1e0bc7b3 Update README.md CarlosDerSeher 2023-01-04 08:59:43 +01:00
  • 64b77d51e0 Update README.md CarlosDerSeher 2023-01-04 08:58:34 +01:00
  • 0399593b06 Update README.md CarlosDerSeher 2023-01-04 08:56:09 +01:00
  • 0902cfae57 Merge pull request #21 from luar123/master CarlosDerSeher 2023-01-03 19:54:58 +01:00
  • 0c98a99a73 - increase block time while allocating memory for decoded chunks o wait max. 200ms and try to allocate memory every 1 ms - set sync task to max priority and http task to (max priority - 1) - mute audio if a hard resync happens to prevent clicks and other audible distortions - reduce LWIP buffer sizes Karl Osterseher 2023-01-03 19:12:41 +01:00
  • fbc2c3fd83 Fix wifi init after erased flash raul 2022-12-28 23:18:34 +01:00
  • d9c19e744e - repair DSP processor in flac_task() - rename and correct typos in Kconfig file Karl Osterseher 2022-12-28 18:04:57 +01:00
  • e79b17cbb7 - use separate task to handle flac data coming from http_get_task() Karl Osterseher 2022-12-28 17:07:09 +01:00
  • b4d4215630 - change task priorities - optimize time_sync_msg_cb() regarding execution speed - add some debug messages - change wifi tx buffer to static and change size Karl Osterseher 2022-12-28 15:49:00 +01:00
  • 04e18212d6 - remove unnecessary debug message Karl Osterseher 2022-12-23 23:22:38 +01:00
  • 338c049254 - improve latency measurement and make sync almost perfect Karl Osterseher 2022-12-23 23:16:40 +01:00
  • 50a9abaebd Merge branch 'master' of git@github.com:CarlosDerSeher/snapclient.git into NETCONN Karl Osterseher 2022-12-22 18:02:31 +01:00
  • f827723853 - add function to calculate average of n samples around median - increase wifi rx buffer size - change wifi tx buffer to dynamic and increase allowed size Karl Osterseher 2022-12-22 18:01:30 +01:00
  • aed517b107 - update README - correct bug in dsp_processor Karl Osterseher 2022-12-16 13:59:01 +01:00
  • 0ab1853e27 Merge branch 'master' into NETCONN NETCONN had most up to date changes and evolved to be much more stable than master therefore it had to become the new master. Karl Osterseher 2022-12-16 06:05:12 +01:00
  • 430cd080f3 Increase maximum possible buffer length Karl Osterseher 2022-12-15 07:57:46 +01:00
  • 83928dccf3 correct division through zero error in player_task() Karl Osterseher 2022-12-14 23:14:02 +01:00
  • 02206b21fb add support for sample rates different to 48kHz (#15) Karl Osterseher 2022-12-14 22:52:57 +01:00
  • 8b3c8c7804 - correct faulty pcm chunk allocation if SPIRAM is enabled Karl Osterseher 2022-12-13 20:54:14 +01:00
  • 0579684ace - automatically choose malloc strategy in dependence of enabled/disabled SPIRAM Karl Osterseher 2022-12-13 20:14:00 +01:00
  • 677556d2bb Merge branch 'NETCONN' of git@github.com:CarlosDerSeher/snapclient.git into NETCONN Karl Osterseher 2022-12-13 19:55:57 +01:00
  • 619a0a2e5f - improve syncing Karl Osterseher 2022-12-13 19:55:48 +01:00
  • cf1530cfc1 Merge pull request #13 from luar123/NETCONN CarlosDerSeher 2022-12-11 20:46:50 +01:00
  • b6b295f6d6 Make dspFlow configurable through menuconfig raul 2022-12-10 21:54:01 +01:00
  • f7a86208e3 fix fadeout raul 2022-12-04 23:21:19 +01:00
  • ee4fc197ae Remove unused buffer length setting and use host name from settings raul 2022-12-04 22:44:34 +01:00
  • 3e038dd64f Add software volume mixer. Add fadeout raul 2022-12-04 22:35:43 +01:00
  • 9d0a17552c read audio data as 32 bit in dsp_processor raul 2022-12-04 17:12:01 +01:00
  • ec1a7f5ee8 Merge pull request #11 from luar123/NETCONN CarlosDerSeher 2022-12-04 11:06:31 +01:00
  • b4b34963a4 Fix pointers when DSP processor is used raul 2022-11-30 19:57:26 +01:00
  • e8c382c284 - disable separate flac decoder task (seems broken) Karl Osterseher 2022-10-28 11:39:39 +02:00
  • 63468b0ec5 - code clean up - improve syncing o on memory allocation failure play chunk of zeros Karl Osterseher 2022-10-26 23:44:58 +02:00
  • 76a9b9acce - 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 Karl Osterseher 2022-10-21 19:30:51 +02:00
  • 4a82967fec - on memory allocation error insert a chunk where all samples are set to zero - disable shortMedianFilter - decrease control loop's calls to adjust_apll() - increase size of latencyMedianFilterLong Karl Osterseher 2022-10-06 14:56:00 +02:00
  • a3fd544ead - enable CONFIG_SPI_MASTER_ISR_IN_IRAM and CONFIG_ESP32_WIFI_RX_IRAM_OPT o max stable buffer length is 696ms with this setting Karl Osterseher 2022-09-20 22:43:16 +02:00
  • 6c3f236feb - 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 Karl Osterseher 2022-09-19 22:46:38 +02:00
  • 0fb92e12af Merge branch 'NETCONN' of git@github.com:CarlosDerSeher/snapclient.git into NETCONN Karl Osterseher 2022-09-18 14:19:33 +02:00
  • 530ca590fc - repair issue #5 (static IP can't connect) Karl Osterseher 2022-09-18 14:19:16 +02:00
  • 28d0f4a6e8 Merge pull request #6 from majoreffort/NETCONN CarlosDerSeher 2022-07-25 16:20:40 +02:00
  • b426acc78e Added TI PCM5102A custom board majoreffort 2022-07-24 17:25:58 +02:00
  • 37a1de5044 Update README.md CarlosDerSeher 2022-03-03 21:43:43 +01:00
  • 7dc859a0a8 Update CMakeLists.txt CarlosDerSeher 2021-11-18 07:26:19 +01:00
  • 01805ee8e3 Update CMakeLists.txt CarlosDerSeher 2021-11-18 07:25:56 +01:00
  • d136010d82 repair submodule Carlos 2021-11-12 08:04:24 +01:00
  • 177f60361f repair submodule Carlos 2021-11-12 08:03:26 +01:00
  • 40e42d4fb8 repair submodule Carlos 2021-11-12 07:57:37 +01:00
  • b2a85ef93a repair submodule Carlos 2021-11-12 07:46:58 +01:00
  • e16ac1a30c repair submodules Carlos 2021-11-12 07:46:10 +01:00
  • bafbc1e2bf remove wifi logger component Carlos 2021-11-12 07:19:39 +01:00
  • f52b8da28e - correct gitignore file so submodules will work - repair submodule configurations Carlos 2021-11-12 07:15:21 +01:00
  • 4a7cb9e62e - correct gitignore file so submodules will work - repair submodule configurations Carlos 2021-11-12 07:14:26 +01:00
  • 60ec154976 remove esp_peripheral and key, SD card code from custom_board to make it compatible with rest of project Carlos 2021-11-12 07:10:01 +01:00
  • 11c2c28044 merge with origin master Carlos 2021-11-12 07:01:48 +01:00
  • aa77edd7bd Merge branch 'master' into HEAD Carlos 2021-11-12 07:00:09 +01:00
  • 445cb9a24b remove esp_peripheral and key, SD card code from custom_board to make it compatible with rest of project Carlos 2021-11-12 06:58:01 +01:00
  • 7f676c9d2c add caps to chunk memory allocater Carlos 2021-11-12 06:14:59 +01:00
  • f1779813cb - add support for PCM stream Carlos 2021-10-28 08:01:47 +02:00
  • b65c0f03f9 - set wifi to use access point with strongest signal if more than one is found with same SSID Carlos 2021-10-25 21:11:08 +02:00
  • 75c26a82aa repair submodule configurations Karl Osterseher 2021-10-19 11:54:41 +02:00
  • fd307cd3b1 correct gitignore file so submodules will work Carlos 2021-10-19 06:44:05 +02:00
  • 7b24787e73 - major change, use lwip netconn instead of socket API to reduce RAM footprint o flac works, opus and pcm are untested and not working - improve on resyncing issues - add wifi logger component submodule - optimize stack sizes Carlos 2021-10-16 22:07:22 +02:00
  • b65b4c24c7 setting client latency from Android app works now, reduce latency buffer size, only start flac decoder if necessary Carlos 2021-09-09 21:50:45 +02:00
  • 14b3b41c1d Merge branch 'master' of git@github.com:CarlosDerSeher/snapclient.git Carlos 2021-09-09 20:39:22 +02:00
  • e94932922b Update README.md CarlosDerSeher 2021-09-09 20:38:34 +02:00
  • 382eff3b5b Merge branch 'master' of git@github.com:CarlosDerSeher/snapclient.git Carlos 2021-09-08 22:01:28 +02:00
  • b4730fe454 Update README.md CarlosDerSeher 2021-09-08 22:00:35 +02:00
  • d2f2c4296f Update Readme.md CarlosDerSeher 2021-09-08 21:58:28 +02:00
  • 891a067f7d Merge branch 'master' of git@github.com:CarlosDerSeher/snapclient.git Carlos 2021-09-08 21:24:54 +02:00
  • 19e5a8e99a add CMakeLists and configs for and flac Carlos 2021-09-08 21:24:00 +02:00
  • 4a9fe03a2f add CMakeLists and configs for and opus, also correct gitignore Carlos 2021-09-08 21:22:59 +02:00
  • b5aca242b6 Update README.md CarlosDerSeher 2021-09-07 22:09:12 +02:00
  • 30d2e54dab - 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 Carlos 2021-09-05 20:20:36 +02:00
  • e2fc307451 - rename a view things - run player_task on core 1 with max priority - create/destroy chunk queue as required automatically - use mutex to access snapcast config and communicate this change by queue with size 1 - increase buffers for WIFI and LWIP in sdkconfig for NO_SPIRAM config - add some more debug output Carlos 2021-08-29 21:16:52 +02:00
  • 0ea47690fa - clean up code - add pre commit using GNU style - remove some minor issues regarding the use of global variables and such Carlos 2021-08-27 10:31:30 +02:00
  • e799aaac25 - 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 Carlos 2021-08-26 22:08:17 +02:00
  • 15b4baba28 - 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 Carlos 2021-08-19 21:57:16 +02:00
  • 2bd066ca09 init var Carlos 2021-05-24 16:43:24 +02:00
  • cb85dcda77 - remove unnecessary median buffers - change some variable declaration locations - use socket recv instead of read o do error handling after each socket operation Carlos 2021-05-24 15:47:24 +02:00
  • d78297f550 -) report buffer_ms to sync task through task notification -) add some error checking to socket read/write operations Carlos 2021-05-23 21:36:06 +02:00
  • efc37defcc - code clean up - only opus supported - drop ADF piplining Carlos 2021-05-16 11:19:58 +02:00
  • ad345a95e4 - switch to opus decoder - directly write i2s from sync task o use DMA events to ensure buffer is empty on hard sync - add i2s playback task o try synced playback using i2s DMA events and task notifications - drop short latency buffers Carlos 2021-05-16 09:18:27 +02:00
  • 736d47e9d1 - add ringbuffer and dedicated i2s task Carlos 2021-05-11 05:44:56 +02:00
  • 4dc35d1017 - add buffer full function to Medianfilter module - stabilize playback control loop Carlos 2021-05-03 07:29:36 +02:00
  • 917aa7ab26 - change buffer sizes of medians - change syncing to be more predictable using I2S_EVENT_TX_DONE o also increase DMA length so i2s won't eat up so much processing time o ensure at least one chunk is in DMA buffer Carlos 2021-05-03 06:39:30 +02:00
  • e331d7afa5 - use three latency buffers so initial time sync will start faster after a fresh reboot o drop counting median filter insertions Carlos 2021-04-25 21:14:46 +02:00
  • b97ec1b39e - increase timestamp and and pcm chunk queue to avoid deadlocks if silence is played on server - add WIFI provisioning using Soft AP - remove bug in server_now() leading to occasional unneccessary hard resyncs - use shortMedianFilter to decide about hard resync condition Carlos 2021-04-23 22:33:05 +02:00
  • f40e3f2a4f - Clean code o throw out all unnecessary stuff Carlos 2021-04-23 08:46:23 +02:00
  • 6a363aa0da - edit component MedianFilter to use int64_t data o Median Filter expects - change code to use MedianFilter component Carlos 2021-04-23 06:31:32 +02:00
  • 20c062b9ab - optimize buffer sizes for latency and synchronization and i2s - drop ADF pipeline stuff related to playback, this introduced too much non deterministic delay - add fast median calculation component - increase LWIP buffers Carlos 2021-04-22 18:15:21 +02:00
  • 8fbe932bea - add pll adjustments using age median buffuer Carlos 2021-04-09 13:57:32 +02:00
  • ea44a6e6b8 - play with task priorities - do apll change only when current setting is different than the wanted one - improve snapcast_sync_task - add esp timer to issue time sync messages to server every second o block on semaphore which is given in timer callback - start dropping adf piplines for decoding wirechunk part of code o use write callback for output o TODO: use read callback for input - move time stamping of pcm chunks to decoder's write callback Carlos 2021-03-06 07:23:44 +01:00
  • 809a1aa7b1 - prefer SPIRAM for LWIP - try to improve synced playback using APLL adjustments - reduce diffBuf size to 1, bigger values seem to be problematic if packet loss is happening, maybe we need to detect this and clear diffBuf - do early time syncs on boot to fill diffBuf - playing with pipline ringbuf sizes and I2S DMA buffer sizes Carlos 2021-02-25 23:54:59 +01:00
  • 6146a1f61a - add apll predefines for common sample rates - add apll clock speed increase/decrease depending on chunk age - improve task priority and core assignment - add quick sort for int64_t arrays - sync playback using hardware timer - code cleanup Carlos 2021-02-15 20:53:31 +01:00