| Crates.io | sacn |
| lib.rs | sacn |
| version | 0.11.1 |
| created_at | 2015-09-13 13:46:07.562064+00 |
| updated_at | 2026-01-04 12:31:56.345152+00 |
| description | A Rust implementation of the ANSI E1.31 Streaming ACN protocol, tested against protocol version ANSI E1.31-2018. |
| homepage | https://github.com/RustLight/sacn |
| repository | https://github.com/RustLight/sacn |
| max_upload_size | |
| id | 3040 |
| size | 903,062 |
A Rust implementation of the ANSI E1.31 Streaming ACN protocol, tested against protocol version ANSI E1.31-2018.
cargo run --example sine-wave-sender
Compliance with the ANSI E1.31-2018 protocol was tested (April 2020) and the results are shown in 'documentation/ANSI-E1.31-2018-Compliance-Check-List.pdf'.
Quick library logic and parse testing: cargo test
Ipv4 testing requires that the computer have (a) network interface(s) with the IPs of 192.168.0.6, 192.168.0.7, and 192.168.0.8. These IPs are set in the testing file. Ip tests are ignored by default. Run the ip tests in a single thread to avoid socket conflicts within the OS. To run ipv4 tests, use cargo test_ip, which is an alias for
cargo test --test ipv4_tests -- --ignored --test-threads=1.
There is a Dockerfile to run the tests, inluding ipv4 tests, on linux. In the project root, run docker build -t sacn-test -f docker-linux/Dockerfile . to build the image. Then, run docker run --cap-add=NET_ADMIN sacn-test to run the ipv4 tests within the image. The docker engine must be running in linux container mode.
ESTA 1.31-2018, also known as ANSI E1.31-2018, defines how to transmit DMX512 lighting control data over standard Ethernet networks using the sACN (Streaming Architecture for Control Networks) protocol.
It is widely used in theatrical, concert, architectural, and broadcast lighting environments.
DMX512: A digital control protocol used to manage stage lighting and effects. It transmits values (0–255) for up to 512 control channels per line, called a universe.
Universe: A group of 512 DMX channels, each corresponding to a controllable parameter like brightness or color. Large shows often use many universes to control numerous fixtures.
Ethernet: A standard computer networking technology that allows data to be transmitted over cables like CAT5e or CAT6. In this context, it enables DMX data to travel over modern IP-based networks.
sACN (Streaming ACN): A protocol built on IP networking that transports DMX data efficiently over Ethernet, allowing fast and reliable lighting control.
ESTA 1.31-2018 allows high-speed lighting control data to be transmitted over regular computer networks instead of older DMX cables, making modern lighting systems more powerful, flexible, and scalable.
Originally forked from https://github.com/lschmierer/sacn and then further developed as part of a final year project at the University of St Andrews.