@@ -199,6 +199,14 @@ struct PortCommand {
199
199
static constexpr uint8_t RDM_DISABLE3 = 0xd3 ; // /< Disable RDM on output port 3
200
200
};
201
201
202
+ struct TodControlCommand {
203
+ static constexpr uint8_t ATC_NONE = 0x00 ; // /< No action.
204
+ static constexpr uint8_t ATC_FLUSH = 0x01 ; // /< The port flushes its TOD and instigates full discovery.
205
+ static constexpr uint8_t ATC_END = 0x02 ; // /< The port ends current discovery but does not flush ToD.
206
+ static constexpr uint8_t ATC_INCON = 0x03 ; // /< The port enables incremental discovery.
207
+ static constexpr uint8_t ATC_INCOFF = 0x04 ; // /< The port disables incremental discovery.
208
+ };
209
+
202
210
struct Program {
203
211
static constexpr uint8_t NO_CHANGE = 0x7F ;
204
212
static constexpr uint8_t DEFAULTS = 0x00 ;
@@ -239,16 +247,19 @@ struct Status2 {
239
247
};
240
248
241
249
struct Status3 {
242
- static constexpr uint8_t NETWORKLOSS_MASK = (3U << 6 ); // /< bit 76
243
- static constexpr uint8_t NETWORKLOSS_LAST_STATE = (0 << 6 ); // /< bit 76 = 00 If network data is lost, it will hold last state
244
- static constexpr uint8_t NETWORKLOSS_OFF_STATE = (1U << 6 ); // /< bit 76 = 01 If network data is lost, it will set all outputs to off state
245
- static constexpr uint8_t NETWORKLOSS_ON_STATE = (2U << 6 ); // /< bit 76 = 10 If network data is lost, it will set all outputs to full on
246
- static constexpr uint8_t NETWORKLOSS_PLAYBACK = (3U << 6 ); // /< bit 76 = 11 If network data is lost, it will playback the fail-over scene
247
- static constexpr uint8_t FAILSAFE_NO_CONTROL = (0 << 5 ); // /< bit 5 = 0 Node is not able to control failsafe mode by ArtCommand
248
- static constexpr uint8_t FAILSAFE_CONTROL = (1U << 5 ); // /< bit 5 = 1 Node is able to control failsafe mode by ArtCommand
249
- static constexpr uint8_t SUPPORTS_LLRP = (1U << 4 ); // /< bit 4 = 1 Node supports LLRP (Low Level Recovery Protocol
250
- static constexpr uint8_t OUTPUT_NO_SWITCH = (0 << 3 ); // /< bit 3 = 0 Outputs cannot be switched to an input
251
- static constexpr uint8_t OUTPUT_SWITCH = (1U << 3 ); // /< bit 3 = 1 Outputs can be switched to an input
250
+ static constexpr uint8_t NETWORKLOSS_MASK = (3U << 6 ); // /< bit 76
251
+ static constexpr uint8_t NETWORKLOSS_LAST_STATE = (0 << 6 ); // /< bit 76 = 00 If network data is lost, it will hold last state
252
+ static constexpr uint8_t NETWORKLOSS_OFF_STATE = (1U << 6 ); // /< bit 76 = 01 If network data is lost, it will set all outputs to off state
253
+ static constexpr uint8_t NETWORKLOSS_ON_STATE = (2U << 6 ); // /< bit 76 = 10 If network data is lost, it will set all outputs to full on
254
+ static constexpr uint8_t NETWORKLOSS_PLAYBACK = (3U << 6 ); // /< bit 76 = 11 If network data is lost, it will playback the fail-over scene
255
+ static constexpr uint8_t FAILSAFE_NO_CONTROL = (0 << 5 ); // /< bit 5 = 0 Node is not able to control failsafe mode by ArtCommand
256
+ static constexpr uint8_t FAILSAFE_CONTROL = (1U << 5 ); // /< bit 5 = 1 Node is able to control failsafe mode by ArtCommand
257
+ static constexpr uint8_t SUPPORTS_LLRP = (1U << 4 ); // /< bit 4 = 1 Node supports LLRP (Low Level Recovery Protocol
258
+ static constexpr uint8_t OUTPUT_NO_SWITCH = (0 << 3 ); // /< bit 3 = 0 Outputs cannot be switched to an input
259
+ static constexpr uint8_t OUTPUT_SWITCH = (1U << 3 ); // /< bit 3 = 1 Outputs can be switched to an input
260
+ static constexpr uint8_t SUPPORTS_RDMNET = (1U << 2 ); // /< bit 2 = 1 Node supports RDMnet
261
+ static constexpr uint8_t SUPPORTS_BACKGROUNDQUEUE = (1U << 1 ); // /< bit 1 = 1 BackgroundQueue is supported
262
+ static constexpr uint8_t SUPPORTS_BACKGROUNDDISCOVERY = (1U << 0 ); // /< bit 0 = 1 Programmable background discovery is supported.
252
263
};
253
264
254
265
struct Flags {
@@ -281,6 +292,10 @@ struct GoodOutputB {
281
292
static constexpr uint8_t RDM_ENABLED = (0 << 7 ); // /< bit 7 = 0 RDM is enabled.
282
293
static constexpr uint8_t STYLE_CONSTANT = (1U << 6 ); // /< bit 6 = 1 Output style is continuous.
283
294
static constexpr uint8_t STYLE_DELTA = (0 << 6 ); // /< bit 6 = 0 Output style is delta.
295
+ static constexpr uint8_t DISCOVERY_NOT_RUNNING = (1U << 5 ); // /< bit 5 = 1 Discovery is currently not running.
296
+ static constexpr uint8_t DISCOVERY_IS_RUNNING = (0 << 5 ); // /< bit 5 = 0 Discovery is currently running.
297
+ static constexpr uint8_t DISCOVERY_DISABLED = (1U << 4 ); // /< bit 4 = 1 Background discovery is disabled.
298
+ static constexpr uint8_t DISCOVERY_ENABLED = (0 << 4 ); // /< bit 4 = 0 Background Discovery is enabled.
284
299
};
285
300
286
301
struct GoodInput {
@@ -401,7 +416,15 @@ struct ArtPollReply {
401
416
uint8_t GoodOutputB[artnet::PORTS]; // /< This array defines output status of the node.
402
417
uint8_t Status3; // /< General Status register
403
418
uint8_t DefaultUidResponder[6 ]; // /< RDMnet & LLRP UID
404
- uint8_t Filler[15 ]; // /< Transmit as zero. For future expansion.
419
+ uint8_t UserHi; // /< Available for user specific data
420
+ uint8_t UserLo; // /< Available for user specific data
421
+ uint8_t RefreshRateHi; // /< Hi byte of RefreshRate
422
+ uint8_t RefreshRateLo; // /< Lo Byte of RefreshRate.
423
+ // /< RefreshRate allows the device to specify the maximum refresh rate, expressed in Hz, at which it can process ArtDmx.
424
+ // /< This is designed to allow refresh rates above DMX512 rates, for gateways that implement other protocols such as SPI.
425
+ // /< A value of 0 to 44 represents the maximum DMX512 rate of 44Hz.
426
+ uint8_t BackgroundQueuePolicy; // /< The BackgroundQueuePolicy defines the method by with the node retrieves STATUS_MESSAGE and QUEUED_MESSAGE pids from the connected RDM devices.
427
+ uint8_t Filler[10 ]; // /< Transmit as zero. For future expansion.
405
428
}PACKED;
406
429
407
430
/* *
0 commit comments