|
Files |
file | artwrap.h |
| Wrapper around libart function calls that makes using libart more like gtk.
|
file | carmen_stdio.h |
| stdio-functions for CARMEN in libglobal. This library supports gzipped files.
|
file | geometry.h |
| Library with geometric operations.
|
file | global.h |
| Library global. Contains a huge amount of useful things.
|
file | ipc_wrapper.h |
| Definition of the wrapped IPC functions for CARMEN in libglobal.
|
file | movement.h |
| Library for relative movements.
|
file | pswrap.h |
| Library for writing postscript files.
|
file | carmenserial.h |
| Serial library.
|
Data Structures |
struct | art_buffer_t |
struct | art_context_t |
struct | carmen_FILE |
struct | carmen_point_t |
struct | carmen_traj_point_t |
struct | carmen_robot_config_t |
struct | carmen_bresenham_param_t |
struct | carmen_list_t |
struct | carmen_default_message |
struct | carmen_heartbeat_message |
struct | carmen_movement_rtr_t |
struct | carmen_movement_fsr_t |
struct | carmen_ps_doc_t |
Defines |
#define | art_red 0xff0000ff |
#define | art_blue 0x0000ffff |
#define | art_green 0x00ff00ff |
#define | art_white 0xffffffff |
#define | art_black 0x000000ff |
#define | art_yellow 0xffff00ff |
#define | art_orange 0xff6347ff |
#define | art_grey 0x808080ff |
#define | CARMEN_NUM_OFFSETS 8 |
#define | CARMEN_MAJOR_VERSION 0 |
#define | CARMEN_MINOR_VERSION 4 |
#define | CARMEN_REVISION 6 |
#define | TRUE 1 |
#define | FALSE 0 |
#define | M_PI 3.14159265358979323846 |
#define | CARMEN_DEFAULT_MESSAGE_FMT "{double,string}" |
#define | CARMEN_HEARTBEAT_NAME "carmen_heartbeat" |
#define | CARMEN_HEARTBEAT_FMT "{string, int, double, string}" |
#define | carmen_red_code "[31;1m" |
#define | carmen_blue_code "[34;1m" |
#define | carmen_normal_code "[0m" |
#define | carmen_time_code(code, str) { double time_code_t1, time_code_t2; time_code_t1 = carmen_get_time(); code; time_code_t2 = carmen_get_time(); fprintf(stderr, "%-20s : %.2f ms.\n", str, (time_code_t2 - time_code_t1) * 1000.0); } |
#define | carmen_test_alloc(X) do {if ((void *)(X) == NULL) carmen_die("Out of memory in %s, (%s, line %d).\n", __FUNCTION__, __FILE__, __LINE__); } while (0) |
#define | carmen_test_ipc_return(ERR, ERR_MSG, IPC_MSG) do {carmen_test_ipc((ERR), (ERR_MSG), (IPC_MSG)); if ((ERR) != IPC_OK) return; } while (0) |
#define | carmen_test_ipc_return_int(ERR, ERR_MSG, IPC_MSG) do {carmen_test_ipc((ERR), (ERR_MSG), (IPC_MSG)); if ((ERR) != IPC_OK) return -1; } while (0) |
#define | carmen_test_ipc_return_null(ERR, ERR_MSG, IPC_MSG) do {carmen_test_ipc((ERR), (ERR_MSG), (IPC_MSG)); if ((ERR) != IPC_OK) return NULL; } while (0) |
#define | carmen_test_ipc_exit(ERR, ERR_MSG, IPC_MSG) do {carmen_test_ipc((ERR), (ERR_MSG), (IPC_MSG)); if ((ERR) != IPC_OK) {fprintf(stderr, "This is a fatal error. Exiting.\n"); exit(-1);} } while (0) |
#define | carmen_test_ipc_return(ERR, ERR_MSG, IPC_MSG) do {carmen_test_ipc((ERR), (ERR_MSG), (IPC_MSG)); if ((ERR) != IPC_OK) return; } while (0) |
#define | carmen_test_ipc_return_int(ERR, ERR_MSG, IPC_MSG) do {carmen_test_ipc((ERR), (ERR_MSG), (IPC_MSG)); if ((ERR) != IPC_OK) return -1; } while (0) |
#define | carmen_test_ipc_return_null(ERR, ERR_MSG, IPC_MSG) do {carmen_test_ipc((ERR), (ERR_MSG), (IPC_MSG)); if ((ERR) != IPC_OK) return NULL; } while (0) |
#define | carmen_test_ipc_exit(ERR, ERR_MSG, IPC_MSG) do {carmen_test_ipc((ERR), (ERR_MSG), (IPC_MSG)); if ((ERR) != IPC_OK) {fprintf(stderr, "This is a fatal error. Exiting.\n"); exit(-1);} } while (0) |
#define | carmen_ipc_define_test_exit(name, fmt) { IPC_RETURN_TYPE err; err = IPC_defineMsg(name, IPC_VARIABLE_LENGTH, fmt); carmen_test_ipc_exit(err, "Could not define", name); } |
#define | carmen_ipc_publish_exit(name, msg) { IPC_RETURN_TYPE err; err = IPC_publishData(name, &msg); carmen_test_ipc_exit(err, "Could not publish", name); } |
#define | CARMEN_GENERATE_PS 0 |
#define | CARMEN_GENERATE_EPS 1 |
#define | CARMEN_PS_BUTTCAP 0 |
#define | CARMEN_PS_ROUNDCAP 1 |
#define | CARMEN_PS_PROJECTINGCAP 2 |
#define | CARMEN_PS_MITERJOIN 0 |
#define | CARMEN_PS_ROUNDJOIN 1 |
#define | CARMEN_PS_BEVELJOIN 2 |
Typedefs |
typedef * | art_buffer_p |
typedef * | art_context_p |
typedef * | carmen_point_p |
typedef * | carmen_traj_point_p |
typedef void(* | carmen_usage_func )(char *fmt,...) |
typedef void(* | carmen_handler_t )(void *) |
typedef * | carmen_ps_doc_p |
Enumerations |
enum | carmen_arm_joint_t { CARMEN_MOTOR,
CARMEN_SERVO
} |
enum | carmen_subscribe_t { CARMEN_UNSUBSCRIBE,
CARMEN_SUBSCRIBE_LATEST,
CARMEN_SUBSCRIBE_ALL
} |
Functions |
art_buffer_p | art_new_buffer (int width, int height) |
art_context_p | art_new_context (void) |
void | art_set_color_rgba (art_context_p context, unsigned char r, unsigned char g, unsigned char b, unsigned char a) |
void | art_set_color (art_context_p context, long int color) |
void | art_set_linewidth (art_context_p context, int width) |
void | art_set_miterlimit (art_context_p context, int limit) |
void | art_set_jointype (art_context_p context, int jointype) |
void | art_set_captype (art_context_p context, int captype) |
void | art_set_dash (art_context_p context, int dash_on, int dash_off) |
void | art_clear (art_buffer_p buffer, art_context_p context) |
void | art_draw_point (art_buffer_p buffer, art_context_p context, float x_1, float y_1) |
void | art_draw_points (art_buffer_p buffer, art_context_p context, float *x_1, float *y_1, int num) |
void | art_draw_line (art_buffer_p buffer, art_context_p context, float x_1, float y_1, float x_2, float y_2) |
void | art_draw_x (art_buffer_p buffer, art_context_p context, float x, float y, float r) |
void | art_draw_poly (art_buffer_p buffer, art_context_p context, int filled, float *x, float *y, int n, int closed) |
void | art_draw_circle (art_buffer_p buffer, art_context_p context, int filled, float x, float y, float r) |
void | art_draw_ellipse (art_buffer_p buffer, art_context_p context, int filled, float x, float y, float x_var, float xy_cov, float y_var, float k) |
void | art_draw_gaussian (art_buffer_p buffer, art_context_p context, float x, float y, float x_var, float xy_cov, float y_var, float k) |
void | art_draw_gaussian_pca (art_buffer_p buffer, art_context_p context, float x, float y, float x_var, float xy_cov, float y_var, float k) |
void | art_draw_rectangle (art_buffer_p buffer, art_context_p context, int filled, float x_1, float y_1, float x_2, float y_2) |
void | art_draw_arc (art_buffer_p buffer, art_context_p context, float x, float y, float r, float a1, float deltaa) |
void | art_draw_wedge (art_buffer_p buffer, art_context_p context, int filled, float x, float y, float r, float a1, float deltaa) |
void | art_draw_rgb_image (art_buffer_p dest_buffer, int dest_x, int dest_y, int dest_width, int dest_height, unsigned char *src_buffer, int src_width, int src_height) |
void | art_draw_transformed_rgb_image (art_buffer_p dest_buffer, unsigned char *src_buffer, int src_width, int src_height, int dest_x, int dest_y, float angle, float scale) |
void | art_draw_transformed_rgba_image (art_buffer_p dest_buffer, unsigned char *src_buffer, int src_width, int src_height, int dest_x, int dest_y, float angle, float scale) |
void | art_draw_rgba_image (art_buffer_p dest_buffer, int dest_x, int dest_y, int dest_width, int dest_height, unsigned char *src_buffer, int src_width, int src_height) |
int | art_write_buffer_ppm (art_buffer_p buffer, char *filename) |
int | art_write_buffer_png (art_buffer_p buffer, char *filename) |
carmen_FILE * | carmen_fopen (const char *filename, const char *mode) |
int | carmen_fgetc (carmen_FILE *fp) |
int | carmen_feof (carmen_FILE *fp) |
int | carmen_fseek (carmen_FILE *fp, long offset, int whence) |
long | carmen_ftell (carmen_FILE *fp) |
int | carmen_fclose (carmen_FILE *fp) |
size_t | carmen_fread (void *ptr, size_t size, size_t nmemb, carmen_FILE *fp) |
size_t | carmen_fwrite (const void *ptr, size_t size, size_t nmemb, carmen_FILE *fp) |
char * | carmen_fgets (char *s, int size, carmen_FILE *fp) |
int | carmen_fputc (int c, carmen_FILE *fp) |
void | carmen_fprintf (carmen_FILE *fp, const char *fmt,...) |
void | carmen_geometry_compute_centre_and_curvature (carmen_traj_point_t start_point, double theta, carmen_traj_point_t end_point, carmen_traj_point_t *centre, double *radius) |
double | carmen_geometry_compute_velocity (carmen_traj_point_t robot, carmen_traj_point_t dest_pt, carmen_robot_config_t *robot_config) |
double | carmen_geometry_compute_radius_and_centre (carmen_traj_point_p prev, carmen_traj_point_p current, carmen_traj_point_p next, carmen_traj_point_p centre, carmen_traj_point_p end_curve) |
void | carmen_geometry_move_pt_to_rotating_ref_frame (carmen_traj_point_p obstacle_pt, double tv, double rv) |
void | carmen_rotate_2d (double *x, double *y, double theta) |
void | carmen_geometry_project_point (int x, int y, double theta, int *x2, int *y2, carmen_map_config_t map_defn) |
void | carmen_geometry_generate_laser_data (float *laser_data, carmen_traj_point_p traj_point, double start_theta, double end_theta, int num_points, carmen_map_p map) |
void | carmen_geometry_generate_sonar_data (double *sonar_data, carmen_traj_point_p center, carmen_point_p sonar_offsets, int num_sonars, carmen_map_p map) |
void | carmen_geometry_fast_generate_laser_data (float *laser_data, carmen_traj_point_p traj_point, double start_theta, double end_theta, int num_points, carmen_map_p map) |
double | carmen_geometry_compute_expected_distance (carmen_traj_point_p traj_point, double theta, carmen_map_p map) |
void | carmen_geometry_cache_stats (int *hits, int *misses) |
void | carmen_geometry_map_to_cspace (carmen_map_p map, carmen_robot_config_t *robot_conf) |
void | carmen_test_ipc (IPC_RETURN_TYPE err, const char *err_msg, const char *ipc_msg) |
int | carmen_find_param (char *lvalue) |
int | carmen_find_param_pair (char *lvalue) |
char * | carmen_find_robot_name (int argc, char **argv) |
char * | carmen_param_pair (char *lvalue) |
char * | carmen_param_pair_and_remove (char *lvalue) |
int | carmen_num_params (void) |
char * | carmen_get_param_by_num (int param_index) |
int | carmen_read_commandline_parameters (int argc, char **argv) |
int | carmen_process_param_int (char *lvalue, carmen_usage_func usage, int *return_value) |
double | carmen_process_param_double (char *lvalue, carmen_usage_func usage, double *return_value) |
int | carmen_process_param_onoff (char *lvalue, carmen_usage_func usage, int *return_value) |
char * | carmen_process_param_string (char *lvalue, carmen_usage_func usage) |
char * | carmen_process_param_file (char *lvalue, carmen_usage_func usage) |
char * | carmen_process_param_directory (char *lvalue, carmen_usage_func usage) |
char * | carmen_extract_filename (char *path) |
void | carmen_perror (char *fmt,...) __attribute__((format(printf |
void void | carmen_verbose (char *fmt,...) __attribute__((format(printf |
void void void | carmen_warn (char *fmt,...) __attribute__((format(printf |
void void void void | carmen_die (char *fmt,...) __attribute__((format(printf |
void void void void void | carmen_die_syserror (char *fmt,...) __attribute__((format(printf |
void void void void void void | carmen_carp_set_verbose (int verbosity) |
int | carmen_carp_get_verbose (void) |
void | carmen_carp_set_output (FILE *output) |
double | carmen_get_time (void) |
char * | carmen_get_host (void) |
carmen_default_message * | carmen_default_message_create (void) |
void | carmen_running_average_clear (int which) |
void | carmen_running_average_add (int which, double x) |
double | carmen_running_average_report (int which) |
int | carmen_round (double X) |
double | carmen_clamp (double X, double Y, double Z) |
int | carmen_trunc (double X) |
void | carmen_erase_structure (void *ptr, int size_of_struture) |
double | carmen_normalize_theta (double theta) |
double | carmen_knots_to_meters_per_second (double knots) |
double | carmen_radians_to_degrees (double theta) |
double | carmen_degrees_to_radians (double theta) |
double | carmen_fmin (double val1, double val2) |
double | carmen_fmax (double val1, double val2) |
double | carmen_square (double val) |
double | carmen_distance_traj (carmen_traj_point_p p1, carmen_traj_point_p p2) |
double | carmen_angle_between (carmen_traj_point_p p1, carmen_traj_point_p p2) |
double | carmen_distance (carmen_point_p p1, carmen_point_p p2) |
void | carmen_get_bresenham_parameters (int p1x, int p1y, int p2x, int p2y, carmen_bresenham_param_t *params) |
void | carmen_get_current_point (carmen_bresenham_param_t *params, int *x, int *y) |
int | carmen_get_next_point (carmen_bresenham_param_t *params) |
int | carmen_sign (double num) |
void | carmen_rect_to_polar (double x, double y, double *r, double *theta) |
unsigned int | carmen_generate_random_seed (void) |
unsigned int | carmen_randomize (int *argc, char ***argv) |
void | carmen_set_random_seed (unsigned int seed) |
int | carmen_int_random (int max) |
double | carmen_uniform_random (double min, double max) |
double | carmen_gaussian_random (double mean, double std) |
int | carmen_file_exists (char *filename) |
char * | carmen_file_extension (char *filename) |
char * | carmen_file_find (char *filename) |
char ** | carmen_get_search_path (int *num_paths) |
void | carmen_global_start_progess_bar (char *label) |
void | carmen_global_end_progess_bar (void) |
void | carmen_global_update_progess_bar (int count, int size) |
int | carmen_strcasecmp (const char *s1, const char *s2) |
int | carmen_strncasecmp (const char *s1, const char *s2, size_t n) |
char * | carmen_new_string (const char *fmt,...) |
char * | carmen_new_stringv (const char *fmt, va_list ap) |
void | carmen_print_version (void) |
int | carmen_parse_sonar_offsets (char *offset_string, carmen_point_p offsets, int num_sonars) |
int | carmen_parse_arm_joint_types (char *joint_string, carmen_arm_joint_t *joint_types, int num_joints) |
int | carmen_terminal_cbreak (int blocking) |
int | carmen_terminal_restore (void) |
carmen_list_t * | carmen_list_create (int entry_size, int initial_capacity) |
carmen_list_t * | carmen_list_create_from_data (int entry_size, int num_elements, void *data) |
carmen_list_t * | carmen_list_duplicate (carmen_list_t *list) |
void | carmen_list_add (carmen_list_t *list, void *entry) |
void | carmen_list_insert (carmen_list_t *list, void *entry, int i) |
void | carmen_list_delete (carmen_list_t *list, int entry_num) |
void * | carmen_list_get (carmen_list_t *list, int entry_num) |
void | carmen_list_set (carmen_list_t *list, int entry_num, void *entry) |
int | carmen_list_length (carmen_list_t *list) |
void | carmen_list_destroy (carmen_list_t **list) |
void | carmen_eigs_to_covariance (double theta, double major, double minor, double *vx, double *vxy, double *vy) |
char * | carmen_next_word (char *str) |
char * | carmen_next_n_words (char *str, int n) |
void | carmen_publish_heartbeat (char *module_name) |
void | carmen_subscribe_heartbeat_message (carmen_heartbeat_message *heartbeat, carmen_handler_t handler, carmen_subscribe_t subscribe_how) |
void | carmen_subscribe_message (char *message_name, char *message_fmt, void *message_mem, int message_size, carmen_handler_t handler, carmen_subscribe_t subscribe_how) |
void | carmen_unsubscribe_message (char *message_name, carmen_handler_t handler) |
void | carmen_ipc_subscribe_fd (int fd, carmen_handler_t handler) |
void | carmen_ipc_unsubscribe_fd (int fd, carmen_handler_t handler) |
int | carmen_ipc_connect_locked (char *module_name) |
int | carmen_ipc_connect (char *module_name) |
void | carmen_ipc_initialize_locked (int argc, char **argv) |
void | carmen_ipc_initialize_locked_with_name (int argc, char **argv, char *name) |
void | carmen_ipc_initialize (int argc, char **argv) |
void | carmen_ipc_dispatch (void) |
void | carmen_ipc_sleep (double timeout) |
void | carmen_ipc_disconnect (void) |
void | carmen_ipc_addPeriodicTimer (double interval, TIMER_HANDLER_TYPE handler, void *clientData) |
carmen_movement_rtr_t | carmen_movement_rtr_from_point (carmen_point_t pt) |
carmen_point_t | carmen_movement_point_from_rtr (carmen_movement_rtr_t move) |
carmen_movement_rtr_t | carmen_movement_invert_rtr (carmen_movement_rtr_t r) |
carmen_point_t | carmen_movement_rtr_move_point (carmen_point_t t, carmen_movement_rtr_t r) |
carmen_movement_rtr_t | carmen_movement_compose_rtr (carmen_movement_rtr_t r, carmen_movement_rtr_t add) |
carmen_movement_rtr_t | carmen_movement_rtr_between_points (carmen_point_t t1, carmen_point_t t2) |
carmen_movement_fsr_t | carmen_movement_fsr_from_point (carmen_point_t pt) |
carmen_point_t | carmen_movement_point_from_fsr (carmen_movement_fsr_t move) |
carmen_movement_fsr_t | carmen_movement_invert_fsr (carmen_movement_fsr_t r) |
carmen_point_t | carmen_movement_fsr_move_point (carmen_point_t t, carmen_movement_fsr_t r) |
carmen_movement_fsr_t | carmen_movement_compose_fsr (carmen_movement_fsr_t r, carmen_movement_fsr_t add) |
carmen_movement_fsr_t | carmen_movement_fsr_between_points (carmen_point_t t1, carmen_point_t t2) |
carmen_movement_rtr_t | carmen_movement_fsr_to_rtr (carmen_movement_fsr_t move) |
carmen_movement_fsr_t | carmen_movement_rtr_to_fsr (carmen_movement_rtr_t move) |
carmen_point_t | carmen_movement_transformation_between_frames (carmen_point_t reference_pt_frame1, carmen_point_t reference_pt_frame2, carmen_point_t pt_frame1) |
carmen_ps_doc_p | carmen_ps_open (char *filename, float width, float height, int eps) |
void | carmen_ps_close (carmen_ps_doc_p doc) |
void | carmen_ps_comment (carmen_ps_doc_p doc, char *comment) |
void | carmen_ps_next_page (carmen_ps_doc_p doc) |
void | carmen_ps_set_color (carmen_ps_doc_p doc, unsigned char r, unsigned char g, unsigned char b) |
void | carmen_ps_set_gray (carmen_ps_doc_p doc, unsigned char level) |
void | carmen_ps_set_linewidth (carmen_ps_doc_p doc, float w) |
void | carmen_ps_set_jointype (carmen_ps_doc_p doc, int join) |
void | carmen_ps_set_captype (carmen_ps_doc_p doc, int cap) |
void | carmen_ps_set_dash (carmen_ps_doc_p doc, int length) |
void | carmen_ps_set_font (carmen_ps_doc_p doc, char *fontname, int size) |
void | carmen_ps_draw_point (carmen_ps_doc_p doc, float x_1, float y_1) |
void | carmen_ps_draw_points (carmen_ps_doc_p doc, float *x_1, float *y_1, int n) |
void | carmen_ps_draw_line (carmen_ps_doc_p doc, float x_1, float y_1, float x_2, float y_2) |
void | carmen_ps_draw_x (carmen_ps_doc_p doc, float x_1, float y_1, float r) |
void | carmen_ps_draw_poly (carmen_ps_doc_p doc, int filled, float *x_1, float *y_1, int n, int closed) |
void | carmen_ps_draw_circle (carmen_ps_doc_p doc, int filled, float x_1, float y_1, float r) |
void | carmen_ps_draw_ellipse (carmen_ps_doc_p doc, int filled, float x_1, float y_1, float x_var, float xy_cov, float y_var, float k) |
void | carmen_ps_draw_gaussian (carmen_ps_doc_p doc, float x, float y, float x_var, float xy_cov, float y_var, float k) |
void | carmen_ps_draw_rectangle (carmen_ps_doc_p doc, int filled, float x_1, float y_1, float x_2, float y_2) |
void | carmen_ps_draw_arc (carmen_ps_doc_p doc, float x_1, float y_1, float r, float start_angle, float delta) |
void | carmen_ps_draw_wedge (carmen_ps_doc_p doc, int filled, float x_1, float y_1, float r, float start_angle, float delta) |
void | carmen_ps_draw_text (carmen_ps_doc_p doc, char *str, float x_1, float y_1) |
void | carmen_ps_draw_text_landscape (carmen_ps_doc_p doc, char *str, float x_1, float y_1) |
void | carmen_ps_draw_image (carmen_ps_doc_p doc, float dest_x, float dest_y, float dest_width, float dest_height, char *src_image, int src_width, int src_height) |
void | carmen_ps_draw_transformed_image (carmen_ps_doc_p doc, char *srt_image, int src_width, int src_height, float dest_x, float dest_y, float dest_theta, float dest_scale) |
int | carmen_serial_connect (int *dev_fd, char *dev_name) |
void | carmen_serial_configure (int dev_fd, int baudrate, char *parity) |
long | carmen_serial_numChars (int dev_fd) |
int | carmen_serial_ClearInputBuffer (int dev_fd) |
int | carmen_serial_writen (int dev_fd, unsigned char *buf, int nChars) |
int | carmen_serial_readn (int dev_fd, unsigned char *buf, int nChars) |
int | carmen_serial_close (int dev_fd) |
int | carmen_serial_set_low_latency (int fd) |
Variables |
int | carmen_geometry_x_offset [] |
int | carmen_geometry_y_offset [] |
MSG_INSTANCE | current_msgRef |
The module global provides a set of important functions and libraries.