Skip to content

TechnoTalksDev/pros-telemetry

Repository files navigation

pros-telemetry

Innovate Award @ Washington State Regionals VEX Champtionship 2025

Think Award @ Washington State Regionals VEX Champtionship 2026

Lightweight telemetry ingestion for PROS robots. This service reads JSON telemetry from the PROS terminal, parses it in real time, and stores it in SQLite for local analysis and debugging.

How it works

  1. parser.py starts pros t and streams each terminal line.
  2. Each line is parsed as JSON telemetry (parse_output).
  3. main.py writes known fields to the telemetry table.
  4. Particle filter points are written to the particles table.
  5. Unknown fields are preserved in telemetry.other as JSON.
  6. Old particle rows are culled (older than 60 seconds) to keep writes/query performance stable.

Schema details and example queries are documented in DATABASE_SCHEMA.md.

Basic setup

Prerequisites

  • Python 3.10+
  • PROS CLI installed and available on PATH (pros command works)
  • A PROS project/device that emits JSON telemetry through pros t

Install dependencies

Using Poetry:

poetry install

Or using pip:

pip install websockets python-dotenv

Run

Using Poetry:

poetry run python main.py

Or directly:

python main.py

This creates/updates telemetry.db in the project root.

Notes

  • Press Ctrl+C to stop the service.
  • In terminal mode, type u then Enter to trigger pros mu upload and restart telemetry streaming.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages