Pyro configuration

The Skybrush firmware supports multi-channel pyro triggering with several pyro device types. In this section we give a guide on pyro setup in general and for each pyro device type separately.

There are three general parameters to setup first:

  • SHOW_PYRO_MINALT sets the minimum altitude the pyro is allowed to be triggered to avoid sparks falling on the ground or on people from low altitude.

  • SHOW_PYRO_TCOMP configures the automatic compensation of the delay of the pyro device between receiving the pyro trigger signal until actually triggering the pyro payload. Note that this parameter is specific for the pyro device driving all pyro payloads. The payload-dependent delay (i.e the time between igniting the pyro payload and actually showing up visually in the sky) should be set up in Skybrush Studio for Blender in the design phase for each pyro payload separately.

  • SHOW_PYRO_ITIME sets up the duration of the ON signal for some pyro device types.

Finally, to select a given pyro device type, configure the SHOW_PYRO_TYPE parameter to the proper value and setup your selected device as discussed below.

If you have a pyro device not listed below, contact us for integration!

SingleServo

Set SHOW_PYRO_TYPE=2.

This pyro device supports two pyro channels to be triggered by a single PWM-based servo output channel. Pyro channels 1 and 2 are assumed to be triggered with 85% and 100% PWM signal levels of the selected single servo output channel, correspondingly.

To configure a servo channel for pyro triggering, set the corresponding SERVOx_FUNCTION parameter to 105 (Script12).

To setup the Actual PWM levels of the channel, use the standard SERVOx_MIN and SERVOx_MAX parameters.

MultipleServos

Set SHOW_PYRO_TYPE=3.

This pyro device allows for configuring up to 8 pyro channels on separate servo channels each. Pyro will be triggered with 100% PWM levels on each channel.

Pyro channels 1, 2, and possibly up to 8 will be assigned to the servo channels that have the SERVOx_FUNCTION parameter configured to 105 (Script12). For example, if you configure servo channels 5, 8, and 10 to Script12, you will have your first pyro channel on servo channel 5, the second on 8 and the third on 10, corresponsingly.

To setup the Actual PWM levels of the channel, use the standard SERVOx_MIN and SERVOx_MAX parameters for each channel.

Cobra

Set SHOW_PYRO_TYPE=4.

This pyro device assumes that you have a Cobra 6M SPFX or similar pyro igniter mounted on the drone and you can communicate with it using a serial line. You also need a firmware from Cobra on the pyro igniter device that supports triggering channels from the serial port.

Set SERIALx_PROTOCOL to 14 (Volz servo out) for the serial port that the Cobra device is connected to.

Relay

Set SHOW_PYRO_TYPE=5.

This setting enables you to trigger pyro through relays. For setting up such a configuration, you need to modify the following standard ArduCopter parameters:

  • First of all, set up the pyro pins as generic relays. If you want N channels, you need to set RELAY1_FUNCTION=1, RELAY2_FUNCTION=1 etc. all the way up to RELAYn_FUNCTION=1 first.

  • Second, set RELAYx_PIN to the appropriate GPIO pin indices.

  • Also set up RELAYx_INVERTED as needed.

  • If you are using a GPIO pin that is also a servo pin, then you also need to set SERVOx_FUNCTION to -1 for those servos.