Commit graph

50 commits

Author SHA1 Message Date
xiongyu ae94784d4c bugfix(driver): fix i2s and timergroup some issues
* fix i2s and timergroup dev array used by isr crash issue

* Closes IDFGH-2432

* Closes https://github.com/espressif/esp-idf/issues/4545

* fix i2s adc data inv issue

* Closes IDFGH-2444

* Closes https://github.com/espressif/esp-idf/issues/4557
2019-12-31 14:48:44 +08:00
Shubham Kulkarni afb8064a29 esp32/rtc_module: Fixed critical section API
Application used to abort as portENTER_CRITICAL is used in ISR.
portENTER_CRITICAL is changed to portENTER_CRITICAL_SAFE in touch_pad_clear_status()

https://github.com/aws/amazon-freertos/issues/1651
2019-12-24 18:00:19 +05:30
Shubham Kulkarni 0f3f7d984a Fixed warnings for components driver, esp32 and mbedtls 2019-11-19 15:04:01 +05:30
Sachin Parekh 4acc941c3d rtc_module: port*_CRITICAL vanilla FreeRTOS compliance
Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-06-25 04:33:32 +00:00
Ivan Grokhotkov 1c5522575e driver/gpio: support wakeup function for RTC IOs 2018-09-06 15:40:46 +08:00
Angus Gratton a53a5eeabd Merge branch 'bugfix/add_mutex_for_some_touchpad_apis' into 'master'
fix(touch): add_mutex_for_some_touchpad_apis

See merge request idf/esp-idf!2714
2018-08-08 16:28:28 +08:00
fuzhibo 81c762eb86 fix(touch): add_mutex_for_some_touchpad_apis 2018-08-01 18:06:21 +08:00
Mahavir Jain 02ddb7302e wpa_supplicant: removed unrequired header dir include from component.mk
- Also fixed license header in rtc driver

Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-07-30 11:17:11 +05:30
Ivan Grokhotkov baa4613fc1 Merge branch 'bugfix/fix_touchpad_wakeup_status' into 'master'
fix(sleep): swap touchpad num in wakeup status

See merge request idf/esp-idf!2708
2018-07-24 04:08:43 +08:00
fuzhibo 54a67d92a4 fix(sleep): swap touchpad num in wakeup status 2018-07-17 20:25:06 +08:00
Darian Leung 882b50dd8c driver: Fix memory leak in rtc_isr_deregister()
Closes #2179
2018-07-11 21:34:09 +08:00
Alexey Gerenkov c2dc09304c gcc8_newlib3: Compilation warnings and errors not specific to newlib v3 2018-07-09 13:22:24 +03:00
Konstantin Kondrashov 32da455384 soc: Fix check_long_hold_gpio and move def to soc
Fix factory_reset_pin init as input
Move definition a structure rtc_gpio_desc to soc

Closes https://github.com/espressif/esp-idf/issues/2030
2018-06-22 09:20:27 +05:00
fuzhibo 9a0d57b90b bugfix(touch pad): modify deep-sleep example and add note for sleep api.
Closes https://github.com/espressif/esp-idf/issues/2052
2018-06-20 10:57:26 +08:00
Wangjialin 09181b7d94 driver(touchpad): improve touchpad filter mode and update examples. 2018-05-21 14:45:31 +08:00
Jiang Jiang Jian 993b8b7bf6 Merge branch 'bugfix/o3_fails' into 'master'
Fix compilation errors when -O3 is used

See merge request idf/esp-idf!2396
2018-05-17 16:48:13 +08:00
Jiang Jiang Jian 4b4a587540 Merge branch 'bugfix/touch_change_default_enable_value' into 'master'
bugfix(touch): change the default value for sar_touch_enable register.

See merge request idf/esp-idf!1870
2018-05-16 17:40:18 +08:00
Roland Dobai ca08397b6b Fix compilation errors when -O3 is used
Closes https://github.com/espressif/esp-idf/issues/718
2018-05-14 12:29:57 +02:00
Mahavir Jain 959c677025 rtc_module: fix build failure if assertions are disabled
Closes https://github.com/espressif/esp-idf/issues/1841

Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-04-17 10:44:48 +05:30
Michael (Xiao Xufeng) cef8baf424 bugfix(rtc): make sure peripherals (DAC, HALL) are turned off before conversion.
refactor structure of ``rtc_module.c`` to make it more clearly.

