00001 /* 00002 * SerialIMUDeviceOptions.hpp 00003 * 00004 * Created on: Jul 12, 2012 00005 * Author: mriedel 00006 */ 00007 00008 #ifndef SERIALIMUDEVICEOPTIONS_HPP_ 00009 #define SERIALIMUDEVICEOPTIONS_HPP_ 00010 00011 #include <telekyb_defines/telekyb_defines.hpp> 00012 00013 #include <telekyb_base/Options.hpp> 00014 00015 #include <telekyb_defines/enum.hpp> 00016 00017 #include <termios.h> 00018 00019 #include <telekyb_base/Base/Singleton.hpp> 00020 00021 namespace TELEKYB_NAMESPACE { 00022 00023 // For BaudRate 00024 #ifndef BAUDRATE_ENUM 00025 #define BAUDRATE_ENUM 00026 TELEKYB_ENUM_VALUES(BaudRate, size_t, 00027 (BAUD4800)(B4800) 00028 (BAUD9600)(B9600) 00029 (BAUD19200)(B19200) 00030 (BAUD38400)(B38400) 00031 (BAUD57600)(B57600) 00032 (BAUD115200)(B115200) 00033 (BAUD230400)(B230400) 00034 ) 00035 #endif 00036 00037 class SerialIMUDeviceOptions : public OptionContainer, public Singleton<SerialIMUDeviceOptions> { 00038 public: 00039 Option< std::string >* tDeviceName; 00040 00041 // Option< std::string >* tTerminalChars; 00042 00043 Option< BaudRateBaseEnum<size_t>::Type >* tBaudRate; 00044 Option< int >* tTermiosCFlags; 00045 00046 // Initial 00047 00048 SerialIMUDeviceOptions(); 00049 }; 00050 00051 } 00052 00053 #endif /* SERIALIMUDEVICEOPTIONS_HPP_ */