Lire et agir
Lire un train
Une lecture ciblée de la vitesse, de la position et des caractéristiques du matériel.
Lire uniquement le train demandé
kotlin
fun afficherTrain(client: fr.nimby.sdk.NimbyClient, trainId: Long) {
val sample = client.readTrain(trainId) ?: return
val measuredSpeed = sample.speedMps
val dynamics = sample.currentDynamics
println(measuredSpeed?.let { "${it * 3.6} km/h" } ?: "Vitesse inconnue")
println(dynamics?.lengthM?.let { "$it m" } ?: "Longueur inconnue")
}Cette lecture ne capture pas toutes les tables du réseau et n’installe pas de hook. Elle peut retourner null si le train est absent ou les données instables. Un mauvais identifiant ou une erreur de connexion déclenche une exception.
Comprendre les valeurs
| Valeur | Contrat |
|---|---|
| speedMps | Vitesse en m/s, optionnelle. speedDefaulted distingue le zéro de présentation natif. |
| purchasedDynamics / currentDynamics | Deux observations indépendantes : ne pas remplacer l’une par l’autre. |
| TrainDynamics | Caractéristiques déclarées, pas performances mesurées ni masse chargée. |
| sessionGeneration | Génération locale à cette connexion ; réinitialiser vos mémoires lors d’un changement et d’une reconnexion. |
| elapsedBeginMillis / elapsedEndMillis | Intervalle simulé encadrant la lecture. |
| capturedAtMillis | Horodatage système, différent du temps du jeu. |