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;
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();
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;
151 bool m_no_rdm_dub_timeout;
153 void HandleDMX(
const uint8_t *data,
unsigned int length);
157 bool PackAndSendRDMRequest(uint8_t label,
161 static const unsigned int PORT_ID = 1;
163 static const unsigned int WATCHDOG_LIMIT = 2;
Constants used throughout OLA.
Classes that represent RDM commands.
A RDM unique identifier (UID).
The base class for all 1 argument callbacks.
Definition Callback.h:982
The base class for all 2 argument callbacks.
Definition Callback.h:1885
A 0 argument callback which can be called multiple times.
Definition Callback.h:129
A 3 argument callback which can be called multiple times.
Definition Callback.h:2838
Used to hold a single universe of DMX data.
Definition DmxBuffer.h:49
A 2 argument callback which deletes itself after it's run.
Definition Callback.h:1907
Detects if an operation stalls.
Definition Watchdog.h:70
Definition EnttecUsbProWidgetImpl.h:83
bool SendDMX(const DmxBuffer &buffer)
Definition EnttecUsbProWidget.cpp:135
void HandleIncomingDataMessage(const uint8_t *data, unsigned int length)
Definition EnttecUsbProWidget.cpp:432
void UnMuteAll(UnMuteDeviceCallback *unmute_complete)
Definition EnttecUsbProWidget.cpp:307
void SendRDMRequest(ola::rdm::RDMRequest *request, ola::rdm::RDMCallback *on_complete)
Definition EnttecUsbProWidget.cpp:231
void SetDMXCallback(ola::Callback0< void > *callback)
Definition EnttecUsbProWidget.cpp:152
void RunFullDiscovery(ola::rdm::RDMDiscoveryCallback *callback)
Definition EnttecUsbProWidget.cpp:263
void HandleRDMTimeout(unsigned int length)
Definition EnttecUsbProWidget.cpp:355
bool SetParameters(uint8_t break_time, uint8_t mab_time, uint8_t rate)
Definition EnttecUsbProWidget.cpp:199
void Branch(const ola::rdm::UID &lower, const ola::rdm::UID &upper, BranchCallback *callback)
Definition EnttecUsbProWidget.cpp:325
void MuteDevice(const ola::rdm::UID &target, MuteDeviceCallback *mute_complete)
Definition EnttecUsbProWidget.cpp:288
void RunIncrementalDiscovery(ola::rdm::RDMDiscoveryCallback *callback)
Definition EnttecUsbProWidget.cpp:274
void GetParameters(usb_pro_params_callback *callback)
Definition EnttecUsbProWidget.cpp:178
The interface that can send RDM commands, as well as perform discovery operations.
Definition RDMControllerInterface.h:104
An asynchronous RDM Discovery algorithm.
Definition DiscoveryAgent.h:135
The interface used by the DiscoveryTarget to send RDM commands.
Definition DiscoveryAgent.h:53
RDM Commands that represent requests (GET, SET or DISCOVER).
Definition RDMCommand.h:234
Represents a RDM UID.
Definition UID.h:57
Represents a set of RDM UIDs.
Definition UIDSet.h:48
The namespace containing all OLA symbols.
Definition Credentials.cpp:44
Definition EnttecUsbProWidgetImpl.h:62