libs/range_sensor/c/samples/get_version_lines.c
00001 
00013 #include "urg_ctrl.h"
00014 #include <stdio.h>
00015 #include <stdlib.h>
00016 
00017 
00018 static void urg_exit(urg_t *urg, const char *message)
00019 {
00020   printf("%s: %s\n", message, urg_error(urg));
00021   urg_disconnect(urg);
00022 
00023 #ifdef MSC
00024   getchar();
00025 #endif
00026   exit(1);
00027 }
00028 
00029 
00031 int main(int argc, char *argv[])
00032 {
00033   enum {
00034     LinesMax = 5,
00035   };
00036 
00037 #ifdef WINDOWS_OS
00038   const char device[] = "COM4"; /* For Windows */
00039 #else
00040   const char device[] = "/dev/ttyACM0"; /* For Linux */
00041 #endif
00042 
00043   char buffer[LinesMax][UrgLineWidth];
00044   char *lines[LinesMax];
00045   int ret;
00046   int i;
00047   urg_t urg;
00048 
00049   /* Connection */
00050   urg_initialize(&urg);
00051   ret = urg_connect(&urg, device, 115200);
00052   if (ret < 0) {
00053     urg_exit(&urg, "urg_connect()");
00054   }
00055 
00056   /* Get version information */
00057   for (i = 0; i < LinesMax; ++i) {
00058     lines[i] = buffer[i];
00059   }
00060   ret = urg_versionLines(&urg, lines, LinesMax);
00061   printf("urg_getVersion: %s\n", urg_error(&urg));
00062   if (ret < 0) {
00063     urg_disconnect(&urg);
00064     exit(1);
00065   }
00066 
00067   /* Display */
00068   for (i = 0; i < LinesMax; ++i) {
00069     printf("%s\n", lines[i]);
00070   }
00071 
00072   /* Disconnect */
00073   urg_disconnect(&urg);
00074 
00075 #ifdef MSC
00076   getchar();
00077 #endif
00078 
00079   return 0;
00080 }
 All Classes Namespaces Files Functions Variables Enumerations Enumerator