source: flair-src/trunk/lib/FlairSensorActuator/src/unexported/Servos_impl.h

Last change on this file was 340, checked in by Sanahuja Guillaume, 2 years ago

add servos

File size: 1.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//  created:    2019/11/28
6//  filename:   Servos_impl.h
7//
8//  author:     Guillaume Sanahuja
9//              Copyright Heudiasyc UMR UTC/CNRS 7253
10//
11//  version:    $Id: $
12//
13//  purpose:    Virtual class for servos
14//
15//
16/*********************************************************************/
17
18#ifndef SERVOS_IMPL_H
19#define SERVOS_IMPL_H
20
21#include <IODevice.h>
22#include <stdint.h>
23
24namespace flair {
25namespace gui {
26class DoubleSpinBox;
27class Layout;
28class Label;
29class DataPlot1D;
30class TabWidget;
31class PushButton;
32}
33namespace actuator {
34class Servos;
35}
36}
37
38class Servos_impl {
39public:
40  Servos_impl(flair::actuator::Servos *self, flair::gui::Layout *layout,
41            std::string name, uint8_t servos_count);
42  ~Servos_impl();
43  void UpdateFrom(const flair::core::io_data *data);
44  void LockUserInterface(void) const;
45  void UnlockUserInterface(void) const;
46  bool are_enabled;
47  void UseDefaultPlot(flair::gui::TabWidget *tab);
48  uint8_t servos_count;
49  flair::gui::Layout *layout;
50
51private:
52  float *values;
53  float Sat(float value);
54  flair::actuator::Servos *self;
55  flair::gui::DoubleSpinBox *min_value, *max_value, *test_value;
56  flair::gui::DataPlot1D *plots;
57  flair::gui::PushButton **button_test;
58  flair::core::Time test_start_time;
59  int tested_servo; //=-1 if no servo is tested
60};
61
62#endif // SERVOS_IMPL_H
Note: See TracBrowser for help on using the repository browser.