INTRODUCTION Overview Download and Install Quick Start Documentation Publications NONFRAMEWORK CODE Driver Interfaces Drivers Libraries Utilities FRAMEWORK CODE Interfaces Components Libraries Utilities Full Software Listings DEVELOPER Tutorials Examples Dev Guide Dashboard PEOPLE Contributors Users Project Download Mailing lists
|
components/insgps/mainthread.h00001 /* 00002 * Orca-Robotics Project: Components for robotics 00003 * http://orca-robotics.sf.net/ 00004 * Copyright (c) 2004-2009 Alex Brooks, Alexei Makarenko, Tobias Kaupp 00005 * 00006 * This copy of Orca is licensed to you under the terms described in 00007 * the LICENSE file included in this distribution. 00008 * 00009 */ 00010 #ifndef MAIN_THREAD_H 00011 #define MAIN_THREAD_H 00012 00013 #include <memory> 00014 #include <orcaice/subsystemthread.h> 00015 #include <orcaice/context.h> 00016 // remote interfaces 00017 #include <orcaifaceimpl/ins.h> 00018 #include <orcaifaceimpl/gps.h> 00019 #include <orcaifaceimpl/imu.h> 00020 00021 namespace insgps { 00022 00023 // 00024 // @brief the main executing loop of this insgps component. 00025 // 00026 class MainThread : public orcaice::SubsystemThread 00027 { 00028 00029 public: 00030 00031 MainThread( const orcaice::Context &context ); 00032 virtual ~MainThread(); 00033 00034 private: 00035 // from SubsystemThread 00036 virtual void initialise(); 00037 virtual void work(); 00038 00039 // Loops until established 00040 void initNetworkInterface(); 00041 00042 // provided interfaces 00043 orcaifaceimpl::InsImplPtr insInterface_; 00044 orcaifaceimpl::GpsImplPtr gpsInterface_; 00045 orcaifaceimpl::ImuImplPtr imuInterface_; 00046 00047 // Thread talking to hardware 00048 IceUtil::Handle<class HwThread> hwThread_; 00049 00050 orcaice::Context context_; 00051 }; 00052 00053 } // namespace 00054 00055 #endif |
Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)