Closes https://github.com/espressif/esp-idf/issues/1517
2018-03-28 17:10:01 +08:00
michael 28e832c37e fix(adc2): fix cct and xpd configurations to improve precision of ADCs 2018-03-26 12:02:26 +00:00
Ivan Grokhotkov f45622ff17 driver/rtc: add rtc_gpio_isolate helper function to disconnect RTC IO 2018-02-11 13:18:51 +08:00
Wangjialin 451f69cc2e driver(i2s): fix broken i2s adc mode
1. Move i2s reset code from i2s_stop to i2s_start.
2. add RTC API to set sw mode for ADC
3. add description for adc_power_always_on()
4. add lock for i2s dma and RTC ADC functions.
5. add ADC read task in example

reported from bbs:  https://esp32.com/viewtopic.php?f=13&t=3490&p=17522#p17522
reported from github: https://github.com/espressif/esp-idf/issues/1333
2018-02-07 17:17:20 +08:00
Wangjialin 3da8f2eda1 bugfix(touch): change the default value for sar_touch_enable register.
Reported from github: https://github.com/espressif/esp-idf/issues/1236

All the touch channels are enabled by default in hardware. This would interfere other RTC function on Touch IOs.
Disable touch function in touch_pad_init().
2018-01-29 15:40:21 +08:00
krzychb 866b84b9f8 Typo fix. Closes https://github.com/espressif/esp-idf/issue/1323 2017-12-01 09:06:08 +01:00
Wangjialin 7200b2cc11 bugfix(touch): registers of touchpad 8 and 9 are mismatched
1. All the registers of touch sensor 8 and 9 are mismatched except the ‘dac’ field in touch register of RTC IO
2. To swap the index for sensor 8 and 9 in APIs.
2017-11-14 18:47:56 +08:00
michael 87f2b27dc4 refactor(rtc): re-organize code in rtc_module.c 2017-10-26 14:35:30 +08:00
esp32de 7c0020bfd0 feat(adc2): append adc2 support and api and the lock with WIFI module
append adc support and api
- esp_err_t adc2_config_width(adc_bits_width_t width_bit);
- esp_err_t adc2_config_channel_atten(adc2_channel_t channel, adc_atten_t atten);
- int adc2_get_voltage(adc2_channel_t channel);
2017-10-26 14:35:29 +08:00
michael a6ac5b33c9 feat(rtc): open adc*(dac)_pad_get_io_num functions to public. 2017-10-24 12:06:14 +08:00
michael cff8d30c25 refactor(rtc): change register writing from macros to structures in *_struct.h 2017-10-24 12:05:52 +08:00
Ivan Grokhotkov b6f37bda97 Merge branch 'feature/i2s_built_in_adc' into 'master'
feature(I2S-ADC): add ADC mode for I2S.

See merge request !1077
2017-10-20 15:52:56 +08:00
Angus Gratton 477ed8ce62 Merge branch 'bugfix/touchpad_dac_mismatch_on_tp8_tp9' into 'master'
bugfix(touch): add workaround for touch pad DAC hardware source mismatch on tp8 and tp9.

See merge request !1288
2017-10-20 14:18:32 +08:00
Ivan Grokhotkov 64d1f947ed driver/rtc: fix copy-paste error in HOLD_FORCE field name for GPIO26
This error prevented EXT1 wakeup using GPIO26 from working.
2017-09-21 12:26:03 +08:00
Wangjialin 449f9e10a3 bugfix(touch): add workaround for touch pad DAC hardware source mismatch on tp8 and tp9. 2017-09-19 20:10:39 +08:00
Wangjialin 2fceec4d85 feature(I2S-ADC): add ADC mode for I2S.
1. Support built-in ADC for I2S.
2. Modify code of ADC, made no change to the original APIs.
3. Add APIs in I2S:
esp_err_t i2s_set_adc_mode(adc_unit_t adc_unit, adc1_channel_t adc_channel);
4. Add I2S ADC/DAC example code.
5. add old-fashion definition to make it more compatible
6. replase spi_flash_ APIs with esp_partition_ APIs
7. add example of generating audio table from wav
8. change example sound
2017-09-14 13:24:08 +08:00
michael 08b9fbc242 feat(global): add macros for GPIO->channel lookup
including: macros for dac, adc, touch, rtc_gpio, uart and clk_out.

TW#13970
2017-09-07 10:40:25 +08:00
Darian Leung 88b05f9391 esp_adc_cal: Added ADC calibration component
Added component containg API that is able to correct raw ADC readings
into a voltage in mV. Also provided a helper function that combines
the process of getting the raw ADC1 reading then converting it to a
voltage in mV. In doing so, the adc1_get_voltage() function of the ADC
driver has been deprecated. Instead there is now adc1_get_raw to obtain
the raw ADC1 reading, and adc1_to_voltage() that gets the raw reading
and converts all in one function. Functions using the deprecated
adc1_get_voltage() have also been updated to use adc1_get_raw().

