source: flair-dev/trunk/include/FlairSensorActuator/SimuBldc.h @ 50

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

doc

File size: 2.4 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 SimuBldc.h
7 * \brief Class for a simulation bldc
8 * \author Guillaume Sanahuja, Copyright Heudiasyc UMR UTC/CNRS 7253
9 * \date 2014/02/07
10 * \version 4.0
11 */
12
13#ifndef SIMUBLDC_H
14#define SIMUBLDC_H
15
16#include <Bldc.h>
17
18namespace flair {
19namespace core {
20class SharedMem;
21class IODevice;
22class cvmatrix;
23}
24namespace gui {
25class DoubleSpinBox;
26class Layout;
27}
28}
29
30namespace flair {
31namespace actuator {
32/*! \class SimuBldc
33*
34* \brief Class for a simulation bldc
35*
36*/
37class SimuBldc : public Bldc {
38public:
39  /*!
40  * \brief Constructor
41  *
42  * Construct a SimuBldc. Control part.
43  *
44  * \param parent parent
45  * \param layout layout
46  * \param name name
47  * \param motors_count number of motors
48  * \param modelId Model id
49  * \param deviceId Bldc id of the Model
50  */
51  SimuBldc(const core::IODevice *parent, gui::Layout *layout, std::string name,
52           uint8_t motors_count, uint32_t modelId,uint32_t deviceId);
53
54  /*!
55  * \brief Constructor
56  *
57  * Construct a SimuBldc. Simulation part.
58  *
59  * \param parent parent
60  * \param name name
61  * \param motors_count number of motors
62  * \param modelId Model id
63  * \param deviceId Bldc id of the Model
64  */
65  SimuBldc(const core::Object *parent, std::string name, uint8_t motors_count,
66           uint32_t modelId,uint32_t deviceId);
67
68  /*!
69  * \brief Destructor
70  *
71  */
72  ~SimuBldc();
73
74  /*!
75  * \brief Get motors speeds.
76  *
77  * This function should only be used for the simulation part.
78  *
79  * \param value array to store motors speeds
80  */
81  void GetSpeeds(float *value) const;
82
83  /*!
84  * \brief Has speed measurement
85  *
86  * Reimplemented from Bldc. \n
87  *
88  * \return true if it has speed measurement
89  */
90  bool HasSpeedMeasurement(void) const { return false; };
91
92  /*!
93  * \brief Has current measurement
94  *
95  * Reimplemented from Bldc. \n
96  *
97  * \return true if it has current measurement
98  */
99  bool HasCurrentMeasurement(void) const { return false; };
100
101private:
102  /*!
103  * \brief Set motors values
104  *
105  * Reimplemented from Bldc. \n
106  * Values size must be the same as MotorsCount()
107  *
108  * \param values motor values
109  */
110  void SetMotors(float *value);
111 
112  std::string ShMemName(uint32_t modelId,uint32_t deviceId);
113  core::SharedMem *shmem;
114  gui::DoubleSpinBox *k;
115};
116} // end namespace actuator
117} // end namespace flair
118#endif // SIMUBLDC_H
Note: See TracBrowser for help on using the repository browser.