Beispiel #1
0
void Ticker::setup(us_timestamp_t t)
{
    core_util_critical_section_enter();
    remove();
    _delay = t;
    insert_absolute(_delay + ticker_read_us(_ticker_data));
    core_util_critical_section_exit();
}
Beispiel #2
0
us_timestamp_t Timer::slicetime() {
    us_timestamp_t ret = 0;
    core_util_critical_section_enter();
    if (_running) {
        ret = ticker_read_us(_ticker_data) - _start;
    }
    core_util_critical_section_exit();
    return ret;
}
Beispiel #3
0
void Timer::start() {
    core_util_critical_section_enter();
    if (!_running) {
        if(_lock_deepsleep) {
            sleep_manager_lock_deep_sleep();
        }
        _start = ticker_read_us(_ticker_data);
        _running = 1;
    }
    core_util_critical_section_exit();
}
Beispiel #4
0
static inline us_timestamp_t read_us(void)
{
#if defined(MBED_CPU_STATS_ENABLED) && DEVICE_LPTICKER
    if (NULL == sleep_ticker) {
        sleep_ticker = (ticker_data_t *)get_lp_ticker_data();
    }
    return ticker_read_us(sleep_ticker);
#else
    return 0;
#endif
}
timestamp_t ticker_read(const ticker_data_t *const ticker)
{
    return ticker_read_us(ticker);
}
Beispiel #6
0
void Timer::reset() {
    core_util_critical_section_enter();
    _start = ticker_read_us(_ticker_data);
    _time = 0;
    core_util_critical_section_exit();
}
Beispiel #7
0
uint32_t HAL_GetTick()
{
    return ticker_read_us(get_us_ticker_data()) / 1000; // 1 ms tick is required for ST HAL
}