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,
bool no_rdm_dub_timeout =
false);
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;
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).
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
Detects if an operation stalls.
Definition Watchdog.h:70
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
ola::BaseCallback1< void, bool > MuteDeviceCallback
The callback run when a mute command completes.
Definition DiscoveryAgent.h:60
ola::BaseCallback2< void, const uint8_t *, unsigned int > BranchCallback
The callback run when a DUB command completes.
Definition DiscoveryAgent.h:73
ola::BaseCallback0< void > UnMuteDeviceCallback
The callback run when an unmute command completes.
Definition DiscoveryAgent.h:65
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
Code for Enttec USB Pro devices and others using the same protocol.
Code for supported devices and protocols.
ola::BaseCallback1< void, RDMReply * > RDMCallback
The callback run when a RDM request completes.
Definition RDMControllerInterface.h:52
ola::BaseCallback1< void, const ola::rdm::UIDSet & > RDMDiscoveryCallback
The callback run when a discovery operation completes.
Definition RDMControllerInterface.h:68
The namespace containing all OLA symbols.
Definition Credentials.cpp:44
Definition EnttecUsbProWidgetImpl.h:62