Fawkes API Fawkes Development Version
|
00001 00002 /*************************************************************************** 00003 * urg_gbx_aqt.h - Thread for Hokuyo URG using the Gearbox library 00004 * 00005 * Created: Fri Dec 04 20:30:08 2009 (at Frankfurt Airport) 00006 * Copyright 2008-2009 Tim Niemueller [www.niemueller.de] 00007 * 00008 ****************************************************************************/ 00009 00010 /* This program is free software; you can redistribute it and/or modify 00011 * it under the terms of the GNU General Public License as published by 00012 * the Free Software Foundation; either version 2 of the License, or 00013 * (at your option) any later version. 00014 * 00015 * This program is distributed in the hope that it will be useful, 00016 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00018 * GNU Library General Public License for more details. 00019 * 00020 * Read the full text in the LICENSE.GPL file in the doc directory. 00021 */ 00022 00023 #ifndef __PLUGINS_LASER_URG_GBX_AQT_H_ 00024 #define __PLUGINS_LASER_URG_GBX_AQT_H_ 00025 00026 #include "acquisition_thread.h" 00027 00028 #include <string> 00029 #include <map> 00030 00031 namespace hokuyo_aist { 00032 class HokuyoLaser; 00033 class HokuyoData; 00034 } 00035 00036 class HokuyoUrgGbxAcquisitionThread : public LaserAcquisitionThread 00037 { 00038 public: 00039 HokuyoUrgGbxAcquisitionThread(std::string &cfg_name, std::string &cfg_prefix); 00040 00041 // from LaserAcquisitionThread 00042 virtual void pre_init(fawkes::Configuration *config, fawkes::Logger *logger); 00043 00044 virtual void init(); 00045 virtual void finalize(); 00046 virtual void loop(); 00047 00048 private: 00049 bool __pre_init_done; 00050 unsigned int __number_of_values; 00051 hokuyo_aist::HokuyoLaser *__laser; 00052 hokuyo_aist::HokuyoData *__data; 00053 00054 std::string __cfg_name; 00055 std::string __cfg_prefix; 00056 00057 std::map<std::string, std::string> __device_info; 00058 00059 std::string __cfg_device; 00060 00061 unsigned int __first_ray; 00062 unsigned int __last_ray; 00063 unsigned int __front_ray; 00064 unsigned int __front_idx; 00065 unsigned int __num_rays; 00066 unsigned int __slit_division; 00067 float __step_per_angle; 00068 float __angle_per_step; 00069 float __angular_range; 00070 }; 00071 00072 00073 #endif