Skip to content

Commit

Permalink
Add and revise for STAC v2.2.0 (#56)
Browse files Browse the repository at this point in the history
Major code refactoring affecting pretty much every file. Add Roland V-160HD support.
  • Loading branch information
Xylopyrographer authored May 9, 2024
1 parent 3b5555e commit e7dd64d
Show file tree
Hide file tree
Showing 31 changed files with 1,893 additions and 1,431 deletions.
32 changes: 10 additions & 22 deletions Documentation/Creating the build number.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,7 @@ When in the throws of development and working with multiple ATOM units, sometime

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

```
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
```
`const String swVer = "2.0 (1a2b3c)"; // version and (build number) of this software`

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

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

For example:

`hashdir -a md5 ~/Documents/SmartTallyAtomClient/STAC`
`hashdir -a md5 ~/Documents/STAC`

will produce something like:

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

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

` 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`
`const String swVer = "2.0 (1a2b3c)"; // version and (build number) of this software`

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

` 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`
`const String swVer = "2.0 ()"; // version and (build number) of this software`

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

Expand All @@ -54,21 +52,10 @@ Now create and save the new build number:
1. Generate the hash of that folder.
2. Copy the last six characters of the hash from the Terminal window - this is the new build number.
3. Open the `STAC.ino` file.
4. Paste the new build number in between the brackets on the line:

```
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
```

so it now looks like:

```
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
```
4. Paste the new build number in between the brackets on the line:<br><br>
`const String swVer = "2.0 ()"; // version and (build number) of this software`<br><br>so it now looks like:<br><br>
`const String swVer = "2.0 (1a2b3c)"; // version and (build number) of this software
`

5. Save the STAC.ino file.
6. Safe now to upload to the ATOM Matrix.
Expand All @@ -78,4 +65,5 @@ Now create and save the new build number:
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.

**Xylopyrographer**<br>
2023-02-13
2024-05-09

12 changes: 12 additions & 0 deletions Documentation/Detailed Change Log.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,18 @@

Intended for developers and others interested in the nitty gritty.

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

### Version 2.1.1

* Bug fix - STAC ID.
Expand Down
18 changes: 18 additions & 0 deletions Documentation/Release Notes.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,22 @@
# STAC Release Notes
## v2.2.0

__New__

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.

Any feedback would be appreciated!

Check the new info in the *STAC Users Guide*, especially the section on *First Time Setup*.

__Improvements__

* When doing an OTA firmware update, the serial monitor output has a couple of "How To" info lines.

__Note__

* Updating to this version will require the STAC to be reconfigured. Refer to that section of the *STAC Users Guide* for details.

## v2.1.1

__Bug Fix__
Expand Down
25 changes: 24 additions & 1 deletion Documentation/STAC Communications.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Introduction

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

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.

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

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

## Regarding the V-160HD

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.

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`'.

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:

`GET /tally/{CHAN_BANK}{BANK_NUM}/status\r\n\r\n`

where:
`CHAN_BANK` is either `hdmi_` or `sdi_`

`BANK_NUM` is an ASCII integer from `1` to `8` representing the HDMI or SDI input of the V-160HD.

This is sent with the Basic Authentication and other headers as required.

The expected response in the return payload is as per the V-60HD described above.

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.
<br><br>

---
### Revision History
**2024-05-09:** Revise for support of the V-160HD.
**2021-04-08:** Add "Other Considerations" section. Correct typos.
**2021-04-05:** First release.

Expand Down
76 changes: 38 additions & 38 deletions Documentation/Using CoolTerm for STAC Information.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,33 +34,33 @@ Something like:

```
==========================================
STAC
A Roland Smart Tally Client
by: Team STAC
https://github.com/Xylopyrographer/STAC
Version: 2.1.1 (17e4e0)
Core: 2.0.5
SDK: v4.4.2
Setup SSID: STAC-00F8A86C
STAC
A Roland Smart Tally Client
by: Team STAC
github.com/Xylopyrographer/STAC
Version: 2.2.0 (1a2bc3)
Core: 2.0.14
SDK: v4.4.6
Setup SSID: STAC-1C54267E
Setup URL: http://setup.local
Setup IP: 192.168.6.14
MAC: 94:B9:6C:A8:F8:00
--------------------------------
WiFi Network SSID: SmartTallyNet
Smart Tally IP: 192.168.1.90
Port #: 80
Max Tally Channel: 4
Polling Interval: 300 ms
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Active Tally Channel: 5
MAC: 94:55:7E:A6:55:2B
--------------------------------------
WiFi Network SSID: HammyNet
Switch IP: 192.168.7.99
Switch Port #: 80
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Configured for Model: V-160HD
Active Tally Channel: HDMI 2
Max HDMI Tally Channel: 4
Max SDI Tally Channel: 7
Tally Mode: Camera Operator
Auto start: Enabled
Auto start: Disabled
Brightness Level: 1
=========================================
WiFi Connected. IP: 192.168.1.14
=========================================```
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.
Polling Interval: 300 ms
==========================================
```

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

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

```
==========================================
STAC
A Roland Smart Tally Client
by: Team STAC
https://github.com/Xylopyrographer/STAC

Version: 2.1.1 (17e4e0)
Core: 2.0.5
SDK: v4.4.2
Setup SSID: STAC-00F8A86C
STAC
A Roland Smart Tally Client
by: Team STAC
github.com/Xylopyrographer/STAC
Version: 2.2.0 (1a2bc3)
Core: 2.0.14
SDK: v4.4.6
Setup SSID: STAC-1C54267E
Setup URL: http://setup.local
Setup IP: 192.168.6.14
MAC: 94:B9:6C:A8:F8:00
MAC: 94:55:7E:A6:55:2B
--------------------------------
OPERATING IN PERIPHERAL MODE
Tally Mode: Talent
Expand All @@ -107,13 +107,13 @@ CoolTerm is available for a number of systems and platforms. The serial communic
If you're curious, part of the info dump looks like:
```
Version: 2.1.1 (17e4e0)
Core: 2.0.5
SDK: v4.4.2
Setup SSID: STAC-00F8A86C
Version: 2.2.0 (1a2bc3)
Core: 2.0.14
SDK: v4.4.6
Setup SSID: STAC-1C54267E
Setup URL: http://setup.local
Setup IP: 192.168.6.14
MAC: 94:B9:6C:A8:F8:00
MAC: 94:55:7E:A6:55:2B
```
Here:
Expand Down
110 changes: 56 additions & 54 deletions Documentation/Using screen for STAC Information.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,34 +23,34 @@ In the Terminal window, you should see the STAC startup information.
Something like:

```
==========================================
STAC
A Roland Smart Tally Client
by: Team STAC
https://github.com/Xylopyrographer/STAC
Version: 2.1 (273315)
Core: 2.0.5
SDK: v4.4.2
Setup SSID: STAC-F8A87E
Setup URL: http://setup.local
Setup IP: 192.168.6.14
MAC: 94:B9:7E:A8:F8:00
--------------------------------
WiFi Network SSID: SmartTallyNet
Smart Tally IP: 192.168.1.90
Port #: 80
Max Tally Channel: 4
Polling Interval: 300 ms
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Active Tally Channel: 2
Tally Mode: Camera Operator
Auto start: Enabled
Brightness Level: 1
=========================================
WiFi Connected. IP: 192.168.1.21
=========================================```
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.
==========================================
STAC
A Roland Smart Tally Client
by: Team STAC
github.com/Xylopyrographer/STAC
Version: 2.2.0 (1a2bc3)
Core: 2.0.14
SDK: v4.4.6
Setup SSID: STAC-1C54267E
Setup URL: http://setup.local
Setup IP: 192.168.6.14
MAC: 94:55:7E:A6:55:2B
--------------------------------------
WiFi Network SSID: HammyNet
Switch IP: 192.168.7.99
Switch Port #: 80
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Configured for Model: V-160HD
Active Tally Channel: HDMI 2
Max HDMI Tally Channel: 4
Max SDI Tally Channel: 7
Tally Mode: Camera Operator
Auto start: Disabled
Brightness Level: 1
Polling Interval: 300 ms
==========================================
```

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

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

```
==========================================
STAC
A Roland Smart Tally Client
by: Team STAC
https://github.com/Xylopyrographer/STAC

Version: 2.1 (273315)
Core: 2.0.5
SDK: v4.4.2
Setup SSID: STAC-F8A87E
Setup URL: http://setup.local
Setup IP: 192.168.6.14
MAC: 94:B9:7E:A8:F8:00
--------------------------------
OPERATING IN PERIPHERAL MODE
Tally Mode: Talent
Brightness Level: 1
=======================================```
==========================================
STAC
A Roland Smart Tally Client
by: Team STAC
https://github.com/Xylopyrographer/STAC
Version: 2.2.0 (1a2bc3)
Core: 2.0.14
SDK: v4.4.6
Setup SSID: STAC-1C54267E
Setup URL: http://setup.local
Setup IP: 192.168.6.14
MAC: 94:55:7E:A6:55:2B
--------------------------------
OPERATING IN PERIPHERAL MODE
Tally Mode: Talent
Brightness Level: 1
=======================================
```

In Peripheral Mode, only the display brightness level and tally display mode can be set, using the display button.

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

```
Version: 2.1 (273315)
Core: 2.0.5
SDK: v4.4.2
Setup SSID: STAC-F8A87E
Setup URL: http://setup.local
Setup IP: 192.168.6.14
MAC: 94:B9:7E:A8:F8:00
Version: 2.2.0 (1a2bc3)
Core: 2.0.14
SDK: v4.4.6
Setup SSID: STAC-1C54267E
Setup URL: http://setup.local
Setup IP: 192.168.6.14
MAC: 94:55:7E:A6:55:2B
```
Here:

Expand All @@ -131,4 +133,4 @@ Here:

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

The other bits of the data dump are covered in the *STAC Users Guide*.
The other bits of the data dump are covered in the *STAC Users Guide*.
Loading

0 comments on commit e7dd64d

Please sign in to comment.