ilabs-flir 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/Flir.podspec +31 -31
  2. package/README.md +1271 -1271
  3. package/android/Flir/build.gradle.kts +85 -80
  4. package/android/Flir/libs/flir-stubs.jar +0 -0
  5. package/android/Flir/src/main/AndroidManifest.xml +31 -31
  6. package/android/Flir/src/main/java/com/flir/thermalsdk/ErrorCode.java +13 -0
  7. package/android/Flir/src/main/java/com/flir/thermalsdk/ErrorCodeException.java +14 -0
  8. package/android/Flir/src/main/java/com/flir/thermalsdk/ThermalSdkAndroid.java +16 -0
  9. package/android/Flir/src/main/java/com/flir/thermalsdk/androidsdk/image/BitmapAndroid.java +20 -0
  10. package/android/Flir/src/main/java/com/flir/thermalsdk/image/ImageBuffer.java +11 -0
  11. package/android/Flir/src/main/java/com/flir/thermalsdk/image/JavaImageBuffer.java +35 -0
  12. package/android/Flir/src/main/java/com/flir/thermalsdk/image/Palette.java +15 -0
  13. package/android/Flir/src/main/java/com/flir/thermalsdk/image/PaletteManager.java +16 -0
  14. package/android/Flir/src/main/java/com/flir/thermalsdk/image/Point.java +11 -0
  15. package/android/Flir/src/main/java/com/flir/thermalsdk/image/ThermalImage.java +23 -0
  16. package/android/Flir/src/main/java/com/flir/thermalsdk/image/ThermalValue.java +9 -0
  17. package/android/Flir/src/main/java/com/flir/thermalsdk/live/Camera.java +26 -0
  18. package/android/Flir/src/main/java/com/flir/thermalsdk/live/CameraType.java +8 -0
  19. package/android/Flir/src/main/java/com/flir/thermalsdk/live/CommunicationInterface.java +16 -0
  20. package/android/Flir/src/main/java/com/flir/thermalsdk/live/ConnectParameters.java +16 -0
  21. package/android/Flir/src/main/java/com/flir/thermalsdk/live/Identity.java +23 -0
  22. package/android/Flir/src/main/java/com/flir/thermalsdk/live/IpSettings.java +9 -0
  23. package/android/Flir/src/main/java/com/flir/thermalsdk/live/RemoteControl.java +16 -0
  24. package/android/Flir/src/main/java/com/flir/thermalsdk/live/connectivity/ConnectionStatusListener.java +7 -0
  25. package/android/Flir/src/main/java/com/flir/thermalsdk/live/discovery/DiscoveryEventListener.java +14 -0
  26. package/android/Flir/src/main/java/com/flir/thermalsdk/live/discovery/DiscoveryFactory.java +33 -0
  27. package/android/Flir/src/main/java/com/flir/thermalsdk/live/remote/OnReceived.java +5 -0
  28. package/android/Flir/src/main/java/com/flir/thermalsdk/live/remote/OnRemoteError.java +7 -0
  29. package/android/Flir/src/main/java/com/flir/thermalsdk/live/streaming/Stream.java +8 -0
  30. package/android/Flir/src/main/java/com/flir/thermalsdk/live/streaming/ThermalStreamer.java +28 -0
  31. package/android/Flir/src/main/java/com/flir/thermalsdk/live/streaming/VisualStreamer.java +18 -0
  32. package/android/Flir/src/main/java/flir/android/FlirCommands.java +136 -0
  33. package/android/Flir/src/main/java/flir/android/FlirDownloadManager.kt +76 -75
  34. package/android/Flir/src/main/java/flir/android/FlirDownloadPackage.kt +16 -16
  35. package/android/Flir/src/main/java/flir/android/FlirFrameCache.kt +6 -6
  36. package/android/Flir/src/main/java/flir/android/FlirManager.kt +477 -248
  37. package/android/Flir/src/main/java/flir/android/FlirModule.kt +74 -74
  38. package/android/Flir/src/main/java/flir/android/FlirPackage.kt +19 -19
  39. package/android/Flir/src/main/java/flir/android/FlirSDKLoader.kt +165 -117
  40. package/android/Flir/src/main/java/flir/android/FlirSdkManager.java +1511 -0
  41. package/android/Flir/src/main/java/flir/android/FlirStatus.kt +12 -12
  42. package/android/Flir/src/main/java/flir/android/FlirView.kt +48 -48
  43. package/android/Flir/src/main/java/flir/android/FlirViewManager.kt +13 -13
  44. package/app.plugin.js +264 -264
  45. package/expo-module.config.json +5 -5
  46. package/ios/Flir/Framework/ThermalSDK/FLIRBattery.h +76 -76
  47. package/ios/Flir/Framework/ThermalSDK/FLIRCalibration.h +108 -108
  48. package/ios/Flir/Framework/ThermalSDK/FLIRCamera.h +156 -156
  49. package/ios/Flir/Framework/ThermalSDK/FLIRCameraDeviceInfo.h +53 -53
  50. package/ios/Flir/Framework/ThermalSDK/FLIRCameraEvent.h +132 -132
  51. package/ios/Flir/Framework/ThermalSDK/FLIRCameraImport.h +204 -204
  52. package/ios/Flir/Framework/ThermalSDK/FLIRColorDistributionSettings.h +204 -204
  53. package/ios/Flir/Framework/ThermalSDK/FLIRColorizer.h +82 -82
  54. package/ios/Flir/Framework/ThermalSDK/FLIRDiscoveredCamera.h +44 -44
  55. package/ios/Flir/Framework/ThermalSDK/FLIRDiscovery.h +132 -132
  56. package/ios/Flir/Framework/ThermalSDK/FLIRDisplaySettings.h +29 -29
  57. package/ios/Flir/Framework/ThermalSDK/FLIRFocus.h +70 -70
  58. package/ios/Flir/Framework/ThermalSDK/FLIRFusion.h +192 -192
  59. package/ios/Flir/Framework/ThermalSDK/FLIRFusionController.h +136 -136
  60. package/ios/Flir/Framework/ThermalSDK/FLIRFusionTransformation.h +35 -35
  61. package/ios/Flir/Framework/ThermalSDK/FLIRIdentity.h +264 -264
  62. package/ios/Flir/Framework/ThermalSDK/FLIRImageBase.h +196 -196
  63. package/ios/Flir/Framework/ThermalSDK/FLIRImageColorizer.h +26 -26
  64. package/ios/Flir/Framework/ThermalSDK/FLIRImageStatistics.h +61 -61
  65. package/ios/Flir/Framework/ThermalSDK/FLIRIsotherms.h +208 -208
  66. package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementArea.h +38 -38
  67. package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementCollection.h +147 -147
  68. package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementDelta.h +62 -62
  69. package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementDimensions.h +33 -33
  70. package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementEllipse.h +49 -49
  71. package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementLine.h +66 -66
  72. package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementMarker.h +69 -69
  73. package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementParameters.h +41 -41
  74. package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementRectangle.h +36 -36
  75. package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementReference.h +27 -27
  76. package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementShape.h +46 -46
  77. package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementSpot.h +33 -33
  78. package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementsController.h +160 -160
  79. package/ios/Flir/Framework/ThermalSDK/FLIRMeterLinkSensorPoll.h +247 -247
  80. package/ios/Flir/Framework/ThermalSDK/FLIROverlayController.h +27 -27
  81. package/ios/Flir/Framework/ThermalSDK/FLIRPalette.h +60 -60
  82. package/ios/Flir/Framework/ThermalSDK/FLIRPaletteController.h +36 -36
  83. package/ios/Flir/Framework/ThermalSDK/FLIRPaletteManager.h +97 -97
  84. package/ios/Flir/Framework/ThermalSDK/FLIRQuantification.h +55 -55
  85. package/ios/Flir/Framework/ThermalSDK/FLIRRemoteControl.h +393 -393
  86. package/ios/Flir/Framework/ThermalSDK/FLIRRenderer.h +35 -35
  87. package/ios/Flir/Framework/ThermalSDK/FLIRRendererImpl.h +17 -17
  88. package/ios/Flir/Framework/ThermalSDK/FLIRScale.h +99 -99
  89. package/ios/Flir/Framework/ThermalSDK/FLIRScaleController.h +44 -44
  90. package/ios/Flir/Framework/ThermalSDK/FLIRStream.h +109 -109
  91. package/ios/Flir/Framework/ThermalSDK/FLIRStreamer.h +124 -124
  92. package/ios/Flir/Framework/ThermalSDK/FLIRSystem.h +40 -40
  93. package/ios/Flir/Framework/ThermalSDK/FLIRTemperatureRange.h +43 -43
  94. package/ios/Flir/Framework/ThermalSDK/FLIRThermalDelta.h +77 -77
  95. package/ios/Flir/Framework/ThermalSDK/FLIRThermalImage.h +331 -331
  96. package/ios/Flir/Framework/ThermalSDK/FLIRThermalImageFile.h +56 -56
  97. package/ios/Flir/Framework/ThermalSDK/FLIRThermalParameters.h +31 -31
  98. package/ios/Flir/Framework/ThermalSDK/FLIRThermalValue.h +92 -92
  99. package/ios/Flir/Framework/ThermalSDK/FLIRWirelessCameraDetails.h +88 -88
  100. package/ios/Flir/Framework/ThermalSDK/ThermalSDK.h +73 -73
  101. package/ios/Flir/SDKLoader/FlirSDKLoader.m +13 -13
  102. package/ios/Flir/SDKLoader/FlirSDKLoader.swift +175 -175
  103. package/ios/Flir/src/FlirEventEmitter.h +12 -12
  104. package/ios/Flir/src/FlirEventEmitter.m +33 -33
  105. package/ios/Flir/src/FlirModule.h +10 -10
  106. package/ios/Flir/src/FlirModule.m +381 -381
  107. package/ios/Flir/src/FlirPreviewView.h +13 -13
  108. package/ios/Flir/src/FlirPreviewView.m +24 -24
  109. package/ios/Flir/src/FlirState.h +20 -20
  110. package/ios/Flir/src/FlirState.m +79 -79
  111. package/ios/Flir/src/FlirViewManager.h +9 -9
  112. package/ios/Flir/src/FlirViewManager.m +16 -16
  113. package/package.json +60 -60
  114. package/react-native.config.js +14 -14
  115. package/scripts/copy_ios_libs.sh +32 -32
  116. package/scripts/create_stubs.py +174 -174
  117. package/scripts/download-sdk.js +62 -62
  118. package/scripts/prepare-binaries.sh +171 -171
  119. package/sdk-manifest.json +37 -30
  120. package/src/FlirDownload.ts +78 -78
  121. package/src/index.d.ts +17 -17
  122. package/src/index.js +7 -7
  123. package/src/index.ts +7 -7
  124. package/android/Flir/src/main/java/flir/android/CameraHandler.java +0 -194
  125. package/android/Flir/src/main/java/flir/android/FlirController.kt +0 -11
  126. package/android/Flir/src/main/java/flir/android/FrameDataHolder.java +0 -14
