Téma: Automatický přechod letní/zimní čas -> řešení
FW od Q3/2017 poskytuje automatické přepínání L/Z času.
Následující návod je pro "ruční" řešení.
---
Přesunuto do samostatého tématu z Letní / Zimní čas od Frenky (protože slíbené zahrnutí do firmwaru nějak vázne)
Funkci alarm() si nadefinujte dle vlastni úvahy.
#define YER sys[7]
#define MON sys[6]
#define DAY sys[5]
#define HRS sys[8]
#define GMT sys[26]
#define NPS sys[37]
var lc, zc;
summer
{
if (( MON > 3 ) && ( MON <= 10 )) { GMT = 2; }
if (( MON <= 3 ) || ( MON > 10 )) { GMT = 1; }
if ( MON == 3 )
{
lc = 31 - (( 5 * YER / 4 + 4 ) % 7 );
if (( DAY > lc ) || (( DAY == lc ) && ( HRS >= 2 ))) { GMT = 2; }
}
if ( MON == 10 )
{
zc = 31 - (( 5 * YER / 4 + 1 ) % 7 );
if (( DAY > zc ) || (( DAY == zc ) && ( HRS >= 3 ))) { GMT = 1; }
}
}
main
{
if ( NPS ) { summer(); } else { alarm(); }
}