|
f1f153f09e
|
bring active slot awareness down to the base universe class
|
2023-04-16 11:03:53 -04:00 |
|
|
18e710dc56
|
simplify open/close semantics
|
2023-04-14 10:10:10 -04:00 |
|
|
80bfce67b7
|
setting parameters may optionally set the user data
|
2023-04-14 10:09:26 -04:00 |
|
|
a58ffc5c4a
|
remove promises/futures for now
|
2023-04-14 10:07:58 -04:00 |
|
|
0bb177c68e
|
get/set user configuration data
|
2023-04-14 09:55:10 -04:00 |
|
|
da32cf4240
|
feature sets are encoded in the high byte of the firmware version
|
2023-04-14 09:54:05 -04:00 |
|
|
1bf3f23a66
|
return the calculated value that was actually set
|
2023-04-14 09:53:30 -04:00 |
|
|
5d7f169692
|
don't change the mode when opening
|
2023-04-09 20:51:07 -04:00 |
|
|
4833b37739
|
copy dimmer data directly to the data vector
|
2023-04-09 20:42:05 -04:00 |
|
|
244da5c8c1
|
no need to pass around zero data messages
|
2023-04-09 19:51:01 -04:00 |
|
|
c16e999969
|
use a helper to make the different MessageData specializations
|
2023-04-09 19:43:54 -04:00 |
|
|
3cb89f51d3
|
mark stream functions as virtual in the derivative classes
|
2023-04-09 19:34:27 -04:00 |
|
|
b6e080f7b4
|
give the No-Op message it's own class
|
2023-04-09 19:33:03 -04:00 |
|
|
be4064bb14
|
declare a storage type for enums
|
2023-04-09 19:32:35 -04:00 |
|
|
6387944c68
|
the usb mode can be accessible by super classes
|
2023-04-09 19:31:56 -04:00 |
|
|
55317f7513
|
BCD encode/decode the serial number
|
2023-04-09 19:26:41 -04:00 |
|
|
c12044326f
|
accept hello on closed port
|
2023-04-06 12:39:18 -04:00 |
|
|
e1e9c9d473
|
enable label=0 as ping/echo
|
2023-04-06 12:37:25 -04:00 |
|
|
9168f1b98c
|
a (probably incorrect) interpretation of writing firmware
|
2023-04-06 10:43:42 -04:00 |
|
|
0617cc3bf6
|
only send a reboot message if operating as a USB Host
|
2023-04-06 10:42:39 -04:00 |
|
|
388beecf8d
|
take the promise's future whilst still holding the metadata mutex
|
2023-04-06 10:11:33 -04:00 |
|
|
b92f159d02
|
default into bridge mode on init/connect
|
2023-04-06 09:53:42 -04:00 |
|
|
153786efa4
|
get the initial parameter values when the device is opened.
|
2023-04-06 09:45:39 -04:00 |
|
|
97ae66e231
|
Only consider the port to be open if a serial number can be read within 500 milliseconds.
|
2023-04-06 09:44:54 -04:00 |
|
|
e316c71a83
|
messages that expect a reply may optionally block to wait for it.
|
2023-04-06 09:43:41 -04:00 |
|
|
a355edd722
|
use the USB mode to determine connection state
|
2023-04-06 09:40:00 -04:00 |
|
|
c2f1dcce07
|
rename the dimmer data change callback token
|
2023-04-06 08:34:35 -04:00 |
|
|
fa2625f77d
|
thread protect metadata with a mutex
|
2023-04-06 08:33:57 -04:00 |
|
|
5a4e827f08
|
DMX data I/O
|
2023-04-05 12:41:13 -04:00 |
|
|
55c9060ff6
|
use the same defaults as the Enttec
|
2023-04-05 12:39:12 -04:00 |
|
|
54244d4988
|
metadata setter functions
|
2023-04-05 09:19:16 -04:00 |
|
|
10ee3c1d22
|
setting device parameters is a const operation for the host
|
2023-04-05 08:55:18 -04:00 |
|
|
b6a81c2bd2
|
host may tell device to prep for recieving a firmware
|
2023-04-05 08:54:43 -04:00 |
|
|
98e903159c
|
user data length must match the lenght of data sent
|
2023-04-05 08:43:26 -04:00 |
|
|
d496e71f8a
|
get/set widget metadata
|
2023-04-05 08:42:50 -04:00 |
|
|
1b272f0d23
|
rename USB host side methods
|
2023-04-05 08:10:59 -04:00 |
|
|
72a66be0b5
|
let superclasses decide if they want firmware updates
|
2023-04-05 06:56:23 -04:00 |
|
|
0b7143f809
|
get/set widget parameters
|
2023-04-03 20:12:01 -04:00 |
|
|
a2ec07e16c
|
get/set serial number
|
2023-04-03 20:11:25 -04:00 |
|
|
c6c09be86a
|
always fail at writing firmware
|
2023-04-03 20:09:55 -04:00 |
|
|
2cfbf384de
|
get all of the firmware version bits at once
|
2023-04-03 20:09:06 -04:00 |
|
|
9f6968c915
|
keep widget properties
|
2023-04-03 16:43:37 -04:00 |
|
|
13bb3a39f0
|
incorporate the label value into the message data struct directly
|
2023-04-03 16:42:48 -04:00 |
|
|
0c36bd34b7
|
put the widget directly in the ENTTEC namespace
|
2023-04-03 09:58:26 -04:00 |
|
|
12fddd4caa
|
unify project version
|
2023-04-03 08:57:54 -04:00 |
|
|
cb2bc6548d
|
stubs for communicating with a widget
|
2023-04-02 22:47:50 -04:00 |
|
|
8f3d704d5a
|
stream IO for the API
|
2023-04-02 19:42:32 -04:00 |
|
|
8e41fc72c2
|
use the bufferstream library
|
2023-04-02 13:24:55 -04:00 |
|
|
1ea49ebde2
|
use bufferstreams instead of the ACN::PDU stream
|
2023-04-02 13:24:26 -04:00 |
|
|
dcbd735476
|
personalities get a name
|
2023-04-02 10:35:07 -04:00 |
|
|
3e805960d7
|
protocol definitions for ENTTEC DMX USB Pro API 1.44
|
2023-04-02 10:34:49 -04:00 |
|
|
7d1c756d89
|
patch Personalities, not devices.
|
2023-04-01 15:31:22 -04:00 |
|
|
3ee4cbb858
|
basic operations for managing a patch
|
2023-04-01 11:17:56 -04:00 |
|
|
6486775626
|
allow devices to be sorted by startaddress
|
2023-04-01 11:17:29 -04:00 |
|
|
55a120dfed
|
namespace stubs for CITP protocol layers
|
2023-03-31 19:51:42 -04:00 |
|
|
189be8baf7
|
notes on how to access the standards documents
|
2023-03-31 11:22:56 -04:00 |
|
|
88f06738ab
|
add a bibliography file for OSC
|
2023-03-31 11:22:28 -04:00 |
|
|
7b436915d8
|
initial build framework for CITP
|
2023-03-31 11:22:01 -04:00 |
|
|
e1c1c1b579
|
move OSC to the prococols directory
|
2023-03-31 10:52:33 -04:00 |
|
|
847b6d931d
|
rename platform library with consitant project name
|
2023-03-31 09:55:02 -04:00 |
|
|
396aac84f3
|
reorder for readability
|
2023-03-31 01:52:08 -04:00 |
|
|
aaacd8539b
|
build as a shared library
|
2023-03-31 01:51:14 -04:00 |
|
|
40a3342317
|
use preferred naming convention for build
|
2023-03-31 01:49:38 -04:00 |
|
|
b55a8fdd83
|
link by module namespace referance
|
2023-03-31 01:46:35 -04:00 |
|
|
db81ecefdc
|
add namespace aliases to cmake
|
2023-03-31 01:42:40 -04:00 |
|
|
c2ab4d9b22
|
remove unnecessary cmake directives
|
2023-03-31 01:37:37 -04:00 |
|
|
f9efddf583
|
cleanup comments
|
2023-03-30 20:15:35 -04:00 |
|
|
6cd9a9e6df
|
correctly scale return value, with comment about linearity
|
2023-03-30 20:14:59 -04:00 |
|
|
cd884a8593
|
mark standards parameters as static
|
2023-03-30 20:13:26 -04:00 |
|
|
b6e9425083
|
evaluate non-dim from millivolts
|
2023-03-30 19:16:54 -04:00 |
|
|
8979dd4699
|
Hysteresis aware method for calculating non-dim switch state
|
2023-03-30 14:55:12 -04:00 |
|
|
9c5654b34d
|
retain low-end resolution
|
2023-03-30 14:40:29 -04:00 |
|
|
2c72607dc3
|
E1.3 0-10V support
|
2023-03-30 13:56:14 -04:00 |
|
|
3ef5e0498b
|
set default merge mode
|
2022-12-12 13:43:40 -05:00 |
|
|
7dfb0a81d7
|
universe arbitration is a helper not a subclass
|
2022-12-12 13:39:10 -05:00 |
|
|
64e6ee1c0a
|
add refresh function to consolidate maintenance tasks
|
2022-12-12 11:32:26 -05:00 |
|
|
f5d99a03e6
|
remove unused base class function
|
2022-12-12 11:31:29 -05:00 |
|
|
d87fbcf25d
|
unify the callback handlers
|
2022-12-12 11:29:41 -05:00 |
|
|
64140eb757
|
cache the dominant universe
|
2022-12-11 21:30:37 -05:00 |
|
|
e219e64d28
|
doc updates
|
2022-12-11 21:30:26 -05:00 |
|
|
472b6a1c39
|
retriever of sources metadata
|
2022-12-11 21:24:27 -05:00 |
|
|
a2bd30dbe5
|
better to just call the callback doer in a lambda
|
2022-12-11 21:23:34 -05:00 |
|
|
74de2c07af
|
don't pay attention to universes that may not be dominant
|
2022-12-11 21:22:17 -05:00 |
|
|
27179b4e00
|
use a single vector for all callback tokens
|
2022-12-11 16:53:54 -05:00 |
|
|
b5f3e63b36
|
add callbacks for member changes
|
2022-12-11 16:48:42 -05:00 |
|
|
59dbad2264
|
reorder header
|
2022-12-11 16:48:06 -05:00 |
|
|
b84d7bafe9
|
explicitly call the base class function
|
2022-12-11 16:46:11 -05:00 |
|
|
059c115c15
|
do data callbacks after synchronization
|
2022-12-11 16:45:37 -05:00 |
|
|
ce51e17ddd
|
use the existing metadata
|
2022-12-11 16:13:10 -05:00 |
|
|
6da7001c67
|
refactor class and file name
|
2022-12-11 16:04:44 -05:00 |
|
|
89716e1af5
|
make HTP the default merge mode
|
2022-12-11 15:58:40 -05:00 |
|
|
12b34cef6e
|
refactor class and file name
|
2022-12-11 15:58:28 -05:00 |
|
|
7676cd54a2
|
configurable merge mode for received universes
|
2022-12-11 14:55:05 -05:00 |
|
|
a3eb42523e
|
stubs for the OSC library
|
2022-12-11 09:58:26 -05:00 |
|
|
293b2060b8
|
don't hold the control lock when doing callbacks
|
2022-12-10 13:34:45 -05:00 |
|
|
0b02bc3c14
|
toggle'able hold-last-look
|
2022-12-10 13:20:39 -05:00 |
|
|
986dc9b89e
|
remove hold-last-look behaviors from receiver to universe
|
2022-12-10 12:24:17 -05:00 |
|
|
849da8cecb
|
take the control lock when running callbacks
|
2022-12-10 11:30:23 -05:00 |
|
|
8ce86353c9
|
opportunistically perform maintenance tasks
|
2022-12-10 11:15:02 -05:00 |
|
|
dbcde09616
|
more of making thing constant
|
2022-12-10 11:12:44 -05:00 |
|
|
52758cc904
|
use the volatile global enabled flag
|
2022-12-10 11:08:18 -05:00 |
|
|
37367cb6b4
|
explicit constructors and virtual destructors
|
2022-12-10 11:07:13 -05:00 |
|
|
eb47f6543f
|
correct locking semantics
|
2022-12-09 23:09:52 -05:00 |
|
|
8221c90e24
|
remove commented code
|
2022-12-09 23:09:26 -05:00 |
|
|
16416ff10f
|
mark as const
|
2022-12-09 23:09:11 -05:00 |
|
|
45cee71b19
|
become more constant
|
2022-12-09 21:27:27 -05:00 |
|
|
c4cf9768ab
|
use scoped mutex locking
|
2022-12-09 21:08:35 -05:00 |
|
|
fe8bc039bc
|
rename private variable
|
2022-12-09 18:17:04 -05:00 |
|
|
c9dec23ea9
|
initialize the DMP data segment from the sending thread
|
2022-12-09 16:08:16 -05:00 |
|
|
0c9c85830e
|
use dynamic casts if RTTI is an available feature
|
2022-12-09 16:04:31 -05:00 |
|
|
4975c7e809
|
rearrange in header order
|
2022-12-09 15:16:03 -05:00 |
|
|
1d1be459c8
|
rename mutex for consistency
|
2022-12-09 11:54:52 -05:00 |
|
|
e6146e9efe
|
standard timing intervals are constant
|
2022-12-09 11:46:18 -05:00 |
|
|
7f8e9ce4ac
|
shared lock for universe access control
|
2022-12-09 11:18:27 -05:00 |
|
|
d11e136247
|
use locking guards
|
2022-12-09 10:29:01 -05:00 |
|
|
f1d3fe0256
|
use a shared mutex to lock the dimmer data
|
2022-12-09 10:28:02 -05:00 |
|
|
b7ca5c36f5
|
reuse the sACN framing layer PDU
|
2022-12-09 09:26:42 -05:00 |
|
|
4fa5a2794a
|
use initializer list to create sender
|
2022-12-09 09:25:29 -05:00 |
|
|
4d7413b949
|
move all of transmitting to the helper class
|
2022-12-08 21:22:20 -05:00 |
|
|
466efd7477
|
move tx to a helper class
|
2022-12-08 19:09:39 -05:00 |
|
|
d67b3b8f40
|
adapt to the DMP rx/tx mechanism
|
2022-12-08 18:05:33 -05:00 |
|
|
f9896ff5f3
|
add synchronization reset helper
|
2022-12-08 18:04:37 -05:00 |
|
|
85a7ec4762
|
strictly enforce recieved sequence numbers
|
2022-12-08 17:56:02 -05:00 |
|
|
8a83107ee7
|
follow rename in base class
|
2022-12-08 17:52:24 -05:00 |
|
|
0ac22b232d
|
inherit from DMP::Component
|
2022-12-08 17:50:29 -05:00 |
|
|
46938de0f5
|
refactor for readability
|
2022-12-08 17:47:37 -05:00 |
|
|
6237a9ef37
|
refactor for naming consistency
|
2022-12-08 17:41:07 -05:00 |
|
|
67e4472751
|
refactor to less ambigous name
|
2022-12-08 17:40:15 -05:00 |
|
|
e34a5acb5c
|
metadata is a more descriptive property name
|
2022-12-08 10:12:25 -05:00 |
|
|
63ee24d334
|
add a non-standard 0 value failure reason
|
2022-12-07 21:58:10 -05:00 |
|
|
382f2d26fd
|
add some accesses'ors for the range metadata
|
2022-12-07 21:57:32 -05:00 |
|
|
2b5db0febd
|
initialize the address_type members
|
2022-12-07 21:56:49 -05:00 |
|
|
ce3e1ebf7c
|
capitalize the Range struct
|
2022-12-07 21:56:17 -05:00 |
|
|
433e91f70c
|
refactor over DMP Component
|
2022-12-07 21:53:39 -05:00 |
|
|
8f42e0bca6
|
a base class for DMP components
|
2022-12-07 21:51:15 -05:00 |
|
|
26ae455a07
|
check that the block was created before assigning parents
|
2022-12-06 18:05:12 -05:00 |
|
|
7434ac3d91
|
fix off-by-one error
|
2022-12-06 18:04:37 -05:00 |
|
|
f496b89e44
|
prefer the block setting code path
|
2022-12-06 18:04:19 -05:00 |
|
|
97ef3d5078
|
allocate loop control variables before the loop
|
2022-12-06 15:38:20 -05:00 |
|
|
b07d505bce
|
only send 3 terminated universe frames
|
2022-12-06 14:52:06 -05:00 |
|
|
8a2e838916
|
only reset the sequence number for received terminated universes
|
2022-12-06 14:51:43 -05:00 |
|
|
1cad61ffc7
|
protected convenience calls can be inlined
|
2022-12-06 14:51:03 -05:00 |
|
|
635dc36ada
|
cleanup documentation
|
2022-12-06 14:50:20 -05:00 |
|
|
39a6bcbfbf
|
rearrange header
|
2022-12-06 14:04:18 -05:00 |
|
|
f9f0d1298e
|
any optimization of separate handling is overshadowed by duplicating the code
|
2022-12-06 13:37:40 -05:00 |
|
|
ed40a3b666
|
catch the range exception instead of implementing seperate bounds checks
|
2022-12-06 13:36:27 -05:00 |
|
|
e7297c42ff
|
use the same callback runner for all callback types
|
2022-12-06 13:35:18 -05:00 |
|
|
5ad7b5505e
|
give all universe callbacks the same signature
|
2022-12-06 13:30:40 -05:00 |
|
|
738ced6964
|
fix off-by-one in range check
|
2022-12-06 13:24:09 -05:00 |
|
|
ca75a9973c
|
the status indicator widget
|
2022-12-06 00:16:00 -05:00 |
|