Package jisa.devices.interfaces
Interface EMController
-
- All Superinterfaces:
Instrument
- All Known Implementing Classes:
IPS120
public interface EMController extends Instrument
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
EMController.Ramp
-
Nested classes/interfaces inherited from interface jisa.devices.interfaces.Instrument
Instrument.AutoQuantity<S>, Instrument.OptionalQuantity<S>, Instrument.Parameter<S>, Instrument.Setter<S>, Instrument.TableQuantity
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default java.util.List<Instrument.Parameter<?>>
getConfigurationParameters(java.lang.Class<?> target)
double
getCurrent()
Returns the current currently being sourced by the controller.static java.lang.String
getDescription()
double
getField()
Returns the current field being produced by the electromagnet.default EMController.Ramp
getRampForCurrent(double current)
default java.util.List<EMController.Ramp>
getRampLegs(double from, double to)
java.util.List<EMController.Ramp>
getRampRates()
Returns the rates being used to determine the ramping legs of each change in current.void
setCurrent(double current)
Ramps the electromagnet to the specified current at automatically determined ramping rates.void
setField(double field)
Ramps the electromagnet to the specified field at automatically determined ramping rates.void
setRampRates(EMController.Ramp... ramps)
Sets the rates at which the magnet should ramp for different current ranges.void
turnOff()
Safely turns off the electromagnet.-
Methods inherited from interface jisa.devices.interfaces.Instrument
close, getAddress, getConfigurationParameters, getIDN, getLockObject, getName, setTimeout
-
-
-
-
Method Detail
-
getDescription
static java.lang.String getDescription()
-
getField
double getField() throws java.io.IOException, DeviceException
Returns the current field being produced by the electromagnet.- Returns:
- Field, in Tesla
- Throws:
java.io.IOException
- Upon communications errorDeviceException
- Upon instrument error
-
setField
void setField(double field) throws java.io.IOException, DeviceException, java.lang.InterruptedException
Ramps the electromagnet to the specified field at automatically determined ramping rates. Does not return until ramping is complete.- Parameters:
field
- Field to ramp to, in Tesla- Throws:
java.io.IOException
- Upon communications errorDeviceException
- Upon instrument errorjava.lang.InterruptedException
- Upon waiting for ramping to complete being interrupted
-
getCurrent
double getCurrent() throws java.io.IOException, DeviceException
Returns the current currently being sourced by the controller.- Returns:
- Current, in Amperes
- Throws:
java.io.IOException
- Upon communications errorDeviceException
- Upon instrument error
-
setCurrent
void setCurrent(double current) throws java.io.IOException, DeviceException, java.lang.InterruptedException
Ramps the electromagnet to the specified current at automatically determined ramping rates. Does not return until ramping is complete.- Parameters:
current
- Current to ramp to, in Amperes- Throws:
java.io.IOException
- Upon communications errorDeviceException
- Upon instrument errorjava.lang.InterruptedException
- Upon waiting for ramping to complete being interrupted
-
turnOff
void turnOff() throws java.io.IOException, DeviceException, java.lang.InterruptedException
Safely turns off the electromagnet. Does not return until magnet is safely off.- Throws:
java.io.IOException
- Upon communications errorDeviceException
- Upon instrument errorjava.lang.InterruptedException
- Upon waiting for ramping down to complete being interrupted
-
getRampRates
java.util.List<EMController.Ramp> getRampRates()
Returns the rates being used to determine the ramping legs of each change in current.- Returns:
- List of ramp rates and ranges.
-
setRampRates
void setRampRates(EMController.Ramp... ramps)
Sets the rates at which the magnet should ramp for different current ranges.- Parameters:
ramps
- Ramp rates
-
getRampForCurrent
default EMController.Ramp getRampForCurrent(double current)
-
getRampLegs
default java.util.List<EMController.Ramp> getRampLegs(double from, double to) throws DeviceException
- Throws:
DeviceException
-
getConfigurationParameters
default java.util.List<Instrument.Parameter<?>> getConfigurationParameters(java.lang.Class<?> target)
- Specified by:
getConfigurationParameters
in interfaceInstrument
-
-