Оптимальный метод регистрации данных с использованием DJI UXSDKDemo (iOS) - PullRequest
0 голосов
/ 08 июня 2018

Я хотел бы получить значения из двух классов ниже и записать их в файл.Каков наилучший способ получить эти значения?Будет ли наблюдатель за недвижимостью работать и быть эффективным?Есть ли основной цикл или часы, которые я могу использовать, чтобы последовательно вызывать и регистрировать эти данные?Любая помощь будет оценена.Спасибо

    //IMU
EXTERN_KEY NSString *const DJIFlightControllerParamIMUState;
EXTERN_KEY NSString *const DJIFlightControllerParamIMUsCount;

EXTERN_KEY NSString *const DJIFlightControllerParamIMUStateGyroscopeState;
EXTERN_KEY NSString *const DJIFlightControllerParamIMUAccelerometerState;
EXTERN_KEY NSString *const DJIFlightControllerParamIMUStateCalibrationProgress;
EXTERN_KEY NSString *const DJIFlightControllerParamIMUStateCalibrationState;

Это актуально?

 @class DJIFlightHubManager;


/**
 *  Delegate to receive updated states related to DJI FlightHub.
 */
@protocol DJIFlightHubManagerDelegate <NSObject>


/**
 *  Updates states for the uploading progress of flight data.
 *  
 *  @param flightHubManager The FlightHub Manager updates the state.
 *  @param state The updated state. When it is `DJIFlightHubUploadStateRejectedByServer`, refer to error for more detail.
 *  @param error The returned error when the upload request is rejected by the server. Use the error to check the reason.
 */
- (void)flightHubManager:(DJIFlightHubManager *)flightHubManager didUpdateUploadState:(DJIFlightHubUploadState)state error:(nullable NSError *)error;

@end

1 Ответ

0 голосов
/ 09 июня 2018

DJIFlighthubManager в этом случае не будет релевантным - он соответствует нашему устройству FlightHub

Для каждого из ключей, которые вы хотите записать в файл, вам нужно будет получить и прослушатьсначала состояние, а затем записать данные в файл.Вот пример:

DJIFlightControllerKey *exampleKey = [DJIFlightControllerKey keyWithParam:DJIFlightControllerParamIMUState];

// Will get called once to get current value of the key
[[DJISDKManager keyManager] getValueForKey:exampleKey withCompletion:^(DJIKeyedValue * _Nullable value, NSError * _Nullable error) {

}];

// Called only when the value for the key changes
[[DJISDKManager keyManager] startListeningForChangesOnKey:exampleKey withListener:self andUpdateBlock:^(DJIKeyedValue * _Nullable oldValue, DJIKeyedValue * _Nullable newValue) {

}];

`

...