Repository navigation
Releases: mitlabence/Chrolispp
Release list
v2.1.2
v2.1.1
Minor changes: not checking for "too large values" anymore, it is the user's responsibility to check if values are overflowing. Program is limited by Chrolis API (time in us is accepted as UInt32). "Too large" check only protected user for small range of issues: when the value N modulo max UInt32 value is between the too large range L and the UInt32 maximum value M: N%(M+1) in [L, M]. So overflow would still be possible without exception.
v2.1.0
Add us (microseconds) mode. Protocols can now use a mixture of rows that define time units in us and rows that use ms (needs to be consistent within one row).
This also reduces the maximum allowed time between two pulses from ~6h to 1h, and with this constraint, it is still possible to run into overflow issues, this needs to be updated, probably by going from 32-bit to 64-bit numbers representing duration.
v1.4.3
Reverted baud rate to 9600, as too many writes seemed to fail.
v1.4.1
Added MCP4725, arduino code ID detection for logging, streamlined command line interface
v1.4.0
Added COM port selection for Arduino. Chrolis++ outputs a "high" every time a LED is turned on, and outputs a "low" every time a LED is turned off. The Arduino outputs on PIN 7 a "high" and "low" correspondingly.
v1.3.0
Replaced boost.log with simple, self-written logger for better compatibility (hopefully runs on Windows 7). The log format also changed: contains INFO, WARNING, ERROR levels.
v1.2.0
Added persistent logging with boost.log.
v1.1.1
Bug fixes, improved verbosity and user interaction. Introduce "break" and sequences without break between pulses.
v1.0.0
First working version of the Chrolis++ command line application for the ThorLabs Chrolis-C* 6-wavelength LED source. It reads a csv file with 5 columns per row: the index of the LED to use (0-5), the duration of each light pulse (positive integer, ms), the time between two pulses (positive integer, ms), the number of light pulses (positive integer), and the light intensity (10*% integer, i.e. 0 = 0%, 555 = 55.5%, 1000 = 100.0%). The application executes each stimulation step once and in order as specified in the csv file.
The input numbers are not strictly checked for validity, this is up to the user (for now).