Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: BMP180 DS3231 RHT03 SDFileSystem SPI_TFT_ILI9341 _24LCXXX mbed SHTx
Revision 2:47de2d58ecc7, committed 2014-06-01
- Comitter:
- RobertFischer
- Date:
- Sun Jun 01 13:21:48 2014 +0000
- Parent:
- 1:5c0b32a77708
- Commit message:
- Some major changes. Now using SHT11 temperature humidity sensor. Code for AM2302 and DHT22 still available. Display changed to landscape orientation and inverted to white letters on black background.;
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SHTx.lib Sun Jun 01 13:21:48 2014 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/NegativeBlack/code/SHTx/#8465801be23f
--- a/TFT_fonts/Arial28x28.h Sat May 17 22:59:43 2014 +0000 +++ b/TFT_fonts/Arial28x28.h Sun Jun 01 13:21:48 2014 +0000 @@ -484,10 +484,16 @@ 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ~ +0x0A, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x03, 0x00, 0x00, 0xF0, 0x07, 0x00, 0x00, 0x38, 0x0E, 0x00, 0x00, 0x18, 0x0C, 0x00, 0x00, 0x18, 0x0C, 0x00, 0x00, 0x18, 0x0C, 0x00, +0x00, 0x38, 0x0E, 0x00, 0x00, 0xF0, 0x07, 0x00, 0x00, 0xE0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +/* 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // Code for char }; +*/ -};
--- a/main.cpp Sat May 17 22:59:43 2014 +0000
+++ b/main.cpp Sun Jun 01 13:21:48 2014 +0000
@@ -2,6 +2,7 @@
* Simple indoor weather station with TFT display
*
* Sensors: AM2302 aka DHT22 hygrometer thermometer
+ * or SHT10/SHT11/SHT15 hygrometer thermometer
* BMP180 barometer atmospheric pressure
*
* Real time clock: DS3231
@@ -21,6 +22,15 @@
* will release this code later.
*
* Changes:
+ * June, 1st : Version 2.0
+ * Changed to landscape view and inverted display
+ * add support for SHT11 sensor.
+ * SHT10 and SHT15 should also work.
+ * Using TTP224 capacity toch switch with 4 sensors
+ * Touch 1 = show statistics graph
+ * Touch 2 = show normal display
+ * Touch 3 = (not used yet)
+ * Touch 4 = toggle diplay led on/off
* May, 18.: Now guessing weather. First splash screen disabled.
* Changed the reading of temp sensor. If after 5 tries
* no luck, take old values. The AM2302 reading is not
@@ -42,20 +52,25 @@
#include "_24LCXXX.h"
#include "BMP180.h"
#include "RHT03.h" //AM2303
+#include "sht15.hpp"
// some fonts
#include "Courier9x15.h"
#include "Arial12x12.h"
+#include "Arial28x28.h"
#include "Times_New_Roman28x27.h"
// my functions
void drawClock(void);
void drawAnalogTime(void);
void drawDigitalTime(void);
-void drawTemp(void);
+void drawTempAM2302(void);
+void drawTempSHT(void);
void drawPressure(void);
void SetTime(void);
void UpdateDisplay(void);
+void UpdateDisplayNoStore(void);
+void switchBackLight(void);
void storeData(void);
void showGraph(void);
int map (int ,int , int , int , int);
@@ -66,8 +81,8 @@
// analog clock size and locate
#define CLOCK_RADIUS 64 // radius of clock face
-#define CLOCK_CENTER_X 68 // If you adjust the radius, you'll probably want to adjust this
-#define CLOCK_CENTER_Y 68 // If you adjust the radius, you'll probably want to adjust this
+#define CLOCK_CENTER_X 82 // If you adjust the radius, you'll probably want to adjust this
+#define CLOCK_CENTER_Y 150 // If you adjust the radius, you'll probably want to adjust this
// Maximum of stored value into eeprom
#define max_datastorage 576 // 576 * 6 = 3456
@@ -78,6 +93,9 @@
#define FAIR 1020
#define SUNNY 1030 // hPa
+#define BGCOLOR 0x0000
+#define TEXTCOLOR 0xFFFF
+
// the TFT is connected to SPI
SPI_TFT_ILI9341 TFT(PA_7, PA_6, PA_5, PB_6, PA_9, PC_7,"TFT"); // NUCLEO mosi, miso, sclk, cs, reset, dc
@@ -85,31 +103,39 @@
SDFileSystem sd(PB_15, PB_14, PB_13, PB_12, "sd"); // MOSI, MISO, SCLK, SSEL
I2C i2c(PB_9, PB_8); // sda, scl
+
BMP180 bmp(PB_9, PB_8);
DS3231 rtc(PB_9,PB_8);
_24LCXXX eeprom(&i2c, 0x57);
-RHT03 humtemp(PA_10); //Initalise the RHT03 (change pin number to the pin its connected to)
+SHTx::SHT15 sht11(PB_11, PB_10);// SDA,SCL extra I2C port needed for sht1x sensor
+RHT03 humtemp(PA_10); //Initalise the RHT03 (change pin number to the pin its connected to)
// set interrupts
-InterruptIn RTCInt(PB_4);
-InterruptIn ShowGraphInt(PB_5);
+InterruptIn RTCInt(PC_4); // from rtc module
+InterruptIn ShowGraphInt(PC_2); // from touch pad [1]
+InterruptIn UpDispInt(PC_3); // from touch pad [2]
+//InterruptIn (PC_10); // not yet used [3]
+InterruptIn BackLight(PC_5); // from touch pad [4]
+
+DigitalOut TFTBL(PB_3); // backlit control
int main()
{
char Control;
int err;
- //unsigned int y;
// Test if SD-Card works
//FILE *fp = fopen("/sd/mbed.txt", "a");
//fprintf(fp, "Hello World!\n");
//fclose(fp);
+
+ TFTBL = 1; // Switch back light on
- TFT.set_orientation(0);
+ TFT.set_orientation(1); // Oriantation landscape
TFT.claim(stdout); // send stdout to the TFT display
TFT.claim(stderr); // send stderr to the TFT display
- TFT.background(White); // set background to black
- TFT.foreground(Black); // set chars to white
+ TFT.background(BGCOLOR); // set background color
+ TFT.foreground(TEXTCOLOR); // set chars color
TFT.set_font((unsigned char*) Arial12x12);
TFT.cls(); // clear the screen
@@ -121,16 +147,23 @@
TFT.cls(); // clear the screen
*/
+ sht11.update();
+
+
TFT.locate(0,0);
- printf(" Hello Mbed ");
- TFT.Bitmap(20,20,172,55,p1);
- err = TFT.BMP_16(2,80,"/sd/rain.bmp"); // load test.bmp from external SD-card
+ printf(" Hello mbed.org ");
+ TFT.locate(100,0);
+ printf("Temp: %2.2f Hum: %2.2f",sht11.getTemperature(),sht11.getHumidity());
+ //TFT.Bitmap(20,20,172,55,p1);
+ err = TFT.BMP_16(2,20,"/sd/sun_b.bmp"); // load bmp from external SD-card
if (err != 1) TFT.printf(" - Err: %d",err);
- err = TFT.BMP_16(82,80,"/sd/cloud.bmp"); // load test.bmp from external SD-card
+ err = TFT.BMP_16(100,20,"/sd/suncloud_b.bmp"); // load bmp from external SD-card
+ if (err != 1) TFT.printf(" - Err: %d",err);
+ err = TFT.BMP_16(200,20,"/sd/cloud_b.bmp"); // load bmp from external SD-card
if (err != 1) TFT.printf(" - Err: %d",err);
- err = TFT.BMP_16(2,160,"/sd/suncloud.bmp"); // load test.bmp from external SD-card
+ err = TFT.BMP_16(2,120,"/sd/rain_b.bmp"); // load bmp from external SD-card
if (err != 1) TFT.printf(" - Err: %d",err);
- err = TFT.BMP_16(82,160,"/sd/sun.bmp"); // load test.bmp from external SD-card
+ err = TFT.BMP_16(100,120,"/sd/thunder_b.bmp"); // load bmp from external SD-card
if (err != 1) TFT.printf(" - Err: %d",err);
@@ -148,19 +181,27 @@
rtc.writeRegister(DS3231_Control_Status,Control);
- wait(1); // wait two seconds
+ wait(2); // wait a second
UpdateDisplay();
- RTCInt.fall(&UpdateDisplay); // interrupt for display update every minute called by rtc alarm
+ ShowGraphInt.rise(&showGraph); // interrupt for showing value history diagram. called by a button or capacitive touch switch
- ShowGraphInt.fall(&showGraph); // interrupt for showing value history diagram. called by a button or capacitive touch switch
+ BackLight.rise(&switchBackLight); // interrupt for showing value history diagram. called by a button or capacitive touch switch
+
+ UpDispInt.rise(&UpdateDisplayNoStore);
+
+ RTCInt.fall(&UpdateDisplay); // interrupt every minute called by rtc alarm for display update
while(1) {
wait(10.0);
}
}
+void switchBackLight(void)
+{
+ TFTBL = !TFTBL;
+ }
void UpdateDisplay(void)
{
@@ -169,7 +210,7 @@
TFT.cls();
- TFT.fillrect(237,317,239,319,Red); // Just for status: during update there is a small red dot at the bottom right corner
+ TFT.fillrect(317,237,319,239,Red); // Just for status: during update there is a small red dot at the bottom right corner
drawClock();
drawAnalogTime();
@@ -177,12 +218,10 @@
drawPressure();
- drawTemp();
+ drawTempSHT();
storeData();
- TFT.fillrect(237,317,239,319,White);
-
// Reset clock alarm
char Control=rtc.readRegister(DS3231_Control_Status)& 0xFC;
rtc.writeRegister(DS3231_Control_Status,Control);
@@ -191,6 +230,24 @@
}
+void UpdateDisplayNoStore(void)
+{ // Data should only stored on rtc interrupt
+
+ TFT.cls();
+
+ TFT.fillrect(317,237,319,239,Red); // Just for status: during update there is a small red dot at the bottom right corner
+
+ drawClock();
+ drawAnalogTime();
+ drawDigitalTime();
+
+ drawPressure();
+
+ drawTempAM2302();
+
+}
+
+
// store every ten minute values into file and eeprom
void storeData(void)
{
@@ -198,8 +255,6 @@
unsigned int store_address;
char b[6];
- //led1=0;
-
rtc.readDateTime(&dayOfWeek,&date,&month,&year,&hour,&minute,&second);
// Save only every 10 minutes
@@ -232,7 +287,6 @@
}
- //led1=1;
}
// show grap of stored data (at the moment landscape oriented. not yet changed to potrait display)
@@ -240,22 +294,24 @@
{
unsigned int store_address,i;
char b[6];
- char temp_arr[204], temp_min, temp_max;
- char humidity_arr[204], hum_min, hum_max;
- int pressure_arr[204], press_min, press_max;
+ char temp_arr[250], temp_min, temp_max;
+ char humidity_arr[250], hum_min, hum_max;
+ int pressure_arr[250], press_min, press_max;
eeprom.nbyte_read( COUNTERADDRESS, &store_address, sizeof(int) );
+ TFTBL = 1; // Switch back light on
+
TFT.set_font((unsigned char*) Courier9x15);
- TFT.set_orientation(1);
+ //TFT.set_orientation(1);
TFT.cls();
- TFT.line(58,8,58,50,0);
- TFT.line(56,48,263,48,0);
- TFT.line(58,60,58,102,0);
- TFT.line(56,100,263,100,0);
- TFT.line(58,112,58,154,0);
- TFT.line(56,152,263,152,0);
+ TFT.line(68,8,68,50,TEXTCOLOR);
+ TFT.line(66,48,319,48,TEXTCOLOR);
+ TFT.line(68,80,68,122,TEXTCOLOR);
+ TFT.line(66,120,319,120,TEXTCOLOR);
+ TFT.line(68,152,68,204,TEXTCOLOR);
+ TFT.line(66,202,319,202,TEXTCOLOR);
// store_address is allways one step ahead of last stored values
if ( store_address == 0)
@@ -272,17 +328,19 @@
press_max = 0;
// Read from EEPROM storage into arrays
- for (i=0; i<204; i++) {
+ for (i=0; i<250; i++) {
eeprom.nbyte_read( store_address, &b, 6);
// draw every 2 hour an line
if ( b[2] == 0 && (b[1]%4 == 0 || b[1] == 0) ) {
- TFT.line(263-i,46,263-i,50,1);
- TFT.line(263-i,98,263-i,102,1);
- TFT.line(263-i,150,263-i,154,1);
- TFT.locate(254-i,158);
+ TFT.line(319-i,46,319-i,50,TEXTCOLOR);
+ TFT.line(319-i,118,319-i,122,TEXTCOLOR);
+ TFT.line(319-i,200,319-i,204,TEXTCOLOR);
if ( i > 15 ) // do not write at the right border
+ {
+ TFT.locate(310-i,208);
printf("%2i",b[1]);
+ }
}
// store temp into array and check min max
@@ -329,38 +387,35 @@
hum_min = hum_min - (hum_min%5);
hum_max += 1;
hum_max = hum_max + (5 - (hum_max%5));
- TFT.locate(0,54);
+ TFT.locate(0,74);
printf("%i%%",hum_max);
- TFT.locate(0,92);
+ TFT.locate(0,112);
printf("%i%%",hum_min);
press_min -= 1;
press_min = press_min - (press_min%5);
press_max += 1;
press_max = press_max + (5 - (press_max%5));
- TFT.locate(0,106);
+ TFT.locate(0,146);
printf("%ihPa",press_max);
- TFT.locate(0,144);
+ TFT.locate(0,184);
printf("%ihPa",press_min);
// drawing lines
- for (i=0; i<204; i++) {
+ for (i=0; i<250; i++) {
// temp line
- TFT.pixel(263-i,map(temp_arr[i],temp_min,temp_max,48,8),Red);
+ TFT.pixel(319-i,map(temp_arr[i],temp_min,temp_max,48,8),Red);
// humidity line
- TFT.pixel(263-i,map(humidity_arr[i],hum_min,hum_max,100,60),Blue);
+ TFT.pixel(319-i,map(humidity_arr[i],hum_min,hum_max,120,80),Blue);
// pressure line
- TFT.pixel(263-i,map(pressure_arr[i],press_min,press_max,152,112),Green);
+ TFT.pixel(319-i,map(pressure_arr[i],press_min,press_max,202,152),Green);
}
- //epaper.write_disp(); // update screen
- TFT.set_orientation(0);
-
}
// draw temp and humidity
-void drawTemp(void)
+void drawTempAM2302(void)
{
int done=0, i;
float temp,hum;
@@ -372,27 +427,45 @@
i=5;
}
}
- /*
- while(!done) { //Loop keeps running until RHT03 is read succesfully
- wait(2.2); //Needed to make sure the sensor has time to initalise and so its not polled too quickly
- if(humtemp.readData() == RHT_ERROR_NONE) done=1; //Request data from the RHT03
- }
- */
if(done) { // only if read was successful
temp = humtemp.getTemperatureC(); //Gets the current temperature in centigrade
store_temp = temp;
hum = humtemp.getHumidity(); //Gets the current humidity in percentage
store_humidity = hum;
+ TFT.fillrect(317,237,319,239,BGCOLOR);
} else { // read was not successful, take old values
temp = store_temp;
hum = store_humidity;
+ TFT.fillrect(317,237,319,239,0x7000);
}
- TFT.set_font((unsigned char*) Times_New_Roman28x27); // select the font
- TFT.locate(156,0);
+ //TFT.set_font((unsigned char*) Times_New_Roman28x27); // select the font
+ TFT.set_font((unsigned char*) Arial28x28); // select the font
+ TFT.locate(232,0);
printf("%2.0f%cC",temp,127);
- TFT.locate(156,31);
+ TFT.locate(240,40);
+ printf("%2.0f%%",hum);
+
+}
+
+void drawTempSHT(void)
+{
+ float temp,hum;
+
+ sht11.update();
+
+ temp = sht11.getTemperature(); //Gets the current temperature
+ store_temp = temp;
+ hum = sht11.getHumidity(); //Gets the current humidity in percentage
+ store_humidity = hum;
+ TFT.fillrect(317,237,319,239,BGCOLOR);
+
+ //TFT.set_font((unsigned char*) Times_New_Roman28x27); // select the font
+ TFT.set_font((unsigned char*) Arial28x28); // select the font
+ TFT.locate(232,0);
+ printf("%2.0f%cC",temp,127);
+ TFT.locate(240,40);
printf("%2.0f%%",hum);
}
@@ -408,26 +481,27 @@
Pressure /= 100; // convert to hPa
- TFT.set_font((unsigned char*) Times_New_Roman28x27); // select the font
- TFT.locate(0,138);
+ //TFT.set_font((unsigned char*) Times_New_Roman28x27); // select the font
+ TFT.set_font((unsigned char*) Arial28x28); // select the font
+ TFT.locate(180,200);
printf("%4dhPa",Pressure);
TFT.set_font((unsigned char*) Courier9x15);
- TFT.locate(0,168);
+ TFT.locate(220,100);
printf("%i,%1i%cC",BMP180_Temperature/10,BMP180_Temperature%10,127);
// Draw some weather icons for test
int err ;
if ( Pressure < RAIN ) {
- err = TFT.BMP_16(2,190,"/sd/rain.bmp"); // load test.bmp from external SD-card
+ err = TFT.BMP_16(192,92,"/sd/rain_b.bmp"); // load test.bmp from external SD-card
if (err != 1) TFT.printf(" - Err: %d",err);
} else if ( Pressure < CHANGE ) {
- err = TFT.BMP_16(2,190,"/sd/cloud.bmp"); // load test.bmp from external SD-card
+ err = TFT.BMP_16(192,92,"/sd/cloud_b.bmp"); // load test.bmp from external SD-card
if (err != 1) TFT.printf(" - Err: %d",err);
} else if ( Pressure < FAIR ) {
- err = TFT.BMP_16(2,190,"/sd/suncloud.bmp"); // load test.bmp from external SD-card
+ err = TFT.BMP_16(192,92,"/sd/suncloud_b.bmp"); // load test.bmp from external SD-card
if (err != 1) TFT.printf(" - Err: %d",err);
} else {
- err = TFT.BMP_16(2,190,"/sd/sun.bmp"); // load test.bmp from external SD-card
+ err = TFT.BMP_16(192,92,"/sd/sun_b.bmp"); // load test.bmp from external SD-card
if (err != 1) TFT.printf(" - Err: %d",err);
}
@@ -442,18 +516,24 @@
rtc.readDateTime(&dayOfWeek,&date,&month,&year,&hour,&minute,&second);
- TFT.set_font((unsigned char*) Times_New_Roman28x27); // select the font
- TFT.locate(0,290);
+ //TFT.set_font((unsigned char*) Times_New_Roman28x27); // select the font
+ TFT.set_font((unsigned char*) Arial28x28); // select the font
if (date > 0) {
- printf("%02i.%02i.%i %02i:%02d",date,month,year,hour,minute);
+ TFT.locate(0,0);
+ printf("%02i.%02i.%i",date,month,year);
+ TFT.locate(44,40);
+ printf("%02i:%02d",hour,minute);
} else {
+ TFT.locate(0,0);
printf("Error read RTC");
}
}
// guess what ;-)
+// procedure to set time. mosty only used once for rtc
+// rtc module wil keep time with battery
void SetTime()
{
// DS3231
@@ -487,9 +567,9 @@
y3 = CLOCK_CENTER_Y + 3 * cos(3.14 * ((double) (m + 90))/180);
x2 = CLOCK_CENTER_X + (CLOCK_RADIUS - 20) * sin(3.14 * ((double) m)/180);
y2 = CLOCK_CENTER_Y + (CLOCK_RADIUS - 20) * cos(3.14 * ((double) m)/180);
- TFT.line(x1,y1,x2,y2,0x001F);
- TFT.line(x3,y3,x2,y2,0x001F);
- TFT.line(x1,y1,x3,y3,0x001F);
+ TFT.line(x1,y1,x2,y2,Red);
+ TFT.line(x3,y3,x2,y2,Red);
+ TFT.line(x1,y1,x3,y3,Red);
// Draw hour hand
@@ -514,9 +594,9 @@
y3 = CLOCK_CENTER_Y + 3 * cos(3.14 * ((double) (h + 90))/180);
x2 = CLOCK_CENTER_X + (CLOCK_RADIUS - 32) * sin(3.14 * ((double) h)/180);
y2 = CLOCK_CENTER_Y + (CLOCK_RADIUS - 32) * cos(3.14 * ((double) h)/180);
- TFT.line(x1,y1,x2,y2,0xF400);
- TFT.line(x3,y3,x2,y2,0xF400);
- TFT.line(x1,y1,x3,y3,0xF400);
+ TFT.line(x1,y1,x2,y2,Green);
+ TFT.line(x3,y3,x2,y2,Green);
+ TFT.line(x1,y1,x3,y3,Green);
}
@@ -526,14 +606,14 @@
{
int x1, x2, y1, y2;
- TFT.background(White); // set background to black
- TFT.foreground(Black); // set chars to white
- TFT.set_font((unsigned char*) Arial12x12);
+ TFT.background(BGCOLOR); // set background to black
+ TFT.foreground(TEXTCOLOR); // set chars to white
- TFT.fillcircle(CLOCK_CENTER_X,CLOCK_CENTER_Y,CLOCK_RADIUS,0x0000);
- TFT.fillcircle(CLOCK_CENTER_X,CLOCK_CENTER_Y,CLOCK_RADIUS-4,0xFFFF);
+ TFT.fillcircle(CLOCK_CENTER_X,CLOCK_CENTER_Y,CLOCK_RADIUS,TEXTCOLOR);
+ TFT.fillcircle(CLOCK_CENTER_X,CLOCK_CENTER_Y,CLOCK_RADIUS-4,BGCOLOR);
/*
+ TFT.set_font((unsigned char*) Arial12x12);
TFT.locate( CLOCK_CENTER_X - 8, CLOCK_CENTER_Y - CLOCK_RADIUS + 6);
printf("12");
TFT.locate( CLOCK_CENTER_X - CLOCK_RADIUS + 6, CLOCK_CENTER_Y - 6);
@@ -548,73 +628,73 @@
y1 = CLOCK_CENTER_Y + (CLOCK_RADIUS - 16);
x2 = CLOCK_CENTER_X + 1;
y2 = CLOCK_CENTER_Y + (CLOCK_RADIUS - 6);
- TFT.fillrect(x1,y1,x2,y2,0x0000);
+ TFT.fillrect(x1,y1,x2,y2,TEXTCOLOR);
x1 = CLOCK_CENTER_X - 1;
y1 = CLOCK_CENTER_Y - (CLOCK_RADIUS - 6);
x2 = CLOCK_CENTER_X + 1;
y2 = CLOCK_CENTER_Y - (CLOCK_RADIUS - 16);
- TFT.fillrect(x1,y1,x2,y2,0x0000);
+ TFT.fillrect(x1,y1,x2,y2,TEXTCOLOR);
x1 = CLOCK_CENTER_X + (CLOCK_RADIUS - 16);
y1 = CLOCK_CENTER_Y - 1;
x2 = CLOCK_CENTER_X + (CLOCK_RADIUS - 6);
y2 = CLOCK_CENTER_Y + 1;
- TFT.fillrect(x1,y1,x2,y2,0x0000);
+ TFT.fillrect(x1,y1,x2,y2,TEXTCOLOR);
x1 = CLOCK_CENTER_X - (CLOCK_RADIUS - 6);
y1 = CLOCK_CENTER_Y - 1;
x2 = CLOCK_CENTER_X - (CLOCK_RADIUS - 16);
y2 = CLOCK_CENTER_Y + 1;
- TFT.fillrect(x1,y1,x2,y2,0x0000);
+ TFT.fillrect(x1,y1,x2,y2,TEXTCOLOR);
x1 = CLOCK_CENTER_X + (CLOCK_RADIUS - 13) * sin(3.14 * ((double) 30)/180);
y1 = CLOCK_CENTER_Y + (CLOCK_RADIUS - 13) * cos(3.14 * ((double) 30)/180);
x2 = CLOCK_CENTER_X + (CLOCK_RADIUS - 6) * sin(3.14 * ((double) 30)/180);
y2 = CLOCK_CENTER_Y + (CLOCK_RADIUS - 6) * cos(3.14 * ((double) 30)/180);
- TFT.line(x1,y1,x2,y2,0x0000);
+ TFT.line(x1,y1,x2,y2,TEXTCOLOR);
x1 = CLOCK_CENTER_X + (CLOCK_RADIUS - 13) * sin(3.14 * ((double) 60)/180);
y1 = CLOCK_CENTER_Y + (CLOCK_RADIUS - 13) * cos(3.14 * ((double) 60)/180);
x2 = CLOCK_CENTER_X + (CLOCK_RADIUS - 6) * sin(3.14 * ((double) 60)/180);
y2 = CLOCK_CENTER_Y + (CLOCK_RADIUS - 6) * cos(3.14 * ((double) 60)/180);
- TFT.line(x1,y1,x2,y2,0x0000);
+ TFT.line(x1,y1,x2,y2,TEXTCOLOR);
x1 = CLOCK_CENTER_X + (CLOCK_RADIUS - 13) * sin(3.14 * ((double) 120)/180);
y1 = CLOCK_CENTER_Y + (CLOCK_RADIUS - 13) * cos(3.14 * ((double) 120)/180);
x2 = CLOCK_CENTER_X + (CLOCK_RADIUS - 6) * sin(3.14 * ((double) 120)/180);
y2 = CLOCK_CENTER_Y + (CLOCK_RADIUS - 6) * cos(3.14 * ((double) 120)/180);
- TFT.line(x1,y1,x2,y2,0x0000);
+ TFT.line(x1,y1,x2,y2,TEXTCOLOR);
x1 = CLOCK_CENTER_X + (CLOCK_RADIUS - 13) * sin(3.14 * ((double) 150)/180);
y1 = CLOCK_CENTER_Y + (CLOCK_RADIUS - 13) * cos(3.14 * ((double) 150)/180);
x2 = CLOCK_CENTER_X + (CLOCK_RADIUS - 6) * sin(3.14 * ((double) 150)/180);
y2 = CLOCK_CENTER_Y + (CLOCK_RADIUS - 6) * cos(3.14 * ((double) 150)/180);
- TFT.line(x1,y1,x2,y2,0x0000);
+ TFT.line(x1,y1,x2,y2,TEXTCOLOR);
x1 = CLOCK_CENTER_X + (CLOCK_RADIUS - 13) * sin(3.14 * ((double) 210)/180);
y1 = CLOCK_CENTER_Y + (CLOCK_RADIUS - 13) * cos(3.14 * ((double) 210)/180);
x2 = CLOCK_CENTER_X + (CLOCK_RADIUS - 6) * sin(3.14 * ((double) 210)/180);
y2 = CLOCK_CENTER_Y + (CLOCK_RADIUS - 6) * cos(3.14 * ((double) 210)/180);
- TFT.line(x1,y1,x2,y2,0x0000);
+ TFT.line(x1,y1,x2,y2,TEXTCOLOR);
x1 = CLOCK_CENTER_X + (CLOCK_RADIUS - 13) * sin(3.14 * ((double) 240)/180);
y1 = CLOCK_CENTER_Y + (CLOCK_RADIUS - 13) * cos(3.14 * ((double) 240)/180);
x2 = CLOCK_CENTER_X + (CLOCK_RADIUS - 6) * sin(3.14 * ((double) 240)/180);
y2 = CLOCK_CENTER_Y + (CLOCK_RADIUS - 6) * cos(3.14 * ((double) 240)/180);
- TFT.line(x1,y1,x2,y2,0x0000);
+ TFT.line(x1,y1,x2,y2,TEXTCOLOR);
x1 = CLOCK_CENTER_X + (CLOCK_RADIUS - 13) * sin(3.14 * ((double) 300)/180);
y1 = CLOCK_CENTER_Y + (CLOCK_RADIUS - 13) * cos(3.14 * ((double) 300)/180);
x2 = CLOCK_CENTER_X + (CLOCK_RADIUS - 6) * sin(3.14 * ((double) 300)/180);
y2 = CLOCK_CENTER_Y + (CLOCK_RADIUS - 6) * cos(3.14 * ((double) 300)/180);
- TFT.line(x1,y1,x2,y2,0x0000);
+ TFT.line(x1,y1,x2,y2,TEXTCOLOR);
x1 = CLOCK_CENTER_X + (CLOCK_RADIUS - 13) * sin(3.14 * ((double) 330)/180);
y1 = CLOCK_CENTER_Y + (CLOCK_RADIUS - 13) * cos(3.14 * ((double) 330)/180);
x2 = CLOCK_CENTER_X + (CLOCK_RADIUS - 6) * sin(3.14 * ((double) 330)/180);
y2 = CLOCK_CENTER_Y + (CLOCK_RADIUS - 6) * cos(3.14 * ((double) 330)/180);
- TFT.line(x1,y1,x2,y2,0x0000);
+ TFT.line(x1,y1,x2,y2,TEXTCOLOR);
}
--- a/mbed.bld Sat May 17 22:59:43 2014 +0000 +++ b/mbed.bld Sun Jun 01 13:21:48 2014 +0000 @@ -1,1 +1,1 @@ -http://mbed.org/users/mbed_official/code/mbed/builds/8a40adfe8776 \ No newline at end of file +http://mbed.org/users/mbed_official/code/mbed/builds/0b3ab51c8877 \ No newline at end of file