@@ -1,393 +1,393 @@
1
- //
2
- // FLIRRemoteControl.h
3
- // FLIR Thermal SDK
4
- //
5
- // Created on 2018-09-05.
6
- // Copyright © 2019 Teledyne FLIR. All rights reserved.
7
- //
8
- // Camera remote control. Can read, manipulate and listen for events from a Camera.
9
- //
10
-
11
- #pragma once
12
-
13
- #import <Foundation/Foundation.h>
14
- #import "FLIRIdentity.h"
15
- #import "FLIRBattery.h"
16
- #import "FLIRCalibration.h"
17
- #import "FLIRFusionController.h"
18
- #import "FLIRCameraImport.h"
19
- #import "FLIRThermalValue.h"
20
-
21
- /**
22
- * Path to a stored image (or IR+visual pair of images) on a camera.
23
- */
24
- @interface FLIRStoredImage : NSObject
25
- /** Reference to the thermalimage */
26
- @property (nonatomic, nonnull, readwrite) FLIRFileReference *thermalImage;
27
- /** Reference to the visualimage. */
28
- @property (nonatomic, nullable, readwrite) FLIRFileReference *visualImage;
29
- @end
30
-
31
-
32
- /**
33
- * Describes a state of a FLIR camera.
34
- */
35
- typedef NS_ENUM(NSUInteger, FLIRCameraState)
36
- {
37
- /** Camera is not ready */
38
- NOT_READY,
39
- /** Camera is cooling down */
40
- COOLING,
41
- /** Camera is ready */
42
- READY
43
- };
44
-
45
- /**
46
- * Progress status for firmware update. (Internal use only.)
47
- */
48
- typedef NS_ENUM(NSUInteger, FLIRFirmwareUpdateStatus)
49
- {
50
- /// no firmware update is started
51
- US_noUpdate,
52
- /// information on firmware update progress
53
- US_info,
54
- /// the firmware update failed, camera will be rebooted
55
- US_failure,
56
- /// the firmware update was successful, camera will be rebooted
57
- US_success,
58
- /// the firmware update is ongoing, camera is rebooting
59
- US_rebooting,
60
- /// the firmware update starts writing a package
61
- US_startWritingPackage,
62
- /// the firmware update has written a package
63
- US_doneWritingPackage,
64
- /// there was a failure writing a package
65
- US_failureWritingPackage,
66
- /// the firmware update starts
67
- US_startExecutingUpdate,
68
- /// the firmware update is done
69
- US_doneExecutingUpdate,
70
- /// the firmware update cannot start, since the camera is in normal mode instead of upgrade mode
71
- US_failureInvalidMode,
72
- /// the package write failed, retry
73
- US_retryWritingPackage
74
- };
75
-
76
- /// Time format for time display on camera
77
- typedef NS_ENUM(NSUInteger, FLIRTimeDisplayFormat)
78
- {
79
- /// 12h (e.g. 1.00 pm)
80
- TF_t12H,
81
- /// 24h (e.g. 13.00)
82
- TF_t24H
83
- };
84
-
85
- /// Date format for date display on camera
86
- typedef NS_ENUM(NSUInteger, FLIRDateDisplayFormat)
87
- {
88
- /// YYYY-MM-DD
89
- DF_ymd,
90
- /// MM/DD/YYYY
91
- DF_mdy,
92
- /// DD/MM/YYYY
93
- DF_dmy
94
- };
95
-
96
- /// Operating modes used by cameras for firefighting
97
- typedef NS_ENUM(NSUInteger, FLIRFireCameraMode)
98
- {
99
- FLIRFireCameraMode_basic, ///< Default mode for firefighting. Basic mode on K45, K55. TI Basic NFPA on K65.
100
- FLIRFireCameraMode_search, ///< Search mode.
101
- FLIRFireCameraMode_detection, ///< Detection mode.
102
- FLIRFireCameraMode_fire, ///< Fire mode. Similar to Basic/NFPA mode but with a higher threshold for heat colorization.
103
- FLIRFireCameraMode_whiteHot, ///< White hot mode.
104
- };
105
-
106
- @interface FLIRFireCameraModeObject : NSObject
107
- @property (nonatomic, assign) FLIRFireCameraMode mode;
108
- @end
109
-
110
- @interface FLIRFireCameraTemperatureRange : NSObject
111
- @property (nonatomic, assign) NSInteger minKelvin;
112
- @property (nonatomic, assign) NSInteger maxKelvin;
113
- @property (nonatomic, assign) BOOL isAuto;
114
- @end
115
-
116
- @interface FLIRFireCameraModeController : NSObject
117
- - (BOOL)getAvailable;
118
- - (BOOL)setAvailable:(BOOL)visible error:(out NSError * _Nullable * _Nullable)error;
119
- - (BOOL)getReadOnly;
120
- - (FLIRFireCameraTemperatureRange * _Nullable)getTemperatureRange:(out NSError * _Nullable * _Nullable)error;
121
- @end
122
-
123
- /// GUI HotSpot shapes used by cameras for firefighting.
124
- typedef NS_ENUM(NSUInteger, FLIRHotSpotShape)
125
- {
126
- FLIRHotSpotShape_disabled, ///< Disabled.
127
- FLIRHotSpotShape_nfpa, ///< NFPA/basic mode style.
128
- FLIRHotSpotShape_crosshair ///< Crosshair style.
129
- };
130
-
131
- typedef NS_ENUM(NSUInteger, FLIRSingleTriggerBehaviour)
132
- {
133
- FLIRSingleTriggerBehaviour_save, ///< save a still image
134
- FLIRSingleTriggerBehaviour_freeze, ///< freeze image
135
- FLIRSingleTriggerBehaviour_none, ///< no effect
136
- FLIRSingleTriggerBehaviour_record ///< record video
137
- };
138
-
139
- @interface FLIRDualTriggerBehaviour : NSObject
140
- @property (nonatomic, assign) FLIRSingleTriggerBehaviour shortPress;
141
- @property (nonatomic, assign) FLIRSingleTriggerBehaviour longPress;
142
- @end
143
-
144
- /**
145
- * Internal interface for firmware update of FLIR One
146
- */
147
- @interface FLIRFirmwareUpdate : NSObject
148
- @end
149
-
150
- /**
151
- * Video recorder for network cameras
152
- */
153
- @interface FLIRVideoRecorder : NSObject
154
- - (BOOL)start:(out NSError * _Nullable *_Nullable)error;
155
- - (BOOL)stop:(out NSError * _Nullable *_Nullable)error;
156
-
157
- @property (nonatomic, readonly) BOOL isRecording;
158
-
159
- - (BOOL)subscribeVideoRecorder:(out NSError * _Nullable *_Nullable)error;
160
- - (void)unsubscribeVideoRecorder;
161
-
162
- @end
163
-
164
- /**
165
- * Controller for general camera settings
166
- */
167
- @interface FLIRCameraUISettingsController : NSObject
168
-
169
- - (TemperatureUnit)getTemperatureUnit;
170
- - (BOOL)setTemperatureUnit:(TemperatureUnit)unit error:(out NSError * _Nullable * _Nullable)error;
171
- - (FLIRDateDisplayFormat)getDateDisplayFormat;
172
- - (BOOL)setDateDisplayFormat:(FLIRDateDisplayFormat)format error:(out NSError * _Nullable * _Nullable)error;
173
- - (FLIRTimeDisplayFormat)getTimeDisplayFormat;
174
- - (BOOL)setTimeDisplayFormat:(FLIRTimeDisplayFormat)format error:(out NSError * _Nullable * _Nullable)error;
175
-
176
- @end
177
-
178
- @interface FLIRFireCameraController : NSObject
179
-
180
- - (FLIRFireCameraMode)getCurrentMode;
181
- - (BOOL)setCurrentMode:(FLIRFireCameraMode)mode error:(out NSError * _Nullable * _Nullable)error;
182
- - (NSArray<FLIRFireCameraModeObject *> *_Nullable)getAllModes:(out NSError * _Nullable * _Nullable)error;
183
- - (NSArray<FLIRFireCameraModeObject *> *_Nullable)getAvailableModes:(out NSError * _Nullable * _Nullable)error;
184
-
185
- - (FLIRHotSpotShape)getHotSpotShape;
186
- - (BOOL)setHotSpotShape:(FLIRHotSpotShape)shape error:(out NSError * _Nullable * _Nullable)error;
187
-
188
- - (BOOL)getShowTemperatureBar;
189
- - (BOOL)setShowTemperatureBar:(BOOL)show error:(out NSError * _Nullable * _Nullable)error;
190
- - (BOOL)getShowReferenceBar;
191
- - (BOOL)setShowReferenceBar:(BOOL)show error:(out NSError * _Nullable * _Nullable)error;
192
- - (BOOL)getShowDigitalReadout;
193
- - (BOOL)setShowDigitalReadout:(BOOL)show error:(out NSError * _Nullable * _Nullable)error;
194
-
195
- - (FLIRDualTriggerBehaviour *_Nullable)getDualTriggerBehaviour:(out NSError * _Nullable *_Nullable)error;
196
- - (BOOL)setDualTriggerBehaviour:(FLIRDualTriggerBehaviour *_Nonnull)behaviour error:(out NSError * _Nullable *_Nullable)error;
197
- - (NSArray<FLIRDualTriggerBehaviour *> *_Nullable)getAvailableDualTriggerBehaviours:(out NSError * _Nullable *_Nullable)error;
198
-
199
- - (BOOL)getBlackBox;
200
- - (BOOL)setBlackBox:(BOOL)blackBox error:(out NSError * _Nullable * _Nullable)error;
201
-
202
- - (FLIRFireCameraModeController *_Nullable)getFireCameraModeController:(FLIRFireCameraMode)mode error:(out NSError * _Nullable * _Nullable)error;
203
-
204
- - (BOOL)getAllowChanges;
205
- - (BOOL)subscribeAllowChanges:(out NSError * _Nullable * _Nullable)error;
206
- - (void)unsubscribeAllowChanges;
207
- - (BOOL)resetParameters:(out NSError * _Nullable * _Nullable)error;
208
-
209
- @end
210
-
211
- /**
212
- * Camera image storage control interface.
213
- */
214
- @interface FLIRStorage : NSObject
215
-
216
- /**
217
- * Get the latest image that was stored in the camera.
218
- * This property will be updated when the file is completely written to storage,
219
- * so there may be some delay from when the picture is taken till the property is updated.
220
- * Note: this call is blocking.
221
- */
222
- -(nullable FLIRStoredImage *) getLastStoredImage:(out NSError * _Nullable *_Nullable)error;
223
-
224
- /** Subscribes for camera last stored image notifications. */
225
- -(BOOL) subscribeLastStoredImage: (out NSError * _Nullable *_Nullable)error;
226
- /** Revokes subscription for last stored image. */
227
- -(void) unsubscribeLastStoredImage;
228
-
229
-
230
- /** Check if camera has snapshot capability */
231
- - (BOOL)snapshotIsAvailable;
232
-
233
- /** Request camera to store an image into the image storage and return it.
234
- */
235
- - (FLIRStoredImage * _Nullable)snapshot:(out NSError * _Nullable * _Nullable)error;
236
-
237
- @end
238
-
239
- /**
240
- * Delegate to return events from a connectad camera.
241
- */
242
- @protocol FLIRRemoteDelegate <NSObject>
243
-
244
- @optional
245
-
246
- #pragma mark - Battery
247
- /** Called when battery charging state changes. */
248
- -(void)ChargingStateChanged:(FLIRChargingState) state;
249
- /** Called when remaining battery power changes. */
250
- -(void)PercentageChanged:(int) percent;
251
-
252
- #pragma mark - Calibration
253
- /** Called when a NUC state changes. */
254
- -(void)CalibrationStateChanged:(BOOL) isActive;
255
- /** Called when a NUC state changes, with the NUC state as parameter */
256
- - (void)nucStateChanged: (FLIRNucState)state;
257
- /** Called when shutter state changes */
258
- - (void)shutterStateChanged: (FLIRShutterState)state;
259
-
260
- #pragma mark - Storage
261
- /** Called when new image was taken on the camera. */
262
- -(void)lastStoredImageChanged:(FLIRStoredImage *_Nonnull) laststore;
263
-
264
- /** Called when state is changing, if subscribing */
265
- - (void)cameraStateChanged: (FLIRCameraState)newState;
266
-
267
- /** Called when cameraInformation is changing, if subscribing */
268
- - (void)cameraInformationChanged: (FLIRCameraInformation*_Nonnull)newInformation;
269
-
270
- /** Called when laserOn is changing, if subscribing */
271
- - (void)cameraIsLaserOnChanged: (BOOL)newIsLaserOn;
272
-
273
- #pragma mark - TemperatureRange
274
- /** Called when selected temperature range changes, if subscribing */
275
- - (void)selectedTemperatureRangeIndexChanged: (int)index;
276
-
277
- #pragma mark - FusionController
278
- /** Called when fusion activeChannel is changing, if subscribing */
279
- - (void)activeChannelChanged: (FLIRChannelType)newActiveChannel;
280
-
281
- #pragma mark - ScaleController
282
- /** Called when scale controller auto adjust is chaning, if subscribing */
283
- - (void)autoAdjustChanged: (BOOL)autoAdjust;
284
-
285
- /** Called when status changes in an ongoing firmware update */
286
- -(void)updateStatusChanged:(FLIRFirmwareUpdateStatus) status;
287
-
288
- #pragma mark - VideoRecorder
289
- /** Called when recording has started or stopped */
290
- - (void)videoRecorderChanged:(BOOL)isRecording;
291
-
292
- #pragma mark - FireCameraController
293
- /// Called when allowChanges is changed.
294
- - (void)allowChangesChanged:(BOOL)allowChanges;
295
-
296
-
297
- @end
298
-
299
- @class FLIRTemperatureRange;
300
- @class FLIRSystem;
301
- @class FLIRFocus;
302
- @class FLIRPaletteController;
303
- @class FLIRFusionController;
304
- @class FLIRMeasurementsController;
305
- @class FLIRScaleController;
306
- @class FLIROverlayController;
307
-
308
- /**
309
- * Camera remote control. Can read, manipulate and listen on events from a Camera.
310
- */
311
- @interface FLIRRemoteControl : NSObject
312
-
313
- /**
314
- * A delegate to handle the events.
315
- */
316
- @property (nonatomic, assign, nullable) id<FLIRRemoteDelegate> delegate;
317
-
318
- /**
319
- * Fetch information about that device.
320
- *
321
- * @note This is a synchronous call to the camera, which blocks until the result is retrieved or an error occurs.
322
- * @param error Out parameter filled with an error object on failure, or nil on success.
323
- * @return The result object on success, or nil on failure.
324
- */
325
- -(nullable FLIRCameraInformation*)getCameraInformation:(out NSError * _Nullable * _Nullable)error;
326
-
327
- /** subscribe to changes on camera information, delegate will be called when camera information changes */
328
- - (BOOL)subscribeCameraInformation: (out NSError * _Nullable *_Nullable)error;
329
-
330
- /**
331
- * Get the Battery interface to monitor camera battery status.
332
- *
333
- * @return Battery object if it's available, or nil if the Camera model has no battery support.
334
- */
335
- -(nullable FLIRBattery *) getBattery;
336
-
337
- /**
338
- * Get the camera calibration control interface.
339
- *
340
- * @return Calibration object if it's available, or nil if the Camera model has no calibration support.
341
- */
342
- -(FLIRCalibration* _Nullable) getCalibration;
343
-
344
- /**
345
- * Get the Storage interface to interact with camera storage (i.e. internal storage or SD card).
346
- *
347
- * @return Storage object if it's available, or nil if the Camera model has no storage support.
348
- */
349
- -(FLIRStorage* _Nullable) getStorage;
350
-
351
- /**
352
- * Check if the camera is ready for connecting a stream.
353
- */
354
- - (FLIRCameraState)getCameraReady;
355
-
356
- /** subscribe to changes on camera state, delegate will be called when camera state changes */
357
- - (BOOL)subscribeCameraState: (out NSError * _Nullable *_Nullable)error;
358
-
359
- /** Check if the laser is on */
360
- - (BOOL)getLaserOn;
361
- /** turn on or of the laser */
362
- - (BOOL)setLaserOn: (BOOL)laserOn error: (out NSError * _Nullable *_Nullable)error;
363
-
364
- /** subscribe to changes on laser on, delegate will be called when laser on changes */
365
- - (BOOL)subscribeIsLaserOn: (out NSError * _Nullable *_Nullable)error;
366
- /** unsubscribe to changes on laser on */
367
- - (void)unsubscribeIsLaserOn;
368
-
369
- /** get the temperature range interface */
370
- - (FLIRTemperatureRange * _Nullable)getTemperatureRange;
371
- /** get remote system parameters interface */
372
- - (FLIRSystem* _Nullable)getSystem;
373
- /** get remote focus parameters interface */
374
- - (FLIRFocus* _Nullable)getFocus;
375
- /** get remote palette controller interface */
376
- - (FLIRPaletteController * _Nullable)getPaletteController;
377
- /** get remote fusion controller interface */
378
- - (FLIRFusionController * _Nullable)getFusionController;
379
- /** get remote measurements controller interface */
380
- - (FLIRMeasurementsController * _Nullable)getMeasurementsController;
381
- /** get the scale controller interface */
382
- - (FLIRScaleController * _Nullable)getScaleController;
383
- /** get the overlay controller interface */
384
- - (FLIROverlayController * _Nullable)getOverlayController;
385
- /** get firmware update (only for internal use) */
386
- - (FLIRFirmwareUpdate * _Nullable)getFirmwareUpdate;
387
- /** get video recorder */
388
- - (FLIRVideoRecorder * _Nullable)getVideoRecorder;
389
- /** get camera settings controller */
390
- - (FLIRCameraUISettingsController * _Nullable)getCameraUISettingsController;
391
- /// get fire camera controller
392
- - (FLIRFireCameraController * _Nullable)getFireCameraController;
393
- @end
1
+ //
2
+ // FLIRRemoteControl.h
3
+ // FLIR Thermal SDK
4
+ //
5
+ // Created on 2018-09-05.
6
+ // Copyright © 2019 Teledyne FLIR. All rights reserved.
7
+ //
8
+ // Camera remote control. Can read, manipulate and listen for events from a Camera.
9
+ //
10
+
11
+ #pragma once
12
+
13
+ #import <Foundation/Foundation.h>
14
+ #import "FLIRIdentity.h"
15
+ #import "FLIRBattery.h"
16
+ #import "FLIRCalibration.h"
17
+ #import "FLIRFusionController.h"
18
+ #import "FLIRCameraImport.h"
19
+ #import "FLIRThermalValue.h"
20
+
21
+ /**
22
+ * Path to a stored image (or IR+visual pair of images) on a camera.
23
+ */
24
+ @interface FLIRStoredImage : NSObject
25
+ /** Reference to the thermalimage */
26
+ @property (nonatomic, nonnull, readwrite) FLIRFileReference *thermalImage;
27
+ /** Reference to the visualimage. */
28
+ @property (nonatomic, nullable, readwrite) FLIRFileReference *visualImage;
29
+ @end
30
+
31
+
32
+ /**
33
+ * Describes a state of a FLIR camera.
34
+ */
35
+ typedef NS_ENUM(NSUInteger, FLIRCameraState)
36
+ {
37
+ /** Camera is not ready */
38
+ NOT_READY,
39
+ /** Camera is cooling down */
40
+ COOLING,
41
+ /** Camera is ready */
42
+ READY
43
+ };
44
+
45
+ /**
46
+ * Progress status for firmware update. (Internal use only.)
47
+ */
48
+ typedef NS_ENUM(NSUInteger, FLIRFirmwareUpdateStatus)
49
+ {
50
+ /// no firmware update is started
51
+ US_noUpdate,
52
+ /// information on firmware update progress
53
+ US_info,
54
+ /// the firmware update failed, camera will be rebooted
55
+ US_failure,
56
+ /// the firmware update was successful, camera will be rebooted
57
+ US_success,
58
+ /// the firmware update is ongoing, camera is rebooting
59
+ US_rebooting,
60
+ /// the firmware update starts writing a package
61
+ US_startWritingPackage,
62
+ /// the firmware update has written a package
63
+ US_doneWritingPackage,
64
+ /// there was a failure writing a package
65
+ US_failureWritingPackage,
66
+ /// the firmware update starts
67
+ US_startExecutingUpdate,
68
+ /// the firmware update is done
69
+ US_doneExecutingUpdate,
70
+ /// the firmware update cannot start, since the camera is in normal mode instead of upgrade mode
71
+ US_failureInvalidMode,
72
+ /// the package write failed, retry
73
+ US_retryWritingPackage
74
+ };
75
+
76
+ /// Time format for time display on camera
77
+ typedef NS_ENUM(NSUInteger, FLIRTimeDisplayFormat)
78
+ {
79
+ /// 12h (e.g. 1.00 pm)
80
+ TF_t12H,
81
+ /// 24h (e.g. 13.00)
82
+ TF_t24H
83
+ };
84
+
85
+ /// Date format for date display on camera
86
+ typedef NS_ENUM(NSUInteger, FLIRDateDisplayFormat)
87
+ {
88
+ /// YYYY-MM-DD
89
+ DF_ymd,
90
+ /// MM/DD/YYYY
91
+ DF_mdy,
92
+ /// DD/MM/YYYY
93
+ DF_dmy
94
+ };
95
+
96
+ /// Operating modes used by cameras for firefighting
97
+ typedef NS_ENUM(NSUInteger, FLIRFireCameraMode)
98
+ {
99
+ FLIRFireCameraMode_basic, ///< Default mode for firefighting. Basic mode on K45, K55. TI Basic NFPA on K65.
100
+ FLIRFireCameraMode_search, ///< Search mode.
101
+ FLIRFireCameraMode_detection, ///< Detection mode.
102
+ FLIRFireCameraMode_fire, ///< Fire mode. Similar to Basic/NFPA mode but with a higher threshold for heat colorization.
103
+ FLIRFireCameraMode_whiteHot, ///< White hot mode.
104
+ };
105
+
106
+ @interface FLIRFireCameraModeObject : NSObject
107
+ @property (nonatomic, assign) FLIRFireCameraMode mode;
108
+ @end
109
+
110
+ @interface FLIRFireCameraTemperatureRange : NSObject
111
+ @property (nonatomic, assign) NSInteger minKelvin;
112
+ @property (nonatomic, assign) NSInteger maxKelvin;
113
+ @property (nonatomic, assign) BOOL isAuto;
114
+ @end
115
+
116
+ @interface FLIRFireCameraModeController : NSObject
117
+ - (BOOL)getAvailable;
118
+ - (BOOL)setAvailable:(BOOL)visible error:(out NSError * _Nullable * _Nullable)error;
119
+ - (BOOL)getReadOnly;
120
+ - (FLIRFireCameraTemperatureRange * _Nullable)getTemperatureRange:(out NSError * _Nullable * _Nullable)error;
121
+ @end
122
+
123
+ /// GUI HotSpot shapes used by cameras for firefighting.
124
+ typedef NS_ENUM(NSUInteger, FLIRHotSpotShape)
125
+ {
126
+ FLIRHotSpotShape_disabled, ///< Disabled.
127
+ FLIRHotSpotShape_nfpa, ///< NFPA/basic mode style.
128
+ FLIRHotSpotShape_crosshair ///< Crosshair style.
129
+ };
130
+
131
+ typedef NS_ENUM(NSUInteger, FLIRSingleTriggerBehaviour)
132
+ {
133
+ FLIRSingleTriggerBehaviour_save, ///< save a still image
134
+ FLIRSingleTriggerBehaviour_freeze, ///< freeze image
135
+ FLIRSingleTriggerBehaviour_none, ///< no effect
136
+ FLIRSingleTriggerBehaviour_record ///< record video
137
+ };
138
+
139
+ @interface FLIRDualTriggerBehaviour : NSObject
140
+ @property (nonatomic, assign) FLIRSingleTriggerBehaviour shortPress;
141
+ @property (nonatomic, assign) FLIRSingleTriggerBehaviour longPress;
142
+ @end
143
+
144
+ /**
145
+ * Internal interface for firmware update of FLIR One
146
+ */
147
+ @interface FLIRFirmwareUpdate : NSObject
148
+ @end
149
+
150
+ /**
151
+ * Video recorder for network cameras
152
+ */
153
+ @interface FLIRVideoRecorder : NSObject
154
+ - (BOOL)start:(out NSError * _Nullable *_Nullable)error;
155
+ - (BOOL)stop:(out NSError * _Nullable *_Nullable)error;
156
+
157
+ @property (nonatomic, readonly) BOOL isRecording;
158
+
159
+ - (BOOL)subscribeVideoRecorder:(out NSError * _Nullable *_Nullable)error;
160
+ - (void)unsubscribeVideoRecorder;
161
+
162
+ @end
163
+
164
+ /**
165
+ * Controller for general camera settings
166
+ */
167
+ @interface FLIRCameraUISettingsController : NSObject
168
+
169
+ - (TemperatureUnit)getTemperatureUnit;
170
+ - (BOOL)setTemperatureUnit:(TemperatureUnit)unit error:(out NSError * _Nullable * _Nullable)error;
171
+ - (FLIRDateDisplayFormat)getDateDisplayFormat;
172
+ - (BOOL)setDateDisplayFormat:(FLIRDateDisplayFormat)format error:(out NSError * _Nullable * _Nullable)error;
173
+ - (FLIRTimeDisplayFormat)getTimeDisplayFormat;
174
+ - (BOOL)setTimeDisplayFormat:(FLIRTimeDisplayFormat)format error:(out NSError * _Nullable * _Nullable)error;
175
+
176
+ @end
177
+
178
+ @interface FLIRFireCameraController : NSObject
179
+
180
+ - (FLIRFireCameraMode)getCurrentMode;
181
+ - (BOOL)setCurrentMode:(FLIRFireCameraMode)mode error:(out NSError * _Nullable * _Nullable)error;
182
+ - (NSArray<FLIRFireCameraModeObject *> *_Nullable)getAllModes:(out NSError * _Nullable * _Nullable)error;
183
+ - (NSArray<FLIRFireCameraModeObject *> *_Nullable)getAvailableModes:(out NSError * _Nullable * _Nullable)error;
184
+
185
+ - (FLIRHotSpotShape)getHotSpotShape;
186
+ - (BOOL)setHotSpotShape:(FLIRHotSpotShape)shape error:(out NSError * _Nullable * _Nullable)error;
187
+
188
+ - (BOOL)getShowTemperatureBar;
189
+ - (BOOL)setShowTemperatureBar:(BOOL)show error:(out NSError * _Nullable * _Nullable)error;
190
+ - (BOOL)getShowReferenceBar;
191
+ - (BOOL)setShowReferenceBar:(BOOL)show error:(out NSError * _Nullable * _Nullable)error;
192
+ - (BOOL)getShowDigitalReadout;
193
+ - (BOOL)setShowDigitalReadout:(BOOL)show error:(out NSError * _Nullable * _Nullable)error;
194
+
195
+ - (FLIRDualTriggerBehaviour *_Nullable)getDualTriggerBehaviour:(out NSError * _Nullable *_Nullable)error;
196
+ - (BOOL)setDualTriggerBehaviour:(FLIRDualTriggerBehaviour *_Nonnull)behaviour error:(out NSError * _Nullable *_Nullable)error;
197
+ - (NSArray<FLIRDualTriggerBehaviour *> *_Nullable)getAvailableDualTriggerBehaviours:(out NSError * _Nullable *_Nullable)error;
198
+
199
+ - (BOOL)getBlackBox;
200
+ - (BOOL)setBlackBox:(BOOL)blackBox error:(out NSError * _Nullable * _Nullable)error;
201
+
202
+ - (FLIRFireCameraModeController *_Nullable)getFireCameraModeController:(FLIRFireCameraMode)mode error:(out NSError * _Nullable * _Nullable)error;
203
+
204
+ - (BOOL)getAllowChanges;
205
+ - (BOOL)subscribeAllowChanges:(out NSError * _Nullable * _Nullable)error;
206
+ - (void)unsubscribeAllowChanges;
207
+ - (BOOL)resetParameters:(out NSError * _Nullable * _Nullable)error;
208
+
209
+ @end
210
+
211
+ /**
212
+ * Camera image storage control interface.
213
+ */
214
+ @interface FLIRStorage : NSObject
215
+
216
+ /**
217
+ * Get the latest image that was stored in the camera.
218
+ * This property will be updated when the file is completely written to storage,
219
+ * so there may be some delay from when the picture is taken till the property is updated.
220
+ * Note: this call is blocking.
221
+ */
222
+ -(nullable FLIRStoredImage *) getLastStoredImage:(out NSError * _Nullable *_Nullable)error;
223
+
224
+ /** Subscribes for camera last stored image notifications. */
225
+ -(BOOL) subscribeLastStoredImage: (out NSError * _Nullable *_Nullable)error;
226
+ /** Revokes subscription for last stored image. */
227
+ -(void) unsubscribeLastStoredImage;
228
+
229
+
230
+ /** Check if camera has snapshot capability */
231
+ - (BOOL)snapshotIsAvailable;
232
+
233
+ /** Request camera to store an image into the image storage and return it.
234
+ */
235
+ - (FLIRStoredImage * _Nullable)snapshot:(out NSError * _Nullable * _Nullable)error;
236
+
237
+ @end
238
+
239
+ /**
240
+ * Delegate to return events from a connectad camera.
241
+ */
242
+ @protocol FLIRRemoteDelegate <NSObject>
243
+
244
+ @optional
245
+
246
+ #pragma mark - Battery
247
+ /** Called when battery charging state changes. */
248
+ -(void)ChargingStateChanged:(FLIRChargingState) state;
249
+ /** Called when remaining battery power changes. */
250
+ -(void)PercentageChanged:(int) percent;
251
+
252
+ #pragma mark - Calibration
253
+ /** Called when a NUC state changes. */
254
+ -(void)CalibrationStateChanged:(BOOL) isActive;
255
+ /** Called when a NUC state changes, with the NUC state as parameter */
256
+ - (void)nucStateChanged: (FLIRNucState)state;
257
+ /** Called when shutter state changes */
258
+ - (void)shutterStateChanged: (FLIRShutterState)state;
259
+
260
+ #pragma mark - Storage
261
+ /** Called when new image was taken on the camera. */
262
+ -(void)lastStoredImageChanged:(FLIRStoredImage *_Nonnull) laststore;
263
+
264
+ /** Called when state is changing, if subscribing */
265
+ - (void)cameraStateChanged: (FLIRCameraState)newState;
266
+
267
+ /** Called when cameraInformation is changing, if subscribing */
268
+ - (void)cameraInformationChanged: (FLIRCameraInformation*_Nonnull)newInformation;
269
+
270
+ /** Called when laserOn is changing, if subscribing */
271
+ - (void)cameraIsLaserOnChanged: (BOOL)newIsLaserOn;
272
+
273
+ #pragma mark - TemperatureRange
274
+ /** Called when selected temperature range changes, if subscribing */
275
+ - (void)selectedTemperatureRangeIndexChanged: (int)index;
276
+
277
+ #pragma mark - FusionController
278
+ /** Called when fusion activeChannel is changing, if subscribing */
279
+ - (void)activeChannelChanged: (FLIRChannelType)newActiveChannel;
280
+
281
+ #pragma mark - ScaleController
282
+ /** Called when scale controller auto adjust is chaning, if subscribing */
283
+ - (void)autoAdjustChanged: (BOOL)autoAdjust;
284
+
285
+ /** Called when status changes in an ongoing firmware update */
286
+ -(void)updateStatusChanged:(FLIRFirmwareUpdateStatus) status;
287
+
288
+ #pragma mark - VideoRecorder
289
+ /** Called when recording has started or stopped */
290
+ - (void)videoRecorderChanged:(BOOL)isRecording;
291
+
292
+ #pragma mark - FireCameraController
293
+ /// Called when allowChanges is changed.
294
+ - (void)allowChangesChanged:(BOOL)allowChanges;
295
+
296
+
297
+ @end
298
+
299
+ @class FLIRTemperatureRange;
300
+ @class FLIRSystem;
301
+ @class FLIRFocus;
302
+ @class FLIRPaletteController;
303
+ @class FLIRFusionController;
304
+ @class FLIRMeasurementsController;
305
+ @class FLIRScaleController;
306
+ @class FLIROverlayController;
307
+
308
+ /**
309
+ * Camera remote control. Can read, manipulate and listen on events from a Camera.
310
+ */
311
+ @interface FLIRRemoteControl : NSObject
312
+
313
+ /**
314
+ * A delegate to handle the events.
315
+ */
316
+ @property (nonatomic, assign, nullable) id<FLIRRemoteDelegate> delegate;
317
+
318
+ /**
319
+ * Fetch information about that device.
320
+ *
321
+ * @note This is a synchronous call to the camera, which blocks until the result is retrieved or an error occurs.
322
+ * @param error Out parameter filled with an error object on failure, or nil on success.
323
+ * @return The result object on success, or nil on failure.
324
+ */
325
+ -(nullable FLIRCameraInformation*)getCameraInformation:(out NSError * _Nullable * _Nullable)error;
326
+
327
+ /** subscribe to changes on camera information, delegate will be called when camera information changes */
328
+ - (BOOL)subscribeCameraInformation: (out NSError * _Nullable *_Nullable)error;
329
+
330
+ /**
331
+ * Get the Battery interface to monitor camera battery status.
332
+ *
333
+ * @return Battery object if it's available, or nil if the Camera model has no battery support.
334
+ */
335
+ -(nullable FLIRBattery *) getBattery;
336
+
337
+ /**
338
+ * Get the camera calibration control interface.
339
+ *
340
+ * @return Calibration object if it's available, or nil if the Camera model has no calibration support.
341
+ */
342
+ -(FLIRCalibration* _Nullable) getCalibration;
343
+
344
+ /**
345
+ * Get the Storage interface to interact with camera storage (i.e. internal storage or SD card).
346
+ *
347
+ * @return Storage object if it's available, or nil if the Camera model has no storage support.
348
+ */
349
+ -(FLIRStorage* _Nullable) getStorage;
350
+
351
+ /**
352
+ * Check if the camera is ready for connecting a stream.
353
+ */
354
+ - (FLIRCameraState)getCameraReady;
355
+
356
+ /** subscribe to changes on camera state, delegate will be called when camera state changes */
357
+ - (BOOL)subscribeCameraState: (out NSError * _Nullable *_Nullable)error;
358
+
359
+ /** Check if the laser is on */
360
+ - (BOOL)getLaserOn;
361
+ /** turn on or of the laser */
362
+ - (BOOL)setLaserOn: (BOOL)laserOn error: (out NSError * _Nullable *_Nullable)error;
363
+
364
+ /** subscribe to changes on laser on, delegate will be called when laser on changes */
365
+ - (BOOL)subscribeIsLaserOn: (out NSError * _Nullable *_Nullable)error;
366
+ /** unsubscribe to changes on laser on */
367
+ - (void)unsubscribeIsLaserOn;
368
+
369
+ /** get the temperature range interface */
370
+ - (FLIRTemperatureRange * _Nullable)getTemperatureRange;
371
+ /** get remote system parameters interface */
372
+ - (FLIRSystem* _Nullable)getSystem;
373
+ /** get remote focus parameters interface */
374
+ - (FLIRFocus* _Nullable)getFocus;
375
+ /** get remote palette controller interface */
376
+ - (FLIRPaletteController * _Nullable)getPaletteController;
377
+ /** get remote fusion controller interface */
378
+ - (FLIRFusionController * _Nullable)getFusionController;
379
+ /** get remote measurements controller interface */
380
+ - (FLIRMeasurementsController * _Nullable)getMeasurementsController;
381
+ /** get the scale controller interface */
382
+ - (FLIRScaleController * _Nullable)getScaleController;
383
+ /** get the overlay controller interface */
384
+ - (FLIROverlayController * _Nullable)getOverlayController;
385
+ /** get firmware update (only for internal use) */
386
+ - (FLIRFirmwareUpdate * _Nullable)getFirmwareUpdate;
387
+ /** get video recorder */
388
+ - (FLIRVideoRecorder * _Nullable)getVideoRecorder;
389
+ /** get camera settings controller */
390
+ - (FLIRCameraUISettingsController * _Nullable)getCameraUISettingsController;
391
+ /// get fire camera controller
392
+ - (FLIRFireCameraController * _Nullable)getFireCameraController;
393
+ @end