Software Documentation

Software Documentation

Firing SystemsDocumentation

Integration Intermediate Last updated: March 23, 2022

15 fireTEK

To create and export a script for the fireTEK firing system, please follow these steps:

  1. Address the show (“Addressing > Address show…”).
  2. Export the firing system script (“File > Export > Export firing script(s)…“).  Save the exported file as “script.csv” onto your USB (max 32GB, formatted as FAT32).
  3. Import the script into your fireTEK controller.

To export a DMX or DMX + pyro script, please see Flame systems basic instructions and Exporting a firing system script for flame systems for further instructions.

The exported script is a text file with a “CSV” extension.  While it is possible to open this file in a text editor, the file is not meant for humans to read or write.  It contains only the data that the controller requires for shooting the show.  For pyro, most fireTEK users will not need to concern themselves with the file format described in this section. DMX setup and configuration are complicated, so you may want to examine the script visually to ensure it represents what you expect. The file format described in this section provides the necessary details.

Figure 1 – fireTEK firing system

 

Table 1 – File format and encoding

File format Extension Text encoding Field delimiter End-of-line
Text .CSV ASCII Comma CRLF

The script contains rows for the firing events, i.e., unique combinations of module, pin, and ignition-time.  Multiple effects can be combined on a single cue.  The special characteristics of the script are shown in the following table:

 

Table 2 – Special characteristics

Special characteristics Description
Sort order of rows Rows sorted ascending by module number, then track, then ignition time, then pin number.
What rows represent Each row represents a unique firing event, a module/pin/event-time combination.  For example, a chain of five shells will be one row, not five.  A pair of shells shot together from the same position will be one row, not two, even if the shells are different effects.  A flight of shells shot together from multiple positions with the same module-pin using scab wire is still one row.

Events at different times are necessarily different rows, even if their addresses are the same.  Simple DMX effects with duration (see below) are represented as pairs of rows, an ON row at the beginning of the effect and an OFF row at the end.

File format versions Finale 3D exports four different fireTEK script formats, v1, v2, v3, and v4. The formats are supported by various versions of the fireTEK software that is used to upload the script into the system. You can determine the right version number by asking on fireTEK staff or by examining an example file that works on your system, and counting the number of columns. The versions have 4 columns, 7 columns, and 10 columns, and 12 columns, respectively.  The columns are shown in a header row at the top of the file.

Script format v1 (4 columns):  Module,Slat,Pin,Time

Script format v2 (7 columns): Module,Slat,Pin,Time,Sequence,DMX Value,Duration

Script format v3 (10 columns): Module,Slat,Pin,Time,Sequence,DMX Value,Duration,Size,Position,Name

Script format v4 (12 columns): Module,Slat,Pin,Time,Sequence,DMX Value,RampX,Duration,Position,Safety Zone,Effect Name,Sequence Name

Time resolution The fireTEK system supports millisecond resolution.
File header Script formats V1-V3 begin directly with the CSV header row.  Script format V4 begins with a show name line prior to the CSV header row.  The show name line begins with  ## followed by the show name (special characters ; # @ , . & $ ~ removed, limited to 21 characters).
Tracks fireTEK supports semi-automatic firing with independently triggerable tracks.  The script exported from Finale 3D will automatically contain independently triggerable tracks if any event contains a valid “Track“ other than 0.  Tracks may be integers 0-99 or letters followed by integers in that range (example: “1” and “Trk1” are both okay).

In the exported script, the “Sequence” field contains the track number. Tracks must be in chronological order in the Finale 3D show, but do not need to start with 0.  With the exception of Track 0, the ignition times in semi-automatic show scripts are relative to the ignition of the first effect in the track (subject to the firing system’s 10ms minimum value constraint).

The track value 0 is special.  It indicates the main show, for which times are absolute and may be in synch with the music, i.e., NOT relative to the first event in the track.  You can create a script that contains the main show that begins automatically (track 0) and also separately triggerable tracks (track 1-99) that begin when you press the corresponding button.  The triggerable tracks will overlay the main show.

