2 #include "ManagedObject.h"
3 using NetOceanDirect::MemoryCleanup;
5 public enum class net_lh_enable_state_t { off = lh_enable_state_t::off, on = lh_enable_state_t::on };
6 public enum class net_lh_open_state_t { closed = lh_open_state_t::closed, open = lh_open_state_t::open };
7 public enum class net_lh_ip_assign_mode_t { manual = lh_ip_assign_mode_t::manual, automatic = lh_ip_assign_mode_t::automatic };
8 public enum class net_lh_baud_rate_t {
9 B300 = lh_baud_rate_t::B300,
10 B600 = lh_baud_rate_t::B600,
11 B1200 = lh_baud_rate_t::B1200,
12 B2400 = lh_baud_rate_t::B2400,
13 B9600 = lh_baud_rate_t::B9600,
14 B14400 = lh_baud_rate_t::B14400,
15 B19200 = lh_baud_rate_t::B19200,
16 B38400 = lh_baud_rate_t::B38400,
17 B57600 = lh_baud_rate_t::B57600,
18 B115200 = lh_baud_rate_t::B115200
21 namespace NetLighthouse {
22 public enum class NetLighthouseTriggerMode {
23 software = lh_trigger_mode_t::software,
24 edge = lh_trigger_mode_t::edge,
25 level = lh_trigger_mode_t::level
29 array<float>^ spectrum;
30 unsigned long long int tickCount;
33 ref class LighthouseDevices;
51 public NetOceanDirect::ManagedObject<LighthouseAPI, MemoryCleanup::noDeletion> {
56 Lighthouse(LighthouseAPI* instance) : ManagedObject(instance) {
65 if (!lighthouseInstance) {
68 return lighthouseInstance;
88 virtual void getAPIVersionNumber(
unsigned int %major,
unsigned int %minor,
unsigned int %point);
89 virtual void getAPIRCNumber(
unsigned int %candidate);
158 virtual void openDevice(
unsigned int deviceID,
int %errorCode);
168 virtual void closeDevice(
unsigned int deviceID,
int %errorCode);
209 virtual NetLighthouseStrobe^
Strobe();
216 virtual NetLighthouseGpio^
Gpio();
222 virtual NetLighthouseLamp^
Lamp();
229 virtual NetLighthouseLed^
Led();
246 virtual NetLighthouseNetworkConfiguration^
Network();
260 virtual NetLighthouseSerialPort^
SerialPort();
266 virtual NetLighthouseShutter^
Shutter();
272 virtual NetLighthouseUserString^
UserString();
278 virtual NetLighthouseGainMode^
GainMode();
284 virtual NetLighthouseFlash^
Flash();
340 virtual array<float>^
getWavelengths(
unsigned int deviceID,
int %errorCode);
361 virtual void setIntegrationTime(
unsigned int deviceID,
int %errorCode,
unsigned int microseconds);
433 virtual array<float>^
getSpectrum(
unsigned int deviceID,
int %errorCode);
451 virtual void setStoredDarkSpectrum(
unsigned int deviceID,
int %errorCode, array<float>^% darkSpectrum);
491 virtual array<float>^
darkCorrectSpectrum(
unsigned int deviceID,
int %errorCode, array<float>^% illuminatedSpectrum);
505 array<float>^% darkSpectrum, array<float>^% illuminatedSpectrum);
541 array<float>^% illuminatedSpectrum);
555 array<float>^% darkSpectrum, array<float>^% illuminatedSpectrum);
565 array<float>^
boxcarCorrectSpectrum(
long deviceID,
int% errorCode, array<float>^% illuminatedSpectrum,
unsigned short boxcarWidth);
579 virtual void setScansToAverage(
unsigned int deviceID,
int% errorCode,
unsigned int scansToAverage);
602 virtual void setBoxcarWidth(
unsigned int deviceID,
int% errorCode,
unsigned short boxcarWidth);
616 virtual unsigned short getBoxcarWidth(
unsigned int deviceID,
int %errorCode);
624 virtual void setTriggerMode(
unsigned int deviceID,
int %errorCode, NetLighthouseTriggerMode mode);
632 virtual NetLighthouseTriggerMode
getTriggerMode(
unsigned int deviceID,
int %errorCode);
640 virtual void setAcquisitionDelay(
unsigned int deviceID,
int %errorCode,
unsigned int microseconds);
Definition: NetLighthouse.h:51
virtual array< float > darkCorrectSpectrum(unsigned int deviceID, int %errorCode, array< float >^% darkSpectrum, array< float >^% illuminatedSpectrum)
virtual unsigned int getMaximumIntensity(unsigned int deviceID, int %errorCode)
Definition: NetLighthouse.cpp:226
virtual void shutdown()
Definition: NetLighthouse.cpp:44
virtual NetLighthouseThermoelectric Thermoelectric()
Definition: NetLighthouse.cpp:122
virtual void setMulticastMsgResponseReadRetry(size_t retryCount)
Definition: NetLighthouse.cpp:64
virtual unsigned int probeUsbDevices()
Definition: NetLighthouse.cpp:76
virtual array< float > getWavelengthCoefficients(unsigned int deviceID, int %errorCode)
Definition: NetLighthouse.cpp:188
virtual NetLighthouseLamp Lamp()
Definition: NetLighthouse.cpp:114
virtual NetLighthouseAutonulling AutoNulling()
Definition: NetLighthouse.cpp:94
virtual void openDevice(unsigned int deviceID, int %errorCode)
Definition: NetLighthouse.cpp:84
virtual unsigned int getAcquisitionDelayMinimum(unsigned int deviceID, int %errorCode)
Definition: NetLighthouse.cpp:433
virtual array< unsigned int > getDeviceIDs()
Definition: NetLighthouse.cpp:449
virtual void setIntegrationTime(unsigned int deviceID, int %errorCode, unsigned int microseconds)
Definition: NetLighthouse.cpp:196
array< float > boxcarCorrectSpectrum(long deviceID, int% errorCode, array< float >^% illuminatedSpectrum, unsigned short boxcarWidth)
Definition: NetLighthouse.cpp:371
virtual void setScansToAverage(unsigned int deviceID, int% errorCode, unsigned int scansToAverage)
Definition: NetLighthouse.cpp:386
virtual unsigned int getErrorMessageLength(int errorCode)
Definition: NetLighthouse.cpp:445
virtual array< unsigned int > getNetworkDeviceIDs()
Definition: NetLighthouse.cpp:456
virtual NetLighthouseGainMode GainMode()
Definition: NetLighthouse.cpp:146
virtual void setElectricDarkCorrectionState(unsigned int deviceID, int %errorCode, net_lh_enable_state_t state)
Definition: NetLighthouse.cpp:164
virtual array< float > getDarkCorrectedSpectrum(unsigned int deviceID, int %errorCode, array< float >^% darkSpectrum)
virtual void setMulticastMsgSendRetry(size_t retryCount)
Definition: NetLighthouse.cpp:60
virtual void setBoxcarWidth(unsigned int deviceID, int% errorCode, unsigned short boxcarWidth)
Definition: NetLighthouse.cpp:396
virtual net_lh_enable_state_t getElectricDarkCorrectionState(unsigned int deviceID, int %errorCode)
Definition: NetLighthouse.cpp:169
virtual unsigned int getIntegrationTime(unsigned int deviceID, int %errorCode)
Definition: NetLighthouse.cpp:201
virtual unsigned int getMinimumAveragingIntegrationTime(unsigned int deviceID, int %errorCode)
Definition: NetLighthouse.cpp:216
virtual array< float > getDarkCorrectedSpectrum(unsigned int deviceID, int% errorCode)
Definition: NetLighthouse.cpp:295
virtual unsigned short getBoxcarWidth(unsigned int deviceID, int %errorCode)
Definition: NetLighthouse.cpp:391
virtual unsigned int getMaximumIntegrationTime(unsigned int deviceID, int %errorCode)
Definition: NetLighthouse.cpp:221
virtual NetLighthouseNetworkConfiguration Network()
Definition: NetLighthouse.cpp:126
virtual void setStoredDarkSpectrum(unsigned int deviceID, int %errorCode, array< float >^% darkSpectrum)
Definition: NetLighthouse.cpp:263
virtual array< float > getNonlinearityCorrectedSpectrum(unsigned int deviceID, int %errorCode, array< float >^% darkSpectrum)
virtual String getErrorMessage(int errorCode)
Definition: NetLighthouse.cpp:438
virtual unsigned int getScansToAverage(unsigned int deviceID, int %errorCode)
Definition: NetLighthouse.cpp:381
virtual array< float > darkCorrectSpectrum(unsigned int deviceID, int %errorCode, array< float >^% illuminatedSpectrum)
virtual NetLighthouseSpectrumWithMetadata getSpectrumWithMetadata(unsigned int deviceID, int %errorCode)
Definition: NetLighthouse.cpp:249
virtual unsigned int getAcquisitionDelayMaximum(unsigned int deviceID, int %errorCode)
Definition: NetLighthouse.cpp:428
virtual NetLighthouseTriggerMode getTriggerMode(unsigned int deviceID, int %errorCode)
Definition: NetLighthouse.cpp:407
virtual unsigned int getAcquisitionDelay(unsigned int deviceID, int %errorCode)
Definition: NetLighthouse.cpp:418
virtual void setTriggerMode(unsigned int deviceID, int %errorCode, NetLighthouseTriggerMode mode)
Definition: NetLighthouse.cpp:401
virtual void setNonLinearityCorrectionState(unsigned int deviceID, int %errorCode, net_lh_enable_state_t state)
Definition: NetLighthouse.cpp:154
virtual array< float > getSpectrum(unsigned int deviceID, int %errorCode)
Definition: NetLighthouse.cpp:236
virtual NetLighthouseSerialPort SerialPort()
Definition: NetLighthouse.cpp:134
virtual unsigned int getAcquisitionDelayIncrement(unsigned int deviceID, int %errorCode)
Definition: NetLighthouse.cpp:423
virtual unsigned int getMinimumIntegrationTime(unsigned int deviceID, int %errorCode)
Definition: NetLighthouse.cpp:211
virtual array< float > getStoredDarkSpectrum(unsigned int deviceID, int %errorCode)
Definition: NetLighthouse.cpp:269
virtual void closeDevice(unsigned int deviceID, int %errorCode)
Definition: NetLighthouse.cpp:89
virtual NetLighthouseNonlinearity Nonlinearity()
Definition: NetLighthouse.cpp:130
virtual unsigned int probeNetworkDevices()
Definition: NetLighthouse.cpp:80
virtual net_lh_enable_state_t getNonLinearityCorrectionState(unsigned int deviceID, int %errorCode)
Definition: NetLighthouse.cpp:159
virtual unsigned int getSpectrumLength(unsigned int deviceID, int %errorCode)
Definition: NetLighthouse.cpp:231
virtual NetLighthouseDeviceInformation DeviceInformation()
Definition: NetLighthouse.cpp:98
virtual NetLighthouseGpio Gpio()
Definition: NetLighthouse.cpp:110
virtual NetLighthouseUserString UserString()
Definition: NetLighthouse.cpp:142
virtual NetLighthouseSensorInformation SensorInformation()
Definition: NetLighthouse.cpp:102
virtual unsigned int getIntegrationTimeIncrement(unsigned int deviceID, int %errorCode)
Definition: NetLighthouse.cpp:206
virtual NetLighthouseStrobe Strobe()
Definition: NetLighthouse.cpp:106
virtual NetLighthouseShutter Shutter()
Definition: NetLighthouse.cpp:138
static Lighthouse getInstance()
Definition: NetLighthouse.h:64
virtual void setAcquisitionDelay(unsigned int deviceID, int %errorCode, unsigned int microseconds)
Definition: NetLighthouse.cpp:413
virtual unsigned int probeAllDevices()
Definition: NetLighthouse.cpp:72
virtual array< float > getNonlinearityCorrectedSpectrum(unsigned int deviceID, int% errorCode)
Definition: NetLighthouse.cpp:345
virtual NetLighthouseFlash Flash()
Definition: NetLighthouse.cpp:150
virtual array< float > getWavelengths(unsigned int deviceID, int %errorCode)
Definition: NetLighthouse.cpp:174
virtual array< float > nonlinearityCorrectSpectrum(unsigned int deviceID, int %errorCode, array< float >^% darkSpectrum, array< float >^% illuminatedSpectrum)
virtual NetLighthouseLed Led()
Definition: NetLighthouse.cpp:118
virtual void getAPIVersionNumber(unsigned int %major, unsigned int %minor, unsigned int %point)
Definition: NetLighthouse.cpp:48
virtual array< float > nonlinearityCorrectSpectrum(unsigned int deviceID, int %errorCode, array< float >^% illuminatedSpectrum)
virtual void setMulticastMsgResponseReadDelay(size_t milliseconds)
Definition: NetLighthouse.cpp:68
Definition: NetLighthouseAutonulling.h:13
Definition: NetLighthouseFlash.h:14
Definition: NetLighthouseGainMode.h:14
Definition: NetLighthouseGpio.h:14
Definition: NetLighthouseLamp.h:14
Definition: NetLighthouseLed.h:14
Definition: NetLighthouseNetworkConfiguration.h:21
Definition: NetLighthouseNonlinearity.h:14
Definition: NetLighthouseSerialPort.h:14
Definition: NetLighthouseShutter.h:14
Definition: NetLighthouseStrobe.h:14
Definition: NetLighthouseThermoelectric.h:14
Definition: NetLighthouseUserString.h:14