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 Adafruit_GFX BioroboticsMotorControl MODSERIAL BioroboticsEMGFilter
Screen.h
- Committer:
- brass_phoenix
- Date:
- 2018-10-30
- Revision:
- 4:5a44ab7e94b3
- Parent:
- 3:4b19b6cf6cc7
- Child:
- 5:2632dfc8454c
File content as of revision 4:5a44ab7e94b3:
#pragma once #include "mbed.h" #include <string> // Uncomment this in the adafruit config.h to turn off the builtin splash //#define NO_SPLASH_ADAFRUIT // Uncomment this in the adafruit config.h to enable all functionality //#define GFX_WANT_ABSTRACTS #include "Adafruit_SSD1306.h" class Screen { private: I2C i2c; Adafruit_SSD1306_I2c oled; public: // The screen we use doesn't have a reset pin, but it needs one anyway. // Use a pin we don't use. Screen(PinName sda, PinName scl, PinName reset): i2c(sda, scl), oled(i2c, reset) { // according to the spec the max bitrate for the SSD1308 is 400 kbit/s i2c.frequency(400000); clear_display(); } void clear_display() { oled.clearDisplay(); display(); } void display() { // Apparently the display only updates every 2 "display" calls. // This is a bug in the library. oled.display(); oled.display(); } void display_state_name(string name) { // Clear a previous title. oled.setTextCursor(0, 0); oled.printf(" "); oled.setTextCursor(0, 0); oled.printf("- "); oled.printf(name.c_str()); oled.printf(" -"); display(); } // Returns a direct handle to the screen. // Be carefull while using the handle. Adafruit_SSD1306_I2c get_screen_handle() { return oled; } };