Back Midas Rome Roody Rootana
  Midas DAQ System  Not logged in ELOG logo
Entry  10 Nov 2017, Frederik Wauters, Bug Report, bug in init of hv class driver 
    Reply  17 Nov 2017, Konstantin Olchanski, Bug Report, bug in init of hv class driver 
    Reply  21 Nov 2017, Stefan Ritt, Bug Report, bug in init of hv class driver 
       Reply  21 Nov 2017, Konstantin Olchanski, Bug Report, bug in init of hv class driver 
Message ID: 1325     Entry time: 21 Nov 2017     In reply to: 1320     Reply to this: 1327
Author: Stefan Ritt 
Topic: Bug Report 
Subject: bug in init of hv class driver 
> bug in init
> -----------
> 
> I used the lv.c class driver, combined with a custom device driver, to control 
> our Keithley2611B source meter. This to set negative voltage on Si detectors.
> 
> In the 'init' routing, the class driver sets the hv:
> 
>   hv_info->demand_mirror[i] = MIN(hv_info->demand[i], hv_info->voltage_limit[i]);
> 
> This fails for negative voltage, as it sets the (negative) voltage limit, instead 
> of the demand voltage. A simple 'fabs' solves this.
> 
> suggestion for 'idle'
> ---------------------
> 
> I let the device do the ramping, not the driver. This also means I have to reset 
> the state of the device (current limit) after ramping. The easiest way to to 
> this, is using CMD_IDLE of the device driver. This is currently not done in the 
> hv.c class driver.

I can't find the line you quote in the class driver. Why don't you make a git pull request
and I will approve it.

The original idea behind the hv driver is that all voltages in the ODB and the class driver are
positive. If you have a negative power supply, then the voltage is inverted at the device
driver level. That's why you have MIN and MAX in the class driver.

Stefan
ELOG V3.1.4-2e1708b5