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(); }
143 m_controller->SendRDMRequest(request, on_complete);
147 m_controller->RunFullDiscovery(callback);
151 m_controller->RunIncrementalDiscovery(callback);
155 return m_impl->GetDescriptor();
167 #endif // PLUGINS_USBPRO_DMXTERWIDGET_H_ Represents a set of RDM UIDs.
Definition: UIDSet.h:48
Definitions and Interfaces to implement an RDMController that sends a single message at a time...
A BidirectionalFileDescriptor that also generates notifications when closed.
Definition: Descriptor.h:282
The interface that can send RDM commands, as well as perform discovery operations.
Definition: RDMControllerInterface.h:104
RDM Commands that represent requests (GET, SET or DISCOVER).
Definition: RDMCommand.h:234
A RDM unique identifier (UID).
An RDM Controller that queues messages and only sends a single message at a time. ...
The base class for all 1 argument callbacks.
Definition: Callback.h:982
Definition: QueueingRDMController.h:88
Represents a RDM UID.
Definition: UID.h:57
The namespace containing all OLA symbols.
Definition: Credentials.cpp:44