Attempts to merge SPI_TFT2 & SPI_TFT_ILI9341

Dependencies:   SPI_TFTx2 TFT_fonts TOUCH_TFTx2 mbed

Fork of CANary by Tick Tock

Revision:
22:a43df3905863
Parent:
18:999401f359a5
Child:
23:cd03f9c3395e
--- a/displayModes.cpp	Fri Mar 08 04:43:24 2013 +0000
+++ b/displayModes.cpp	Mon Mar 11 06:23:00 2013 +0000
@@ -1,6 +1,7 @@
 //displayModes.cpp
 
 #include "displayModes.h"
+char sTemp[16];
 
 void printLast (bool force){
     CANMessage msg;
@@ -249,15 +250,19 @@
                 tt.foreground(Yellow);
                 tt.background(DarkCyan);
                 tt.set_font((unsigned char*) Arial12x12);
-                tt.fillrect(btn31x1,btn31y1,btn31x2,btn31y2,DarkCyan);
-                tt.locate(btn31x1+5,btn31y1+5);
-                printf(" <up>\n");                
+                sprintf(sTemp,"<up>");
+                showButton(0,0,sTemp,3,3);
+                //tt.fillrect(btn31x1,btn31y1,btn31x2,btn31y2,DarkCyan);
+                //tt.locate(btn31x1+5,btn31y1+5);
+                //printf(" <up>\n");                
                 tt.foreground(Yellow);
                 tt.background(DarkCyan);
                 tt.set_font((unsigned char*) Arial12x12);
-                tt.fillrect(btn33x1,btn31y1,btn33x2,btn31y2,DarkCyan);
-                tt.locate(btn33x1+5,btn31y1+5);
-                printf(" <down>\n");                
+                sprintf(sTemp,"<down>");
+                showButton(2,0,sTemp,3,3);
+                //tt.fillrect(btn33x1,btn31y1,btn33x2,btn31y2,DarkCyan);
+                //tt.locate(btn33x1+5,btn31y1+5);
+                //printf(" <down>\n");                
             }
             break;
         case changedScreen:
@@ -269,13 +274,14 @@
                 tt.foreground(Yellow);
                 tt.background(DarkCyan);
                 tt.set_font((unsigned char*) Arial12x12);
-                tt.fillrect(btn32x1,btn31y1,btn32x2,btn31y2,DarkCyan);
-                tt.locate(btn32x1+5,btn31y1+5);
-                printf(" Request\n");                
-                tt.locate(btn32x1+5,btn31y1+20);
-                printf(" CP data\n");                
+                sprintf(sTemp,"Request");
+                showButton(1,0,sTemp,3,3);               
             }
             break;
+        case configScreen:
+            printLog(changed);
+            //sMode=2;
+            break;
         default:
             tt.background(Black);
             tt.cls();
@@ -284,26 +290,60 @@
     lastDMode[display]=dMode[display];
 
     switch (sMode) {
-        case 1:
+        case 1: // Select screens
             tt.foreground(Yellow);
             tt.background(DarkCyan);
             tt.set_font((unsigned char*) Arial12x12);
-            tt.fillrect(btn31x1,btn33y1,btn31x2,btn33y2,DarkCyan);
-            tt.locate(btn31x1+5,btn33y1+5);
-            printf("<-Prev\n");
-            tt.fillrect(btn32x1,btn33y1,btn32x2,btn33y2,DarkCyan);
-            tt.fillrect(btn33x1,btn33y1,btn33x2,btn33y2,DarkCyan);
-            tt.locate(btn33x2-50,btn33y1+5);
-            printf("Next->\n");
-            tt.set_display(0);
-            tt.locate(btn32x1+15,btn33y1+5);
-            printf("Select %d\n",dMode[0]);
-            tt.set_display(1);
-            tt.locate(btn32x1+15,btn33y1+5);
-            printf("Select %d\n",dMode[1]);
-            tt.background(Black);
+            sprintf(sTemp,"<-Prev");
+            showButton(0,2,sTemp,3,3);
+            sprintf(sTemp," Select %d",dMode[display]);
+            showButton(1,2,sTemp,3,3);
+            sprintf(sTemp,"   Next->");
+            showButton(2,2,sTemp,3,3);
             break;
+        case 2: // numpad
+            tt.foreground(Yellow);
+            tt.background(DarkCyan);
+            tt.set_font((unsigned char*) Arial24x23);
+            sprintf(sTemp," 1");
+            showButton(0,0,sTemp,4,4);
+            sprintf(sTemp," 2");
+            showButton(1,0,sTemp,4,4);
+            sprintf(sTemp," 3");
+            showButton(2,0,sTemp,4,4);
+            sprintf(sTemp," 4");
+            showButton(0,1,sTemp,4,4);
+            sprintf(sTemp," 5");
+            showButton(1,1,sTemp,4,4);
+            sprintf(sTemp," 6");
+            showButton(2,1,sTemp,4,4);
+            sprintf(sTemp," 7");
+            showButton(0,2,sTemp,4,4);
+            sprintf(sTemp," 8");
+            showButton(1,2,sTemp,4,4);
+            sprintf(sTemp," 9");
+            showButton(2,2,sTemp,4,4);
+            sprintf(sTemp," 0");
+            showButton(1,3,sTemp,4,4);
+            sprintf(sTemp,"<--");
+            showButton(0,3,sTemp,4,4);
+            sprintf(sTemp,"-->");
+            showButton(2,3,sTemp,4,4);
+            sprintf(sTemp,"rtn");
+            showButton(3,3,sTemp,4,4);
+ 
         default:
             break;
     }
 }
+
+void showButton(unsigned char column, unsigned char row, char * text, unsigned char columns, unsigned char rows){
+    unsigned short x1,x2,y1,y2;
+    x1=column*(320/columns)+btnGap/2;
+    x2=(column+1)*(320/columns)-btnGap/2;
+    y1=row*(240/rows)+btnGap/2;
+    y2=(row+1)*(240/rows)-btnGap/2;
+    tt.fillrect(x1,y1,x2,y2,DarkCyan);
+    tt.locate(x1+btnGap,y1+btnGap);
+    printf("%s\n",text);
+}