MultispeQ Serial Commands and API
The MultispeQ device communicates via USB or Bluetooth Serial, using a Serial monitor, PhotosynQ Android App or PhotosynQ Desktop App (requires Google Chrome browser to install). This documentation describes how to communicate with the device.
The PhotosynQ Desktop App has the software to search, view, and modify protocols. Install the the PhotosynQ Desktop App here.
Link to image and cutaway of the MultispeQ v1.0 showing LEDs, detectors, and sensors.
Read the following tutorials to understand how to create a protocol.
- Lights and Detectors
- pulses - number of pulses and pulse sets
- pulse_distance - distance between pulses (microseconds)
- pulse_length - length of a single measurement pulse (microseconds)
- pulsed_lights - set which LEDs are pulsed (LEDs 0 - 10).
- pulsed_lights_brightness - brightness of pulsed lights (microEinsteins)
- nonpulsed_lights - set which LEDs are not pulsed (LEDs 0 - 10)
- nonpulsed_lights_brightness - brightness of non-pulsed lights (microEinsteins)
- detectors - set which detectors to measure
- Delays and Averages
- averages - number of times to average an individual protocol (outputs a single data point, averaged)
- averages_delay - delay between protocol averages (milliseconds)
- protocols - number of times to repeat an individual protocol (outputs many data points)
- protocols_delay - delay between protocol repeats (milliseconds)
- Other Sensors
- environmental - collect a single data point from sensors (temp, humidity, light intensity...)
- environmental_array - collect a many data points from sensors (temp, humidity, light intensity...)
- save - save a number to the device memory
- recall - call a number from the device memory
- message - send an message to the user during the measurement
- open_close_start - wait to start measurement until device clamp closes
- dac_lights - use DAC setting (0 - 4095) instead of microEinsteins for LED intensities
- number_samples - set ADC samples per pulse
- adc_show - show individual ADC samples instead of normal trace
- reference - set reference detector to subtract from primary detector
Individual commands can be sent to the device for factory calibration, firmware updates, testing lights, etc.. In general these are used only by the device developers and during factory calibration. This is only a partial list of the commands. For a full list of commands and their function, see loop.cpp and loop-switch-jz.cpp (find "//process single commands" and the switch statement containing all of the commands).
Individual commands are always followed by a "+" to indicate the end of the command.
- hello+ - Acknowledge command, always replies with "MultispeQ Ready"
- LED_1+ - LED_10+ - Turn on an LED for a few seconds (used to test that LEDs work)
- reboot+ - Reboot device
- print_memory+ - print out all contents of the device memory (EEPROM) including factory and user calibration values