I just spent half an hour poking around my log of your pattern and the code and I'm confused.
The error I get out is 75, MatchedPairNarrowWidePlusMask meaning 3 evenly spaced events followed by the gap and an event, when we were expecting four evenly spaced events. The mask thing differentiates it from other possibilities of the same code. The trouble is that the sync lost on event number is 4... you don't have an event number 4, only 0,1,2,3. The code that does the incrementing reads like this:
Code: Select all
lastEvent = KeyUserDebugs.currentEvent;
KeyUserDebugs.currentEvent++;
if(KeyUserDebugs.currentEvent == numberOfRealEvents){
KeyUserDebugs.currentEvent = 0;
}
So you'd expect that the only way for it to end up 4 would be to have numberOfRealEvents wrong, however I checked the ppc file and there it is = (6 - 2), so I'll be stuffed if I know what's going on. I'll keep working on this today until I understand the issue and can bench test it effectively.
DOH!!! I found the issue... <blushes> I was running the wrong firmware...
Code: Select all
################################################################################
###################### Initiating Interrogation Sequence!! #####################
################################################################################
Interface Version: IFreeEMS Vanilla 0.0.0
Firmware Version: 0.2.0-SNAPSHOT-83-g836c162
Decoder Name: MissingTeeth-Crank-60minus2
Build Date: Sat Jan 28 19:33:12 CET 2012
Compiler Version: 3.3.6-m68hc1x-20060122
Build OS Type: Linux
Maximum Size: 2064
Echo length: 10