package com.o3dr.services.android.lib.drone.property; import android.os.Parcel; import android.os.Parcelable; /** * Created by fhuya on 11/4/14. */ public class Signal implements DroneAttribute { public static final int MAX_FADE_MARGIN = 50; public static final int MIN_FADE_MARGIN = 6; private boolean isValid; private int rxerrors; private int fixed; private int txbuf; private double rssi; private double remrssi; private double noise; private double remnoise; private double signalStrength; public Signal(){} public Signal(boolean isValid, int rxerrors, int fixed, int txbuf, double rssi, double remrssi, double noise, double remnoise, double signalStrength) { this.isValid = isValid; this.rxerrors = rxerrors; this.fixed = fixed; this.txbuf = txbuf; this.rssi = rssi; this.remrssi = remrssi; this.noise = noise; this.remnoise = remnoise; this.signalStrength = signalStrength; } public double getSignalStrength() { return signalStrength; } public void setSignalStrength(double signalStrength) { this.signalStrength = signalStrength; } public void setValid(boolean isValid) { this.isValid = isValid; } public void setRxerrors(int rxerrors) { this.rxerrors = rxerrors; } public void setFixed(int fixed) { this.fixed = fixed; } public void setTxbuf(int txbuf) { this.txbuf = txbuf; } public void setRssi(double rssi) { this.rssi = rssi; } public void setRemrssi(double remrssi) { this.remrssi = remrssi; } public void setNoise(double noise) { this.noise = noise; } public void setRemnoise(double remnoise) { this.remnoise = remnoise; } public boolean isValid() { return isValid; } public int getRxerrors() { return rxerrors; } public int getFixed() { return fixed; } public int getTxbuf() { return txbuf; } public double getRssi() { return rssi; } public double getRemrssi() { return remrssi; } public double getNoise() { return noise; } public double getRemnoise() { return remnoise; } public double getFadeMargin() { return rssi - noise; } public double getRemFadeMargin() { return remrssi - remnoise; } @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeByte(isValid ? (byte) 1 : (byte) 0); dest.writeInt(this.rxerrors); dest.writeInt(this.fixed); dest.writeInt(this.txbuf); dest.writeDouble(this.rssi); dest.writeDouble(this.remrssi); dest.writeDouble(this.noise); dest.writeDouble(this.remnoise); dest.writeDouble(this.signalStrength); } private Signal(Parcel in) { this.isValid = in.readByte() != 0; this.rxerrors = in.readInt(); this.fixed = in.readInt(); this.txbuf = in.readInt(); this.rssi = in.readDouble(); this.remrssi = in.readDouble(); this.noise = in.readDouble(); this.remnoise = in.readDouble(); this.signalStrength = in.readDouble(); } public static final Parcelable.Creator<Signal> CREATOR = new Parcelable.Creator<Signal>() { public Signal createFromParcel(Parcel source) { return new Signal(source); } public Signal[] newArray(int size) { return new Signal[size]; } }; }