21 #ifndef PLUGINS_USBPRO_DMXTERWIDGET_H_
22 #define PLUGINS_USBPRO_DMXTERWIDGET_H_
25 #include "ola/io/SelectServerInterface.h"
30 #include "plugins/usbpro/BaseUsbProWidget.h"
61 std::auto_ptr<const ola::rdm::RDMRequest> m_pending_request;
63 uint8_t m_transaction_number;
65 void HandleMessage(uint8_t label,
68 void HandleTodResponse(
const uint8_t *data,
unsigned int length);
69 void HandleRDMResponse(
const uint8_t *data,
71 void HandleBroadcastRDMResponse(
const uint8_t *data,
unsigned int length);
72 void HandleShutdown(
const uint8_t *data,
unsigned int length);
74 static const uint8_t RDM_REQUEST_LABEL;
75 static const uint8_t RDM_BCAST_REQUEST_LABEL;
76 static const uint8_t TOD_LABEL;
77 static const uint8_t DISCOVERY_BRANCH_LABEL;
78 static const uint8_t FULL_DISCOVERY_LABEL;
79 static const uint8_t INCREMENTAL_DISCOVERY_LABEL;
80 static const uint8_t SHUTDOWN_LABAEL;
83 RC_CHECKSUM_ERROR = 1,
85 RC_FRAMING_ERROR2 = 3,
87 RC_BAD_SUB_STARTCODE = 5,
90 RC_PACKET_TOO_SHORT = 8,
91 RC_PACKET_TOO_LONG = 9,
92 RC_PHYSICAL_LENGTH_MISMATCH = 10,
93 RC_PDL_LENGTH_MISMATCH = 11,
94 RC_TRANSACTION_MISMATCH = 12,
95 RC_BAD_RESPONSE_TYPE = 13,
96 RC_GOOD_RESPONSE = 14,
106 RC_NACK_UNKNOWN_PID = 24,
107 RC_NACK_FORMAT_ERROR = 25,
108 RC_NACK_HARDWARE_FAULT = 26,
109 RC_NACK_PROXY_REJECT = 27,
110 RC_NACK_WRITE_PROECT = 28,
111 RC_NACK_COMMAND_CLASS = 29,
112 RC_NACK_DATA_RANGE = 30,
113 RC_NACK_BUFFER_FULL = 31,
114 RC_NACK_PACKET_SIZE = 32,
115 RC_NACK_SUB_DEVICE_RANGE = 33,
116 RC_NACK_PROXY_QUEUE_BUFFER_FULL = 34,
117 RC_DEST_UID_MISMATCH = 40,
118 RC_SRC_UID_MISMATCH = 41,
119 RC_SUBDEVICE_MISMATCH = 42,
120 RC_COMMAND_CLASS_MISMATCH = 43,
121 RC_PARAM_ID_MISMATCH = 44,
122 RC_DATA_RECEIVED_NO_BREAK = 46,
136 unsigned int queue_size = 20);
139 void Stop() { m_impl->
Stop(); }
155 return m_impl->GetDescriptor();
161 DmxterWidgetImpl *m_impl;
167 #endif // PLUGINS_USBPRO_DMXTERWIDGET_H_