Mobile-SDK-iOS icon indicating copy to clipboard operation
Mobile-SDK-iOS copied to clipboard

Leds can be opened but can't closed

Open ninja342 opened this issue 3 years ago • 2 comments

flightController.getLEDsEnabledSettings { (settings, err) in
            print("led settings: \(settings)")
            print("get led err: \(String(describing: err))")
            
            let ledSettings = DJIMutableFlightControllerLEDsSettings()
            ledSettings.beaconOn = false
            ledSettings.rearLEDsOn = false
            ledSettings.frontLEDsOn = false
            ledSettings.statusIndicatorOn = false
            if settings.frontLEDsOn {
                ledSettings.frontLEDsOn = false
            } else {
                ledSettings.frontLEDsOn = true
            }
            self.flightController.setLEDsEnabledSettings(ledSettings) { error  in
                print("led settings error: \(String(describing: error))")

            }
            
        }

I am using the code above to toogle front leds on and off but the code only works when leds off and it turns on the leds but after that it doesn't work for closing leds back even if error returns nil.

ninja342 avatar Jan 31 '21 05:01 ninja342

Agent comment from Luce Luo in Zendesk ticket #43518:

Dear Customer,

Thank you for contacting DJI. To help us collect questions in detail, please fill in the form below and we will handle this ticket once we have received it. https://formcrafts.com/a/dji-developer-feedback-en

Thanks,

Luce Luo DJI Dev Team

dji-dev avatar Feb 01 '21 06:02 dji-dev

This works for the Android SDK:

djiAircraft.getFlightController().getLEDsEnabledSettings(new CommonCallbacks.CompletionCallbackWith<LEDsSettings>() {
            @Override
            public void onSuccess(LEDsSettings ledsSettings) {
                LEDsSettings.Builder builder = new LEDsSettings.Builder();
                builder.frontLEDsOn(enabled);
                builder.beaconsOn(ledsSettings.areBeaconsOn());
                builder.rearLEDsOn(ledsSettings.areRearLEDsOn());
                builder.statusIndicatorOn(true);
                djiAircraft.getFlightController().setLEDsEnabledSettings(
                        builder.build(),
                        new CommonCallbacks.CompletionCallback() {
                            @Override
                            public void onResult(DJIError error) {
                                if (error == null) {
                                    Log.d(TAG, "LEDs settings successfully set");
                                } else {
                                    Log.e(TAG, "Failed to set LEDs settings: " + error.getDescription());
                                }
                            }
                        }
                );

kripper avatar Feb 11 '23 18:02 kripper