LRT14  1.0
 All Classes Namespaces Functions Variables Enumerations Enumerator
SensorFactory.h
1 #ifndef SENSOR_FACTORY_H_
2 #define SENSOR_FACTORY_H_
3 
4 #include <map>
5 #include <DigitalInput.h>
6 #include <AnalogChannel.h>
7 #include <Counter.h>
8 #include <GearTooth.h>
9 #include "DriveEncoders.h"
10 #include "LRTEncoder.h"
11 #include "../Communication/LiveNetworkSendable.h"
12 
17 {
18 public:
19  static void Initialize();
20  static void Finalize();
21 
22  static AnalogChannel* GetAnalogChannel(uint32_t port);
23  static DigitalInput* GetDigitalInput(uint32_t port);
24  static LRTEncoder* GetLRTEncoder(const char *name, uint32_t portA, uint32_t portB);
25  static Counter* GetCounter(uint32_t port);
26  static GearTooth* GetGearTooth(uint32_t port);
27 
28  void Send();
29 
30 private:
31  static map<uint32_t, AnalogChannel*> m_analog;
32  static map<uint32_t, DigitalInput*> m_digital;
33  static map<uint32_t, Counter*> m_counters;
34  static map<pair<uint32_t, uint32_t>, LRTEncoder*> m_encoders;
35 
36  static SensorFactory *m_instance;
37 };
38 
39 #endif