DOCS/Kompendium Wiedzy
|

Rozdział 10: Diagnostyka, Troubleshooting i Gotchas

Rozdział 10: Diagnozowanie Problemów, Logi Systemowe i Baza Wiedzy (Gotchas 1-12)

Niniejszy rozdział zbiera sprawdzone procedury diagnostyczne oraz 12 kluczowych pułapek architektonicznych (Gotchas) zidentyfikowanych w rozwoju systemu RCSIM.


📋 1. Kompletna Tabela Pułapek Architektonicznych (RCSIM Gotchas 1-12)

# Obszar Wykryty Problem Wdrożona Poprawka Architektoniczna
1 PySide6 & QPainter Brak parowania wywołań w rysowaniu OSD zawiesza GUI. Każdy painter.save() musi być ujęty w blok try...finally z painter.restore().
2 WebRTC / UDP MTU Pakiety >1100B fragmentują i zrywają transmisję. Obowiązkowy moduł chunking.py z kontrolerem __c: 1.
3 Qt Thread Affinity Modyfikacja widgetów z pod-wątków powoduje wycieki pamięci. Aktualizacja wyłącznie przez sygnały Qt (Signal.emit()).
4 NaN Guard Telemetria Wartość NaN w telemetrii wywołuje crash GUI przy rzutowaniu int. Obowiązkowa walidacja math.isfinite() przed przetwarzaniem danych.
5 AI Hailo-8 NPU Niezgodność wymiarów macierzy rzuca wyjątek NPU. Wymuszenie cv2.resize() oraz np.expand_dims(frame, axis=0).
6 BreezySLAM C-Locks Równoległy odczyt silnika C powoduje Segmentation Fault. Obowiązkowy threading.Lock() (SLAM Mutex) w pętli skanowania.
7 Tryb RCSIM-MCS Wymóg bezkomputerowej pracy w terenie. Headless RPi 5 + RP2350, własny AP Wi-Fi i sterowanie z WebUI.
8 Thrustmaster Pedals Tryb Combined nakłada hamulec i gaz na oś skrętu Linux. Wymuszony tryb Separate Mode w firmware kierownicy.
9 OpenCV DSHOW USB Domyślne YUY2 na Windows obniża płynność do 9.4 FPS. Przekazanie parametrów MJPG 60FPS bezpośrednio w konstruktorze VideoCapture.
10 WebRTC FPV Watchdog Zbyt krótki timeout (3s) zrywa wideo przy braku enkodera. Karencja co najmniej 15s od statusu connected przed resetem streamu.
11 Tailscale / MediaMTX Brak serwera STUN w VPN zrywa pakiety wideo. Wpisanie webrtcICEServers: [stun:stun.l.google.com:19302].
12 RP2350 USB CDC Reset DTR przy otwarciu portu oraz przepełnienie bufora IN. Ustawienie dtr=True, rts=True, delay 300ms oraz czyszczenie bufora.

Zrzut Diagnozy