void test_attach_us_time(void) { LowPowerTicker ticker; ticker_callback_flag = 0; gtimer.reset(); gtimer.start(); ticker.attach_us(callback(stop_gtimer_set_flag), DELAY_US); while(!ticker_callback_flag); ticker.detach(); const int time_diff = gtimer.read_us(); TEST_ASSERT_UINT64_WITHIN(TOLERANCE_US, DELAY_US, time_diff); }
/** Test multi callback time Given a Ticker When the callback is attached multiple times Then ticker properly execute callback multiple times */ void test_multi_call_time(void) { LowPowerTicker ticker; int time_diff; const int attach_count = 10; for (int i = 0; i < attach_count; i++) { ticker_callback_flag = 0; gtimer.reset(); gtimer.start(); ticker.attach_us(callback(stop_gtimer_set_flag), MULTI_TICKER_TIME_MS * 1000); while(!ticker_callback_flag); time_diff = gtimer.read_us(); TEST_ASSERT_UINT32_WITHIN(TOLERANCE_US, MULTI_TICKER_TIME_MS * 1000, time_diff); } }