Spikemark
It is hard to believe that Spikemark 4 was released 19 months ago – and more mind numbing that in that same time we have released 19 updates! (plus a few new machines, controllers and custom projects along the way…) As of this writing Spikemark 4.4.0 is current and out in the world. Although we have been releasing new features and bug fixes more than monthly, we have missed the boat a little on the paperwork front. As we are toiling away in front of screens writing manual updates and super cool screenshots, we thought taking a few minutes to get all the features and bug fixes into writing.
NEW FEATURES
Below are the features added to Spikemark 4
SPIKEMARK VERSION | FEATURE |
v4.0.0 | Motors can be grouped together for synchronous operation and cross-fault detection |
Auto-Tune wizard for Pro and Apprentice allows for Auto-Tune parameters to be set via Spikemark, and run the Auto-Tune sequence | |
Movement analysis for Pro and Apprentice allows for graphing of current and frequency over the travel distance. | |
Pro and Apprentice can now reset drive faults via Spikemark | |
v4.0.1 | Motors now include a MIN JOG parameter that controls the slowest a motor may move when jogged manual |
v4.0.2 | Grouped movements can now take advantage of Analyze Movement |
Grouped motors can now jog as a group with group-fault protection | |
You can now move to an arbitrary position by right-clicking on a motor header and selecting “Load Position” and then “Run To Position” | |
v4.1.0 | User authorization |
Presets | |
Pendant | |
The ability to load a default show | |
| The ability to load a motor list from a different show file |
IP addresses to log file | |
v4.1.4 | Position lag time |
v4.1.7 | Pendant firmware with battery monitoring fix |
v4.1.8 | Pendant jogging now follows the nonlinear curve and obeys min and max jog percent |
v4.1.9 | Drive parameter and fault code cleanup |
v4.2.0 | PosiStageNet motor output |
v4.3.0 | Ability to send OSC messages |
Ability to send motor position data over OSC | |
Pushstick Mini to motor library | |
v4.3.1 | Ability to increment a target position |
v4.3.2 | Position linking fixes |
Installer now displays updates | |
v4.4.0 | Pendant – New Firmware – V3 |
Pendant – Ability to calibrate Pendant Joystick | |
Pendant – Group motion functionality and features | |
Pendant – Major UI changes to maximize screen real estate and large shows | |
OSC position scale now allows negative values | |
New From Show feature changes |
FEATURE DETAILS
Let’s take a look at the new key features, broken down by version, in bit more detail.
SPIKEMARK 4.0.0
GROUP MOTION
A group is a collection of two or more motors that monitor each others faults and stop if something is wrong. Each motor in a group creates a special connection to Spikemark that allows it to know if another motor in its group has experienced an issue so it can stop itself. This results in small position deltas between the grouped motors when one faults, making it ideal for multi-motor lifts. Additional Group Motion features and fixes have been introduced after 4.0.0, but this is the big change.
You can read all the details here: cci.fyi/groups
DRIVE COMMUNICATION
Drive communication is an RS-485 serial link between the Variable Frequency Drive (VFD) and the Stagehand Control Card (SCC) inside a Stagehand. The VFD and SCC communicate by the Modbus protocol allowing the SCC to gather information and send it to Spikemark. With this modbus link Spikemark can view detailed drive faults, reset the VFD, auto tune and analyze the current and frequency for a given movement.
You can read all the details here: cci.fyi/drivecomm
The serial link allows opens up the following features for any Stagehand Pro or Stagehand Apprentice controller:
AUTO-TUNE WIZARD
The auto-tune wizard for pro and apprentice allows for auto-tune parameters to be set via spikemark, and run the auto-tune sequence
ANALYZE MOTION
Movement analysis for pro and apprentice allows for graphing of current and frequency over the travel distance.
DRIVE RESET
No more need to dive under the table or to another room when a drive fault occurs. Any Stagehand Pro and Apprentice can now reset drive faults via spikemark.
SPIKEMARK 4.0.2
MOVE TO POSITION
You can now move to an arbitrary position by right-clicking on a motor header and selecting “Load Position” and then “Run To Position”. This feature allows the operator to move any motor (or group) to any position, reducing the need to have “burner” cues in the grid for independent moves.
SPIKEMARK 4.1.0
USER AUTHORIZATION
User Authorization allows Spikemark editing to be restricted through user permissions.
PRESETS
Presets link to a specific cue, and are a super cool way to recall a cue. The Preset displays the name of the Preset, what movements are executing and if there are multiple steps (linked cues). In addition there is also a mini stage model view displaying only the axes moving in the specific Preset.
PENDANT
The Pendant puts the power of Spikemark in your hand – you are no longer chained to the automation station and computer.
DEFAULT SHOW FILE
You can now point Spikemark to open a specific show file each time it starts.
SPIKEMARK 4.1.4
POSITION LAG
Position Lag is another way for Spikemark to detect encoder loss and halt motion. You can read all about it here: cci.fyi/mpe
SPIKEMARK 4.2.0
POSISTAGENET
Spikemark now supports PSN position output to expand on integration with a wider range of media server platforms. You can read more about it here: cci.fyi/psn
SPIKEMARK 4.3.0
OSC (OPEN SOUND CONTROL)
Open Sound Control (OSC) is an open protocol for transmitting data between computers. Spikemark can send these OSC messages to any device that supports UDP OSC such as QLab, ISADORA or ETC EOS. Additionally Spikemark can send real time motor position data using the OSC protocol like it does with Watchout (cci.fyi/watchout) and PosiStageNet (cci.fyi/psn).
SPIKEMARK 4.3.1
Add to Position
By right clicking on the movement position box you are now able to “Add to Position”. Let’s say you have a wagon at position on stage and someone would like it moved onstage a specific distance from the current position. You can add and subtract to the current position with a positive or negative value, taking the guesswork out of “bumps”.
SPIKEMARK 4.4.0
Pendant Updates
We spent some quality time behind the scenes making several large changes to the Pendant UI as well as adding features to help those running grouped movements and large shows. Key features are listed below.
- Updated Pendant Firmware (v3)
- Ability to activate/deactivate motors in a group
- Ability to see individual motors in a group
- Axis details screen
- Improved group jogging
- Reset Position from Pendant
- Pendant Jog Paddle follows jog curve
- Motor status icons are now the same on the Pendant as in Spikemark
- Calibrate Pendant jog paddle
Miscellaneous Updates
Along with the work on the Pendant and all those super features, we also spent time changing features and addressing bugs:
- Streaming position data via OSC now supports negative values
- OSC scale factor is saved with the show
- OSC Libraries are now installed properly when installing Spikemark with authentication
- Pendant config screen now stays on top of Spikemark window
- New From Show feature now not overwriting existing show and being connected in Simulator
- Copy to Group while cue is loaded now reloads values
RELEASE NOTES
Below is the complete release notes for Spikemark 4 thru 4.4.0. This list includes all feature updates, bug fixes and changes included. You can find updated info when you update Spikemark or at any time by looking here: https://creativeconners.com/files/spikemark/Release_Notes.txt
07-30-2019 V4.4.0
*ADDED* Feature P1 – Calibrate pendant joystick
*ADDED* Feature 491 – Ability to activate/deactivate motors in a group
*ADDED* Feature P4 – Axis details screen on Pendant
*ADDED* Feature P3 – Use status icons from Spikemark on the Pendant
*CHANGED* Feature P2 – Pendants group details screen
*CHANGED* Feature P5 – Redesigned main Pendant screen
*CHANGED* Issue 490 – Improved group jog reliability
*CHANGED* Issue 471 – OSC streaming scale to allowing negative values
*CHANGED* Issue 478 – Trickline machine direction labels
*CHANGED* Issue 458 – Floorpocket default settings
*CHANGED* Issue 475 & 476 – Modbus Coil header in the cue grid
*CHANGED* Issue 470 – Pendant config screen not staying on top of Spikemark
*CHANGED* Issue 469 – Spikemark version in print show
*FIXED* Issue 442 – Group paddle jog at zero creeping forward
*FIXED* Issue 484 – Cue time not updating
*FIXED* Issue 485 – Occasional freeze when updating cue numbers
*FIXED* Issue 472 – Saving OSC scaling factor
*FIXED* Issue 483 – Revolver & Periaktos spikes being shifted
*FIXED* Issue 481 – New from show being connected in simulator
*FIXED* Issue 477 – OSC libraries not installing with Spikemark authentication
*FIXED* Issue 482 – New from show saving over old show on first save
*FIXED* Issue 456 – Default speed being set higher than max speed
*FIXED* Issue 507 – Disallowing jogging a group while its moving in a cue
*FIXED* Issue 492 – Copy to group while cue is loaded not reloading values
*FIXED* Issue 523 – Drive fault status going away after a failed group jog
*FIXED* Issue 493 – Group paddle jog not following jog curve
*FIRMWARE* Classic V19
*FIRMWARE* Bipolar V31
*FIRMWARE* Unipolar V50
*FIRMWARE* Pendant V3
03-08-2019 V4.3.2
*FIXED* Issue 467 – Position links not switching motors
*FIXED* Position links linking to unavailable motors
*UPDATED* Installer to include changes
*FIRMWARE* Classic V19
*FIRMWARE* Bipolar V31
*FIRMWARE* Unipolar V50
*FIRMWARE* Pendant V2
03-01-2019 V4.3.1
*ADDED* Ability to increment a target position
*FIRMWARE* Classic V19
*FIRMWARE* Bipolar V31
*FIRMWARE* Unipolar V50
*FIRMWARE* Pendant V2
02-26-2019 V4.3.0
*ADDED* Ability to send OSC messages
*ADDED* Ability to send motor position data over OSC
*ADDED* Pushstick Mini to motor library
*CHANGED* Issue 446 – Motor group’s default speeds to lowest of children
*CHANGED* Issue 381 – Added motor name to which position error was loaded
*FIXED* Issue 371 – Grammar error in installation window
*FIXED* Issue 445 – Pendant coarse/fine jog transitioning to idle instead of faulted
*FIXED* Issue 443 – Group jog faulting when enable released
*FIXED* Issue 460 – Cue selection manager crash
*FIXED* Isseu 461 – Showstopper connection threading crash
*FIRMWARE* Classic V19
*FIRMWARE* Bipolar V31
*FIRMWARE* Unipolar V50
*FIRMWARE* Pendant V2
02-08-19 V4.2.1
*FIXED* Redetect drive
*FIXED* Aux 2 drive reset
*FIRMWARE* Classic V19
*FIRMWARE* Bipolar V31
*FIRMWARE* Unipolar V50
*FIRMWARE* Pendant V2
01-09-19 V4.2
*ADDED* PosiStageNet motor output
*FIXED* Fx not reconnecting after leaving simulator mode
*FIXED* Encoder counts not updating in point scale dialog
*FIRMWARE* Classic V19
*FIRMWARE* Bipolar V31
*FIRMWARE* Unipolar V50
*FIRMWARE* Pendant V2
12-26-18 V4.1.9
*FIXED* Group motors in pop out stage model viewer
*FIXED* Pendant jog to be more reliable
*FIXED* Motor min position change not updating cues below new minimum
*FIXED* Abort on position error defaulting to off for add motor command
*FIXED* RS485 drive communication to be more reliable
*CHANGED* Major internal refactorings
*CHANGED* Instead of showing drive model number it now shows either pro or apprentice
*CHANGED* Instead of auto filling in drive values in auto tune window it now defaults to all 0’s so user has to input values
*CHANGED* Next/Prev button to move to the next/prev cue if cues are displayed or the next/prev preset if presets are displayed
*CHANGED* Default Revolver V2 max speed
*CHANGED* Default Revolver V2 P-Gain
*CHANGED* CM Chain Hoist default parameters
*ADDED* Drive parameter numbers to auto tune window
*ADDED* Drive error numbers to drive faults
*ADDED* Group fault icon
*ADDED* Group terminate swichboard timeout
*FIRMWARE* Classic V19
*FIRMWARE* Bipolar V31
*FIRMWARE* Unipolar V50
*FIRMWARE* Pendant V2
10-15-18 V4.1.8
*FIXED* Pendant jogging now follows the nonlinear curve and obeys min and max jog percent
9-25-18 V4.1.7
*NEW* Pendant firmware with battery monitoring fix
9-6-18 V4.1.6
*FIXED* Connecting to stagehands that don’t exsist.
*FIXED* Firmware not being installed when authorization was used.
*CHANGED* Firmware is now sotred where ever spikemark is installed. It is no longer installed in the users AppData folder.
8-17-18 V4.1.5
*FIXED* Issue 359 – Save open tab to show file
*FIXED* Issue 367 – MTP dialog stays on top of Spikemark
*FIXED* Issue 333 – Log old position when motor is rehomed
*FIXED* Issue 368 – Add group movement to preset paragraph
*FIXED* Issue 360 – Install wizard spelling
*FIXED* Issue 361 – Installer DPI cropping
*FIXED* Issue 358 – Add lag time to motor library
*FIXED* Issue 345 – Lock stage model into place
*FIXED* Issue 44 & 339 – Save cue expanded or collapsed to show file
*FIXED* Save lag time to show file
*CHANGED* Pendant config GUI
7-30-18 V4.1.4
*ADDED* Position lag time
*UPDATED* Pro and Apprentice firmware to reflect the type of card inside either Bipolar or Unipolar
*CHANGED* Moved abort on position error to advanced tab
7-23-18 v4.1.3
*FIXED* Presets touch scrolling
*FIXED* When you press enter on the authentication login screen it now logs you in
*FIXED* Keyboard shortcuts working during run only mode
6-12-18 v4.1.2
*FIXED* The static preset views not being static
6-1-18 v4.1.1
*FIXED* Threading bug introduced by presets
5-25-18 v4.1.0
*ADDED* User authorization
*ADDED* Presets
*ADDED* Pendant
*ADDED* The ability to load a default show
*ADDED* The ability to load a motor list from a different show file
*ADDED* IP addresses to log file
*ADDED* Read parameter button to auto tune window
*FIXED* Logging drive analyze move on drivefault, brakefault, and estop
*FIXED* Writing 3 digit values to auto tune parameters
4-19-18 v4.0.3
*CHANGED* Default polling interval for motors has been reduced to 60ms from 125ms for smoother stage model viewer and tighter cue links.
*ADDED* Firmware 19 (Classic), 30 (Pro), 49 (Apprentice) for group jogging opcodes.
*ADDED* New motors to default library.
*FIXED* Analyze movement screen too large for small screens.
*FIXED* Crashed sometimes while trying to read drive fault errors.
*FIXED* Sometimes crashed when attempting to open a showfile and a backup at the same time.
*CHANGED* Revolver V2 default point scale.
3-12-18 v4.0.2
*CHANGED* The machine library will now safely merge additions into existing library files.
*ADDED* Firmware 18 (Classic), 29 (Pro), 48 (Apprentice) for group jogging opcodes.
*FIXED* Jogging on-screen with the slider sporadically, but frequently caused crashes.
*FIXED* Crasher when sorting drive fault log.
*FIXED* Crasher sometimes when trying to read drive faults via Modbus.
*ADDED* Grouped movements can now take advantage of Analyze Movement.
*ADDED* Grouped motors can now jog as a group with group-fault protection. This is easier said than done. Jogging within a group must be goverened by a PID loop to enforce position error abort. Jogging behavior is therefore necessarily different when jogging solo vs jogging in a group.
*ADDED* You can now move to an arbitrary position by right-clicking on a motor header and selecting “Load Position” and then “Run To Position”
*CHANGED* You can now use individual “Load Movement” and “Run Movement” commands in Run-only mode.
2-6-18 v4.0.1
*FIXED* NBug had a permissions issue that would not allow crash report zip files to be saved to the desktop. Rejoice, this should now work fine even when run without admin privileges.
*ADDED* Motors now include a MIN JOG parameter that controls the slowest a motor may move when jogged manually. This helps with the Apprentice Stagehand (and machines based on the Apprentice Card) that can get a little jumpy when jogging super-slow. This doesn’t not affect cue movement which runs silky even in super-slow mode.
1-19-18 v4.0.0
*ADDED* Motors can be grouped together for synchronous operation and cross-fault detection.
*ADDED* Stagehand Pro and Stagehand Apprentice updated firmware to rev 28 & 47 respectively.
*ADDED* Auto-Tune wizard for Pro and Apprentice allows for Auto-Tune parameters to be set via Spikemark, and run the Auto-Tune sequence.
*ADDED* Movement analysis for Pro and Apprentice allows for graphing of current and frequency over the travel distance.
*ADDED* Pro and Apprentice can now reset drive faults via Spikemark.
*ADDED* Stagehand Pro and Stagehand Apprentice updated firmware to rev 27 & 46 respectively.
Automation, Programming, Spikemark, Tips
Back in August, we introduced Spikemark’s WATCHOUT integration which makes it easy to synchronize projection with the motion of automated scenery. Several theatres have used this new feature to great effect, but I wanted to take a little time today and show how everyone can take advantage of this fun capability.
DISCLAIMER: I am not an expert in WATCHOUT, so this small tutorial is written from the perspective of an automation operator, not a projection wizard.
Alright, let’s get started.
Assume that we have a little show with an automated wall panel attached to a traveler track. On cue, the wall panel will track from Stage Right to Stage Left. As the panel tracks across the stage, we need to project a graphic onto the panel and have the image move along as if it were glued to the panel. Here’s a screen shot of the Spikemark cue:
In order for WATCHOUT’s projectors to track an image synchronously with the motorized panel, we need to send the position of the panel to WATCHOUT. Spikemark will communicate with WATCHOUT over the Ethernet network, so both the Spikemark automation computer and the WATCHOUT production computer need to be plugged into the same physical network. In addition, the two computers need to have compatible IP Addresses that share the first three segments of the address with unique fourth segments. I have the addresses assigned as such:
Spikemark computer is 192.168.10.119
And the WATCHOUT computer is 192.168.10.9
With both computers addressed properly, we need to tell Spikemark where to send the position data. In Spikemark select Show Control –> Watchout from the menu.
A dialog pops up with some configuration details that determine what data is sent to WATCHOUT.
From the top the options are:
- Server Address: The IP Address of the WATCHOUT production computer
- Server Port: The port where WATCHOUT listens for incoming data. By default, WATCHOUT listens on 3040.
- Motor List: Each motor in your show is listed. If the Active box is checked, that motor’s position information will be sent to WATCHOUT. In the Watchout Name text box you can enter a name that will be used inside WATCHOUT to identify the motor’s position. The Spikemark motor name and the WATCHOUT name can map however you like. For example, we could have called it “Logo Winch” in Spikemark and “fuzzy pink rabbit” in Watchout.
- Sending Position Data: Indicates whether Spikemark is currently sending UDP packets to the address indicated in Server Address.
- Update Interval (ms): The frequency with which Spikemark will send position updates to WATCHOUT. The number entered here will determine how many milliseconds should elapse between updates, so higher numbers will result in a slower update cycle. In practice, 30ms is about the fastest rate consistently possible without adversely affecting Spikemark’s performance.
- Messages/second: The number of position updates that are actually being sent to WATCHOUT each second. This number will often bounce around by 1 or 2 messages.
- Include transition rate in messages: If checked, Spikemark will send WATCHOUT the number of milliseconds that have elapsed since the last position update. WATCHOUT can use this information to smooth the animation of the image as it tracks with the motor. This generally results in a smoother visual result, but can be slightly inaccurate. Feel free to experiment with either setting to get the most appropriate result for your show.
- Send Output: This is a toggle button to turn on/off the data stream from Spikemark. The data is sent via UDP, which is a connectionless protocol, so there is no harm sending out the packets even if WATCHOUT is disconnected from the network. UDP packets will blissfully fall into oblivion if the server is not around to receive them so you can start the output stream before WATCHOUT is running.
With Spikemark configured and the Send Output button depressed, we are ready to fire up the WATCHOUT production machine. Start WATCHOUT and give your show file a name. As I mentioned when we started, I need an image to be projected on the traveller panel, so our first step in WATCHOUT is to import an image.
I selected a Creative Conners Logo image, which shows up in the Media list.
Now drag the image from the Media list into the Stage window. You can see the image displayed in the center of the Stage view and it also shows up in the Main Timeline.
With the image on our virtual stage, we need start configuring WATCHOUT to listen for data from Spikemark. We have to enable an external source (Spikemark in this case) to control the image position. Double-click on the image in the Media List and select More Effects and Capabilities.
Then, in the Main Timeline, double-click on the image layer to bring up the Media Cue properties window. Select the Advanced tab and check External Control of Position, Scale & Rotation.
Our next step is to create a Generic Input in WATCHOUT that has a name that matches the Watchout Name we entered into Spikemark. We will use the data received from that Generic Input to move the image around. To add a Generic Input select Input from the Window menu.
From the Input window, click on the little triangle in the upper right corner. From the menu that appears, select Add Generic Input.
A dialog is presented where you can enter the Name of the input and the Limit of the input value. This step is important to get correct. The Name needs to match the name entered in the Spikemark Watchout Output window… exactly, same case, same spelling, etc. The Limit should match the highest value expected to come from Spikemark. In this case, our traveler has a maximum forward position of 360”, so we can enter 360.
Press the OK button and then the new Generic Input will be listed in the Input list with its current value set to 0.00.
Now, the next step is to connect the value of the Generic Input to the x-axis of the Image so that the Image will move as the Generic Input value changes. To link the image position to the Generic Input value we will create a formula in the Main Timeline. Select the image layer in the Main Timeline, and then from the Tween menu select Position.
This adds a Position tween track below Layer 1 in the Main Timeline. This is the good part. Now that we have a tween for Position, on the left side of the track there is a little round button with an “f” inside. That allows us to write a formula that will link the position of the image to the value of the Generic Input, the value of the Generic Input will be connected to the data stream from Spikemark, the data stream from Spikemark is driven by the position of the scenery. The knee bone is connected to the leg bone… still with me? Great, click the little “f”unction button.
In the dialog box that appears, we enter in a formula in the X axis text box. Since this is a traveler track, we want to manipulate the lateral position of the image, but if it was a flying piece of scenery we could instead control the Y axis of the image. To use the value of the Generic Input, we simply type the name of the input. In this case, I’m multiplying the value of the input by 10 to get the image to track the correct number of pixels across the stage. The multiplier you use can be adjusted to fit the specific show.
We are almost there. Before flipping the last switch to connect Spikemark to Watchout, try clicking around in the Value column of the Input list. This will manually adjust the value of the Generic Input and if everything is correct so far, as you alter the Generic Input Value the image should jump to a new X position in the Stage window.
Alright, let’s get the WATCHOUT computer listening to the Spikemark computer. From the File menu select Preferences. Then from the Control tab, check the UDP box next to Production Computer Control.
As soon as you click OK, WATCHOUT will start picking up the position data stream from Spikemark (assuming you depressed the Send Output button in Spikemark) and the image will snap back to match its X position with the motor position. Also, the Generic Input Value should track with the motor position.
Let’s load up cue #2 in Spikemark. Notice that the current motor position is 0.18” in Spikemark, and that the Generic Input Value in WATCHOUT is 0.175 showing that the two systems are communicating.
Now, let’s run cue #2 in Spikemark. When it completes, we can see that the image tracked across the stage in WATCHOUT, matching the motor position!
I hope this gives you a little inspiration to create some stunning stage effects. This tutorial is just a taste of what can be achieved when Spikemark and WATCHOUT are used together in live theatre. As you start using this feature in production, please let us know how it works for you and send us some video. We love to see this stuff in action.
Automation, Machinery, Spikemark
Have you ever wished that your machine was faster?
A quicker pull across the stage for a pallet or a faster rotation for a turntable? Of course, you could always re-gear your machine to get more speed out of it. But wouldn’t it be cool if you could just make the motor go faster? Well, you can. Both the Durapulse and Mitsubishi Stagehands can handle overspeeding up to 200%, so if you don’t need all the horsepower that your motor is rated for, this trick can get you that extra speed you’re looking for.Torque rating based on hertz delivered
In the default settings, 60 hz provides 100% of torque. Overspeeding is simply changing the settings on the Stagehand so that it delivers more than 60 hz which makes the motor turn faster with a corresponding drop in torque. So if you have a 5hp motor and you want to double its speed (and you can get away with 2.5hp), you send it 120 hz. The motor speed doubles, the torque rating gets cut in half at the maximum speed and you’re all a set. If you have a Mitsubishi Stagehand (with the keypad on the front), you need to change parameter 252 of the VFD. That process is explained in section 4.3 of the Stagehand AC Manual 2.1.What about Durapulse VFDs
If you have a Durapulse Stagehand (keypad on the back), you will need to change parameter 0.04, which is explained in section 4.3 of the Stagehand AC Manual 1.0. In addition to the loss of torque, another downside to keep in mind is that the control signal resolution is also reduced, which makes fine adjustments more difficult. Once your Stagehand is set to produce 120Hz, adjust your maximum speed in Spikemark to allow the motor to run faster in cues. That’s it. Tune in next month for another rollicking good time with Spikemark!Creative Conners Business, Spikemark
For this month’s tip
Let’s talk about your Stagehand and its firmware. Every Stagehand OEM card has firmware running on the microprocessor and every now and then we release a firmware update with new features and bug fixes. The current firmware version is Revision 10 which has been out for about 2 years, so if your Stagehand is newer than that, you should be all set. Otherwise, here’s how to find out what your current firmware revision is and how to update it.
What Firmware Are You Running?
The first step is to see what your version (Rev) you currently have. This is easy – simply unplug and replug your Stagehand. (If you’re using the Stagehand in a show, don’t forget to write down its position or park the unit at zero) The first thing you see on the LCD screen on the front of the Stagehand is something like: Stagehand Rev 10 Hard Reset_ In this example, the version of the firmware is 10. If that’s what you see, you’re all set. If you have a lower number than 10, you should update your firmware. Here’s how:(Huge warning: This does not apply to Stagehand FX’s! You cannot update your FX firmware and if you try, you will ‘brick’ it and you will need to send it back to us for a new firmware installation.)
1. Go to the Downloads page of our website.
2. Click on the Stagehand Updater 1.0 which will download a .zip file to your computer.
3. Click on the Stagehand Firmware rev. 10 link which will download the binary firmware file that you are going to load onto the Stagehand OEM card.
4. Launch “Stagehand Update.exe”
5. Make sure your E-Stop system is running and release the E-Stop button. You can’t update your firmware with the Stagehand in E-Stop mode.
6. Confirm that you have a network cable running between your computer and the Stagehand you wish to update (either via a crossover cable or through a network switch).
7. Enter the IP address of the Stagehand you wish to update (eg. 192.168.10.32)
8. Click the “Firmware File…” button.
9. Navigate to the Stagehand firmware file you wish to use (eg. “STAGEHAND_FIRMWARE_FINAL_REV10.bin”)
10. Press the “Update” button.
11. A few new windows will flash on the screen.
12. After the process is complete, the newly updated Stagehand should reboot in about 30 seconds. During reboot, it should display the new firmware revision number.
And that’s it
You’re now running the latest and greatest firmware revision. Final note: If you have an older Stagehand, when you boot it to see what your Rev is, you may not see a Rev number. That means you have a Revision of 4 or lower. In that case, if you want to update your firmware, you would need to send the OEM card back to us and we will update your firmware here in our shop and send it right back to you. Once we’ve updated it to rev 10, you’ll be able to perform any future updates yourself using the steps above.Spikemark
Regular & Frequent Tips
There will be a more in-depth Spikemark Tip next week, but we have a small but important tip for this week that has come up a couple of times recently and we want get the word out. The tip is: Update your Spikemark installation. That’s right. Update. It’s free and it’s easy. Spikemark has been around for almost 3 years now, and there have been a lot of bug fixes that you may not have if you’re running an older version.Get the Latest Spikemark
Open your installation of Spikemark and check you version number by going to Help > About. That will show you which version you’re running. The current version is 2.6.1, so if your version is older than that, it’s time to update. First, backup your show files to somewhere besides the computer, like a thumb drive. Then go to our website and click the item ‘The Brains” in the top menu. (https://creativeconners.com/products/software/) Click the Spikemark Installer link and follow the installation instructions. When it’s done installing, you should check your installation by connecting to your motors and running some cues. That’s it. See you next week!Spikemark
In Ye Olden (Automation) Times
In the early days of theatrical automation (the 1980’s and 90’s – not the Greek era), most of the control gear was designed for manufacturing, which leaned towards set-and-forget programming. When scenery companies started making more sophisticated products, the idea of Position Scale was introduced to make cueing feel more ‘real world’. But Position Scale is an abstraction, and an imperfect one at that, so we’d like to take a minute and explain what Position Scale is and how Position Error is affected by it.Inside the Stagehand Motion Controller
Internally, the Stagehand has no idea about Position Scaling, the Stagehand only deals in raw encoder counts. We hide raw encoder counts most of the time in Spikemark, and let the operator describe movements in terms of real-world units by establishing a simple ratio between encoder counts and real-world units. We refer to that ratio as Position Scale. Whenever Spikemark sends a command to the Stagehand that involves position data, it multiples the on-screen value by the position scale to compute the raw encoder counts that the Stagehand requires.What About Position Error?
This works great 90% of the time, but the abstraction leaks a little bit when discussing Max Position Error. Position Error is the difference between desired motor position and actual motor position. This is calculated several thousand times per second. There will always be some amount of Position Error since the world is an imperfect place, but the software allows the operator to set at threshold for what is ‘normal’ position error and what constitutes a real malfunction. Max Position Error is a setting which is the line in the sand between normal operation and ‘oh boy, we have a problem’. The ‘problem’ could be a disconnected encoder, a physical obstruction, or some other failure. Like every other position parameter in Spikemark, we display this value in real-world units, not raw encoder counts.Let’s Play With Numbers
So you set this value to be something sane like 10″, or 3″, or 4 degrees. A value that makes sense for your rig (eg. “if my wagon is ever more than 3″ off during a move, it probably hit a screw in the track”). Internally the Stagehand uses the LM628 motion chip from National Instruments. This chip has a 16-bit register for storing position error. That means it can store position errors from -32,767 thru 32,768. So… when setting aMax Position Error, the value can’t exceed the raw encoder value of that range. Therefore, when Spikemark calculates the Max Position Error it has to limit the product of Position Scale * Max Position Error to some value that equals less than 32,767. The higher your position scale, the lower the allowable value for Max Position Error, because after the ratio is applied the final raw encoder count value can’t be more than 32,767.How We Got Here
In earlier versions of the firmware, we had a bug where max position error was being incorrectly limited to 4 significant digits, so the max position error was 9,999. We fixed that bug and opened up max position error to the full value of the 16-bit register, but that was only done in the past few years so you may need to upgrade your firmware if you are running anything lower than rev-10. So now you now more than you thought was possible about Position Scale and Position Error.If you have additional questions, feel free to email us at support@creativeconners.com. Thanks for tuning in to this month’s Spikemark Tip!
Spikemark
Timely Tip About Cue Timing
For our January Spikemark tip, we’re going to discuss a common situation when writing cues: You want two cues to be linked, but you need a delay between the completion of the parent cue and the start of the child cue. For instance, you need a prop wagon to travel onstage, wait 15 seconds and then travel offstage. Your first instinct might be to write a Time Link to Cue #1 with a delay of 15 seconds, but Time Links are triggered from the start of the cue, not the completion. With a simple Time Link between two cues the wagon would move offstage 15 seconds after it started moving onstage regardless of how long the onstage move takes.A Better “Dummy” Way
The solution is to write a dummy cue. Say you have Cue 1 that moves your wagon onstage and Cue 2 that moves your wagon offstage and you need a 15 second delay before the wagon tracks offstage. Insert an intermediate cue 1.5, and give the motor in this cue the same target as the completion target of Cue 1. When Cue 1 completes, Cue 1.5 will start and stop immediately, since it’s already at it’s target. Now make Cue 2 a Time Link off of Cue 1.5 with a delay of 15 seconds. The delay will start with the start of Cue 1.5, which is the same as the completion of Cue 1. Now you’re all set.That’s it for this month. If there’s something you want to know how to do, or if you’ve figured out a trick of your own that you’d like to share, please let me know in the comments or email me at sales@creativeconners.com.