Module types fireTEK systems have 64 pin (4 x 16-pin slats), 48 pin (4 x 12-pin slats) and 24 pin (2 x 12-pin slats) modules. The DMX-capable modules are essentially two-in-one modules, supporting pyro ignitions and DMX output, as explained more fully here.
Slats Each fireTEK module distributes its ignition pins using 16-pin or 12-pin slats. Thus a full firing system pin address includes a module number (1-99), slat number (1-4 or 1-8), and pin number (1-16).
DMX support Each DMX-capable fireTEK module is capable of serving an independent DMX universe, or a DMX universe shared with other modules having the same module address.  The “Module” field in the script row indicates the module number for pyro ignition events and/or corresponding DMX universe for DMX events.  When scripting DMX or hybrid pyro/DMX shows in Finale 3D, please set the “DMX Universe” for the fixtures to the module number of the module that the fixtures are connected to.
DMX representation in the script DMX rows are mixed in with pyro rows in the script, sorted by event time.  DMX rows are distinguished by the value in the “Pin” field.   If the value < 100, the row is a pyro ignition row.  If the value is > 100, the row is a DMX event and the value for this field is the DMX channel number + 100, i.e., subtract 100 to get the actual DMX channel number.  DMX rows contain an optional duration field, which is either 0 (ignored) or an integer representing the duration of the event in 100ms time units, up to a maximum of 25 seconds (duration value = 250).  If the duration field is non-zero, the fireTEK system will automatically reset the DMX value to zero at the end of the duration.

For many types of DMX devices, the duration field facilitates a more efficient representation of events in the script, using one row instead of two.  Finale 3D uses the duration field to represent script events efficiently when possible, and uses ON/OFF pairs of events when the desired duration is not a multiple of 100ms or when the duration is longer than 25 seconds. With the duration field, many types of DMX events can be represented in a single row in the script, but complex DMX effects like adjustable angle shots of the Explo X2 Wave Flamer may require substantially more rows  (see Explo X2 Wave Flamer).

DMX resting state The fireTEK system does not require the at-rest DMX channel values to be zero, which is beneficial for stateful DMX devices like flame units with rotating nozzles, for which it is undesirable to return the nozzle to a resting angle in between two shots at the same angle, if that same angle is different from the resting angle.

When you export a firing script for fireTEK, Finale 3D presents an “Export Options” dialog with the choices shown in Table 3.

 

Table 3 – Export options

Option name Description
Version Choose version v1 (4 columns), v2 (7 columns), v3 (10 columns), or v4 (12 columns).

 

After the header, each row in the script has a number of fields separated by the comma character.  The names of these fields and their descriptions are the following:

Table 4 – Specifications of script fields for V1, V2, and V3 script formats

Field name Description
Module The value 1-99 for module number or DMX universe.
Slat The value 1-4 for 48 pin modules, and 1-2 for 24 pin modules; the value 1 for DMX events.
Pin The value 1-12 for pyro ignitions, or 101-199 to represent DMX channels 1-99 in DMX events.
Time The time of ignition in milliseconds
Sequence The value 1-99 identifying a track for semi-automatic firing, or 0 for standard pyromusicals.
DMX Value The value 0-255 for DMX events, or 0 for pyro ignitions.
Duration The value 0 or 1-250. If non-zero, the integer represents the duration of the event in 100ms time units, up to a maximum of 25 seconds (duration value = 250).  The fireTEK system will automatically reset the DMX value to zero at the end of the duration, if the duration value is non-zero.
Size An optional text string indicating the size of the effect, e.g., 3″.
Position An optional text string indicating the position, e.g., Pos-01.
Name An optional text string indicating the name of the effect, e.g., Red Peony.

 

Table 5 – Specifications of script fields for V4 script format

