void get_all_params(void) { char **variables, **values, **modules; int list_length, index, num_modules, module_index; char *robot_name, *hostname; robot_name = carmen_param_get_robot(); carmen_param_get_modules(&modules, &num_modules); carmen_logwrite_write_robot_name(robot_name, outfile); free(robot_name); carmen_param_get_paramserver_host(&hostname); for(module_index = 0; module_index < num_modules; module_index++) { if(carmen_param_get_all(modules[module_index], &variables, &values, NULL, &list_length) < 0) { IPC_perror("Error retrieving all variables of module"); exit(-1); } for(index = 0; index < list_length; index++) { carmen_logwrite_write_param(modules[module_index], variables[index], values[index], carmen_get_time(), hostname, outfile, carmen_get_time()); free(variables[index]); free(values[index]); } free(variables); free(values); free(modules[module_index]); } free(hostname); free(modules); }
int main(int argc, char** argv) { double length; char *dev; int num_items; char **modules; int num_modules; carmen_param_t param_list[] = { {"robot", "length", CARMEN_PARAM_DOUBLE, &length, 1, handler}, {"scout", "dev", CARMEN_PARAM_STRING, &dev, 1, handler}, }; carmen_ipc_initialize(argc, argv); carmen_param_check_version(argv[0]); signal(SIGINT, shutdown_module); num_items = sizeof(param_list)/sizeof(param_list[0]); carmen_param_install_params(argc, argv, param_list, num_items); carmen_param_get_robot(); carmen_param_get_modules(&modules, &num_modules); carmen_warn("robot_length is %.1f\n", length); carmen_warn("scout_dev is %s\n", dev); carmen_param_check_unhandled_commandline_args(argc, argv); carmen_ipc_dispatch(); return 0; }