View Single Post
  #3   Spotlight this post!  
Unread 03-02-2009, 23:37
nathanww nathanww is offline
Hacker
FRC #1678 (Citrus Circuits)
Team Role: Programmer
 
Join Date: Dec 2008
Rookie Year: 2007
Location: Davis, CA
Posts: 224
nathanww is just really nicenathanww is just really nicenathanww is just really nicenathanww is just really nice
Re: Trouble Reading Drivers Station Digital Inputs

This does seem a LOT like the flaoting value problem some teams have experienced--you might want to do a continuity test and make sure the current is actuall getting through everything

You could also use a purely software approach to the problem, though it's a bit hack-ish. Since this is apparently a rare event, you could design a "buffering" system, where you keep track of not only the bit that you are feeding into your system but also a few before and after it. In other words, with the circuit closed, this would normally look like:

111 1 111

Where the value is the middle was the one you were feeding to anything that needed that value. Obviously with the circuit open, this should look like

000 0 000

But if you have an occasionally occurring 0, this could look like

111 0 111

In this case, it's fairly trivial for the algorithm to "bridge the gap" and change the 0 to a 1. Your millage will vary depending on how often you get a 0, so you'll probably need to figure out what kind of ratio of 1s to 0s you need for your system to work reliably without losing short periods where the circuit is actually open.
__________________
Get yer robot source code here!
Reply With Quote