4 \brief Sample of GD scan
6 Get distance data continuously using GD command
8 \author Satofumi KAMIMURA
10 $Id: gd_scan.c 1683 2010-02-10 10:28:05Z satofumi $
18 static void urg_exit(urg_t *urg, const char *message)
20 printf("%s: %s\n", message, urg_error(urg));
30 int main(int argc, char *argv[])
33 const char device[] = "COM3"; /* For Windows */
35 const char device[] = "/dev/ttyACM0"; /* For Linux */
47 ret = urg_connect(&urg, device, 115200);
49 urg_exit(&urg, "urg_connect()");
52 /* Reserve for reception data */
53 data_max = urg_dataMax(&urg);
54 data = (long*)malloc(sizeof(long) * data_max);
60 /* Request for GD data */
61 ret = urg_requestData(&urg, URG_GD, URG_FIRST, URG_LAST);
63 urg_exit(&urg, "urg_requestData()");
67 n = urg_receiveData(&urg, data, data_max);
68 printf("# n = %d\n", n);
70 urg_exit(&urg, "urg_receiveData()");
74 timestamp = urg_recentTimestamp(&urg);
75 printf("# timestamp: %d\n", timestamp);
76 for (i = 0; i < n; ++i) {
77 /*Neglect the distance less than urg_minDistance() */
78 printf("%d %ld, ", i, data[i]);