Blame |
Last modification |
View Log
| RSS feed
/*********************************************
*
* class representing the DebugData Structure
*
* Author: Marcus -LiGi- Bueschleb
*
* see README for further Infos
*
********************************************/
public class MKGPSPosition
{
public final static int MAX_WAYPOINTS=
100;
int[] LongWP
;
int[] LatWP
;
int last_wp=
0;
int Longitude
;
int Latitude
;
int TargetLongitude
;
int TargetLatitude
;
int Distance2Target
;
int Angle2Target
;
byte Used_Sat
;
public void push_wp
()
{
LongWP
[last_wp
]=Longitude
;
LatWP
[last_wp
]=Latitude
;
last_wp++
;
}
public String dec_to_min_sec
(int val
)
{
return "" + val/
10000000 +
"^" +
((val
%10000000
)*60)/
10000000 +
"'" +
((((val
%10000000
)*60)%10000000
)*60)/
10000000 +
"." +
((((val
%10000000
)*60)%10000000
)*60)%10000000
;
}
public String WP_Latitude_min_sec
(int id
)
{
return "" + dec_to_min_sec
(LatWP
[id
])+
"''N" ;
}
public String WP_Longitude_min_sec
(int id
)
{
return "" + dec_to_min_sec
(LongWP
[id
])+
"''E" ;
}
public String Latitude_min_sec
()
{
return "" + dec_to_min_sec
(Latitude
)+
"''N" ;
}
public String Longitude_min_sec
()
{
return "" + dec_to_min_sec
(Longitude
)+
"''E" ;
}
public String Latitude_str
()
{
return "" + Latitude/
10000000 +
"." +Latitude
%10000000
;
}
public String Longitude_str
()
{
return "" + Longitude/
10000000 +
"." +Longitude
%10000000
;
}
public MKGPSPosition
()
{
LongWP=
new int[MAX_WAYPOINTS
];
LatWP=
new int[MAX_WAYPOINTS
];
}
private int parse_arr
(int offset,
int[] in_arr
)
{
return ((in_arr
[offset+
3]<<24) |
(in_arr
[offset+
2]<<16) |
(in_arr
[offset+
1]<<8) |
(in_arr
[offset+
0]));
}
public void set_by_mk_data
(int[] in_arr,MKVersion version
)
{
Longitude=parse_arr
(0,in_arr
);
Latitude=parse_arr
(4,in_arr
);
TargetLongitude=parse_arr
(8,in_arr
);
TargetLatitude=parse_arr
(12,in_arr
);
Distance2Target=parse_arr
(16,in_arr
);
Angle2Target=parse_arr
(20,in_arr
);
Used_Sat=
(byte)in_arr
[24];
}
}