6 Commits

Author SHA1 Message Date
10ca1e19c7 Arduino: disable IMU BLE streaming when not in debug mode
IMU data (roll/pitch/yaw) is now only sent over BLE when debugMode != DEBUG_OFF,
as originally intended for production. Removes the TODO_TEST workaround.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 09:12:03 +01:00
d53dd36194 Fix crash shutdown + IMU BLE toujours actif pour tests
PS_Win_BLE : crash à la fermeture d'Unreal (assertion Index >= 0 dans
UObjectArray) car RemoveFromRoot() était appelé dans ShutdownModule()
alors que l'UObject array est déjà partiellement détruit. Fix : cleanup
du BLEManager déplacé dans un delegate FCoreDelegates::OnPreExit qui
s'exécute plus tôt, avant la destruction des UObjects.

uproject : désactivation explicite de WinBluetoothLE (les nœuds
Blueprint restaient dans le groupe Bluetooth Low Energy car le plugin
était chargé automatiquement depuis le dossier Plugins/).

Firmware : envoi IMU BLE découplé du debug mode pour pouvoir tester
la caractéristique 6E400002 à distance (TODO_TEST — remettre la
condition debugMode != DEBUG_OFF quand Pico Motion Tracker intégré).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 19:23:13 +01:00
f526898b1f Firmware : IMU BLE désactivé en mode production (debug OFF)
L'envoi Roll/Pitch/Yaw sur imuChar est maintenant conditionné à
debugMode != OFF → charge BLE réduite pour Unreal en production.
Le calibration tool Python (debug FULL) continue de recevoir l'IMU.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 13:45:26 +01:00
35e22846dd Renommer xiao_airsoft_pro → PS_BLE_ShotDetection
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 12:23:20 +01:00
6e1241f6bb Firmware v3.3 + calibration tool v3 : debug BLE, timeline tirs, minSensors
Firmware (xiao_airsoft_pro.ino) :
- Persistance config en flash (InternalFileSystem / LittleFS)
- Mode debug activable via BLE : octet fixe offset 28 du payload config
- minSensors par défaut : 2 → 3 (exige les 3 capteurs simultanément)
- Toutes les fenêtres trigger à 60ms (> DEBUG_RATE 50ms)

Calibration tool (xiao_calibration_tool.py) :
- Scan BLE par nom automatique (30s), connexion directe si adresse fournie
- Config + debug FULL envoyés automatiquement à la connexion
- NUM0 : cycle debug OFF/RAW/TRIGGERS/FULL
- NUM6/4 : ajustement minSensors 1-3 en temps réel
- 4ème graphique : timeline des tirs détectés (barres oranges)
- Layout 4 sous-graphiques avec height_ratios=[3,3,3,1]

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 12:18:02 +01:00
d30569e6a1 Add arduino and python code 2026-02-18 09:20:51 +01:00