- TCD1304 Support from Esben Rossel
- jfsOtterVis is a GUI to interact with the TCD1304 through the STM32F401.
- Esben Rossel Software
Note that Esben Rossel is not a programmer and some things may therefore not make much sense. However, don't fix what ain't broken. His stuff seems to work well enough, so let's do the least possible to get the spectro in working order.
On my MacOS (Leo), the STM32 is at /dev/cu.usbmodem14203
. That may not be the same for everyone.
CLI tool to communicate with STM31F401
GUI tool created by Esben Rossel. If the GUI is not working correctly on MacOS, you need to upgrade tkinter as it is hopelessly out of date on this OS.
Upgrade on Esben Rossel's GUI software. Use this one.
We have a Coherent Obis LX 660nm. The laser head we have has about 4000h. We do not have the controller that can be seen in the product link. However, the laser can be controlled by the Coherent Connection Software on Windows (download link).
Power Supply: The laser has an on-board power supply and only requires 12V at a minimum of 2A.
Owner's Manual: can be found on the resource page of the product page.
Safety Glasses: we have OD4+ glasses from Thorlabs for 660nm.
It's great that we can control the laser from the Coherent Connection Software on windows, but we must control it from a linux-based machine. We could control it from an RPI running Windows, but that would be extra HW for only one component. The binary cannot be run on Unix with wine as it is 32 bit and the Jetson Nano is 64 bit. The wine emulator does not currently support 32 bit on 64 bit machines. However, there are other ways. A quick Google search points to a bunch of Github projects, most of them old and broken, that can be used to control this specific laser.
pip install microscope
>>> from microscope.lights.obis import ObisLaser
# Find where the laser is at, do "ls /dev/* > conns.txt" with
# and without the laser connected and run a diff on the two resulting files.
>>> laser = ObisLaser('/dev/tty.usbmodem14101')
>>> laser.get_is_on()
True
# I've discovered an issue where the ObisLaser turns off direct control,
# but the laser doesn't work. By turning it back on,
# I discovered the laser works again. So, turn it back into direct control!
>>> laser._write(b"SOURce:AM:INTernal CWP")
>>> laser.enable()
# Laser should light up!
>>> laser.disable()
# Laser should light down!
# Set the laser at a % of power
>>> laser.power = 0.5
# Set power to 20mw
>>> laser._set_power_mw(20)
The manual can be found here on Github. The definition of the LightSource
class can be found here.
Find all the commands available on this Github page or here on their official site.
WARNING: If after playing around with microscope
package, you plug it in into a Windows machine and can see the laser in the Coherent Connection Software but seem unable to turn it on/off, it is likely because you did not properly put it back in direct control. Go to the Commands
tab in the UI and enter the command SOURce:AM:INTernal CWP
to do so now.