Omega Engineering OME-PIO-D96 manual PIODriverInit&wBoards, wSubVendor,wSubDevice,wSubAux

Page 27

3.1.1PIO_DriverInit

PIO_DriverInit(&wBoards, wSubVendor,wSubDevice,wSubAux)

wBoards=0 to N Æ number of boards found in this PC

wSubVendor Æ subVendor ID of board to find

wSubDevice

Æ subDevice ID of board to find

wSubAux

Æ subAux ID of board to find

 

This function

can detect all OME-PIO/PISO series card in the system. It is

implemented based on the PCI plug & play mechanism. It will find all OME- PIO/PISO series cards installed in this system & save all their resources in the library.

Sample program 1: find all OME-PIO-D96 installed in the PC

wSubVendor=0x80; wSubDevice=1; wSubAux=0x10; /* for PIO_D96 */

wRetVal=PIO_DriverInit(&wBoards, wSubVendor,wSubDevice,wSubAux); printf("Threr are %d OME-PIO-D96 Cards in this PC\n",wBoards);

/* step2: save resource of all OME-PIO-D96cards installed in this PC */

 

for (i=0; i<wBoards; i++)

 

 

{

 

 

PIO_GetConfigAddressSpace(i,&wBase,&wIrq,&wID1,&wID2,&wID3,

 

&wID4,&wID5);

 

printf("\nCard_%d: wBase=%x, wIrq=%x", i,wBase,wIrq);

 

wConfigSpace[i][0]=wBaseAddress;

/* save all resource of this card

*/

wConfigSpace[i][1]=wIrq;

/* save all resource of this card

*/

}

 

 

Sample program 2: find all OME-PIO/PISO installed in the PC (refer to Sec. 4.1 for more information)

wRetVal=PIO_DriverInit(&wBoards,0xff,0xff,0xff);

/*find all PIO_PISO*/

printf("\nThrer are %d PIO_PISO Cards in this PC",wBoards);

if (wBoards==0-----------------------------------------------------) exit(0);

");

printf("\n

for(i=0; i<wBoards; i++)

{

PIO_GetConfigAddressSpace(i,&wBase,&wIrq,&wSubVendor, &wSubDevice,&wSubAux,&wSlotBus,&wSlotDevice);

printf("\nCard_%d:wBase=%x,wIrq=%x,subID=[%x,%x,%x], SlotID=[%x,%x]",i,wBase,wIrq,wSubVendor,wSubDevice, wSubAux,wSlotBus,wSlotDevice);

printf(" --> "); ShowPioPiso(wSubVendor,wSubDevice,wSubAux);

}

OME-PIO-D96 User Manual (Ver.1.1, Mar/2003)

---- 25

Image 27
Contents User’sGuide Czech Republic CanadaMexico BeneluxOME-PIO-D96 Table of Contents Introduction FeaturesSpecifications Order DescriptionOptions PCI Data Acquisition Family Product Check ListOME-PISO-series cost-effective generation, isolated cards Board Layout Hardware configurationEnable I/O Operation I/O port LocationRefer to DEMO1.C for demo program D/I/O Architecture Make sure the initial level is High or Low Interrupt OperationINTCHAN3 Interrupt Block Diagram of OME-PIO-D96INTCHAN0/1/2/3 COUNTL++ Initialhigh, activelow Interrupt sourceInitiallow, activehigh Interrupt source Muliti Interrupt Source Read all interrupt state OME-DB-8125 Daughter BoardsOME-DB-37 OME-DN-37 & OME-DN-50OME-ADP-37/PCI & OME-ADP-50/PCI OME-DB-24P/24PD Isolated Input Board OME-DB-24R/24RD Relay Board OME-DB-24PR/24POR/24C Daughter Boards Comparison Table Pin Assignment All signals are TTL compatibleVCC GND PC’s physical slot information How to Find the I/O AddressResource-allocated information OME-PIO/PISO identification informationPIODriverInit PIODriverInit&wBoards, wSubVendor,wSubDevice,wSubAuxWSubVendor=0x80 wSubDevice=1 wSubAux=0x10 /* for PIOD96 Current sinking PIOGetConfigAddressSpace Enable all D/I/O operation of card0Enable all D/I/O operation of card1 ShowPIOPISOwSubVendor,wSubDevice,wSubAux ShowPIOPISOSlot5 0x0A Slot6 0x08 Slot7 0x09 Slot8 0x07 Assignment of I/O AddressAddress Read Write I/O Address MapRESET\ Control Register AUX Control RegisterAUX data Register Aux Status Register INT Mask Control RegisterINV3 INV2 INV1 INV0 Interrupt Polarity Control Register7 I/O Selection Control Register Read/Write 8-bit data Register Demo program How to install software & utility?Piopiso PIOPISO.EXE for Windows DEMO1 DEMO2 DEMO3 COUNTL++ DEMO4 COUNTL++ DEMO5 CNTL1=CNTL2=CNTL3=CNTL4=0 Page WARRANTY/DISCLAIMER Temperature