Demo code and library for teh SSD0139 screen on an arduino header For Oxford University Engineering Coursework Module

Dependencies:   LCDTFT_ssd0139 mbed

Files at this revision

API Documentation at this revision

Comitter:
cstevens
Date:
Mon Jun 06 13:40:16 2016 +0000
Parent:
0:92feefa9d5ba
Commit message:
library and demo code for tft ssd0139 controller on a 240x320 screen

Changed in this revision

LCDTFT.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/LCDTFT.lib	Tue Sep 02 09:02:37 2014 +0000
+++ b/LCDTFT.lib	Mon Jun 06 13:40:16 2016 +0000
@@ -1,1 +1,1 @@
-http://mbed.org/users/Suky/code/LCDTFT/#ebedda77b33b
+http://mbed.org/users/cstevens/code/LCDTFT_ssd0139/#f999653c1069
--- a/main.cpp	Tue Sep 02 09:02:37 2014 +0000
+++ b/main.cpp	Mon Jun 06 13:40:16 2016 +0000
@@ -1,8 +1,8 @@
 #include "mbed.h"
   #include "LCDTFT.h"
   
- //BusOut     MyBus(p13,p14,p15,p16,p17,p18,p19,p20,p30,p29,p28,p27,p26,p25,p24,p23);
- BusOut MyBus(PTA13,PTD5,PTD4,PTA12,PTA4,PTA5,PTC8,PTC9);
+
+ BusOut MyBus(PTA13,PTD5,PTD4,PTA12,PTA4,PTA5,PTC8,PTC9); // 8 bit bus on these dvices
  LCDTFT     MyLCD(PTB0,PTB1,PTB2,PTB3,PTC2,&MyBus);//LCDTFT(PinName PIN_RD,PinName PIN_WR,PinName PIN_RS,PinName PIN_CS,PinName PIN_RESET, BusOut *BUSLCD);
  
  int main(){
@@ -10,6 +10,40 @@
   //landscape ?
          MyLCD.vLCDTFTInit(1);
          
+  MyLCD.vLCDTFTFillScreen(ColorWhite);
+        MyLCD.vLCDTFTSetParametersPrintf(3,3,3,300,2,ColorBlue,ColorWhite);
+      MyLCD.printf("Dive Profile"); 
+   MyLCD.vLCDTFTRectangle(30,40,315,200,0,ColorBlack);
+int a=0;
+       int depth=0;
+              short int x,y;
+    //dummy profile
+    for(a=1;a<279;a++){
+        depth=40+5.5*16*sin(a*a*3.14/280/280);
+        MyLCD.vLCDTFTLine(a+30,depth,a+30,41,ColorCian);
+        MyLCD.vLCDTFTPoint(a+30,depth,ColorBlue);
+        }
+  //tics
+   for(a=0;a<10;a++)
+   {    if(a>0)
+   {
+        MyLCD.vLCDTFTLine(40,40+a*16,315,40+a*16,ColorNavy);
+          MyLCD.vLCDTFTLine(30+a*28,50,30+a*28,200,ColorNavy);
+        }
+        MyLCD.vLCDTFTLine(30,40+a*16,40,40+a*16,ColorBlack);
+        MyLCD.vLCDTFTLine(30+a*28,40,30+a*28,50,ColorBlack);
+      
+        MyLCD.vLCDTFTSetParametersPrintf(3,40+a*16-3,3,28,1,ColorRed,ColorWhite);
+      MyLCD.printf("%d",a*5); 
+             MyLCD.vLCDTFTSetParametersPrintf(30+a*28-3,30,30+a*28-3,319,1,ColorRed,ColorWhite);
+      MyLCD.printf("%d",a*5); 
+       }
+     a=200;
+     x=a+30;
+     y=40+5.5*16*sin(a*a*3.14/280/280);
+       MyLCD.vLCDTFTCircle(200,y-6,6,1,ColorNaranja);
+       
+       wait(10);
      
      
       
@@ -28,11 +62,12 @@
      wait(1);
      MyLCD.vLCDTFTFillScreen(ColorWhite);
      wait(2);
-        short int x,y;
+ 
         y=250;
          for(x=0;x<240;x++){
                MyLCD.vLCDTFTPoint(x,y,ColorGreen);
                wait_ms(1);
+               MyLCD.vLCDTFTLine(x,160,x,250,x*80);
          } //endfor
 
   // red square
@@ -77,7 +112,7 @@
       
          MyLCD.vLCDTFTSetParametersPrintf(30,200,30,233,2,ColorRed,ColorBlack);
          MyLCD.printf("Countdown\n"); 
-    int a=0;
+    
     for(a=10;a>0;a--){
           MyLCD.vLCDTFTSetParametersPrintf(30,260,30,233,2,ColorRed,ColorBlack);
       MyLCD.printf("%d ",a); 
@@ -105,9 +140,5 @@
       MyLCD.printf("fO2 %%:\n 27.3\n 26.5\n 27.1"); 
 wait(5);
 
-for(a=0;a<320;a++){
-    MyLCD.vLCDTFTPoint(a,180,ColorBlue);
-    }
-
  }// endwhile
  } //endmain
\ No newline at end of file