00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00029
00030
00039 #ifndef CARMEN_PARAM_MESSAGES_H
00040 #define CARMEN_PARAM_MESSAGES_H
00041
00042 #ifdef __cplusplus
00043 extern "C" {
00044 #endif
00045
00046 typedef enum {CARMEN_PARAM_OK, CARMEN_PARAM_NOT_FOUND, CARMEN_PARAM_NOT_INT,
00047 CARMEN_PARAM_NOT_DOUBLE, CARMEN_PARAM_NOT_ONOFF,
00048 CARMEN_PARAM_NOT_FILE, CARMEN_PARAM_FILE_ERR} carmen_param_status_t;
00049
00050 #define CARMEN_PARAM_QUERY_ALL_NAME "carmen_param_query_all"
00051 #define CARMEN_PARAM_QUERY_INT_NAME "carmen_param_query_int"
00052 #define CARMEN_PARAM_QUERY_DOUBLE_NAME "carmen_param_query_double"
00053 #define CARMEN_PARAM_QUERY_ONOFF_NAME "carmen_param_query_onoff"
00054 #define CARMEN_PARAM_QUERY_STRING_NAME "carmen_param_query_string"
00055 #define CARMEN_PARAM_VERSION_QUERY_NAME "carmen_param_query_version"
00056 #define CARMEN_PARAM_REREAD_COMMAND_NAME "carmen_param_reread_command"
00057
00058 typedef carmen_default_message carmen_param_query_version_message;
00059 typedef carmen_default_message carmen_param_reread_command_message;
00060
00061 typedef struct {
00062 char *module_name;
00063 char *variable_name;
00064 double timestamp;
00065 char *host;
00066 } carmen_param_query_message;
00067
00068 #define CARMEN_PARAM_QUERY_ROBOT_NAME "carmen_param_query_robot"
00069 #define CARMEN_PARAM_QUERY_FMT "{string,string,double,string}"
00070
00075 typedef struct {
00076 char *robot;
00077 carmen_param_status_t status;
00078 double timestamp;
00079 char *host;
00080 } carmen_param_response_robot_message;
00081
00082 #define CARMEN_PARAM_RESPONSE_ROBOT_NAME "carmen_param_respond_robot"
00083 #define CARMEN_PARAM_RESPONSE_ROBOT_FMT "{string,int,double,string}"
00084
00085 #define CARMEN_PARAM_QUERY_MODULES_NAME "carmen_param_query_modules"
00086
00092 typedef struct {
00093 char **modules;
00094 int num_modules;
00095 carmen_param_status_t status;
00096 double timestamp;
00097 char *host;
00098 } carmen_param_response_modules_message;
00099
00100 #define CARMEN_PARAM_RESPONSE_MODULES_NAME "carmen_param_respond_modules"
00101 #define CARMEN_PARAM_RESPONSE_MODULES_FMT "{<string:2>, int, int,double,string}"
00102
00108 typedef struct {
00109 char *module_name;
00110 int list_length;
00114 char **variables;
00115 char **values;
00119 int *expert;
00125 carmen_param_status_t status;
00131 double timestamp;
00132 char *host;
00133 } carmen_param_response_all_message;
00134
00135 #define CARMEN_PARAM_RESPONSE_ALL_NAME "carmen_param_respond_all"
00136 #define CARMEN_PARAM_RESPONSE_ALL_FMT "{string, int, <string:2>, <string:2>, <int:2>, int, double, string}"
00137
00145 typedef struct {
00146 char *module_name;
00147 char *variable_name;
00148 int value;
00150 int expert;
00152 carmen_param_status_t status;
00154 double timestamp;
00155 char *host;
00156 } carmen_param_response_int_message;
00157
00158 #define CARMEN_PARAM_RESPONSE_INT_NAME "carmen_param_respond_int"
00159 #define CARMEN_PARAM_RESPONSE_INT_FMT "{string, string, int, int, int, double, string}"
00160
00168 typedef struct {
00169 char *module_name;
00170 char *variable_name;
00171 double value;
00173 int expert;
00175 carmen_param_status_t status;
00177 double timestamp;
00178 char *host;
00179 } carmen_param_response_double_message;
00180
00181 #define CARMEN_PARAM_RESPONSE_DOUBLE_NAME "carmen_param_respond_double"
00182 #define CARMEN_PARAM_RESPONSE_DOUBLE_FMT "{string, string, double, int, int, double, string}"
00183
00191 typedef struct {
00192 char *module_name;
00193 char *variable_name;
00194 int value;
00197 int expert;
00199 carmen_param_status_t status;
00201 double timestamp;
00202 char *host;
00203 } carmen_param_response_onoff_message;
00204
00205 #define CARMEN_PARAM_RESPONSE_ONOFF_NAME "carmen_param_respond_onoff"
00206 #define CARMEN_PARAM_RESPONSE_ONOFF_FMT "{string, string, int, int, int, double, string}"
00207
00214 typedef struct {
00215 char *module_name;
00216 char *variable_name;
00217 char *value;
00218 int expert;
00220 carmen_param_status_t status;
00222 double timestamp;
00223 char *host;
00224 } carmen_param_response_string_message;
00225
00226 #define CARMEN_PARAM_RESPONSE_STRING_NAME "carmen_param_respond_string"
00227 #define CARMEN_PARAM_RESPONSE_STRING_FMT "{string, string, string, int, int, double, string}"
00228
00233 typedef struct {
00234 char *module_name;
00236 char *variable_name;
00238 char *value;
00240 double timestamp;
00241 char *host;
00242 } carmen_param_set_message;
00243
00244 #define CARMEN_PARAM_SET_NAME "carmen_param_set"
00245 #define CARMEN_PARAM_SET_FMT "{string, string, string, double, string}"
00246
00247 typedef carmen_param_response_string_message carmen_param_variable_change_message;
00248
00249 #define CARMEN_PARAM_VARIABLE_CHANGE_NAME "carmen_param_variable_change"
00250 #define CARMEN_PARAM_VARIABLE_CHANGE_FMT "{string, string, string, int, int, double, string}"
00251
00257 typedef struct {
00258 int major;
00259 int minor;
00260 int revision;
00261 double timestamp;
00262 char *host;
00263 } carmen_param_version_message;
00264
00265 #define CARMEN_PARAM_VERSION_NAME "carmen_param_version"
00266 #define CARMEN_PARAM_VERSION_FMT "{int, int, int, double, string}"
00267
00268 #ifdef __cplusplus
00269 }
00270 #endif
00271
00272 #endif
00273
00274