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,36 +1,36 @@
1
- //
2
- // FLIRPaletteController.h
3
- // ThermalSDK
4
- //
5
- // Created by FLIR on 2020-07-02.
6
- // Copyright © 2020 Teledyne FLIR. All rights reserved.
7
- //
8
-
9
- #import <Foundation/Foundation.h>
10
- #import "FLIRCameraImport.h"
11
-
12
- /** camera palette */
13
- @interface FLIRRemotePalette : NSObject
14
-
15
- /** name of palette */
16
- @property (nonatomic, retain, nonnull) NSString* name;
17
- /** inverted state of palette */
18
- @property (nonatomic, assign) BOOL isInverted;
19
- /** Holds remote absolute path where palette file is stored on a particular camera, i.e.: "/FLIR/usr/etc/iron.pal". */
20
- @property (nonatomic, retain, nonnull) FLIRFileReference *fileReference;
21
-
22
- @end
23
-
24
- /**
25
- * Controller for the camera palettes
26
- */
27
- @interface FLIRPaletteController : NSObject
28
-
29
- /** get current palette on camera */
30
- - (FLIRRemotePalette* _Nullable)getCurrentPalette;
31
- /** set current palette on camera */
32
- - (BOOL)setCurrentPalette: (FLIRRemotePalette* _Nonnull)currentPalette error: (out NSError * _Nullable *_Nullable)error;
33
- /** list available palettes on camera */
34
- - (NSArray<FLIRRemotePalette*>* _Nullable) getAvailablePalettes;
35
-
36
- @end
1
+ //
2
+ // FLIRPaletteController.h
3
+ // ThermalSDK
4
+ //
5
+ // Created by FLIR on 2020-07-02.
6
+ // Copyright © 2020 Teledyne FLIR. All rights reserved.
7
+ //
8
+
9
+ #import <Foundation/Foundation.h>
10
+ #import "FLIRCameraImport.h"
11
+
12
+ /** camera palette */
13
+ @interface FLIRRemotePalette : NSObject
14
+
15
+ /** name of palette */
16
+ @property (nonatomic, retain, nonnull) NSString* name;
17
+ /** inverted state of palette */
18
+ @property (nonatomic, assign) BOOL isInverted;
19
+ /** Holds remote absolute path where palette file is stored on a particular camera, i.e.: "/FLIR/usr/etc/iron.pal". */
20
+ @property (nonatomic, retain, nonnull) FLIRFileReference *fileReference;
21
+
22
+ @end
23
+
24
+ /**
25
+ * Controller for the camera palettes
26
+ */
27
+ @interface FLIRPaletteController : NSObject
28
+
29
+ /** get current palette on camera */
30
+ - (FLIRRemotePalette* _Nullable)getCurrentPalette;
31
+ /** set current palette on camera */
32
+ - (BOOL)setCurrentPalette: (FLIRRemotePalette* _Nonnull)currentPalette error: (out NSError * _Nullable *_Nullable)error;
33
+ /** list available palettes on camera */
34
+ - (NSArray<FLIRRemotePalette*>* _Nullable) getAvailablePalettes;
35
+
36
+ @end
@@ -1,97 +1,97 @@
1
- //
2
- // FLIRPaletteManager.h
3
- // FLIR Thermal SDK
4
- //
5
- // Copyright © 2019 Teledyne FLIR. All rights reserved.
6
- //
7
-
8
- #import <Foundation/Foundation.h>
9
- #import "FLIRPalette.h"
10
-
11
- /**
12
- * The palette manager is a way to get the default palettes. These palettes can be applied to a thermal image, to change its look.
13
- * Every palette has a different color for a different temperature.
14
- * Some Palettes provide better contrast, while other expose the important details.
15
- */
16
- @interface FLIRPaletteManager : NSObject
17
-
18
- /**
19
- * Gets the Arctic Palette.
20
- */
21
- @property (readonly) FLIRPalette *arctic;
22
-
23
- /**
24
- * Gets the blackhot Palette.
25
- */
26
- @property (readonly) FLIRPalette *blackhot;
27
-
28
- /**
29
- * Gets the gray / "black and white" Palette
30
- */
31
- @property (readonly) FLIRPalette *gray;
32
-
33
- /**
34
- * Gets the iron Palette.
35
- */
36
- @property (readonly) FLIRPalette *iron;
37
-
38
- /**
39
- * Gets the lava Palette.
40
- */
41
- @property (readonly) FLIRPalette *lava;
42
-
43
- /**
44
- * Gets the rainbow Palette.
45
- */
46
- @property (readonly) FLIRPalette *rainbow;
47
-
48
- /**
49
- * Gets the rainbow HighContrast Palette.
50
- */
51
- @property (readonly) FLIRPalette *rainHC;
52
-
53
- /**
54
- * Gets the coldest Palette.
55
- */
56
- @property (readonly) FLIRPalette *coldest;
57
-
58
- /**
59
- * Gets the hottest Palette.
60
- */
61
- @property (readonly) FLIRPalette *hottest;
62
-
63
- /**
64
- * Gets the colorWheel6 Palette.
65
- */
66
- @property (readonly) FLIRPalette *colorWheel6;
67
-
68
- /**
69
- * Gets the doubleRainbow Palette.
70
- */
71
- @property (readonly) FLIRPalette *doubleRainbow;
72
-
73
- /**
74
- * Gets the whitehot Palette.
75
- */
76
- @property (readonly) FLIRPalette *whitehot;
77
-
78
- /**
79
- * Gets a list of default Palettes.
80
- *
81
- * @return an array with the default palettes
82
- */
83
- - (NSArray<FLIRPalette*>*)getDefaultPalettes;
84
-
85
- /**
86
- * Open a palette from file.
87
- *
88
- * @return a palette object based on palette file
89
- */
90
- - (FLIRPalette *) openPalette:(NSURL *) paletteFile;
91
-
92
- /**
93
- * Get the default manager
94
- */
95
- + (instancetype)default;
96
-
97
- @end
1
+ //
2
+ // FLIRPaletteManager.h
3
+ // FLIR Thermal SDK
4
+ //
5
+ // Copyright © 2019 Teledyne FLIR. All rights reserved.
6
+ //
7
+
8
+ #import <Foundation/Foundation.h>
9
+ #import "FLIRPalette.h"
10
+
11
+ /**
12
+ * The palette manager is a way to get the default palettes. These palettes can be applied to a thermal image, to change its look.
13
+ * Every palette has a different color for a different temperature.
14
+ * Some Palettes provide better contrast, while other expose the important details.
15
+ */
16
+ @interface FLIRPaletteManager : NSObject
17
+
18
+ /**
19
+ * Gets the Arctic Palette.
20
+ */
21
+ @property (readonly) FLIRPalette *arctic;
22
+
23
+ /**
24
+ * Gets the blackhot Palette.
25
+ */
26
+ @property (readonly) FLIRPalette *blackhot;
27
+
28
+ /**
29
+ * Gets the gray / "black and white" Palette
30
+ */
31
+ @property (readonly) FLIRPalette *gray;
32
+
33
+ /**
34
+ * Gets the iron Palette.
35
+ */
36
+ @property (readonly) FLIRPalette *iron;
37
+
38
+ /**
39
+ * Gets the lava Palette.
40
+ */
41
+ @property (readonly) FLIRPalette *lava;
42
+
43
+ /**
44
+ * Gets the rainbow Palette.
45
+ */
46
+ @property (readonly) FLIRPalette *rainbow;
47
+
48
+ /**
49
+ * Gets the rainbow HighContrast Palette.
50
+ */
51
+ @property (readonly) FLIRPalette *rainHC;
52
+
53
+ /**
54
+ * Gets the coldest Palette.
55
+ */
56
+ @property (readonly) FLIRPalette *coldest;
57
+
58
+ /**
59
+ * Gets the hottest Palette.
60
+ */
61
+ @property (readonly) FLIRPalette *hottest;
62
+
63
+ /**
64
+ * Gets the colorWheel6 Palette.
65
+ */
66
+ @property (readonly) FLIRPalette *colorWheel6;
67
+
68
+ /**
69
+ * Gets the doubleRainbow Palette.
70
+ */
71
+ @property (readonly) FLIRPalette *doubleRainbow;
72
+
73
+ /**
74
+ * Gets the whitehot Palette.
75
+ */
76
+ @property (readonly) FLIRPalette *whitehot;
77
+
78
+ /**
79
+ * Gets a list of default Palettes.
80
+ *
81
+ * @return an array with the default palettes
82
+ */
83
+ - (NSArray<FLIRPalette*>*)getDefaultPalettes;
84
+
85
+ /**
86
+ * Open a palette from file.
87
+ *
88
+ * @return a palette object based on palette file
89
+ */
90
+ - (FLIRPalette *) openPalette:(NSURL *) paletteFile;
91
+
92
+ /**
93
+ * Get the default manager
94
+ */
95
+ + (instancetype)default;
96
+
97
+ @end
@@ -1,55 +1,55 @@
1
- //
2
- // FLIRQuantification.h
3
- // ThermalSDK
4
- //
5
- // Created by Teledyne 2023-04-27.
6
- // Copyright © 2023 Teledyne. All rights reserved.
7
- //
8
-
9
- #import <Foundation/Foundation.h>
10
-
11
- ///Describes the type of a gas leak
12
- typedef NS_ENUM(NSInteger, FLIRGasLeakType) {
13
- /// Point-shaped leak
14
- FLIRGasLeakType_point,
15
- /// Diffused leak
16
- FLIRGasLeakType_diffused
17
- };
18
-
19
- /// Describes the wind speed conditions
20
- typedef NS_ENUM(NSInteger, FLIRWindSpeed) {
21
- /// Calm wind.
22
- FLIRWindSpeed_calm,
23
- /// Normal wind speed.
24
- FLIRWindSpeed_normal,
25
- /// High wind speed.
26
- FLIRWindSpeed_high
27
- };
28
-
29
- /// Gas quantification information
30
- @interface FLIRGasQuantificationInput : NSObject
31
- /// Temperature of surrounding environment
32
- @property (nonatomic, readonly) double ambientTemperature;
33
- /// Name of the gas
34
- @property (nonatomic, readonly, nonnull) NSString* gas;
35
- /// Type of gas leak
36
- @property (nonatomic, readonly) FLIRGasLeakType leakType;
37
- /// Wind speed
38
- @property (nonatomic, readonly) FLIRWindSpeed windSpeed;
39
- /// Distance to object in meters
40
- @property (nonatomic, readonly) NSInteger distance;
41
- /// Detection threshold temperature difference
42
- @property (nonatomic, readonly) double thresholdDeltaTemperature;
43
- /// True if gas is warmer than the surrounding environment
44
- @property (nonatomic, readonly) BOOL emissive;
45
-
46
- @end
47
-
48
- /// Gas quantification result information
49
- @interface FLIRGasQuantificationResult : NSObject
50
- /// Amount of gas flow
51
- @property (nonatomic, readonly) double flow;
52
- /// Gas concentration
53
- @property (nonatomic, readonly) double concentration;
54
-
55
- @end
1
+ //
2
+ // FLIRQuantification.h
3
+ // ThermalSDK
4
+ //
5
+ // Created by Teledyne 2023-04-27.
6
+ // Copyright © 2023 Teledyne. All rights reserved.
7
+ //
8
+
9
+ #import <Foundation/Foundation.h>
10
+
11
+ ///Describes the type of a gas leak
12
+ typedef NS_ENUM(NSInteger, FLIRGasLeakType) {
13
+ /// Point-shaped leak
14
+ FLIRGasLeakType_point,
15
+ /// Diffused leak
16
+ FLIRGasLeakType_diffused
17
+ };
18
+
19
+ /// Describes the wind speed conditions
20
+ typedef NS_ENUM(NSInteger, FLIRWindSpeed) {
21
+ /// Calm wind.
22
+ FLIRWindSpeed_calm,
23
+ /// Normal wind speed.
24
+ FLIRWindSpeed_normal,
25
+ /// High wind speed.
26
+ FLIRWindSpeed_high
27
+ };
28
+
29
+ /// Gas quantification information
30
+ @interface FLIRGasQuantificationInput : NSObject
31
+ /// Temperature of surrounding environment
32
+ @property (nonatomic, readonly) double ambientTemperature;
33
+ /// Name of the gas
34
+ @property (nonatomic, readonly, nonnull) NSString* gas;
35
+ /// Type of gas leak
36
+ @property (nonatomic, readonly) FLIRGasLeakType leakType;
37
+ /// Wind speed
38
+ @property (nonatomic, readonly) FLIRWindSpeed windSpeed;
39
+ /// Distance to object in meters
40
+ @property (nonatomic, readonly) NSInteger distance;
41
+ /// Detection threshold temperature difference
42
+ @property (nonatomic, readonly) double thresholdDeltaTemperature;
43
+ /// True if gas is warmer than the surrounding environment
44
+ @property (nonatomic, readonly) BOOL emissive;
45
+
46
+ @end
47
+
48
+ /// Gas quantification result information
49
+ @interface FLIRGasQuantificationResult : NSObject
50
+ /// Amount of gas flow
51
+ @property (nonatomic, readonly) double flow;
52
+ /// Gas concentration
53
+ @property (nonatomic, readonly) double concentration;
54
+
55
+ @end