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
7fca2eebf0fix#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
016a131f33add new component: user interface http server
Karl Osterseher
2023-01-15 20:21:49 +01:00
d2a21f99acreduce 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
0902cfae57Merge 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
fbc2c3fd83Fix 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
50a9abaebdMerge 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
0ab1853e27Merge 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
430cd080f3Increase maximum possible buffer length
Karl Osterseher
2022-12-15 07:57:46 +01:00
83928dccf3correct division through zero error in player_task()
Karl Osterseher
2022-12-14 23:14:02 +01:00
02206b21fbadd 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
677556d2bbMerge 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
cf1530cfc1Merge pull request #13 from luar123/NETCONN
CarlosDerSeher
2022-12-11 20:46:50 +01:00
b6b295f6d6Make dspFlow configurable through menuconfig
raul
2022-12-10 21:54:01 +01:00
9d0a17552cread audio data as 32 bit in dsp_processor
raul
2022-12-04 17:12:01 +01:00
ec1a7f5ee8Merge pull request #11 from luar123/NETCONN
CarlosDerSeher
2022-12-04 11:06:31 +01:00
b4b34963a4Fix 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
0fb92e12afMerge 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
28d0f4a6e8Merge pull request #6 from majoreffort/NETCONN
CarlosDerSeher
2022-07-25 16:20:40 +02:00
b426acc78eAdded TI PCM5102A custom board
majoreffort
2022-07-24 17:25:58 +02:00
d136010d82repair submodule
Carlos
2021-11-12 08:04:24 +01:00
177f60361frepair submodule
Carlos
2021-11-12 08:03:26 +01:00
40e42d4fb8repair submodule
Carlos
2021-11-12 07:57:37 +01:00
b2a85ef93arepair submodule
Carlos
2021-11-12 07:46:58 +01:00
e16ac1a30crepair submodules
Carlos
2021-11-12 07:46:10 +01:00
bafbc1e2bfremove 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
60ec154976remove 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
11c2c28044merge with origin master
Carlos
2021-11-12 07:01:48 +01:00
aa77edd7bdMerge branch 'master' into HEAD
Carlos
2021-11-12 07:00:09 +01:00
445cb9a24bremove 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
7f676c9d2cadd 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
75c26a82aarepair submodule configurations
Karl Osterseher
2021-10-19 11:54:41 +02:00
fd307cd3b1correct 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
b65b4c24c7setting 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
14b3b41c1dMerge branch 'master' of git@github.com:CarlosDerSeher/snapclient.git
Carlos
2021-09-09 20:39:22 +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
2bd066ca09init 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