27 #include "xcp_tl_timeout.h" 37 typedef void (*void_function)(void);
39 static uint32_t XcpTl_TimeoutValue = 0UL;
40 static void_function XcpTl_TimeoutFunction = XCP_NULL;
41 static bool XcpTl_TimeoutRunning = XCP_FALSE;
43 static void XcpTl_TimeoutInit(uint16_t timeout_value,
44 void (*timeout_function)(
void)) {
45 XcpTl_TimeoutValue = timeout_value;
46 XcpTl_TimeoutRunning = XCP_FALSE;
47 XcpTl_TimeoutFunction = timeout_function;
50 static void XcpTl_TimeoutStart(
void) {
51 XcpTl_TimeoutValue = XcpHw_GetTimerCounterMS();
52 XcpTl_TimeoutRunning = XCP_TRUE;
55 static void XcpTl_TimeoutStop(
void) { XcpTl_TimeoutRunning = XCP_FALSE; }
57 static void XcpTl_TimeoutCheck(
void) {
58 if (!XcpTl_TimeoutRunning) {
61 if ((XcpHw_GetTimerCounterMS() - XcpTl_TimeoutValue) > XcpTl_TimeoutValue) {
62 if (XcpTl_TimeoutFunction != XCP_NULL) {
63 XcpTl_TimeoutFunction();
68 static void XcpTl_TimeoutReset(
void) {
69 XcpTl_TimeoutValue = XcpHw_GetTimerCounterMS();