/home/fwph/code/wurde/modules/sickLaser/sick.c File Reference

Go to the source code of this file.

Defines

#define TRUE   1
#define FALSE   0
#define carmen_test_alloc(X)   do {if ((void*)(X) == NULL) {fprintf(stderr, "Out of memory in %s, (%s:%d).\n",__FUNCTION__, __FILE__, __LINE__);abort();}}while(0)

Functions

double carmen_get_time_ms (void)
int iParity (parity_t par)
int iSoftControl (int flowcontrol)
int cDataSize (int numbits)
int cStopSize (int numbits)
int cFlowControl (int flowcontrol)
int cParity (parity_t par)
int cBaudrate (int baudrate)
void sick_set_serial_params (sick_laser_p laser)
void sick_set_baudrate (sick_laser_p laser, int brate)
int sick_serial_connect (sick_laser_p laser)
static int sick_compute_checksum (unsigned char *CommData, int uLen)
int sick_read_data (sick_laser_p laser, unsigned char *data, double timeout)
int sick_write_command (sick_laser_p laser, unsigned char command, unsigned char *argument, int arg_length)
void sick_request_status (sick_laser_p laser)
void sick_request_sensor (sick_laser_p laser)
int sick_set_laser_baudrate (sick_laser_p laser, int brate)
int sick_set_config_mode (sick_laser_p laser)
int sick_set_lms_resolution (sick_laser_p laser)
int sick_request_lms_config (sick_laser_p laser)
int sick_set_lms_config (sick_laser_p laser, unsigned char *data, int len)
int sick_parse_conf_data (sick_laser_p laser, unsigned char *buf, int length)
int sick_set_lms_range (sick_laser_p laser)
void sick_start_continuous_mode (sick_laser_p laser)
void sick_stop_continuous_mode (sick_laser_p laser)
int sick_testBaudrate (sick_laser_p laser, int brate)
int sick_detect_baudrate (sick_laser_p laser)
int sick_check_baudrate (sick_laser_p laser, int brate)
void sick_install_settings (sick_laser_p laser)
void sick_allocate_laser (sick_laser_p laser)
int sick_connect_device (sick_laser_p laser)
int sick_start_laser (sick_laser_p laser)
int sick_valid_packet (unsigned char *data, long size, long *offset, long *len)
static void sick_process_packet (sick_laser_p laser, unsigned char *packet)
void sick_handle_laser (sick_laser_p laser)
void sick_stop_laser (sick_laser_p laser)


Define Documentation

#define carmen_test_alloc (  )     do {if ((void*)(X) == NULL) {fprintf(stderr, "Out of memory in %s, (%s:%d).\n",__FUNCTION__, __FILE__, __LINE__);abort();}}while(0)

Definition at line 13 of file sick.c.

Referenced by sick_allocate_laser(), and sick_install_settings().

#define FALSE   0

Definition at line 11 of file sick.c.

#define TRUE   1

Definition at line 10 of file sick.c.


Function Documentation

double carmen_get_time_ms ( void   ) 

Definition at line 15 of file sick.c.

Referenced by sick_process_packet(), and sick_read_data().

int cBaudrate ( int  baudrate  ) 

Definition at line 98 of file sick.c.

Referenced by sick_set_baudrate(), and sick_set_serial_params().

int cDataSize ( int  numbits  ) 

Definition at line 49 of file sick.c.

Referenced by sick_set_serial_params().

int cFlowControl ( int  flowcontrol  ) 

Definition at line 78 of file sick.c.

Referenced by sick_set_serial_params().

int cParity ( parity_t  par  ) 

Definition at line 86 of file sick.c.

References N, and O.

Referenced by sick_set_serial_params().

int cStopSize ( int  numbits  ) 

Definition at line 70 of file sick.c.

Referenced by sick_set_serial_params().

int iParity ( parity_t  par  ) 

Definition at line 33 of file sick.c.

References N.

Referenced by sick_set_serial_params().

int iSoftControl ( int  flowcontrol  ) 

Definition at line 41 of file sick.c.

Referenced by sick_set_serial_params().

void sick_allocate_laser ( sick_laser_p  laser  ) 

Definition at line 610 of file sick.c.

References sick_laser_t::buffer, sick_laser_t::buffer_position, carmen_test_alloc, sick_laser_t::glare, laser, LASER_BUFFER_SIZE, sick_laser_t::new_reading, laser_settings_t::num_values, sick_laser_t::numvalues, sick_laser_t::processed_mark, sick_laser_t::range, sick_laser_t::settings, sick_laser_t::sfv, and sick_laser_t::wfv.

Referenced by sick_connect_device().

int sick_check_baudrate ( sick_laser_p  laser,
int  brate 
)

Definition at line 579 of file sick.c.

References FALSE, laser, sick_testBaudrate(), and TRUE.

Referenced by sick_start_laser().

