legal: add AGPL-3.0 license, copyright headers, commercial license info
- LICENSE: GNU AGPL-3.0 (full text) - Copyright headers added to all 15 source files in src/ - COMMERCIAL_LICENSE.md: dual-license explanation (AGPL + commercial)
This commit is contained in:
parent
f576a45d8f
commit
9a4ca18864
17 changed files with 919 additions and 0 deletions
|
|
@ -1,3 +1,18 @@
|
|||
// rusty-telemetry — Sim racing telemetry analysis platform
|
||||
// Copyright (C) 2026 Jan-Peter v. Hunnius
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
//! Telemetry analysis algorithms for sim racing data.
|
||||
//!
|
||||
//! Provides shift point analysis, track map reconstruction, and a dispatch
|
||||
|
|
|
|||
15
src/api.rs
15
src/api.rs
|
|
@ -1,3 +1,18 @@
|
|||
// rusty-telemetry — Sim racing telemetry analysis platform
|
||||
// Copyright (C) 2026 Jan-Peter v. Hunnius
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
//! REST API server for recording management and live telemetry access.
|
||||
//!
|
||||
//! Runs as a parallel tokio task alongside the UDP listeners.
|
||||
|
|
|
|||
|
|
@ -1,3 +1,18 @@
|
|||
// rusty-telemetry — Sim racing telemetry analysis platform
|
||||
// Copyright (C) 2026 Jan-Peter v. Hunnius
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
//! Shared binary reading helpers for UDP packet parsers.
|
||||
//!
|
||||
//! All helpers use `get()` for safe bounds checking — they return a zero/empty
|
||||
|
|
|
|||
|
|
@ -1,3 +1,18 @@
|
|||
// rusty-telemetry — Sim racing telemetry analysis platform
|
||||
// Copyright (C) 2026 Jan-Peter v. Hunnius
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
//! Car & track characteristics database — server-side aggregation across
|
||||
//! persisted sessions.
|
||||
//!
|
||||
|
|
|
|||
|
|
@ -1,3 +1,18 @@
|
|||
// rusty-telemetry — Sim racing telemetry analysis platform
|
||||
// Copyright (C) 2026 Jan-Peter v. Hunnius
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
use crate::telemetry_frame::TelemetryFrame;
|
||||
use std::time::Instant;
|
||||
|
||||
|
|
|
|||
15
src/main.rs
15
src/main.rs
|
|
@ -1,3 +1,18 @@
|
|||
// rusty-telemetry — Sim racing telemetry analysis platform
|
||||
// Copyright (C) 2026 Jan-Peter v. Hunnius
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
mod api;
|
||||
mod binary_utils;
|
||||
mod feed_state;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,18 @@
|
|||
// rusty-telemetry — Sim racing telemetry analysis platform
|
||||
// Copyright (C) 2026 Jan-Peter v. Hunnius
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
//! Binary parser for KSUDP RTCarInfo packets (Assetto Corsa port 9996).
|
||||
//!
|
||||
//! After the 3-phase handshake, AC sends continuous RTCarInfo structs at ~20 Hz.
|
||||
|
|
|
|||
|
|
@ -1,3 +1,18 @@
|
|||
// rusty-telemetry — Sim racing telemetry analysis platform
|
||||
// Copyright (C) 2026 Jan-Peter v. Hunnius
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
//! Binary parser for Project CARS 1 & 2 UDP telemetry packets (port 5606).
|
||||
//!
|
||||
//! Both PCARS1 and PCARS2 broadcast on port 5606. The parser auto-detects the
|
||||
|
|
|
|||
|
|
@ -1,3 +1,18 @@
|
|||
// rusty-telemetry — Sim racing telemetry analysis platform
|
||||
// Copyright (C) 2026 Jan-Peter v. Hunnius
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
//! Binary parser for Telemetry Tool plugin packets (port 10101).
|
||||
//!
|
||||
//! The Telemetry Tool is a third-party AC Python plugin by IkoRein v1.3.
|
||||
|
|
|
|||
|
|
@ -1,3 +1,18 @@
|
|||
// rusty-telemetry — Sim racing telemetry analysis platform
|
||||
// Copyright (C) 2026 Jan-Peter v. Hunnius
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
//! Recording session management with always-on ring buffers.
|
||||
//!
|
||||
//! Each feed has a rolling ring buffer holding the last 5 minutes of telemetry frames.
|
||||
|
|
|
|||
|
|
@ -1,3 +1,18 @@
|
|||
// rusty-telemetry — Sim racing telemetry analysis platform
|
||||
// Copyright (C) 2026 Jan-Peter v. Hunnius
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
//! Use-case driven session management for telemetry analysis.
|
||||
//!
|
||||
//! Users create sessions tied to specific analysis goals (shift point analysis,
|
||||
|
|
|
|||
|
|
@ -1,3 +1,18 @@
|
|||
// rusty-telemetry — Sim racing telemetry analysis platform
|
||||
// Copyright (C) 2026 Jan-Peter v. Hunnius
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
//! Generic telemetry frame model — unified representation of parsed sim racing data.
|
||||
//!
|
||||
//! Both the KSUDP (port 9996) and Telemetry Tool (port 10101) parsers produce
|
||||
|
|
|
|||
|
|
@ -1,3 +1,18 @@
|
|||
// rusty-telemetry — Sim racing telemetry analysis platform
|
||||
// Copyright (C) 2026 Jan-Peter v. Hunnius
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
//! Persistent track model data structure for track mapping and analysis.
|
||||
//!
|
||||
//! Stores the track geometry (center line, boundaries, corners, sectors)
|
||||
|
|
|
|||
15
src/ui.rs
15
src/ui.rs
|
|
@ -1,3 +1,18 @@
|
|||
// rusty-telemetry — Sim racing telemetry analysis platform
|
||||
// Copyright (C) 2026 Jan-Peter v. Hunnius
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
use std::sync::{Arc, Mutex};
|
||||
|
||||
use ratatui::{
|
||||
|
|
|
|||
|
|
@ -1,3 +1,18 @@
|
|||
// rusty-telemetry — Sim racing telemetry analysis platform
|
||||
// Copyright (C) 2026 Jan-Peter v. Hunnius
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
use std::collections::VecDeque;
|
||||
use std::sync::{Arc, Mutex};
|
||||
use std::time::Instant;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue