TDISP update
This commit is contained in:
parent
d7b85cb00e
commit
1f1dd62687
4 changed files with 33 additions and 24 deletions
|
@ -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 */
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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 ***
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue