Commit Graph

918 Commits

Author SHA1 Message Date
ca24b7878c only write the message data if there is any 2023-04-09 20:09:03 -04:00
7663b84ec5 discard used bytes without the offset 2023-04-09 20:07:41 -04:00
4c0bf5ded8 use the MessageData creator to instantiate the correct specialized type 2023-04-09 20:06:43 -04:00
d7d64fa13c single assignment assembly of the length 2023-04-09 19:58:56 -04:00
63e16701b9 explicitly compare as unsigned value 2023-04-09 19:57:44 -04:00
ea3bf9e5e8 skip a few parsing steps if the buffer is empty 2023-04-09 19:56:32 -04:00
32c6ccb60c leave the port always connected 2023-04-09 19:52:24 -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
f69c50d66d available widgets will return the widgets themselves 2023-04-09 19:42:21 -04:00
c801ffb32b set the window title from the app metadata 2023-04-09 19:35:34 -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
c89f55c107 message i/o for the serial port 2023-04-06 20:07:52 -04:00
3ab0c1141c include the fw version in widget info struct 2023-04-06 19:55:08 -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
024d965f83 manage the qserialport open state 2023-04-05 18:07:48 -04:00
640fa888c7 search serial ports for connected devices 2023-04-05 12:42:18 -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
aaa6e04817 bring enums into the local namespace 2023-04-05 07:53:22 -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
8fdd8573af meta-object register the API enums 2023-04-03 16:53:22 -04:00
f6c45d3b7f QFlags for the RX errors 2023-04-03 16:46:06 -04:00
d68c37fa82 use QSerialPort for IO 2023-04-03 16:45:32 -04:00
9f6968c915 keep widget properties 2023-04-03 16:43:37 -04:00