Field name Description
Module The value 1-99 for module number or DMX universe (for DMX, please set the DMX Universe field of the fixtures to the module number of the module that the fixtures are connected to)
Slat The value 1-4 for 48 pin modules, and 1-2 for 24 pin modules; the value 1 for DMX events.
Pin The value 1-12 for pyro ignitions, or 101-199 to represent DMX channels 1-99 in DMX events.
Time The time of ignition in milliseconds
Sequence The value 1-99 identifying a track for semi-automatic firing, or 0 for standard pyromusicals.
DMX Value The value 0-255 for DMX events, or 0 for pyro ignitions.
RampX The value 0 – 4, indicating the meaning of the Duration field:

0 – Ignored
1 – Instantly change the DMX value to the new value and set to 0 after Duration
2 – Instantly change the DMX value to the new value and set to previous value after Duration
3 – Incrementally change the DMX value to become the new value over the course of the Duration (Ramp time)
4 – Incrementally change the DMX value to become the new value with speed from Duration column (Ramp speed)

Duration The duration or ramp speed, depending on RampX.

This field is ignored if RampX is 0.

If RampX is 1-3 then this field is the duration time in milliseconds.

If RampX is 4, then this field is the ramp speed in units per second.  The value will increment from the present value up to the new value at a rate of this many units per second.  For example, if the value begins at 10 and is set to a new value of 15 with a ramp speed of 2, it will take 2.5 seconds for the value to reach 15.

Position An integer 0-255 representing the position.  In Finale 3D, this integer is extracted from the position name itself, or is zero if the position name does not contain an integer.  For example, the position name “Pos-07” results in the field value of 7.  NOTE: As of the beta release mid-July 2021, Finale 3D writes zero to this field to accommodate a bug in the fireTEK firmware with non-zero values.
Safety Zone An integer 0-255 for disabling sections of the show during the performance.  This number is taken from the Hazard field in the Finale 3D script.
Effect Name A text string indicating the name of the effect, e.g., Red Peony.
Sequence Name A text string indicating the full name of the sequence corresponding to the sequence number.  As described in Table 2, sequence names are represented by the Track field in Finale 3D.  Valid sequence names are integers, optionally preceded by letters, such as “middle5” (number = 5).

 

An example script containing six (6) shells, three (3) DMX safety channel events, and sixty-three (63) DMX flame shots across nine MAGICFX Flamaniac flame units. Please see Exporting a firing system script for flame systems for a full description of this example.

