Animation properties

The animation properties dialog lets you define the name, description, and execution behaviour of each animation. It opens via Animation menu → Properties in the main editor, or from the Animations tab in the start window (via the Edit data button).

For an overview of the animation types, with usage examples and the list of all fields (including those that appear only in certain conditions), see Animation types.

Identification

FieldDescription
NameAnimation identifier. Must be unique within the domain.
DescriptionFree notes: scene, version, director's notes. Optional.

Activation mode

The Activation mode field controls how the animation is started:

ModeBehaviour
on_startFree animation, not tied to a button: in ARES you start it with the Run commands. On DEIMOS it can start at power-up if saved on the SD as 0#-name.d5s without MENU.TXT.
triggerThe animation starts when the associated trigger button is pressed; pressing it again stops it.

Random start

If the Random start checkbox is enabled, the animation is started at random intervals instead of immediately. Configure:

Random start is useful for non-deterministic ambient behaviours, such as background noises or spontaneous character movements while in an idle state.

Trigger button

Visible only with trigger mode. Choose the physical button (element of type Trigger Button) that starts and stops the animation. If the domain has no trigger buttons the list shows — none —: add one in Elements.

Advance step

Configures how far the playback cursor advances at each tick of the internal timer. Parameters:

Smaller values increase smoothness but require more computing power. The default value is optimised for 30 FPS.

Continuous loop

If the Continuous loop checkbox is enabled, the animation restarts from the beginning of the range every time it reaches the end. To stop it use the Stop button.

Parametrized animation

A parametrized animation is driven by a sensor or by another program. It receives a value P from 0 to 1023 (the range of an Arduino analog pin) that sets the movement amplitude of the selected servos:

position = rest + (position − rest) × P / 1023

The rest position is the initial position set in the servo element. At P = 1023 the servo plays the full animation, at P = 512 half the amplitude, at P = 0 it stays at rest. Example: a distance sensor makes a greeting wider as a person comes closer.

FieldPurpose
Parametrized animationTurns the feature on and shows the other fields.
Parameter sourceAnalog pin: DEIMOS reads a sensor wired to a pin A0–A15. Serial command: the value comes from another program with the fv command.
Analog pinPin wired to the sensor output (0–5 V). Analog pin source only.
Read every N cyclesHow many animation cycles between two sensor readings. 1 = fastest response; higher values give steadier movement with a noisy sensor.
Parametrized servosThe servos that follow the parameter. The others play the animation normally.

Sounds

For an audio segment you can tick Volume follows parameter in its editor: the volume goes from silent (P = 0) to full (P = 1023). It works in the ARES preview: DEIMOS does not play audio.

The fv serial command

With the serial command source, another program sends DEIMOS this frame on the USB port at 115200 baud:

AA 66 76 <value low> <value high> <crc8>

where 66 76 are the characters f v, the value (0–1023) is little endian and the crc8 (polynomial 0x07, initial value 0) is computed over the bytes from 66 to the value high byte. The value stays valid until a new one arrives; if none was ever received it is 1023 (full animation). It can be sent before starting the animation (with the button or the fp command) or during playback.

Preview in ARES

The main editor shows the Parameter slider: during ARES playback it scales servos and sounds exactly as DEIMOS will. The SD export always records the full animation: DEIMOS applies the scaling in real time.

Requirements and limits: firmware DEIMOS 2.0 or later is required; earlier versions reject the file. Bus servos receive a command at the start of each segment, so a new parameter value takes effect from the next segment; on PWM servos the effect is immediate. The sensor pin must not already be used by switches, PWM servos or buttons on the same board: on the Arduino Mega A0–A15 are digital pins 54–69. ARES checks this in the animation properties and before exporting, and tells you which element uses it.
See also: Key concepts — Main editor — Start window