1
1
#include "../bus/uart/uart1.h"
2
+ #include "../registers/comparators/cmp4.h"
3
+ #include "../registers/comparators/cvr.h"
2
4
#include "../registers/comparators/ic1.h"
3
5
#include "../registers/comparators/ic2.h"
4
6
#include "../registers/comparators/ic3.h"
5
7
#include "../registers/comparators/ic4.h"
6
8
#include "../registers/comparators/ic_params.h"
7
9
#include "../registers/memory/dma.h"
10
+ #include "../registers/system/interrupt_manager.h"
8
11
#include "../registers/system/pin_manager.h"
9
12
#include "../registers/timers/tmr2.h"
10
- #include "../registers/comparators/cvr.h"
11
- #include "../registers/comparators/cmp4.h"
12
- #include "../registers/system/interrupt_manager.h"
13
13
#include "buffer.h"
14
14
15
15
static uint8_t DIGITAL_STATES = 0 ;
@@ -77,10 +77,7 @@ void INTERVAL_CaptureOne(uint16_t count, uint8_t channel, uint8_t mode, uint8_t
77
77
78
78
void INTERVAL_CaptureTwo (uint16_t count , uint8_t mode , uint8_t channel ) {
79
79
80
- DMA_ChannelDisable (DMA_CHANNEL_0 );
81
- DMA_ChannelDisable (DMA_CHANNEL_1 );
82
- DMA_ChannelDisable (DMA_CHANNEL_2 );
83
- DMA_ChannelDisable (DMA_CHANNEL_3 );
80
+ DMA_DisableAllChannels ();
84
81
85
82
DMA_PrepareChannel0 (count , __builtin_dmapage (& BUFFER ),
86
83
__builtin_dmaoffset (& BUFFER ), DMA_PERIPHERAL_IRQ_IC1 );
@@ -93,10 +90,7 @@ void INTERVAL_CaptureTwo(uint16_t count, uint8_t mode, uint8_t channel) {
93
90
94
91
DMA_InterruptEnable (DMA_CHANNEL_0 );
95
92
96
- IC1_Initialize ();
97
- IC2_Initialize ();
98
- IC3_Initialize ();
99
- IC4_Initialize ();
93
+ IC_PARAMS_InitiateAll ();
100
94
101
95
SetDMA_MODE (DMA_MODES_TWO_CHANNEL );
102
96
@@ -107,10 +101,7 @@ void INTERVAL_CaptureTwo(uint16_t count, uint8_t mode, uint8_t channel) {
107
101
IC_PARAMS_CombineOddEvenModules ();
108
102
IC_PARAMS_UseSourceTo (IC_PARAMS_SOURCE_TASK_TRIGGER );
109
103
110
- DMA_ChannelEnable (DMA_CHANNEL_0 );
111
- DMA_ChannelEnable (DMA_CHANNEL_1 );
112
- DMA_ChannelEnable (DMA_CHANNEL_2 );
113
- DMA_ChannelEnable (DMA_CHANNEL_3 );
104
+ DMA_EnableAllChannels ();
114
105
115
106
IC1_SetCaptureMode (mode & 0xF );
116
107
IC2_SetCaptureMode (mode & 0xF );
@@ -133,10 +124,7 @@ void INTERVAL_CaptureThree(uint16_t count, uint16_t mode, uint8_t trig) {
133
124
134
125
DMA_InterruptEnable (DMA_CHANNEL_0 );
135
126
136
- IC1_Initialize ();
137
- IC2_Initialize ();
138
- IC3_Initialize ();
139
- IC4_Initialize ();
127
+ IC_PARAMS_InitiateAll ();
140
128
141
129
SetDMA_MODE (DMA_MODES_THREE_CHANNEL );
142
130
@@ -173,10 +161,7 @@ void INTERVAL_CaptureThree(uint16_t count, uint16_t mode, uint8_t trig) {
173
161
174
162
void INTERVAL_CaptureFour (uint16_t count , uint16_t mode , uint8_t prescaler ) {
175
163
176
- DMA_ChannelDisable (DMA_CHANNEL_0 );
177
- DMA_ChannelDisable (DMA_CHANNEL_1 );
178
- DMA_ChannelDisable (DMA_CHANNEL_2 );
179
- DMA_ChannelDisable (DMA_CHANNEL_3 );
164
+ DMA_DisableAllChannels ();
180
165
181
166
DMA_PrepareChannel0 (count , __builtin_dmapage (& BUFFER ),
182
167
__builtin_dmaoffset (& BUFFER ), DMA_PERIPHERAL_IRQ_IC1 );
@@ -189,10 +174,7 @@ void INTERVAL_CaptureFour(uint16_t count, uint16_t mode, uint8_t prescaler) {
189
174
190
175
DMA_InterruptEnable (DMA_CHANNEL_0 );
191
176
192
- IC1_Initialize ();
193
- IC2_Initialize ();
194
- IC3_Initialize ();
195
- IC4_Initialize ();
177
+ IC_PARAMS_InitiateAll ();
196
178
197
179
SetDMA_MODE (DMA_MODES_FOUR_CHANNEL );
198
180
@@ -208,10 +190,7 @@ void INTERVAL_CaptureFour(uint16_t count, uint16_t mode, uint8_t prescaler) {
208
190
IC_PARAMS_SetCaptureTimer (IC_PARAMS_CAPTURE_TIMER2 );
209
191
IC_PARAMS_UseSourceTo (IC_PARAMS_SOURCE_TASK_TRIGGER );
210
192
211
- DMA_ChannelEnable (DMA_CHANNEL_0 );
212
- DMA_ChannelEnable (DMA_CHANNEL_1 );
213
- DMA_ChannelEnable (DMA_CHANNEL_2 );
214
- DMA_ChannelEnable (DMA_CHANNEL_3 );
193
+ DMA_EnableAllChannels ();
215
194
216
195
IC1_SetCaptureMode (mode & 0xF );
217
196
IC2_SetCaptureMode ((mode >> 4 ) & 0xF );
@@ -220,6 +199,7 @@ void INTERVAL_CaptureFour(uint16_t count, uint16_t mode, uint8_t prescaler) {
220
199
}
221
200
222
201
response_t INTERVAL_GetState (void ) {
202
+
223
203
UART1_WriteInt (__builtin_dmaoffset (& BUFFER ));
224
204
UART1_WriteInt (DMA0STAL );
225
205
UART1_WriteInt (DMA1STAL );
0 commit comments