Raharja Agie
/
Mini-X
Diff: gps.h
- Revision:
- 0:d463d5c04541
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gps.h Tue Aug 16 05:32:33 2011 +0000 @@ -0,0 +1,51 @@ +int gpscnt = 0; + + + +void gpscal() +{ + + if(gpscnt<10){ + lats = gps.lat; //latt=37.541230; //37.540553; + lons = gps.lon; // lont=127.079819; // 127.078038; + gpscnt++; + } + + latt = lats; //37.5409023;// + lont = lons; //127.0800591;// + + latp = gps.lat; + lonp = gps.lon; + + dlat = latp - latt; + dlon = lonp - lont; + + //GPSASCII(); + + /* + //jarak ke tujuan..... + latp=latp*3.14/180; //ftoa(latp, 1, dst); putstr3(dst); putchar3('\n'); + latt=latt*3.14/180; //ftoa(latt, 1, dst); putstr3(dst); putchar3('\n'); + lonp=lonp*3.14/180; //ftoa(lonp, 1, dst); putstr3(dst); putchar3('\n'); + lont=lont*3.14/180; //ftoa(lont, 1, dst); putstr3(dst); putchar3('\n'); + d_lat=latp-latt; + d_lon=lonp-lont; + a=(sin(d_lat/2))*(sin(d_lat/2))+cos(latt)*cos(latp)*(sin(d_lon/2))*(sin(d_lon/2)); + //c=2*atan2(sqrt(a),sqrt(1-a)); + //d=r*c; + c=2*asin(sqrt(a)); + d=c*180*60*1000/3.14*1.852; // d = distance to target + // if(d > 5000 || d < -5000) d = ld; + gps.dist = d; + + //sudut hadap ke tujuan.... + //b=atan2(sin(d_lon)*cos(latp), cos(latt)*sin(latp)-sin(latt)*cos(latp)*cos(d_lon)); + b=(acos((sin(latt)-sin(latp)*cos(c))/(sin(c)*cos(latp))))*180/3.14; + if (b==360)b=0; + gps.bear = b; + + ld = d; + GPSASCII(); + */ + +} \ No newline at end of file