#include <stdio.h>
#include <string.h>
{
char buf[50];
buf[0] = '\0';
printf("%s: failed, stat=%d (%s)\n", id, (int)stat, buf);
}
}
int main(int argc, char* argv[])
{
int chanCount = 0;
int i;
int beta;
char betaString[10];
char name[256];
char driverName[256];
char custChanName[40];
unsigned int ean[2], fw[2], serial[2];
unsigned int canlibVersion;
uint16_t fileVersion[4];
(void)argc;
(void)argv;
if (beta) {
sprintf(betaString, "BETA");
} else {
betaString[0] = '\0';
}
printf("CANlib version %d.%d %s\n",
canlibVersion >> 8,
canlibVersion & 0xff,
betaString);
memset(name, 0, sizeof(name));
memset(custChanName, 0, sizeof(custChanName));
memset(ean, 0, sizeof(ean));
memset(fw, 0, sizeof(fw));
memset(serial, 0, sizeof(serial));
check("canGetNumberOfChannels", stat);
exit(1);
}
printf("Found %d channel(s).\n", chanCount);
for (i = 0; i < chanCount; i++) {
&driverName, sizeof(driverName));
check("canGetChannelData: DRIVER_NAME", stat);
exit(1);
}
&fileVersion, sizeof(fileVersion));
check("canGetChannelData: DLL_FILE_VERSION", stat);
exit(1);
}
&name, sizeof(name));
check("canGetChannelData: DEVDESCR_ASCII", stat);
exit(1);
}
if (strcmp(name, "Kvaser Unknown") == 0) {
&name, sizeof(name));
check("canGetChannelData: CHANNEL_NAME", stat);
exit(1);
}
}
&ean, sizeof(ean));
check("canGetChannelData: CARD_UPC_NO", stat);
exit(1);
}
&serial, sizeof(serial));
check("canGetChannelData: CARD_SERIAL_NO", stat);
exit(1);
}
&fw, sizeof(fw));
check("canGetChannelData: CARD_FIRMWARE_REV", stat);
exit(1);
}
custChanName, sizeof(custChanName));
printf("ch %2.1d: %-22s\t%x-%05x-%05x-%x, s/n %u, v%u.%u.%u.%u %s (%s v%d.%d.%d)\n",
i, name,
(ean[1] >> 12), ((ean[1] & 0xfff) << 8) | ((ean[0] >> 24) & 0xff),
(ean[0] >> 4) & 0xfffff, (ean[0] & 0x0f),
serial[0],
fw[1] >> 16, fw[1] & 0xffff, fw[0] >> 16, fw[0] & 0xffff,
custChanName,
driverName, fileVersion[3], fileVersion[2], fileVersion[1]);
}
check("canUnloadLibrary", stat);
exit(1);
}
return 0;
}