Skip to content

Commit

Permalink
Merge branch 'feat/ulp_add_cycle_function' into 'master'
Browse files Browse the repository at this point in the history
feat(lp_core): add a public function to get the timer cycle count

Closes IDFGH-12036

See merge request espressif/esp-idf!28910
  • Loading branch information
o-marshmallow committed Feb 12, 2024
2 parents 4b5b064 + 5a32ca1 commit 6d04593
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 4 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
Expand All @@ -11,6 +11,13 @@
extern "C" {
#endif

/**
* @brief Get the number of cycle count for the LP timer
*
* @return current timer cycle count
*/
uint64_t ulp_lp_core_lp_timer_get_cycle_count(void);

/**
* @brief Sets the next wakeup alarm
*
Expand Down
6 changes: 3 additions & 3 deletions components/ulp/lp_core/shared/ulp_lp_core_lp_timer_shared.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
Expand All @@ -21,7 +21,7 @@ static void lp_timer_hal_set_alarm_target(uint64_t value)
lp_timer_ll_set_target_enable(lp_timer_context.dev, TIMER_ID, true);
}

static uint64_t lp_timer_hal_get_cycle_count(void)
uint64_t ulp_lp_core_lp_timer_get_cycle_count(void)
{
lp_timer_ll_counter_snapshot(lp_timer_context.dev);

Expand All @@ -38,7 +38,7 @@ static uint64_t lp_timer_hal_get_cycle_count(void)

void ulp_lp_core_lp_timer_set_wakeup_time(uint64_t sleep_duration_us)
{
uint64_t cycle_cnt = lp_timer_hal_get_cycle_count();
uint64_t cycle_cnt = ulp_lp_core_lp_timer_get_cycle_count();
uint64_t alarm_target = cycle_cnt + sleep_duration_us * (1 << RTC_CLK_CAL_FRACT) / clk_ll_rtc_slow_load_cal();

lp_timer_hal_set_alarm_target(alarm_target);
Expand Down

0 comments on commit 6d04593

Please sign in to comment.