Base LCDPanel based, required for all LCDPanel drivers
LCDPanel_SPI.cpp
- Committer:
- silviogissi
- Date:
- 2012-03-11
- Revision:
- 2:ab4040a7e8c9
File content as of revision 2:ab4040a7e8c9:
/* LCDPanel base library for LCD/TFT Panels * Copyright (c) 2012, Silvio Gissi */ #include "LCDPanel_SPI.h" #include "stdarg.h" LCDPanel_SPI::LCDPanel_SPI(unsigned int width, unsigned int height, PinName cs, PinName spi_data, PinName spi_clock, PinName rst, unsigned int spi_bits, unsigned int spi_freq ) : LCDPanel (width,height,cs), _rst(rst), _spi(spi_data,NC,spi_clock) { _spi.format(spi_bits); _spi.frequency(spi_freq); } void LCDPanel_SPI::command(unsigned int command, unsigned int size, ...) { _spi.write(command&0xFF); if (size) { va_list m; va_start (m,size); this->data(size,m); va_end(m); } } void LCDPanel_SPI::data(unsigned int size, ...) { va_list m; va_start (m,size); for(int i=0; i<size; i++) { _spi.write(va_arg(m,int)|0x100); } va_end(m); } void LCDPanel_SPI::pixel(uint16_t color) { this->data(2,color>>8,color&0xff); }