package ukhas;
public class AscentRate implements java.io.Serializable{
private static final long serialVersionUID = 0x5901fa8c0e38abb3L;
long time1=0;
long time2=0;
double alt1=0;
double alt2=0;
boolean valid1 = false;
boolean valid2 = false;
public AscentRate(){
}
public void addData(long timestamp, double altitude)
{
if (timestamp > time1){
if (time1>time2){
time2 = time1;
alt2 = alt1;
time1 = timestamp;
alt1 = altitude;
valid2 = true;
valid1 = true;
}
else
{
time1 = timestamp;
alt1 = altitude;
valid1 = true;
}
}
else if(timestamp > time2){
time2 = timestamp;
alt2 = altitude;
valid2 = true;
}
}
public double getAscentRate()
{
long dt = (time2-time1)/1000L;
if (!valid1 || !valid2)
return 0;
return (alt2-alt1)/dt;
}
public boolean valid()
{
return valid1 && valid2;
}
}