21 #ifndef PLUGINS_USBPRO_ENTTECUSBPROWIDGETIMPL_H_
22 #define PLUGINS_USBPRO_ENTTECUSBPROWIDGETIMPL_H_
31 #include "ola/util/Watchdog.h"
41 RECEIVED_DMX_LABEL_1 = 5,
52 RECEIVED_DMX_LABEL_2 = 156,
57 RDM_DISCOVERY_2 = 196,
68 uint8_t change_to_rx_mode;
71 uint8_t rdm_discovery;
89 SendCallback *send_cb);
94 const DmxBuffer &FetchDMX()
const {
return m_input_buffer; }
97 bool ChangeToReceiveMode(
bool change_only);
99 bool SetParameters(uint8_t break_time, uint8_t mab_time, uint8_t rate);
117 void HandleParameters(
const uint8_t *data,
unsigned int length);
119 void HandleDMXDiff(
const uint8_t *data,
unsigned int length);
121 void ClockWatchdog();
122 void WatchdogFired();
125 SendCallback *m_send_cb;
132 std::auto_ptr<ola::Callback0<void> > m_dmx_callback;
135 std::deque<usb_pro_params_callback*> m_outstanding_param_callbacks;
140 uint8_t m_transaction_number;
142 std::auto_ptr<const ola::rdm::RDMRequest> m_pending_request;
149 const uint8_t *m_discovery_response;
150 unsigned int m_discovery_response_size;
152 void HandleDMX(
const uint8_t *data,
unsigned int length);
156 bool PackAndSendRDMRequest(uint8_t label,
160 static const unsigned int PORT_ID = 1;
162 static const unsigned int WATCHDOG_LIMIT = 2;
167 #endif // PLUGINS_USBPRO_ENTTECUSBPROWIDGETIMPL_H_
void UnMuteAll(UnMuteDeviceCallback *unmute_complete)
Definition: EnttecUsbProWidget.cpp:306
Represents a set of RDM UIDs.
Definition: UIDSet.h:48
void HandleIncomingDataMessage(const uint8_t *data, unsigned int length)
Definition: EnttecUsbProWidget.cpp:429
void SendRDMRequest(ola::rdm::RDMRequest *request, ola::rdm::RDMCallback *on_complete)
Definition: EnttecUsbProWidget.cpp:230
void RunFullDiscovery(ola::rdm::RDMDiscoveryCallback *callback)
Definition: EnttecUsbProWidget.cpp:262
void GetParameters(usb_pro_params_callback *callback)
Definition: EnttecUsbProWidget.cpp:177
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:233
Used to hold a single universe of DMX data.
Definition: DmxBuffer.h:49
A RDM unique identifier (UID).
bool SendDMX(const DmxBuffer &buffer)
Definition: EnttecUsbProWidget.cpp:134
void Branch(const ola::rdm::UID &lower, const ola::rdm::UID &upper, BranchCallback *callback)
Definition: EnttecUsbProWidget.cpp:324
Constants used throughout OLA.
bool SetParameters(uint8_t break_time, uint8_t mab_time, uint8_t rate)
Definition: EnttecUsbProWidget.cpp:198
void HandleRDMTimeout(unsigned int length)
Definition: EnttecUsbProWidget.cpp:352
void SetDMXCallback(ola::Callback0< void > *callback)
Definition: EnttecUsbProWidget.cpp:151
Definition: EnttecUsbProWidgetImpl.h:81
A 3 argument callback which can be called multiple times.
Definition: Callback.h:2838
The base class for all 1 argument callbacks.
Definition: Callback.h:982
void MuteDevice(const ola::rdm::UID &target, MuteDeviceCallback *mute_complete)
Definition: EnttecUsbProWidget.cpp:287
An asyncronous RDM Discovery algorithm.
Definition: DiscoveryAgent.h:135
void RunIncrementalDiscovery(ola::rdm::RDMDiscoveryCallback *callback)
Definition: EnttecUsbProWidget.cpp:273
Definition: EnttecUsbProWidgetImpl.h:62
Represents a RDM UID.
Definition: UID.h:57
The namespace containing all OLA symbols.
Definition: Credentials.cpp:44
The base class for all 2 argument callbacks.
Definition: Callback.h:1885
Detects if an operation stalls.
Definition: Watchdog.h:70
The interface used by the DiscoveryTarget to send RDM commands.
Definition: DiscoveryAgent.h:53
A 2 argument callback which deletes itself after it's run.
Definition: Callback.h:1907
Classes that represent RDM commands.