step("new PsuLabps3005d()"); //// $psu = new PsuLabps3005d("/dev/ttyACM0", 9600, false); //// $t->step("PsuLabps3005d->reset()"); //// $psu->reset(); $t->equal(0, $psu->getCurrent(1)); $t->equal(0, $psu->getVoltage(1)); //// $t->step("PsuLabps3005d->info()"); echo $psu->info(); //// $t->step("Channel 1 & 2 set/get min/max user-limit *current*"); //// $psu->setMinCurrent(1, 0.25); $t->equal(0.25, $psu->getMinCurrent(1)); $psu->setMaxCurrent(1, 0.50); $t->equal(0.50, $psu->getMaxCurrent(1)); $psu->setMinCurrent(1, 0); $psu->setMaxCurrent(1, 0); //// $t->step("Channel 1 set/get *current*"); //// $psu->setCurrent(1, 1.23); $t->equal(1.23, $psu->getCurrent(1)); $psu->setCurrent(1, 0); $t->equal(0, $psu->getCurrent(1)); //// $t->step("Channel 1 & 2 set/get min/max user-limit *voltage*"); //// $psu->setMinVoltage(1, 0.25); $t->equal(0.25, $psu->getMinVoltage(1)); $psu->setMaxVoltage(1, 0.50); $t->equal(0.50, $psu->getMaxVoltage(1)); $psu->setMinVoltage(1, 0); $psu->setMaxVoltage(1, 0); //// $t->step("Channel 1 get 100x *voltage*"); //// for ($i = 0; $i < 100; $i++) { $t->equal(0.0, $psu->getVoltage(1)); } //// $t->step("Channel 1 manual increment +0.50 until 5.00 *voltage*"); //// $psu->resetLimits(); for ($v = 0; $v < 5.00; $v += 0.50) { $psu->setVoltage(1, $v); $t->equal($v, $psu->getVoltage(1)); } //// $t->step("Channel 1 set/get *voltage*"); //// $psu->setVoltage(1, 1.23); $t->equal(1.23, $psu->getVoltage(1)); $psu->setVoltage(1, 0); $t->equal(0, $psu->getVoltage(1)); //// $t->step("Verify set voltage will not exceed set(Min/Max)"); //// $psu->setMinVoltage(1, 5.00); $psu->setMaxVoltage(1, 7.50); $t->equal(false, $psu->setVoltage(1, 4.99)); $t->equal(false, $psu->setVoltage(1, 7.51)); $t->equal(true, $psu->setVoltage(1, 5.00)); $t->equal(true, $psu->setVoltage(1, 6.50)); $t->equal(true, $psu->setVoltage(1, 7.50)); //// $t->step("Test on/off"); //// $t->equal("OFF", $psu->getChannelInfo(1, "enabled")); $psu->outputsOn(); $t->equal("ON", $psu->getChannelInfo(1, "enabled")); $psu->outputsOff(); $t->equal("OFF", $psu->getChannelInfo(1, "enabled")); //// $t->step("Cleanup"); //// $psu->reset(); $psu->outputsOff(); //// Finish $t->finish();