Conversion is based on ADC characteristics. The characteristics are based
on the ADC's v_ref, herefore the appropriate structure and functions have
been provided to obtain the ADC characteristics.

The existing ADC driver has also been modified by adding a function to
route the internal ADC reference voltage to a GPIO allowing users to measure
it manually.

Relevant documentation has also been updated
2017-08-29 18:43:14 +08:00
Wangjialin 842caaab21 driver(touch): fix bug and add more features
1. add sens_struct.h
2. add definition of RTCCNTL and RTCIO
3. modify touch pad examples
4. update example code.
5. add comments add option in menuconfig
6. fix issue that pad index 8 and 9 are mismatched
7. add touch_pad_read_filtered() api to get value filtered by iir filter
8. modify touch pad isr func
9. Make the items in perihperal.ld in the sequence of address
10. delete Kconfig for touch pad
11. add touchpad filter APIs to adjust the filter
12. add touch_pad into index.rst
13. add touch_pad in Doxyfile
14. add touch_pad.rst
2017-08-22 21:21:39 +08:00
Wangjialin c30149e4bd feature(gpio): add APIs to set and get pad drive capability. RTC pads use RTC registers to contol drive capability. 2017-07-19 11:23:41 +08:00
Ivan Grokhotkov cbe23147bf driver/rtc: add support for attaching handlers to RTC_CNTL interrupts 2017-07-10 17:21:49 +08:00
Ivan Grokhotkov 98e15df7f6 examples: add ULP ADC example 2017-05-16 13:15:02 +08:00
Wangjialin 1f055d28b8 Driver update: I2S pdm and built-in DAC
1. Modify I2S DAC built-in mode settings
2. Add I2S pdm mode
3. Correct I2S signal index in full-duplex mode
4. Modify dac output function
5. Add dac pad init functions
6. Modify DAC documentation
7. Add i2s_set_dac_mode API
2017-05-12 16:21:02 +08:00
Ivan Grokhotkov 6ad0a157e3 driver/rtc: add APIs to enable/disable hold function 2017-03-24 10:11:13 +08:00
Chu Shu Chen 194d4e9ffd fix(touch_pad): modify touch pad read function and touch_pad_deinit
The touch pad read function taks too much time within spin lock waiting for the "done bit". (about 7.6ms as we tested)
So we try to use a mutex on the touch read function and any other functions might change the "done bit".
2017-03-11 11:42:44 +08:00
Angus Gratton 21964a42fb rtc_gpio: Replace RTC_GPIO_IS_VALID_GPIO macro with inline function 2017-02-20 10:39:29 +11:00
Ivan Grokhotkov 35115885c5 deep sleep: add API to control power down 2016-12-16 14:30:27 +08:00
Ivan Grokhotkov 3b854fe46a deep sleep: implement wake up using ULP, EXT0, EXT1 sources
This adds the following APIs to enable various wakeup sources:
- esp_deep_sleep_enable_timer_wakeup
- esp_deep_sleep_enable_ulp_wakeup
- esp_deep_sleep_enable_ext0_wakeup
- esp_deep_sleep_enable_ext1_wakeup

And an API to start deep sleep:
- esp_deep_sleep_start
2016-12-16 14:30:27 +08:00
Ivan Grokhotkov f504e23d0f bootloader, driver/rtc: fix warnings about unused functions 2016-12-09 15:47:32 +08:00
Jeroen Domburg cb9ef19d3b Also add intr_alloc magic to rtc code 2016-12-08 12:57:57 +08:00
Chu Shu Chen b1db2721dc driver: add rtc module and bugfix gpio32 gpio33
feature(rtc_module):add rtc module

1. add rtc io control API (pull,output and input)
2. add touch pad API (touch pad read and interrupt)
3. add adc1 API (the max width is 12 Bits and support attenuation)
4. add hall sensor API (support hall sensor read )
5. add dac API (the width is 8 Bits)

bugfix(gpio):gpio32 and gpio33 can not output and input

the gpio32 and gpio33 is initialize by librtc.a,and gpio_config not initialize the gpio as
digital gpio.they can not output and input,when users use gpio32 or gpio33.And there are some problems
about others driver ,when they use gpio32 or gpio33 as  matrix.
2016-12-07 15:56:13 +08:00