[rcpilot-cvs] src/rcpilot/rcgs Agwpe.java,1.9,1.10 DataAPRS.java,1.1,1.2 GPS.java,1.4,1.5 Tracker.ja
Status: Beta
Brought to you by:
mjpawlowsky
|
From: Michael P. <mjp...@us...> - 2004-04-05 17:46:40
|
Update of /cvsroot/rcpilot/src/rcpilot/rcgs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6062 Modified Files: Agwpe.java DataAPRS.java GPS.java Tracker.java Log Message: Adding APRS Support Index: GPS.java =================================================================== RCS file: /cvsroot/rcpilot/src/rcpilot/rcgs/GPS.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** GPS.java 10 Mar 2004 00:45:47 -0000 1.4 --- GPS.java 5 Apr 2004 17:33:58 -0000 1.5 *************** *** 160,165 **** i = (int)((deg * 360000) - (min * 6000)); } ! ! // Make sure values are in range if (l == LATITUDE && (i < -32400000 || i > 32400000 )) return(e); --- 160,164 ---- i = (int)((deg * 360000) - (min * 6000)); } ! // Make sure values are in range if (l == LATITUDE && (i < -32400000 || i > 32400000 )) return(e); Index: DataAPRS.java =================================================================== RCS file: /cvsroot/rcpilot/src/rcpilot/rcgs/DataAPRS.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** DataAPRS.java 14 Mar 2004 19:51:44 -0000 1.1 --- DataAPRS.java 5 Apr 2004 17:33:58 -0000 1.2 *************** *** 2,12 **** import java.nio.ByteBuffer; ! abstract public class DataAPRS{ ! public static void parseData(byte[] info){ } --- 2,170 ---- import java.nio.ByteBuffer; + import java.text.DateFormat; + import java.text.SimpleDateFormat; + import java.text.ParseException; + import java.util.Date; + import java.lang.Double; ! abstract public class DataAPRS { ! public static int parseData(byte[] info){ ! ! byte b; ! int t; ! int i; ! Date new_date; ! ! // Setup for parsing the date and creating a timestamp out of it. ! DateFormat datePart = new SimpleDateFormat("yyyy-MM-dd"); ! DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); ! Date thisDate = new Date(); ! String date_only = datePart.format(thisDate); ! ! ! ByteBuffer bbinfo = ByteBuffer.wrap(info); ! ! // Skip over first 21 bytes to get to after the "/" ! // Not sure what these bytes are yet. ! // Need to find out. ! bbinfo.position(22 ); ! ! ! // Next 7 bytes are the time ! // Hour(2) Minute(2) Seconds(2) Format(1) ! StringBuffer hrs = new StringBuffer(); ! for (i = 0; i<2; i++){ ! b = bbinfo.get(); ! hrs.append((char)b); ! } ! ! // Minutes ! StringBuffer mins = new StringBuffer(); ! for (i = 0; i<2; i++){ ! b = bbinfo.get(); ! mins.append((char)b); ! } ! ! // Minutes ! StringBuffer secs = new StringBuffer(); ! for (i = 0; i<2; i++){ ! b = bbinfo.get(); ! secs.append((char)b); ! } ! ! String new_date_str = date_only + " " + hrs + ":" + mins + ":" + secs; ! ! try { ! new_date = dateFormat.parse(new_date_str); ! System.out.println ("APRS DATE: " + new_date); ! } catch (ParseException pe){ ! System.err.println ("Unable to parse date field.\n" + pe); ! return(-1); ! } ! ! // Skip the format ! bbinfo.position(bbinfo.position()+1); ! ! ! // GET THE LATITUDE ! StringBuffer lat = new StringBuffer(); ! for (i = 0; i<2; i++){ ! b = bbinfo.get(); ! lat.append((char)b); ! } ! ! lat.append(" "); ! // Get the minutes ! for (i = 0; i<5; i++){ ! b = bbinfo.get(); ! lat.append((char)b); ! } ! ! // stringToGPS expects precision to be to the .001 ! lat.append((char)'0'); ! ! // See if we are + or - (N or S) ! b = bbinfo.get(); ! if ((char)b == 'S'){ ! lat.insert(0, '-'); ! } ! ! int gps_int = GPS.stringToGPS(lat.toString(), GPS.LATITUDE); ! Rcgs.tdata.setGPSLatitude(gps_int); ! ! // Skip the "/" ! bbinfo.position(bbinfo.position()+1); ! ! // GET THE LONGITUDE ! ! StringBuffer lon = new StringBuffer(); ! // Get the degrees ! for (i = 0; i<3; i++){ ! b = bbinfo.get(); ! lon.append((char)b); ! } ! ! lon.append(" "); ! // Get the minutes ! for (i = 0; i<5; i++){ ! b = bbinfo.get(); ! lon.append((char)b); ! } ! ! // stringToGPS expects precision to be to the .001 ! lon.append((char)'0'); ! ! // See if we are + or - (W or E) ! b = bbinfo.get(); ! if ((char)b == 'W'){ ! lon.insert(0, '-'); ! } ! ! gps_int = GPS.stringToGPS(lon.toString(), GPS.LONGITUDE); ! Rcgs.tdata.setGPSLongitude(gps_int); + + // SKIP THE ICON + bbinfo.position(bbinfo.position()+1); + + + // GET THE COURSE + StringBuffer courseStr = new StringBuffer(); + for (i = 0; i<3; i++){ + b = bbinfo.get(); + courseStr.append((char)b); + } + Rcgs.tdata.setCourse(Double.parseDouble(courseStr.toString())); + + // SKIP THE "/" + bbinfo.position(bbinfo.position()+1); + + // GET THE SPEED + StringBuffer speedStr = new StringBuffer(); + for (i = 0; i<3; i++){ + b = bbinfo.get(); + speedStr.append((char)b); + } + Rcgs.tdata.setSpeed(Double.parseDouble(speedStr.toString())); + + // SKIP THE "/" + bbinfo.position(bbinfo.position()+1); + // GET THE ALTITUDE + b = bbinfo.get(); + if ((char)b == 'A'){ + // skip over the "="; + bbinfo.position(bbinfo.position()+1); + StringBuffer altStr = new StringBuffer(); + for (i = 0; i<6; i++){ + b = bbinfo.get(); + altStr.append((char)b); + } + Rcgs.tdata.setAltitude(Double.parseDouble(altStr.toString())); + } + + return(0); } Index: Tracker.java =================================================================== RCS file: /cvsroot/rcpilot/src/rcpilot/rcgs/Tracker.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** Tracker.java 9 Mar 2004 20:31:02 -0000 1.7 --- Tracker.java 5 Apr 2004 17:33:58 -0000 1.8 *************** *** 71,75 **** RenderingHints.VALUE_ANTIALIAS_ON); ! // Don't ned this but keeing it around for later. ;-) // AffineTransform oldTrans = g2.getTransform(); // Save this xform --- 71,75 ---- RenderingHints.VALUE_ANTIALIAS_ON); ! // Don't need this but keeing it around for later. ;-) // AffineTransform oldTrans = g2.getTransform(); // Save this xform Index: Agwpe.java =================================================================== RCS file: /cvsroot/rcpilot/src/rcpilot/rcgs/Agwpe.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** Agwpe.java 14 Mar 2004 19:49:56 -0000 1.9 --- Agwpe.java 5 Apr 2004 17:33:58 -0000 1.10 *************** *** 318,322 **** DataNMEA.parseData(frame.info); } else if (protocol.equals(UserPreferences.CONST_DATA_PROTOCOL_APRS)){ ! DataAPRS.parseData(frame.info); } --- 318,322 ---- DataNMEA.parseData(frame.info); } else if (protocol.equals(UserPreferences.CONST_DATA_PROTOCOL_APRS)){ ! DataAPRS.parseData(frame.info); } |