|
orca-robotics INTRODUCTION Overview Download and Install Quick Start Documentation Publications REPOSITORY Interfaces Components Libraries Utilities Software Map DEVELOPER Tutorials Examples Dev Guide Dashboard Wiki login/pass: orca/orca 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-2008 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)
1.4.5