source: flair-src/trunk/lib/FlairIpc/src/IpcUs.h @ 397

Last change on this file since 397 was 397, checked in by Sanahuja Guillaume, 7 months ago

add ipc lib

  • Property svn:eol-style set to native
File size: 1.5 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 IpcUs.h
7 * \brief Class for an ipc UsRangeFinder
8 * \author Sébastien Ambroziak Copyright Heudiasyc UMR UTC/CNRS 7253
9 * \date 2021/03/03
10 * \version 4.0
11 */
12
13#ifndef IPCUS_H
14#define IPCUS_H
15
16#include <UsRangeFinder.h>
17#include <Thread.h>
18
19namespace flair {
20namespace gui {
21class SpinBox;
22}
23}
24
25template <typename T>
26class ShmReceiver;
27
28template <typename T>
29class IpcReceiver;
30
31namespace flair {
32namespace sensor {
33/*! \class IpcUs
34*
35* \brief Class for a simulation UsRangeFinder
36*/
37class IpcUs : public core::Thread, public UsRangeFinder {
38public:
39  /*!
40  * \brief Constructor
41  *
42  * Construct an IpcUs.
43        * It will be child of the FrameworkManager.
44  *
45  * \param name name
46  * \param modelId Model id
47  * \param ipc_name name of the ipc
48  * \param ipc_channel ipc channel number
49 
50  */
51  IpcUs(std::string name, uint8_t priority, const char* ipc_name, int ipc_channel);
52
53  /*!
54  * \brief Destructor
55  *
56  */
57  ~IpcUs();
58
59
60private:
61  /*!
62  * \brief Update using provided datas
63  *
64  * Reimplemented from IODevice.
65  *
66  * \param data data from the parent to process
67  */
68  void UpdateFrom(const core::io_data *data){};
69
70  /*!
71  * \brief Run function
72  *
73  * Reimplemented from Thread.
74  *
75  */
76  void Run(void);
77 
78  gui::SpinBox *data_rate;
79  ShmReceiver<float>* receiver;
80};
81} // end namespace sensor
82} // end namespace flair
83#endif // IPCUS_H
Note: See TracBrowser for help on using the repository browser.