Since reading the switch and sending the output are separate actions it would be possible if the output is only sent after the read values are stable for say 50 ms, like debouncing a very dirty button.
This project could be done with a pot instead of a rotary switch. It'd be easier to read and not need external resistors at all. Abstraction is a key tool and we can work over time yet inside of human perception to do it.
I don't see how unless you mean a quick turn the knob to another position and then back in time to not register the other value. Which to be reliably reliable woukd have to allow way more than 50 ms.
Otherwise, the switch is not changed, the analog voltage neither: what would be the indication that you "pressed" the same "button"?
See #13.
I've never been a fan of this analog method for saving pins or whatever, but it can work for a surprising number of positions if done with care.
I'm really not sure what you mean. The panel is connected to a computer which runs a simulation of the real aircraft including its systems already implemented. I am simply interfacing hardware with the simulation.
No it is not! IT is simulating the switches,etc, NOT the circuitry that the real switches are controlling. So, the real aircraft switch might be turning on the 12-28 volts to a heater near some aircraft hydraulic tank. Or might be lowering some wing flaps by turning on current to several motors connecting to the flaps which stop turning when they hit limit switches. But your panel just flips a switch and assumes the flaps are immediately deployed.
I still don't understand your point. I am simply trying to make a switch move a switch on the sim. That is fine, the issue is specifically moving a rotary switch and using only 3 wires.
How do you think simulators are made? I'm sorry I just don't understand the point of your comments.
I would loose the hard stop that way. The stops coincide with a selection on a panel. Really, I'm making my life a bit harder doing it this way, but it saves a ton of pins doing so
The simulator better not work like that, the die-hard users want realism.
On the other hand, the implementation of this in the DCS-BIOS library does not take a lot of care with the potential problems, as well as using millis() wrong: