Wasatch.PY
Python application driver for Wasatch Photonics spectrometers
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 123]
 Nwasatch
 Napplog
 CMainLogger
 CQueueHandlerCopied verbatim from PlumberJack (see above)
 NBalanceAcquisition
 CBalanceAcquisition
 NCommandSettings
 CCommandSettingsThis class encapsulates information about the "ControlObject" settings supported by WasatchDevice hardware classes (FID and SP)
 NControlObject
 CControlObjectA class holding setting-value pairs sent from ENLIGHTEN to the spectrometer
 NDeviceFinderUSB
 CDeviceFinderUSBGenerates a list of DeviceID objects for all connected USB Wasatch Photonics spectrometers
 NDeviceID
 CDeviceIDRepresents a persistent unique identifier for a spectrometer device (USB or otherwise) which should remain valid for connected devices in spite of hotplug events around them
 NEEPROM
 CEEPROMThis class encapsulates the post-read parsing, pre-write marshalling, and current state of the 8-page EEPROM used to store non-volatile configuration data in Wasatch Photonics spectrometers
 NFeatureIdentificationDevice
 CFeatureIdentificationDeviceThis is the basic implementation of our FeatureIdentificationDevice (FID) spectrometer USB API as defined in ENG-0001
 CSpectrumAndRow
 NFileSpectrometer
 CFileSpectrometerInterface to a remote "virtual spectrometer" with which ENLIGHTEN exchanges commands and spectra via a watch-directory
 NFPGAOptions
 CFPGAOptionsEncapsulate the set of options used to compile the FPGA code in the firmware of the connected spectrometer
 NHardwareInfo
 CHardwareInfoThis class captures aspects of the hardware which normally ENLIGHTEN can't / shouldn't see, which isn't otherwise reliably inferred from EEPROM, ModelInfo etc
 NOverrides
 COverridesA mechanism to override the normal FID commands sent to a USB device with arbitrary binary data stored in an external JSON configuration file
 NReading
 CReadingA single set of data read from a device
 Nsimulation_protocol
 CSimulateMaterialRead recorded spectrum from file, respond with noise on the baseline read from file
 NSpectrometerSettings
 CSpectrometerSettingsEncapsulate a spectrometer's state, including compiled firmware (FPGAOptions), non-volatile configuration (EEPROM) and volatile state (SpectrometerState)
 NSpectrometerState
 CSpectrometerStateVolatile attributes (must persist here for multi-spectrometers)
 NStatusMessage
 CStatusMessageAn outbound analog to ControlObject
 NWasatchBus
 CFileBusSupport a "virtual spectrometer" implemented via a "watch folder" containing a file named "spectrometer.json" (see FileSpectrometer for format), allowing ENLIGHTEN to send commands "to" the remote spectrometer (by writing command files to the directory), and reading spectra "from" the remote spectrometer (by reading spectrum files from the directory)
 CUSBBus
 CWasatchBusThe different bus classes don't use inheritance and don't follow a common ABC or interface, but each should have an update() method, and each should have a 'device_ids' array
 NWasatchDevice
 CWasatchDeviceA WasatchDevice encapsulates and wraps a Wasatch spectrometer in a blocking interface
 NWasatchDeviceWrapper
 CSubprocessArgs
 CWasatchDeviceWrapperWrap WasatchDevice in a non-blocking interface run in a separate process, using multiprocess.pipes to exchange data (SpectrometerSettings, Readings and StatusMessages) for multiprocessing-safe device communications and acquisition under Windows and Qt