Base LCDPanel based, required for all LCDPanel drivers
LCDPanel_SPI.h@2:ab4040a7e8c9, 2012-03-11 (annotated)
- Committer:
- silviogissi
- Date:
- Sun Mar 11 01:33:10 2012 +0000
- Revision:
- 2:ab4040a7e8c9
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
silviogissi | 2:ab4040a7e8c9 | 1 | /* LCDPanel SPI base library for LCD/TFT Panels |
silviogissi | 2:ab4040a7e8c9 | 2 | * Copyright (c) 2012, Silvio Gissi |
silviogissi | 2:ab4040a7e8c9 | 3 | * |
silviogissi | 2:ab4040a7e8c9 | 4 | * License: |
silviogissi | 2:ab4040a7e8c9 | 5 | * |
silviogissi | 2:ab4040a7e8c9 | 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy |
silviogissi | 2:ab4040a7e8c9 | 7 | * of this software and associated documentation files (the "Software"), to deal |
silviogissi | 2:ab4040a7e8c9 | 8 | * in the Software without restriction, including without limitation the rights |
silviogissi | 2:ab4040a7e8c9 | 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
silviogissi | 2:ab4040a7e8c9 | 10 | * copies of the Software, and to permit persons to whom the Software is |
silviogissi | 2:ab4040a7e8c9 | 11 | * furnished to do so, subject to the following conditions: |
silviogissi | 2:ab4040a7e8c9 | 12 | * |
silviogissi | 2:ab4040a7e8c9 | 13 | * The above copyright notice and this permission notice shall be included in |
silviogissi | 2:ab4040a7e8c9 | 14 | * all copies or substantial portions of the Software. |
silviogissi | 2:ab4040a7e8c9 | 15 | * |
silviogissi | 2:ab4040a7e8c9 | 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
silviogissi | 2:ab4040a7e8c9 | 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
silviogissi | 2:ab4040a7e8c9 | 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
silviogissi | 2:ab4040a7e8c9 | 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
silviogissi | 2:ab4040a7e8c9 | 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
silviogissi | 2:ab4040a7e8c9 | 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |
silviogissi | 2:ab4040a7e8c9 | 22 | * THE SOFTWARE. |
silviogissi | 2:ab4040a7e8c9 | 23 | * |
silviogissi | 2:ab4040a7e8c9 | 24 | * Author: Silvio Gissi |
silviogissi | 2:ab4040a7e8c9 | 25 | * Version: 0.1 Alfa |
silviogissi | 2:ab4040a7e8c9 | 26 | * |
silviogissi | 2:ab4040a7e8c9 | 27 | */ |
silviogissi | 2:ab4040a7e8c9 | 28 | |
silviogissi | 2:ab4040a7e8c9 | 29 | #ifndef LCDPANEL_SPI_H |
silviogissi | 2:ab4040a7e8c9 | 30 | #define LCDPANEL_SPI_H |
silviogissi | 2:ab4040a7e8c9 | 31 | |
silviogissi | 2:ab4040a7e8c9 | 32 | #include "mbed.h" |
silviogissi | 2:ab4040a7e8c9 | 33 | #include "LCDPanel.h" |
silviogissi | 2:ab4040a7e8c9 | 34 | |
silviogissi | 2:ab4040a7e8c9 | 35 | class LCDPanel_SPI : public LCDPanel { |
silviogissi | 2:ab4040a7e8c9 | 36 | |
silviogissi | 2:ab4040a7e8c9 | 37 | public: |
silviogissi | 2:ab4040a7e8c9 | 38 | /** LCDPanel SPI |
silviogissi | 2:ab4040a7e8c9 | 39 | * |
silviogissi | 2:ab4040a7e8c9 | 40 | * @param width LCDPanel width |
silviogissi | 2:ab4040a7e8c9 | 41 | * @param height LCDPanel height |
silviogissi | 2:ab4040a7e8c9 | 42 | * @param cs Chip Select (DigitalOut) |
silviogissi | 2:ab4040a7e8c9 | 43 | * @param spi_data SPI data pin (MOSI) (DigitalOut) |
silviogissi | 2:ab4040a7e8c9 | 44 | * @param spi_clock SPI clock pin (SCLK) (DigitalOut) |
silviogissi | 2:ab4040a7e8c9 | 45 | * @param rst Reset (DigitalOut) |
silviogissi | 2:ab4040a7e8c9 | 46 | * @param spi_bits Number of bits to be sent on each SPI write |
silviogissi | 2:ab4040a7e8c9 | 47 | * @param spi_freq SPI frequency |
silviogissi | 2:ab4040a7e8c9 | 48 | */ |
silviogissi | 2:ab4040a7e8c9 | 49 | LCDPanel_SPI(unsigned int width, unsigned int height, PinName cs, |
silviogissi | 2:ab4040a7e8c9 | 50 | PinName spi_data, PinName spi_clock, PinName rst, |
silviogissi | 2:ab4040a7e8c9 | 51 | unsigned int spi_bits, unsigned int spi_freq |
silviogissi | 2:ab4040a7e8c9 | 52 | ); |
silviogissi | 2:ab4040a7e8c9 | 53 | |
silviogissi | 2:ab4040a7e8c9 | 54 | protected: |
silviogissi | 2:ab4040a7e8c9 | 55 | DigitalOut _rst; |
silviogissi | 2:ab4040a7e8c9 | 56 | SPI _spi; |
silviogissi | 2:ab4040a7e8c9 | 57 | virtual void command(unsigned int command, unsigned int size=0, ...); |
silviogissi | 2:ab4040a7e8c9 | 58 | virtual void data(unsigned int size, ...); |
silviogissi | 2:ab4040a7e8c9 | 59 | virtual void pixel(uint16_t color); |
silviogissi | 2:ab4040a7e8c9 | 60 | }; |
silviogissi | 2:ab4040a7e8c9 | 61 | |
silviogissi | 2:ab4040a7e8c9 | 62 | #endif // LCDPANEL_SPI_H |