sACN  2.0.2
Implementation of ANSI E1.31 (Streaming ACN)
View other versions:
Loading...
Searching...
No Matches
SacnDmxMergerConfig Struct Reference

#include <dmx_merger.h>

Data Fields

uint8_t * levels
 
uint8_t * per_address_priorities
 
bool * per_address_priorities_active
 
uint8_t * universe_priority
 
sacn_dmx_merger_source_towners
 
int source_count_max
 

Detailed Description

A set of configuration information for a merger instance.

Field Documentation

◆ levels

uint8_t* levels

Buffer of DMX_ADDRESS_COUNT levels that this library keeps up to date as it merges. Slots that are not sourced are set to 0. Memory is owned by the application and must remain allocated until the merger is destroyed. While this merger exists, the application must not modify this buffer directly! Doing so would affect the results of the merge.

◆ owners

Buffer of DMX_ADDRESS_COUNT source IDs that indicate the current winner of the merge for that slot, or SACN_DMX_MERGER_SOURCE_INVALID to indicate that there is no winner for that slot. This is used if you need to know the source of each slot. If you only need to know whether or not a slot is sourced, set this to NULL and use per_address_priorities (which has half the memory footprint) to check if the slot has a priority of 0 (not sourced). Memory is owned by the application and must remain allocated until the merger is destroyed.

◆ per_address_priorities

uint8_t* per_address_priorities

Buffer of DMX_ADDRESS_COUNT per-address priorities for each winning slot. This is used if the merge results need to be sent over sACN. Otherwise this can just be set to NULL. If a source with a universe priority of 0 wins, that priority is converted to 1. If there is no winner for a slot, then a per-address priority of 0 is used to show that there is no source for that slot. Memory is owned by the application and must remain allocated until the merger is destroyed.

◆ per_address_priorities_active

bool* per_address_priorities_active

If the merger output is being transmitted via sACN, this is set to true if per-address-priority packets should be transmitted. Otherwise this is set to false. This can be set to NULL if not needed, which can save some performance.

◆ source_count_max

int source_count_max

The maximum number of sources this merger will listen to. May be SACN_RECEIVER_INFINITE_SOURCES. This parameter is ignored when configured to use static memory – SACN_DMX_MERGER_MAX_SOURCES_PER_MERGER is used instead.

◆ universe_priority

uint8_t* universe_priority

If the merger output is being transmitted via sACN, this is set to the universe priority that should be used in the transmitted sACN packets. This can be set to NULL if not needed, which can save some performance.


The documentation for this struct was generated from the following file: