3 releases
0.1.2 | Sep 19, 2022 |
---|---|
0.1.1 | Sep 17, 2022 |
0.1.0 | Sep 4, 2022 |
#1210 in Parser implementations
22 downloads per month
170KB
3.5K
SLoC
LocoDrive
A rust library for controlling a model train railroad system.
Features
Feature | Description | Status |
---|---|---|
Sending control | Control of sending messages to the model railroad | DONE |
Receiving control | Possibility to handle received messages | DONE |
Configuration of the connection | Control over the configuration settings of the model railroad connection like BaudRate or FlowControl | DONE |
Importing the LocoDrive
As rust is able to use GitHub repositories directly as dependencies you can simply add
locodrive = "0.1.1"
to your Cargo.toml
Features
control
: The control feature allows you to access theLocoDriveController
. This struct allows you to read and write messages to a specified serial port on your device. Therefore, the async runtimetokio
, with the extrastokio-serial
andtokio-util
as well as thebytes
module are needed. Please read the documentation for more information about how to use the LocoDriveController.
Using the LocoDrive
The LocoDrive has the struct loco_controller::LocoDriveController
made for connecting to a model railroad over a serial port.
This reader will care of parsing received messages correctly before sending them to you.
Documentation
The documentation is published here
Committing to the LocoDrive
Setting up the project
To set up the project yourself please make sure to have rust installed.
Commitment rules
To commit to this repository please consider the Contributing rules.
Please note: Always add me to your pull request to test your changes with an active model railroad connection or add some test logs to your commitment.
Used Dependencies
Rust
Dependency | License |
---|---|
tokio-serial | MIT |
tokio-util | MIT |
bytes | MIT |
tokio | MIT |
Protocol information
For getting the needed information about the used protocol I mostly used the rocrail wiki. Thanks for the detailed information.
Dependencies
~0–9.5MB
~78K SLoC