FW 0.12.9
Release Notes - Spectoda Firmware v0.12.9
🚀 Major Features & Enhancements
Controller-to-Controller Firmware Updates
P2P Network OTA: Controllers can now update each other's firmware directly over the network
Smart datarate selection: Variable ESP-NOW transmission rates based on RSSI for optimal performance
Snappier synchronization: Reduced latency in peer-to-peer firmware distribution
DALI Lighting Protocol Enhancements
DT8 Support: Implemented basic DALI DT8_RGBWAF and DT8_TC variants for advanced color control
DALI IO reset functionality: Added reset capabilities for DALI interfaces
Improved dimming: Fixed DALI getting stuck at 1% when dimmed
Berry Scripting Improvements
Overridable render function: IPort now supports custom Berry render functions
Enhanced API: Added
spectoda.reboot()
,spectoda.sleep()
Better integration: Moved Berry callbacks and API calls to appropriate system components
Timeline & Synchronization
RTC Timeline sync: Controllers can now synchronize Timeline from Real-Time Clock
Improved accuracy: Enhanced RTC accuracy levels implementation
Network Timeline: Better handling of timeline synchronization across controller networks
🔧 Performance & Optimizations
Memory & Storage
RAM footprint reduction: Significantly reduced firmware synchronization memory usage
Flash optimization: BytecodeReader improvements for reduced flash usage
Memory leak fixes: Resolved state storage and other memory leaks
Smarter caching: Optimized EventStore and state management
Communication Efficiency
BLE enhancements: Non-blocking communication mechanisms with better error handling
Network flooding improvements: Tweaked behavior for better data exchange headroom
Broadcast optimization: Allow bigger headroom for priority broadcasts
Power Management
Reduced logging: Minimized debug output for better performance in production
Optimized synchronization: Faster exchange on networks of all sizes
Smart scheduling: Better timing for various background operations
🐛 Bug Fixes
Critical Stability Fixes
BLE connection timeouts: Properly handle transfer errors preventing disconnections
Berry crash prevention: Fixed crash on TNGL load due to improper Berry destruction
Filesystem safety: Ensure proper unmounting when stopping firmware
EventStore corruption: Fixed synchronization and merging issues
Functional Corrections
TNGL loading: Multiple fixes for default TNGL and TNGL banks saving, loading and reloading
MAP value blocks: Support for all Value types including Null
Color output: Fixed hexstring formatting with proper # prefix
System Reliability
Semaphore management: Improved BLE transfer semaphore handling
Storage integrity: Fixed various storage-related bugs and corruption issues
Network stability: Prevented peer disconnection issues on large networks
🏗️ Architecture & Refactoring
Major Component Reorganization
Runtime/Controller split: Moved functionality from Scripting to appropriate components
Interface consolidation: Merged Interface into Spectoda for cleaner architecture
EventStore rewrite: Complete synchronization mechanism overhaul
Storage refactoring: Improved TNGL Banks and Timeline storage handling
Code Quality Improvements
Error handling: Better error codes and exception management
Logging cleanup: Organized debug output with appropriate levels
Memory safety: Removed unsafe patterns and improved resource management
🛠️ Build & Configuration
Updated Dependencies
Updated esp_littlefs submodule
Updated Berry submodule
Updated various other submodules
Build Optimizations
Tweaked Ethernet buffer sizes for Art-Net and sACN compatibility
Enabled the option for logging in production builds
Enabled Ethernet and DMX support
Flash mode configuration improvements
⚠️ Breaking Changes
PWMPort: Removed "fade" parameter, replaced with "fadetime"
🎯 Quality Assurance
This release includes extensive refactoring and architectural improvements that enhance:
Stability: Better error handling and resource management
Performance: Reduced memory usage and improved communication efficiency
Maintainability: Cleaner code organization and better separation of concerns
Reliability: Fixed numerous edge cases and potential failure points
Last updated
Was this helpful?