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 |
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
wSubVendor=0x80; wSubDevice=1; wSubAux=0x10; /* for PIO_D96 */
wRetVal=PIO_DriverInit(&wBoards, wSubVendor,wSubDevice,wSubAux); printf("Threr are %d
/* step2: save resource of all |
| |
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
wRetVal=PIO_DriverInit(&wBoards,0xff,0xff,0xff); | /*find all PIO_PISO*/ |
printf("\nThrer are %d PIO_PISO Cards in this PC",wBoards); | |
if | "); |
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("
}