2 * This demo demonstrates extract information from all available devices.
11 const HudaqResourceInfo *HRI;
14 int NoAnalogIn,NoDigitalIn,NoEncoders;
17 /* Open first device found of any name. */
18 h = HudaqOpenDevice("",1,0);
20 {printf("No HUDAQ device found\n"); return -1;}
24 HRI = HudaqGetDeviceResources(h);
25 printf("\nBus number %d, Slot number %d.",HRI->BusNumber, HRI->SlotNumber);
26 printf("\nVendorID %Xh, DeviceID %Xh.",HRI->VendorID,HRI->DeviceID);
28 for(i=0;i<HRI->NumMemResources;i++)
30 printf("\n Memory resource %d: Base:%Xh, Length:%Xh",
31 i, HRI->MemResources[i].Base, HRI->MemResources[i].Length);
34 for(i=0;i<HRI->NumIOResources;i++)
36 printf("\n IO resource %d: Base:%Xh, Length:%Xh",
37 i, HRI->IOResources[i].Base, HRI->IOResources[i].Length);
40 NoAnalogIn = HudaqGetParameter(h,0,HudaqAINUMCHANNELS);
41 printf("\nAnalog channels %d", NoAnalogIn);
42 for (i=0; i<NoAnalogIn; i++)
44 value = HudaqAIRead(h,i);
45 printf("\n Analog channel %d, value read %fV.", i, value);
48 NoDigitalIn = HudaqGetParameter(h,0,HudaqDINUMCHANNELS);
49 printf("\nDigital channels %d", NoDigitalIn);
50 for (i=0; i<NoDigitalIn; i++)
52 printf("\n Digital input %d: %d",i,HudaqDIRead(h,i));
55 NoEncoders = HudaqGetParameter(h,0,HudaqEncNUMCHANNELS);
56 printf("\nEncoder channels %d", NoEncoders);
57 for (i=0; i<NoEncoders; i++)
59 printf("\n Encoder value %d: %d",i,HudaqEncRead(h,i));
63 printf("\nIRQ counter: %g (%g) press any key to continue...",
64 HudaqGetParameter(h,0,HudaqIRQ), HudaqGetParameter(h, 0, HudaqIRQ+1));
67 h = HudaqOpenDevice("",++dev,0);
70 // HudaqSetParameter(h, 0, HudaqIRQ, 1);
71 i = HudaqGetParameter(h, 0, HudaqIRQ);