PDA

View Full Version : Igor Plug Docs



Buddym
05-09-2010, 01:14 PM
38653866


Here is some more detailed info regarding the Igor Plug documentation....just the beginnings, but decent info

Documentation for Igor Plug IP-8 Version 1

Introduction to the IP-8

The Igor Plug IP-8 is a USB-connected board with 8 I/O TTL-level outputs and 1 TTL-level RS232 serial port. It is USB-powered and each I/O ping can handle up to 40 mA. The circuit uses the ATMEL ATTiny2313 RISC micro-controller running at 12 mHz. There is a Windows driver to install, and a programming DLL that supports controlling the board using Delphi, VB or C. Connecting LEDs or high-current driver circuitry to the IP-8 is done using a spring-loaded terminal block that has a connection for each of the 8 I/O pins and 2 ground pins. The serial port can be accessed by soldering 3 wires to the pads on the PCB. Let's recap the points of interest:

1.Connects to PC using USB interface.
2.Powered by USB port.
3.Supplies up to but no more than 40 mA per pin.
4.I/O pins connection via a spring-loaded push button terminal block.
5.8 TTL level I/O pins. (TTL means 5 vdc and ground are the logic states for on and off)



The Software Side of Things

Interfacing the board with FS is easy using FSUIPC and the provided DLL and Windows driver. The driver is installed the same as any other driver for Windows and is very small. The programming DLL is simple and provides easy to use functions that give you the ability to set each of the 8 I/O pins as either an input or an output, setting a pin as either on or off, or reading a pin to see if an input is active. There are also functions to setup the serial port parameters and to send and receive data. The DLL supports writing code with Delphi, VB, or C. Here's a look a few of the DLL functions for VB:

Public Declare Function DoSetDataPortDirection Lib "AVR309.dll" (ByVal DirectionByte As Byte) As Long
Public Declare Function DoGetDataPortDirection Lib "AVR309.dll" (ByRef DataDirectionByte As Byte) As Long
Public Declare Function DoSetOutDataPort Lib "AVR309.dll" (ByVal DataOutByte As Byte) As Long
Public Declare Function DoGetOutDataPort Lib "AVR309.dll" (ByRef DataOutByte As Byte) As Long
Public Declare Function DoGetInDataPort Lib "AVR309.dll" (ByRef DataInByte As Byte) As Long
Public Declare Function DoSetDataPortDirections Lib "AVR309.dll" (ByVal DirectionByteB As Byte, ByVal DirectionByteC As Byte, ByVal DirectionByteD As Byte, ByVal UsedPorts As Byte) As Long
Public Declare Function DoGetDataPortDirections Lib "AVR309.dll" (ByRef DataDirectionByteB As Byte, ByRef DataDirectionByteC As Byte, ByRef DataDirectionByteD As Byte, ByRef UsedPorts As Byte) As Long
Public Declare Function DoSetOutDataPorts Lib "AVR309.dll" (ByVal DataOutByteB As Byte, ByVal DataOutByteC As Byte, ByVal DataOutByteD As Byte, ByVal UsedPorts As Byte) As Long
Public Declare Function DoGetOutDataPorts Lib "AVR309.dll" (ByRef DataOutByteB As Byte, ByRef DataOutByteC As Byte, ByRef DataOutByteD As Byte, ByRef UsedPorts As Byte) As Long
Public Declare Function DoGetInDataPorts Lib "AVR309.dll" (ByRef DataInByteB As Byte, ByRef DataInByteC As Byte, ByRef DataInByteD As Byte, ByRef UsedPorts As Byte) As Long


If you have written code in VB you can see that these function calls are simple and will be very easy to use. If not, don't worry about that, we are making end-user software to do all of this under the hood and out of site for folks that don't want to bother with it. The functions for Delphi and C are similar, and look like any other functions you would see for those languages.


Interfacing the IP-8 to Flight Simulator

The IP-8 interfaces with FS using FSUIPC using a program called IP8D. Each output pin is configured in IP8D to be controlled by the desired FSUIPC offset, much like any other hardware product is configured using the associated software, like Iocards software interfacing with the master card.



A full set of docs will be coming, along with a tutorial and end-user software.

Buddy