NetOceanDirectLighthouse  3.1.1
OceanDirect Lighthouse .NET API
NetLighthouse.h
1 #pragma once
2 #include "ManagedObject.h"
3 using NetOceanDirect::MemoryCleanup;
4 
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
19 };
20 
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
26  };
27 
29  array<float>^ spectrum;
30  unsigned long long int tickCount;
31  };
32 
33  ref class LighthouseDevices;
34  ref class NetLighthouseAutonulling;
37  ref class NetLighthouseStrobe;
38  ref class NetLighthouseGpio;
39  ref class NetLighthouseLamp;
40  ref class NetLighthouseLed;
43  ref class NetLighthouseNonlinearity;
44  ref class NetLighthouseSerialPort;
45  ref class NetLighthouseShutter;
46  ref class NetLighthouseUserString;
47  ref class NetLighthouseGainMode;
48  ref class NetLighthouseFlash;
49 
50  public ref class Lighthouse :
51  public NetOceanDirect::ManagedObject<LighthouseAPI, MemoryCleanup::noDeletion> {
52  protected:
53  Lighthouse();
54  static Lighthouse^ lighthouseInstance;
55  public:
56  Lighthouse(LighthouseAPI* instance) : ManagedObject(instance) {
57  }
58 
64  static Lighthouse^ getInstance() {
65  if (!lighthouseInstance) {
66  lighthouseInstance = gcnew Lighthouse();
67  }
68  return lighthouseInstance;
69  }
70 
71  virtual ~Lighthouse() {};
72 
73 
80  virtual void shutdown();
81 
88  virtual void getAPIVersionNumber(unsigned int %major, unsigned int %minor, unsigned int %point);
89  virtual void getAPIRCNumber(unsigned int %candidate);
90 
96  virtual void setMulticastMsgSendRetry(size_t retryCount);
97 
103  virtual void setMulticastMsgResponseReadRetry(size_t retryCount);
104 
110  virtual void setMulticastMsgResponseReadDelay(size_t milliseconds);
111 
124  virtual unsigned int probeAllDevices();
125 
135  virtual unsigned int probeUsbDevices();
136 
144  virtual unsigned int probeNetworkDevices();
145 
158  virtual void openDevice(unsigned int deviceID, int %errorCode);
159 
168  virtual void closeDevice(unsigned int deviceID, int %errorCode);
169 
179  //virtual String^ getDeviceType(unsigned int deviceID, int %errorCode);
180 
187  virtual NetLighthouseAutonulling^ AutoNulling();
188 
195  virtual NetLighthouseDeviceInformation^ DeviceInformation();
196 
202  virtual NetLighthouseSensorInformation^ SensorInformation();
203 
209  virtual NetLighthouseStrobe^ Strobe();
210 
216  virtual NetLighthouseGpio^ Gpio();
217 
222  virtual NetLighthouseLamp^ Lamp();
223 
229  virtual NetLighthouseLed^ Led();
230 
239  virtual NetLighthouseThermoelectric^ Thermoelectric();
240 
246  virtual NetLighthouseNetworkConfiguration^ Network();
247 
253  virtual NetLighthouseNonlinearity^ Nonlinearity();
254 
260  virtual NetLighthouseSerialPort^ SerialPort();
261 
266  virtual NetLighthouseShutter^ Shutter();
267 
272  virtual NetLighthouseUserString^ UserString();
273 
278  virtual NetLighthouseGainMode^ GainMode();
279 
284  virtual NetLighthouseFlash^ Flash();
285 
299  virtual void setNonLinearityCorrectionState(unsigned int deviceID, int %errorCode, net_lh_enable_state_t state);
300 
309  virtual net_lh_enable_state_t getNonLinearityCorrectionState(unsigned int deviceID, int %errorCode);
310 
322  virtual void setElectricDarkCorrectionState(unsigned int deviceID, int %errorCode, net_lh_enable_state_t state);
323 
332  virtual net_lh_enable_state_t getElectricDarkCorrectionState(unsigned int deviceID, int %errorCode);
333 
340  virtual array<float>^ getWavelengths(unsigned int deviceID, int %errorCode);
341 
348  virtual array<float>^ getWavelengthCoefficients(unsigned int deviceID, int %errorCode);
349 
361  virtual void setIntegrationTime(unsigned int deviceID, int %errorCode, unsigned int microseconds);
362 
369  virtual unsigned int getIntegrationTime(unsigned int deviceID, int %errorCode);
370 
378  virtual unsigned int getIntegrationTimeIncrement(unsigned int deviceID, int %errorCode);
379 
387  virtual unsigned int getMinimumIntegrationTime(unsigned int deviceID, int %errorCode);
388 
401  virtual unsigned int getMinimumAveragingIntegrationTime(unsigned int deviceID, int %errorCode);
402 
409  virtual unsigned int getMaximumIntegrationTime(unsigned int deviceID, int %errorCode);
410 
417  virtual unsigned int getMaximumIntensity(unsigned int deviceID, int %errorCode);
418 
425  virtual unsigned int getSpectrumLength(unsigned int deviceID, int %errorCode);
426 
433  virtual array<float>^ getSpectrum(unsigned int deviceID, int %errorCode);
434 
442  virtual NetLighthouseSpectrumWithMetadata^ getSpectrumWithMetadata(unsigned int deviceID, int %errorCode);
443 
451  virtual void setStoredDarkSpectrum(unsigned int deviceID, int %errorCode, array<float>^% darkSpectrum);
452 
460  virtual array<float>^ getStoredDarkSpectrum(unsigned int deviceID, int %errorCode);
461 
469  virtual array<float>^ getDarkCorrectedSpectrum(unsigned int deviceID, int% errorCode);
470 
480  virtual array<float>^ getDarkCorrectedSpectrum(unsigned int deviceID, int %errorCode, array<float>^% darkSpectrum);
481 
491  virtual array<float>^ darkCorrectSpectrum(unsigned int deviceID, int %errorCode, array<float>^% illuminatedSpectrum);
492 
504  virtual array<float>^ darkCorrectSpectrum(unsigned int deviceID, int %errorCode,
505  array<float>^% darkSpectrum, array<float>^% illuminatedSpectrum);
506 
515  virtual array<float>^ getNonlinearityCorrectedSpectrum(unsigned int deviceID, int% errorCode);
516 
527  virtual array<float>^ getNonlinearityCorrectedSpectrum(unsigned int deviceID, int %errorCode, array<float>^% darkSpectrum);
528 
540  virtual array<float>^ nonlinearityCorrectSpectrum(unsigned int deviceID, int %errorCode,
541  array<float>^% illuminatedSpectrum);
542 
554  virtual array<float>^ nonlinearityCorrectSpectrum(unsigned int deviceID, int %errorCode,
555  array<float>^% darkSpectrum, array<float>^% illuminatedSpectrum);
556 
565  array<float>^ boxcarCorrectSpectrum(long deviceID, int% errorCode, array<float>^% illuminatedSpectrum, unsigned short boxcarWidth);
566 
579  virtual void setScansToAverage(unsigned int deviceID, int% errorCode, unsigned int scansToAverage);
580 
587  virtual unsigned int getScansToAverage(unsigned int deviceID, int %errorCode);
588 
602  virtual void setBoxcarWidth(unsigned int deviceID, int% errorCode, unsigned short boxcarWidth);
603 
616  virtual unsigned short getBoxcarWidth(unsigned int deviceID, int %errorCode);
617 
624  virtual void setTriggerMode(unsigned int deviceID, int %errorCode, NetLighthouseTriggerMode mode);
625 
632  virtual NetLighthouseTriggerMode getTriggerMode(unsigned int deviceID, int %errorCode);
633 
640  virtual void setAcquisitionDelay(unsigned int deviceID, int %errorCode, unsigned int microseconds);
641 
648  virtual unsigned int getAcquisitionDelay(unsigned int deviceID, int %errorCode);
649 
658  virtual unsigned int getAcquisitionDelayIncrement(unsigned int deviceID, int %errorCode);
659 
666  virtual unsigned int getAcquisitionDelayMaximum(unsigned int deviceID, int %errorCode);
667 
674  virtual unsigned int getAcquisitionDelayMinimum(unsigned int deviceID, int %errorCode);
675 
683  virtual String^ getErrorMessage(int errorCode);
684 
691  virtual unsigned int getErrorMessageLength(int errorCode);
692 
703  virtual array<unsigned int>^ getDeviceIDs();
704 
715  virtual array<unsigned int>^ getNetworkDeviceIDs();
716  };
717 }
718 
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: NetLighthouseDeviceInformation.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: NetLighthouseSensorInformation.h:13
Definition: NetLighthouseSerialPort.h:14
Definition: NetLighthouseShutter.h:14
Definition: NetLighthouseStrobe.h:14
Definition: NetLighthouseThermoelectric.h:14
Definition: NetLighthouseUserString.h:14