#display #udp #pixel #point #matrix #service #cccb

servicepoint

A rust library for the CCCB Service Point Display

10 releases (breaking)

0.12.0 Nov 23, 2024
0.11.0 Nov 13, 2024
0.10.0 Oct 16, 2024
0.9.1 Oct 12, 2024
0.5.1 May 28, 2024

#169 in Compression

Download history 1/week @ 2024-08-23 3/week @ 2024-08-30 129/week @ 2024-09-06 31/week @ 2024-09-13 15/week @ 2024-09-20 26/week @ 2024-09-27 9/week @ 2024-10-04 371/week @ 2024-10-11 50/week @ 2024-10-18 1/week @ 2024-10-25 100/week @ 2024-11-08 28/week @ 2024-11-15 168/week @ 2024-11-22 24/week @ 2024-11-29 12/week @ 2024-12-06

270 downloads per month
Used in servicepoint_binding_c

GPL-3.0-or-later

110KB
2.5K SLoC

servicepoint

crates.io Crates.io Total Downloads docs.rs GPLv3 licensed

In CCCB, there is a big pixel matrix hanging on the wall. It is called "Service Point Display" or "Airport Display". This crate contains a library for parsing, encoding and sending packets to this display via UDP.

Installation

cargo add servicepoint

or

[dependencies]
servicepoint = "0.12.0"

Examples

fn main() {
    // establish connection
    let connection = servicepoint::Connection::open("172.23.42.29:2342")
        .expect("connection failed");

    // clear screen content
    connection.send(servicepoint::Command::Clear)
        .expect("send failed");
}

More examples are available in the crate. Execute cargo run --example for a list of available examples and cargo run --example <name> to run one.

Note on stability

This library is still in early development. You can absolutely use it, and it works, but expect minor breaking changes with every version bump. Please specify the full version including patch in your Cargo.toml until 1.0 is released.

Features

This library has multiple optional dependencies. You can choose to (not) include them by toggling the related features.

Name Default Description
compression_zlib false Enable additional compression algo
compression_bzip2 false Enable additional compression algo
compression_lzma true Enable additional compression algo
compression_zstd false Enable additional compression algo
protocol_udp true Connection::Udp
protocol_websocket false Connection::WebSocket
rand false impl Distribution for Standard
cp437 true Conversion to and from CP-437

Everything else

Look at the main project README for further information.

Dependencies

~1.2–2.6MB
~56K SLoC