package com.o3dr.services.android.lib.drone.companion.solo.tlv; import android.os.Parcel; import com.o3dr.services.android.lib.coordinate.LatLongAlt; import java.nio.ByteBuffer; /** * Send the app our cable cam waypoint when it’s recorded. * Deprecated since shotmanager 2.0 */ public class SoloCableCamWaypoint extends TLVPacket { private LatLongAlt coordinate; /** * Yaw in degrees */ private float degreesYaw; /** * Camera pitch in degrees */ private float pitch; public SoloCableCamWaypoint(double latitude, double longitude, float altitude, float degreesYaw, float pitch) { super(TLVMessageTypes.TYPE_SOLO_CABLE_CAM_WAYPOINT, 28); this.coordinate = new LatLongAlt(latitude, longitude, altitude); this.degreesYaw = degreesYaw; this.pitch = pitch; } public LatLongAlt getCoordinate() { return coordinate; } public float getDegreesYaw() { return degreesYaw; } public float getPitch() { return pitch; } @Override protected void getMessageValue(ByteBuffer valueCarrier) { valueCarrier.putDouble(coordinate.getLatitude()); valueCarrier.putDouble(coordinate.getLongitude()); valueCarrier.putFloat((float) coordinate.getAltitude()); valueCarrier.putFloat(degreesYaw); valueCarrier.putFloat(pitch); } @Override public void writeToParcel(Parcel dest, int flags) { super.writeToParcel(dest, flags); dest.writeParcelable(this.coordinate, 0); dest.writeFloat(this.degreesYaw); dest.writeFloat(this.pitch); } protected SoloCableCamWaypoint(Parcel in) { super(in); this.coordinate = in.readParcelable(LatLongAlt.class.getClassLoader()); this.degreesYaw = in.readFloat(); this.pitch = in.readFloat(); } public static final Creator<SoloCableCamWaypoint> CREATOR = new Creator<SoloCableCamWaypoint>() { public SoloCableCamWaypoint createFromParcel(Parcel source) { return new SoloCableCamWaypoint(source); } public SoloCableCamWaypoint[] newArray(int size) { return new SoloCableCamWaypoint[size]; } }; }