2024-05-12 00:03:10 +02:00
|
|
|
# servicepoint
|
|
|
|
|
2024-05-12 00:20:26 +02:00
|
|
|
[](https://crates.io/crates/servicepoint2)
|
2024-05-12 13:11:42 +02:00
|
|
|
[](https://crates.io/crates/servicepoint2)
|
2024-05-12 01:49:38 +02:00
|
|
|
[](https://docs.rs/servicepoint2/latest/servicepoint2/)
|
|
|
|
[](./LICENSE)
|
2024-05-12 00:20:26 +02:00
|
|
|
|
2024-05-12 01:49:38 +02:00
|
|
|
In [CCCB](https://berlin.ccc.de/), there is a big pixel matrix hanging on the wall. It is called "Service Point
|
|
|
|
Display" or "Airport Display".
|
2024-05-12 00:03:10 +02:00
|
|
|
This repository contains a library for parsing, encoding and sending packets to this display via UDP.
|
|
|
|
|
2024-05-12 13:11:42 +02:00
|
|
|
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.
|
|
|
|
|
2024-05-12 00:03:10 +02:00
|
|
|
### Installation
|
2024-05-12 01:49:38 +02:00
|
|
|
|
2024-05-12 00:03:10 +02:00
|
|
|
```bash
|
2024-05-12 00:21:48 +02:00
|
|
|
# release version
|
|
|
|
cargo add servicepoint2
|
|
|
|
|
|
|
|
# development version
|
2024-05-12 00:03:10 +02:00
|
|
|
cargo add --git https://github.com/kaesaecracker/servicepoint.git
|
|
|
|
```
|
|
|
|
|
|
|
|
### Example
|
|
|
|
|
|
|
|
```rust
|
|
|
|
fn main() {
|
|
|
|
// establish connection
|
|
|
|
let connection = servicepoint2::Connection::open("172.23.42.29:2342")
|
|
|
|
.expect("connection failed");
|
2024-05-12 01:49:38 +02:00
|
|
|
|
2024-05-12 00:03:10 +02:00
|
|
|
// clear screen content
|
|
|
|
connection.send(servicepoint2::Command::Clear)
|
|
|
|
.expect("send failed");
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2024-05-12 01:49:38 +02:00
|
|
|
More are available in the `examples` folder.
|
2024-05-12 00:03:10 +02:00
|
|
|
|
|
|
|
### Features
|
|
|
|
|
2024-05-12 01:49:38 +02:00
|
|
|
This library has multiple compression libraries as optional dependencies.
|
2024-05-12 00:03:10 +02:00
|
|
|
If you do not need compression/decompression support you can disable those features.
|
|
|
|
In the likely case you only need one of them, you can include that one specifically.
|
|
|
|
|
|
|
|
```toml
|
|
|
|
[dependencies.servicepoint2]
|
|
|
|
git = "https://github.com/kaesaecracker/servicepoint.git"
|
|
|
|
default-features = false
|
|
|
|
features = ["compression-bz"]
|
|
|
|
```
|
|
|
|
|
|
|
|
### Projects using the library
|
|
|
|
|
|
|
|
- screen emulator: https://github.com/kaesaecracker/pixel-receiver-rs
|