sot-core  4.11.6
Hierarchical task solver plug-in for dynamic-graph.
periodic-call.hh
Go to the documentation of this file.
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 #include <sot/core/api.hh>
21 /* STD */
22 #include <list>
23 #include <map>
24 #include <string>
25 
26 /* --------------------------------------------------------------------- */
27 /* --- CLASS ----------------------------------------------------------- */
28 /* --------------------------------------------------------------------- */
29 
30 namespace dynamicgraph {
31 namespace sot {
32 
37 protected:
38  struct SignalToCall {
39  dynamicgraph::SignalBase<int> *signal;
40  unsigned int downsamplingFactor;
41 
43  signal = NULL;
44  downsamplingFactor = 1;
45  }
46 
47  SignalToCall(dynamicgraph::SignalBase<int> *s, unsigned int df = 1) {
48  signal = s;
49  downsamplingFactor = df;
50  }
51  };
52 
53  typedef std::map<std::string, SignalToCall> SignalMapType;
54  SignalMapType signalMap;
55 
56  int innerTime;
57 
58  /* --- FUNCTIONS ------------------------------------------------------------
59  */
60 public:
61  PeriodicCall(void);
62  virtual ~PeriodicCall(void) {}
63 
64  void addDownsampledSignal(const std::string &name,
65  dynamicgraph::SignalBase<int> &sig,
66  const unsigned int &downsamplingFactor);
67  void addDownsampledSignal(const std::string &sigpath,
68  const unsigned int &downsamplingFactor);
69 
70  void addSignal(const std::string &name, dynamicgraph::SignalBase<int> &sig);
71  void addSignal(const std::string &args);
72  void rmSignal(const std::string &name);
73 
74  void runSignals(const int &t);
75  void run(const int &t);
76 
77  void clear(void) { signalMap.clear(); }
78 
79  void display(std::ostream &os) const;
80 };
81 
82 } // namespace sot
83 } // namespace dynamicgraph
84 
85 #endif // #ifndef __SOT_PERIODICCALL_HH__
86 
87 /*
88  * Local variables:
89  * c-basic-offset: 2
90  * End:
91  */
SignalToCall(dynamicgraph::SignalBase< int > *s, unsigned int df=1)
Definition: periodic-call.hh:47
virtual ~PeriodicCall(void)
Definition: periodic-call.hh:62
std::map< std::string, SignalToCall > SignalMapType
Definition: periodic-call.hh:53
SignalToCall()
Definition: periodic-call.hh:42
dynamicgraph::SignalBase< int > * signal
Definition: periodic-call.hh:39
#define SOT_CORE_EXPORT
Definition: api.hh:20
unsigned int downsamplingFactor
Definition: periodic-call.hh:40
Definition: periodic-call.hh:38
void clear(void)
Definition: periodic-call.hh:77
Definition: periodic-call.hh:36
SignalMapType signalMap
Definition: periodic-call.hh:54
Definition: abstract-sot-external-interface.hh:17
int innerTime
Definition: periodic-call.hh:56