📄 test_laser.c
字号:
/*************************************************************************** * Desc: Tests for the laser device * Author: Andrew Howard * Date: 23 May 2002 # CVS: $Id: test_laser.c,v 1.19 2005/08/24 22:46:39 gerkey Exp $ **************************************************************************/#include <math.h>#include "test.h"#include "playerc.h"// Basic laser testint test_laser(playerc_client_t *client, int index){ int t, i; void *rdevice; playerc_laser_t *device; double min, max; unsigned char resolution, range_res, intensity; printf("device [laser] index [%d]\n", index); device = playerc_laser_create(client, index); TEST("subscribing (read)"); if (playerc_laser_subscribe(device, PLAYER_OPEN_MODE) == 0) PASS(); else { FAIL(); return(-1); } TEST("set configuration"); min = -M_PI/2; max = +M_PI/2; resolution = 100; range_res = 1; intensity = 1; if (playerc_laser_set_config(device, min, max, resolution, range_res, intensity) == 0) PASS(); else FAIL(); TEST("get configuration"); if (playerc_laser_get_config(device, &min, &max, &resolution, &range_res, &intensity) == 0) PASS(); else FAIL(); TEST("check configuration sanity"); if (abs(min + M_PI/2) > 0.01 || abs(max - M_PI/2) > 0.01) FAIL(); else if (resolution != 100 || intensity != 1) FAIL(); else PASS(); TEST("getting geometry"); if (playerc_laser_get_geom(device) == 0) PASS(); else FAIL(); printf("laser geom: [%6.3f %6.3f %6.3f] [%6.3f %6.3f]\n", device->pose[0], device->pose[1], device->pose[2], device->size[0], device->size[1]); for (t = 0; t < 10; t++) { TEST1("reading data (attempt %d)", t); do rdevice = playerc_client_read(client); while (rdevice == client); if (rdevice == device) { PASS(); printf("laser: [%14.3f] [%d] ", device->info.datatime, device->scan_count); for (i = 0; i < 3; i++) printf("[%6.3f, %6.3f] ", device->scan[i][0], device->scan[i][1]); printf("\n"); } else { FAIL(); break; } } TEST("unsubscribing"); if (playerc_laser_unsubscribe(device) == 0) PASS(); else FAIL(); playerc_laser_destroy(device); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -