This commit is contained in:
parent
a1316b0271
commit
6a19c5bc6c
1 changed files with 39 additions and 29 deletions
68
README.md
68
README.md
|
|
@ -7,21 +7,28 @@
|
|||
|
||||
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".
|
||||
This crate contains a library for parsing, encoding and sending packets to this display via UDP.
|
||||
|
||||
This project moved to [git.berlin.ccc.de/servicepoint/servicepoint](https://git.berlin.ccc.de/servicepoint/servicepoint).
|
||||
This crate contains a library for parsing, encoding and sending packets to this display via UDP.
|
||||
The library itself is written in Rust, but can be used from multiple languages
|
||||
via [language bindings](#supported-language-bindings).
|
||||
|
||||
This project moved
|
||||
to [git.berlin.ccc.de/servicepoint/servicepoint](https://git.berlin.ccc.de/servicepoint/servicepoint).
|
||||
The [GitHub repository](https://github.com/cccb/servicepoint) remains available as a mirror.
|
||||
|
||||
## Examples
|
||||
|
||||
```rust no_run
|
||||
// everything you need is in the top-level
|
||||
use servicepoint::*;
|
||||
|
||||
fn main() {
|
||||
// establish connection
|
||||
let connection = servicepoint::Connection::open("172.23.42.29:2342")
|
||||
let connection = Connection::open("172.23.42.29:2342")
|
||||
.expect("connection failed");
|
||||
|
||||
// clear screen content
|
||||
connection.send(servicepoint::Command::Clear)
|
||||
connection.send(Command::Clear)
|
||||
.expect("send failed");
|
||||
}
|
||||
```
|
||||
|
|
@ -34,7 +41,9 @@ Execute `cargo run --example` for a list of available examples and `cargo run --
|
|||
```bash
|
||||
cargo add servicepoint
|
||||
```
|
||||
|
||||
or
|
||||
|
||||
```toml
|
||||
[dependencies]
|
||||
servicepoint = "0.13.1"
|
||||
|
|
@ -43,41 +52,42 @@ servicepoint = "0.13.1"
|
|||
## Note on stability
|
||||
|
||||
This library can be used for creative project or just to play around with the display.
|
||||
A decent coverage by unit tests prevents major problems and I also test this with my own projects, which mostly use up-to-date versions.
|
||||
A decent coverage by unit tests prevents major problems and I also test this with my own projects, which mostly use
|
||||
up-to-date versions.
|
||||
|
||||
That being said, the API is still being worked on.
|
||||
Expect minor breaking changes with every version bump.
|
||||
Please specify the full version including patch in your Cargo.toml until 1.0 is released.
|
||||
Expect breaking changes with every minor version bump.
|
||||
There should be no breaking changes in patch releases, but there may also be features hiding in those.
|
||||
|
||||
All of this means for you: 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<Brightness> for Standard |
|
||||
| cp437 | true | Conversion to and from CP-437 |
|
||||
| Name | Default | Description | Dependencies |
|
||||
|--------------------|---------|----------------------------------------------|-----------------------------------------------------|
|
||||
| protocol_udp | true | `Connection::Udp` | |
|
||||
| cp437 | true | Conversion to and from CP-437 | [once_cell](https://crates.io/crates/once_cell) |
|
||||
| compression_lzma | true | Enable additional compression algo | [rust-lzma](https://crates.io/crates/rust-lzma) |
|
||||
| compression_zlib | false | Enable additional compression algo | [flate2](https://crates.io/crates/flate2) |
|
||||
| compression_bzip2 | false | Enable additional compression algo | [bzip2](https://crates.io/crates/bzip2) |
|
||||
| compression_zstd | false | Enable additional compression algo | [zstd](https://crates.io/crates/zstd) |
|
||||
| protocol_websocket | false | `Connection::WebSocket` | [tungstenite](https://crates.io/crates/tungstenite) |
|
||||
| rand | false | `impl Distribution<Brightness> for Standard` | [rand](https://crates.io/crates/rand) |
|
||||
|
||||
## Supported language bindings
|
||||
|
||||
| Language | Support level | Repo |
|
||||
|-----------|---------------|---------------------------------------------------------------------------------------------------|
|
||||
| .NET (C#) | Full | [servicepoint-binding-csharp](https://git.berlin.ccc.de/servicepoint/servicepoint-binding-csharp) |
|
||||
| C | Full | [servicepoint-binding-c](https://git.berlin.ccc.de/servicepoint/servicepoint-binding-c) |
|
||||
| Ruby | Working | [servicepoint-binding-ruby](https://git.berlin.ccc.de/servicepoint/servicepoint-binding-ruby) |
|
||||
|
||||
Other languages should work as well using [servicepoint-binding-uniffi](https://git.berlin.ccc.de/servicepoint/servicepoint-binding-uniffi):
|
||||
- Python (tested once)
|
||||
- Go
|
||||
- Kotlin
|
||||
- Swift
|
||||
| Language | Support level | Repo |
|
||||
|-----------|---------------|--------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| .NET (C#) | Full | [servicepoint-binding-csharp](https://git.berlin.ccc.de/servicepoint/servicepoint-binding-csharp) contains bindings and a `.csproj` to reference |
|
||||
| C | Full | [servicepoint-binding-c](https://git.berlin.ccc.de/servicepoint/servicepoint-binding-c) contains a header and a library to link against |
|
||||
| Ruby | Working | [servicepoint-binding-ruby](https://git.berlin.ccc.de/servicepoint/servicepoint-binding-ruby) contains bindings |
|
||||
| Python | Unsupported | bindings can be generated from [servicepoint-binding-uniffi](https://git.berlin.ccc.de/servicepoint/servicepoint-binding-uniffi), tested once |
|
||||
| Go | Unsupported | bindings can be generated from [servicepoint-binding-uniffi](https://git.berlin.ccc.de/servicepoint/servicepoint-binding-uniffi) |
|
||||
| Kotlin | Unsupported | bindings can be generated from [servicepoint-binding-uniffi](https://git.berlin.ccc.de/servicepoint/servicepoint-binding-uniffi) |
|
||||
| Swift | Unsupported | bindings can be generated from [servicepoint-binding-uniffi](https://git.berlin.ccc.de/servicepoint/servicepoint-binding-uniffi) |
|
||||
|
||||
## Projects using the library
|
||||
|
||||
|
|
@ -91,7 +101,7 @@ Other languages should work as well using [servicepoint-binding-uniffi](https://
|
|||
- cellular automata slideshow (rust): [servicepoint-life](https://github.com/kaesaecracker/servicepoint-life)
|
||||
- partial typescript implementation inspired by this library and browser
|
||||
stream: [cccb-servicepoint-browser](https://github.com/SamuelScheit/cccb-servicepoint-browser)
|
||||
- a CLI: [servicepoint-cli](https://git.berlin.ccc.de/servicepoint/servicepoint-cli)
|
||||
- a CLI, can also share your screen: [servicepoint-cli](https://git.berlin.ccc.de/servicepoint/servicepoint-cli)
|
||||
|
||||
To add yourself to the list, open a pull request.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue