Finally got round to running an interrupt-based test. Used the code below and ran three trials.
#include "mbed.h"
InterruptIn line9(D9);
InterruptIn line10(D10);
int bufpresE[2];
int bufpresF[2];
volatile unsigned int buft9high[2500];//Set to reflect memory limits
volatile unsigned int buft9low[2500];//Set to reflect memory limits
volatile unsigned int buft10high[2500];//Set to reflect memory limits
volatile unsigned int buft10low[2500];//Set to reflect memory limits
volatile int a = 0;
int b = 0;
void Buf9high() {
buft9high[a] = DWT->CYCCNT;
a++;
}
void Buf9low() {
buft9low[a] = DWT->CYCCNT;
a++;
}
void Buf10high() {
buft10high[a] = DWT->CYCCNT;
a++;
}
void Buf10low() {
buft10low[a] = DWT->CYCCNT;
a++;
}
int main()
{
NRF_P0->PIN_CNF[27] = 0x0C;
NRF_P1->PIN_CNF[2] = 0x0C;
bufpresE[0] = ((NRF_P0->IN & 0x08000000) ? 1 : 0) ;
bufpresF[0] = ((NRF_P1->IN & 0x00000004) ? 1 : 0) ;
line9.rise(&Buf9high);
line9.fall(&Buf9low);
line10.rise(&Buf10high);
line10.fall(&Buf10low);
CoreDebug->DEMCR |= 0x01000000; //Enable the use of DWT.
DWT->CYCCNT = 0; //Reset cycle counter.
DWT->CTRL |= 0x1; //Enable cycle counter.
while(true)
{
if (DWT->CYCCNT > 2200000000)
{
bufpresE[1] = ((NRF_P0->IN & 0x08000000) ? 1 : 0) ;
bufpresF[1] = ((NRF_P1->IN & 0x00000004) ? 1 : 0) ;
printf(" , , , ,%i, %i\n", bufpresE[0], bufpresF[0]);
for (b = 0; b < a; b++)
{
printf("%i, %i, %i, %i\n", buft9high[b], buft9low[b], buft10high[b], buft10low[b]);
}
printf(" , , , ,%i, %i\n", bufpresE[1], bufpresF[1]);
printf("end of sensor data\n");
}
}
// main() is expected to loop forever.
// If main() actually returns the processor will halt
return 0;
}
I modified Aaron Berk’s cookbook code a bit cos I couldn’t get it to compile on Mbed CE. I’m simply using the interrupts to mark event time and I’m decoding everything in post-processing. The only times I read pin states are at the start of measurements and at the end of measurements to do a rough check on what the interrupts have measured.
Turns out, BecK’s code ignores missed events. He also ignores multiple data samples of the same encoder state. Both cases are labelled as “Invalid” in his code. Apparently, it’s standard practice to ignore such conditions as seen in reply #12 here. A valid assumption, seeing that a missed event only introduces an error of 0.22 mm in my case cos I have a pulley in the mix. Other setups will have far less errors when the encoder spindle is used directly. Some folks advocate keeping a record of “invalid” events as seen in reply #17 also here, possibly to check the quality of measurements.
Posted a sample of the results obtained below.
1 1 1
2 0 169670985 0 0 169670985 0 1
3 0 0 0 169763471 169763471 0 0
4 169815062 0 0 0 169815062 1 0
5 0 0 169851188 0 169851188 1 1
6 0 169879829 0 0 169879829 0 1
7 0 0 0 169913581 169913581 0 0
8 169950630 0 0 0 169950630 1 0
9 0 0 169990077 0 169990077 1 1
10 0 170025060 0 0 170025060 0 1
11 0 0 0 170059140 170059140 0 0
12 170089934 0 0 0 170089934 1 0
13 0 0 170118081 0 170118081 1 1
14 0 170144392 0 0 170144392 0 1
15 0 0 0 170169973 170169973 0 0
16 170195022 0 0 0 170195022 1 0
17 0 0 170218576 0 170218576 1 1
18 0 170240568 0 0 170240568 0 1
19 0 0 0 170262280 170262280 0 0
20 170283618 0 0 0 170283618 1 0
21 0 0 170308540 0 170308540 1 1
22 0 170335769 0 0 170335769 0 1
23 0 0 0 170362393 170362393 0 0
24 170389446 0 0 0 170389446 1 0
25 0 0 170415784 0 170415784 1 1
26 0 170438617 0 0 170438617 0 1
27 0 0 0 170457421 170457421 0 0
28 170476326 0 0 0 170476326 1 0
29 0 0 170496628 0 170496628 1 1
30 0 170516437 0 0 170516437 0 1
31 0 0 0 170535961 170535961 0 0
32 170554938 0 0 0 170554938 1 0
33 0 0 170575053 0 170575053 1 1
34 0 170597768 0 0 170597768 0 1
35 0 0 0 170624433 170624433 0 0
36 170651838 0 0 0 170651838 1 0
37 0 0 170683572 0 170683572 1 1
38 0 170716897 0 0 170716897 0 1
39 0 0 0 170748889 170748889 0 0
40 170778078 0 0 0 170778078 1 0
41 0 0 170805228 0 170805228 1 1
42 0 170828253 0 0 170828253 0 1
43 0 0 0 170850277 170850277 0 0
44 170870906 0 0 0 170870906 1 0
45 0 0 170893301 0 170893301 1 1
46 0 170914488 0 0 170914488 0 1
47 0 0 0 170937713 170937713 0 0
48 170961322 0 0 0 170961322 1 0
49 0 0 170985096 0 170985096 1 1
50 0 171008816 0 0 171008816 0 1
51 0 0 0 171032964 171032964 0 0
52 171055974 0 0 0 171055974 1 0
53 0 0 171078596 0 171078596 1 1
54 0 171099441 0 0 171099441 0 1
55 0 0 0 171120005 171120005 0 0
56 171139538 0 0 0 171139538 1 0
57 0 0 171158865 0 171158865 1 1
58 0 171177412 0 0 171177412 0 1
59 0 0 0 171196489 171196489 0 0
60 171215074 0 0 0 171215074 1 0
61 0 0 171233944 0 171233944 1 1
62 0 171252028 0 0 171252028 0 1
63 0 0 0 171270453 171270453 0 0
64 171288006 0 0 0 171288006 1 0
65 0 0 171306048 0 171306048 1 1
66 0 171323108 0 0 171323108 0 1
67 0 0 0 171341212 171341212 0 0
68 171358446 0 0 0 171358446 1 0
69 0 0 171375884 0 171375884 1 1
70 0 171392608 0 0 171392608 0 1
71 0 0 0 171409848 171409848 0 0
72 171426238 0 0 0 171426238 1 0
73 0 0 171442312 0 171442312 1 1
74 0 171457520 0 0 171457520 0 1
75 0 0 0 171473224 171473224 0 0
76 171487754 0 0 0 171487754 1 0
77 0 0 171502712 0 171502712 1 1
78 0 171516956 0 0 171516956 0 1
79 0 0 0 171532976 171532976 0 0
80 171545422 0 0 0 171545422 1 0
81 0 0 171559544 0 171559544 1 1
82 0 171573332 0 0 171573332 0 1
83 0 0 0 171588425 171588425 0 0
84 171603294 0 0 0 171603294 1 0
85 0 0 171618440 0 171618440 1 1
86 0 171633624 0 0 171633624 0 1
87 0 0 0 171649617 171649617 0 0
88 171665694 0 0 0 171665694 1 0
89 0 0 171682684 0 171682684 1 1
90 0 171699588 0 0 171699588 0 1
91 0 0 0 171717877 171717877 0 0
92 171735306 0 0 0 171735306 1 0
93 0 0 171753160 0 171753160 1 1
94 0 171770544 0 0 171770544 0 1
95 0 0 0 171790050 171790050 0 0
96 171806257 0 0 0 171806257 1 0
97 0 0 171823844 0 171823844 1 1
98 0 171840884 0 0 171840884 0 1
99 0 0 0 171858340 171858340 0 0
100 171875066 0 0 0 171875066 1 0
101 0 0 171892628 0 171892628 1 1
102 0 171909340 0 0 171909340 0 1
103 0 0 0 171926820 171926820 0 0
104 171943274 0 0 0 171943274 1 0
105 0 0 171960460 0 171960460 1 1
106 0 171977264 0 0 171977264 0 1
107 0 0 0 171994856 171994856 0 0
108 172012422 0 0 0 172012422 1 0
109 0 0 172030376 0 172030376 1 1
110 0 172048157 0 0 172048157 0 1
111 0 0 0 172066589 172066589 0 0
112 172085030 0 0 0 172085030 1 0
113 0 0 172103780 0 172103780 1 1
114 0 172121681 0 0 172121681 0 1
115 0 0 0 172140185 172140185 0 0
116 172157778 0 0 0 172157778 1 0
117 0 0 172177024 0 172177024 1 1
118 0 172192244 0 0 172192244 0 1
119 0 0 0 172209885 172209885 0 0
120 172226310 0 0 0 172226310 1 0
121 0 0 172242797 0 172242797 1 1
122 0 172258940 0 0 172258940 0 1
123 0 0 0 172275509 172275509 0 0
124 172291698 0 0 0 172291698 1 0
125 0 0 172308169 0 172308169 1 1
126 0 172324148 0 0 172324148 0 1
127 0 0 0 172340929 172340929 0 0
128 172356778 0 0 0 172356778 1 0
129 0 0 172373485 0 172373485 1 1
130 0 172389648 0 0 172389648 0 1
131 0 0 0 172406277 172406277 0 0
132 172422310 0 0 0 172422310 1 0
133 0 0 172438693 0 172438693 1 1
134 0 172454624 0 0 172454624 0 1
135 0 0 0 172471149 172471149 0 0
136 172486930 0 0 0 172486930 1 0
137 0 0 172503305 0 172503305 1 1
138 0 172518708 0 0 172518708 0 1
139 0 0 0 172534497 172534497 0 0
140 172549650 0 0 0 172549650 1 0
141 0 0 172565057 0 172565057 1 1
142 0 172579684 0 0 172579684 0 1
143 0 0 0 172594617 172594617 0 0
144 172609030 0 0 0 172609030 1 0
145 0 0 172623968 0 172623968 1 1
146 0 172638401 0 0 172638401 0 1
147 0 0 0 172653253 172653253 0 0
148 172667802 0 0 0 172667802 1 0
149 0 0 172682860 0 172682860 1 1
150 0 172697669 0 0 172697669 0 1
151 0 0 0 172713057 172713057 0 0
152 172728178 0 0 0 172728178 1 0
153 0 0 172744164 0 172744164 1 1
154 0 172759917 0 0 172759917 0 1
155 0 0 0 172776101 172776101 0 0
156 172792158 0 0 0 172792158 1 0
157 0 0 172808804 0 172808804 1 1
158 0 172824989 0 0 172824989 0 1
159 0 0 0 172841745 172841745 0 0
160 172858066 0 0 0 172858066 1 0
161 0 0 172874880 0 172874880 1 1
162 0 172891217 0 0 172891217 0 1
163 0 0 0 172907925 172907925 0 0
164 172924286 0 0 0 172924286 1 0
165 0 0 172941180 0 172941180 1 1
166 0 172957549 0 0 172957549 0 1
167 0 0 0 172974337 172974337 0 0
168 172990774 0 0 0 172990774 1 0
169 0 0 173007800 0 173007800 1 1
170 0 173024225 0 0 173024225 0 1
171 0 0 0 173041185 173041185 0 0
172 173058014 0 0 0 173058014 1 0
173 0 0 173075488 0 173075488 1 1
174 0 173092633 0 0 173092633 0 1
175 0 0 0 173110633 173110633 0 0
176 173128586 0 0 0 173128586 1 0
177 0 0 173147101 0 173147101 1 1
178 0 173165092 0 0 173165092 0 1
179 0 0 0 173184089 173184089 0 0
180 173202358 0 0 0 173202358 1 0
181 0 0 173220773 0 173220773 1 1
182 0 173238288 0 0 173238288 0 1
183 0 0 0 173256433 173256433 0 0
184 173273814 0 0 0 173273814 1 0
185 0 0 173291448 0 173291448 1 1
186 0 173308444 0 0 173308444 0 1
187 0 0 0 173325785 173325785 0 0
188 173342690 0 0 0 173342690 1 0
189 0 0 173359928 0 173359928 1 1
190 0 173376900 0 0 173376900 0 1
191 0 0 0 173394473 173394473 0 0
192 173411894 0 0 0 173411894 1 0
193 0 0 173430044 0 173430044 1 1
194 0 173447836 0 0 173447836 0 1
195 0 0 0 173466600 173466600 0 0
196 173485082 0 0 0 173485082 1 0
197 0 0 173504436 0 173504436 1 1
198 0 173523352 0 0 173523352 0 1
199 0 0 0 173543428 173543428 0 0
200 173562878 0 0 0 173562878 1 0
201 0 0 173582840 0 173582840 1 1
202 0 173602329 0 0 173602329 0 1
203 0 0 0 173622445 173622445 0 0
204 173641694 0 0 0 173641694 1 0
205 0 0 173661457 0 173661457 1 1
206 0 173680692 0 0 173680692 0 1
207 0 0 0 173700525 173700525 0 0
208 173721594 0 0 0 173721594 1 0
209 0 0 173740712 0 173740712 1 1
210 0 173761064 0 0 173761064 0 1
211 0 0 0 173782525 173782525 0 0
212 173804186 0 0 0 173804186 1 0
213 0 0 173826472 0 173826472 1 1
214 0 173848756 0 0 173848756 0 1
215 0 0 0 173871940 173871940 0 0
216 173893938 0 0 0 173893938 1 0
217 0 0 173916397 0 173916397 1 1
218 0 173937900 0 0 173937900 0 1
219 0 0 0 173959797 173959797 0 0
220 173981270 0 0 0 173981270 1 0
221 0 0 174002760 0 174002760 1 1
222 0 174023400 0 0 174023400 0 1
223 0 0 0 174045024 174045024 0 0
224 174066070 0 0 0 174066070 1 0
225 0 0 174087852 0 174087852 1 1
226 0 174109653 0 0 174109653 0 1
227 0 0 0 174132561 174132561 0 0
228 174155898 0 0 0 174155898 1 0
229 0 0 174181025 0 174181025 1 1
230 0 174205848 0 0 174205848 0 1
231 0 0 0 174232293 174232293 0 0
232 174258562 0 0 0 174258562 1 0
233 0 0 174285724 0 174285724 1 1
234 0 174312417 0 0 174312417 0 1
235 0 0 0 174339465 174339465 0 0
236 174366438 0 0 0 174366438 1 0
237 0 0 174394124 0 174394124 1 1
238 0 174421644 0 0 174421644 0 1
239 0 0 0 174450864 174450864 0 0
240 174480982 0 0 0 174480982 1 0
241 0 0 174512845 0 174512845 1 1
242 0 174546208 0 0 174546208 0 1
243 0 0 0 174583160 174583160 0 0
244 174619010 0 0 0 174619010 1 0
245 0 0 174657653 0 174657653 1 1
246 0 174694889 0 0 174694889 0 1
247 0 0 0 174734457 174734457 0 0
248 174774134 0 0 0 174774134 1 0
249 0 0 174817737 0 174817737 1 1
250 0 174865480 0 0 174865480 0 1
251 0 0 0 174924464 174924464 0 0
252 174990834 0 0 0 174990834 1 0
253 0 0 175075377 0 175075377 1 1
254 0 175183397 0 0 175183397 0 1
255 175433243 0 0 0 175433243 1 1
256 0 0 0 175896186 175896186 1 0
257 0 0 175955492 0 175955492 1 1
258 0 0 0 176010867 176010867 1 0
259 0 176122451 0 0 176122451 0 0
260 176380087 0 0 0 176380087 1 0
261 0 0 176509777 0 176509777 1 1
262 0 176569501 0 0 176569501 0 1
263 0 0 0 176615753 176615753 0 0
264 176657994 0 0 0 176657994 1 0
265 0 0 176686493 0 176686493 1 1
266 0 176727760 0 0 176727760 0 1
267 0 0 0 176782488 176782488 0 0
268 176831366 0 0 0 176831366 1 0
269 0 0 176882201 0 176882201 1 1
270 0 176935440 0 0 176935440 0 1
271 0 0 0 176976540 176976540 0 0
272 177012358 0 0 0 177012358 1 0
273 0 0 177057104 0 177057104 1 1
274 0 177097849 0 0 177097849 0 1
275 0 0 0 177149856 177149856 0 0
276 177222282 0 0 0 177222282 1 0
277 0 0 177293433 0 177293433 1 1
278 0 177353729 0 0 177353729 0 1
279 0 0 0 177416504 177416504 0 0
280 177468850 0 0 0 177468850 1 0
281 0 0 177555481 0 177555481 1 1
282 0 177678737 0 0 177678737 0 1
283 0 0 0 177765848 177765848 0 0
284 177841546 0 0 0 177841546 1 0
285 0 0 177841826 0 177841826 1 1
286 0 0 0 177842229 177842229 1 0
287 0 0 177938597 0 177938597 1 1
288 0 178058093 0 0 178058093 0 1
289 0 0 0 178162380 178162380 0 0
290 0 0 178688742 0 178688742 0 1
291 178831300 0 0 0 178831300 1 1
292 0 0 0 178992566 178992566 1 0
293 0 0 179002309 0 179002309 1 1
294 0 0 0 179002711 179002711 1 0
295 0 0 179003117 0 179003117 1 1
296 0 0 0 179003518 179003518 1 0
297 0 0 179004231 0 179004231 1 1
298 0 0 0 179004632 179004632 1 0
299 0 0 179017496 0 179017496 1 1
300 0 0 0 179018201 179018201 1 0
301 0 179024951 0 0 179024951 0 0
302 179025358 0 0 0 179025358 1 0
303 0 0 179026668 0 179026668 1 1
304 0 0 0 179027876 179027876 1 0
305 0 0 179028282 0 179028282 1 1
306 0 0 0 179030368 179030368 1 0
307 0 0 179031083 0 179031083 1 1
308 0 0 0 179038908 179038908 1 0
309 0 0 179046756 0 179046756 1 1
310 0 0 0 179057884 179057884 1 0
311 0 0 179059104 0 179059104 1 1
312 0 0 0 179059809 179059809 1 0
313 0 0 179061396 0 179061396 1 1
314 0 0 0 179067622 179067622 1 0
315 0 0 179071660 0 179071660 1 1
316 0 0 0 179074668 179074668 1 0
317 0 0 179077984 0 179077984 1 1
318 0 0 0 179078385 179078385 1 0
319 0 0 179079099 0 179079099 1 1
320 0 0 0 179084769 179084769 1 0
321 0 0 179088188 0 179088188 1 1
322 0 0 0 179089677 179089677 1 0
323 0 179091258 0 0 179091258 0 0
324 0 0 179186147 0 179186147 0 1
325 179303760 0 0 0 179303760 1 1
326 0 0 0 179397138 179397138 1 0
327 0 179472279 0 0 179472279 0 0
328 0 0 179552871 0 179552871 0 1
329 179639048 0 0 0 179639048 1 1
330 0 0 0 179718878 179718878 1 0
331 0 0 179736060 0 179736060 1 1
332 0 0 0 179737597 179737597 1 0
333 0 0 179740948 0 179740948 1 1
334 0 0 0 179741349 179741349 1 0
335 0 0 179742063 0 179742063 1 1
336 0 0 0 179743480 179743480 1 0
337 0 0 179749196 0 179749196 1 1
338 0 0 0 179750501 179750501 1 0
339 0 179783325 0 0 179783325 0 0
340 0 0 179843675 0 179843675 0 1
341 179903680 0 0 0 179903680 1 1
342 0 0 0 179968786 179968786 1 0
343 0 180034067 0 0 180034067 0 0
344 0 0 180094479 0 180094479 0 1
345 180148664 0 0 0 180148664 1 1
346 0 0 0 180199286 180199286 1 0
347 0 180248147 0 0 180248147 0 0
348 0 0 180299775 0 180299775 0 1
349 180352856 0 0 0 180352856 1 1
350 0 0 0 180406352 180406352 1 0
351 0 180457107 0 0 180457107 0 0
352 0 0 180504935 0 180504935 0 1
353 180549328 0 0 0 180549328 1 1
354 0 0 0 180593620 180593620 1 0
355 0 180637461 0 0 180637461 0 0
356 0 0 180683907 0 180683907 0 1
357 180730560 0 0 0 180730560 1 1
358 0 0 0 180779122 180779122 1 0
359 0 180825291 0 0 180825291 0 0
360 0 0 180870983 0 180870983 0 1
361 180914012 0 0 0 180914012 1 1
362 0 0 0 180958462 180958462 1 0
363 0 181002000 0 0 181002000 0 0
364 0 0 181048481 0 181048481 0 1
365 181096956 0 0 0 181096956 1 1
366 0 0 0 181147822 181147822 1 0
367 0 181196237 0 0 181196237 0 0
368 0 0 181244341 0 181244341 0 1
369 181289796 0 0 0 181289796 1 1
370 0 0 0 181336446 181336446 1 0
371 0 181385871 0 0 181385871 0 0
372 0 0 181440925 0 181440925 0 1
373 181503296 0 0 0 181503296 1 1
374 0 0 0 181578278 181578278 1 0
375 0 0 181578686 0 181578686 1 1
376 0 0 0 181580504 181580504 1 0
377 0 0 181580910 0 181580910 1 1
378 0 0 0 181581311 181581311 1 0
379 0 0 181585992 0 181585992 1 1
380 0 0 0 181586393 181586393 1 0
381 0 0 181587107 0 181587107 1 1
382 0 0 0 181590588 181590588 1 0
383 0 0 181590994 0 181590994 1 1
384 0 0 0 181591395 181591395 1 0
385 0 0 181595000 0 181595000 1 1
386 0 0 0 181595401 181595401 1 0
387 0 0 181600776 0 181600776 1 1
388 0 0 0 181601984 181601984 1 0
389 0 0 181602390 0 181602390 1 1
390 0 0 0 181602791 181602791 1 0
391 0 181642584 0 0 181642584 0 0
392 0 0 181703539 0 181703539 0 1
393 181761060 0 0 0 181761060 1 1
394 0 0 0 181830630 181830630 1 0
395 0 181902419 0 0 181902419 0 0
396 0 0 181979759 0 181979759 0 1
397 182053380 0 0 0 182053380 1 1
398 0 0 0 182130466 182130466 1 0
399 0 182285103 0 0 182285103 0 0
400 0 0 182402979 0 182402979 0 1
401 182477088 0 0 0 182477088 1 1
402 0 0 0 182548170 182548170 1 0
403 0 182616951 0 0 182616951 0 0
404 0 0 182687079 0 182687079 0 1
405 182753000 0 0 0 182753000 1 1
406 0 0 0 182813886 182813886 1 0
407 0 182890135 0 0 182890135 0 0
408 0 0 182982611 0 182982611 0 1
409 183045964 0 0 0 183045964 1 1
410 0 0 0 183090034 183090034 1 0
411 0 183129539 0 0 183129539 0 0
412 0 0 183169101 0 183169101 0 1
413 183205156 0 0 0 183205156 1 1
414 0 0 0 183240188 183240188 1 0
415 0 183279655 0 0 183279655 0 0
416 0 0 183319307 0 183319307 0 1
417 183359844 0 0 0 183359844 1 1
418 0 0 0 183398126 183398126 1 0
419 0 183433606 0 0 183433606 0 0
420 0 0 183470715 0 183470715 0 1
421 183505340 0 0 0 183505340 1 1
422 0 0 0 183544424 183544424 1 0
423 0 183586411 0 0 183586411 0 0
424 0 0 183692687 0 183692687 0 1
425 183713280 0 0 0 183713280 1 1
426 0 0 0 183742984 183742984 1 0
427 0 183769911 0 0 183769911 0 0
428 0 0 183797453 0 183797453 0 1
429 183822004 0 0 0 183822004 1 1
430 0 0 0 183846178 183846178 1 0
431 0 183878954 0 0 183878954 0 0
432 0 0 183928359 0 183928359 0 1
433 183990936 0 0 0 183990936 1 1
434 0 0 0 184045282 184045282 1 0
435 0 184106727 0 0 184106727 0 0
436 0 0 184125961 0 184125961 0 1
437 184149160 0 0 0 184149160 1 1
438 0 0 0 184286502 184286502 1 0
439 0 0 184376408 0 184376408 1 1
440 0 184684273 0 0 184684273 0 1
441 0 0 0 184791536 184791536 0 0
442 0 0 184917758 0 184917758 0 1
443 0 0 0 185095625 185095625 0 0
444 185195170 0 0 0 185195170 1 0
445 0 185308188 0 0 185308188 0 0
446 185487171 0 0 0 185487171 1 0
447 0 185531012 0 0 185531012 0 0
448 0 0 185636959 0 185636959 0 1
449 185682736 0 0 0 185682736 1 1
450 0 0 0 185740990 185740990 1 0
451 0 185800711 0 0 185800711 0 0
452 0 0 185849155 0 185849155 0 1
453 185916828 0 0 0 185916828 1 1
454 0 0 0 185969866 185969866 1 0
455 0 186013130 0 0 186013130 0 0
456 0 0 186049435 0 186049435 0 1
457 186094932 0 0 0 186094932 1 1
458 0 0 0 186174106 186174106 1 0
459 0 186226887 0 0 186226887 0 0
460 0 0 186276731 0 186276731 0 1
461 186322272 0 0 0 186322272 1 1
462 0 0 0 186363122 186363122 1 0
463 0 186394698 0 0 186394698 0 0
464 0 0 186426407 0 186426407 0 1
465 186457948 0 0 0 186457948 1 1
466 0 0 0 186495254 186495254 1 0
467 0 186534023 0 0 186534023 0 0
468 0 0 186591817 0 186591817 0 1
469 186634912 0 0 0 186634912 1 1
470 0 0 0 186677490 186677490 1 0
471 0 186712270 0 0 186712270 0 0
472 0 0 186749975 0 186749975 0 1
473 186794700 0 0 0 186794700 1 1
474 0 0 0 186841692 186841692 1 0
475 0 186894101 0 0 186894101 0 0
476 0 0 186958367 0 186958367 0 1
477 187019256 0 0 0 187019256 1 1
478 0 0 0 187066358 187066358 1 0
479 0 187110351 0 0 187110351 0 0
480 0 0 187155689 0 187155689 0 1
481 187212424 0 0 0 187212424 1 1
482 0 0 0 187310826 187310826 1 0
483 0 187374635 0 0 187374635 0 0
484 0 0 187437411 0 187437411 0 1
485 187501808 0 0 0 187501808 1 1
486 0 0 0 187618866 187618866 1 0
487 0 187727987 0 0 187727987 0 0
488 0 0 187784091 0 187784091 0 1
489 187974204 0 0 0 187974204 1 1
490 0 0 0 188152694 188152694 1 0
491 0 188384335 0 0 188384335 0 0
492 0 0 188598587 0 188598587 0 1
493 0 0 0 189573425 189573425 0 0
494 189855286 0 0 0 189855286 1 0
495 0 0 190012501 0 190012501 1 1
496 0 190128121 0 0 190128121 0 1
497 0 0 0 190250108 190250108 0 0
498 190375166 0 0 0 190375166 1 0
499 0 0 190464169 0 190464169 1 1
500 0 190536425 0 0 190536425 0 1
501 0 0 0 190618048 190618048 0 0
502 190700698 0 0 0 190700698 1 0
503 0 0 190779932 0 190779932 1 1
504 0 190855653 0 0 190855653 0 1
505 0 0 0 190944756 190944756 0 0
506 191042666 0 0 0 191042666 1 0
507 0 0 191123821 0 191123821 1 1
508 0 191193801 0 0 191193801 0 1
509 0 0 0 191269680 191269680 0 0
510 191350606 0 0 0 191350606 1 0
511 0 0 191432261 0 191432261 1 1
512 0 191507165 0 0 191507165 0 1
513 0 0 0 191583492 191583492 0 0
514 191658702 0 0 0 191658702 1 0
515 0 0 191734301 0 191734301 1 1
516 0 191799033 0 0 191799033 0 1
517 0 0 0 191863752 191863752 0 0
518 191924974 0 0 0 191924974 1 0
519 0 0 191997149 0 191997149 1 1
520 0 192075529 0 0 192075529 0 1
521 0 0 0 192157688 192157688 0 0
522 192236630 0 0 0 192236630 1 0
523 0 0 192316145 0 192316145 1 1
524 0 192392969 0 0 192392969 0 1
525 0 0 0 192468168 192468168 0 0
526 192540010 0 0 0 192540010 1 0
527 0 0 192613113 0 192613113 1 1
528 0 192689265 0 0 192689265 0 1
529 0 0 0 192771832 192771832 0 0
530 192850694 0 0 0 192850694 1 0
531 0 0 192927389 0 192927389 1 1
532 0 192999221 0 0 192999221 0 1
533 0 0 0 193071448 193071448 0 0
534 193141710 0 0 0 193141710 1 0
535 0 0 193214097 0 193214097 1 1
536 0 193285605 0 0 193285605 0 1
537 0 0 0 193368392 193368392 0 0
538 193453470 0 0 0 193453470 1 0
539 0 0 193548275 0 193548275 1 1
540 0 193640397 0 0 193640397 0 1
541 0 0 0 193733464 193733464 0 0
542 193826202 0 0 0 193826202 1 0
543 0 0 193935633 0 193935633 1 1
544 0 194054837 0 0 194054837 0 1
545 0 0 0 194183300 194183300 0 0
546 194327798 0 0 0 194327798 1 0
547 0 0 194463757 0 194463757 1 1
548 0 194656481 0 0 194656481 0 1
549 195570991 0 0 0 195570991 1 1
550 0 0 0 195829162 195829162 1 0
551 0 196007631 0 0 196007631 0 0
552 0 0 196158887 0 196158887 0 1
553 196348588 0 0 0 196348588 1 1
554 0 197045364 0 0 197045364 0 1
555 0 0 0 197185104 197185104 0 0
556 197317218 0 0 0 197317218 1 0
557 0 0 197407065 0 197407065 1 1
558 0 197485329 0 0 197485329 0 1
559 0 0 0 197561684 197561684 0 0
560 197631294 0 0 0 197631294 1 0
561 0 0 197696393 0 197696393 1 1
562 0 197759325 0 0 197759325 0 1
563 0 0 0 197827236 197827236 0 0
564 197905058 0 0 0 197905058 1 0
565 0 0 197995197 0 197995197 1 1
566 0 198076789 0 0 198076789 0 1
567 0 0 0 198156132 198156132 0 0
568 198235742 0 0 0 198235742 1 0
569 0 0 198323693 0 198323693 1 1
570 0 198422053 0 0 198422053 0 1
571 0 0 0 198548532 198548532 0 0
572 198723046 0 0 0 198723046 1 0
573 0 0 198909677 0 198909677 1 1
574 0 0 0 199762667 199762667 1 0
575 0 199983455 0 0 199983455 0 0
576 0 0 200183799 0 200183799 0 1
577 200382096 0 0 0 200382096 1 1
578 0 0 0 200543046 200543046 1 0
579 0 200712239 0 0 200712239 0 0
580 0 0 200891295 0 200891295 0 1
581 201093412 0 0 0 201093412 1 1
582 0 0 0 201264330 201264330 1 0
583 0 201545391 0 0 201545391 0 0
584 0 0 201881135 0 201881135 0 1
585 202303645 0 0 0 202303645 1 1
586 0 0 0 202582814 202582814 1 0
587 0 202866215 0 0 202866215 0 0
588 0 0 203068723 0 203068723 0 1
589 203228996 0 0 0 203228996 1 1
590 0 0 0 203386234 203386234 1 0
591 0 203538195 0 0 203538195 0 0
592 0 0 203686647 0 203686647 0 1
593 203820000 0 0 0 203820000 1 1
594 0 0 0 203968398 203968398 1 0
595 0 204137735 0 0 204137735 0 0
596 0 0 204321179 0 204321179 0 1
597 204501040 0 0 0 204501040 1 1
598 0 0 0 204798122 204798122 1 0
599 0 205111015 0 0 205111015 0 0
600 0 0 205503347 0 205503347 0 1
601 205835524 0 0 0 205835524 1 1
602 0 0 0 206403702 206403702 1 0
603 0 0 207426192 0 207426192 1 1
604 0 208308273 0 0 208308273 0 1
605 0 0 0 211578952 211578952 0 0
606 212129998 0 0 0 212129998 1 0
607 0 0 212638973 0 212638973 1 1
608 0 213684281 0 0 213684281 0 1
609 0 0 0 263647020 263647020 0 0
610 0 0 272197462 0 272197462 0 1
611 0 0 0 281109733 281109733 0 0
612 360075098 0 0 0 360075098 1 0
1 0
I added the results of post-processing in the last three columns. The results follow correctly from the first interrupt to the last read event. No missed events and no multiple sampling of the same state occurred in all three trials. Seems bunching timing operations and pin state reads into each iteration of the for-loop in the first code I posted did a number on the processor (possibly what Jamie suggested). The present form of interrupt code eases the processor enough for it to catch every pin state change (and then some…). Thanks, JojoS and Jan for pointing me in the interrupt direction. Will run more tests to verify code stability.
All the trials had this problem(?) [eg. lines 291 - 322, 329 - 336, 375 - 388, etc] that looks like interrupt-storms which seem to happen at turning points or inflection points. Nowhere near the fastest parts of the measurement event. Appears related to JojoS’ last reply except I’m using an optical encoder. It says again here though (reply #6) that that’s possible and I do have a couple other vibration hotspots in my rig.
Would appreciate it if anyone can give some clarity on the “problem” ( probably isn’t a problem anyways) and the best course of action on it (ignore or include in measurememt data?).