Teknik
Från antenn till sändning, deterministiskt.
En inblick i pipelinen för tekniska utvärderare: hur en positionsfix blir en liveklassering, en mellantid och en repris — på under en sekund.
01 · Inmatning
Ett helt fält, parallellt
Varje häst bär en RTK GNSS-mottagare som strömmar 100 positionsfixar per sekund. Telemetrin anländer över 20+ parallella UDP-kanaler — hela fältet tas emot samtidigt, utan konkurrens mellan hästarna.
Backenden är skriven i Rust: minnessäker, förutsägbar latens, inga GC-pauser under last. Trafiktoppar hanteras med mottryck och kontrollerad degradering — ett tappat paket försämrar mjukheten, aldrig korrektheten.
NMEA-fusion · per fix
- GGA position + fixkvalitet (RTK 4/5)
- VTG hastighet + kurs över mark
- GST noggrannhetsestimat per fix
- → sammanförda till en sammanhängande datapunkt, med RTK-precision på centimeternivå
02 · Loppmotor
Systemet känner loppets status
Startlinjetrigger, liveklassering, måldetektering — utan mänsklig inblandning. Linjepassager beräknas med PostGIS-geometri för exakta tidsstämplar vid start, mål och varje mellanliggande tidslinje. Flervarvsberäkningen förblir korrekt även när mållinjen inte är startlinjen.
- scheduled
- warmup
- active
- finished
- official
Mellantider & sektioner
Passagetider per häst vid varje tidslinje, live — sektioner medan loppet pågår, inte efteråt.
Liveklassering
Positioner, avstånd i tid och meter, momentana och genomsnittliga hastigheter — kontinuerligt omräknade för hela fältet.
Förhållanden i flödet
Liveodds och väderförhållanden integreras direkt i loppflödet.
03 · Lagring & granskning
Varje fix lagrad. Varje lopp granskningsbart.
All telemetri lagras i PostgreSQL + PostGIS. Vilket lopp som helst kan spelas upp fix för fix, och varje klassering eller mellantid kan spåras tillbaka till de råa positioner som skapade den.
Repriser laddas genom ett kompakt spårdata-API — sampling på serversidan gör dem 10–20× snabbare att ladda, med mjuk interpolering på klientsidan.
04 · API-yta
Rena REST- + WebSocket-API:er
Livedata strömmar över WebSocket med prenumerationer per enhet och per lopp, till obegränsat antal samtidiga tittare. Historik, repriser och analyser serveras över REST. Hela systemet driftsätts som en enda binär — backend och frontend i en artefakt.
Prata integration →