source: flair-src/trunk/lib/FlairSensorActuator/src/SimuLaser.h @ 158

Last change on this file since 158 was 158, checked in by Sanahuja Guillaume, 5 years ago

corrected simu/device id for sensors

File size: 2.0 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 SIMULASER_H
14#define SIMULASER_H
15
16#include <LaserRangeFinder.h>
17#include <Thread.h>
18
19namespace flair {
20namespace core {
21class SharedMem;
22}
23namespace gui {
24class SpinBox;
25}
26}
27
28namespace flair {
29namespace sensor {
30/*! \class SimuUs
31*
32* \brief Class for a simulation UsRangeFinder
33*/
34class SimuLaser : public core::Thread, public LaserRangeFinder {
35public:
36  /*!
37  * \brief Constructor
38  *
39  * Construct a SimuUs. Control part.
40        * It will be child of the FrameworkManager.
41  *
42  * \param name name
43  * \param modelId Model id
44  * \param deviceId LaserRangeFinder id of the Model
45  * \param priority priority of the Thread
46  */
47  SimuLaser(std::string name,
48            uint32_t modelId,uint32_t deviceId, uint8_t priority);
49
50  /*!
51  * \brief Constructor
52  *
53  * Construct a SimuUs. Simulation part.\n
54  * The Thread of this class should not be run.
55  *
56  * \param parent parent
57  * \param name name
58  * \param modelId Model id
59  * \param deviceId LaserRangeFinder id of the Model
60  */
61  SimuLaser(const core::IODevice *parent, std::string name, uint32_t modelId,uint32_t deviceId);
62
63  /*!
64  * \brief Destructor
65  *
66  */
67  ~SimuLaser();
68
69protected:
70  /*!
71  * \brief SharedMem to access datas
72  *
73  */
74  core::SharedMem *shmem;
75
76private:
77  /*!
78  * \brief Update using provided datas
79  *
80  * Reimplemented from IODevice.
81  *
82  * \param data data from the parent to process
83  */
84  void UpdateFrom(const core::io_data *data){};
85
86  /*!
87  * \brief Run function
88  *
89  * Reimplemented from Thread.
90  *
91  */
92  void Run(void);
93 
94  std::string ShMemName(uint32_t modelId,uint32_t deviceId);
95  gui::SpinBox *data_rate;
96};
97} // end namespace sensor
98} // end namespace flair
99#endif // SIMULASER_H
Note: See TracBrowser for help on using the repository browser.