Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
ethersex:c6notizen [2016/03/28 15:47] t33kanneethersex:c6notizen [Unknown date] (aktuell) – Externe Bearbeitung (Unknown date) 127.0.0.1
Zeile 108: Zeile 108:
 </code> </code>
  
 +----
 +
 +<code>
 +C6_HEADER(`/* This will be in control6.h */')
 +int16_t Temperatur;
 +
 +CONTROL_START
 +CLOCK_USED()
 +
 +THREAD(read_temp)
 +  Temperatur = ONEWIRE_GET(10a00599010800da);
 +  ON abs(Temperatur)>250 DO
 +    PIN_SET(LED2);
 +    TTY_SELECT(heiz)
 +    TTY_HOME()
 +    TTY_WRITE("Heizung an ")
 +  END
 +
 +  ON abs(Temperatur)<250 DO
 +    PIN_CLEAR(LED2);
 +    TTY_SELECT(heiz)
 +    TTY_HOME()
 +    TTY_WRITE("Heizung aus")
 +  END
 + WAIT(5);
 +THREAD_END(read_temp)
 +
 +THREAD(temploop)
 +        int16_t Temperatur = ONEWIRE_GET(10a00599010800da);
 +        dnl max. L des erzeugten Strings: 5 (123.4 bzw. -12.3)
 +        char temp_str[5];
 +        itoa_fixedpoint(Temperatur, 1, temp_str);
 +        TTY_SELECT(temp)
 +        TTY_HOME()
 +        TTY_WRITE(`"%5sC"', temp_str)
 +        WAIT(5)
 +THREAD_END(temploop)
 +
 +THREAD(update_clock)
 +        TTY_SELECT(clock)
 +        TTY_HOME()
 +        TTY_WRITE_TIME()
 +        WAIT(1)
 +THREAD_END(update_clock)
 +
 +
 +ON STARTUP DO
 +  TTY_CLEAR()
 +  TTY_CREATE_WINDOW(clock, 0, 8, 0, 0)
 +  THREAD_START(update_clock)
 +
 +  TTY_CREATE_WINDOW(temp, 0, 6, 0, COLS - 6)
 +  THREAD_START(temploop)
 +
 +  TTY_CREATE_WINDOW(heiz, 0, 11, 1, 0)
 +  THREAD_START(read_temp);
 +END
 +
 +CONTROL_END
 +</code>