22 #ifndef PLUGINS_USBPRO_WIDGETDETECTORTHREAD_H_
23 #define PLUGINS_USBPRO_WIDGETDETECTORTHREAD_H_
31 #include "ola/io/Descriptor.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);
110 std::vector<WidgetDetectorInterface*> m_widget_detectors;
111 std::string m_directory;
112 std::vector<std::string> m_prefixes;
113 std::set<std::string> m_ignored_devices;
116 unsigned int m_usb_pro_timeout;
117 unsigned int m_robe_timeout;
122 std::set<std::string> m_active_paths;
124 typedef std::pair<std::string, int> DescriptorInfo;
126 typedef std::map<ola::io::ConnectedDescriptor*, DescriptorInfo>
129 ActiveDescriptors m_active_descriptors;
142 template<
typename W
idgetType,
typename InfoType>
143 void DispatchWidget(WidgetType *widget,
const InfoType *information);
146 template<
typename W
idgetType,
typename InfoType>
147 void SignalNewWidget(WidgetType *widget,
const InfoType *information);
149 void MarkAsRunning();
151 static const unsigned int SCAN_INTERVAL_MS = 20000;
158 static const uint16_t DMX_KING_DMX512_ID = 0;
159 static const uint16_t DMX_KING_ULTRA_ID = 1;
160 static const uint16_t DMX_KING_ULTRA_PRO_ID = 2;
161 static const uint16_t DMX_KING_ULTRA_MICRO_ID = 3;
162 static const uint16_t DMX_KING_ULTRA_RDM_ID = 4;
165 static const uint16_t JESE_DMX_TRI_MK1_ID = 1;
166 static const uint16_t JESE_RDM_TRI_MK1_ID = 2;
167 static const uint16_t JESE_RDM_TRI_MK2_ID = 3;
168 static const uint16_t JESE_RDM_TXI_MK2_ID = 4;
170 static const uint16_t JESE_DMX_TRI_MK1_SE_ID = 5;
173 static const uint16_t GODDARD_DMXTER4_ID = 0x444d;
174 static const uint16_t GODDARD_MINI_DMXTER4_ID = 0x4d49;
177 static const uint16_t OPEN_LIGHTING_PACKETHEADS_ID = 2;
178 static const uint16_t OPEN_LIGHTING_RGB_MIXER_ID = 1;
181 static const uint16_t DMX_KING_ESTA_ID = 0x6a6b;
182 static const uint16_t GODDARD_ESTA_ID = 0x4744;
183 static const uint16_t JESE_ESTA_ID = 0x6864;
188 #endif // PLUGINS_USBPRO_WIDGETDETECTORTHREAD_H_