Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed DRV88255 TextLCD Ping mbed-rtos
LCDController.cpp
- Committer:
- sbouber1
- Date:
- 2016-06-19
- Revision:
- 58:b5f0c0f305ff
- Parent:
- 57:8dc3192ff150
- Child:
- 64:735009c4c8aa
File content as of revision 58:b5f0c0f305ff:
#include "LCDController.h"
static TextLCD lcd(p5, p6, p7, p8, p9, p10, TextLCD::LCD16x2);
LCDController::LCDController() {
printf("Initiate LCD Controller\n\r");
lcd.cls();
}
void LCDController::splash() {
lcd.cls();
lcd.printf("Welcome to\nSaltware");
wait(0.5);
}
void LCDController::updateScreen(float temp_value, float salt_value, PIDController *pidc) {
lcd.cls();
char temp_buffer[16];
char salt_buffer[16];
if (temp_value > 100) {
// Show Not Connected
sprintf(temp_buffer, "Temp: NC");
} else {
sprintf(temp_buffer, "Temp: %.1fC", temp_value);
}
if (pidc->isHeating()) {
// Indicate heating with an "*" near the temperature
sprintf(temp_buffer, "%s *", temp_buffer);
}
sprintf(salt_buffer, "Salt: %.3fPPT", salt_value);
// Indicate pumping with an "*" near the salinity
if (pidc->isPumping()) {
sprintf(salt_buffer, "%s *", salt_buffer);
}
lcd.printf("%s\n%s", temp_buffer, salt_buffer);
}
void LCDController::showPumping() {
lcd.cls();
lcd.printf("Now pumping...");
}
void LCDController::updateScreen(float distance) {
lcd.cls();
lcd.printf("Volume:\n%.0fml", distance);
}
void LCDController::showError(const char *msg) {
lcd.cls();
lcd.printf("ERROR:\n%s", msg);
}