FW 0.12.10
Poznámky k vydání Spectoda Firmware v0.12.10
Poznámky k vydání Spectoda Firmware v0.12.10
Section titled “Poznámky k vydání Spectoda Firmware v0.12.10”Vydáno: 7. srpna 2025
Verze: 0.12.10
🚀 Hlavní funkce
Section titled “🚀 Hlavní funkce”Přepracování architektury EventStore
Section titled “Přepracování architektury EventStore”Tato verze přináší kompletní refaktorizaci systému EventStore, která cílí na výrazně vyšší škálovatelnost a lepší výkon.
🔄 Chaining a overflow systém EventStore
Section titled “🔄 Chaining a overflow systém EventStore”- Nová třída EventStores: Zavedena centralizovaná šablonová třída
EventStores<SIZE>, která spravuje více instancíEventStore - Automatické řešení overflow: Eventy se nyní při zaplnění kapacity automaticky přesouvají do dalších instancí EventStore
- Podpora 2880+ unikátních eventů: Výrazné navýšení oproti dřívějšímu limitu jednoho store, který byl 244 eventů
- Centralizovaná logika: Veškerá logika chainování EventStore byla přesunuta z rozptýleného kódu do samostatného
eventStore.h
🏗️ Architektonická vylepšení
Section titled “🏗️ Architektonická vylepšení”- Template-based design: EventStore a EventStores nyní používají konzistentní template parametry
- Správa paměti: Správné použití
std::unique_ptrpro automatickou správu zdrojů - Konzistence fingerprintů: Vylepšený výpočet SHA-256 fingerprintu napříč více store
- Možnosti merge: Robustní merge operace mezi kolekcemi EventStores se správným pořadím eventů
Rozšířený testovací framework
Section titled “Rozšířený testovací framework”- Komplexní unit testy: Přidána rozsáhlá sada testů pro scénáře mergování EventStores
- Detekce bugů: Testy navržené speciálně pro odhalování chyb při merge s 3+ indexy EventStore
- Integrace s PlatformIO: Plná kompatibilita s PlatformIO test frameworkem
- Debug output: Vylepšené logování pro troubleshooting vytváření a mergování EventStore
🔧 Technická vylepšení
Section titled “🔧 Technická vylepšení”Optimalizace výkonu
Section titled “Optimalizace výkonu”- Méně BLE spojení: Změna z 3 na 2 souběžná BLE spojení pro vyšší stabilitu
- Optimalizace Device Context: Snížení
MAXIMUM_DEVICE_CONTEXTSz 64 na 32 pro lepší využití paměti - Efektivnější validace: Validace store nyní probíhá jen při alokaci, což snižuje runtime overhead
Zlepšení kvality kódu
Section titled “Zlepšení kvality kódu”- Breaking refactor: Čisté oddělení logiky mergování EventStore od controller kódu
- Nahrazení iterátorů: EventStore iterátory nahrazeny manuálním průchodem chainu pro lepší kontrolu
- Přejmenování proměnných: Konzistentní přejmenování z
EVENTSTOREnaSTOREnapříč codebase - Refaktorizace Sync Firmware: Logika synchronizace firmwaru přesunuta do samostatné metody
m_evaluateSyncFirmware()
🐛 Opravy chyb
Section titled “🐛 Opravy chyb”Systém EventStore
Section titled “Systém EventStore”- Zpracování neplatných příkazů: Opraven problém, kdy neplatné příkazy způsobovaly nestabilitu systému
- Priorita peer firmware update: Opravená priorizace FW update po 60sekundovém timeoutu
Obecná stabilita
Section titled “Obecná stabilita”- Memory leaky: Vyřešeny potenciální memory leaky ve správě EventStore
- Pořadí eventů: Opraveny problémy s pořadím eventů při komplexních merge operacích
- Výpočet fingerprintu: Opraveny chyby výpočtu fingerprintu ve scénářích s více store
📊 Testování a validace
Section titled “📊 Testování a validace”Nové pokrytí testy
Section titled “Nové pokrytí testy”- Základní merge operace: Ověřují základní funkcionalitu mergování EventStore
- Mergování více indexů: Testují merge napříč více indexy EventStore
- Práce s historickými eventy: Komplexní scénáře s překrývajícími se timestampy
- Kolize identifikátorů: Správné zpracování eventů se stejnými identifikátory
- Stress testy: Vysokozátěžové operace s více kolekcemi EventStore
- Edge cases: Prázdné store, neexistující indexy a rychlé mergování
- Konzistence fingerprintů: Ověření, že SHA-256 fingerprinty zůstávají konzistentní napříč operacemi
🔄 Poznámky k migraci
Section titled “🔄 Poznámky k migraci”Významné změny
Section titled “Významné změny”- Synchronizace EventStore: Protože se logika EventStore změnila, App v3 nyní plně synchronizuje EventStores správně až s FW 0.12.10 a novějším. Instalace používající App v3 by proto měly aktualizovat na 0.12.10 pro nejlepší uživatelský zážitek. U starších FW se EventStores synchronizují pouze jednou po připojení.
- Zpětná kompatibilita EventStore: Stávající data EventStore nejsou kompatibilní, takže EventStore uložený před 0.12.10 se po OTA aktualizaci resetuje.
Kompatibilita
Section titled “Kompatibilita”- Konzistence API: Nové API zachovává známé patterny a zároveň přináší rozšířenou funkcionalitu
- Výkon: Lepší výkon bez zhoršení stávající funkčnosti
🚀 Dopad na výkon
Section titled “🚀 Dopad na výkon”Využití paměti
Section titled “Využití paměti”- Optimalizovaná alokace: Lepší správa paměti s nižší fragmentací
- Škálovatelné úložiště: Podpora tisíců eventů bez úplného vyčerpání paměti
- Efektivní merge: Nižší paměťový overhead při operacích nad EventStore
Rychlost zpracování
Section titled “Rychlost zpracování”- Rychlejší zpracování eventů: Vyšší výkon při vkládání a čtení eventů
- Efektivní fingerprinting: Optimalizovaný výpočet SHA-256 napříč více store
- Nižší BLE overhead: Menší počet souběžných spojení zlepšuje celkovou odezvu systému
Známá omezení
Section titled “Známá omezení”- Omezení velikosti template: Velikost EventStore musí být definovaná při kompilaci
- Alokace paměti: Velké počty store mohou vyžadovat opatrnou správu paměti, například použití menšího TNGL jako kompenzace
🙏 Poděkování
Section titled “🙏 Poděkování”Speciální poděkování patří vývojovému týmu za přínos k této velké architektonické refaktorizaci, zejména v oblastech:
- návrhu chainovací logiky EventStore
- komplexního testovacího frameworku
- optimalizace výkonu
- zlepšení kvality kódu
Pro technickou podporu nebo dotazy k této verzi se podívejte do vývojové dokumentace nebo kontaktujte vývojový tým.