NetOceanDirectLighthouse 3.1.3
OceanDirect Lighthouse .NET API
NetLighthouse.h
Go to the documentation of this file.
1#pragma once
2#include "ManagedObject.h"
3using NetOceanDirect::MemoryCleanup;
4
5public enum class net_lh_enable_state_t { off = lh_enable_state_t::off, on = lh_enable_state_t::on };
6public enum class net_lh_open_state_t { closed = lh_open_state_t::closed, open = lh_open_state_t::open };
7public enum class net_lh_ip_assign_mode_t { manual = lh_ip_assign_mode_t::manual, automatic = lh_ip_assign_mode_t::automatic };
8public 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
21namespace 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;
37 ref class NetLighthouseStrobe;
38 ref class NetLighthouseGpio;
39 ref class NetLighthouseLamp;
40 ref class NetLighthouseLed;
45 ref class NetLighthouseShutter;
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();
55 public:
56 Lighthouse(LighthouseAPI* instance) : ManagedObject(instance) {
57 }
58
65 if (!lighthouseInstance) {
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
188
196
203
209 virtual NetLighthouseStrobe^ Strobe();
210
216 virtual NetLighthouseGpio^ Gpio();
217
222 virtual NetLighthouseLamp^ Lamp();
223
229 virtual NetLighthouseLed^ Led();
230
240
247
254
261
266 virtual NetLighthouseShutter^ Shutter();
267
273
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
net_lh_ip_assign_mode_t
Definition NetLighthouse.h:7
net_lh_enable_state_t
Definition NetLighthouse.h:5
net_lh_open_state_t
Definition NetLighthouse.h:6
net_lh_baud_rate_t
Definition NetLighthouse.h:8
Definition NetLighthouse.h:51
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 ~Lighthouse()
Definition NetLighthouse.h:71
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 getAPIRCNumber(unsigned int %candidate)
Definition NetLighthouse.cpp:55
static Lighthouse lighthouseInstance
Definition NetLighthouse.h:54
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 array< float > nonlinearityCorrectSpectrum(unsigned int deviceID, int %errorCode, array< float >^% illuminatedSpectrum)
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 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 > darkCorrectSpectrum(unsigned int deviceID, int %errorCode, array< float >^% illuminatedSpectrum)
virtual String getErrorMessage(int errorCode)
Definition NetLighthouse.cpp:438
virtual unsigned int getScansToAverage(unsigned int deviceID, int %errorCode)
Definition NetLighthouse.cpp:381
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
Lighthouse()
Definition NetLighthouse.cpp:41
virtual void setTriggerMode(unsigned int deviceID, int %errorCode, NetLighthouseTriggerMode mode)
Definition NetLighthouse.cpp:401
virtual array< float > darkCorrectSpectrum(unsigned int deviceID, int %errorCode, array< float >^% darkSpectrum, array< float >^% illuminatedSpectrum)
virtual void setNonLinearityCorrectionState(unsigned int deviceID, int %errorCode, net_lh_enable_state_t state)
Definition NetLighthouse.cpp:154
virtual array< float > getNonlinearityCorrectedSpectrum(unsigned int deviceID, int %errorCode, array< float >^% darkSpectrum)
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 array< float > nonlinearityCorrectSpectrum(unsigned int deviceID, int %errorCode, array< float >^% darkSpectrum, array< float >^% illuminatedSpectrum)
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
Lighthouse(LighthouseAPI *instance)
Definition NetLighthouse.h:56
virtual array< float > getWavelengths(unsigned int deviceID, int %errorCode)
Definition NetLighthouse.cpp:174
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 > getDarkCorrectedSpectrum(unsigned int deviceID, int %errorCode, array< float >^% darkSpectrum)
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
Definition NetLighthouse.h:21
NetLighthouseTriggerMode
Definition NetLighthouse.h:22
array< float > spectrum
Definition NetLighthouse.h:29
unsigned long long int tickCount
Definition NetLighthouse.h:30