{
void timer_func(void* arg)
{
- uint64_t* p_end = (uint64_t*) arg;
+ int64_t* p_end = (int64_t*) arg;
*p_end = ref_clock_get();
}
- uint64_t t_end;
+ int64_t t_end;
esp_timer_handle_t timer1;
esp_timer_create_args_t args = {
.callback = &timer_func,
ref_clock_init();
for (size_t i = 0; i < delays_count; ++i) {
t_end = 0;
- uint64_t t_start = ref_clock_get();
+ int64_t t_start = ref_clock_get();
TEST_ESP_OK(esp_timer_start_once(timer1, delays_ms[i] * 1000));
esp_timer_handle_t timer;
size_t cur_interval;
int intervals[NUM_INTERVALS];
- uint64_t t_start;
+ int64_t t_start;
} test_args_t;
void timer_func(void* arg)
{
test_args_t* p_args = (test_args_t*) arg;
- uint64_t t_end = ref_clock_get();
+ int64_t t_end = ref_clock_get();
int32_t ms_diff = (t_end - p_args->t_start) / 1000;
printf("timer #%d %dms\n", p_args->cur_interval, ms_diff);
p_args->intervals[p_args->cur_interval++] = ms_diff;
test_common_t* common;
bool pass;
SemaphoreHandle_t done;
- uint64_t t_start;
+ int64_t t_start;
} test_args_t;
void timer_func(void* arg)
SemaphoreHandle_t done = xSemaphoreCreateCounting(3, 0);
ref_clock_init();
- uint64_t now = ref_clock_get();
+ int64_t now = ref_clock_get();
test_args_t args1 = {
.timer_index = 1,
TEST_CASE("esp_timer_get_time call takes less than 1us", "[esp_timer]")
{
- uint64_t begin = esp_timer_get_time();
- volatile uint64_t end;
+ int64_t begin = esp_timer_get_time();
+ volatile int64_t end;
const int iter_count = 10000;
for (int i = 0; i < iter_count; ++i) {
end = esp_timer_get_time();
const int iter_count = 1000000000;
for (int i = 0; i < iter_count; ++i) {
- uint64_t now = esp_timer_get_time();
- uint64_t ref_now = ref_clock_get();
- int64_t diff = (int64_t) (now - ref_now) - delta;
+ int64_t now = esp_timer_get_time();
+ int64_t ref_now = ref_clock_get();
+ int64_t diff = now - (ref_now + delta);
/* Allow some difference due to rtos tick interrupting task between
* getting 'now' and 'ref_now'.
*/