Library for interfacing to Nokia 5110 LCD display (as found on the SparkFun website).

Dependents:   LV7_LCDtest LV7_Grupa5_Tim003_Zadatak1 lv7_Grupa5_Tim008_zad1 LV7_PAI_Grupa5_tim10_Zadatak1 ... more

This library is designed to make it easy to interface an mbed with a Nokia 5110 LCD display.

These can be found at Sparkfun (https://www.sparkfun.com/products/10168) and Adafruit (http://www.adafruit.com/product/338).

The library uses the SPI peripheral on the mbed which means it is much faster sending data to the display than other libraries available on other platforms that use software SPI.

The library can print strings as well as controlling individual pixels, meaning that both text and primitive graphics can be displayed.

Committer:
valavanisalex
Date:
Wed Mar 08 14:12:42 2017 +0000
Revision:
38:92fad278c2c3
Child:
40:c9262294f2e1
Added Bitmap class to simplify sprite support

Who changed what in which revision?

UserRevisionLine numberNew contents of line
valavanisalex 38:92fad278c2c3 1 #include "Bitmap.h"
valavanisalex 38:92fad278c2c3 2
valavanisalex 38:92fad278c2c3 3 #include <iostream>
valavanisalex 38:92fad278c2c3 4
valavanisalex 38:92fad278c2c3 5 Bitmap::Bitmap(std::vector<int> const &contents,
valavanisalex 38:92fad278c2c3 6 unsigned int const height,
valavanisalex 38:92fad278c2c3 7 unsigned int const width)
valavanisalex 38:92fad278c2c3 8 :
valavanisalex 38:92fad278c2c3 9 _contents(contents),
valavanisalex 38:92fad278c2c3 10 _height(height),
valavanisalex 38:92fad278c2c3 11 _width(width)
valavanisalex 38:92fad278c2c3 12 {
valavanisalex 38:92fad278c2c3 13 // Perform a quick sanity check of the dimensions
valavanisalex 38:92fad278c2c3 14 if (contents.size() != height * height) {
valavanisalex 38:92fad278c2c3 15 std::cerr << "Contents of bitmap has size " << contents.size()
valavanisalex 38:92fad278c2c3 16 << " pixels, but its dimensions were specified as "
valavanisalex 38:92fad278c2c3 17 << width << " * " << height << " = " << width * height;
valavanisalex 38:92fad278c2c3 18 }
valavanisalex 38:92fad278c2c3 19 }
valavanisalex 38:92fad278c2c3 20
valavanisalex 38:92fad278c2c3 21 int Bitmap::get_pixel(unsigned int const row,
valavanisalex 38:92fad278c2c3 22 unsigned int const column) const
valavanisalex 38:92fad278c2c3 23 {
valavanisalex 38:92fad278c2c3 24 // First check that row and column indices are within bounds
valavanisalex 38:92fad278c2c3 25 if(column >= _width || row >= _height)
valavanisalex 38:92fad278c2c3 26 {
valavanisalex 38:92fad278c2c3 27 std::cerr << "The requested pixel with index " << row << "," << column
valavanisalex 38:92fad278c2c3 28 << "is outside the bitmap dimensions: " << _width << ","
valavanisalex 38:92fad278c2c3 29 << _height;
valavanisalex 38:92fad278c2c3 30 }
valavanisalex 38:92fad278c2c3 31
valavanisalex 38:92fad278c2c3 32 // Now return the pixel value, using row-major indexing
valavanisalex 38:92fad278c2c3 33 return _contents[row * _width + column];
valavanisalex 38:92fad278c2c3 34 }