Wasatch.NET 2.4.14
.NET application driver for Wasatch Photonics spectrometers
Loading...
Searching...
No Matches
Public Member Functions | Properties | Private Types | List of all members
WasatchNET.FeatureMask Class Reference

This class encapsulates a 16-bit set of boolean flags which indicate whether a given spectrometer has a particular feature or not, without expending quite as much storage as, for instance, legacy hasCooling, hasLaser or hasBattery bytes. More...

Public Member Functions

 FeatureMask (ushort value=0)
 
ushort toUInt16 ()
 

Properties

bool bin2x2 [get, set]
 Some 2D detectors use a Bayer filter in which pixel columns alternate between red and blue sensitivity (green is uniform throughout). By binning square blocks of 2x2 pixels (for any given detector position, this would include 1 blue, 1 red and 2 green), an even sensitivity is achieved across spectral range.
 
bool cutoffInstalled [get, set]
 In some downstream applications, especially related to "range-finding," whether or not there's a cutoff filter can greatly affect our in-house algorithms.
 
bool evenOddHardwareCorrected [get, set]
 Our InGaAs detector spectrometers have a sawtooth pattern between their even/odd pixels. We have used differentiated gain and offsets to correct this difference. We did not have hardware level correction for this pattern until briefly in 2021, before moving such corrections permanently to software. This field is used to indicate whether software level even/odd correction need be applied, or if the correction is already taken care of at a hardware level.
 
bool gen15 [get, set]
 Starting in 2021, some of our spectrometers have what is called a "Gen 1.5 Connector" for interfacing with various external functionality.
 
bool hasInterlockFeedback [get, set]
 Originally the laser interlock board did not provide feedback to software as to whether the laser interlock was open (laser cannot fire) or closed (laser can fire). In addition, it did not provide feedback to software as to whether the laser was ACTUALLY FIRING, irrespective of whether laserEnable was set. Newer firmware and board wiring supports this feedback, and this flag indicates whether the installed firmware and wiring support this feature.
 
bool invertXAxis [get, set]
 The orientations of the grating and detector in this spectrometer are rotated such that spectra are read-out "red-to-blue" rather than the normal "blue-to-red". Therefore, automatically reverse the spectrum array. This EEPROM field ensures that, regardless of hardware orientation or firmware, spectra is always reported to the user FROM WASATCH.NET in a consistent "blue-to-red" order (increasing wavelengths). This is the order intended and assumed by the factory- configured wavelength calibration.

 
bool sigLaserTEC [get, set]
 By default, all Wasatch lasers (either SML or MML) include a built-in TEC, EXCEPT on the SiG (Series XS, "microRaman") units. Laser TEC is a rare / experimental option on that platform, so this this flag is introduced to configure whether a laser TEC is present.
 

Private Types

enum  Flags {
  INVERT_X_AXIS = 0x0001 , BIN_2X2 = 0x0002 , GEN15 = 0x0004 , CUTOFF_INSTALLED = 0x0008 ,
  HARDWARE_EVEN_ODD_CORRECTION = 0x0010 , SIG_LASER_TEC = 0x0020 , HAS_INTERLOCK_FEEDBACK = 0x0040
}
 

Detailed Description

This class encapsulates a 16-bit set of boolean flags which indicate whether a given spectrometer has a particular feature or not, without expending quite as much storage as, for instance, legacy hasCooling, hasLaser or hasBattery bytes.

Member Enumeration Documentation

◆ Flags

Enumerator
INVERT_X_AXIS 
BIN_2X2 
GEN15 
CUTOFF_INSTALLED 
HARDWARE_EVEN_ODD_CORRECTION 
SIG_LASER_TEC 
HAS_INTERLOCK_FEEDBACK 

Constructor & Destructor Documentation

◆ FeatureMask()

WasatchNET.FeatureMask.FeatureMask ( ushort  value = 0)
inline

Member Function Documentation

◆ toUInt16()

ushort WasatchNET.FeatureMask.toUInt16 ( )
inline

Property Documentation

◆ bin2x2

bool WasatchNET.FeatureMask.bin2x2
getset

Some 2D detectors use a Bayer filter in which pixel columns alternate between red and blue sensitivity (green is uniform throughout). By binning square blocks of 2x2 pixels (for any given detector position, this would include 1 blue, 1 red and 2 green), an even sensitivity is achieved across spectral range.

As "vertical binning" is normally performed within firmware, the only portion of this 2x2 binning which is performed within the software driver is the horizontal binning. This is currently performed within Spectrometer.getSpectrumRaw.

◆ cutoffInstalled

bool WasatchNET.FeatureMask.cutoffInstalled
getset

In some downstream applications, especially related to "range-finding," whether or not there's a cutoff filter can greatly affect our in-house algorithms.

◆ evenOddHardwareCorrected

bool WasatchNET.FeatureMask.evenOddHardwareCorrected
getset

Our InGaAs detector spectrometers have a sawtooth pattern between their even/odd pixels. We have used differentiated gain and offsets to correct this difference. We did not have hardware level correction for this pattern until briefly in 2021, before moving such corrections permanently to software. This field is used to indicate whether software level even/odd correction need be applied, or if the correction is already taken care of at a hardware level.

◆ gen15

bool WasatchNET.FeatureMask.gen15
getset

Starting in 2021, some of our spectrometers have what is called a "Gen 1.5 Connector" for interfacing with various external functionality.

More information to come later.

◆ hasInterlockFeedback

bool WasatchNET.FeatureMask.hasInterlockFeedback
getset

Originally the laser interlock board did not provide feedback to software as to whether the laser interlock was open (laser cannot fire) or closed (laser can fire). In addition, it did not provide feedback to software as to whether the laser was ACTUALLY FIRING, irrespective of whether laserEnable was set. Newer firmware and board wiring supports this feedback, and this flag indicates whether the installed firmware and wiring support this feature.

◆ invertXAxis

bool WasatchNET.FeatureMask.invertXAxis
getset

The orientations of the grating and detector in this spectrometer are rotated such that spectra are read-out "red-to-blue" rather than the normal "blue-to-red". Therefore, automatically reverse the spectrum array. This EEPROM field ensures that, regardless of hardware orientation or firmware, spectra is always reported to the user FROM WASATCH.NET in a consistent "blue-to-red" order (increasing wavelengths). This is the order intended and assumed by the factory- configured wavelength calibration.

The user should not have to change behavior or process spectra differently due to this value; its purpose is to communicate state between the spectrometer and driver and ensure correct internal processing within the driver.

◆ sigLaserTEC

bool WasatchNET.FeatureMask.sigLaserTEC
getset

By default, all Wasatch lasers (either SML or MML) include a built-in TEC, EXCEPT on the SiG (Series XS, "microRaman") units. Laser TEC is a rare / experimental option on that platform, so this this flag is introduced to configure whether a laser TEC is present.


The documentation for this class was generated from the following file: