Mantis Bug Tracker

View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000293FirmwareDecoderspublic2011-10-10 11:092011-10-10 14:17
Assigned ToFred 
PlatformOSOS Version
Product Version0.2.0-SNAPSHOT 
Target VersionFutureFixed in Version 
Summary0000293: For 2 Edge Decoders Check Consistency Of Observed Pin State
DescriptionIE, make sure that each alternate interrupt is an alternate interrupt. I realised last night that it is possible that a noise pulse could trigger the interrupt to occur and go away again before the ISR samples the pin state to determine rising/falling edge. Then I realised that if we keep a history of this, we can check to ensure that our edge is correct.

For single edge decoders a similar thing can be done in terms of ensuring that it is always the same and correct. If not, it's noise, lose sync with a specific error.

Preferably add these as part of the decoder interface common code base.
TagsNo tags attached.
Issue TypeImprovement
Risk of Breakagelow
Attached Files

- Relationships

-  Notes
User avatar (0000362)
Fred (administrator)
2011-10-10 14:17

Another way to do this would be to check for the interrupt flag telling us that we're about to run again and clear it, and lose sync, right there and then.

This way would also protect from excess RPM, and give something in the log saying "interrupt arrived before we were done = noise or too high RPM for current code efficiency and pattern in use" - I like this solution.

Copyright © 2000 - 2011 MantisBT Group
Powered by Mantis Bugtracker