correct sdkconfig.defaults

This commit is contained in:
philippe44
2019-06-29 14:01:53 -07:00
parent 53b0ab2390
commit 36428f357b
3 changed files with 139 additions and 876 deletions

View File

@@ -1,37 +1,22 @@
# Adding squeezelite
- libmad must be in a separated component otherwise linker whines about long call
- libfaad
- mlongcalls -O2 -DFIXED_POINT -DSMALL_STACK
MOST IMPORTANT: create the right default config file
- make defconfig
Then adapt the config file to your wifi/BT/I2C device (can alos be done on the command line)
- make menuconfig
Then
- make -j4
- make flash monitor
# Additional misc notes
- for all libraries, add -mlongcalls
- libmad, libflac (no esp's version), libvorbis (tremor - not esp's version), alac work
- libfaad does not really support real time, but if you want to try
- -O3 -DFIXED_POINT -DSMALL_STACK
- change ac_link in configure and case ac_files, remove ''
- compiler but in cfft.c and cffti1, must disable optimization using
#pragma GCC push_options
#pragma GCC optimize ("O0")
#pragma GCC pop_options
- libflac can use espressif's version
- vorbis
- set SPIRAM_MALLOC_ALWAYSINTERNAL to 2048 as it consumes a lot of 8K blocks and uses all internal memory - when no memoru, WiFI chip fails
- set IDF_PATH=/home/esp-idf
- set ESPPORT=COM9
- <esp-idf>\components\partition_table\partitions_singleapp.csv to 2M instead of 1M (or more)
- sdkconfig.defaults now has configuration options set to load a local partitions.csv file that was setup with 2M size
- Make sure you validate the flash's size in serial flash config (for example set to 16M)
- sdkconfig.defaults has main stack size set to 8000
- change SPIRAM_MALLOC_ALWAYSINTERNAL to 2048 so that vorbis does not exhaust ISRAM, but allocates to SPIRAM instead. When it is echausted, WiFi driver can't allocate SPIRAM (although it should and setting the option to ask it to allocated SPIRAM does not work)
- Other options are available through menuconfig. Ideally, build should be reconfigured or at least compared with sdkconfig.default
# Supporting Bluetooth a2dp output
- menuconfig now has a section for setting output type
- Output types are A2DP or DAC over I2S
- When A2DP is chosen, the audio device name has to be specified here
# Wifi SCAN Example
This example shows how to use scan of ESP32.
We have two way to scan, fast scan and all channel scan:
* fast scan: in this mode, scan will finish after find match AP even didn't scan all the channel, you can set thresholds for signal and authmode, it will ignore the AP which below the thresholds.
* all channel scan : scan will end after checked all the channel, it will store four of the whole matched AP, you can set the sort method base on rssi or authmode, after scan, it will choose the best one
and try to connect. Because it need malloc dynamic memory to store match AP, and most of cases is to connect to better signal AP, so it needn't record all the AP matched. The number of matches is limited to 4 in order to limit dynamic memory usage. Four matches allows APs with the same SSID name and all possible auth modes - Open, WEP, WPA and WPA2.
- better use helixacc
- set IDF_PATH=/home/esp-idf
- set ESPPORT=COM9
- update flash partition size