I’ve started routing software project when decided to use Arduino’s as IO. The main goal is to make software/firmware bunch as flexible as it’s possible.
When I’ve finished MCP it became easier to brush up software as I got huge testing facility.
It has four standart types for variables: IN (hardware input), OUT (hardware output), ANALOG (analog input) and PWM (analog output). It also has (at the moment) four predefined configurations for hardware modules: ENCODERS, SHIFTOUT, MAX7219 and MCP23S17 (all of them are used in my MCP and will be used in further cockpit hardware).
New hardware module configurations may be added as simple XML files. But also they must be supported by Arduino firmware.
For hardware link is now supported serial communication only. Later I plan to add TCP/IP support.
For software IOCP (fully) and FSUIPC (partly) are supported.
The above scenario takes value from 10K pot and converts it to PWM value which range is 0..255 and 7-segment display dimming value which range is 0..15.
The software is now in deep alpha stage. However do not hesitate to contact me if you’d like to test it for you application.