Dual CANbus monitor and instrumentation cluster
Dependencies: SPI_TFTx2 TFT_fonts TOUCH_TFTx2 beep mbed
Fork of CANary by
Revision 18:999401f359a5, committed 2013-03-04
- Comitter:
- TickTock
- Date:
- Mon Mar 04 14:00:49 2013 +0000
- Parent:
- 17:e32324a2678d
- Child:
- 19:d576298c46f3
- Commit message:
- Added buttons for requesting cp data.
Changed in this revision
--- a/common.h Mon Mar 04 04:41:24 2013 +0000 +++ b/common.h Mon Mar 04 14:00:49 2013 +0000 @@ -17,5 +17,9 @@ #define btn32x2 204 #define btn33x1 218 #define btn33x2 307 -#define btn11y1 180 -#define btn11y2 229 +#define btn31y1 12 +#define btn31y2 77 +#define btn32y1 87 +#define btn32y2 152 +#define btn33y1 162 +#define btn33y2 228
--- a/displayModes.cpp Mon Mar 04 04:41:24 2013 +0000 +++ b/displayModes.cpp Mon Mar 04 14:00:49 2013 +0000 @@ -245,12 +245,36 @@ break; case monitorScreen: printLast(changed); + if(sMode==1){ + 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"); + 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"); + } break; case changedScreen: printChanged(changed); break; case cpScreen: cpData(changed||showCP); + if(sMode==1){ + 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"); + } break; default: tt.background(Black); @@ -264,18 +288,18 @@ tt.foreground(Yellow); tt.background(DarkCyan); tt.set_font((unsigned char*) Arial12x12); - tt.fillrect(btn31x1,btn11y1,btn31x2,btn11y2,DarkCyan); - tt.locate(btn31x1+5,btn11y1+5); + tt.fillrect(btn31x1,btn33y1,btn31x2,btn33y2,DarkCyan); + tt.locate(btn31x1+5,btn33y1+5); printf("<-Prev\n"); - tt.fillrect(btn32x1,btn11y1,btn32x2,btn11y2,DarkCyan); - tt.fillrect(btn33x1,btn11y1,btn33x2,btn11y2,DarkCyan); - tt.locate(btn33x2-50,btn11y1+5); + 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,btn11y1+5); + tt.locate(btn32x1+15,btn33y1+5); printf("Select %d\n",dMode[0]); tt.set_display(1); - tt.locate(btn32x1+15,btn11y1+5); + tt.locate(btn32x1+15,btn33y1+5); printf("Select %d\n",dMode[1]); tt.background(Black); break;
--- a/main.cpp Mon Mar 04 04:41:24 2013 +0000 +++ b/main.cpp Mon Mar 04 14:00:49 2013 +0000 @@ -60,7 +60,7 @@ volatile bool canIdle = false, userIdle = false; bool touched=0; //flag to read touchscreen char counter = 0; -unsigned char dMode[2] = {1,2}; //display mode +unsigned char dMode[2] = {1,7}; //display mode unsigned char sMode = 0; // setup mode unsigned char lastDMode[2] = {0,0}; //last screen mode char displayLog[20][40]; @@ -139,7 +139,7 @@ // Look for new binary // Can't make this work right now since USB doesn't attach the right timestamp (so new binary isn't loaded) - cfile = fopen("/fs/CANary.bin", "rb"); + /*cfile = fopen("/fs/CANary.bin", "rb"); if (cfile!=NULL){ //found a new binary on the thumbdrive so copy it over sprintf(sTemp,"New binary found.\n"); logMsg(sTemp); @@ -148,18 +148,28 @@ sprintf(sTemp,"Unable to open destination file.\n"); logMsg(sTemp); } else { + tt.set_display(2); + tt.foreground(White); + tt.background(Black); + tt.cls(); + tt.locate(1,40); + printf("%s\n","Copying binary - Do no remove power."); + tt.locate(1,80); + printf("CANary will reset when complete.\n"); + wait(1); //Wait 1 sec for display DMA to finish before writing file while ( int size = fread( writeBuffer, sizeof(char), maxBufLen*13, cfile )){ fwrite( writeBuffer, sizeof(char), size, file ); + led4=led3; + led3=led2; + led2=led1; + led1=!led4; } fclose(cfile); fclose(file); remove("/fs/CANary.bin"); // delete original mbed_reset(); //restart } - } else { - sprintf(sTemp,"No binary found.\n"); - logMsg(sTemp); - } + }*/ // Look for config file cfile = fopen("/local/config.txt", "r"); @@ -289,7 +299,7 @@ } else { i=0; } - if (lastTouch.y>btn11y1 && lastTouch.y<btn11y2) { + if (lastTouch.y>btn33y1 && lastTouch.y<btn33y2) { if(sMode==1){ if (lastTouch.x>btn31x1 && lastTouch.x<btn31x2) { dMode[i]=dMode[i]>0?dMode[i]-1:maxScreens; @@ -299,7 +309,7 @@ dMode[i]=dMode[i]<maxScreens?dMode[i]+1:0; } } else sMode=1; - } else { + } else if (lastTouch.y>btn31y1 && lastTouch.y<btn31y2){ if (dMode[i]==monitorScreen||dMode[i]==changedScreen) { if (lastTouch.x>btn31x1 && lastTouch.x<btn31x2) { indexOffset=indexOffset>4?indexOffset-4:1;