Module,Slat,Pin,Time,Sequence,DMX Value,Duration
10,1,1,1335,0,0,0
10,1,2,1835,0,0,0
10,1,3,1835,0,0,0
10,1,101,4900,0,128,0
10,1,113,5000,0,255,0
10,1,123,5100,0,255,0
10,1,133,5200,0,255,0
10,1,143,5300,0,255,0
10,1,153,5400,0,255,0
10,1,113,5500,0,0,0
10,1,163,5500,0,255,0
10,1,123,5600,0,0,0
10,1,173,5600,0,255,0
10,1,133,5700,0,0,0
10,1,183,5700,0,255,0
10,1,143,5800,0,0,0
10,1,193,5800,0,255,0
10,1,153,5900,0,0,0
10,1,163,6000,0,0,0
10,1,173,6100,0,0,0
10,1,183,6200,0,0,0
10,1,193,6300,0,0,0
10,1,101,6400,0,0,0
10,1,101,6674,0,128,0
10,1,111,6764,0,255,0
10,1,121,6764,0,255,0
10,1,131,6764,0,255,0
10,1,141,6764,0,255,0
10,1,151,6764,0,255,0
10,1,161,6764,0,255,0
10,1,171,6764,0,255,0
10,1,181,6764,0,255,0
10,1,191,6764,0,255,0
10,1,112,6964,0,255,0
10,1,122,6964,0,255,0
10,1,132,6964,0,255,0
10,1,142,6964,0,255,0
10,1,152,6964,0,255,0
10,1,162,6964,0,255,0
10,1,172,6964,0,255,0
10,1,182,6964,0,255,0
10,1,192,6964,0,255,0
10,1,113,7164,0,255,0
10,1,123,7164,0,255,0
10,1,133,7164,0,255,0
10,1,143,7164,0,255,0
10,1,153,7164,0,255,0
10,1,163,7164,0,255,0
10,1,173,7164,0,255,0
10,1,183,7164,0,255,0
10,1,193,7164,0,255,0
10,1,111,7264,0,0,0
10,1,121,7264,0,0,0
10,1,131,7264,0,0,0
10,1,141,7264,0,0,0
10,1,151,7264,0,0,0
10,1,161,7264,0,0,0
10,1,171,7264,0,0,0
10,1,181,7264,0,0,0
10,1,191,7264,0,0,0
10,1,114,7364,0,255,0
10,1,124,7364,0,255,0
10,1,134,7364,0,255,0
10,1,144,7364,0,255,0
10,1,154,7364,0,255,0
10,1,164,7364,0,255,0
10,1,174,7364,0,255,0
10,1,184,7364,0,255,0
10,1,194,7364,0,255,0
10,1,112,7464,0,0,0
10,1,122,7464,0,0,0
10,1,132,7464,0,0,0
10,1,142,7464,0,0,0
10,1,152,7464,0,0,0
10,1,162,7464,0,0,0
10,1,172,7464,0,0,0
10,1,182,7464,0,0,0
10,1,192,7464,0,0,0
10,1,115,7564,0,255,0
10,1,125,7564,0,255,0
10,1,135,7564,0,255,0
10,1,145,7564,0,255,0
10,1,155,7564,0,255,0
10,1,165,7564,0,255,0
10,1,175,7564,0,255,0
10,1,185,7564,0,255,0
10,1,195,7564,0,255,0
10,1,113,7664,0,0,0
10,1,123,7664,0,0,0
10,1,133,7664,0,0,0
10,1,143,7664,0,0,0
10,1,153,7664,0,0,0
10,1,163,7664,0,0,0
10,1,173,7664,0,0,0
10,1,183,7664,0,0,0
10,1,193,7664,0,0,0
10,1,114,7864,0,0,0
10,1,124,7864,0,0,0
10,1,134,7864,0,0,0
10,1,144,7864,0,0,0
10,1,154,7864,0,0,0
10,1,164,7864,0,0,0
10,1,174,7864,0,0,0
10,1,184,7864,0,0,0
10,1,194,7864,0,0,0
10,1,115,8064,0,0,0
10,1,125,8064,0,0,0
10,1,135,8064,0,0,0
10,1,145,8064,0,0,0
10,1,155,8064,0,0,0
10,1,165,8064,0,0,0
10,1,175,8064,0,0,0
10,1,185,8064,0,0,0
10,1,195,8064,0,0,0
10,1,4,8465,0,0,0
10,1,101,8674,0,0,0
10,1,101,8828,0,128,0
10,1,193,8928,0,255,0
10,1,5,8965,0,0,0
10,1,6,8965,0,0,0
10,1,183,9028,0,255,0
10,1,173,9128,0,255,0
10,1,163,9228,0,255,0
10,1,153,9328,0,255,0
10,1,193,9428,0,0,0
10,1,143,9428,0,255,0
10,1,183,9528,0,0,0
10,1,133,9528,0,255,0
10,1,173,9628,0,0,0
10,1,123,9628,0,255,0
10,1,163,9728,0,0,0
10,1,113,9728,0,255,0
10,1,153,9828,0,0,0
10,1,143,9928,0,0,0
10,1,133,10028,0,0,0
10,1,123,10128,0,0,0
10,1,113,10228,0,0,0
10,1,101,10328,0,0,0

Figure 1 – Example fireTEK script

 

Table 6 – Example files

Download link Explanation
magicfx_firetek_standard.fin Example standard show using fireTEK, MAGICFX
magicfx_firetek_standard.csv Example standard exported script using fireTEK, MAGICFX
magicfx_firetek_semi_auto.fin Example semi-auto show using fireTEK, MAGICFX
magicfx_firetek_semi_auto.csv Example semi-auto exported script using fireTEK, MAGICFX
g_flame_firetek_standard.fin Show file for G-Flame and pyro example with fireTEK ignition system by DMX
g_flame_firetek_standard.csv Exported CSV file for G-Flame and pyro example with fireTEK ignition system by DMX