![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
Level 2 Project Range Device
Dependencies: N5110 SDFileSystem SRF02 TMP102 mbed
Fork of Ranger by
Diff: main.cpp
- Revision:
- 6:b464a8a94d91
- Parent:
- 5:083d484e95a1
- Child:
- 7:14cfb0df30e6
diff -r 083d484e95a1 -r b464a8a94d91 main.cpp --- a/main.cpp Fri Apr 15 13:25:32 2016 +0000 +++ b/main.cpp Fri Apr 15 17:23:17 2016 +0000 @@ -49,9 +49,9 @@ int r2 = 20; int r3 = 40; int r4 = 60; -int r5 = 90; -int r6 = 120; -int r7 = 150; +int r5 = 80; +int r6 = 100; +int r7 = 120; int subpage; int page; @@ -115,6 +115,7 @@ g_sw1_flag = 0; page = 0; subpage = 0; + lcd.clear(); menu(); } @@ -154,33 +155,43 @@ int length1; char buffer[14]; // each character is 6 pixels wide, screen is 84 pixels (84/6 = 14) char buffer1[14]; // each character is 6 pixels wide, screen is 84 pixels (84/6 = 14) + int length2; + char buffer2[14]; // each character is 6 pixels wide, screen is 84 pixels (84/6 = 14) + int length3; + char buffer3[14]; // each character is 6 pixels wide, screen is 84 pixels (84/6 = 14) + if (alert == 0) { + lcd.clear(); - if (alert == 0) { length1 = sprintf(buffer1,"**PATH CLEAR**",bright); lcd.printString(buffer1,0,0); + lcd.refresh(); + } else { + lcd.clear(); if (units == METRIC) { - length = sprintf(buffer,"D = %i Cm",distance); + length = sprintf(buffer,"%i Cm",distance); length1 = sprintf(buffer1,"****RANGE!****"); + length2 = sprintf(buffer2,"***DISTANCE***"); + length3 = sprintf(buffer3,"Alert = %i",alert); } else { length = sprintf(buffer,"%i Inches",distance); length1 = sprintf(buffer1,"****RANGE!****"); + length2 = sprintf(buffer2,"***DISTANCE***"); } + lcd.printString(buffer,20,3); + lcd.printString(buffer1,0,0); + lcd.printString(buffer2,0,1); + lcd.printString(buffer3,0,2); + float i = r7/84; + float distbar = distance*i; + //drawRect(int x0,int y0,int width,int height,int fill); + lcd.drawRect(0,38,distbar,7,1); + lcd.refresh(); + } - if (length <= 14) { - lcd.printString(buffer,0,1); - lcd.printString(buffer1,0,0); - } - - // draw a line across the display at y = 40 pixels (origin top-left) - for (int i = 0; i < WIDTH; i++) { - lcd.setPixel(i,45); - } - - lcd.refresh(); // need to refresh display after setting pixels } void setalert() @@ -301,29 +312,33 @@ char buffer3[14]; // each character is 6 pixels wide, screen is 84 pixels (84/6 = 14) char buffer1[14]; // each character is 6 pixels wide, screen is 84 pixels (84/6 = 14) char buffer4[14]; // each character is 6 pixels wide, screen is 84 pixels (84/6 = 14 + while(1) { + + if (g_sw1_flag) { g_sw1_flag = 0; page++; + lcd.clear(); } - switch (page) { case 0: if (g_sw2_flag) { g_sw2_flag = 0; // if it has, clear the flag backlight(); - } - lcd.clear(); - - length2 = sprintf(buffer2,"*****MENU*****"); - length1 = sprintf(buffer1,"BACKLIGHT"); - length3 = sprintf(buffer3,"%f.0",bright); - if (length2 <= 14) { + lcd.clear(); + } else { + int lightbar = bright*84; + length2 = sprintf(buffer2,"*****MENU*****"); + length1 = sprintf(buffer1,"BACKLIGHT"); + length3 = sprintf(buffer3,"%.0f%%",bright*100); lcd.printString(buffer2,0,0); lcd.printString(buffer1,0,1); lcd.printString(buffer3,0,2); + lcd.drawRect(0,38,lightbar,7,1); + lcd.refresh(); + } - lcd.refresh(); // need to refresh display after setting pixels break; case 1: @@ -334,17 +349,16 @@ } else { offset += 1; } - } - lcd.clear(); - length2 = sprintf(buffer2,"*****MENU*****"); - length1 = sprintf(buffer1,"OFFSET"); - length3 = sprintf(buffer3,"%i",offset); - if (length2 <= 14) { + } else { + length2 = sprintf(buffer2,"*****MENU*****"); + length1 = sprintf(buffer1,"OFFSET"); + length3 = sprintf(buffer3,"%i",offset); lcd.printString(buffer2,0,0); lcd.printString(buffer1,0,1); lcd.printString(buffer3,0,2); + lcd.refresh(); } - lcd.refresh(); // need to refresh display after setting pixel + break; case 2: @@ -356,7 +370,6 @@ units = METRIC; } } - lcd.clear(); if (units == METRIC) { length3 = sprintf(buffer3,"METRIC"); } else { @@ -365,13 +378,11 @@ length2 = sprintf(buffer2,"*****MENU*****"); length1 = sprintf(buffer1,"UNITS"); - //length3 = sprintf(buffer3,"%i",units); - if (length2 <= 14) { - lcd.printString(buffer2,0,0); - lcd.printString(buffer1,0,1); - lcd.printString(buffer3,0,2); - } - lcd.refresh(); // need to refresh display after setting pixel + lcd.printString(buffer2,0,0); + lcd.printString(buffer1,0,1); + lcd.printString(buffer3,0,2); + + break; case 3: @@ -386,6 +397,8 @@ lcd.printString(buffer3,0,0); lcd.printString(buffer1,0,1); lcd.printString(buffer2,0,2); + + break; default: @@ -393,7 +406,7 @@ return; } } - + lcd.refresh(); } void submenu() { @@ -486,7 +499,7 @@ length2 = sprintf(buffer1,"*****MENU*****"); length3 = sprintf(buffer2,"RANGE"); length3 = sprintf(buffer3,"PARAMETERS"); - length3 = sprintf(buffer4,"%iCm to %iCm",r4,r5); + length3 = sprintf(buffer4,"%iCm to %iCm",r4,r5); lcd.printString(buffer1,0,0); lcd.printString(buffer2,0,1); lcd.printString(buffer3,0,2); @@ -506,7 +519,7 @@ length2 = sprintf(buffer1,"*****MENU*****"); length3 = sprintf(buffer2,"RANGE"); length3 = sprintf(buffer3,"PARAMETERS"); - length3 = sprintf(buffer4,"%iCm to %iCm",r5,r6); + length3 = sprintf(buffer4,"%iCm to %iCm",r5,r6); lcd.printString(buffer1,0,0); lcd.printString(buffer2,0,1); lcd.printString(buffer3,0,2); @@ -526,7 +539,7 @@ length2 = sprintf(buffer1,"*****MENU*****"); length3 = sprintf(buffer2,"RANGE"); length3 = sprintf(buffer3,"PARAMETERS"); - length3 = sprintf(buffer4,"%iCm to %iCm",r6,r7); + length3 = sprintf(buffer4,"%iCm to %iCm",r6,r7); lcd.printString(buffer1,0,0); lcd.printString(buffer2,0,1); lcd.printString(buffer3,0,2);