A library allowing easy control over an Oriel Cornerstone 260 monochromator with an RS-232C port.
Install with
python -m pip install oriel-cornerstone-260
NOTE: For newer models with a USB connection, see the USB Connection section at the bottom of this page.
Represents a monochromator.
Low level methods allows reading and writing to the device.
connect(): Connects to the device.
disconnect(): Disconnects from the device.
write( msg ): Writes a message to the device. Termination characters are added.
read(): Reads a single response from the device.
command( cmd, *args ): Sends a command to the device with the given arguments. Returns the command.
query( msg ): Queries the device. Returns a Response object.
High level methods are convenience methods used for commonly needed functions.
goto( wavelength ): Goes to the given wavelength.
abort(): Starts the given channel.
set_grating( grating ): Sets the grating to the given number.
set_filter( filter ): Sets the filter to the given position.
filter_label(filter, label = None ): Gets or sets a filter's label.
shutter( close = True ): Open or close the shutter.
set_outport( port ): Sets the output port.
slit_width( slit, width = None ): Gets or sets the slit width.
Serial
connection from pyserial
.number
, lines
, and label
.A namedtuple
with properties statement
which represents the command, and response
.
A basic example for using a Monochromator.
from oriel_cornerstone_260 import Monochromator
# create device
mono = Monochromator( 'COM9' )
# print monochromator info
print( mono.info )
# go to 600 nm
mono.goto( 600 )
A Monochromator is a ultimately a Serial
object from pyserial
, so you can call any functions on a Monochromator that you would on a Serial object.
The USB Newport/Oriel Cornerstone 260 works differently, and can not utilize this package. It is Windows only and requires two proprietary .NET .DLLs from Newport. The Python interface is through the package pythonnet. As of late 2020, these are 32 bit DLL's that require a 32-bit (not AMD64) version of python.
import clr
clr.AddReference( 'Cornerstone' )
import CornerstoneDll
mono = CornerstoneDll.Cornerstone( True )
if not mono.connect():
raise IOError( 'Monochromator not found' )
The mono
object will control the monochromator using methods documented in the Cornerstone 260 manual.