Skip to content

Commit e7dd64d

Browse files
Add and revise for STAC v2.2.0 (#56)
Major code refactoring affecting pretty much every file. Add Roland V-160HD support.
1 parent 3b5555e commit e7dd64d

31 files changed

+1893
-1431
lines changed

Documentation/Creating the build number.md

+10-22
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,7 @@ When in the throws of development and working with multiple ATOM units, sometime
66

77
In the `STAC.ino` file there is this line:
88

9-
```
10-
String swVer = "2.0 (1a2b3c)"; // version and (build number) of this software. Shows up on the web config page, serial monitor startup data dump & is stored in NVS
11-
```
9+
`const String swVer = "2.0 (1a2b3c)"; // version and (build number) of this software`
1210

1311
The string of six characters between the brackets is the build number. (`1a2b3c` is an example build number.)
1412

@@ -30,7 +28,7 @@ Where `<folder>` is the folder that contains only the `STAC.ino` file and the `S
3028

3129
For example:
3230

33-
`hashdir -a md5 ~/Documents/SmartTallyAtomClient/STAC`
31+
`hashdir -a md5 ~/Documents/STAC`
3432

3533
will produce something like:
3634

@@ -40,11 +38,11 @@ In this example, `bd380e` would be the build number for this version of STAC.
4038

4139
**BUT** before you generate the hash, first edit the line:
4240

43-
` String swVer = "2.0 (1a2b3c)"; // version and (build number) of this software. Shows up on the web config page, serial monitor startup data dump & is stored in NVS`
41+
`const String swVer = "2.0 (1a2b3c)"; // version and (build number) of this software`
4442

4543
to remove the old build number so that it looks like this:
4644

47-
` String swVer = "2.0 ()"; // version and (build number) of this software. Shows up on the web config page, serial monitor startup data dump & is stored in NVS`
45+
`const String swVer = "2.0 ()"; // version and (build number) of this software`
4846

4947
Then save and close the `STAC.ino` file and any other file that might be open from the `STACLib` folder.
5048

@@ -54,21 +52,10 @@ Now create and save the new build number:
5452
1. Generate the hash of that folder.
5553
2. Copy the last six characters of the hash from the Terminal window - this is the new build number.
5654
3. Open the `STAC.ino` file.
57-
4. Paste the new build number in between the brackets on the line:
58-
59-
```
60-
String swVer = "2.0 ()"; // version and (build number) of this software.
61-
Shows up on the web config page, serial monitor startup data dump & is
62-
stored in NVS
63-
```
64-
65-
so it now looks like:
66-
67-
```
68-
String swVer = "2.0 (1a2b3c)"; // version and (build number) of this software.
69-
Shows up on the web config page, serial monitor startup data dump & is
70-
stored in NVS
71-
```
55+
4. Paste the new build number in between the brackets on the line:<br><br>
56+
`const String swVer = "2.0 ()"; // version and (build number) of this software`<br><br>so it now looks like:<br><br>
57+
`const String swVer = "2.0 (1a2b3c)"; // version and (build number) of this software
58+
`
7259

7360
5. Save the STAC.ino file.
7461
6. Safe now to upload to the ATOM Matrix.
@@ -78,4 +65,5 @@ Now create and save the new build number:
7865
By making note of the existing build number in the `STAC.ino` file, deleting the build number and then generating the hash, a quick check can be made if this version of the `STAC.ino` file and its associated `STACLib/*.h` files are the same as a version running on an ATOM. Delete the existing build number from the `STAC.ino` file, generate the hash, look at and compare the last six digits of the hash to the build number reported by the serial data dump from the STAC. If they match, odds are strong you're good.
7966

8067
**Xylopyrographer**<br>
81-
2023-02-13
68+
2024-05-09
69+

Documentation/Detailed Change Log.md

+12
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,18 @@
33

44
Intended for developers and others interested in the nitty gritty.
55

6+
### Version 2.2.0
7+
* Refactored pretty much the entire code base. Not an insignificant effort as you know.
8+
* Moved things about in and inside the `STACLib` "`.h`" files.
9+
* Add support for the Roland V-160HD Streaming Video Switch.
10+
* Rearranged items in the serial port info dump & added a few more needed for the V-160HD.
11+
* Replace the FastLED library with the LiteLED library.
12+
- See docs in the LiteLED library.
13+
* Replace the JC\_Button with the XP\_Button library.
14+
- See docs in the XP\_Button library.
15+
* Add short "How to" to the serial monitor out when doing an OTA update.
16+
* migrate to arduino-esp32 core v2.0.14.
17+
618
### Version 2.1.1
719

820
* Bug fix - STAC ID.

Documentation/Release Notes.md

+18
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,22 @@
11
# STAC Release Notes
2+
## v2.2.0
3+
4+
__New__
5+
6+
Add support for the funky Roland V-160HD Streaming Video Switch. (Go Team!) But, it does require the V-160HD be running at least version 3 of the System Software.
7+
8+
Any feedback would be appreciated!
9+
10+
Check the new info in the *STAC Users Guide*, especially the section on *First Time Setup*.
11+
12+
__Improvements__
13+
14+
* When doing an OTA firmware update, the serial monitor output has a couple of "How To" info lines.
15+
16+
__Note__
17+
18+
* Updating to this version will require the STAC to be reconfigured. Refer to that section of the *STAC Users Guide* for details.
19+
220
## v2.1.1
321

422
__Bug Fix__

Documentation/STAC Communications.md

+24-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Introduction
44

5-
Short techie document describing the way a STAC communicates with a Roland device using the Smart Tally protocol.
5+
Short techie document describing the way a STAC communicates with a Roland model V-60HD video switch using the Smart Tally protocol.
66

77
This is only relevant if you are using a STAC in an emulated environment. That is, where the STAC is not communicating with a physical Roland device but is operating in a system that emulates a Roland device using the Smart Tally protocol.
88

@@ -43,8 +43,31 @@ The STAC sends no identifiable information directly in the status request. Thus
4343

4444
Other methods, such as using the MAC address or IP address assigned to a STAC from the router, may be considered.
4545

46+
## Regarding the V-160HD
47+
48+
Implementation of the Smart Tally protocol on the V-160HD differs from the V-60HD. The V-160HD does not respond to a "short form" of a tally request, instead using HTML compliant standard protocol to query the switch.
49+
50+
The V-160HD also implements and requires Basic Authentication for all HTML interactions, where the user ID (at the time of writing) is fixed to be '`user`' and the password is a four-digit number selectable by the user, with a default of '`0000`'.
51+
52+
When configured for the V-160HD, the STAC bypasses the normal '`GET /`' request that a browser would do when first connecting to a URL. In place it immediately starts polling for status of the channel configured by the user in the format:
53+
54+
`GET /tally/{CHAN_BANK}{BANK_NUM}/status\r\n\r\n`
55+
56+
where:
57+
`CHAN_BANK` is either `hdmi_` or `sdi_`
58+
59+
`BANK_NUM` is an ASCII integer from `1` to `8` representing the HDMI or SDI input of the V-160HD.
60+
61+
This is sent with the Basic Authentication and other headers as required.
62+
63+
The expected response in the return payload is as per the V-60HD described above.
64+
65+
As the interaction with the V-160HD is standard HTML, the referring IP address of the STAC making the tally request is included in the headers from the STAC to the switch so this information may be of use when using the STAC in emulated environments.
66+
<br><br>
67+
4668
---
4769
### Revision History
70+
**2024-05-09:** Revise for support of the V-160HD.
4871
**2021-04-08:** Add "Other Considerations" section. Correct typos.
4972
**2021-04-05:** First release.
5073

Documentation/Using CoolTerm for STAC Information.md

+38-38
Original file line numberDiff line numberDiff line change
@@ -34,33 +34,33 @@ Something like:
3434

3535
```
3636
==========================================
37-
STAC
38-
A Roland Smart Tally Client
39-
by: Team STAC
40-
https://github.com/Xylopyrographer/STAC
41-
42-
Version: 2.1.1 (17e4e0)
43-
Core: 2.0.5
44-
SDK: v4.4.2
45-
Setup SSID: STAC-00F8A86C
37+
STAC
38+
A Roland Smart Tally Client
39+
by: Team STAC
40+
github.com/Xylopyrographer/STAC
41+
42+
Version: 2.2.0 (1a2bc3)
43+
Core: 2.0.14
44+
SDK: v4.4.6
45+
Setup SSID: STAC-1C54267E
4646
Setup URL: http://setup.local
4747
Setup IP: 192.168.6.14
48-
MAC: 94:B9:6C:A8:F8:00
49-
--------------------------------
50-
WiFi Network SSID: SmartTallyNet
51-
Smart Tally IP: 192.168.1.90
52-
Port #: 80
53-
Max Tally Channel: 4
54-
Polling Interval: 300 ms
55-
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
56-
Active Tally Channel: 5
48+
MAC: 94:55:7E:A6:55:2B
49+
--------------------------------------
50+
WiFi Network SSID: HammyNet
51+
Switch IP: 192.168.7.99
52+
Switch Port #: 80
53+
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
54+
Configured for Model: V-160HD
55+
Active Tally Channel: HDMI 2
56+
Max HDMI Tally Channel: 4
57+
Max SDI Tally Channel: 7
5758
Tally Mode: Camera Operator
58-
Auto start: Enabled
59+
Auto start: Disabled
5960
Brightness Level: 1
60-
=========================================
61-
WiFi Connected. IP: 192.168.1.14
62-
=========================================```
63-
Items above the "`=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=`" line are those from the STAC setup via a web browser. Items below that line are set using the STAC display button.
61+
Polling Interval: 300 ms
62+
==========================================
63+
```
6464

6565
The "`WiFi Connected.`" line will show up after the STAC connects to the WiFi network and has an IP address assigned.
6666

@@ -70,18 +70,18 @@ If it is operating in Peripheral Mode, it'll send that info out, something like.
7070

7171
```
7272
==========================================
73-
STAC
74-
A Roland Smart Tally Client
75-
by: Team STAC
76-
https://github.com/Xylopyrographer/STAC
77-
78-
Version: 2.1.1 (17e4e0)
79-
Core: 2.0.5
80-
SDK: v4.4.2
81-
Setup SSID: STAC-00F8A86C
73+
STAC
74+
A Roland Smart Tally Client
75+
by: Team STAC
76+
github.com/Xylopyrographer/STAC
77+
78+
Version: 2.2.0 (1a2bc3)
79+
Core: 2.0.14
80+
SDK: v4.4.6
81+
Setup SSID: STAC-1C54267E
8282
Setup URL: http://setup.local
8383
Setup IP: 192.168.6.14
84-
MAC: 94:B9:6C:A8:F8:00
84+
MAC: 94:55:7E:A6:55:2B
8585
--------------------------------
8686
OPERATING IN PERIPHERAL MODE
8787
Tally Mode: Talent
@@ -107,13 +107,13 @@ CoolTerm is available for a number of systems and platforms. The serial communic
107107
If you're curious, part of the info dump looks like:
108108
109109
```
110-
Version: 2.1.1 (17e4e0)
111-
Core: 2.0.5
112-
SDK: v4.4.2
113-
Setup SSID: STAC-00F8A86C
110+
Version: 2.2.0 (1a2bc3)
111+
Core: 2.0.14
112+
SDK: v4.4.6
113+
Setup SSID: STAC-1C54267E
114114
Setup URL: http://setup.local
115115
Setup IP: 192.168.6.14
116-
MAC: 94:B9:6C:A8:F8:00
116+
MAC: 94:55:7E:A6:55:2B
117117
```
118118
Here:
119119

Documentation/Using screen for STAC Information.md

+56-54
Original file line numberDiff line numberDiff line change
@@ -23,34 +23,34 @@ In the Terminal window, you should see the STAC startup information.
2323
Something like:
2424

2525
```
26-
==========================================
27-
STAC
28-
A Roland Smart Tally Client
29-
by: Team STAC
30-
https://github.com/Xylopyrographer/STAC
31-
32-
Version: 2.1 (273315)
33-
Core: 2.0.5
34-
SDK: v4.4.2
35-
Setup SSID: STAC-F8A87E
36-
Setup URL: http://setup.local
37-
Setup IP: 192.168.6.14
38-
MAC: 94:B9:7E:A8:F8:00
39-
--------------------------------
40-
WiFi Network SSID: SmartTallyNet
41-
Smart Tally IP: 192.168.1.90
42-
Port #: 80
43-
Max Tally Channel: 4
44-
Polling Interval: 300 ms
45-
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
46-
Active Tally Channel: 2
47-
Tally Mode: Camera Operator
48-
Auto start: Enabled
49-
Brightness Level: 1
50-
=========================================
51-
WiFi Connected. IP: 192.168.1.21
52-
=========================================```
53-
Items above the "`=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=`" line are those from the STAC setup via a web browser. Items below that line are set using the STAC display button.
26+
==========================================
27+
STAC
28+
A Roland Smart Tally Client
29+
by: Team STAC
30+
github.com/Xylopyrographer/STAC
31+
32+
Version: 2.2.0 (1a2bc3)
33+
Core: 2.0.14
34+
SDK: v4.4.6
35+
Setup SSID: STAC-1C54267E
36+
Setup URL: http://setup.local
37+
Setup IP: 192.168.6.14
38+
MAC: 94:55:7E:A6:55:2B
39+
--------------------------------------
40+
WiFi Network SSID: HammyNet
41+
Switch IP: 192.168.7.99
42+
Switch Port #: 80
43+
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
44+
Configured for Model: V-160HD
45+
Active Tally Channel: HDMI 2
46+
Max HDMI Tally Channel: 4
47+
Max SDI Tally Channel: 7
48+
Tally Mode: Camera Operator
49+
Auto start: Disabled
50+
Brightness Level: 1
51+
Polling Interval: 300 ms
52+
==========================================
53+
```
5454

5555
The "`WiFi Connected.`" line will show up after the STAC connects to the WiFi network and has an IP address assigned.
5656

@@ -59,24 +59,26 @@ If the STAC has not been set up, it'll tell you that. And it will let you know w
5959
If it is operating in Peripheral Mode, it'll send that info out, something like...
6060

6161
```
62-
==========================================
63-
STAC
64-
A Roland Smart Tally Client
65-
by: Team STAC
66-
https://github.com/Xylopyrographer/STAC
67-
68-
Version: 2.1 (273315)
69-
Core: 2.0.5
70-
SDK: v4.4.2
71-
Setup SSID: STAC-F8A87E
72-
Setup URL: http://setup.local
73-
Setup IP: 192.168.6.14
74-
MAC: 94:B9:7E:A8:F8:00
75-
--------------------------------
76-
OPERATING IN PERIPHERAL MODE
77-
Tally Mode: Talent
78-
Brightness Level: 1
79-
=======================================```
62+
==========================================
63+
STAC
64+
A Roland Smart Tally Client
65+
by: Team STAC
66+
https://github.com/Xylopyrographer/STAC
67+
68+
Version: 2.2.0 (1a2bc3)
69+
Core: 2.0.14
70+
SDK: v4.4.6
71+
Setup SSID: STAC-1C54267E
72+
Setup URL: http://setup.local
73+
Setup IP: 192.168.6.14
74+
MAC: 94:55:7E:A6:55:2B
75+
--------------------------------
76+
OPERATING IN PERIPHERAL MODE
77+
Tally Mode: Talent
78+
Brightness Level: 1
79+
=======================================
80+
```
81+
8082
In Peripheral Mode, only the display brightness level and tally display mode can be set, using the display button.
8183

8284
When doing a Factory Reset, it'll send out information to let you know how that's progressing.
@@ -111,13 +113,13 @@ Windows systems have a number of options for serial communications programs. Con
111113
If you're curious, part of the info dump looks like:
112114

113115
```
114-
Version: 2.1 (273315)
115-
Core: 2.0.5
116-
SDK: v4.4.2
117-
Setup SSID: STAC-F8A87E
118-
Setup URL: http://setup.local
119-
Setup IP: 192.168.6.14
120-
MAC: 94:B9:7E:A8:F8:00
116+
Version: 2.2.0 (1a2bc3)
117+
Core: 2.0.14
118+
SDK: v4.4.6
119+
Setup SSID: STAC-1C54267E
120+
Setup URL: http://setup.local
121+
Setup IP: 192.168.6.14
122+
MAC: 94:55:7E:A6:55:2B
121123
```
122124
Here:
123125

@@ -131,4 +133,4 @@ Here:
131133

132134
Useful info if you're interested in tweaking the STAC software. File it in the trivia bucket otherwise.
133135

134-
The other bits of the data dump are covered in the *STAC Users Guide*.
136+
The other bits of the data dump are covered in the *STAC Users Guide*.

0 commit comments

Comments
 (0)