Arduino-based Input/output software
for DIY home cockpit simulator
Q: I have uploaded ArdSimX_Base code to Arduino, but there is no connection in ArdSimX plugin Status window.
A: Check the Troubleshooting page for a guide on possible connection problems.
Q: My input at pin #13 is not working.
A: Arduino has a built-in LED wired to pin #13. When using this particular pin as input, you should use an external pull-down resistor (it's the only case when you need to use +5v for a button).
Q: My encoder only changes the value in one direction, no matter which direction I rotate it.
A: If you're using an encoder on a small breakout board, the resistors on the board may be causing this problem. Either remove them from the board, or remove the whole encoder and connect it without the board. Or buy encoders without breakout boards.
Q: In the Configurator I've set a LED to light up at dataref value 0.8, but it is not working.
A: The value you specified may not be exact match for the dataref's actual value. Specify a value range instead, such as 0.7 - 1.
Q: I've configured an input with a custom dataref for a downloaded/payware aircraft, but it's not working. Works fine with standard datarefs.
A: Some datarefs are not writable. In addition, some custom datarefs may be marked as writable, but programmed with a blank "write" function, and external plugins (such as ArdSimX) can't write their value. If possible, use custom commands instead of custom datarefs.
Q: I have added some custom code to my ArdSimX Arduino sketch, and now X-Plane crashes.
A: Make sure there are no delays in your code, as they interfere with normal ArdSimX work. Only write code for programmed outputs inside the ProgOut() function. When writing code for programmed input, make sure you don't call the SimInput() function in every cycle - only call it when an input actually changes.
Q: I have a programmed LCD which needs to show different values depending on the currently selected mode. But when I switch the mode, the values are not updated.
A: Keep in mind you don't have to stick to conditions when writing code inside the ProgOut() function. ProgOut() gets called every time any of the programmed outputs changes. You could use it in many ways, for example: use the ID conditions to save incoming parameter values to global variables, and write your LCD update code outside of these conditions while using these global variables. This way, the LCD will update the values both when the values themselves change and when the mode changes. That's just one of the examples how you can use ProgOut() the way you need.