Demo program for the Oled display
Diff: main.cpp
- Revision:
- 0:94bf5ec759da
- Child:
- 1:793dbd6d6498
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Thu Jan 08 12:05:23 2015 +0000
@@ -0,0 +1,53 @@
+#include "mbed.h"
+#include "OLED32028P1T.h"
+
+/*
+ This display requires 5v, 200mA power supply, serial and reset connections are 3.3v - 5v.
+ Set Oled to any serial port. It is Target dependant, some platforms may not work at
+ higher baud rates. Set baud rates as per the list in .cpp file, NOT in the program.
+ Freescale KLxx MCU's will only work upt to 128k baud and some have been defined.
+*/
+
+OLED32028P1T oled(PTB17,PTB16,PTC0); // Oled Display TX, RX, RESET
+
+char timebuffer[50];
+char datebuffer[50];
+
+int main() {
+
+ oled.init(); // initialise the display. This will start at 9600 baud then auto set
+ // to the higher baud rate as set in the .cpp file
+ // This can be called at any time in the program to restart the display
+ // if required, display power down for instance.
+
+ oled.clear();
+ oled.setTextBackgroundType(TEXT_OPAQUE);
+ oled.setFontColor(WHITE); // some predefined colours
+
+ oled.drawText(1,1,(FONT12X16)," --RTC Clock Time-- ",oled.toRGB(255,255,255));
+ oled.setFontSize(FONT12X16);
+ oled.setFontColor(oled.toRGB(255,255,0));
+
+ while(1){
+
+ time_t seconds = time(NULL);
+
+ strftime(timebuffer, 32, "RTC %I:%M:%S %p", localtime(&seconds));
+ strftime(datebuffer, 32, "%a %d %b %Y ", localtime(&seconds));
+
+ oled.drawText(2,3,(FONT12X16),timebuffer,oled.toRGB(255,255,0)); // print using drawText is faster
+ oled.drawText(2,4,(FONT12X16),datebuffer,oled.toRGB(255,128,0));
+
+ oled.locate(3,6); // print start posistion x,y in characters (not pixels)
+ oled.setFontSize(FONT12X16); // Font size
+
+ oled.setFontColor(oled.toRGB(255,255,255)); // 'R' 'G' 'B' can be set for upto 16 million colurs
+ oled.printf(timebuffer); // print using printf is slower than drawText
+
+ oled.locate(3,7);
+ oled.printf(datebuffer);
+
+
+ wait(.2);
+ }
+}
\ No newline at end of file