Unverified Commit 7dfd0a2b authored by Gus Grubba's avatar Gus Grubba Committed by GitHub

Merge pull request #7661 from mavlink/photoIdle

Photo idle
parents 07d286c9 7e13b6d4
......@@ -359,7 +359,16 @@ QGCCameraControl::takePhoto()
{
qCDebug(CameraControlLog) << "takePhoto()";
//-- Check if camera can capture photos or if it can capture it while in Video Mode
if(!capturesPhotos() || (cameraMode() == CAM_MODE_VIDEO && !photosInVideoMode()) || photoStatus() != PHOTO_CAPTURE_IDLE) {
if(!capturesPhotos()) {
qCWarning(CameraControlLog) << "Camera does not handle image capture";
return false;
}
if(cameraMode() == CAM_MODE_VIDEO && !photosInVideoMode()) {
qCWarning(CameraControlLog) << "Camera does not handle image capture while in video mode";
return false;
}
if(photoStatus() != PHOTO_CAPTURE_IDLE) {
qCWarning(CameraControlLog) << "Camera not idle";
return false;
}
if(!_resetting) {
......@@ -719,10 +728,11 @@ QGCCameraControl::_mavCommandResult(int vehicleId, int component, int command, i
switch(command) {
case MAV_CMD_IMAGE_START_CAPTURE:
case MAV_CMD_IMAGE_STOP_CAPTURE:
if(++_captureInfoRetries < 5) {
if(++_captureInfoRetries < 3) {
_captureStatusTimer.start(1000);
} else {
qCDebug(CameraControlLog) << "Giving up requesting capture status";
qCDebug(CameraControlLog) << "Giving up start/stop image capture";
_setPhotoStatus(PHOTO_CAPTURE_IDLE);
}
break;
case MAV_CMD_REQUEST_CAMERA_CAPTURE_STATUS:
......@@ -778,6 +788,7 @@ void
QGCCameraControl::_setPhotoStatus(PhotoStatus status)
{
if(_photo_status != status) {
qCDebug(CameraControlLog) << "Set Photo Status:" << status;
_photo_status = status;
emit photoStatusChanged();
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment