Microchip® Advanced Software Framework

tc_timeout.c File Reference

megaAVR Timer/Counter (TC) timeout driver implementation

Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries.

#include "compiler.h"
#include "tc_timeout.h"

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...