Product: [SkyController + Bebop / SkyController + Bebop2]
Product version: [LATEST] + Bebop version: [LATEST]
SDK version: [LATEST]
Use of libARController: [YES] (Only for ARSDK)
SDK platform: [/Android]
Reproductible with the official app: [/NO/]
I have been experiencing some really odd behaviors recently while testing out some new features. I’ve noticed that periodically the drone will start ignoring set commands… like setPilotingPCMD and setCameraOrientationV2 and setVelocity… The only way I can recover from this condition when it occurs is to completely shut down my app (and ARSDK) and re-initiatlize
And it only ever happens when I have the SC2 connected. I have not tested with the SC1 yet, but I will here before too long.
What I am finding… and it has been a PITA to get this far, is I’m finding I have to use the send commands to ensure a reliable experience when an SC2 is connected. Basically I’m checking for the presence of featureSkyController and using send in place of set.
I know that send is a blocking call… it actually does a send and is something we should be avoiding, but I’m at a loss as to root cause absent this change.
I should mention that I’m toggling sendCoPilotingSetPilotingSource to do some pretty cool stuff behind the scenes and am relying on ARCONTROLLER_DICTIONARY_KEY_SKYCONTROLLER_COPILOTINGSTATE_PILOTINGSOURCE to keep track of who’s in control.
I have logs that clearly show the piloting source assigned to the correct device … and I should point out this should have absolutely nothing to do with mysteriously loosing the ability to control the camera orientation.