source: flair-src/trunk/lib/FlairSensorActuator/src/SimuBldc.h@ 193

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

corrected simu/device id for sensors

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.