NAME

Lab::Instrument::SafeSource - a generalised voltage source with sweep rate limitations

SYNOPSIS

DESCRIPTION

This class extends the Lab::Instrument::Source class. It is meant to be inherited by instrument classes (virtual instruments), that implement voltage sources (e.g. the Lab::Instrument::Yokogawa7651 class).

The Lab::Instrument::SafeSource class extends the Lab::Instrument::Source class to provide a sweep rate limitation mechanism, to protect sensible samples. Blabla.

From the view of an author of new instruments classes, there is no difference between inheriting from Lab::Instrument::Source and Lab::Instrument::SafeSource. The same methods have to be implemented. See Lab::Instrument::Source for details. The only difference is the additional protection mechanism, which can also be turned off.

CONSTRUCTORS

$self=new Lab::Instrument::SafeSource($default_config,\%options);

METHODS

configure

$self->configure(\%config);

The available options and default settings look like this:

$default_config={
    gate_protect           => 1,
    gp_max_volt_per_step   => 0.001,
    gp_max_volt_per_second => 0.002
};

set_voltage

$self->set_voltage($voltage);

This is the protected version of the set_voltage() method. It takes into account the gp_max_volt_per_step and gp_max_volt_per_second settings, by employing the sweep_to_voltage() method.

sweep_to_voltage

$self->sweep_to_voltage($voltage);

This method sweeps the output voltage to the desired value. The voltage is changed with the maximum speed and granularity, that the gp_max_volt_per_step and gp_max_volt_per_second settings allow.

CAVEATS/BUGS

Probably many.

SEE ALSO

Lab::Instrument::Source

The Lab::Instrument::SafeSource class inherits from the Lab::Instrument::Source module.

Time::HiRes

The Lab::Instrument::SafeSource class uses the Time::HiRes module.

AUTHOR/COPYRIGHT

This is $Id: SafeSource.pm 85 2005-11-10 23:35:43Z schroeer $

Copyright 2004 Daniel Schröer (http://www.danielschroeer.de)

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

1 POD Error

The following errors were encountered while parsing the POD:

Around line 156:

Non-ASCII character seen before =encoding in 'Schröer'. Assuming CP1252