2021-03-08 10:02:04 -05:00
|
|
|
#include <stdio.h>
|
|
|
|
#include "unity.h"
|
|
|
|
|
|
|
|
#include "esp_private/system_internal.h"
|
2021-11-18 22:42:01 -05:00
|
|
|
#include "esp_private/esp_clk.h"
|
2021-03-08 10:02:04 -05:00
|
|
|
|
|
|
|
TEST_CASE("Test effect of rtc clk calibration compensation on system time", "[esp_system]")
|
|
|
|
{
|
|
|
|
uint32_t prev_cal = esp_clk_slowclk_cal_get();
|
|
|
|
int64_t t1 = esp_system_get_time();
|
|
|
|
|
|
|
|
// Modify calibration value
|
|
|
|
esp_clk_slowclk_cal_set(prev_cal/2);
|
|
|
|
|
|
|
|
// Internally, the origin point of rtc clk has been adjusted
|
|
|
|
// so that t2 > t1 remains true
|
|
|
|
int64_t t2 = esp_system_get_time();
|
|
|
|
|
|
|
|
TEST_ASSERT_GREATER_THAN(t1, t2);
|
|
|
|
|
|
|
|
// Restore calibration value
|
|
|
|
esp_clk_slowclk_cal_set(prev_cal);
|
|
|
|
|
|
|
|
t2 = esp_system_get_time();
|
|
|
|
|
|
|
|
TEST_ASSERT_GREATER_THAN(t1, t2);
|
|
|
|
}
|