22 #ifndef PLUGINS_USBPRO_WIDGETDETECTORTHREAD_H_
23 #define PLUGINS_USBPRO_WIDGETDETECTORTHREAD_H_
32 #include "ola/io/SelectServer.h"
33 #include "ola/thread/Thread.h"
34 #include "plugins/usbpro/BaseUsbProWidget.h"
35 #include "plugins/usbpro/RobeWidget.h"
36 #include "plugins/usbpro/RobeWidgetDetector.h"
37 #include "plugins/usbpro/UsbProWidgetDetector.h"
38 #include "plugins/usbpro/SerialWidgetInterface.h"
39 #include "plugins/usbpro/WidgetDetectorInterface.h"
64 virtual void NewWidget(
class RobeWidget *widget,
78 unsigned int usb_pro_timeout = 200,
79 unsigned int robe_timeout = 200);
113 std::vector<WidgetDetectorInterface*> m_widget_detectors;
114 std::string m_directory;
115 std::vector<std::string> m_prefixes;
116 std::set<std::string> m_ignored_devices;
117 std::vector<std::string> m_uucp_lock_paths;
120 unsigned int m_usb_pro_timeout;
121 unsigned int m_robe_timeout;
126 std::set<std::string> m_active_paths;
128 typedef std::pair<std::string, int> DescriptorInfo;
130 typedef std::map<ola::io::ConnectedDescriptor*, DescriptorInfo>
133 ActiveDescriptors m_active_descriptors;
146 template<
typename W
idgetType,
typename InfoType>
147 void DispatchWidget(WidgetType *widget,
const InfoType *information);
150 template<
typename W
idgetType,
typename InfoType>
151 void SignalNewWidget(WidgetType *widget,
const InfoType *information);
153 void MarkAsRunning();
155 static const unsigned int SCAN_INTERVAL_MS = 20000;
162 static const uint16_t DMX_KING_DMX512_ID = 0;
163 static const uint16_t DMX_KING_ULTRA_ID = 1;
164 static const uint16_t DMX_KING_ULTRA_PRO_ID = 2;
165 static const uint16_t DMX_KING_ULTRA_MICRO_ID = 3;
166 static const uint16_t DMX_KING_ULTRA_RDM_ID = 4;
169 static const uint16_t JESE_DMX_TRI_MK1_ID = 1;
170 static const uint16_t JESE_RDM_TRI_MK1_ID = 2;
171 static const uint16_t JESE_RDM_TRI_MK2_ID = 3;
172 static const uint16_t JESE_RDM_TXI_MK2_ID = 4;
174 static const uint16_t JESE_DMX_TRI_MK1_SE_ID = 5;
177 static const uint16_t GODDARD_DMXTER4_ID = 0x444d;
178 static const uint16_t GODDARD_MINI_DMXTER4_ID = 0x4d49;
181 static const uint16_t OPEN_LIGHTING_PACKETHEADS_ID = 2;
182 static const uint16_t OPEN_LIGHTING_RGB_MIXER_ID = 1;
185 static const uint16_t DMX_KING_ESTA_ID = 0x6a6b;
186 static const uint16_t GODDARD_ESTA_ID = 0x4744;
187 static const uint16_t JESE_ESTA_ID = 0x6864;
192 #endif // PLUGINS_USBPRO_WIDGETDETECTORTHREAD_H_