2 pio_getconfigaddressspace – Omega Vehicle Security OME-PIO-D56 User Manual

Page 32

Advertising
background image

3.1.2 PIO_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 resource 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 is given as follows:

/* step1: detect all OME-PIO-D56/OME-PIO-D24 cards first */
wSubVendor=0x80; wSubDevice=1; wSubAux=0x40; /*

for

OME-PIO-

D56/D24 */

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

/* step2: save resource of all OME-PIO-D56/OME-PIO-D24 cards 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-D56/OME-PIO-D24 directly */

wBase=wConfigSpace[0][0];/* get base address the card_0 */
outport(wBase,1);

/*

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


wBase=wConfigSpace[1][0];/* get base address the card_1 */
outport(wBase,1);

/*

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

OME-PIO-D56/PIO-D24 User Manual (Ver.2.1, Oct/2003, PPH-005-21) ---- 30

Advertising