-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathAutoRef.h
45 lines (30 loc) · 1.18 KB
/
AutoRef.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
//Copyright (c) Piet Wauters 2022 <[email protected]>
#ifndef AUTOREF_H
#define AUTOREF_H
#include "SubjectObserverTemplate.h"
#include "3WeaponSensor.h"
#include "WS2812BLedStrip.h"
#include "FencingStateMachine.h"
enum RefereeState_t {IDLE,STARTING, ENDING, WATCHING, WAITING_FOR_CONFIRMATION};
class UDPIOHandler;
class AutoRef : public Subject<FencingStateMachine> , public Observer<MultiWeaponSensor> , public Observer<UDPIOHandler>
{
public:
/** Default constructor */
AutoRef(); // tickPeriod in miliseconds
/** Default destructor */
virtual ~AutoRef();
//void StateChanged () {notify();}
void update (MultiWeaponSensor *subject, uint32_t eventtype);
// void update (BlynkIOHandler *subject, uint32_t eventtype);
void update (UDPIOHandler *subject, uint32_t eventtype);
void update (CyranoHandler *subject, uint32_t eventtype){};
void update (CyranoHandler *subject, string eventtype);
void StateChanged (uint32_t eventtype) {notify(eventtype);}
protected:
private:
// private methods
// private member variables
RefereeState_t m_RefState = IDLE;
};
#endif // AUTOREF_H