Olivier Smeesters
/
DtmfKit
A DTMF sequence editor and player for HAM radio equipment command & control.
mbed_display_manager.cpp@0:1324e7d9d471, 2011-03-07 (annotated)
- Committer:
- osmeest
- Date:
- Mon Mar 07 22:51:19 2011 +0000
- Revision:
- 0:1324e7d9d471
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
osmeest | 0:1324e7d9d471 | 1 | #include "mbed_display_manager.hpp" |
osmeest | 0:1324e7d9d471 | 2 | #include <iostream> |
osmeest | 0:1324e7d9d471 | 3 | |
osmeest | 0:1324e7d9d471 | 4 | using namespace ext_text_lcd; |
osmeest | 0:1324e7d9d471 | 5 | |
osmeest | 0:1324e7d9d471 | 6 | MbedDisplayManager::MbedDisplayManager() : |
osmeest | 0:1324e7d9d471 | 7 | lcd(p28, p27, Port2, 0, TextLCD::LCD16x2), pos(0) |
osmeest | 0:1324e7d9d471 | 8 | { |
osmeest | 0:1324e7d9d471 | 9 | std::cout << "Init Display" << "\r" << std::endl; |
osmeest | 0:1324e7d9d471 | 10 | } |
osmeest | 0:1324e7d9d471 | 11 | |
osmeest | 0:1324e7d9d471 | 12 | void MbedDisplayManager::moveTo(std::size_t pos) |
osmeest | 0:1324e7d9d471 | 13 | { |
osmeest | 0:1324e7d9d471 | 14 | std::cout << "Display moveTo " << pos << "\r" << std::endl; |
osmeest | 0:1324e7d9d471 | 15 | this->pos = pos; |
osmeest | 0:1324e7d9d471 | 16 | updateCursor(); |
osmeest | 0:1324e7d9d471 | 17 | } |
osmeest | 0:1324e7d9d471 | 18 | |
osmeest | 0:1324e7d9d471 | 19 | void MbedDisplayManager::writeStatus(const std::string &text) |
osmeest | 0:1324e7d9d471 | 20 | { |
osmeest | 0:1324e7d9d471 | 21 | std::cout << "Display write status '" << text << "'\r" << std::endl; |
osmeest | 0:1324e7d9d471 | 22 | writeAt(0, text); |
osmeest | 0:1324e7d9d471 | 23 | } |
osmeest | 0:1324e7d9d471 | 24 | |
osmeest | 0:1324e7d9d471 | 25 | void MbedDisplayManager::writeText(const std::string &text) |
osmeest | 0:1324e7d9d471 | 26 | { |
osmeest | 0:1324e7d9d471 | 27 | std::cout << "Display write text '" << text << "'\r" << std::endl; |
osmeest | 0:1324e7d9d471 | 28 | writeAt(1, text); |
osmeest | 0:1324e7d9d471 | 29 | } |
osmeest | 0:1324e7d9d471 | 30 | |
osmeest | 0:1324e7d9d471 | 31 | void MbedDisplayManager::writeAt(std::size_t row, const std::string &text) |
osmeest | 0:1324e7d9d471 | 32 | { |
osmeest | 0:1324e7d9d471 | 33 | std::size_t len = text.size(); |
osmeest | 0:1324e7d9d471 | 34 | std::string str = (text + std::string(20 - len, ' ')); |
osmeest | 0:1324e7d9d471 | 35 | lcd.locate(0, row); |
osmeest | 0:1324e7d9d471 | 36 | lcd.printf(str.c_str()); |
osmeest | 0:1324e7d9d471 | 37 | updateCursor(); |
osmeest | 0:1324e7d9d471 | 38 | } |
osmeest | 0:1324e7d9d471 | 39 | |
osmeest | 0:1324e7d9d471 | 40 | void MbedDisplayManager::updateCursor() |
osmeest | 0:1324e7d9d471 | 41 | { |
osmeest | 0:1324e7d9d471 | 42 | lcd.locate(pos, 1); |
osmeest | 0:1324e7d9d471 | 43 | } |
osmeest | 0:1324e7d9d471 | 44 | |
osmeest | 0:1324e7d9d471 | 45 | void MbedDisplayManager:: showCursor() |
osmeest | 0:1324e7d9d471 | 46 | { |
osmeest | 0:1324e7d9d471 | 47 | std::cout << "Display showCursor" << "\r" << std::endl; |
osmeest | 0:1324e7d9d471 | 48 | lcd.setDisplayControl(TextLCD::DisplayOn, TextLCD::CursorOn, TextLCD::BlinkingCursor); |
osmeest | 0:1324e7d9d471 | 49 | } |
osmeest | 0:1324e7d9d471 | 50 | |
osmeest | 0:1324e7d9d471 | 51 | void MbedDisplayManager:: hideCursor() |
osmeest | 0:1324e7d9d471 | 52 | { |
osmeest | 0:1324e7d9d471 | 53 | std::cout << "Display hideCursor" << "\r" << std::endl; |
osmeest | 0:1324e7d9d471 | 54 | lcd.setDisplayControl(TextLCD::DisplayOn, TextLCD::CursorOff); |
osmeest | 0:1324e7d9d471 | 55 | } |
osmeest | 0:1324e7d9d471 | 56 | |
osmeest | 0:1324e7d9d471 | 57 | void MbedDisplayManager:: clear() |
osmeest | 0:1324e7d9d471 | 58 | { |
osmeest | 0:1324e7d9d471 | 59 | std::cout << "Display clear" << "\r" << std::endl; |
osmeest | 0:1324e7d9d471 | 60 | lcd.cls(); |
osmeest | 0:1324e7d9d471 | 61 | } |