GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: include/sot/core/periodic-call.hh Lines: 1 8 12.5 %
Date: 2023-03-13 12:09:37 Branches: 0 0 - %

Line Branch Exec Source
1
/*
2
 * Copyright 2010,
3
 * François Bleibel,
4
 * Olivier Stasse,
5
 *
6
 * CNRS/AIST
7
 *
8
 */
9
10
#ifndef __SOT_PERIODICCALL_HH__
11
#define __SOT_PERIODICCALL_HH__
12
13
/* --------------------------------------------------------------------- */
14
/* --- INCLUDE --------------------------------------------------------- */
15
/* --------------------------------------------------------------------- */
16
17
/* SOT */
18
#include <dynamic-graph/entity.h>
19
#include <dynamic-graph/signal-base.h>
20
21
#include <sot/core/api.hh>
22
/* STD */
23
#include <list>
24
#include <map>
25
#include <string>
26
27
/* --------------------------------------------------------------------- */
28
/* --- CLASS ----------------------------------------------------------- */
29
/* --------------------------------------------------------------------- */
30
31
namespace dynamicgraph {
32
namespace sot {
33
34
/*!
35
  \class PeriodicCall
36
*/
37
class SOT_CORE_EXPORT PeriodicCall {
38
 protected:
39
  struct SignalToCall {
40
    dynamicgraph::SignalBase<int> *signal;
41
    unsigned int downsamplingFactor;
42
43
    SignalToCall() {
44
      signal = NULL;
45
      downsamplingFactor = 1;
46
    }
47
48
    SignalToCall(dynamicgraph::SignalBase<int> *s, unsigned int df = 1) {
49
      signal = s;
50
      downsamplingFactor = df;
51
    }
52
  };
53
54
  typedef std::map<std::string, SignalToCall> SignalMapType;
55
  SignalMapType signalMap;
56
57
  int innerTime;
58
59
  /* --- FUNCTIONS ------------------------------------------------------------
60
   */
61
 public:
62
  PeriodicCall(void);
63
8
  virtual ~PeriodicCall(void) {}
64
65
  void addDownsampledSignal(const std::string &name,
66
                            dynamicgraph::SignalBase<int> &sig,
67
                            const unsigned int &downsamplingFactor);
68
  void addDownsampledSignal(const std::string &sigpath,
69
                            const unsigned int &downsamplingFactor);
70
71
  void addSignal(const std::string &name, dynamicgraph::SignalBase<int> &sig);
72
  void addSignal(const std::string &args);
73
  void rmSignal(const std::string &name);
74
75
  void runSignals(const int &t);
76
  void run(const int &t);
77
78
  void clear(void) { signalMap.clear(); }
79
80
  void display(std::ostream &os) const;
81
};
82
83
}  // namespace sot
84
}  // namespace dynamicgraph
85
86
#endif  // #ifndef __SOT_PERIODICCALL_HH__
87
88
/*
89
 * Local variables:
90
 * c-basic-offset: 2
91
 * End:
92
 */