source: flair-src/trunk/lib/FlairSensorActuator/src/SimuUs.h @ 4

Last change on this file since 4 was 3, checked in by Sanahuja Guillaume, 6 years ago

sensoractuator

File size: 2.3 KB
Line 
1// %flair:license{
2// This file is part of the Flair framework distributed under the
3// CECILL-C License, Version 1.0.
4// %flair:license}
5/*!
6 * \file SimuUs.h
7 * \brief Class for a simulation UsRangeFinder
8 * \author Guillaume Sanahuja, Copyright Heudiasyc UMR UTC/CNRS 7253
9 * \date 2014/02/07
10 * \version 4.0
11 */
12
13#ifndef SIMUUS_H
14#define SIMUUS_H
15
16#include <UsRangeFinder.h>
17#include <Thread.h>
18
19namespace flair
20{
21    namespace core
22    {
23        class SharedMem;
24    }
25    namespace gui
26    {
27        class SpinBox;
28    }
29}
30
31namespace flair
32{
33namespace sensor
34{
35    /*! \class SimuUs
36    *
37    * \brief Class for a simulation UsRangeFinder
38    */
39    class SimuUs : public core::Thread, public UsRangeFinder
40    {
41        public:
42            /*!
43            * \brief Constructor
44            *
45            * Construct a SimuUs. Control part.
46            *
47            * \param parent parent
48            * \param name name
49            * \param dev_id device id
50            * \param priority priority of the Thread
51            */
52            SimuUs(const core::FrameworkManager* parent,std::string name,uint32_t dev_id,uint8_t priority);
53
54            /*!
55            * \brief Constructor
56            *
57            * Construct a SimuUs. Simulation part.\n
58            * The Thread of this class should not be run.
59            *
60            * \param parent parent
61            * \param name name
62            * \param dev_id device id
63            */
64            SimuUs(const core::IODevice* parent,std::string name,uint32_t dev_id);
65
66            /*!
67            * \brief Destructor
68            *
69            */
70            ~SimuUs();
71
72        protected:
73            /*!
74            * \brief SharedMem to access datas
75            *
76            */
77            core::SharedMem *shmem;
78
79        private:
80            /*!
81            * \brief Update using provided datas
82            *
83            * Reimplemented from IODevice.
84            *
85            * \param data data from the parent to process
86            */
87            void UpdateFrom(const core::io_data *data){};
88
89            /*!
90            * \brief Run function
91            *
92            * Reimplemented from Thread.
93            *
94            */
95            void Run(void);
96
97            gui::SpinBox *data_rate;
98    };
99} // end namespace sensor
100} // end namespace flair
101#endif // SIMUUS_H
Note: See TracBrowser for help on using the repository browser.