Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions AidlLib/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ android {
defaultConfig {
minSdkVersion 14
targetSdkVersion 21
versionCode 20046
versionName '2.0.46'
versionCode 20047
versionName '2.0.47'
}

defaultPublishConfig "release"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,8 @@ public class ExperimentalActions {

public static final String ACTION_SEND_MAVLINK_MESSAGE = Utils.PACKAGE_NAME + ".action.SEND_MAVLINK_MESSAGE";
public static final String EXTRA_MAVLINK_MESSAGE = "extra_mavlink_message";

public static final String ACTION_SET_RELAY = Utils.PACKAGE_NAME + ".action.SET_RELAY";
public static final String EXTRA_RELAY_NUMBER = "extra_relay_number";
public static final String EXTRA_IS_RELAY_ON = "extra_is_relay_on";
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@
import com.o3dr.services.android.lib.drone.mission.item.command.SetServo;
import com.o3dr.services.android.lib.drone.mission.item.command.Takeoff;
import com.o3dr.services.android.lib.drone.mission.item.command.YawCondition;
import com.o3dr.services.android.lib.drone.mission.item.complex.StructureScanner;
import com.o3dr.services.android.lib.drone.mission.item.complex.Survey;
import com.o3dr.services.android.lib.drone.mission.item.spatial.Circle;
import com.o3dr.services.android.lib.drone.mission.item.spatial.Land;
import com.o3dr.services.android.lib.drone.mission.item.spatial.RegionOfInterest;
import com.o3dr.services.android.lib.drone.mission.item.spatial.SplineWaypoint;
import com.o3dr.services.android.lib.drone.mission.item.complex.StructureScanner;
import com.o3dr.services.android.lib.drone.mission.item.spatial.Waypoint;
import com.o3dr.services.android.lib.util.ParcelableUtils;

Expand Down Expand Up @@ -52,27 +52,15 @@ protected Parcelable.Creator<SplineWaypoint> getMissionItemCreator() {
}
},

CIRCLE("Circle") {
@Override
public MissionItem getNewItem() {
return new Circle();
}

@Override
protected Creator<Circle> getMissionItemCreator() {
return Circle.CREATOR;
}
},

REGION_OF_INTEREST("Region of Interest") {
TAKEOFF("Takeoff") {
@Override
public MissionItem getNewItem() {
return new RegionOfInterest();
return new Takeoff();
}

@Override
protected Creator<RegionOfInterest> getMissionItemCreator() {
return RegionOfInterest.CREATOR;
protected Parcelable.Creator<Takeoff> getMissionItemCreator() {
return Takeoff.CREATOR;
}
},

Expand All @@ -83,33 +71,34 @@ public MissionItem getNewItem() {
}

@Override
protected Parcelable.Creator<ChangeSpeed> getMissionItemCreator(){
protected Parcelable.Creator<ChangeSpeed> getMissionItemCreator() {
return ChangeSpeed.CREATOR;
}
},

TAKEOFF("Takeoff") {
CAMERA_TRIGGER("Camera Trigger") {
@Override
public MissionItem getNewItem() {
return new Takeoff();
return new CameraTrigger();
}

@Override
protected Parcelable.Creator<Takeoff> getMissionItemCreator() {
return Takeoff.CREATOR;
protected Creator<CameraTrigger> getMissionItemCreator() {
return CameraTrigger.CREATOR;
}
},

LAND("Land") {
EPM_GRIPPER("EPM Gripper") {
@Override
public MissionItem getNewItem() {
return new Land();
return new EpmGripper();
}

@Override
protected Creator<Land> getMissionItemCreator() {
return Land.CREATOR;
protected Creator<EpmGripper> getMissionItemCreator() {
return EpmGripper.CREATOR;
}

},

RETURN_TO_LAUNCH("Return to Launch") {
Expand All @@ -124,64 +113,63 @@ protected Creator<ReturnToLaunch> getMissionItemCreator() {
}
},

SURVEY("Survey") {
LAND("Land") {
@Override
public MissionItem getNewItem() {
return new Survey();
return new Land();
}

@Override
protected Creator<Survey> getMissionItemCreator() {
return Survey.CREATOR;
protected Creator<Land> getMissionItemCreator() {
return Land.CREATOR;
}
},

STRUCTURE_SCANNER("Structure Scanner") {
CIRCLE("Circle") {
@Override
public MissionItem getNewItem() {
return new StructureScanner();
return new Circle();
}

@Override
protected Creator<StructureScanner> getMissionItemCreator() {
return StructureScanner.CREATOR;
protected Creator<Circle> getMissionItemCreator() {
return Circle.CREATOR;
}
},

CAMERA_TRIGGER("Camera Trigger") {
REGION_OF_INTEREST("Region of Interest") {
@Override
public MissionItem getNewItem() {
return new CameraTrigger();
return new RegionOfInterest();
}

@Override
protected Creator<CameraTrigger> getMissionItemCreator() {
return CameraTrigger.CREATOR;
protected Creator<RegionOfInterest> getMissionItemCreator() {
return RegionOfInterest.CREATOR;
}
},

EPM_GRIPPER("EPM Gripper") {
SURVEY("Survey") {
@Override
public MissionItem getNewItem() {
return new EpmGripper();
return new Survey();
}

@Override
protected Creator<EpmGripper> getMissionItemCreator() {
return EpmGripper.CREATOR;
protected Creator<Survey> getMissionItemCreator() {
return Survey.CREATOR;
}

},

YAW_CONDITION("Set Yaw"){
STRUCTURE_SCANNER("Structure Scanner") {
@Override
public MissionItem getNewItem(){
return new YawCondition();
public MissionItem getNewItem() {
return new StructureScanner();
}

@Override
protected Creator<YawCondition> getMissionItemCreator() {
return YawCondition.CREATOR;
protected Creator<StructureScanner> getMissionItemCreator() {
return StructureScanner.CREATOR;
}
},

Expand All @@ -197,6 +185,18 @@ protected Creator<SetServo> getMissionItemCreator() {
}
},

YAW_CONDITION("Set Yaw") {
@Override
public MissionItem getNewItem() {
return new YawCondition();
}

@Override
protected Creator<YawCondition> getMissionItemCreator() {
return YawCondition.CREATOR;
}
},

SET_RELAY("Set Relay") {
@Override
public MissionItem getNewItem() {
Expand All @@ -214,22 +214,22 @@ protected Creator<SetRelay> getMissionItemCreator() {

private final String label;

private MissionItemType(String label){
private MissionItemType(String label) {
this.label = label;
}

public String getLabel(){
public String getLabel() {
return this.label;
}

@Override
public String toString(){
public String toString() {
return getLabel();
}

public abstract MissionItem getNewItem();

public final Bundle storeMissionItem(MissionItem item){
public final Bundle storeMissionItem(MissionItem item) {
Bundle bundle = new Bundle(2);
storeMissionItem(item, bundle);
return bundle;
Expand All @@ -242,17 +242,17 @@ public void storeMissionItem(MissionItem missionItem, Bundle bundle) {

protected abstract <T extends MissionItem> Creator<T> getMissionItemCreator();

public static <T extends MissionItem> T restoreMissionItemFromBundle(Bundle bundle){
if(bundle == null)
public static <T extends MissionItem> T restoreMissionItemFromBundle(Bundle bundle) {
if (bundle == null)
return null;

String typeName = bundle.getString(EXTRA_MISSION_ITEM_TYPE);
byte[] marshalledItem = bundle.getByteArray(EXTRA_MISSION_ITEM);
if(typeName == null || marshalledItem == null)
if (typeName == null || marshalledItem == null)
return null;

MissionItemType type = MissionItemType.valueOf(typeName);
if(type == null)
if (type == null)
return null;

T missionItem = ParcelableUtils.unmarshall(marshalledItem, type.<T>getMissionItemCreator());
Expand Down
4 changes: 2 additions & 2 deletions ClientLib/mobile/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ apply plugin: 'com.android.library'

ext {
PUBLISH_ARTIFACT_ID = '3dr-services-lib'
PUBLISH_VERSION = '2.2.10'
PUBLISH_VERSION = '2.2.11'
PROJECT_DESCRIPTION = "3DR Services Client Library"
PROJECT_LABELS = ['3DR', '3DR Services', 'DroneAPI', 'Android']
PROJECT_LICENSES = ['Apache-2.0']
Expand All @@ -15,7 +15,7 @@ android {
defaultConfig {
minSdkVersion 14
targetSdkVersion 21
versionCode 20210
versionCode 20211
versionName PUBLISH_VERSION
}

Expand Down
Binary file modified ClientLib/mobile/libs/AidlLib.jar
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,15 @@

import static com.o3dr.services.android.lib.drone.action.ExperimentalActions.ACTION_EPM_COMMAND;
import static com.o3dr.services.android.lib.drone.action.ExperimentalActions.ACTION_SEND_MAVLINK_MESSAGE;
import static com.o3dr.services.android.lib.drone.action.ExperimentalActions.ACTION_SET_RELAY;
import static com.o3dr.services.android.lib.drone.action.ExperimentalActions.ACTION_TRIGGER_CAMERA;
import static com.o3dr.services.android.lib.drone.action.ExperimentalActions.EXTRA_EPM_RELEASE;
import static com.o3dr.services.android.lib.drone.action.ExperimentalActions.EXTRA_IS_RELAY_ON;
import static com.o3dr.services.android.lib.drone.action.ExperimentalActions.EXTRA_MAVLINK_MESSAGE;
import static com.o3dr.services.android.lib.drone.action.ExperimentalActions.EXTRA_RELAY_NUMBER;

/**
* Created by Fredia Huya-Kouadio on 1/19/15.
* Contains drone commands with no defined interaction model yet.
*/
public class ExperimentalApi {

Expand Down Expand Up @@ -48,4 +51,18 @@ public static void sendMavlinkMessage(Drone drone, MavlinkMessageWrapper message
params.putParcelable(EXTRA_MAVLINK_MESSAGE, messageWrapper);
drone.performAsyncAction(new Action(ACTION_SEND_MAVLINK_MESSAGE, params));
}

/**
* Set a Relay pin’s voltage high or low
*
* @param drone target vehicle
* @param relayNumber
* @param enabled true for relay to be on, false for relay to be off.
*/
public static void setRelay(Drone drone, int relayNumber, boolean enabled) {
Bundle params = new Bundle(2);
params.putInt(EXTRA_RELAY_NUMBER, relayNumber);
params.putBoolean(EXTRA_IS_RELAY_ON, enabled);
drone.performAsyncAction(new Action(ACTION_SET_RELAY, params));
}
}
2 changes: 1 addition & 1 deletion ServiceApp/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ android {
applicationId 'org.droidplanner.services.android'
minSdkVersion 14
targetSdkVersion 21
versionCode 10205
versionCode 10206
versionName getGitVersion()
}

Expand Down
Loading