

Preparation:
Hardware: Arduino Duemilanove/Uno, CLCD-BOOSTER
Software: MS Flight Simulator 2004, FSUIPC 3.99, MS Visual C++ 2010 Express Edition
Function:
1. Arduino's display will show NAV1 active frequency(left) and standby frequency(right).
2. The function of three buttons is turn up(D8), turn down(D6) standby frequency, and exchange between active and standby frequency(D7). When button is pressed, FS screen and Arduino's display will be updated.
Program structure:
FSUIPC is a plug-in of Microsoft Flight Simulator, can read or modify FS's internal data through it. And almost most of the FS plug-in and hardware needs it. FSUIPC dll and SDK can be got at here. There is a sample program in SDK, you may learn how to communicate with FSUIPC by reading it. And there is a program called "FS-Interrogate 2" also, which recorded all the address can be used, you can use it to speed up program development.
The responsibility of computer side program is reading FS data through FSUIPC, and then send it to Arduino through serial port. And Arduino firmware will read data from serial port, and then show it on display. Arduino firmware also send button information to computer, to let computer side program to update status in FS.
Because of time limit, the program is "can work" only, exception handling and optimization is not finished. For improvement, FSUIPC side and serial side can be handle by thread, and using Mutex to prevent Deadlock, and finally need to do error checking in serial port. I don't know how long I can finish it.
Afterword:
The purpose to write this program is to test my idea. I think I can finish around two days, but as a result I used four days. I am not familiar with Windows API programming, so I need some time to search reference. And I think it is more easy to write Arduino firmware.
Source code:
Press here to download.
Apart from 3rd library, distributed by GPL v2 or later.
Similiar application:
http://www.jimspage.co.nz/intro.htm
http://www.mycockpit.org/forums/forumdisplay.php/323-Arduino-Cards-amp-Link2FS
Add new comment