The "else;"s do nothing - the fact that there's a semicolon after them signals that.
They are redundant, as is the "return;".
Unless of course, you need it resetting at the beginning of each loop.
But you overwrite it at the beginning of every loop!
Just because a bit of code compiles without errors doesn't mean it doesn't harbour potential nasties.
Most languages allow you to shoot yourself in the foot, but C hands you the gun.
If you cut out redundant code, you leave fewer dark corners for the bugs to hide.
Well, for the contestant buttons, I'm using some handsets scavenged from an interactive DVD quiz game. These have 5 buttons, each with a different value resistor in series with it. The original control box used the different voltage potentials to distinguish which button had been pressed on each handset.
The only button I could get the Arduino to pick up when I tested it was the one with the 1K resistor.
Probably the simplest way is to use the AVR's internal pull-ups, but this inverts the logic of an open switch (It will be HIGH when open, and LOW when closed), but this is simple to deal with in software.
Without pull-ups or pull-downs, the pins are floating and can appear random.
OK, I think that rather than try to shoehorn the old code into the Arduino, I'm going to have to rewrite this from scratch. stick with the code that works and use the K8055.
Thanks for all the help, but as the old adage goes, if it ain't broke, don't fix it.
I think that rather than try to shoehorn the old code into the Arduino
I don't know about the other guys here, but I'm glad I didn't invest too much time in your day.
I felt a bit annoyed that I'd spent my limited time on someone who gave up, when I might have helped someone who made some progress instead. But I know who I'll avoid helping in future, and ...
I'm now quite pleased that I have an example thread where a simple program was made so complex that it defeated the author who claimed they'd got it working on different hardware.
In future I can reference this thread, and say "Rather than start with that complex old thing, take confidence from it that you can do it again, but instead start with a simple program. You will make progress faster. You might learn something new. It may even turn out much better! Sadly, this person didn't do that, and ended up giving up!"
I'm now quite pleased that I have an example thread where a simple program was made so complex that it defeated the author who claimed they'd got it working on different hardware (even though they didn't seem to know the syntax of the C/C++ language).
OK, you know what? I couldn't care less if you don't believe I got it working on the old platform, I know that it works because it compiles and does what it was written to do. It's not my fault you don't have the board I originally wrote it for, or that for something that is much older than the Arduino technology-wise, the SDK for it appears to have far better and more user-friendly I/O handling capabilities.
So yeah, go ahead and mock the n00b and by all means, use me as an example of someone who apparently can't code. I'll stick with my working code, thank you very much.
I'm done here, if an admin could come along and delete my account and this thread please.
I may be judgmental, but IMHO reading code which can't possibly compile being presented as if it is okay, wastes our time. It only takes a couple of words to say "This doesn't compile".
IMHO it is unhelpful to post code which doesn't compile without warning the forum. I can't speak for anyone else, but I feel that it is ungracious. I feel that it is unappreciative of other peoples time and effort.
Worse, for me, folks who are less experienced may read such broken code, and believe it works. Then go on to try something similar and fail. They may be left feeling it is there fault that they can't get an example working. It may do harm to innocents.
OK, so I had a few problems translating the code over to the Arduino environment, but just because you can't test the original code doesn't mean it was shoddy enough to poke holes in it.
I'll tell you what, it was written and compiled using Bloodshed Dev-C++, so it was compiled using gcc, essentially the same compiler as the Arduino environment compiles with.
You know, it took me ages to hack out that original code and the sense of accomplishment I felt when I finally got it to do what I wanted it to do was destroyed in mere minutes on here. You had an excellent opportunity to help a newcomer to the Arduino platform embrace it, but instead you all decided that you'd rather just sit there poking holes in my code.
I think it's not my coding skills that need more polishing as much as your ability to render effective assistance.
EDIT: Anyway, as I said, I'm done with this place. Lock the thread, delete my account and I'll move on somewhere else.
You know what - I spotted the extraneous "else;"s and the redundant "return;" in the original post.
I spotted the redundant code and the naive coding style.
I kept quiet about it.
I didn't want to embarrass the poster.
I tried to find out what the OP wanted to do, and tried to probe his/her level of expertise.
I tried to hint and nudge in the right direction, rather than (here comes that word again) embarrass the poster with actually writing the code for him/her.