Repository navigation
Documentation
Alessandro Felicetti edited this page Apr 8, 2023
·
16 revisions
Please note that bridge.run() has to be called really fast, please do not use big delay() inside your loop.
#include <TSBridge.h>
TSBridge bridge;
void setup() {
bridge.begin();
}
void loop(){
bridge.run();
}
Useful when using other serial ports or adapters. Always use 115200 baud rate.
#include <TSBridge.h>
TSBridge bridge;
void setup() {
Serial.begin(115200);
bridge.begin(&Serial);
}
void loop(){
bridge.run();
}
#include <TSBridge.h>
TSBridge bridge;
float speed;
void setup() {
Serial.begin();
}
void loop(){
bridge.run();
speed = bridge.kph;
}
Warning! Due to the way the library has been built, all available controls will be sent to the game. Therefore it is necessary at least to initialize even those that are not used, otherwise they will have a value of 0. For example, pantograph needs to be set 1, otherwise train won't move.
#include <TSBridge.h>
TSBridge bridge;
int reverserBW = 4;
int reverserFW = 5;
int io_throttle = A1;
int io_brake = A0;
void setup() {
Serial.begin();
pinMode(reverserFW, INPUT_PULLUP);
pinMode(reverserBW, INPUT_PULLUP);
}
void loop(){
bridge.run();
// Throttle and brake
int temp = analogRead(io_throttle);
bridge.setThrottle((float)map(temp, 0, 1024, 0, 1000));
temp = analogRead(io_brake);
bridge.setBrakes((float)map(temp, 0, 1024, 0, 1000));
// Reverser
if (digitalRead(reverserFW) == LOW) {
bridge.setReverser(1.0);
}
if (digitalRead(reverserBW) == LOW) {
bridge.setReverser(-1.0);
}
if ((digitalRead(reverserFW) == HIGH) && (digitalRead(reverserBW) == HIGH)) {
bridge.setReverser(0.0);
}
}
| Name | Return | Notes |
|---|---|---|
| kph | float | Train speed in KPH or MPH |
| ammeter | float | Train current consumption |
| vigilAlarm | float | Vigi alarm |
| AWS | float | AWS alarm |
| PZB40 | float | PZB 40 |
| PZB55 | float | PZB 55 |
| PZB70 | float | PZB 70 |
| PZB85 | float | PZB 85 |
| PZB500 | float | PZB 500 |
| PZB1000 | float | PZB 1000 |
| PZBWarn | float | PZB Warning |
| Name | Value | Notes |
|---|---|---|
| setThrottle | float | Control the train throttle 0-1000 |
| setBrakes | float | Control the train brake 0-1000 |
| setReverser | float | Control the train reverser -1/0/1 |
| setHorn | int | Activate or deactivate horn |
| setSander | int | Activate or deactivate sander |
| setPantograph | int | Activate or deactivate pantographs |
| setStartup | int | Activate or deactivate startup |
| setLights | int | Activate or deactivate lights |
| setVigilReset | int | Reset vigil alarms |
| setAwsReset | int | Reset AWS alarms |
| setCMD40 | int | PZB cmd40 |
| setCMDFree | int | PZB cmdFree |
| setCMDW | int | PZB Cmd_Wachsam |
| setEmergency | int | Activate or deactivate emergency brakes |