1 package org.lsst.ccs.drivers.commons;
2
3 public interface MonochromatorDriver {
4
5 /**
6 * Open the communication port - meaning of parameter is OS and
7 * driver-dependent
8 *
9 * For serial on Unix can be /dev/ttyXXX
10 *
11 * @param portName
12 */
13 public abstract void open(String portName) throws DriverException;
14
15 /**
16 * set wavelength in nanometers
17 */
18 public abstract void setWave(double param) throws DriverException;
19
20 /**
21 * get current wavelength in nanometers
22 */
23 public abstract double getWave() throws DriverException;
24
25 /**
26 * Advance by a number of steps
27 *
28 * @param steps
29 * positive or negative offset, in steps
30 */
31 public abstract void advanceSteps(int steps) throws DriverException;
32
33 /**
34 * get absolute position in steps
35 *
36 */
37 public abstract int getStep() throws DriverException;
38
39 }