Datasheet
// Configure 4 Do and 4 Di on Port A
op->Status = USBIO_ConfigDIO( &local->USB_Handle, 1, 240);
if ( op->Status)
errh_Error( "IO Init Card '%s', Status %d", cp->Name, op->Status);
// Configure 8 Ai on Port B
op->Status = USBIO_ConfigAI( &local->USB_Handle, 8);
if ( op->Status)
errh_Error( "IO Init Card '%s', Status %d", cp->Name, op->Status);
// Configure 3 Di and 2 Ao on Port C
op->Status = USBIO_ConfigDIO( &local->USB_Handle, 3, 7);
if ( op->Status)
errh_Error( "IO Init Card '%s', Status %d", cp->Name, op->Status);
op->Status = USBIO_ConfigAO( &local->USB_Handle, 3);
if ( op->Status)
errh_Error( "IO Init Card '%s', Status %d", cp->Name, op->Status);
// Calculate conversion coefficients for Ai
for ( i = 8; i < 16; i++) {
if ( cp->chanlist[i].cop &&
cp->chanlist[i].sop &&
cp->chanlist[i].ChanClass == pwr_cClass_ChanAi)
io_AiRangeToCoef( &cp->chanlist[i]);
}
// Calculate conversion coefficients for Ao
for ( i = 19; i < 21; i++) {
if ( cp->chanlist[i].cop &&
cp->chanlist[i].sop &&
cp->chanlist[i].ChanClass == pwr_cClass_ChanAo)
io_AoRangeToCoef( &cp->chanlist[i]);
}
// Configure Watchdog
timeout = 1000 * op->WatchdogTime;
op->Status = USBIO_ConfigWatchdog( &local->USB_Handle, 1, timeout, 1,
port_mask, port, 3);
errh_Info( "Init of USBIO card '%s'", cp->Name);
return IO__SUCCESS;
}
// Close method
static pwr_tStatus IoCardClose( io_tCtx ctx,
io_sAgent *ap,
io_sRack *rp,
io_sCard *cp)
{
free( cp->Local);
return IO__SUCCESS;
}
// Read Method
static pwr_tStatus IoCardRead( io_tCtx ctx,
io_sAgent *ap,
io_sRack *rp,










