T7_Guy
lvl.2
Germany
Offline
|
Thanks for response.
I mostly copied from the sample, but I get the following error: The action actuator operation type is invalid. At Action Index 0. It doesn't matter which is the first action
Here is My Code:
WaypointTrigger waypointAction0Trigger = new WaypointTrigger.Builder()
.setTriggerType(ActionTypes.ActionTriggerType.REACH_POINT)
.setReachPointParam(new WaypointReachPointTriggerParam.Builder()
.setStartIndex(WP_index)
.setAutoTerminateCount(0)
.build())
.build();
WaypointActuator waypointAction0Actuator = new WaypointActuator.Builder()
.setActuatorType(ActionTypes.ActionActuatorType.CAMERA)
.setCameraActuatorParam(new WaypointCameraActuatorParam.Builder()
.setCameraOperationType(ActionTypes.CameraOperationType.CUSTOM_NAME)
.setCustomNameParam(new WaypointCameraCustomNameParam.Builder()
.type(ActionTypes.CameraCustomNameType.DIR)
.customName("testFolder")
.build())
.build())
.build();
WaypointV2Action waypointAction0 = new WaypointV2Action.Builder()
.setActionID(Action_Index)
.setTrigger(waypointAction0Trigger)
.setActuator(waypointAction0Actuator)
.build();
Action_Index++;
actionList.add(waypointAction0);
//-----------------------STOP Aircraft
WaypointV2Action.Builder actionBuilderStop = new WaypointV2Action.Builder();
WaypointTrigger.Builder triggerBuilderStop = new WaypointTrigger.Builder();
triggerBuilderStop.setTriggerType(ASSOCIATE);
WaypointV2AssociateTriggerParam.Builder associateStop_Builder = new WaypointV2AssociateTriggerParam.Builder();
associateStop_Builder.setAssociateType(ActionTypes.AssociatedTimingType.AFTER_FINISHED);
associateStop_Builder.setAssociateActionID(Action_Index-1);
associateStop_Builder.setWaitingTime(0);
triggerBuilderStop.setAssociateParam(associateStop_Builder.build());
WaypointActuator waypointAction1Actuator = new WaypointActuator.Builder()
.setActuatorType(ActionTypes.ActionActuatorType.AIRCRAFT_CONTROL)
.setAircraftControlActuatorParam(new WaypointAircraftControlParam.Builder()
.setAircraftControlType(ActionTypes.AircraftControlType.START_STOP_FLY)
.setFlyControlParam(new WaypointAircraftControlStartStopFlyParam.Builder()
.setStartFly(false)
.build())
.build())
.build();
actionBuilderStop.setTrigger(triggerBuilderStop.build());
actionBuilderStop.setActuator(waypointAction1Actuator);
actionBuilderStop.setActionID(Action_Index);
Action_Index++;
actionList.add(actionBuilderStop.build());
//-----------------------GIMBAL
WaypointV2Action.Builder actionBuilderGimbal = new WaypointV2Action.Builder();
WaypointTrigger.Builder triggerBuilderGimbal = new WaypointTrigger.Builder();
triggerBuilderGimbal.setTriggerType(ASSOCIATE);
WaypointV2AssociateTriggerParam.Builder associate_Builder = new WaypointV2AssociateTriggerParam.Builder();
associate_Builder.setAssociateType(ActionTypes.AssociatedTimingType.AFTER_FINISHED);
associate_Builder.setAssociateActionID(Action_Index-1);
associate_Builder.setWaitingTime(0);
triggerBuilderGimbal.setAssociateParam(associate_Builder.build());
actionBuilderGimbal.setTrigger(triggerBuilderGimbal.build());
WaypointActuator.Builder actuatorGimbal_builder = new WaypointActuator.Builder();
actuatorGimbal_builder.setActuatorType(GIMBAL);
WaypointGimbalActuatorParam.Builder Gimbal_Builder = new WaypointGimbalActuatorParam.Builder();
Gimbal_Builder.operationType(ActionTypes.GimbalOperationType.ROTATE_GIMBAL);
Rotation.Builder rotationGimbal = new Rotation.Builder();
rotationGimbal.mode(RotationMode.ABSOLUTE_ANGLE);
rotationGimbal.pitch(0);
rotationGimbal.time(3);
rotationGimbal.roll(0);
rotationGimbal.yaw(0);
//rotationGimbal.ignore(false);
Rotation rot = rotationGimbal.build();
Gimbal_Builder.rotation(rot);
actuatorGimbal_builder.setGimbalActuatorParam(Gimbal_Builder.build());
actionBuilderGimbal.setActuator(actuatorGimbal_builder.build());
actionBuilderGimbal.setActionID(Action_Index);
Action_Index++;
actionList.add(actionBuilderGimbal.build());
//-----------------------CAMERA
WaypointV2Action.Builder actionBuilder = new WaypointV2Action.Builder();
WaypointTrigger.Builder triggerBuilder = new WaypointTrigger.Builder();
triggerBuilder.setTriggerType(ASSOCIATE);
WaypointV2AssociateTriggerParam.Builder associate_BuilderPhoto = new WaypointV2AssociateTriggerParam.Builder();
associate_BuilderPhoto.setAssociateType(ActionTypes.AssociatedTimingType.AFTER_FINISHED);
associate_BuilderPhoto.setAssociateActionID(Action_Index-1);
associate_BuilderPhoto.setWaitingTime(2.0f);
triggerBuilder.setAssociateParam(associate_BuilderPhoto.build());
actionBuilder.setTrigger(triggerBuilder.build());
WaypointActuator.Builder actuator_builder = new WaypointActuator.Builder();
actuator_builder.setActuatorType(CAMERA);
WaypointCameraActuatorParam.Builder Camera_Builder = new WaypointCameraActuatorParam.Builder();
Camera_Builder.setCameraOperationType(SHOOT_SINGLE_PHOTO);
Camera_Builder.setRetryTime(0);
WaypointCameraFocusParam focusParam = new WaypointCameraFocusParam.Builder()
.focusTarget(new PointF(1500,1500))
.build();
WaypointCameraZoomParam zoomParam = new WaypointCameraZoomParam.Builder()
.setFocalLength(18)
.build();
Camera_Builder.setFocusParam(focusParam);
Camera_Builder.setZoomParam(zoomParam);
actuator_builder.setCameraActuatorParam(Camera_Builder.build());
actionBuilder.setActuator(actuator_builder.build());
actionBuilder.setActionID(Action_Index);
Action_Index++;
actionList.add(actionBuilder.build());
//---------------------START Aircraft
WaypointV2Action.Builder actionBuilderStart = new WaypointV2Action.Builder();
WaypointTrigger.Builder triggerBuilderStart = new WaypointTrigger.Builder();
triggerBuilderStart.setTriggerType(ASSOCIATE);
WaypointV2AssociateTriggerParam.Builder associate_BuilderStart = new WaypointV2AssociateTriggerParam.Builder();
associate_BuilderStart.setAssociateType(ActionTypes.AssociatedTimingType.AFTER_FINISHED);
associate_BuilderStart.setAssociateActionID(Action_Index-1);
associate_BuilderStart.setWaitingTime(2.0f);
triggerBuilder.setAssociateParam(associate_BuilderStart.build());
WaypointActuator waypointActionStartActuator = new WaypointActuator.Builder()
.setActuatorType(ActionTypes.ActionActuatorType.AIRCRAFT_CONTROL)
.setAircraftControlActuatorParam(new WaypointAircraftControlParam.Builder()
.setAircraftControlType(ActionTypes.AircraftControlType.START_STOP_FLY)
.setFlyControlParam(new WaypointAircraftControlStartStopFlyParam.Builder()
.setStartFly(true)
.build())
.build())
.build();
actionBuilderStart.setActuator(waypointActionStartActuator);
actionBuilderStart.setActionID(Action_Index);
Action_Index++;
actionList.add(actionBuilderStart.build());
|
|