Team Alpha / Mbed 2 deprecated UserIntefaceLCD

Dependencies:   mbed mbed-rtos MLX90614

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers Measure.cpp Source File

Measure.cpp

00001 #include "Measure.h"
00002 
00003 void Measure::display(void){
00004     this->display_items();
00005     laser->write(1);
00006 }
00007 
00008 void Measure::update(char c){
00009     //select down
00010     if(c == 's'){
00011         if(selected == 2) return; //do nothing
00012         selected = 2;
00013         current_line = 7;
00014     }
00015     //select up
00016     else if(c == 'w'){
00017         if(selected == 1) return; //do nothing
00018         selected = 1;
00019         current_line = 6;
00020     }
00021     //go to next screen
00022     else if(c == 'y'){
00023         if(selected == 1)
00024             this->setSelectedScreen(back);
00025         else if(selected == 2){
00026             this->setSelectedScreen(back);
00027         }
00028         else
00029             return;
00030         laser->write(0);
00031     }
00032     //display items
00033     display_items();
00034 }
00035 
00036 void Measure::display_description(char * r){
00037     st7565->drawstring(0, 2, description); //description
00038     //result
00039     if(hasResult)
00040         st7565->drawstring(30, 5, r);
00041 }
00042 
00043 void Measure::display_items(void){
00044     //clear screen
00045     st7565->clear();
00046     
00047     //display result if it is a result screen
00048     float r = 5;
00049     char result[15];
00050     if(hasResult){
00051         //calculate result
00052         sprintf(result, "%.2f Meters", r);
00053     }
00054     
00055     //display description
00056     display_description(result);
00057     
00058     //draw items
00059     st7565->drawstring(LEFT_MARGIN * 2, SELECTION_LINE, nextName);
00060     st7565->drawstring(LEFT_MARGIN * 2, SELECTION_LINE + 1, backName);
00061     
00062     //set first as selected
00063     st7565->drawcircle(2, (current_line * 8) + 3, 2, 20);
00064     st7565->display();
00065 }