OVMS3-idf/examples/peripherals
michael fdf983e0c4 spi: fix config break and reduce overhead of the bus lock on SPI1
The SPI bus lock on SPI1 introduces two side effects:

1. The device lock for the main flash requires the
`CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION` to be selected, however this
option is disabled by default in earlier IDF versions. Some developers
may find their project cannot be built by their old sdkconfig files.

2. Usually we don't need the lock on the SPI1 bus, due to it's
restrictions. However the overhead still exists in this case, the IRAM
cost for static version of semaphore functions, and the time cost when
getting and releasing the lock.

This commit:

1. Add a CONFIG_SPI_FLASH_BYPASS_MAIN_LOCK option, which will forbid the
space cost, as well as the initialization of the main bus lock.

2. When the option is not selected, the bus lock is used, the
`CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION` will be selected explicitly.

3. Revert default value of `CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION`
to `n`.

introduced in 49a48644e4.

Closes https://github.com/espressif/esp-idf/issues/5046
2020-04-22 16:06:13 +08:00
..
adc Merge branch 'bugfix/uart_echo_readme' into 'master' 2020-04-11 01:52:01 +08:00
adc2 Merge branch 'bugfix/uart_echo_readme' into 'master' 2020-04-11 01:52:01 +08:00
can build_app: make multi target support readable 2020-04-09 16:40:57 +08:00
gpio tools: Mass fixing of empty prototypes (for -Wstrict-prototypes) 2019-08-01 16:28:56 +07:00
i2c build_app: make multi target support readable 2020-04-09 16:40:57 +08:00
i2s Merge branch 'bugfix/uart_echo_readme' into 'master' 2020-04-11 01:52:01 +08:00
i2s_adc_dac Merge branch 'bugfix/uart_echo_readme' into 'master' 2020-04-11 01:52:01 +08:00
ledc example: Remove duplicate commands and invalid serial port information 2020-04-08 13:17:48 +02:00
mcpwm build_app: make multi target support readable 2020-04-09 16:40:57 +08:00
pcnt Merge branch 'bugfix/uart_echo_readme' into 'master' 2020-04-11 01:52:01 +08:00
rmt Update ir_builder_rmt_nec.c 2020-02-17 15:20:41 +08:00
sdio build_app: make multi target support readable 2020-04-09 16:40:57 +08:00
sigmadelta example: Remove duplicate commands and invalid serial port information 2020-04-08 13:17:48 +02:00
spi_master spi: fix config break and reduce overhead of the bus lock on SPI1 2020-04-22 16:06:13 +08:00
spi_slave global: rename esp32s2beta to esp32s2 2020-01-22 12:14:38 +08:00
temp_sensor_esp32s2 driver(adc/dac): fix adc dac driver for esp32s2 2020-04-01 12:41:51 +08:00
timer_group build_app: make multi target support readable 2020-04-09 16:40:57 +08:00
touch_pad_interrupt Driver(touch): fix touch sensor driver for esp32s2. 2020-03-25 22:45:57 +08:00
touch_pad_read Driver(touch): fix touch sensor driver for esp32s2. 2020-03-25 22:45:57 +08:00
uart example: Remove duplicate commands and invalid serial port information 2020-04-08 13:17:48 +02:00
usb/tusb_sample_descriptor build_app: make multi target support readable 2020-04-09 16:40:57 +08:00
wave_gen build_app: make multi target support readable 2020-04-09 16:40:57 +08:00
README.md Replace all DOS line endings with Unix 2018-07-12 19:10:37 +08:00

Peripherals Examples

This section provides examples how to configure and use ESP32s internal peripherals like GPIO, UART, I2C, SPI, timers, counters, ADC / DAC, PWM, etc.

See the README.md file in the upper level examples directory for more information about examples.