static int sick_compute_checksum ( unsigned char *  CommData,
int  uLen 
) [static]

Definition at line 186 of file sick.c.

References CRC16_GEN_POL0, and CRC16_GEN_POL1.

Referenced by sick_parse_conf_data(), sick_valid_packet(), and sick_write_command().

int sick_connect_device ( sick_laser_p  laser  ) 

Definition at line 636 of file sick.c.

References laser_device_t::baudrate, laser_device_t::databits, sick_laser_t::dev, E, laser_device_t::fd, laser, N, laser_device_t::parity, sick_allocate_laser(), sick_install_settings(), sick_serial_connect(), sick_set_serial_params(), laser_device_t::stopbits, and laser_device_t::ttyport.

Referenced by sick_start_laser().

int sick_detect_baudrate ( sick_laser_p  laser  ) 

Definition at line 539 of file sick.c.

References laser, sick_laser_t::settings, sick_testBaudrate(), and laser_settings_t::use_highspeed.

Referenced by sick_start_laser().

void sick_handle_laser ( sick_laser_p  laser  ) 

Definition at line 808 of file sick.c.

References sick_laser_t::buffer, sick_laser_t::buffer_position, carmen_serial_numChars(), carmen_serial_readn(), sick_laser_t::dev, laser_device_t::fd, laser, LASER_BUFFER_SIZE, sick_laser_t::new_reading, sick_laser_t::packet_length, sick_laser_t::packet_offset, sick_laser_t::processed_mark, sick_process_packet(), and sick_valid_packet().

Referenced by main().

void sick_install_settings ( sick_laser_p  laser  ) 

Definition at line 593 of file sick.c.

References laser_device_t::baudrate, carmen_test_alloc, laser_settings_t::databits, laser_device_t::databits, sick_laser_t::dev, laser_settings_t::device_name, laser_device_t::fd, laser_settings_t::hwf, laser_device_t::hwf, laser, laser_settings_t::parity, laser_device_t::parity, laser_device_t::passwd, laser_settings_t::password, sick_laser_t::settings, laser_settings_t::start_baudrate, laser_settings_t::stopbits, laser_device_t::stopbits, laser_settings_t::swf, laser_device_t::swf, laser_device_t::ttyport, laser_settings_t::type, and laser_device_t::type.

Referenced by sick_connect_device().

int sick_parse_conf_data ( sick_laser_p  laser,
unsigned char *  buf,
int  length 
)

Definition at line 417 of file sick.c.

References CM, DM, FALSE, laser, MM, RANGE160M, RANGE320M, RANGE80M, laser_settings_t::range_dist, laser_settings_t::range_res, sick_laser_t::settings, sick_compute_checksum(), sick_set_config_mode(), and sick_set_lms_config().

Referenced by sick_set_lms_range().

static void sick_process_packet ( sick_laser_p  laser,
unsigned char *  packet 
) [static]

Definition at line 762 of file sick.c.

References carmen_get_time_ms(), sick_laser_t::glare, laser, LMS, sick_laser_t::new_reading, sick_laser_t::range, sick_laser_t::raw, sick_laser_t::settings, sick_laser_t::sfv, sick_laser_t::timestamp, laser_settings_t::type, and sick_laser_t::wfv.

Referenced by sick_handle_laser().

int sick_read_data ( sick_laser_p  laser,
unsigned char *  data,
double  timeout 
)

Definition at line 213 of file sick.c.

References BUFFER_SIZE, carmen_get_time_ms(), carmen_serial_numChars(), sick_laser_t::dev, FALSE, laser_device_t::fd, laser, LID, STX, TRUE, and val.

Referenced by sick_set_config_mode(), sick_set_lms_range(), and sick_testBaudrate().

int sick_request_lms_config ( sick_laser_p  laser  ) 

Definition at line 397 of file sick.c.

References ACK, laser, and sick_write_command().

Referenced by sick_set_lms_range().

void sick_request_sensor ( sick_laser_p  laser  ) 

Definition at line 328 of file sick.c.

References laser, and sick_write_command().

void sick_request_status ( sick_laser_p  laser  ) 

Definition at line 323 of file sick.c.

References laser, and sick_write_command().

int sick_serial_connect ( sick_laser_p  laser  ) 

Definition at line 176 of file sick.c.

References sick_laser_t::dev, laser_device_t::fd, laser, sick_set_serial_params(), and laser_device_t::ttyport.

Referenced by sick_connect_device().

void sick_set_baudrate ( sick_laser_p  laser,
int  brate 
)

Definition at line 165 of file sick.c.

References cBaudrate(), sick_laser_t::dev, laser_device_t::fd, and laser.

Referenced by sick_start_laser(), and sick_testBaudrate().

int sick_set_config_mode ( sick_laser_p  laser  ) 

Definition at line 352 of file sick.c.

