Simon Blandford
/
OLEDSeps525f
OLEDSeps525f/OLEDSeps525f.h
- Committer:
- simonb
- Date:
- 2010-01-12
- Revision:
- 0:a136481b0662
File content as of revision 0:a136481b0662:
/* mbed Library - OLEDSeps525f * Copyright (c) 2010, sblandford * Based on MobileLCD library * Copyright (c) 2007/8, sford * released under MIT license http://mbed.org/licence/mit */ #ifndef MBED_OLEDSEPS525F_H #define MBED_OLEDSEPS525F_H #include "mbed.h" namespace mbed { /* Class: OLEDSeps525f * An abstraction of an 160x128 OLED driven by the SEPS525F * such as the Densitron DD-160128FC-1A * * Example: * > // Print messages when the AnalogIn is greater than 50% * > * > #include "mbed.h" * > #include "OLEDSeps525f.h" * > * > OLEDSeps525f lcd(p5,p6,p7,p8,p9,p10); * > * > int main() { * > lcd.printf("Hello World!"); * > } */ class OLEDSeps525f : public Stream { public: /* Constructor: OLEDSeps525f * Create and object for the Seps525f OLED, using SPI and three DigitalOuts * * Variables: * mosi - SPI data out * miso - SPI data in, not used * clk - SPI clock * cs - Chip Select * rst - reset * rs - command/data select */ OLEDSeps525f(PinName mosi, PinName miso, PinName clk, PinName cs, PinName rst, PinName rs); virtual void reset(); virtual void _window(int x, int y, int width, int height); virtual void _putp(int colour); void command(int value); void data(int value); void rgbdot(int r, int g, int b); void pixel(int value); /* Functions foreground and background * v - A three-byte RGB code to set the foreground * or background colour */ void foreground(int v); void background(int v); /* Funtion: orientation * set the display orientation in * 90 degree steps. * o - An integer from 0-3 setting the orientation */ void orientation(int o); /* Function: tablength * Set the tab length * l - An integer representing the number of columns */ void tablength(int l); /* Function: locate * Set the text cursor to location x,y * * Variables: * x - An integer setting the column position * y - An integer setting the row position */ void locate(int column, int row); /* Function: newline * Set the text cursor to the start of the next line */ void newline(); virtual int _putc(int c); virtual int _getc() { return 0; } SPI _spi; DigitalOut _rst; DigitalOut _cs; DigitalOut _rs; void bitblit(int x, int y, int width, int height, const char* bitstream); void fill(int x, int y, int width, int height, int colour); void blit(int x, int y, int width, int height, const int* colour); /* Function: cls * Clear the screen */ void cls(); /* Functions returning the current max width, max height, max columns, max rows, orientation * and tablength as an integer */ int width(); int height(); int columns(); int rows(); int orientation(); int tablength(); /* Functions returning the current foreground or background colour as a three-byte RGB code */ int foreground(); int background(); void putp(int v); void window(int x, int y, int width, int height); void pixel(int x, int y, int colour); enum {_physical_width=160}; enum {_physical_height=128}; int _row, _column, _rows, _columns, _tablength, _foreground, _background, _width, _height, _rotation, _writing_pixels; }; } #endif