source: flair-dev/trunk/include/FlairSensorActuator/Controller.h@ 20

Last change on this file since 20 was 13, checked in by Bayard Gildas, 9 years ago

formatting script + include reformatted

File size: 2.7 KB
RevLine 
[4]1// %flair:license{
[13]2// This file is part of the Flair framework distributed under the
3// CECILL-C License, Version 1.0.
[4]4// %flair:license}
5// created: 2015/05/27
6// filename: Controller.h
7//
8// author: Gildas Bayard
9// Copyright Heudiasyc UMR UTC/CNRS 7253
10//
11// version: $Id: $
12//
13// purpose: Utility classes for controllers
14//
15//
16/*********************************************************************/
17
18#ifndef CONTROLLER_H
19#define CONTROLLER_H
20
21#include <Object.h>
22#include <string.h>
23
24namespace flair {
[13]25namespace core {
26class Message;
[4]27}
[13]28}
[4]29
[13]30namespace flair {
31namespace sensor {
[4]32
[13]33enum class ControllerAction { SetLedOn, SetLedOff, Rumble, FlashLed, Exit };
[4]34
[13]35class RumbleMessage : public core::Message {
36public:
37 RumbleMessage(unsigned int leftForce, unsigned int leftTimeout,
38 unsigned int rightForce, unsigned int rightTimeout);
39 unsigned int GetLeftForce() const;
40 unsigned int GetLeftTimeout() const;
41 unsigned int GetRightForce() const;
42 unsigned int GetRightTimeout() const;
43 void SetLeftForce(unsigned int leftForce);
44 void SetLeftTimeout(unsigned int leftTimeout);
45 void SetRightForce(unsigned int rightForce);
46 void SetRightTimeout(unsigned int rightTimeout);
[4]47
[13]48private:
49 static const unsigned int leftForceOffset = sizeof(ControllerAction);
50 static const unsigned int leftTimeoutOffset =
51 sizeof(ControllerAction) + sizeof(unsigned int);
52 static const unsigned int rightForceOffset =
53 sizeof(ControllerAction) + 2 * sizeof(unsigned int);
54 static const unsigned int rightTimeoutOffset =
55 sizeof(ControllerAction) + 3 * sizeof(unsigned int);
56};
[4]57
[13]58class SwitchLedMessage : public core::Message {
59public:
60 SwitchLedMessage(bool isOn, unsigned int ledId);
61 bool IsOn() const;
62 unsigned int GetLedId() const;
63 void SetOn();
64 void SetOff();
65 void SetLedId(unsigned int ledId);
[4]66
[13]67private:
68 static const unsigned int isOnOffset = sizeof(ControllerAction);
69 static const unsigned int ledIdOffset =
70 sizeof(ControllerAction) + sizeof(bool);
71};
[4]72
[13]73class FlashLedMessage : public core::Message {
74public:
75 FlashLedMessage(unsigned int ledId, unsigned int onTime,
76 unsigned int offTime);
77 unsigned int GetLedId() const;
78 unsigned int GetOnTime() const;
79 unsigned int GetOffTime() const;
80 void SetLedId(unsigned int ledId);
81 void SetOnTime(unsigned int onTime);
82 void SetOffTime(unsigned int offTime);
83
84private:
85 static const unsigned int ledIdOffset = sizeof(ControllerAction);
86 static const unsigned int onTimeOffset =
87 sizeof(ControllerAction) + sizeof(unsigned int);
88 static const unsigned int offTimeOffset =
89 sizeof(ControllerAction) + 2 * sizeof(unsigned int);
90};
91}
92}
93
[4]94#endif // CONTROLLER_H
Note: See TracBrowser for help on using the repository browser.