mirror of
https://github.com/DCC-EX/CommandStation-EX.git
synced 2024-11-26 17:46:14 +01:00
Bugfix LCD showed random characters in SCROLLMODE 2
This commit is contained in:
parent
ce12f3b6c5
commit
27ba551986
15
Display.cpp
15
Display.cpp
|
@ -1,5 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* © 2021, Chris Harlow, Neil McKechnie. All rights reserved.
|
* © 2021, Chris Harlow, Neil McKechnie. All rights reserved.
|
||||||
|
* © 2023, Harald Barth.
|
||||||
*
|
*
|
||||||
* This file is part of CommandStation-EX
|
* This file is part of CommandStation-EX
|
||||||
*
|
*
|
||||||
|
@ -52,7 +53,7 @@ Display::Display(DisplayDevice *deviceDriver) {
|
||||||
_deviceDriver = deviceDriver;
|
_deviceDriver = deviceDriver;
|
||||||
// Get device dimensions in characters (e.g. 16x2).
|
// Get device dimensions in characters (e.g. 16x2).
|
||||||
numCharacterColumns = _deviceDriver->getNumCols();
|
numCharacterColumns = _deviceDriver->getNumCols();
|
||||||
numCharacterRows = _deviceDriver->getNumRows();;
|
numCharacterRows = _deviceDriver->getNumRows();
|
||||||
for (uint8_t row = 0; row < MAX_CHARACTER_ROWS; row++)
|
for (uint8_t row = 0; row < MAX_CHARACTER_ROWS; row++)
|
||||||
rowBuffer[row][0] = '\0';
|
rowBuffer[row][0] = '\0';
|
||||||
topRow = ROW_INITIAL; // loop2 will fill from row 0
|
topRow = ROW_INITIAL; // loop2 will fill from row 0
|
||||||
|
@ -173,16 +174,18 @@ bool Display::findNextNonBlankRow() {
|
||||||
rowNext = 0;
|
rowNext = 0;
|
||||||
else
|
else
|
||||||
rowNext = rowNext + 1;
|
rowNext = rowNext + 1;
|
||||||
if (rowNext >= MAX_CHARACTER_ROWS) rowNext = ROW_INITIAL;
|
|
||||||
#if SCROLLMODE == 1
|
#if SCROLLMODE == 1
|
||||||
// Finished if we've looped back to start
|
if (rowNext >= MAX_CHARACTER_ROWS) {
|
||||||
if (rowNext == ROW_INITIAL) {
|
// Finished if we've looped back to start
|
||||||
|
rowNext = ROW_INITIAL;
|
||||||
noMoreRowsToDisplay = true;
|
noMoreRowsToDisplay = true;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
// Finished if we're back to the first one shown
|
if (rowNext >= MAX_CHARACTER_ROWS)
|
||||||
|
rowNext = 0;
|
||||||
if (rowNext == rowFirst) {
|
if (rowNext == rowFirst) {
|
||||||
|
// Finished if we're back to the first one shown
|
||||||
noMoreRowsToDisplay = true;
|
noMoreRowsToDisplay = true;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -193,4 +196,4 @@ bool Display::findNextNonBlankRow() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
#define GITHUB_SHA "devel-202303101548Z"
|
#define GITHUB_SHA "devel-202303141949Z"
|
||||||
|
|
|
@ -4,7 +4,8 @@
|
||||||
#include "StringFormatter.h"
|
#include "StringFormatter.h"
|
||||||
|
|
||||||
|
|
||||||
#define VERSION "4.2.26"
|
#define VERSION "4.2.27"
|
||||||
|
// 4.2.27 - Bugfix LCD showed random characters in SCROLLMODE 2
|
||||||
// 4.2.26 - EX-IOExpander device driver enhancements
|
// 4.2.26 - EX-IOExpander device driver enhancements
|
||||||
// - Enhance I2C error checking
|
// - Enhance I2C error checking
|
||||||
// - Introduce delays to _loop to allow room for other I2C device comms
|
// - Introduce delays to _loop to allow room for other I2C device comms
|
||||||
|
|
Loading…
Reference in New Issue
Block a user