v1.3.0 - ESP32-C6 Platform Support #19
francescopace
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Complete multi-platform support with ESP32-C6 and WiFi 6
Added comprehensive support for ESP32-C6 alongside ESP32-S3, enabling WiFi 6 (802.11ax):
ESP32-C6 Implementation:
CSI Configuration: Implemented
wifi_csi_acquire_config_tstructure.acquire_csi_legacy = 1- Captures CSI from 802.11a/g packets (L-LTF).acquire_csi_ht20 = 1- Captures CSI from 802.11n HT20 packets (64 subcarriers).acquire_csi_ht40 = 0- Captures CSI from 802.11n HT40 packets (128 subcarriers) - to be tested.acquire_csi_su = 1- Captures CSI from WiFi 6 Single-User packetsacquire_csi_legacyandacquire_csi_ht20required for callback invocationWiFi 6 Support: Enabled 802.11ax protocol for ESP32-C6
Configuration Files:
sdkconfig.defaults.esp32c6: ESP32-C6 specific configurationCritical Fix - CSI Callback Issue:
.enable = 1was insufficient)acquire_csi_*fieldsTesting Infrastructure:
real_csi_data_esp32_c6.h: 2015 lines of real CSI test datareal_csi_data.h→real_csi_data_eps32_s3.hfor claritysegmentation_analysis_c6.png: Visual analysis of C6 performancetest_segmentation_local.py: Complete rewrite for better parameter analysisDocumentation:
Reference: ESP-IDF Issue #14271 - espressif/esp-idf#14271
🔧 Runtime-Configurable Parameters
Major system configurability improvements
Transformed hardcoded parameters into runtime-configurable settings, enabling fine-tuning without recompilation:
Segmentation Parameters (MQTT-configurable):
Subcarrier Selection (runtime-configurable):
csi_set_subcarrier_selection()New MQTT Commands:
segmentation_threshold <value>- Set detection thresholdsegmentation_k_factor <value>- Set threshold sensitivitysegmentation_window_size <value>- Set moving variance windowsegmentation_min_length <value>- Set minimum segment lengthsegmentation_max_length <value>- Set maximum segment lengthEnhanced Stats Command:
Benefits:
✨ Added - System Resource Monitoring
Real-time CPU and RAM usage in stats command
cpu_usage_percentandheap_usage_percentfields tostatscommand responseReal-world performance (ESP32-C6 with all filters + features):
🌐 Web-Based Real-Time Monitor
Modern web interface for ESPectre monitoring and configuration
New
espectre-monitor.htmlprovides a comprehensive web-based alternative to the CLI shell:Features:
Technical details:
Benefits:
espectre-cli.shfor most use cases🔧 MQTT Data Structure Optimization
Simplified and standardized MQTT message format
Optimized MQTT data structure for consistency and reduced bandwidth:
Periodic Data (published during detection):
segments_total(not needed for motion detection)movement,threshold,state,features(optional),timestampStats Command Response:
segmentsobject (total, active, last_completed)moving_variance→movement(consistent with periodic data)adaptive_threshold→threshold(consistent with periodic data)turbulencefor diagnosticsCode Cleanup:
segment_tstructure fromsegmentation.hsegmentation.c(~150 lines)segmentation_get_num_segments(),segmentation_get_segment(),segmentation_clear_segments(),segmentation_get_active_segments_count(),segmentation_get_last_completed_segment()MQTT Handler Simplification:
mqtt_publish_calibration_status()functionmqtt_publish_calibration_complete()functionmqtt_publish_binary()for CSI raw data collectionBenefits:
🛠️ Enhanced Tools
Web Monitor:
CLI (
espectre-cli.sh):📚 Documentation & Cleanup
Documentation Updates:
Code Cleanup:
.DS_Storefile.gitignorewith better patternsconvert_csi_to_header.pyscriptThis discussion was created from the release v1.3.0 - ESP32-C6 Platform Support.
Beta Was this translation helpful? Give feedback.
All reactions