Temperaturanzeige mit TTY

Aus Ethersex_Wiki
Wechseln zu: Navigation, Suche
CONTROL_START

THREAD(update_clock)
        TTY_SELECT(clock)
        TTY_HOME()
        TTY_WRITE_TIME()
        WAIT(1)
THREAD_END(update_clock)

THREAD(update_temp)
        int16_t Temperatur = ONEWIRE_GET(10d85594010800eb);

        TTY_SELECT(temp)
        TTY_HOME()
        TTY_WRITE(`"%2d,%d"', Temperatur / 10, Temperatur % 10)

        WAIT(10)
THREAD_END(update_clock)

ON STARTUP DO
        TTY_CLEAR()
        TTY_WRITE("Moin stesie\n")

        TTY_CREATE_WINDOW(clock, 1, 8, 1, COLS - 8)
        THREAD_START(update_clock)
        TTY_CREATE_WINDOW(temp, 1, 4, 1, 0)
        THREAD_START(update_temp)
END 

CONTROL_END
  • Die Onewire-ID sollte natürlich angepasst werden. Vorher im Zweifel mit 1w list abfragen, welche angeschlossen sind.
  • Die lokale Variable Temperatur dient zum Zwischenspeichern des Ergebnisses von ONEWIRE_GET, da der Sensor ansonsten zweimal abgefragt werden müsste. Nachdem kein WAIT oder ähnliches dazwischen ist, sollte diese auch kein Problem darstellen.