When there is no GoPro connected, the GoProManager.py handleRecordCommand function should send the mavlink DO_DIGICAM_CONTROL shutter command. That way if the user has some other camera connected, the same controls can trigger that camera's shutter. This will respond to the paddle button and the app shutter buttons. The command should be inserted here: https://github.com/OpenSolo/shotmanager/blob/master/GoProManager.py#L386
Ever since the last release from 3DR in mid 2016, the Selfie smart shot has not worked properly most of the time. As the copter flies up and away, the gimbal pitch does not stay locked on the target. And as it climbs higher and further away, the copter yaw rotates 90 degrees.
At this time, it is unknown why this happens as there are no obvious errors in the code. It would be great to fix this in Open Solo since 3DR did not fix it.
There is a small typo in line 81 causing a callback error - instead of "false" it should state "False"
self.shotmgr.rcMgr.enableRemapping( false )
In my understanding this statement isn't needed anyway and can be deleted.
The capability exists to set the GoPro's date/time. This should be implemented to sync the GoPro clock with the vehicle clock, which is set by GPS. The existing function to do so is here (https://github.com/OpenSolo/shotmanager/blob/master/GoProManager.py#L364) but is it not called or used by anything. This function should be called sometime after initialization once the GoPro is on and communicating.