LCD implementation of our project.
Dependencies: mbed mbed-rtos MLX90614
Measure.cpp
- Committer:
- ovidiup13
- Date:
- 2015-06-03
- Revision:
- 10:97389d774ae1
- Parent:
- 8:81ed1135ba02
File content as of revision 10:97389d774ae1:
#include "Measure.h" void Measure::display(void){ this->display_items(); laser->write(1); } void Measure::update(char c){ //select down if(c == 's'){ if(selected == 2) return; //do nothing selected = 2; current_line = 7; } //select up else if(c == 'w'){ if(selected == 1) return; //do nothing selected = 1; current_line = 6; } //go to next screen else if(c == 'y'){ if(selected == 1) this->setSelectedScreen(back); else if(selected == 2){ this->setSelectedScreen(back); } else return; laser->write(0); } //display items display_items(); } void Measure::display_description(char * r){ st7565->drawstring(0, 2, description); //description //result if(hasResult) st7565->drawstring(30, 5, r); } void Measure::display_items(void){ //clear screen st7565->clear(); //display result if it is a result screen float r = 5; char result[15]; if(hasResult){ //calculate result sprintf(result, "%.2f Meters", r); } //display description display_description(result); //draw items st7565->drawstring(LEFT_MARGIN * 2, SELECTION_LINE, nextName); st7565->drawstring(LEFT_MARGIN * 2, SELECTION_LINE + 1, backName); //set first as selected st7565->drawcircle(2, (current_line * 8) + 3, 2, 20); st7565->display(); }