src.dualinventive.com/dinet/libdipp/common/ditest-php/test/psu_labps3005d.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();