Omega Engineering OME-PIO-D96 manual PIOGetConfigAddressSpace, Enable all D/I/O operation of card0

Page 29

3.1.2PIO_GetConfigAddressSpace

PIO_GetConfigAddressSpace(wBoardNo,*wBase,*wIrq, *wSubVendor, *wSubDevice,*wSubAux,*wSlotBus, *wSlotDevice)

wBoardNo=0 to N Æ totally N+1 boards found by PIO_DriveInit(….)

wBase

Æ base address of the board control word

wIrq

Æ allocated IRQ channel number of this board

wSubVendor Æ subVendor ID of this board

wSubDevice

Æ subDevice ID of this board

wSubAux

Æ subAux ID of this board

wSlotBus

Æ hardware slot ID1 of this board

wSlotDevice

Æ hardware slot ID2 of this board

The user can use this function to save resources of all OME-PIO/PISO cards installed in this system. Then the application program can control all functions of OME-PIO/PISO series card directly.

The sample program source is given as follows:

/* step1: detect all OME-PIO-D96 cards first */

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,&t1,&t2,&t3,&t4,&t5);

 

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

*/

}

 

 

/* step3: control the OME-PIO-D96directly */

 

wBase=wConfigSpace[0][0];/* get base address the card_0

*/

outport(wBase,1);

/* enable all D/I/O operation of card_0

*/

wBase=wConfigSpace[1][0];/* get base address the card_1

*/

outport(wBase,1);

/* enable all D/I/O operation of card_1

*/

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

---- 27

Image 29
Contents User’sGuide Mexico CanadaBenelux Czech RepublicOME-PIO-D96 Table of Contents Introduction FeaturesOptions SpecificationsOrder Description OME-PISO-series cost-effective generation, isolated cards PCI Data Acquisition FamilyProduct Check List Board Layout Hardware configurationRefer to DEMO1.C for demo program Enable I/O OperationI/O port Location 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-37 Daughter BoardsOME-DN-37 & OME-DN-50 OME-DB-8125OME-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 Resource-allocated information How to Find the I/O AddressOME-PIO/PISO identification information PC’s physical slot informationWSubVendor=0x80 wSubDevice=1 wSubAux=0x10 /* for PIOD96 PIODriverInitPIODriverInit&wBoards, wSubVendor,wSubDevice,wSubAux Current sinking Enable all D/I/O operation of card1 PIOGetConfigAddressSpaceEnable all D/I/O operation of card0 ShowPIOPISOwSubVendor,wSubDevice,wSubAux ShowPIOPISOSlot5 0x0A Slot6 0x08 Slot7 0x09 Slot8 0x07 Assignment of I/O AddressAddress Read Write I/O Address MapAUX data Register RESET\ Control RegisterAUX Control 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