114 lines
2.3 KiB
PHP
114 lines
2.3 KiB
PHP
<?php
|
|
require("../test_framework.php");
|
|
require("../equipment/psu_labps3005d.php");
|
|
|
|
$t = new DiTest("PSU Labps3005d", true);
|
|
|
|
////
|
|
$t->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();
|