Add segmented_movement pattern with n4 parameter support
- Add n4 parameter to control server, LED bar receiver, and test script - Create segmented_movement pattern with alternating forward/backward movement - Pattern supports n1 (segment length), n2 (spacing), n3 (forward speed), n4 (backward speed) - Fix test script to send all messages instead of just the first one - Add segmented_movement to patterns_needing_params for proper parameter transmission - Pattern intelligently handles all cases: alternating, forward-only, backward-only, or static - Implements repeating segments with configurable spacing across LED strip
This commit is contained in:
45
esp32_debug_patch.md
Normal file
45
esp32_debug_patch.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# ESP32-C3 Debug Patch
|
||||
|
||||
## Issue Found
|
||||
The ESP32-C3 firmware sends status messages every 5 seconds when SPI transactions fail (line 208 in main.c), which could interfere with ESP NOW communication and cause pattern pauses.
|
||||
|
||||
## Debugging Steps
|
||||
|
||||
### 1. Monitor ESP32-C3 Status Messages
|
||||
The ESP32-C3 sends status messages every 5 seconds, which may interrupt ESP NOW communication.
|
||||
|
||||
### 2. Check SPI Communication
|
||||
Pattern stops could be caused by:
|
||||
- SPI transaction failures causing 5-second delays
|
||||
- ESP NOW interference with SPI operations
|
||||
- Memory/buffer issues during concurrent operations
|
||||
|
||||
### 3. Monitor ESP NOW Traffic
|
||||
Use the debug scripts to monitor:
|
||||
- ESP NOW message transmission timing
|
||||
- Message gaps between transmissions
|
||||
- ESP32-C3 vs LED bar timing differences
|
||||
|
||||
### 4. Potential Fixes
|
||||
|
||||
#### Immediate fixes:
|
||||
1. **Reduce status message frequency** from 5 seconds to 30 seconds
|
||||
2. **Add ESP NOW debug logging** to see message transmission times
|
||||
3. **Remove blocking delays** on SPI failures
|
||||
|
||||
#### Firmware modifications needed:
|
||||
1. Change `pdMS_TO_TICKS(5000)` to `pdMS_TO_TICKS(30000)` for status messages
|
||||
2. Add debug printf statements for ESP NOW transmissions
|
||||
3. Make SPI error handling non-blocking
|
||||
|
||||
### 5. Testing Strategy
|
||||
1. Apply firmware patches
|
||||
2. Monitor ESP NOW traffic with debug scripts
|
||||
3. Observe pattern continuity
|
||||
4. Check timing of ESP NOW vs SPI operations
|
||||
|
||||
## Current Status
|
||||
- ESP32-C3 runs status sender task every 10 seconds
|
||||
- ESP32-C3 sends status via ESP NOW every 5 seconds on SPI errors
|
||||
- Original heartbeat in control server was disabled (this was correct)
|
||||
- Issue likely in ESP32-C3 firmware timing
|
Reference in New Issue
Block a user