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.

  1. scheduled
  2. warmup
  3. active
  4. finished
  5. 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 →