Added SPI burst mode to spi 8 bit.
Dependents: Bicycl_Computer_NUCLEO-F411RE Bicycl_Computer_NUCLEO-L476RG
Fork of UniGraphic by
Added SPI burst mode to this graphics driver. If whoever wants this rolled in to repository let me know. I replaced _spi.write(); with fastWrite(); and clearRX();
SPI8.cpp
// need to re-create SPI firmware to access SPI handle static SPI_HandleTypeDef SpiHandle; void SPI8::fastWrite(int data) { SpiHandle.Instance = SPI1; // Check if data is transmitted while ((SpiHandle.Instance->SR & SPI_SR_TXE) == 0); SpiHandle.Instance->DR = data; } void SPI8::clearRX( void ) { SpiHandle.Instance = SPI1; //Check if the RX buffer is busy //While busy, keep checking while (SpiHandle.Instance->SR & SPI_SR_BSY){ // Check RX buffer readable while ((SpiHandle.Instance->SR & SPI_SR_RXNE) == 0); int dummy = SpiHandle.Instance->DR; } }
Diff: Graphics/GraphicsDisplay.cpp
- Revision:
- 3:48f3282c2be8
- Parent:
- 2:713844a55c4e
- Child:
- 4:12ba0ecc2c1f
diff -r 713844a55c4e -r 48f3282c2be8 Graphics/GraphicsDisplay.cpp --- a/Graphics/GraphicsDisplay.cpp Fri Feb 13 23:17:55 2015 +0000 +++ b/Graphics/GraphicsDisplay.cpp Sat Feb 14 17:42:21 2015 +0000 @@ -1,4 +1,17 @@ -/* mbed GraphicsDisplay Display Library Base Class + + /* mbed library for 240*320 pixel display TFT based on ILI9341 LCD Controller + * Copyright (c) 2013 Peter Drescher - DC2PD + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + + /* mbed GraphicsDisplay Display Library Base Class * Copyright (c) 2007-2009 sford * Released under the MIT License: http://mbed.org/license/mit */ @@ -212,7 +225,7 @@ { return oriented_height / fontvert; } -void GraphicsDisplay::set_font(unsigned char* f, unsigned char firstascii, unsigned char lastascii) +void GraphicsDisplay::set_font(unsigned char* f, unsigned char firstascii, unsigned char lastascii, bool proportional) { font = f; // read font parameter from start of array @@ -224,6 +237,7 @@ fontoffset = (fonthor*fontbpl)+1; firstch = firstascii; // first ascii code present in font array (usually 32) lastch = lastascii; // last ascii code present in font array (usually 127) + fontprop=proportional; } int GraphicsDisplay::_putc(int value) { @@ -279,7 +293,8 @@ } } } - char_x += w; + if(fontprop) char_x += w; + else char_x += fonthor; } void GraphicsDisplay::Bitmap_BW(Bitmap_s bm, int x, int y) {