This commit is contained in:
e2002
2022-03-20 18:43:32 +03:00
parent c9ad6d053c
commit ee2350e28f
17 changed files with 244 additions and 42 deletions

View File

@@ -64,7 +64,7 @@ void LiquidCrystal_I2C::init_priv()
if((_sda_pin==255 && _scl_pin==255) || (_sda_pin==21 && _scl_pin==22)){
Wire.begin();
}else{
Wire.begin(_sda_pin, _scl_pin, (uint32_t)100000);
Wire.begin((int)_sda_pin, (int)_scl_pin, (uint32_t)100000);
}
_displayfunction = LCD_4BITMODE | LCD_1LINE | LCD_5x8DOTS;
begin(_cols, _rows);

View File

@@ -64,7 +64,7 @@ void DisplayLC1602::getScrolBbounds(const char* text, const char* separator, byt
}
void DisplayLC1602::clearScroll(uint16_t texttop, uint16_t textheight, uint16_t bg) {
for(uint16_t x=0; x<swidth-controlspaces[texttop]; x++){
for(uint16_t x=0; x<swidth-(fillSpaces?controlspaces[texttop]:0); x++){
setCursor(x, texttop);
print(" ");
}
@@ -111,7 +111,7 @@ void DisplayLC1602::drawVolumeBar(bool withNumber) {
void DisplayLC1602::drawNextStationNum(uint16_t num) {
char numstr[7];
sprintf(numstr, "%d", num);
centerText(" ", 1, 0, 0);
clearScroll(1, 0, 0);
centerText(numstr, 1, TFT_LOGO, TFT_BG);
}

View File

@@ -167,13 +167,13 @@ void DisplaySSD1306::drawPlaylist(uint16_t currentItem, char* currentItemText) {
for (byte i = 0; i < PLMITEMS; i++) {
plMenu[i][0] = '\0';
}
config.fillPlMenu(plMenu, currentItem - ((DSP_MODEL==DSP_SSD1306)?3:2), PLMITEMS);
setTextSize(1);
config.fillPlMenu(plMenu, currentItem - 2, PLMITEMS);
setTextSize((DSP_MODEL==DSP_SSD1306)?2:1);
int yStart = (sheight / 2 - PLMITEMHEIGHT / 2) - PLMITEMHEIGHT * (PLMITEMS - 1) / 2 + 3;
fillRect(0, (sheight / 2 - PLMITEMHEIGHT / 2) + 1, swidth, PLMITEMHEIGHT, TFT_LOGO);
setTextColor(TFT_FG, TFT_BG);
for (byte i = 0; i < PLMITEMS; i++) {
if (i == ((DSP_MODEL==DSP_SSD1306)?3:2)) {
if (i == 2) {
strlcpy(currentItemText, plMenu[i], PLMITEMLENGHT - 1);
} else {
setCursor(TFT_FRAMEWDT, yStart + i * PLMITEMHEIGHT);

View File

@@ -10,17 +10,18 @@
#define PLMITEMLENGHT 40
#if DSP_MODEL==DSP_SSD1306
#define PLMITEMS 7
#define PLMITEMHEIGHT 9
#define PLMITEMS 5
#define PLMITEMHEIGHT 18
#define TITLE_TOP2 TFT_FRAMEWDT + 3 * TFT_LINEHGHT
#define PLCURRENT_SIZE 1
#define PLCURRENT_SIZE 2
#define BOOTSTR_TOP1 64-TFT_LINEHGHT*2-5
#define BOOTSTR_TOP2 64-TFT_LINEHGHT
#define VOL_TOP 24
#else
#define PLMITEMS 5
#define PLMITEMHEIGHT 10
#define TITLE_TOP2 TFT_FRAMEWDT + 2 * TFT_LINEHGHT
#define PLCURRENT_SIZE 1
@@ -33,6 +34,7 @@
#define CLOCK_SPACE 38
#define VOL_SPACE 0
#define VOL_TOP 16
#endif
class DisplaySSD1306: public Adafruit_SSD1306 {
public: