#include "urg_c/urg_sensor.h"
#include "urg_c/urg_errno.h"
#include <stddef.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
Go to the source code of this file.
Enumerations | |
enum | { URG_FALSE = 0, URG_TRUE = 1, BUFFER_SIZE = 64 + 2 + 6, EXPECTED_END = -1, RECEIVE_DATA_TIMEOUT, RECEIVE_DATA_COMPLETE, PP_RESPONSE_LINES = 10, VV_RESPONSE_LINES = 7, II_RESPONSE_LINES = 9, MAX_TIMEOUT = 140 } |
URG センサ制御 More... | |
Functions | |
static int | change_sensor_baudrate (urg_t *urg, long current_baudrate, long next_baudrate) |
static int | connect_urg_device (urg_t *urg, long baudrate) |
static char * | copy_token (char *dest, char *receive_buffer, const char *start_str, const char *end_ch, int lines) |
static void | ignore_receive_data (urg_t *urg, int timeout) |
static void | ignore_receive_data_with_qt (urg_t *urg, int timeout) |
static urg_measurement_type_t | parse_distance_echoback (urg_t *urg, const char echoback[]) |
static urg_measurement_type_t | parse_distance_parameter (urg_t *urg, const char echoback[]) |
static int | parse_parameter (const char *parameter, int size) |
static const char * | receive_command_response (urg_t *urg, char *buffer, int buffer_size, const char *command, int response_lines) |
static int | receive_data (urg_t *urg, long data[], unsigned short intensity[], long *time_stamp, unsigned long long *system_time_stamp) |
距離データの取得 More... | |
static int | receive_length_data (urg_t *urg, long length[], unsigned short intensity[], urg_measurement_type_t type, char buffer[]) |
static int | receive_parameter (urg_t *urg) |
static char | scip_checksum (const char buffer[], int size) |
チェックサムの計算 More... | |
static int | scip_response (urg_t *urg, const char *command, const int expected_ret[], int timeout, char *receive_buffer, int receive_buffer_max_size) |
static int | send_distance_command (urg_t *urg, int scan_times, int skip_scan, char single_scan_ch, char continuous_scan_ch, char scan_type_ch) |
static int | set_errno_and_return (urg_t *urg, int urg_errno) |
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 文字列のデコード. More... | |
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 More... | |
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 More... | |
int | urg_set_connection_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) |
タイムアウト時間の設定 More... | |
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) |
Variables | |
static const char | NOT_CONNECTED_MESSAGE [] = "not connected." |
static const char | RECEIVE_ERROR_MESSAGE [] = "receive error." |
anonymous enum |
URG センサ制御
Enumerator | |
---|---|
URG_FALSE | |
URG_TRUE | |
BUFFER_SIZE | |
EXPECTED_END | |
RECEIVE_DATA_TIMEOUT | |
RECEIVE_DATA_COMPLETE |
データを正常に受信 |
PP_RESPONSE_LINES | |
VV_RESPONSE_LINES | |
II_RESPONSE_LINES | |
MAX_TIMEOUT |
Definition at line 23 of file urg_sensor.c.
|
static |
Definition at line 177 of file urg_sensor.c.
|
static |
Definition at line 213 of file urg_sensor.c.
|
static |
Definition at line 1129 of file urg_sensor.c.
|
static |
Definition at line 146 of file urg_sensor.c.
|
static |
Definition at line 164 of file urg_sensor.c.
|
static |
Definition at line 425 of file urg_sensor.c.
|
static |
Definition at line 390 of file urg_sensor.c.
|
static |
Definition at line 379 of file urg_sensor.c.
|
static |
Definition at line 1158 of file urg_sensor.c.
|
static |
距離データの取得
Definition at line 568 of file urg_sensor.c.
|
static |
Definition at line 448 of file urg_sensor.c.
|
static |
Definition at line 294 of file urg_sensor.c.
|
static |
チェックサムの計算
Definition at line 47 of file urg_sensor.c.
|
static |
Definition at line 69 of file urg_sensor.c.
|
static |
Definition at line 832 of file urg_sensor.c.
|
static |
Definition at line 61 of file urg_sensor.c.
void urg_close | ( | urg_t * | urg | ) |
Definition at line 745 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 934 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 | ||
) |
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 | ) |
Definition at line 1122 of file urg_sensor.c.
int urg_laser_off | ( | urg_t * | urg | ) |
Definition at line 1070 of file urg_sensor.c.
int urg_laser_on | ( | urg_t * | urg | ) |
Definition at line 1046 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 684 of file urg_sensor.c.
int urg_reboot | ( | urg_t * | urg | ) |
Definition at line 1076 of file urg_sensor.c.
long urg_scip_decode | ( | const char | data[], |
int | size | ||
) |
SCIP 文字列のデコード.
Definition at line 364 of file urg_sensor.c.
const char* urg_sensor_firmware_date | ( | urg_t * | urg | ) |
Definition at line 1268 of file urg_sensor.c.
const char* urg_sensor_firmware_version | ( | urg_t * | urg | ) |
Definition at line 1244 of file urg_sensor.c.
const char* urg_sensor_product_type | ( | urg_t * | urg | ) |
Definition at line 1180 of file urg_sensor.c.
const char* urg_sensor_protocol_version | ( | urg_t * | urg | ) |
returns the protocol version
[in] | URG |
Definition at line 1300 of file urg_sensor.c.
const char* urg_sensor_serial_id | ( | urg_t * | urg | ) |
Definition at line 1201 of file urg_sensor.c.
const char* urg_sensor_state | ( | urg_t * | urg | ) |
Definition at line 1350 of file urg_sensor.c.
const char* urg_sensor_status | ( | urg_t * | urg | ) |
Definition at line 1325 of file urg_sensor.c.
const char* urg_sensor_vendor | ( | urg_t * | urg | ) |
returns the vendor name
[in] | URG |
Definition at line 1221 of file urg_sensor.c.
int urg_set_connection_data_size | ( | urg_t * | urg, |
urg_range_data_byte_t | data_byte | ||
) |
Definition at line 1028 of file urg_sensor.c.
void urg_set_error_handler | ( | urg_t * | urg, |
urg_error_handler | handler | ||
) |
Definition at line 1375 of file urg_sensor.c.
int urg_set_scanning_parameter | ( | urg_t * | urg, |
int | first_step, | ||
int | last_step, | ||
int | skip_step | ||
) |
Example
Definition at line 1009 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 755 of file urg_sensor.c.
void urg_sleep | ( | urg_t * | urg | ) |
Definition at line 1101 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 877 of file urg_sensor.c.
int urg_start_time_stamp_mode | ( | urg_t * | urg | ) |
Definition at line 761 of file urg_sensor.c.
int urg_stop_measurement | ( | urg_t * | urg | ) |
int urg_stop_time_stamp_mode | ( | urg_t * | urg | ) |
Definition at line 813 of file urg_sensor.c.
long urg_time_stamp | ( | urg_t * | urg | ) |
Definition at line 780 of file urg_sensor.c.
void urg_wakeup | ( | urg_t * | urg | ) |
Definition at line 1116 of file urg_sensor.c.
|
static |
Definition at line 42 of file urg_sensor.c.
|
static |
Definition at line 43 of file urg_sensor.c.