TDISP update

ugfx_release_2.6
Joel Bodenmann 2013-01-16 10:27:42 +01:00
parent d7b85cb00e
commit 1f1dd62687
4 changed files with 33 additions and 24 deletions

View File

@ -85,6 +85,28 @@ bool_t TDISP_LLD(init)(void) {
return TRUE; return TRUE;
} }
void TDISP_LLD(set_cursor)(coord_t col, coord_t row) {
uint8_t row_offsets[] = { 0x00, 0x40, 0x14, 0x54 };
if(row >= TDISP_ROWS)
row = TDISP_ROWS - 1;
TDISP_LLD(write_cmd)(0x80 | (col + row_offsets[row]));
}
void TDISP_LLD(create_char)(uint8_t address, char *charmap) {
uint8_t i;
/* make sure we don't write somewhere we're not supposed to */
address &= TDISP_MAX_CUSTOM_CHARS;
TDISP_LLD(write_cmd)(0x40 | (address << 3));
for(i = 0; i < 8; i++) {
TDISP_LLD(write_data)(charmap[i]);
}
}
#endif /* GFX_USE_TDISP */ #endif /* GFX_USE_TDISP */
/** @} */ /** @} */

View File

@ -90,7 +90,7 @@ void tdispHome(void);
* @param[in] col The column * @param[in] col The column
* @param[in] row The row * @param[in] row The row
*/ */
void tdispGotoXY(coord_t col, coord_t row); void tdispSetCursor(coord_t col, coord_t row);
/** /**
* @brief Store a custom character in RAM * @brief Store a custom character in RAM
@ -98,10 +98,10 @@ void tdispGotoXY(coord_t col, coord_t row);
* @note This usually must be done after each power-up since most * @note This usually must be done after each power-up since most
* LCDs lose their RAM content. * LCDs lose their RAM content.
* *
* @param[in] location On which address to store the character (from 0 up to max) * @param[in] address On which address to store the character (from 0 up to max)
* @param[in] charmap The character to be stored. * @param[in] charmap The character to be stored.
*/ */
void tdispCreateChar(uint8_t location, char *charmap); void tdispCreateChar(uint8_t address, char *charmap);
/** /**
* @brief Draws a single character at the current cursor position * @brief Draws a single character at the current cursor position

View File

@ -4,6 +4,8 @@
current release: 1.5 current release: 1.5
FEATURE: Added ILI9325 driver - Thanks to Chris van Dongen aka _Sjaak FEATURE: Added ILI9325 driver - Thanks to Chris van Dongen aka _Sjaak
FEATURE: Added TDISP module
FIX: tdispGotoXY() renamed to tdispSetCursor()
*** changes after 1.4 *** *** changes after 1.4 ***
@ -24,7 +26,6 @@ DEPRECATE: touchscreen deprecated - replaced with ginput functionality
FEATURE: Numerous documentation improvements FEATURE: Numerous documentation improvements
FEATURE: Added a number of module demo and test programs FEATURE: Added a number of module demo and test programs
DEPRECATE: Remove of XPT2046 since full compatibility with ADS7843 DEPRECATE: Remove of XPT2046 since full compatibility with ADS7843
FEATURE: Introduced TDISP module
*** changes after 1.3 *** *** changes after 1.3 ***

View File

@ -78,26 +78,12 @@ void tdispHome(void) {
TDISP_LLD(write_cmd)(0x02); TDISP_LLD(write_cmd)(0x02);
} }
void tdispCreateChar(uint8_t location, char *charmap) { void tdispCreateChar(uint8_t address, char *charmap) {
uint8_t i; TDISP_LLD(create_char)(address, charmap);
/* make sure we don't write somewhere we're not supposed to */
location &= TDISP_MAX_CUSTOM_CHARS;
TDISP_LLD(write_cmd)(0x40 | (location << 3));
for(i = 0; i < 8; i++) {
TDISP_LLD(write_data)(charmap[i]);
}
} }
void tdispGotoXY(coord_t col, coord_t row) { void tdispSetCursor(coord_t col, coord_t row) {
uint8_t row_offsets[] = { 0x00, 0x40, 0x14, 0x54 }; TDISP_LLD(set_cursor)(col, row);
if(row >= TDISP_ROWS)
row = TDISP_ROWS - 1;
TDISP_LLD(write_cmd)(0x80 | (col + row_offsets[row]));
} }
void tdispDrawChar(char c) { void tdispDrawChar(char c) {
@ -110,12 +96,12 @@ void tdispDrawString(char *s) {
} }
void tdispDrawCharLocation(coord_t col, coord_t row, char c) { void tdispDrawCharLocation(coord_t col, coord_t row, char c) {
tdispGotoXY(col, row); tdispSetCursor(col, row);
tdispDrawChar(c); tdispDrawChar(c);
} }
void tdispDrawStringLocation(coord_t col, coord_t row, char *s) { void tdispDrawStringLocation(coord_t col, coord_t row, char *s) {
tdispGotoXY(col, row); tdispSetCursor(col, row);
tdispDrawString(s); tdispDrawString(s);
} }