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).
Identification
| Field | Description |
|---|---|
| Name | Animation identifier. Must be unique within the domain. |
| Description | Free notes: scene, version, director's notes. Optional. |
Activation mode
The Activation mode field controls how the animation is started:
| Mode | Behaviour |
|---|---|
| on_start | Free 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. |
| trigger | The 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:
- Unit: the time scale of the interval (ms, cs, ds, s).
- Value: the maximum duration of the random interval.
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:
- Unit: ms, cs, ds, or s.
- Value: the amount of time advanced per step.
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.
| Field | Purpose |
|---|---|
| Parametrized animation | Turns the feature on and shows the other fields. |
| Parameter source | Analog pin: DEIMOS reads a sensor wired to a pin A0–A15.
Serial command: the value comes from another program with the fv command. |
| Analog pin | Pin wired to the sensor output (0–5 V). Analog pin source only. |
| Read every N cycles | How many animation cycles between two sensor readings. 1 = fastest response; higher values give steadier movement with a noisy sensor. |
| Parametrized servos | The 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.