Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of UniGraphic by
Diff: Protocols/SPI8.cpp
- Revision:
- 11:b842b8e332cb
- Parent:
- 7:bb0383b91104
- Child:
- 20:14daa48ffd4c
diff -r 668cf78ff93a -r b842b8e332cb Protocols/SPI8.cpp
--- a/Protocols/SPI8.cpp Thu Feb 19 00:33:27 2015 +0000
+++ b/Protocols/SPI8.cpp Fri Feb 20 21:32:25 2015 +0000
@@ -135,7 +135,7 @@
_CS = 1;
#endif
}
-unsigned short SPI8::rd_gram()
+unsigned short SPI8::rd_gram(bool convert)
{
#ifdef USE_CS
_CS = 0;
@@ -146,15 +146,18 @@
r |= _spi.write(0);
r <<= 8;
r |= _spi.write(0);
- r <<= 8;
- r |= _spi.write(0);
+ if(convert)
+ {
+ r <<= 8;
+ r |= _spi.write(0);
+ // gram is 18bit/pixel, if you set 16bit/pixel (cmd 3A), during writing the 16bits are expanded to 18bit
+ // during reading, you read the raw 18bit gram
+ r = RGB24to16((r&0xFF0000)>>16, (r&0xFF00)>>8, r&0xFF);// 18bit pixel padded to 24bits, rrrrrr00_gggggg00_bbbbbb00, converted to 16bit
+ }
_CS = 1; // force CS HIG to interupt the "read state"
#ifndef USE_CS //if CS is not used, force fixed LOW again
_CS = 0;
#endif
- // gram is 18bit/pixel, if you set 16bit/pixel (cmd 3A), during writing the 16bits are expanded to 18bit
- // during reading, you read the raw 18bit gram
- r = RGB18to16((r&0xFC0000)>>16, (r&0xFC00)>>8, r&0xFC);// 18bit pixel, rrrrrr00_gggggg00_bbbbbb00, converted to 16bit
return (unsigned short)r;
}
unsigned int SPI8::rd_reg_data32(unsigned char reg)
