[Opengc-devel] Linux Hardware
Status: Pre-Alpha
Brought to you by:
madmartigan
|
From: John W. <ca...@mm...> - 2003-09-18 17:52:07
|
Hi,
Over the course of the last year I've been trying to find simulation =
hardware (MCP,EFIS,EICAS,etc) that works with Linux and would support =
open source programs like FlightGear and OpenGC. All I could find was =
Windows stuff ( EPIC, FSUIPC, etc). And there did not seem to be a lot =
of interest in developing stuff for open source software under Linux.
Well, I never followed the herd and was not about to move over to =
Windows or FSxxxx.
So I sat down and designed an interface board for the MCP and EFIS as =
starters. Turns out, the board is somewhat generic in that it takes =
rotary enconder data and key scan circuits and along with the Linux =
driver stuffs the data into a small file that the application can =
read/write. Using the board goes like this:
The board has a standard parallel port interface (I wanted to use =
IEEE1284 EPP but opted for the most common, simplest for the moment). It =
will run either on your printer port or any additional parallel port =
board (ISA or PCI) you care to install or I've got a custom ISA board =
with three programmable ports I used for development and testing.
Installing/using the board is standard Linux.
Compile the module driver -- source and makefiles will be provided
Create the device -> mknod /dev/mcp u 254 0
Install the modules -> insmod mcp.o
Create you application -> something like this
/**********************
main()
{
:
fd =3D open( "/dev/mcp", O_RDWR);
int result =3D read(fd, mesg, sizeof mcp_data);
// Convert from char string to data types
memcpy( char * &mcp_data, char * &mesg, sizeof mcp_data );
// Now do your application stuff whatever
:
:
close(fd);=20
}
*******************/
So if you were running a MCP panel the data would be airspeed, mach, =
heading, vvi, and altitude. Plus the state of the pushbutton switches on =
the panel which would go to the FMC for the appropriate action and =
control of the system autopilot(s) and such. Or you could configure it =
as a NAV/RADIO panel and process the data as frequencies. Or =
whatever.....=20
The board and driver run in kernel space and use an interrupt to process =
changes in the state of the connected panel
I'm still testing the board but getting close to a decision on moving =
from a breadboard to a PCB layout. Best guesstimate on cost is between =
$100 and $200. ( I have no idea on what the manufacturing costs beyond =
the production of the bare PCB look like, as always very dependent on =
size of the lot and quantity discounts for parts and amortization of =
start-up costs,etc,etc)
Trying to gauge the interest in such an item and welcome any feedback, =
questions, etc.
For a look at some of the hardware panels I plan to use check out =
http://www.a-g-t.com
Regards
John W.
|