Commit Graph

420 Commits

Author SHA1 Message Date
983ae8a412 destructor, for vtable 2023-05-13 11:33:15 -04:00
49a446c5aa optional method naming in constructor 2023-05-13 11:32:58 -04:00
e1faba699e optional argument value setting in constructor 2023-05-13 11:32:35 -04:00
28c7bba442 optimize out unnecessary allocation 2023-05-13 11:31:01 -04:00
4cc4d16fba unify string padding 2023-05-13 11:29:38 -04:00
310eae05ec don't hard code constants 2023-05-13 11:25:32 -04:00
4f76a2f96c add code path for (eventually) receiving discovery messages 2023-05-03 16:10:52 -04:00
3745f44a5f remove hard-coded constants 2023-05-03 16:02:21 -04:00
f4c91891e0 more nuanced failure mode tracking 2023-05-03 16:02:06 -04:00
3882af3659 corrected checksum element ordering 2023-05-03 15:59:14 -04:00
6c7d62ca6b arbitrary data checksumming 2023-05-03 15:57:37 -04:00
c0074e62b7 documentation updates 2023-05-03 15:56:48 -04:00
41b51f7aa9 unit lookup helpers 2023-05-02 13:01:33 -04:00
e1f0836a55 additional documentation 2023-05-02 13:00:57 -04:00
9985f21cb2 split device types 2023-05-02 13:00:41 -04:00
887ce0f5a4 comprehensive parameter descriptions 2023-05-02 12:59:26 -04:00
91fa0c71e4 structure for parameter metadata 2023-05-02 12:50:06 -04:00
ec98049b39 bibs for RDM additional message sets 2023-05-02 12:43:47 -04:00
a1b08fd22d publicly accessible UID 2023-04-28 21:02:35 -04:00
9b27820873 RDM API cleanup 2023-04-28 20:46:13 -04:00
29173eacf2 use the BCD serial number for the RDM device id 2023-04-28 20:19:15 -04:00
ab17dc05ba template the BCD converters 2023-04-28 20:16:41 -04:00
35dc0f30d2 configure RDM device info 2023-04-27 09:26:05 -04:00
73615db6c4 additional device info details 2023-04-27 09:25:07 -04:00
7fffc6d0dd formatting cleanup 2023-04-27 09:23:56 -04:00
08ca66fcb3 only claim the manufacturer ID if there isn't one 2023-04-27 09:20:41 -04:00
176ddf1df6 refactor check-summing to be pointers and referances 2023-04-27 09:10:15 -04:00
d80e4c6559 group template functions for readability 2023-04-27 09:09:01 -04:00
5455d805d5 remove ineffective optimization 2023-04-27 09:05:09 -04:00
bc36227387 cast to a pointer of the referance, not the value 2023-04-26 14:34:45 -04:00
fc48300964 connect RDM responder I/O 2023-04-26 10:05:16 -04:00
e951c25461 let the universe decide what to do with start codes 2023-04-26 10:04:06 -04:00
f1612dc60e use a callback to send RDM data 2023-04-26 10:02:20 -04:00
db3da280da pre allocate memory for the message data 2023-04-26 10:01:33 -04:00
dafa95ec76 use callbacks to process alternate start codes 2023-04-26 09:59:14 -04:00
7802f201e0 documentation 2023-04-26 09:58:03 -04:00
2fdef29242 use the widget mode to determine the appropriate RDM configuration 2023-04-25 16:48:24 -04:00
54b2335c98 disambiguation for the include search path 2023-04-25 16:47:27 -04:00
098d936897 documentation and namespace cleanup 2023-04-25 12:14:03 -04:00
c40d1fcdf5 documentation cleanup 2023-04-25 10:25:54 -04:00
d91838dc5b receive packets 2023-04-25 10:10:16 -04:00
960e228e59 non-REST'style namespaces may need to reimpliment name matching 2023-04-25 10:09:51 -04:00
929ca62016 use guidance from opensoundcontrol website regarding client-server model 2023-04-25 09:03:46 -04:00
402bcf9188 add testing notes to the correct task list 2023-04-25 09:02:00 -04:00
38ff40e646 sending is a requirement of inheritors 2023-04-25 08:17:06 -04:00
773375757e bundle dispatching 2023-04-24 16:44:04 -04:00
0bfab08041 mark dispatching as const 2023-04-24 16:43:35 -04:00
d7722f24f3 init the timetag to the epoch 2023-04-24 16:40:37 -04:00
fa8b0482da omit the packet class 2023-04-24 16:39:40 -04:00
e94db990ac explicit virtual destructor 2023-04-24 13:06:26 -04:00
031d00bed4 drop the packet class 2023-04-24 13:05:54 -04:00
23572904d2 timetag values to/from system time 2023-04-24 13:04:49 -04:00
4023cdaa81 drop the non-standard 128-bit timetag 2023-04-24 13:04:13 -04:00
22141d9a03 don't build NTP until there is a user 2023-04-24 13:03:30 -04:00
8fd3cc83cf a clock with the NTP epoch 2023-04-24 13:03:13 -04:00
7a25eeada7 callbacks for the method to trigger 2023-04-23 19:30:51 -04:00
913a1f789b use a regex to match the method name 2023-04-23 19:29:21 -04:00
76b8f974e7 patterns are a list 2023-04-23 11:56:57 -04:00
42ca307c4d receiver for OSC messages 2023-04-23 11:35:31 -04:00
1cce721179 endpoints for messages 2023-04-23 11:34:35 -04:00
877ab3ed4c message and bundle I/O 2023-04-23 11:33:58 -04:00
d51d3163f9 the various OSC argument types 2023-04-23 11:32:52 -04:00
abe41404cc remove extraneous brackets 2023-04-23 11:30:26 -04:00
4d797f2c1c also set the DMX device class when changing operating mode 2023-04-17 08:17:31 -04:00
a34ada6da5 an asynchronous open procedure 2023-04-16 21:13:11 -04:00
c3bc6dc44e read the full length of remaining data 2023-04-16 14:54:01 -04:00
63aef39f28 bring awareness of device operating classes to the base universe class 2023-04-16 11:05:04 -04:00
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