Skip to content

🚛Ets2 | ATS telemetry kotlin library, reading data from scs-sdk-plugin

License

Notifications You must be signed in to change notification settings

figonzal1/TruckSim-Telemetry-Kotlin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TruckSim-Telemetry-Kotlin

CodeFactor GitHub repo size GitHub

TruckSim-Telemetry-Kotlin is a library built in kotlin using flows and coroutines that takes telemetry data for Euro Truck Simulator 2 and American Truck Simulator provided by the scs-sdk-plugin and outputs parsed data and events.

This Kotlin module is based on and inspired by the Js library TruckSim-Telemetry by kniffen

Documentation

See in https://figonzal1.github.io/TruckSim-Telemetry-Kotlin/

Getting started

Prerequisites

Download and install the ó € ó € ó € ó € scs-sdk-plugin by RenCloud

Supported plugin versions

✅ v1.12.0

Install the ó € ó € ó € ó € windows-build-tools

Installing

  • Add it in your root build.gradle at the end of repositories:
allprojects {
    repositories {
        maven { url 'https://jitpack.io' }
    }
}
  • Add the dependency
dependencies {
    implementation 'com.github.figonzal1:TruckSim-Telemetry-Kotlin:tag'
}

How to use it

Example from Main.kt

  • Instantiate ScsTelemetry class
coroutineScope {
    val telemetry = ScsTelemetry()
}
  • Start observing changes (inside of coroutineScope)
//Listen changes every delayTime. Default: 1000ms
...
launch {
    telemetry.watch(delayTime = 2000L)
}
... 
  • Consume data flow (inside of coroutineScope)
...
launch {
    //Collect only one value
    telemetry.telemetryFlow.first {
        println("Telemetry data: $it")
        true
    }

    //Collect infinite values
    telemetry.telemetryFlow.collect {
        println("Telemetry data: $it")
    }
}
...

Telemetry flow return TelemetryData data class

License

This project is licensed under the MIT License - see the LICENSE file for details