Hardware Abstraction Layer (HAL) DMXC3

From English DMXC-Wiki
Books.png Article describe
DMXControl 3.2.3
Stand: 04.03.2025
Hardware Abstraction Layer (HAL) DMXC3
Table of contents

A

B

C

D

E

F

G

H

K

L

M

N

O

P

R

S

T

U

The Hardware Abstraction Layer (HAL for short) is a central component of DMXControl 3. Instead of directly addressing the functions of DMX-controlled devices, these functions are processed through an intermediate module in DMXControl. This means that when working with DMXControl 3, you no longer interact directly with DMX channels and DMX values.

Overview

With the help of the HAL, the DMX channels and their associated DMX values, which are required to call a function on a device, are abstracted directly to the property itself. These abstracted properties are stored in the cues independently of a device's channel layout. For example, the dimmer is stored simply as "set dimmer to 50%" or the color as "red to 132, green to 43, and blue to 0", representing the RGB value 132; 43; 0.

The HAL offers the following advantages for the workflow:

  • All devices are largely controlled in the same way using a standardized user interface consisting of the control panels for common device functions and the device control.
  • Functions can be called up using clear text or sliders. These operate consistently, regardless of the device.
  • Device groups can be heterogeneous, meaning you do not need to differentiate between different device types during programming.
  • The channel layout of a device is no longer relevant for programming.

The HAL applies to several device functions, including the shutter and dimmer, strobe function, color channels, and gobos.

In practical terms, even with a mixed device group containing LED spotlights, scanners with color wheels, and wash-moving heads with CMY color mixing, you can set the color centrally as an RGB value for the entire device group. The HAL handles the conversion to various color mixing systems or selects the closest matching color for devices with fixed colors.

Key Features

The HAL influences how devices behave within the project, both internally in DMXControl 3 and during the data output process:

  • The HAL defines a default state for each function that all devices assume unless modified by a cuelist.
  • The HAL provides virtual implementations of certain functions for devices that lack them.
  • The HAL manages the interaction of different devices, simplifying the process for the user.
  • The HAL monitors which values are authorized for output, particularly when multiple active cuelists target the same function.

Usage

Default State for Functions

When devices are added to a project, they adopt a predefined default state. This usually means that DMX values are sent to devices in this state, which is often visible for properties like position and color.

Important Hint These values are embedded in DMXControl 3 and cannot be changed. If you require a different initial state, create a dedicated background cuelist.
Function Default Value Explanation and Notes
Position Center of the pan-tilt range For moving heads, this typically means the lens points vertically upward and the tilt arm is parallel to the base.
Pan-Tilt Speed Maximum speed
100%
Color White
255; 255; 255
Color Temperature Daylight white
6500 K
This value is selected when virtual color temperature control is enabled for devices with the appropriate LED chips.

Notes

  • Color: All devices default to white when the dimmer is raised, including LED spotlights, which behave similarly to moving heads or scanners with discharge lamps. If you open the shutter here and raise the dimmer, they also light up white directly.

Software-Provided Functions

Dimmer / Shutter

Whether an LED spotlight has only RGB channels or an additional dimmer channel, brightness can be controlled uniformly. For devices without a physical dimmer, the HAL provides a virtual dimmer.

Strobe

If a device lacks a built-in strobe function, the HAL provides a virtual strobe effect. The maximum frequency for this software-generated strobe is 5 Hz.

Important Hint The virtual strobe toggles the dimmer channel (or RGB channels) on and off. This process occurs per device, meaning perfect synchronization between devices cannot be guaranteed.

Color Temperature

For devices with multiple white LEDs (e.g., cold white and amber), the HAL provides a virtual color temperature control, automatically incorporating any additional white LED colors like warm white.

Interaction of Functions

Function behavior varies depending on the property:

Color

Colors are stored as RGB values in a scene. This allows combining different device types within a device group. The HAL ensures that the most suitable value is selected for each device.

For example, if a device group contains LED spotlights, scanners with color wheels, and wash-moving heads with CMY color mixing, setting the color to red ( 132, green 43, blue 0) will:

  • Output the exact RGB value for LED spotlights.
  • Select the closest matching color on the color wheel for scanners.
  • Convert RGB to CMY for wash-moving heads.

Gobo

Gobos require special handling due to device-specific differences. DMXControl 3 includes an internal gobo database that tracks similarities between gobos, allowing the HAL to activate the most similar gobo across different devices.

For instance, if one moving head has a five-dot circle gobo and another has a five-star gobo, both will display their closest equivalent when the five-dot gobo is selected.

Output Monitoring

Beyond providing consistent control, the HAL also monitors values from multiple cuelists and the programmer. Based on cuelist priorities and mixing modes, only the most relevant value is passed to the DMXC mixer, ensuring that devices receive the correct data.

Links and References

Links