References ACK, carmen_serial_ClearInputBuffer(), sick_laser_t::dev, FALSE, laser_device_t::fd, laser, MAX_COMMAND_SIZE, MAX_TIME_FOR_CONFIG, laser_device_t::passwd, sick_read_data(), and sick_write_command().

Referenced by sick_parse_conf_data(), and sick_start_laser().

int sick_set_laser_baudrate ( sick_laser_p  laser,
int  brate 
)

Definition at line 335 of file sick.c.

References ACK, laser, and sick_write_command().

Referenced by sick_start_laser().

int sick_set_lms_config ( sick_laser_p  laser,
unsigned char *  data,
int  len 
)

Definition at line 405 of file sick.c.

References ACK, FALSE, laser, and sick_write_command().

Referenced by sick_parse_conf_data().

int sick_set_lms_range ( sick_laser_p  laser  ) 

Definition at line 477 of file sick.c.

References BUFFER_SIZE, FALSE, laser, MAX_TIME_FOR_GETTING_CONF, sick_parse_conf_data(), sick_read_data(), and sick_request_lms_config().

Referenced by sick_start_laser().

int sick_set_lms_resolution ( sick_laser_p  laser  ) 

Definition at line 368 of file sick.c.

References ACK, laser_settings_t::angle_range, laser_settings_t::angle_resolution, laser, RES_0_50_DEGREE, RES_1_00_DEGREE, sick_laser_t::settings, and sick_write_command().

Referenced by sick_start_laser().

void sick_set_serial_params ( sick_laser_p  laser  ) 

Definition at line 146 of file sick.c.

References laser_device_t::baudrate, cBaudrate(), cDataSize(), cFlowControl(), cParity(), cStopSize(), laser_device_t::databits, sick_laser_t::dev, laser_device_t::fd, laser_device_t::hwf, iParity(), iSoftControl(), laser, laser_device_t::parity, laser_device_t::stopbits, and laser_device_t::swf.

Referenced by sick_connect_device(), and sick_serial_connect().

void sick_start_continuous_mode ( sick_laser_p  laser  ) 

Definition at line 491 of file sick.c.

References ACK, laser_settings_t::angle_resolution, laser, LMS, PLS, RES_0_50_DEGREE, RES_1_00_DEGREE, sick_laser_t::settings, sick_write_command(), and laser_settings_t::type.

Referenced by sick_start_laser().

int sick_start_laser ( sick_laser_p  laser  ) 

Definition at line 656 of file sick.c.

References laser_settings_t::angle_range, laser_settings_t::angle_resolution, laser_settings_t::detect_baudrate, laser, LMS, PLS, RES_0_50_DEGREE, RES_1_00_DEGREE, laser_settings_t::set_baudrate, sick_laser_t::settings, sick_check_baudrate(), sick_connect_device(), sick_detect_baudrate(), sick_set_baudrate(), sick_set_config_mode(), sick_set_laser_baudrate(), sick_set_lms_range(), sick_set_lms_resolution(), sick_start_continuous_mode(), laser_settings_t::start_baudrate, and laser_settings_t::type.

Referenced by initializeLaser().

void sick_stop_continuous_mode ( sick_laser_p  laser  ) 

Definition at line 509 of file sick.c.

References ACK, laser, and sick_write_command().

Referenced by sick_stop_laser().

void sick_stop_laser ( sick_laser_p  laser  ) 

Definition at line 849 of file sick.c.

References sick_laser_t::dev, laser_device_t::fd, laser, and sick_stop_continuous_mode().

Referenced by main().

int sick_testBaudrate ( sick_laser_p  laser,
int  brate 
)

Definition at line 522 of file sick.c.

References BUFFER_SIZE, FALSE, laser, MAX_TIME_FOR_TESTING_BAUDRATE, NAK, sick_read_data(), sick_set_baudrate(), sick_write_command(), and TRUE.

Referenced by sick_check_baudrate(), and sick_detect_baudrate().

int sick_valid_packet ( unsigned char *  data,
long  size,
long *  offset,
long *  len 
)

Definition at line 719 of file sick.c.

References sick_compute_checksum().

Referenced by sick_handle_laser().

int sick_write_command ( sick_laser_p  laser,
unsigned char  command,
unsigned char *  argument,
int  arg_length 
)

Definition at line 261 of file sick.c.

References ACK, carmen_serial_numChars(), carmen_serial_writen(), sick_laser_t::dev, DLE, laser_device_t::fd, INI, laser, MAX_COMMAND_SIZE, NAK, sick_compute_checksum(), STX, TIO, UKN, and val.

Referenced by sick_request_lms_config(), sick_request_sensor(), sick_request_status(), sick_set_config_mode(), sick_set_laser_baudrate(), sick_set_lms_config(), sick_set_lms_resolution(), sick_start_continuous_mode(), sick_stop_continuous_mode(), and sick_testBaudrate().


Generated on Thu Feb 1 15:31:54 2007 for WURDE by  doxygen 1.5.1