1
10
13
14
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
89
90
91
92
95
96
97
98
104
105
106
112
113
114
115
116
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
...
...
...
#define TX_SOURCE_CODE
#include "tx_api.h"
#include "tx_timer.h"
#ifdef TX_ENABLE_EVENT_TRACE
#include "tx_trace.h"
#endif
...
...
UINT _tx_timer_activate(TX_TIMER *timer_ptr)
{
TX_INTERRUPT_SAVE_AREA
UINT status;
TX_DISABLE
#ifdef TX_ENABLE_EVENT_TRACE
TX_TRACE_IN_LINE_INSERT(TX_TRACE_TIMER_ACTIVATE, timer_ptr, 0, 0, 0, TX_TRACE_TIMER_EVENTS)/* ... */
#endif
#ifdef TX_ENABLE_EVENT_LOGGING
TX_EL_TIMER_ACTIVATE_INSERT/* ... */
#endif
if (timer_ptr -> tx_timer_internal.tx_timer_internal_list_head != TX_NULL)
{
status = TX_ACTIVATE_ERROR;
}if (timer_ptr -> tx_timer_internal.tx_timer_internal_list_head != TX_NULL) { ... }
else if (timer_ptr -> tx_timer_internal.tx_timer_internal_remaining_ticks == ((ULONG) 0))
{
status = TX_ACTIVATE_ERROR;
}else if (timer_ptr -> tx_timer_internal.tx_timer_internal_remaining_ticks == ((ULONG) 0)) { ... }
else
{
#ifdef TX_TIMER_ENABLE_PERFORMANCE_INFO
_tx_timer_performance_activate_count++;
timer_ptr -> tx_timer_performance_activate_count++;/* ... */
#endif
_tx_timer_system_activate(&(timer_ptr -> tx_timer_internal));
status = TX_SUCCESS;
}else { ... }
TX_RESTORE
return(status);
}{ ... }