Laukik Hase
4800e9b3c4
ci: Fix for ETSTimers arm & disarm run from IRAM
UT
...
- For ESP32 | SPIRAM_MALLOC_ALWAYSINTERNAL=0
- Forced `esp_timer_create` to allocate resource from the internal memory
- WiFi/BT coexistence will sometimes arm/disarm timers from an ISR
where flash may be disabled. This can lead to a cache-based
exception as the timer instance will be located in the PSRAM.
2023-08-16 11:13:39 +08:00
Jens Gutermuth
9fa30d44f3
improve thread safety in esp_timer
...
Inadequate locking in the esp_timer component allowed corruption
of the s_timers linked list:
1. timer_armed(timer) returns false
2. another task arms the timer and adds it to s_timers
3. the list is locked
4. the timer is inserted into s_timers again
The last step results in a loop in the s_timers list, which causes
an infinite loop when iterated. This change always locks the
list before checking if the timer is already armed avoiding
the data race.
2023-05-02 20:22:51 +02:00
KonstantinKondrashov
745cac7a04
esp_timer: Adds IRAM_ATTR for esp_timer_restart and esp_timer_is_active
...
Closes https://github.com/espressif/esp-idf/issues/10522
Closes https://github.com/espressif/esp-idf/issues/10859
2023-04-20 14:53:38 +08:00
Marius Vikhammer
478ffa077c
esp_timer: fix ESP_TIMER_ISR dispatch method due to off by one error
2022-11-10 15:03:15 +08:00
Darian Leung
baa28b54a2
esp_hw_support: Fix esp_light_sleep_start() deadlock
...
esp_light_sleep_start() will stall the other CPU via esp_ipc_isr_stall_other_cpu(). After stalling the other CPU,
will call esp_clk_... API which themselves take locks. If the other stalled CPU is holding those locks, this will
result in a deadlock.
This commit adds a workaround calling esp_clk_private_lock() to take the lock before stalling the other CPU.
2022-09-16 17:02:38 +08:00
Cao Sen Miao
99caa4950c
esp_timer: init rtc timer and system timer in early init
2021-11-15 19:38:09 +08:00
Ivan Grokhotkov
85bc2d7240
esp_timer: allow querying the timer before esp_timer_init is called
2021-11-15 19:38:09 +08:00
Andrei Safronov
9159aa58d3
tests: refactoring of the gcc's inner functions, because clang doesn't support them
2021-09-10 19:51:27 +03:00
Konstantin Kondrashov
29f581fc70
freertos(esp32s3): SysTick uses systimer
2021-08-04 20:33:44 +08:00
Jiang Jiang Jian
97507ebe49
Merge branch 'feature/support_esp32s3_lightsleep' into 'master'
...
support esp32s3 normal lightsleep
See merge request espressif/esp-idf!14369
2021-07-28 15:09:37 +00:00
Li Shuai
3c30099327
light sleep: add esp_timer light sleep test case
2021-07-28 15:44:02 +08:00
KonstantinKondrashov
c19b37d2a9
esp_system: Adds sync of FRC & RTC counters in esp_restart
...
In case when FRC and RTC counters are very different then
the need to sync them before to restart the ESP
to get the correct system time after reboot.
2021-07-21 10:23:24 +05:00
Shu Chen
6fce2930d0
esp32h2: enable more components to support esp32h2
...
Involved components:
* app_trace
* esp-tls
* esp_adc_cal
* esp_pm
* esp_serial_slave_link
* esp_timer
* freertos
* idf_test
* log
* mbedtls
* newlib
* perfmon
* spi_flash
* spiffs
* ulp
* unity
* vfs
2021-07-01 19:53:11 +08:00
Rahul Tank
3159ba1d5a
Add esp_timer_is_active function for Nimble stack to use esp_timer instead of FreeRTOS timer
2021-06-30 10:06:40 +05:30
KonstantinKondrashov
f9ad16bb66
esp_timer: Timers with skip_unhandled_events option won't wake up system from light sleep
2021-06-19 12:45:17 +08:00
morris
988c88a6b1
systimer: optimise esp_timer_get_time
2021-04-26 11:54:02 +08:00
morris
ec898b771e
systimer: strip hal driver
2021-04-22 21:08:39 +08:00
Marius Vikhammer
b4d2fb56a0
ci: enable previously disabled unit tests
2021-03-29 18:36:41 +08:00
Renz Bagaporo
d7e9567c00
esp_system, esp_timer: fix time function description
2021-03-25 15:47:19 +08:00
Renz Bagaporo
74de5a7c58
esp_timer: correct startup time
2021-03-25 15:38:27 +08:00
Marius Vikhammer
91439e3818
docs: updated system api-reference chapters for C3
2021-03-15 18:51:12 +08:00
KonstantinKondrashov
7bbf4a3422
esp_timer: Fix Test ESP_TIMER_ISR dispatch method is not blocked
2021-02-24 16:08:17 +08:00
Angus Gratton
fb1488abba
Merge branch 'feature/esp_timer_isr_dispatch_method_restore' into 'master'
...
esp timer: Add ISR dispatch method
Closes IDF-1172 and IDF-1173
See merge request espressif/esp-idf!11572
2021-02-23 06:21:14 +00:00
Marius Vikhammer
451465ff8c
esp_timer: fix "esp_timer orders timers correctly" headerline handling
...
Discard header lines from esp_timer_dump that comes before the actual timer
info. "esp_timer orders timers correctly" would crash when reading the header lines.
2021-02-18 11:59:42 +08:00
Sachin Parekh
296d10e675
esp_timer: Label each column of timer dump
2021-02-11 18:40:51 +05:30
KonstantinKondrashov
63d4911cdb
esp_timer: Add ESP_TIMER_ISR dispatch method
...
Using own spinlock for each list (TASK and ISR disp method)
Reduced the dependency of ISR on the TASK dispatch method
2021-02-08 19:10:11 +08:00
KonstantinKondrashov
bcbee89030
esp_timer: Add a Kconfig option to configure the interrupt level
2021-02-08 18:27:10 +08:00
Marius Vikhammer
9c8e4fd4c5
C3: build and run unit tests
...
Enable building and running of unit tests in CI for C3 as well as fix
related compile errors
Also enables building of C3 test apps
2021-01-11 11:34:37 +08:00
ninh
e908a32381
put pm_slp_iram_opt and pm_rtos_iram_opt related attributes in esp_pm/linker.lf
2021-01-06 03:40:28 +00:00
Liu Ning
57aa65eeed
components/pm: Add sleep related code iram opt chioce
2020-12-23 14:45:36 +08:00
KonstantinKondrashov
aa96c9a4d8
esp_timer: Add an option to skip unhandled events for periodic timers
...
- Added an option to skip unhandled events for periodic timers. Useful for light sleep.
- Added doc about this case
- Added Test a latency between a call of callback and real event (14-16us). and UT to check skip_unhandled_events.
- Fixed for esp_timer_dump() if name of timer is NULL
- Refactored timer_process_alarm()
- Added the delete function after using in UTs
2020-12-09 17:19:19 +08:00
Angus Gratton
5228d9f9ce
esp32c3: Apply one-liner/small changes for ESP32-C3
2020-12-01 10:58:50 +11:00
Angus Gratton
7c08be5771
hal: Add initial ESP32-C3 support
...
From internal commit 7761d6e8
2020-11-30 15:23:15 +11:00
Angus Gratton
420aef1ffe
Updates for riscv support
...
* Target components pull in xtensa component directly
* Use CPU HAL where applicable
* Remove unnecessary xtensa headers
* Compilation changes necessary to support non-xtensa gcc types (ie int32_t/uint32_t is no
longer signed/unsigned int).
Changes come from internal branch commit a6723fc
2020-11-13 07:49:11 +11:00
Angus Gratton
66fb5a29bb
Whitespace: Automated whitespace fixes (large commit)
...
Apply the pre-commit hook whitespace fixes to all files in the repo.
(Line endings, blank lines at end of file, trailing whitespace)
2020-11-11 07:36:35 +00:00
KonstantinKondrashov
e0d0200aed
esp_timer: Use Task Notification instead of semaphore
2020-11-06 06:43:22 +00:00
Angus Gratton
4df4bd9558
Merge branch 'bugfix/clock_getres_accuracy_resolution' into 'master'
...
newlib: Fix clock_getres() improves accuracy
See merge request espressif/esp-idf!10743
2020-10-22 16:50:29 +08:00
Angus Gratton
e5f06d7f47
Merge branch 'feature/esp32s3_support_gettimeofday' into 'master'
...
time: Fix gettimeofday for ESP32-S3
See merge request espressif/esp-idf!10871
2020-10-20 14:09:36 +08:00
Konstantin Kondrashov
9386cafbc3
time: Fix gettimeofday for ESP32-S3
2020-10-20 14:09:32 +08:00
Michael (XIAO Xufeng)
1966f00f0b
soc: updates caps usage
...
We should define caps as 1 if true. When use the caps macros, #if and
#if ! should be used instead of #ifdef/#ifndef.
2020-10-17 16:10:17 +08:00
KonstantinKondrashov
7ae7adf16a
newlib: Fix clock_getres() improves accuracy
...
Returns not rounded value of resolution for WITH_RTC and !WITH_FRC
2020-10-07 18:01:35 +08:00
Renz Bagaporo
f33f49331f
ci: update configs to include/exclude esp_pm in unit test
2020-09-25 05:24:10 +00:00
morris
cc66334014
esp_timer: initial support on esp32-s3
2020-09-22 15:15:03 +08:00
morris
75a372a9f0
unit_test: support reference clock, test delay function
2020-09-22 15:15:03 +08:00
morris
61f89b97c6
bringup esp32-s3 on FPGA
2020-09-22 15:15:03 +08:00
Ivan Grokhotkov
4fe7a58a60
Merge branch 'bugfix/config_pm_use_rtc_timer_ref' into 'master'
...
esp_timer: fix CONFIG_PM_USE_RTC_TIMER_REF option usage
Closes IDFGH-2958
See merge request espressif/esp-idf!8399
2020-09-15 00:41:16 +08:00
Ivan Grokhotkov
0acf94f10f
esp_timer: fix CONFIG_PM_USE_RTC_TIMER_REF option usage
...
Also remove PM_USE_RTC_TIMER_REF in esp32s2, since this option is only
used in FRC implementation of esp_timer.
Closes https://github.com/espressif/esp-idf/issues/4991
2020-09-04 19:19:26 +00:00
Jakob Hasse
20c068ef3b
cmock: added cmock as component
...
* changing dependencies from unity->cmock
* added component.mk and Makefile.projbuild
* ignore test dir in gen_esp_err_to_name.py
* added some brief introduction of CMock in IDF
2020-09-02 16:38:37 +08:00
Renz Bagaporo
e70f240e12
esp_timer: do init check in timer implementation
2020-09-01 15:01:11 +08:00
Renz Bagaporo
c70c227591
esp_system: private system time functions for now
2020-08-11 17:52:36 +08:00