megaAVR Timer/Counter (TC) timeout driver implementation
Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries.
Data Structures | |
struct | tc_timeout_struct |
TC Timeout timekeeping data. More... | |
Macros | |
#define | TC_TIMEOUT_ASSR_MASK (1 << AS2) |
#define | TC_TIMEOUT_COMP_vect TIMER2_COMP_vect |
#define | TC_TIMEOUT_OCIE OCIE2A |
#define | TC_TIMEOUT_OCR OCR2A |
#define | TC_TIMEOUT_TCCRA TCCR2A |
#define | TC_TIMEOUT_TIMSK TIMSK2 |
Functions | |
ISR (TC_TIMEOUT_COMP_vect) | |
Interrupt handler for TC compare. More... | |
void | tc_timeout_init (void) |
Initialize TC timeout. More... | |
void | tc_timeout_start_offset (tc_timeout_id_t id, uint16_t period, uint16_t offset) |
Start periodic timeout with a specific start timeout. More... | |
void | tc_timeout_start_periodic (tc_timeout_id_t id, uint16_t period) |
Start periodic timeout. More... | |
void | tc_timeout_start_singleshot (tc_timeout_id_t id, uint16_t timeout) |
Start singleshot timeout. More... | |
void | tc_timeout_stop (tc_timeout_id_t id) |
Stop running timeout. More... | |
bool | tc_timeout_test_and_clear_expired (tc_timeout_id_t id) |
Test and clear expired flag for running timeout. More... | |
Variables | |
static uint8_t | tc_timeout_active |
Bitmask of active timeouts. More... | |
static struct tc_timeout_struct | tc_timeout_array [CONFIG_TC_TIMEOUT_COUNT] |
Array of configurable timeout timekeeping data. More... | |
static uint8_t | tc_timeout_expired |
bitmask of expired timeouts More... | |