Conversation
Co-authored-by: Huanrui Cao <kaminodice@outlook.com>
Co-authored-by: Huanrui Cao <kaminodice@outlook.com>
- Added configurable retry attempts and delays for WiFi connection. - Implemented functions for automatic and manual WiFi reconnection. - Enhanced mDNS setup to ensure service availability upon WiFi connection. - Updated serial command handling to include WiFi status and manual retry options. - Refactored network setup functions for improved clarity and functionality.
…n features - Added gaze limit parameters for X and Y axes to control eye movement range. - Implemented pupil auto-spin functionality for dynamic pupil movement based on eye state. - Updated eye state structure and related functions to accommodate new features. - Enhanced OSC message routing for gaze limits and pupil auto-spin control. - Improved UI elements for setting gaze limits and toggling pupil auto-spin.
- Introduced a camera mirror toggle in the UI to preview mirrored video feed. - Added an option to invert X tracking for enhanced user control over face tracking. - Updated the CoordinatePublisher to support invert_x configuration. - Enhanced API tracking configuration to include invert_x parameter. - Improved UI elements for emotion model selection and tracking state display.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
- Added functionality to clear OSC history via a new API endpoint and corresponding UI button. - Implemented history capacity tracking and limit settings for OSC messages. - Enhanced OSC sender to include additional metadata (reason and source) in history logs. - Updated UI to allow users to set history limits and enable auto-refresh for the OSC log. - Improved tests to cover new history management features and ensure proper functionality.
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
| servo1.write(pos); | ||
| int pupilX = map(pos, 0, 180, 110, 130); | ||
| drawPupil(pupilX); | ||
| delay(2); |
There was a problem hiding this comment.
Servo sweep loops are asymmetric and comments wrong
Medium Severity
The first sweep comment says "sweep 0 → 180" but the loop only iterates to 120. The second sweep comment says "sweep 180 → 0" but starts at 100. This causes a hard jump from servo position 120 to 100 between sweeps. Additionally, map(pos, 0, 180, 110, 130) uses an input range of 0–180, but pos only reaches 120 max, so pupilX never reaches 130 — the pupil eye animation won't use its full travel range.
| 3: { pan: 90, tilt: 90 }, | ||
| 4: { pan: 90, tilt: 90 }, | ||
| }; | ||
| let faceAngleLimits = { pan_min: 20, pan_max: 160, tilt_min: 20, tilt_max: 160 }; |
There was a problem hiding this comment.
Tilt limit defaults mismatch between firmware and panel
Medium Severity
The JS panel defaults faceAngleLimits to tilt_min: 20, tilt_max: 160, but the firmware uses TILT_MIN_DEFAULT = 50 and TILT_MAX_DEFAULT = 180. When a user clicks "Apply Limits to Node" without editing values, the panel sends 20/160 to a node initialized at 50/180, causing an unexpected range change. The PR description states the intended default is 20..160, suggesting the firmware tilt constants are wrong.


Summary
esp32_firmware_refactored/face_trackingcontrol core to reduce servo twitch and improve reliability:wifi retry <n>)20..160/track/mode,/track/limits, and updated diagnostics/api/control/mode) forface_trackingvsemotion_manual1..4and concurrent group controlVerification
python3 -m compileall python_hostnode -e "...new Function(script)..."inline JS syntax check forpython_host/ui/templates/index.htmlNotes
pytestis not available in this environment (No module named pytest), so automated test suite execution was not run.