Level 2 Project Range Device
Dependencies: N5110 SDFileSystem SRF02 TMP102 mbed
Revision 6:b464a8a94d91, committed 2016-04-15
- Comitter:
- el15pjt
- Date:
- Fri Apr 15 17:23:17 2016 +0000
- Parent:
- 5:083d484e95a1
- Child:
- 7:14cfb0df30e6
- Commit message:
- Distance bar completed.
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- 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);