roblib

a remote library for a dank engine.

this repo contains the new roblib server and client library written in rust, as well as bindings to said library for nodejs. the server has two versions: base, that only accepts gpio and (software) pwm commands, and roland, a specialized version for the dank engine.

client libraries in other languages:

server downloads

the cache may be old. to bypass it, open the lates commit and use the links in the comments

View all | | base | roland | | ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | | aarch64-unknown-linux-gnu | Download | Download | | aarch64-unknown-linux-musl | Download | Download | | armv7-unknown-linux-gnueabihf | Download | Download | | armv7-unknown-linux-musleabihf | Download | Download | | x8664-pc-windows-msvc | Download | Download | | x8664-unknown-linux-gnu | Download | Download | | x86_64-unknown-linux-musl | Download | Download |

server api

| Transport | Binary | Text | Port | Additional info | | --------- | ------ | ---- | ---- | --------------- | | TCP | Yes | No | 1110 | | | UDP | Yes | No | 1110 | | | WebSocket | Yes | Yes | 1111 | Endpoint: /ws | | HTTP POST | No | Yes | 1111 | Endpoint: /cmd |

Binary format

The binary format is using bincode.

Each transport implements its own wire format that aligns with its advantages.

It isnt't guaranteed to be stable, implementing it outside of here isn't recommended.

Text format

The text format is designed to be simpler.

It consists of an ID (u32), the command prefix, and any additional arguments for that command, separated by a space.

1 command arg1 arg2 ...

Available commands and their arguments

Built-in

These require no additional feature flags and are always available.

GPIO

These commands are designed to control generic gpio and (software) pwm devices.

Roland

The dank engine.

Camloc

Camera location service

Profiles

We currently have two profiles, for the two primary use-cases.