ref_clock_impl_timergroup.c 829 B

123456789101112131415161718192021222324252627282930313233343536
  1. /*
  2. * SPDX-FileCopyrightText: 2020-2022 Espressif Systems (Shanghai) CO LTD
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. */
  6. #include "test_utils.h"
  7. #include "unity_config.h"
  8. #include "driver/gptimer.h"
  9. static gptimer_handle_t ts_gptimer;
  10. void ref_clock_init(void)
  11. {
  12. gptimer_config_t timer_config = {
  13. .clk_src = GPTIMER_CLK_SRC_XTAL,
  14. .direction = GPTIMER_COUNT_UP,
  15. .resolution_hz = 1000000, // Resolution is configured to 1MHz
  16. };
  17. TEST_ESP_OK(gptimer_new_timer(&timer_config, &ts_gptimer));
  18. TEST_ESP_OK(gptimer_start(ts_gptimer));
  19. }
  20. void ref_clock_deinit(void)
  21. {
  22. TEST_ESP_OK(gptimer_stop(ts_gptimer));
  23. TEST_ESP_OK(gptimer_del_timer(ts_gptimer));
  24. ts_gptimer = NULL;
  25. }
  26. uint64_t ref_clock_get(void)
  27. {
  28. uint64_t ts;
  29. gptimer_get_raw_count(ts_gptimer, &ts);
  30. return ts;
  31. }