NovaGlide Joystick

This commit is contained in:
2026-01-05 09:41:13 -05:00
parent 9dc2adf537
commit 045edb41b2
2 changed files with 491 additions and 1 deletions

View File

@@ -3391,4 +3391,485 @@ entry 0x403cc71a
Motor 4 (R-Rev)  : 0  ║
╠════════════════════════════════════════════════════════════╣
Temperature  : 52.60 °C  ║
Battery Voltage  : 6.64 V
Battery Voltage  : 6.64 V  ║
Current  : -4.00 mA  ║
Power  : 40.00 mW  ║
╠════════════════════════════════════════════════════════════╣
Distance  : 0.10 cm  ║
╚════════════════════════════════════════════════════════════╝
╔════════════════════════════════════════════════════════════╗
ESP32-C3 ROBOT CONTROL DASHBOARD  ║
╠════════════════════════════════════════════════════════════╣
Joystick X  : 63700992  ║
Joystick Y  : 66912256  ║
╠════════════════════════════════════════════════════════════╣
PWM Left  : 0  ║
PWM Right  : 0  ║
╠════════════════════════════════════════════════════════════╣
Motor 1 (L-Fwd)  : 0  ║
Motor 2 (R-Fwd)  : 0  ║
Motor 3 (L-Rev)  : 0  ║
Motor 4 (R-Rev)  : 0  ║
╠════════════════════════════════════════════════════════════╣
Temperature  : 52.60 °C  ║
Battery Voltage  : 6.64 V  ║
Current  : -4.00 mA  ║
Power  : 40.00 mW  ║
╠════════════════════════════════════════════════════════════╣
Distance  : 0.10 cm  ║
╚════════════════════════════════════════════════════════════╝
╔════════════════════════════════════════════════════════════╗
ESP32-C3 ROBOT CONTROL DASHBOARD  ║
╠════════════════════════════════════════════════════════════╣
Joystick X  : 63700992  ║
Joystick Y  : 67108864  ║
╠════════════════════════════════════════════════════════════╣
PWM Left  : 0  ║
PWM Right  : 0  ║
╠════════════════════════════════════════════════════════════╣
Motor 1 (L-Fwd)  : 0  ║
Motor 2 (R-Fwd)  : 0  ║
Motor 3 (L-Rev)  : 0  ║
Motor 4 (R-Rev)  : 0  ║
╠════════════════════════════════════════════════════════════╣
Temperature  : 52.60 °C  ║
Battery Voltage  : 6.64 V  ║
Current  : -4.00 mA  ║
Power  : 40.00 mW  ║
╠════════════════════════════════════════════════════════════╣
Distance  : 0.10 cm  ║
╚════════════════════════════════════════════════════════════╝
╔════════════════════════════════════════════════════════════╗
ESP32-C3 ROBOT CONTROL DASHBOARD  ║
╠════════════════════════════════════════════════════════════╣
Joystick X  : 63569920  ║
Joystick Y  : 66912256  ║
╠════════════════════════════════════════════════════════════╣
PWM Left  : 0  ║
PWM Right  : 0  ║
╠════════════════════════════════════════════════════════════╣
Motor 1 (L-Fwd)  : 0  ║
Motor 2 (R-Fwd)  : 0  ║
Motor 3 (L-Rev)  : 0  ║
Motor 4 (R-Rev)  : 0  ║
╠════════════════════════════════════════════════════════════╣
Temperature  : 52.60 °C  ║
Battery Voltage  : 6.64 V  ║
Current  : -5.00 mA  ║
Power  : 40.00 mW  ║
╠════════════════════════════════════════════════════════════╣
Distance  : 0.10 cm  ║
╚════════════════════════════════════════════════════════════╝
╔════════════════════════════════════════════════════════════╗
ESP32-C3 ROBOT CONTROL DASHBOARD  ║
╠════════════════════════════════════════════════════════════╣
Joystick X  : 63700992  ║
Joystick Y  : 66912256  ║
╠════════════════════════════════════════════════════════════╣
PWM Left  : 0  ║
PWM Right  : 0  ║
╠════════════════════════════════════════════════════════════╣
Motor 1 (L-Fwd)  : 0  ║
Motor 2 (R-Fwd)  : 0  ║
Motor 3 (L-Rev)  : 0  ║
Motor 4 (R-Rev)  : 0  ║
╠════════════════════════════════════════════════════════════╣
Temperature  : 52.60 °C  ║
Battery Voltage  : 6.64 V  ║
Current  : -5.00 mA  ║
Power  : 40.00 mW  ║
╠════════════════════════════════════════════════════════════╣
Distance  : 0.10 cm  ║
╚════════════════════════════════════════════════════════════╝
╔════════════════════════════════════════════════════════════╗
ESP32-C3 ROBOT CONTROL DASHBOARD  ║
╠════════════════════════════════════════════════════════════╣
Joystick X  : 63635456  ║
Joystick Y  : 66977792  ║
╠════════════════════════════════════════════════════════════╣
PWM Left  : 0  ║
PWM Right  : 0  ║
╠════════════════════════════════════════════════════════════╣
Motor 1 (L-Fwd)  : 0  ║
Motor 2 (R-Fwd)  : 0  ║
Motor 3 (L-Rev)  : 0  ║
Motor 4 (R-Rev)  : 0  ║
╠════════════════════════════════════════════════════════════╣
Temperature  : 52.60 °C  ║
Battery Voltage  : 6.64 V  ║
Current  : -4.00 mA  ║
Power  : 40.00 mW  ║
╠════════════════════════════════════════════════════════════╣
Distance  : 0.10 cm  ║
╚════════════════════════════════════════════════════════════╝
╔════════════════════════════════════════════════════════════╗
ESP32-C3 ROBOT CONTROL DASHBOARD  ║
╠════════════════════════════════════════════════════════════╣
Joystick X  : 63700992  ║
Joystick Y  : 66977792  ║
╠════════════════════════════════════════════════════════════╣
PWM Left  : 0  ║
PWM Right  : 0  ║
╠════════════════════════════════════════════════════════════╣
Motor 1 (L-Fwd)  : 0  ║
Motor 2 (R-Fwd)  : 0  ║
Motor 3 (L-Rev)  : 0  ║
Motor 4 (R-Rev)  : 0  ║
╠════════════════════════════════════════════════════════════╣
Temperature  : 52.60 °C  ║
Battery Voltage  : 6.64 V  ║
Current  : -4.00 mA  ║
Power  : 40.00 mW  ║
╠════════════════════════════════════════════════════════════╣
Distance  : 0.10 cm  ║
╚════════════════════════════════════════════════════════════╝
╔════════════════════════════════════════════════════════════╗
ESP32-C3 ROBOT CONTROL DASHBOARD  ║
╠════════════════════════════════════════════════════════════╣
Joystick X  : 63766528  ║
Joystick Y  : 67043328  ║
╠════════════════════════════════════════════════════════════╣
PWM Left  : 0  ║
PWM Right  : 0  ║
╠════════════════════════════════════════════════════════════╣
Motor 1 (L-Fwd)  : 0  ║
Motor 2 (R-Fwd)  : 0  ║
Motor 3 (L-Rev)  : 0  ║
Motor 4 (R-Rev)  : 0  ║
╠════════════════════════════════════════════════════════════╣
Temperature  : 52.60 °C  ║
Battery Voltage  : 6.64 V  ║
Current  : -4.00 mA  ║
Power  : 40.00 mW  ║
╠════════════════════════════════════════════════════════════╣
Distance  : 0.10 cm  ║
╚════════════════════════════════════════════════════════════╝
╔════════════════════════════════════════════════════════════╗
ESP32-C3 ROBOT CONTROL DASHBOARD  ║
╠════════════════════════════════════════════════════════════╣
Joystick X  : 63700992  ║
Joystick Y  : 67567616  ║
╠════════════════════════════════════════════════════════════╣
PWM Left  : 0  ║
PWM Right  : 0  ║
╠════════════════════════════════════════════════════════════╣
Motor 1 (L-Fwd)  : 0  ║
Motor 2 (R-Fwd)  : 0  ║
Motor 3 (L-Rev)  : 0  ║
Motor 4 (R-Rev)  : 0  ║
╠════════════════════════════════════════════════════════════╣
Temperature  : 52.60 °C  ║
Battery Voltage  : 6.64 V  ║
Current  : -4.00 mA  ║
Power  : 40.00 mW  ║
╠════════════════════════════════════════════════════════════╣
Distance  : 0.10 cm  ║
╚════════════════════════════════════════════════════════════╝
╔════════════════════════════════════════════════════════════╗
ESP32-C3 ROBOT CONTROL DASHBOARD  ║
╠════════════════════════════════════════════════════════════╣
Joystick X  : 63635456  ║
Joystick Y  : 66977792  ║
╠════════════════════════════════════════════════════════════╣
PWM Left  : 0  ║
PWM Right  : 0  ║
╠════════════════════════════════════════════════════════════╣
Motor 1 (L-Fwd)  : 0  ║
Motor 2 (R-Fwd)  : 0  ║
Motor 3 (L-Rev)  : 0  ║
Motor 4 (R-Rev)  : 0  ║
╠════════════════════════════════════════════════════════════╣
Temperature  : 52.60 °C  ║
Battery Voltage  : 6.63 V  ║
Current  : -3.00 mA  ║
Power  : 40.00 mW  ║
╠════════════════════════════════════════════════════════════╣
Distance  : 0.10 cm  ║
╚════════════════════════════════════════════════════════════╝
╔════════════════════════════════════════════════════════════╗
ESP32-C3 ROBOT CONTROL DASHBOARD  ║
╠════════════════════════════════════════════════════════════╣
Joystick X  : 63635456  ║
Joystick Y  : 66977792  ║
╠════════════════════════════════════════════════════════════╣
PWM Left  : 0  ║
PWM Right  : 0  ║
╠════════════════════════════════════════════════════════════╣
Motor 1 (L-Fwd)  : 0  ║
Motor 2 (R-Fwd)  : 0  ║
Motor 3 (L-Rev)  : 0  ║
Motor 4 (R-Rev)  : 0  ║
╠════════════════════════════════════════════════════════════╣
Temperature  : 52.60 °C  ║
Battery Voltage  : 6.63 V  ║
Current  : -3.00 mA  ║
Power  : 40.00 mW  ║
╠════════════════════════════════════════════════════════════╣
Distance  : 0.10 cm  ║
╚════════════════════════════════════════════════════════════╝
╔════════════════════════════════════════════════════════════╗
ESP32-C3 ROBOT CONTROL DASHBOARD  ║
╠════════════════════════════════════════════════════════════╣
Joystick X  : 63635456  ║
Joystick Y  : 66912256  ║
╠════════════════════════════════════════════════════════════╣
PWM Left  : 0  ║
PWM Right  : 0  ║
╠════════════════════════════════════════════════════════════╣
Motor 1 (L-Fwd)  : 0  ║
Motor 2 (R-Fwd)  : 0  ║
Motor 3 (L-Rev)  : 0  ║
Motor 4 (R-Rev)  : 0  ║
╠════════════════════════════════════════════════════════════╣
Temperature  : 52.60 °C  ║
Battery Voltage  : 6.63 V  ║
Current  : -3.00 mA  ║
Power  : 40.00 mW  ║
╠════════════════════════════════════════════════════════════╣
Distance  : 0.10 cm  ║
╚════════════════════════════════════════════════════════════╝
╔════════════════════════════════════════════════════════════╗
ESP32-C3 ROBOT CONTROL DASHBOARD  ║
╠════════════════════════════════════════════════════════════╣
Joystick X  : 63700992  ║
Joystick Y  : 66912256  ║
╠════════════════════════════════════════════════════════════╣
PWM Left  : 0  ║
PWM Right  : 0  ║
╠════════════════════════════════════════════════════════════╣
Motor 1 (L-Fwd)  : 0  ║
Motor 2 (R-Fwd)  : 0  ║
Motor 3 (L-Rev)  : 0  ║
Motor 4 (R-Rev)  : 0  ║
╠════════════════════════════════════════════════════════════╣
Temperature  : 52.60 °C  ║
Battery Voltage  : 6.64 V  ║
Current  : -4.00 mA  ║
Power  : 40.00 mW  ║
╠════════════════════════════════════════════════════════════╣
Distance  : 0.10 cm  ║
╚════════════════════════════════════════════════════════════╝
╔════════════════════════════════════════════════════════════╗
ESP32-C3 ROBOT CONTROL DASHBOARD  ║
╠════════════════════════════════════════════════════════════╣
Joystick X  : 63700992  ║
Joystick Y  : 66846720  ║
╠════════════════════════════════════════════════════════════╣
PWM Left  : 0  ║
PWM Right  : 0  ║
╠════════════════════════════════════════════════════════════╣
Motor 1 (L-Fwd)  : 0  ║
Motor 2 (R-Fwd)  : 0  ║
Motor 3 (L-Rev)  : 0  ║
Motor 4 (R-Rev)  : 0  ║
╠════════════════════════════════════════════════════════════╣
Temperature  : 52.60 °C  ║
Battery Voltage  : 6.64 V  ║
Current  : -4.00 mA  ║
Power  : 40.00 mW  ║
╠════════════════════════════════════════════════════════════╣
Distance  : 0.10 cm  ║
╚════════════════════════════════════════════════════════════╝
╔════════════════════════════════════════════════════════════╗
ESP32-C3 ROBOT CONTROL DASHBOARD  ║
╠════════════════════════════════════════════════════════════╣
Joystick X  : 63635456  ║
Joystick Y  : 66912256  ║
╠════════════════════════════════════════════════════════════╣
PWM Left  : 0  ║
PWM Right  : 0  ║
╠════════════════════════════════════════════════════════════╣
Motor 1 (L-Fwd)  : 0  ║
Motor 2 (R-Fwd)  : 0  ║
Motor 3 (L-Rev)  : 0  ║
Motor 4 (R-Rev)  : 0  ║
╠════════════════════════════════════════════════════════════╣
Temperature  : 52.60 °C  ║
Battery Voltage  : 6.65 V  ║
Current  : -3.00 mA  ║
Power  : 40.00 mW  ║
╠════════════════════════════════════════════════════════════╣
Distance  : 0.10 cm  ║
╚════════════════════════════════════════════════════════════╝
╔════════════════════════════════════════════════════════════╗
ESP32-C3 ROBOT CONTROL DASHBOARD  ║
╠════════════════════════════════════════════════════════════╣
Joystick X  : 63635456  ║
Joystick Y  : 67633152  ║
╠════════════════════════════════════════════════════════════╣
PWM Left  : 0  ║
PWM Right  : 0  ║
╠════════════════════════════════════════════════════════════╣
Motor 1 (L-Fwd)  : 0  ║
Motor 2 (R-Fwd)  : 0  ║
Motor 3 (L-Rev)  : 0  ║
Motor 4 (R-Rev)  : 0  ║
╠════════════════════════════════════════════════════════════╣
Temperature  : 52.60 °C  ║
Battery Voltage  : 6.65 V  ║
Current  : -3.00 mA  ║
Power  : 40.00 mW  ║
╠════════════════════════════════════════════════════════════╣
Distance  : 0.10 cm  ║
╚════════════════════════════════════════════════════════════╝
╔════════════════════════════════════════════════════════════╗
ESP32-C3 ROBOT CONTROL DASHBOARD  ║
╠════════════════════════════════════════════════════════════╣
Joystick X  : 63635456  ║
Joystick Y  : 66977792  ║
╠════════════════════════════════════════════════════════════╣
PWM Left  : 0  ║
PWM Right  : 0  ║
╠════════════════════════════════════════════════════════════╣
Motor 1 (L-Fwd)  : 0  ║
Motor 2 (R-Fwd)  : 0  ║
Motor 3 (L-Rev)  : 0  ║
Motor 4 (R-Rev)  : 0  ║
╠════════════════════════════════════════════════════════════╣
Temperature  : 52.60 °C  ║
Battery Voltage  : 6.64 V  ║
Current  : -3.00 mA  ║
Power  : 40.00 mW  ║
╠════════════════════════════════════════════════════════════╣
Distance  : 0.10 cm  ║
╚════════════════════════════════════════════════════════════╝
╔════════════════════════════════════════════════════════════╗
ESP32-C3 ROBOT CONTROL DASHBOARD  ║
╠════════════════════════════════════════════════════════════╣
Joystick X  : 63700992  ║
Joystick Y  : 66912256  ║
╠════════════════════════════════════════════════════════════╣
PWM Left  : 0  ║
PWM Right  : 0  ║
╠════════════════════════════════════════════════════════════╣
Motor 1 (L-Fwd)  : 0  ║
Motor 2 (R-Fwd)  : 0  ║
Motor 3 (L-Rev)  : 0  ║
Motor 4 (R-Rev)  : 0  ║
╠════════════════════════════════════════════════════════════╣
Temperature  : 52.60 °C  ║
Battery Voltage  : 6.64 V  ║
Current  : -3.00 mA  ║
Power  : 40.00 mW  ║
╠════════════════════════════════════════════════════════════╣
Distance  : 0.10 cm  ║
╚════════════════════════════════════════════════════════════╝
╔════════════════════════════════════════════════════════════╗
ESP32-C3 ROBOT CONTROL DASHBOARD  ║
╠════════════════════════════════════════════════════════════╣
Joystick X  : 63700992  ║
Joystick Y  : 66977792  ║
╠════════════════════════════════════════════════════════════╣
PWM Left  : 0  ║
PWM Right  : 0  ║
╠════════════════════════════════════════════════════════════╣
Motor 1 (L-Fwd)  : 0  ║
Motor 2 (R-Fwd)  : 0  ║
Motor 3 (L-Rev)  : 0  ║
Motor 4 (R-Rev)  : 0  ║
╠════════════════════════════════════════════════════════════╣
Temperature  : 52.60 °C  ║
Battery Voltage  : 6.64 V  ║
Current  : -4.00 mA  ║
Power  : 40.00 mW  ║
╠════════════════════════════════════════════════════════════╣
Distance  : 0.10 cm  ║
╚════════════════════════════════════════════════════════════╝
╔════════════════════════════════════════════════════════════╗
ESP32-C3 ROBOT CONTROL DASHBOARD  ║
╠════════════════════════════════════════════════════════════╣
Joystick X  : 63700992  ║
Joystick Y  : 66912256  ║
╠════════════════════════════════════════════════════════════╣
PWM Left  : 0  ║
PWM Right  : 0  ║
╠════════════════════════════════════════════════════════════╣
Motor 1 (L-Fwd)  : 0  ║
Motor 2 (R-Fwd)  : 0  ║
Motor 3 (L-Rev)  : 0  ║
Motor 4 (R-Rev)  : 0  ║
╠════════════════════════════════════════════════════════════╣
Temperature  : 52.60 °C  ║
Battery Voltage  : 6.64 V  ║
Current  : -4.00 mA  ║
Power  : 40.00 mW  ║
╠════════════════════════════════════════════════════════════╣
Distance  : 0.10 cm  ║
╚════════════════════════════════════════════════════════════╝
╔════════════════════════════════════════════════════════════╗
ESP32-C3 ROBOT CONTROL DASHBOARD  ║
╠════════════════════════════════════════════════════════════╣
Joystick X  : 63569920  ║
Joystick Y  : 67043328  ║
╠════════════════════════════════════════════════════════════╣
PWM Left  : 0  ║
PWM Right  : 0  ║
╠════════════════════════════════════════════════════════════╣
Motor 1 (L-Fwd)  : 0  ║
Motor 2 (R-Fwd)  : 0  ║
Motor 3 (L-Rev)  : 0  ║
Motor 4 (R-Rev)  : 0  ║
╠════════════════════════════════════════════════════════════╣
Temperature  : 52.60 °C  ║
Battery Voltage  : 6.64 V  ║
Current  : -4.00 mA  ║
Power  : 40.00 mW  ║
╠════════════════════════════════════════════════════════════╣
Distance  : 0.10 cm  ║
╚════════════════════════════════════════════════════════════╝
╔════════════════════════════════════════════════════════════╗
ESP32-C3 ROBOT CONTROL DASHBOARD  ║
╠════════════════════════════════════════════════════════════╣
Joystick X  : 63700992  ║
Joystick Y  : 67043328  ║
╠════════════════════════════════════════════════════════════╣
PWM Left  : 0  ║
PWM Right  : 0  ║
╠════════════════════════════════════════════════════════════╣
Motor 1 (L-Fwd)  : 0  ║
Motor 2 (R-Fwd)  : 0  ║
Motor 3 (L-Rev)  : 0  ║
Motor 4 (R-Rev)  : 0  ║
╠════════════════════════════════════════════════════════════╣
Temperature  : 52.60 °C  ║
Battery Voltage  : 6.64 V  ║
Current  : -5.00 mA  ║
Power  : 40.00 mW  ║
╠════════════════════════════════════════════════════════════╣
Distance  : 0.10 cm  ║
╚════════════════════════════════════════════════════════════╝
╔════════════════════════════════════════════════════════════╗
ESP32-C3 ROBOT CONTROL DASHBOARD  ║
╠════════════════════════════════════════════════════════════╣
Joystick X  : 63700992  ║
Joystick Y  : 67567616  ║
╠════════════════════════════════════════════════════════════╣
PWM Left  : 0  ║
PWM Right  : 0  ║
╠════════════════════════════════════════════════════════════╣
Motor 1 (L-Fwd)  : 0  ║
Motor 2 (R-Fwd)  : 0  ║
Motor 3 (L-Rev)  : 0  ║
Motor 4 (R-Rev)  : 0  ║
╠════════════════════════════════════════════════════════════╣
Temperature  : 52.60 °C  ║
Battery Voltage  : 6.64 V  ║
Current  : -5.00 mA  ║
Power  : 40.00 mW  ║
╠════════════════════════════════════════════════════════════╣
Distance  : 0.10 cm  ║
╚════════════════════════════════════════════════════════════╝
╔════════════════════════════════════════════════════════════╗
ESP32-C3 ROBOT CONTROL DASHBOARD  ║
╠════════════════════════════════════════════════════════════╣
Joystick X  : 63700992  ║
Joystick Y  : 66977792  ║
╠════════════════════════════════════════════════════════════╣
PWM Left  : 0  ║
PWM Right  : 0  ║
╠════════════════════════════════════════════════════════════╣
Motor 1 (L-Fwd)  : 0  ║
Motor 2 (R-Fwd)  : 0  ║
Motor 3 (L-Rev)  : 0  ║
Motor 4 (R-Rev)  : 0  ║
╠═════════════════

View File

@@ -70,6 +70,15 @@ void joystick_mix(float x, float y, int *pwm_left, int *pwm_right)
float L0 = y + k * x_shaped;
float R0 = y - k * x_shaped;
float diff = fabsf(L0 - R0);
// Maximum allowed difference (75%)
float max_diff = 0.75f * 2.0f; // because L0 and R0 are in [-1,1]
if (diff > max_diff) {
float scale = max_diff / diff;
L0 *= scale;
R0 *= scale;
}
float m = fmaxf(1.0f, fmaxf(fabsf(L0), fabsf(R0)));
float L = L0 / m;
float R = R0 / m;