libs/range_sensor/c/samples/index_convert.c
00001 
00013 #include "urg_ctrl.h"
00014 #include "math_utils.h"
00015 #include <stdio.h>
00016 #include <stdlib.h>
00017 
00018 
00019 static void urg_exit(urg_t *urg, const char *message)
00020 {
00021   printf("%s: %s\n", message, urg_error(urg));
00022   urg_disconnect(urg);
00023 
00024 #ifdef MSC
00025   getchar();
00026 #endif
00027   exit(1);
00028 }
00029 
00030 
00032 int main(int argc, char *argv[])
00033 {
00034 #ifdef WINDOWS_OS
00035   const char device[] = "COM3"; /* For Windows */
00036 #else
00037   const char device[] = "/dev/ttyACM0"; /* For Linux */
00038 #endif
00039 
00040   int ret = 0;
00041   int n;
00042   int i;
00043 
00044   /* Connection */
00045   urg_t urg;
00046   ret = urg_connect(&urg, device, 115200);
00047   if (ret < 0) {
00048     urg_exit(&urg, "urg_connect()");
00049   }
00050 
00051   /* Outputs the angle of each index */
00052   n = urg_dataMax(&urg);
00053   for (i = 0; i < n; i += 8) {
00054     double radian = urg_index2rad(&urg, i);
00055     int degree = urg_index2deg(&urg, i);
00056     printf("%03d, %d [deg], %.1f [rad], %d, %d\n", i, degree, radian,
00057            urg_deg2index(&urg, degree), urg_rad2index(&urg, radian));
00058   }
00059 
00060 #ifdef MSC
00061   getchar();
00062 #endif
00063 
00064   return 0;
00065 }
 All Classes Namespaces Files Functions Variables Enumerations Enumerator