URG sensor. More...
Go to the source code of this file.
Classes | |
struct | urg_t |
URG sensor. More... | |
Typedefs | |
typedef urg_measurement_type_t(* | urg_error_handler )(const char *status, void *urg) |
Enumerations | |
enum | { URG_SCAN_INFINITY = 0, URG_MAX_ECHO = 3 } |
enum | urg_measurement_type_t { URG_DISTANCE, URG_DISTANCE_INTENSITY, URG_MULTIECHO, URG_MULTIECHO_INTENSITY, URG_STOP, URG_UNKNOWN } |
enum | urg_range_data_byte_t { URG_COMMUNICATION_3_BYTE, URG_COMMUNICATION_2_BYTE } |
Functions | |
void | urg_close (urg_t *urg) |
int | urg_get_distance (urg_t *urg, long data[], long *time_stamp, unsigned long long *system_time_stamp) |
int | urg_get_distance_intensity (urg_t *urg, long data[], unsigned short intensity[], long *time_stamp, unsigned long long *system_time_stamp) |
int | urg_get_multiecho (urg_t *urg, long data_multi[], long *time_stamp, unsigned long long *system_time_stamp) |
int | urg_get_multiecho_intensity (urg_t *urg, long data_multi[], unsigned short intensity_multi[], long *time_stamp, unsigned long long *system_time_stamp) |
int | urg_is_stable (urg_t *urg) |
int | urg_laser_off (urg_t *urg) |
int | urg_laser_on (urg_t *urg) |
int | urg_open (urg_t *urg, urg_connection_type_t connection_type, const char *device_or_address, long baudrate_or_port) |
int | urg_reboot (urg_t *urg) |
long | urg_scip_decode (const char data[], int size) |
SCIP 文字列のデコード | |
const char * | urg_sensor_firmware_date (urg_t *urg) |
const char * | urg_sensor_firmware_version (urg_t *urg) |
const char * | urg_sensor_product_type (urg_t *urg) |
const char * | urg_sensor_protocol_version (urg_t *urg) |
returns the protocol version | |
const char * | urg_sensor_serial_id (urg_t *urg) |
const char * | urg_sensor_state (urg_t *urg) |
const char * | urg_sensor_status (urg_t *urg) |
const char * | urg_sensor_vendor (urg_t *urg) |
returns the vendor name | |
int | urg_set_communication_data_size (urg_t *urg, urg_range_data_byte_t data_byte) |
void | urg_set_error_handler (urg_t *urg, urg_error_handler handler) |
int | urg_set_scanning_parameter (urg_t *urg, int first_step, int last_step, int skip_step) |
void | urg_set_timeout_msec (urg_t *urg, int msec) |
タイムアウト時間の設定 | |
void | urg_sleep (urg_t *urg) |
int | urg_start_measurement (urg_t *urg, urg_measurement_type_t type, int scan_times, int skip_scan) |
int | urg_start_time_stamp_mode (urg_t *urg) |
int | urg_stop_measurement (urg_t *urg) |
int | urg_stop_time_stamp_mode (urg_t *urg) |
long | urg_time_stamp (urg_t *urg) |
void | urg_wakeup (urg_t *urg) |
URG sensor.
URG 用の基本的な関数を提供します。
Definition in file urg_sensor.h.
typedef urg_measurement_type_t(* urg_error_handler)(const char *status, void *urg) |
error handler
Definition at line 62 of file urg_sensor.h.
anonymous enum |
Definition at line 54 of file urg_sensor.h.
URG_DISTANCE | |
URG_DISTANCE_INTENSITY | |
URG_MULTIECHO | |
URG_MULTIECHO_INTENSITY | |
URG_STOP | |
URG_UNKNOWN |
Definition at line 35 of file urg_sensor.h.
Definition at line 48 of file urg_sensor.h.
Definition at line 744 of file urg_sensor.c.
int urg_get_distance | ( | urg_t * | urg, |
long | data[], | ||
long * | time_stamp, | ||
unsigned long long * | system_time_stamp | ||
) |
Definition at line 933 of file urg_sensor.c.
int urg_get_distance_intensity | ( | urg_t * | urg, |
long | data[], | ||
unsigned short | intensity[], | ||
long * | time_stamp, | ||
unsigned long long * | system_time_stamp | ||
) |
Example
int data_size = urg_max_data_size(&urg); long *data = malloc(data_size * sizeof(long)); long *intensity = malloc(data_size * sizeof(unsigned short)); ... urg_start_measurement(&urg, URG_DISTANCE_INTENSITY, 1, 0); int n = urg_get_distance_intensity(&urg, data, intesnity, NULLL);
Definition at line 942 of file urg_sensor.c.
int urg_get_multiecho | ( | urg_t * | urg, |
long | data_multi[], | ||
long * | time_stamp, | ||
unsigned long long * | system_time_stamp | ||
) |
Example
long *data_multi = malloc(3 * urg_max_data_size(&urg) * sizeof(long)); ... urg_start_measurement(&urg, URG_MULTIECHO, 1, 0); int n = urg_get_distance_intensity(&urg, data_multi, NULLL);
Definition at line 954 of file urg_sensor.c.
int urg_get_multiecho_intensity | ( | urg_t * | urg, |
long | data_multi[], | ||
unsigned short | intensity_multi[], | ||
long * | time_stamp, | ||
unsigned long long * | system_time_stamp | ||
) |
Example
int data_size = urg_max_data_size(&urg); long *data_multi = malloc(3 * data_size * sizeof(long)); long *intensity_multi = malloc(3 * data_size * sizeof(unsigned short)); ... urg_start_measurement(&urg, URG_DISTANCE_INTENSITY, 1, 0); int n = urg_get_multiecho_intensity(&urg, data_multi, intesnity_multi, NULLL);
Definition at line 964 of file urg_sensor.c.
int urg_is_stable | ( | urg_t * | urg | ) |
Definition at line 1121 of file urg_sensor.c.
int urg_laser_off | ( | urg_t * | urg | ) |
Definition at line 1069 of file urg_sensor.c.
int urg_laser_on | ( | urg_t * | urg | ) |
Definition at line 1045 of file urg_sensor.c.
int urg_open | ( | urg_t * | urg, |
urg_connection_type_t | connection_type, | ||
const char * | device_or_address, | ||
long | baudrate_or_port | ||
) |
Definition at line 683 of file urg_sensor.c.
int urg_reboot | ( | urg_t * | urg | ) |
Definition at line 1075 of file urg_sensor.c.
long urg_scip_decode | ( | const char | data[], |
int | size | ||
) |
SCIP 文字列のデコード
Definition at line 363 of file urg_sensor.c.
const char* urg_sensor_firmware_date | ( | urg_t * | urg | ) |
Definition at line 1267 of file urg_sensor.c.
const char* urg_sensor_firmware_version | ( | urg_t * | urg | ) |
Definition at line 1243 of file urg_sensor.c.
const char* urg_sensor_product_type | ( | urg_t * | urg | ) |
Definition at line 1179 of file urg_sensor.c.
const char* urg_sensor_protocol_version | ( | urg_t * | urg | ) |
returns the protocol version
[in] | URG |
Definition at line 1299 of file urg_sensor.c.
const char* urg_sensor_serial_id | ( | urg_t * | urg | ) |
Definition at line 1200 of file urg_sensor.c.
const char* urg_sensor_state | ( | urg_t * | urg | ) |
Definition at line 1349 of file urg_sensor.c.
const char* urg_sensor_status | ( | urg_t * | urg | ) |
Definition at line 1324 of file urg_sensor.c.
const char* urg_sensor_vendor | ( | urg_t * | urg | ) |
returns the vendor name
[in] | URG |
Definition at line 1220 of file urg_sensor.c.
int urg_set_communication_data_size | ( | urg_t * | urg, |
urg_range_data_byte_t | data_byte | ||
) |
void urg_set_error_handler | ( | urg_t * | urg, |
urg_error_handler | handler | ||
) |
Definition at line 1374 of file urg_sensor.c.
int urg_set_scanning_parameter | ( | urg_t * | urg, |
int | first_step, | ||
int | last_step, | ||
int | skip_step | ||
) |
Example
urg_set_scanning_parameter(&urg, urg_deg2step(&urg, -45), urg_deg2step(&urg, +45), 1); urg_start_measurement(&urg, URG_DISTANCE, 0); int n = urg_get_distance(&urg, data, NULL); for (int i = 0; i < n; ++i) { printf("%d [mm], %d [deg]\n", data[i], urg_index2deg(&urg, i)); }
Definition at line 1008 of file urg_sensor.c.
void urg_set_timeout_msec | ( | urg_t * | urg, |
int | msec | ||
) |
タイムアウト時間の設定
[in,out] | urg | URG センサ管理 |
[in] | msec | タイムアウトする時間 [msec] |
Definition at line 754 of file urg_sensor.c.
Definition at line 1100 of file urg_sensor.c.
int urg_start_measurement | ( | urg_t * | urg, |
urg_measurement_type_t | type, | ||
int | scan_times, | ||
int | skip_scan | ||
) |
Definition at line 876 of file urg_sensor.c.
int urg_start_time_stamp_mode | ( | urg_t * | urg | ) |
Definition at line 760 of file urg_sensor.c.
int urg_stop_measurement | ( | urg_t * | urg | ) |
Example
urg_start_measurement(&urg, URG_DISTANCE, URG_SCAN_INFINITY, 0); for (int i = 0; i < 10; ++i) { urg_get_distance(&urg, data, NULL); } urg_stop_measurement(&urg);
Definition at line 977 of file urg_sensor.c.
int urg_stop_time_stamp_mode | ( | urg_t * | urg | ) |
Definition at line 812 of file urg_sensor.c.
long urg_time_stamp | ( | urg_t * | urg | ) |
Definition at line 779 of file urg_sensor.c.
void urg_wakeup | ( | urg_t * | urg | ) |
Definition at line 1115 of file urg_sensor.c.