The onboard software is up the chute and a programmer has told it to multiply rather than add?
Not likely. The clue is in the post before yours. I wonder what the maximum event length recorded is. We humans will think the event is:
IF Engine speed >= limit
__Log(Engine speed,time at engine speed,...)
Then would a change in engine speed. Given this is likely to be an RTOS its probably a state change, so whilst in the state "overrev" increment the time:
IF (CurrentEngineSpeed>=Limit)
___InStateOverRev=true
Else
___InStateOverRev=false
IF (InStateOverRev)
__IF (NOT Exists(CurrentEvent))
_____CreateNewCurrentEvent;
__IF (CurrentEngineSpeed>CurrentEvent.EngineSpeed)
_____CurrentEvent.EngineSpeed=CurrentEngineSpeed
__CurrentEvent.TimeSlices++
EndIF
Where a time slice is the time it takes the RTOS to loop back around to this function. Or its based on a timer.
Now some have correctly pointed out that 2^8 is 256 and therefore an 8 bit register can store 0 to 255. However, that is ONE limit, what about the limit on the amount of time you can be at that limit? This again is going to have an overflow. When it reaches the limit of that overflow what happens? Does it stop recording? Doubtful. More likely it will create a successor event and start counting again. Lets pretend the limit is 10 seconds. At 10 seconds, it would create a second event.
So we change the event:
IF (CurrentEngineSpeed>=Limit)
___InStateOverRev=true
Else
___InStateOverRev=false
IF (InStateOverRev)
__IF (NOT Exists(CurrentEvent))
_____CreateNewCurrentEvent;
__ELSE
_____IF CurrentEvent.TimeSlices==10
_______CreateNewCurrentEvent;
__EndIF
__IF (CurrentEngineSpeed>CurrentEvent.EngineSpeed)
_____CurrentEvent.EngineSpeed=CurrentEngineSpeed
__CurrentEvent.TimeSlices++
EndIF
Well, maybe, this is speculation. But what if it isn't the max speed reached? What if each change in engine speed over the limit generates a new event? In that case as you over-rev changing speed you are going to generate an entire series of events.
We don't know how the software will react. To me, that is the first question.
The second scenario is, if we assume that 255 over-rev events cannot be generated by time or varying engine speed when at or over the limit threshold there are other factors to consider.
1. Does the individual drive like a pillock?
2. Is the information coming into the ECU correct?
What I mean by (2) is the aforementioned faulty rev counter. Or other sensory information that is just downright incorrect. What other conditions could generate an "overrev" signal/event?
This is the old calibration question. Is it like a series of Gatsos as you go down the road picking up multiple speeding fines with one (in your head) single speeding offence? Have the Gatsos been properly calibrated? Would it be possible for the input data to be scewed by some other fault, and in which case normal driving would trigger an event.