1

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(); }
}
Voltaire:  Chceš-li se mnou diskutovat, přesně vysvětli pojmy.