SDS BIG: firmware changelog: Porovnání verzí
Řádek 12: | Řádek 12: | ||
+ | |||
+ | == 14.11.2022 == | ||
+ | * FC: oprava výpočtů v 64-bit doméně | ||
+ | * FC: file_expand() - detailnější rozvrstvení návratových chybových hodnot | ||
+ | * web: rozšířeny zobrazované informace o probíhajícím připojování SD karty | ||
+ | * web server: vrací korektně 503 pro soubory na SD kartě, které jsou zablokovány FC programem | ||
+ | * FC: rozšířena a zásadně zlepšena implementace printf/sprintf/snprintf/sscanf - viz detaily v návodu na wiki | ||
+ | * FC: zlepšen výpis (informace na web) při určitých chybách v FC programu, plus další drobky kolem echo.htm | ||
== 16.10.2022 == | == 16.10.2022 == |
Verze z 14. 11. 2022, 14:44
SDS-BIG , SDS-SMALL(2), SDS-STSW a všechny OEM
Tato stránka se věnuje změnám ve firmware a v HW pro výrobek SDS-BIG a SDS-SMALL a SDS-STSW.
Změny jsou seřazeny tak, že nejnovější verze (která je stáhnutelná z webu) je popsána jako první.
Proč je vydáván nový firmware? Protože operativně řešíme požadavky uživatelů, a jsou doplňovány nové funkce.
Firmware poskytujeme zcela zadarmo po celou dobu životnosti výrobku. Děláme to vše pro Vás.
14.11.2022
- FC: oprava výpočtů v 64-bit doméně
- FC: file_expand() - detailnější rozvrstvení návratových chybových hodnot
- web: rozšířeny zobrazované informace o probíhajícím připojování SD karty
- web server: vrací korektně 503 pro soubory na SD kartě, které jsou zablokovány FC programem
- FC: rozšířena a zásadně zlepšena implementace printf/sprintf/snprintf/sscanf - viz detaily v návodu na wiki
- FC: zlepšen výpis (informace na web) při určitých chybách v FC programu, plus další drobky kolem echo.htm
16.10.2022
- tento firmware (od této verze) podporuje i hardware SDS 64/128/512 ve variantě DP
- podpora pro 4 PWM výstupy (pro vhodný hardware - BIG2)
- odpověď na (webový) příkaz /sv? , má doplněný obsah http hlavičky, takže by ji mělo být snazší zpracovat
- FC: watchdog programu je (nově) pozastaven po dobu mountování SD karty (protože je pozastaven i program)
- FC: zápis do indexu 999 funguje jak má
- FC: verze 0x0F (nové funkce PWMx)
5.10.2022
- pouze vše řady 512 (ostatní bez tohoto problému) - důležitá oprava situace kdy někdy chybně došlo ke smazání nahraného FC programu při nahrání nového UWEB projektu do SDS
30.9.2022
- FC: oprava běhu programu v situaci kdy v kódu je vnořený (nested) switch() v rámci jiného switch() (původně chybné chování, teď opraveno)
28.9.2022
- FC: oprava výsledků maker (define), kdy chybně docházelo k pevnému přetypování na int32_t, což je teď opraveno (odstraněno)
1.8.2022
- správně zobrazovaná hláška (nápověda) na úvodní webové stránce ohledně stavu konfigurace
- FC: přidáno tlačítko (odkaz) pro restart FULLC programu (např. pokud skončil a chcete jej ručně spustit znovu)
- FC: do výpisu chyby při pádu programu je přidán UTC čas (pro identifikaci, kdy se chyba stala)
- FC: spolehlivostní úpravy při startu programu (načtení z DF), a při zápisu nového programu (práce s DF)
11.7.2022
- FC: verze 0x0E
- FC: přidána funkce mktime()
- FC: přidána funkce gmtime()
- FC: přidána funkce localtime()
- opraveno zachování konfigurace ipwdg (webové rozhraní) a obsluhy relé ipwdg
1.7.2022
- FC: verze 0x0D
- FC: upravena funkce SDS_TOPB_keyboard_status() pro lepší předané výsledky
- FC: přidána funkce SDS_TOPB_keyboard_updn()
- FC: přidána funkce SDS_rescan_onewire()
- FC: odstraněno náhodné hlášení o už probíhajícím nahrávání programu při nahrávání z EXE
- BIG 64/128 prodloužen čas pro sestavení Ethernetového spojení, což řeší problém s některými USB síťovými kartami atd.
- opraveno HTTP POST nastavení položek NTP
- opraveno HTTP POST který teď neuzavře spojení dříve než má, pokud mazání NVM pro nový FW (nebo nový UserWeb) trvá dlouho
12.4.2022
- doplněna informační stránka o vnitřním stavu OneWire Master (pro snazší identifikaci problémů při používání sběrnice)
- oprava v bootloaderu pro řadu 512 - vyžaduje přeprogramování u výrobce pro všechna SDS řady 512 s FW starším než 14.2.2022
3.4.2022
- FC verze 0x0C
- FC: přidána funkce SDS_I2C_rw
- OneWire stabilnější
21.1.2022
- prioritu mají vybrané konfigurační položky v NVM (jsou-li tam platné) před baterií zálohovanou pamětí
- aktivován HTTP POST protokol pro nahrávání a konfiguraci SDS (viz SDS:POST_upload)
18.1.2022
- RSTD zapíše do NVM všechny konfigurační položky (i to co nenuluje), pro jistotu že v NVM bude vše skutečně zapsáno
- načítání konfigurace upraveno (větší spolehlivost)
15.1.2022
- přidána stránka cfgstatus.htm - pro možnost kontroly stavu uložené konfigurace v pevné paměti (např. co nemáte uloženo)
- přidán M2M výstup ip.xml
- FC: přidán algoritmus SHA-256 do funkce SDS_crypto()
- FC: každý program má unikátní identifikátor, podle kterého lze např. kontrolovat či zpětně poznat co máte v SDS nahráno
- identifikátor FC programu přidán na webové rozhraní a do M2M výstupů, a do exe aplikace
- zobrazeno unikátní identifikační čislo SDS hardware (napevno spojeno s modulem SDS, nezměnitelné), teď i ve M2M výstupech
- SNMP: nové položky .8.90 , .8.91 , .8.99
- FC: nové get(u32) položky 2 a 87
31.12.2021
- možnost vyřadit NTP z činnosti zadáním adresy 127.0.0.1 (vhodné pro uživatele kteří získávají čas odjinud, např. přes LoRA)
- web: informace na web (p=8) o stavu připojování SD karty (mounting...) a o stavu kdy je FC program pozastaven (PAUSED)
- web: opraven zámek zvětšené konzole (echo)
- důslednější kontrola platnosti konfigurace při startu
27.12.2021
- opravena chyba kdy na webu nešlo nastavit 100 procent PWM duty (jen 0 až 99, teď už jde i 100)
- FC: několikanásobně zvětšena konzole (echo.htm)
- HW: při poruše hlavního zdroje hodin (krystal) se použije záložní zdroj
- HW: využíváme RTC pro udržení času při přechodu přes reset (drží čas dokud zase nepřijde NTP)
- aktualizován bootloader (aktualizace bootloaderu jen prostřednictvím přeprogramování u výrobce) - umí znovu nahrát FW pokud se v SoC poškodí
- vydána varianta 512 - vlastní soubor s firmware
25.12.2021
- pouze interní vydání
26.3.2021
- FC: oprava nesprávného zacházení s unsigned typy (na některých místech interně přemapovány na signed)
- FC: chování varianty if pro speciální kombinaci signed/unsigned dle specifikace standardu C
9.2.2021
- FC: oprava TID v MODBUS-TCP
- MBTC výpis rozšířen
- FC: drobná úspora heap (více dostupného místa)
- FC: dns resolv drobný fix
- FC: http_get a http_post důležitý fix
- FC: nová funkce http_close
- FC: chyba -7 pro MODBUS-TCP a pro MQTT
- vylepšený algoritmus S0, rozšířené možnosti nastavení detektoru S0 (nastavení přidáno ve webovém rozhraní)
22.12.2020
- web: ruční přepnutí CBY pro relé (tzn. "kdo ovládá relé"), na "FULL-C", dané relé nevypne (off) ale ponechá jeho stávající stav (on, off)
- security fix
10.12.2020
- dřívější odeslání NTP požadavku po výpadku síťového spojení
- integrovaná korekce chyby A/D měření pro HW osazený LMV324; uživatel může povolit tuto automatickou opravu chyby LMV324 ve webové administraci
- počítání délky aktivace tarifního vstupu (doba T0 a T1 v sekundách za den) viz nové sys, pozor pro funkci vyžaduje NTP
- automatický odečet S0 počítadel (vždy za dnešek a včerejšek), viz nové sys, pozor pro funkci vyžaduje NTP
23.11.2020
- FC + FULLC.exe: oprava chyby v případě více #if / #ifdef / #endif bloků zapsaných hned za sebou
- FC: makra a define lze provést i uvnitř funkce (dříve jen venku)
- FC: detekce nesprávné dereference ukazatele
14.11.2020
- webová administrace: stránka p=42: index ck03 se propíše i do nastavení (chybělo od 23.10.2020, web byl aktualizován, nastavení ale přebíralo ck00)
4.11.2020
- FC + FULLC.exe: odstraněn problém při načtení nahraného FULL-C programu v SDS, kdy dříve mohlo u jedné specifické velikosti nahraného programu, dojít k jeho nespuštění kvůli neodpovídajícímu crc
3.11.2020
- FC: zobrazení (v konzoli) čísla řádku (ve zdrojovém kódu) při chybě (což velmi zlepší ladění programů)
- FULLC.exe: odstraněno omezení na 255 znaků na řádek
- FULLC.exe: zrychlení nahrávání do SDS
23.10.2020
- webová administrace: stránka p=42: změna indexu ck00 na ck03 ať se dají uživatelským skriptem všechny prvky samostatně rozlišit
- FC: oprava http_get/post: správné vyplnění výsledků i pro situaci kdy server ukončí spojení přes TCP RST
14.10.2020
- oprava FULL-C funkce XTEA-CRYPT (bug o dvě verze dříve)
13.10.2020
- důležitá oprava chyby ve FULL-C (ternary operator, a další nahlášené nesrovnalosti)
13.9.2020
- oprava detekce SD karty (některé varianty SD karet nebyly detekovány, teď už ano)
9.8.2020
- FULL-C verze 0B (vyžaduje použít aktuální EXE pro překlad)
- různé drobné opravy a zabezpečení
- zobrazení auditlogu (webové rozhraní SDS)
- FC: http_post
- FC: MQTT klient
- FC: MODBUS-TCP klient
4.8.2020
- úprava obsluhy relé
- podpora OneWire modulu SDS-1W-T-RH
3.10.2019
- SMTP klient posílá v hlavičce i položku "Date" (ale jen za předpokladu správného času v SDS)
- RSTD při zapnutí zařízení, ve kterém není záložní baterie (nebo je vybitá), zachová původně nastavenou MAC adresu (vše ostatní ale už jde do defaultu, což je správně)
- SUDP: rozšířen NOP příkaz
- SUDP: přidány další nové příkazy (master_cmd: 32, 33, 40, 42, 44, 48)
23.9.2019
- oprava GUI (S0 Inputs)
- SNMP nabízí možnost číst všechny sdílené proměnné (FULL-C: Sxx, Uxx, Fxx, Txx)
- opraven nefunkční RSTD na modulu STSW-rev3
23.6.2019
- oprava chyby objevené ve FW 28.5.2019, kdy na některých specifických SDS nefungovaly AD vstupy
28.5.2019
- oprava funkce SD karty (pro případy kdy se stala po čase nedostupná pro FC/web)
5.5.2019
- dořešeno hlídání stavu (načtení, atd.) SD karty i v případě provozu náročného FULL-C programu (tedy i pro hluboce vnořené smyčky)
- oprava původně chybné implementace S-UDP příkazu "1Waccess: sub-command 8"
24.2.2019
- překlopení z BETA do oficiálního FW
- automatika zimní/letní čas
- přístup na SD kartu: FULL-C pracuje se soubory (vytvoření, smazání, čtení a zápis, atd.)
- přístup na SD kartu: web server zobrazuje soubory ze SD karty (vše ve složce \web\ a podsložkách této složky)
- oprava čtení napětí baterie pro variantu 128K
- shared.xml
- odstraněno omezení délky ve shared.txt
- zprovozněno getsv
- verze FULL-C je teď FC 0x0A (vyžaduje použít aktuální EXE pro překlad)
- FULL-C: nová možnost způsobu čtení teploty SoC
- FULL-C: index 64, 65, 184, 185, 429, 430, atd.
- FULL-C: doplněné set/get funkce pro sdílené proměnné
- FULL-C: s/printf umí správné zpracovat požadavek na určení desetinných míst pro float
- FULL-C: funkce pro reset FC programu
- FULL-C: funkce pro watchdog FC programu
- SNMP nové OIDy (dle přidaných věcí - čas, sdcard)
1.7.2018
- SNMP: sdsS0translatedUnitT0,1 je poskytováno jako hodnota od odečtu (ne od úplného začátku měření, jak to bylo předtím)
- FULL-C: přidán index 183 poskytující datum vydání FW který je právě nahrán v SDS
27.6.2018
- verze FULL-C je teď FC 0x09 (vyžaduje použít aktuální EXE pro překlad)
- FULL-C: přidána podpora pro int64_t a uint64_t
- FULL-C: přejmenováno set a get funkce (rozlišení 32 a 64 bit)
- FULL-C: snprintf přesně dle standardu (zrušena nevhodná změna z 20.12.2017)
- drobné opravy
- drobná oprava v odchozím TCP-SYN a v generátoru ISN
8.3.2018
- oprava echo.htm - správně wrapuje obsah, a nejsou tam nadbytečné 0x00
- vhodnější řešení rexmitu částí webových stránek a dynamických dat (ocení to zejména uživatelé s mobilním připojením pro SDS)
2.3.2018
- aktulizace a oprava ve výpočtu "aktuálního výkonu" pro okrajové situace (např. krajní hodnoty impulsní konstanty)
11.2.2017
- zprovozněny funkce set/get pro indexy 4000 až 4300 (alternativní přístup k číselným sdíleným proměnným)
21.12.2017
- zvýšena stabilita spuštění po zapnutí
20.12.2017
- dočasná změna ve FULL-C (bude zrušena): funkce snprintf() má interně posunutý limit délky zápisu o 1 (toto je záměrný rozdíl proti C99). Změna v SDS je provedena z důvodu neznalosti programátorů FC v tom, že do snprintf() limitu je potřeba započítat i jeden byte pro ukončující nulu. Ve výsledku tedy zápis "snprintf(buf, limit, ...);" je v FC interně vykonán jako "snprintf(buf, limit+1, ...);".
- oprava ve FULL-C: výpočet platné délky bufferu funguje i pro ukazatele vytvořené offsetem ze základní alokované adresy (příklad takového bufferu je: buf=malloc(x)+offset;)
- stav všech relé je načten z paměti vždy po zapnutí modulu, a ty relé které jsou ručně ovládány (manual control) a které byly před vypnutím v zapnutém (ON) stavu, jsou po zapnutí modulu aktivovány (zatímco relé ovládané z IP-W a FC jsou vždy po zapnutí modulu uvedeny do OFF stavu)
18.12.2017
- UserWEB projekt má opravenu chybu, kdy nebylo možno použít delší Name Chain tabulku (tedy lze už vložit mnohem více souborů)
- nastavená MAC adresa je zachována i po průchodu RSTD (byla-li platná)
- opravena chyba způsobující nefunkční http_get(), teď už to opět funguje
- aktualizace obsluhy PWM (např. lépe přepočítává zobrazovaná "procenta")
- oprava strcat() funkce (opraveno hlídání max velikosti bufferu ze "from" na "to")
18.9.2017
- FULL-C: printf() správně tiskne float i pokud se formátovací parametr zadá jako %d (tedy ne jako %f)
- FULL-C: snprint() opraven (když je 'from' kratší než 'to' tak je 'to' doplněn 0x00 - je to zvláštnost, nemá se to používat, ale C99 to předepisuje, tak to dodržíme)
9.9.2017
- vnitřní bezpečnostní aktualizace
29.8.2017
- oprava chování RSTD - pokud je zapojen před zapnutím, nepřejde do automatického resetu po 10sec, ale RSTD je použit a SDS pracuje dále; přitom funkce "zapoj RSTD za běhu" je zachována správně
- zásadní zlepšení odolnosti FULL-C proti chybám programátora - vnitřní hlídání rozsahů bufferu a stringů, zamezující zápisu za hranice pole (typicky chybné použití sprintf() funkce, ale toto hlídání je aplikováno obecně všude)
8.8.2017
- oprava: FC teď správně převádí URL kód "sv?xxxx=yyyy...", na text (vypadlo 31.3. při rozšíření počtu znaků pro sdílené proměnné Txx)
10.7.2017
- vydán firmware pro variantu "128kB" (od teď vychází dva typy firmware, pro variantu "64kB" a variantu "128kB", vyberete si tu svou dle HW který máte)
- velká optimalizace využití paměti pro uložení a běh FULL-C programu (komprese, a zmenšení vyžadovaného heapu pro běh programu) - významně zvětšuje možnou velikost FC programu
- pin RSTD lze teď také použít i bez vypnutí a zapnutí SDS, stačí jej na 10 vteřin za běhu zkratovat (pak se provede RSTD a SDS se rebootuje) - výhodné pro zařízení kde vypnutí nelze provést
- drobné užitečné opravy dle hlášení uživatelů
- verze FC zvýšena na 0x08, a přidána možnost uložit 128 proměnných do baterií zálohované pamětí (tzn. obsah přežije výpadek napájení a FC program po restartu o tyto údaje nepřijde)
2.6.2017
- návratová hodnota funkce DF_read_page() je nastavena správně i v případě, kdy tato funkce čte data z cache (opakované čtení stejné stránky DF)
6.4.2017
- přidána FULL-C funkce AES-128-CTR, viz SDS_crypto(0x20, ...);
31.3.2017
- oprava RS485-MASTER drive, je teď zcela přesný (tzn. vypnut v přesném časování za úplně posledním vyslaným bitem)
- oprava čtení konfigurace 1-W, pomocí sds_get_a()
- přidán index 139
- odstraněno omezení na 32 znaků pro sdílené proměnné (přenos textu) "Txx" (xx = 00 až 99)
- fix návratových hodnot FULL-C funkcí pro práci s DF (teď to vrací správně 1 nebo 0, podle wiki)
- upřesněn název: (z BIG na BIG-64) / (z STSW na STSW-64)
- vyžaduje aktuální SDSLOAD.exe (6.3.2017 nebo novější) a FULLC.exe (6.3.2017 nebo novější)
starší záznamy
Nejsou k dispozici.