From: Nate B. <n0...@us...> - 2003-09-12 03:15:28
|
Update of /cvsroot/hamlib/hamlib/tests In directory sc8-pr-cvs1:/tmp/cvs-serv5339/tests Modified Files: testloc.c Log Message: 2003-09-11 Updated: rotator.h -- new declarations dec2dmmm() and dmmm2dec() locator.c -- new functions dec2dmm() and dmm2dec() also reworked document comments testloc.c -- support for new dec2dmm() and dmmm2dec() Index: testloc.c =================================================================== RCS file: /cvsroot/hamlib/hamlib/tests/testloc.c,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -r1.8 -r1.9 *** testloc.c 11 Sep 2003 01:04:14 -0000 1.8 --- testloc.c 12 Sep 2003 03:15:23 -0000 1.9 *************** *** 1,9 **** ! /* * Very simple test program to check locator convertion against some other --SF * This is mainly to test longlat2locator and locator2longlat functions. * ! * Takes at least one argument, which is a locator. ! * If two locators are given, then the qrb is also calculated. */ --- 1,14 ---- ! /* * Very simple test program to check locator convertion against some other --SF * This is mainly to test longlat2locator and locator2longlat functions. * ! * Takes at least two arguments, which is a locator and desired locater ! * precision in pairs, e.g. EM19ov is three pairs. precision is limited ! * to >= 1 or <= 6. If two locators are given, then the qrb is also ! * calculated. ! * ! * $Id$ ! * */ *************** *** 15,22 **** int main (int argc, char *argv[]) { char recodedloc[13], *loc1, *loc2; ! double lon1 = 0, lat1, lon2, lat2; double distance, az, min, sec; ! float deg; ! int retcode, locator_length; if (argc < 3) { --- 20,27 ---- int main (int argc, char *argv[]) { char recodedloc[13], *loc1, *loc2; ! double lon1, lat1, lon2, lat2; double distance, az, min, sec; ! float deg; ! int retcode, loc_len; if (argc < 3) { *************** *** 26,33 **** loc1 = argv[1]; ! locator_length = atoi(argv[2]); loc2 = argc > 3 ? argv[3] : NULL; ! printf("Locator1: %s\n", loc1); retcode = locator2longlat(&lon1, &lat1, loc1); if (retcode != RIG_OK) { --- 31,40 ---- loc1 = argv[1]; ! loc_len = atoi(argv[2]); loc2 = argc > 3 ? argv[3] : NULL; ! printf("Locator1:\t%s\n", loc1); ! ! /* hamlib function to convert maidenhead to decimal degrees */ retcode = locator2longlat(&lon1, &lat1, loc1); if (retcode != RIG_OK) { *************** *** 36,60 **** } ! dec2dms(lon1, °, &min, &sec); ! printf(" Longitude: %f, %.0f° %.0f' %.2f\"\n", lon1, deg, min, sec); lon1 = dms2dec(deg, min, sec); ! printf(" Recoded lon: %f\n", lon1); ! dec2dms(lat1, °, &min, &sec); ! printf(" Latitude: %f, %.0f° %.0f' %.2f\"\n", lat1, deg, min, sec); lat1 = dms2dec(deg, min, sec); ! printf(" Recoded lat: %f\n", lat1); ! retcode = longlat2locator(lon1, lat1, recodedloc, locator_length); if (retcode != RIG_OK) { fprintf(stderr, "longlat2locator() failed, precision out of range.\n"); exit(2); } ! printf(" Recoded: %s\n", recodedloc); if (loc2 == NULL) exit(0); ! printf("\nLocator2: %s\n", loc2); retcode = locator2longlat(&lon2, &lat2, loc2); if (retcode != RIG_OK) { --- 43,108 ---- } ! /* hamlib function to convert decimal degrees to deg, min, sec */ ! retcode = dec2dms(lon1, °, &min, &sec); ! if (retcode != RIG_OK) { ! fprintf(stderr, "dec2dms() failed, invalid paramter address.\n"); ! exit(2); ! } ! printf(" Longitude:\t%f\t%.0f° %.0f' %.2f\"\n", lon1, deg, min, sec); ! ! /* hamlib function to convert deg, min, sec to decimal degrees */ lon1 = dms2dec(deg, min, sec); ! printf(" Recoded lon:\t%f\n", lon1); ! ! /* hamlib function to convert decimal degrees to deg decimal minutes */ ! retcode = dec2dmmm(lon1, °, &min); ! if (retcode != RIG_OK) { ! fprintf(stderr, "dec2dmmm() failed, invalid paramter address.\n"); ! exit(2); ! } ! printf(" GPS lon:\t%f\t%.0f° %.3f'\n", lon1, deg, min); ! /* hamlib function to convert deg, decimal min to decimal degrees */ ! lon1 = dmmm2dec(deg, min); ! printf(" Recoded GPS:\t%f\n", lon1); ! ! /* hamlib function to convert decimal degrees to deg, min, sec */ ! retcode = dec2dms(lat1, °, &min, &sec); ! if (retcode != RIG_OK) { ! fprintf(stderr, "dec2dms() failed, invalid paramter address.\n"); ! exit(2); ! } ! printf(" Latitude:\t%f\t%.0f° %.0f' %.2f\"\n", lat1, deg, min, sec); ! ! /* hamlib function to convert deg, min, sec to decimal degrees */ lat1 = dms2dec(deg, min, sec); ! printf(" Recoded lat:\t%f\n", lat1); ! ! /* hamlib function to convert decimal degrees to deg decimal minutes */ ! retcode = dec2dmmm(lat1, °, &min); ! if (retcode != RIG_OK) { ! fprintf(stderr, "dec2dmmm() failed, invalid paramter address.\n"); ! exit(2); ! } ! printf(" GPS lat:\t%f\t%.0f° %.3f'\n", lat1, deg, min); ! ! /* hamlib function to convert deg, decimal min to decimal degrees */ ! lat1 = dmmm2dec(deg, min); ! printf(" Recoded GPS:\t%f\n", lat1); ! /* hamlib function to convert decimal degrees to maidenhead */ ! retcode = longlat2locator(lon1, lat1, recodedloc, loc_len); if (retcode != RIG_OK) { fprintf(stderr, "longlat2locator() failed, precision out of range.\n"); exit(2); } ! printf(" Recoded:\t%s\n", recodedloc); if (loc2 == NULL) exit(0); ! /* Now work on the second locator */ ! printf("\nLocator2:\t%s\n", loc2); ! retcode = locator2longlat(&lon2, &lat2, loc2); if (retcode != RIG_OK) { *************** *** 63,82 **** } ! dec2dms(lon2, °, &min, &sec); ! printf(" Longitude: %f, %.0f° %.0f' %.2f\"\n", lon2, deg, min, sec); lon2 = dms2dec(deg, min, sec); ! printf(" Recoded lon: %f\n", lon2); ! dec2dms(lat2, °, &min, &sec); ! printf(" Latitude: %f, %.0f° %.0f' %.2f\"\n", lat2, deg, min, sec); lat2 = dms2dec(deg, min, sec); ! printf(" Recoded lat: %f\n", lat2); ! retcode = longlat2locator(lon2, lat2, recodedloc, locator_length); if (retcode != RIG_OK) { fprintf(stderr, "longlat2locator() failed, precision out of range.\n"); exit(2); } ! printf(" Recoded: %s\n", recodedloc); retcode = qrb(lon1, lat1, lon2, lat2, &distance, &az); --- 111,169 ---- } ! /* hamlib function to convert decimal degrees to deg, min, sec */ ! retcode = dec2dms(lon2, °, &min, &sec); ! if (retcode != RIG_OK) { ! fprintf(stderr, "dec2dms() failed, invalid paramter address.\n"); ! exit(2); ! } ! printf(" Longitude:\t%f\t%.0f° %.0f' %.2f\"\n", lon2, deg, min, sec); ! ! /* hamlib function to convert deg, min, sec to decimal degrees */ lon2 = dms2dec(deg, min, sec); ! printf(" Recoded lon:\t%f\n", lon2); ! ! /* hamlib function to convert decimal degrees to deg decimal minutes */ ! retcode = dec2dmmm(lon2, °, &min); ! if (retcode != RIG_OK) { ! fprintf(stderr, "dec2dmmm() failed, invalid paramter address.\n"); ! exit(2); ! } ! printf(" GPS lon:\t%f\t%.0f° %.3f'\n", lon2, deg, min); ! ! /* hamlib function to convert deg, decimal min to decimal degrees */ ! lon2 = dmmm2dec(deg, min); ! printf(" Recoded GPS:\t%f\n", lon2); ! /* hamlib function to convert decimal degrees to deg, min, sec */ ! retcode = dec2dms(lat2, °, &min, &sec); ! if (retcode != RIG_OK) { ! fprintf(stderr, "dec2dms() failed, invalid paramter address.\n"); ! exit(2); ! } ! printf(" Latitude:\t%f\t%.0f° %.0f' %.2f\"\n", lat2, deg, min, sec); ! ! /* hamlib function to convert deg, min, sec to decimal degrees */ lat2 = dms2dec(deg, min, sec); ! printf(" Recoded lat:\t%f\n", lat2); ! ! /* hamlib function to convert decimal degrees to deg decimal minutes */ ! retcode = dec2dmmm(lat2, °, &min); ! if (retcode != RIG_OK) { ! fprintf(stderr, "dec2dmmm() failed, invalid paramter address.\n"); ! exit(2); ! } ! printf(" GPS lat:\t%f\t%.0f° %.3f'\n", lat2, deg, min); ! /* hamlib function to convert deg, decimal min to decimal degrees */ ! lat2 = dmmm2dec(deg, min); ! printf(" Recoded GPS:\t%f\n", lat2); ! ! /* hamlib function to convert decimal degrees to maidenhead */ ! retcode = longlat2locator(lon2, lat2, recodedloc, loc_len); if (retcode != RIG_OK) { fprintf(stderr, "longlat2locator() failed, precision out of range.\n"); exit(2); } ! printf(" Recoded:\t%s\n", recodedloc); retcode = qrb(lon1, lat1, lon2, lat2, &distance, &az); *************** *** 85,88 **** --- 172,176 ---- exit(2); } + dec2dms(az, °, &min, &sec); printf("\nDistance: %.2fkm\n", distance); |