Compare commits

...

3 Commits

Author SHA1 Message Date
Sascha Nitsch 8a5f798780 fixed missing macro execution on rotary 2022-03-22 03:44:10 +01:00
Sascha Nitsch 9337d28e75 fixed height calculation 2022-03-22 03:43:49 +01:00
Sascha Nitsch 46ee10990a fixed text output, added some sanity checks 2022-03-22 03:43:08 +01:00
2 changed files with 7 additions and 2 deletions

View File

@ -396,6 +396,9 @@ void CimditProfile::rotaryAction(uint8_t num, int8_t delta) {
}
showActivate();
break;
case MACRO_PRESS:
scanOrExecuteMacro(m_mappedRotary[i].m_value, true);
break;
default:
break;
}
@ -443,7 +446,7 @@ void CimditProfile::showActivate() {
w = w >> 1;
h = 8;
}
display.setCursor((SCREEN_WIDTH - w) >> 1, (SCREEN_HEIGHT >> 1) + ((SCREEN_HEIGHT - h)>> 1));
display.setCursor((SCREEN_WIDTH - w) >> 1, SCREEN_HEIGHT- h);
display.write(m_profiles[m_selectingProfile]);
display.write("?");
display.display();

View File

@ -93,6 +93,7 @@ bool CimditSSD1306::begin() {
}
void CimditSSD1306::drawPixel(uint8_t x, uint8_t y, bool state) {
if (x >= m_width || y >= m_height) return;
if (state) {
m_buffer[x + (y >> 3) * m_width] |= (1 << (y & 7));
} else {
@ -105,6 +106,7 @@ void CimditSSD1306::clearDisplay(void) {
}
void CimditSSD1306::drawFastHLine(uint8_t x, uint8_t y, uint8_t w, bool state) {
if ((x + w) >= m_width || (y >= m_height)) return;
uint8_t *pBuf = m_buffer + (y / 8) * m_width + x;
uint8_t mask = 1 << (y & 7);
if (state) {
@ -237,7 +239,7 @@ void CimditSSD1306::setTextSize(uint8_t sX, uint8_t sY) {
}
size_t CimditSSD1306::write(uint8_t c) {
if (c == '\n' || m_cursorX + m_textsizeX * 6) { // a newline or text oveflow
if (c == '\n' || (m_cursorX + m_textsizeX * 6 > m_width)) { // a newline or text oveflow
m_cursorX = 0; // set X to zero
m_cursorY += m_textsizeY * 8; // go down one line
} else if (c == '\r') { // a carriage return