yet another 18B20 Temperature sensor. variable number of sensors working in parasite mode, serial 16x2 display with diagnostic output and post to a rest web service
Dependencies: EthernetInterface HTTPClient NTPClient mbed-rtos mbed
sparkfun.cpp
- Committer:
- wkinkeldei
- Date:
- 2013-01-03
- Revision:
- 1:9e88b2508768
- Parent:
- 0:53f05303850a
File content as of revision 1:9e88b2508768:
#include "sparkfun.h" #include "rtos.h" /* 1234567890ABCDEF [Buero 52°C] [T26> P N x 11:42] ^ ^ ^ ^ ^ ^ | | | | | | | | | | | | | | | | | +-- 27: Uhrzeit "hh:mm" / Datum "Mar03" / Uptime " 42d" | | | | | | | | | +-- 25: Reserve | | | | | | | +-- 23: NTP Status: t=lesen, T=ok, ?=error | | | | | +-- 21: Netz: P)ost O)k E)rror [1-9] = in x Minuten gehts los | | | +-- 19: < senden, > lesen, = fertig, ? fehler | +-- 16: gerade/zuletzt gemessener Sensor */ SparkFun::SparkFun(PinName tx) : Serial(tx, NC) { baud(9600); } void SparkFun::clear(void) { control_sequence(0x01); } void SparkFun::set_cursor_position(int pos) { if (pos >= 16) { pos = 64 + pos - 16; } control_sequence(0x80 + pos); } void SparkFun::control_sequence(char c) { putc(0xfe); putc(c); } void SparkFun::print_init_message(void) { clear(); set_cursor_position(0); puts("TempSensor"); // will get overridden very soon. // set_cursor_position(16); // puts("init"); } void SparkFun::show_sensor_measure(char *name, char *measure) { Thread::wait(50); // time for 48 characters. set_cursor_position(0); printf("%-12s%4s", name, measure); } void SparkFun::clear_current_sensor(void) { Thread::wait(50); // time for 48 characters. set_cursor_position(16); puts(" "); } void SparkFun::show_current_sensor(char kind, int nr, char status) { Thread::wait(50); // time for 48 characters. set_cursor_position(16); printf("%c%02d%c", kind, nr, status); } void SparkFun::show_current_status(char status) { Thread::wait(50); // time for 48 characters. set_cursor_position(19); putc(status); } void SparkFun::show_network_status(char status) { Thread::wait(50); // time for 48 characters. set_cursor_position(21); putc(status); } void SparkFun::show_ntp_status(char status) { Thread::wait(50); // time for 48 characters. set_cursor_position(23); putc(status); } void SparkFun::show_spare_status(char status) { Thread::wait(50); // time for 48 characters. set_cursor_position(25); putc(status); } void SparkFun::show_time_text(char *text) { Thread::wait(50); // time for 48 characters. set_cursor_position(27); printf("%-5s", text); }