Xsens DOT iOS SDK  ©2022 Xsens Technologies - Version: 2022.0.0
XsensDotDevice.h
Go to the documentation of this file.
1 //
2 // XsensDotDevice.h
3 // XsensDotSdk
4 //
5 // Created by Nick Yang on 2019/5/19.
6 // Copyright © 2019 Xsens. All rights reserved.
7 //
8 
9 #import <CoreBluetooth/CoreBluetooth.h>
10 #import "XsensDotBatteryInfo.h"
12 #import "XsensDotPlotData.h"
13 #import "XsensDotRecording.h"
15 #import "XsensDotDefine.h"
16 
17 NS_ASSUME_NONNULL_BEGIN
18 
23 - (void)peripheral:(CBPeripheral *)peripheral serviceExploreComplete:(BOOL)flag;
24 @end
25 
30 @interface XsensDotDevice : NSObject
31 
35 @property (strong, nonatomic, readonly) CBPeripheral *peripheral;
36 
40 @property (weak, nonatomic) id<XsensDotCBPeripherialServiceExploreDelegate> explorieDelegate;
41 
45 @property (strong, nonatomic, readonly) NSString *uuid;
46 
50 @property (strong, nonatomic, readonly) NSString *macAddress;
51 
55 @property (strong, nonatomic, nullable) NSNumber *RSSI;
56 
60 @property (strong, nonatomic, nullable) XsensDotBatteryInfo *battery;
61 
65 @property (strong, nonatomic) XsensDotFirmwareVersion *firmwareVersion;
66 
70 @property (strong, nonatomic) NSString *serialNumber;
71 
75 @property (assign, nonatomic) BOOL plotMeasureEnable;
76 
80 @property (assign, nonatomic) XSBleDevicePayloadMode plotMeasureMode;
81 
85 @property (assign, nonatomic) BOOL plotLogEnable;
86 
90 @property (assign, nonatomic) BOOL isSupportHeadingReset;
91 
95 @property (assign, nonatomic) XSHeadingStatus headingStatus;
96 
101 @property (copy, nonatomic) void (^headingResetResult)(int result);
102 
106 @property (assign, nonatomic) UInt8 timeoutXMinutes;
107 
111 @property (assign, nonatomic) UInt8 timeoutXSeconds;
112 
116 @property (assign, nonatomic) UInt8 timeoutYMinutes;
117 
121 @property (assign, nonatomic) UInt8 timeoutYSeconds;
122 
126 @property (assign, nonatomic) NSUInteger totalSpace;
127 
131 @property (assign, nonatomic) NSUInteger usedSpace;
132 
136 @property (strong, nonatomic) XsensDotRecording *recording;
137 
143 @property (strong, nonatomic) NSData *exportDataFormat;
144 
148 @property (assign, nonatomic) BOOL exportLogEnable;
149 
154 @property (assign, nonatomic) int outputRate;
155 
160 @property (assign, nonatomic) int filterIndex;
161 
165 @property (copy, nonatomic) void (^getStorageStatusWithTime)(NSUInteger time);
166 
171 + (instancetype)deviceWithPeripheral:(CBPeripheral *)peripheral;
172 
177 - (void)parseAdvertisementData:(NSDictionary *)advertisementData;
178 
183 - (void)parseMacAddress:(NSData *)macAddressData;
184 
189 - (BOOL)isEqual:(XsensDotDevice *)object;
190 
194 - (CBPeripheralState)state;
195 
199 - (BOOL)stateIsConnected;
200 
204 - (BOOL)isInitialized;
205 
209 - (BOOL)isSynced;
210 
214 - (NSString *)peripheralName;
215 
219 - (NSString *)displayName;
220 
224 - (NSString *)displayAddress;
225 
229 - (NSArray <XsensDotFilterProfile *> *) filterProfilesList;
230 
231 @end
232 
233 
242 - (void)setDidParsePlotDataBlock:(void (^ _Nullable)(XsensDotPlotData * _Nonnull plotData))block;
243 
248 - (void)setDeviceName:(NSString *)name;
249 
253 - (void)startIdentifying;
254 
258 - (void)powerOff;
259 
263 - (void)readStatisticsInfo;
264 
269 
274 - (void)setDidPowerOffBlock:(void(^ _Nullable)(void))block;
275 
281 - (void)setOutputRate:(int)outputRate filterIndex:(int)filterIndex;
282 
288 - (void)readRSSI:(void (^_Nullable)(NSNumber *signal))block;
289 
293 - (void)startMfm;
294 
299 - (NSString *)stopMfm;
300 
305 - (void)writeMfmResult:(NSData *)mfmData;
306 
311 - (void)setDidMFMProgress:(void (^_Nullable)(NSString *address, int progress))block;
312 
317 - (void)setDidMFMResult:(void (^_Nullable)(NSString *address, XSDotMFMResultTpye type))block;
318 
323 - (void)setFirmwareUpdate:(NSString *)file;
324 
332 - (void)setPowerSavingTimeout:(UInt8) xMinutes xSecond:(UInt8)xSeconds yMinutes:(UInt8)yMinutes ySeconds:(UInt8)ySeconds;
333 
338 - (BOOL)startHeadingReset;
339 
344 - (BOOL)startHeadingRevert;
345 
350 - (void)setDidreadRotLocal:(void (^_Nullable)(float * _Nonnull rotLocal))block;
351 
355 - (void)dumpCrashInfoData;
356 
361 - (void)clearCrashInfoData;
362 
368 - (void)startSync:(NSString *)address type:(UInt8)type;
369 
373 - (void)stopSync;
374 
378 - (void)getRecordingStatus;
379 
386 - (BOOL)startRecording:(UInt16)recordingTime;
387 
392 - (BOOL)stopRecording;
393 
398 - (BOOL)getFlashInfo;
399 
404 - (void)setFlashInfoDoneBlock:(void (^_Nullable)(XSFlashInfoStatus status))block;
405 
412 - (BOOL)getRecordingTime;
413 
418 - (BOOL)eraseData;
419 
424 - (void)setEraseDataDoneBlock:(void (^_Nullable)(int success))block;
425 
430 - (BOOL)getExportFileInfo;
431 
436 - (void)setExportFileInfoDone:(void (^_Nullable)(BOOL success))block;
437 
447 - (BOOL)startExportFileData;
448 
453 - (BOOL)stopExportFileData;
454 
459 - (void)setDidParseExportFileDataBlock:(void (^ _Nullable)(XsensDotPlotData * _Nonnull plotData))block;
460 
465 - (void)setDidButtonCallbackBlock:(void (^ _Nullable)(int timestamp))block;
466 
467 #pragma mark - v2
468 
472 - (BOOL)isProductV2;
473 
477 - (BOOL)isProductV1;
478 
479 #pragma mark - Power On Settings
480 
485 - (BOOL)enableUsbPowerOn:(BOOL) isEnable;
486 
490 - (BOOL)isUsbPowerOnEnabled;
491 
492 @end
493 
494 NS_ASSUME_NONNULL_END
Definition: XsensDotDevice.h:237
Definition: XsensDotBatteryInfo.h:18
Definition: XsensDotDevice.h:31
NSString * peripheralName()
void(^ getStorageStatusWithTime)(NSUInteger time)
CBPeripheralState state()
UInt8 timeoutYMinutes
Definition: XsensDotDevice.h:116
NSString * displayAddress()
CBPeripheral * peripheral
Definition: XsensDotDevice.h:35
XsensDotRecording * recording
Definition: XsensDotDevice.h:136
NSString * displayName()
BOOL exportLogEnable
Definition: XsensDotDevice.h:148
XsensDotBatteryInfo * battery
Definition: XsensDotDevice.h:60
UInt8 timeoutXSeconds
Definition: XsensDotDevice.h:111
void(^ headingResetResult)(int result)
BOOL isSupportHeadingReset
Definition: XsensDotDevice.h:90
BOOL plotMeasureEnable
Definition: XsensDotDevice.h:75
XSHeadingStatus headingStatus
Definition: XsensDotDevice.h:95
UInt8 timeoutYSeconds
Definition: XsensDotDevice.h:121
NSString * uuid
Definition: XsensDotDevice.h:45
int outputRate
Definition: XsensDotDevice.h:154
XSBleDevicePayloadMode plotMeasureMode
Definition: XsensDotDevice.h:80
BOOL stateIsConnected()
id< XsensDotCBPeripherialServiceExploreDelegate > explorieDelegate
Definition: XsensDotDevice.h:40
NSString * macAddress
Definition: XsensDotDevice.h:50
NSUInteger totalSpace
Definition: XsensDotDevice.h:126
NSUInteger usedSpace
Definition: XsensDotDevice.h:131
XsensDotFirmwareVersion * firmwareVersion
Definition: XsensDotDevice.h:65
NSData * exportDataFormat
Definition: XsensDotDevice.h:143
BOOL plotLogEnable
Definition: XsensDotDevice.h:85
NSNumber * RSSI
Definition: XsensDotDevice.h:55
NSArray< XsensDotFilterProfile * > * filterProfilesList()
int filterIndex
Definition: XsensDotDevice.h:160
NSString * serialNumber
Definition: XsensDotDevice.h:70
UInt8 timeoutXMinutes
Definition: XsensDotDevice.h:106
Definition: XsensDotFilterProfile.h:17
Definition: XsensDotFirmwareVersion.h:27
Definition: XsensDotPlotData.h:20
Definition: XsensDotRecording.h:74
Definition: XsensDotDevice.h:22