Add multi-decoder split and pit timing support

This commit is contained in:
larssand
2026-08-25 19:45:40 +02:00
parent 6f02e955a5
commit 8ea8b3a84e
20 changed files with 876 additions and 147 deletions

View File

@@ -39,7 +39,7 @@ Set-ExecutionPolicy -Scope Process Bypass
.\windows\setup.ps1
```
Install, add inbound firewall rules for ports `8081` and `9000`, and start the server:
Install, add inbound firewall rules for `8081` and decoder channels `9000-9003`, and start the server:
```powershell
Start-Process powershell -Verb RunAs -ArgumentList '-ExecutionPolicy Bypass -File .\windows\setup.ps1 -OpenFirewall -StartServer'
@@ -116,16 +116,20 @@ The recommended normal operation is to let the backend manage AMMC:
1. Start RaceController with `npm.cmd start`.
2. Open `Settings`.
3. Enable `Managed AMMC`.
4. Set the decoder IP and WebSocket port `9000`.
5. Save and click `Start AMMC`.
6. Use the server WebSocket URL and connect the decoder.
4. Set the Main decoder IP and WebSocket port `9000`.
5. Optionally enable Split (`9001`) and Pit entry/exit (`9002`/`9003`) with the IP address of each physical decoder.
6. Save and click `Start AMMC`.
7. Use the server WebSocket URLs and connect the decoders.
AMMC always runs on the computer that runs `npm.cmd start`. Opening the UI from a laptop does not start AMMC on that laptop.
## Network access
- Admin/UI/backend: TCP `8081`
- AMMC WebSocket: TCP `9000`
- Main AMMC WebSocket: TCP `9000`
- Optional Split/Pit AMMC WebSockets: TCP `9001-9003`
Each physical decoder has its own IP. Each AMMC process on the Windows backend has its own WebSocket port. Main is the only channel that counts laps; Split records intermediate times, while Pit entry and Pit exit open and close a timed pit stop.
Find the Windows server address with: