From ee365513b0f1d16f746c92819d98128e25d73240 Mon Sep 17 00:00:00 2001 From: Witold Rugowski Date: Thu, 28 Jul 2011 18:40:57 +0200 Subject: [PATCH 1/2] Change private to protected allows to create derivated classes with changed functionality (like new row offsets for 4x16 LCDs in setCursor) --- libraries/LiquidCrystal/LiquidCrystal.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/LiquidCrystal/LiquidCrystal.h b/libraries/LiquidCrystal/LiquidCrystal.h index f66ec1b4cad..8847685ef70 100755 --- a/libraries/LiquidCrystal/LiquidCrystal.h +++ b/libraries/LiquidCrystal/LiquidCrystal.h @@ -81,7 +81,7 @@ class LiquidCrystal : public Print { void setCursor(uint8_t, uint8_t); virtual void write(uint8_t); void command(uint8_t); -private: +protected: void send(uint8_t, uint8_t); void write4bits(uint8_t); void write8bits(uint8_t); From 4baf33b3d39585a96bf972364d21c6befde9b706 Mon Sep 17 00:00:00 2001 From: Witold Rugowski Date: Thu, 28 Jul 2011 18:42:41 +0200 Subject: [PATCH 2/2] Fix for case when row is 4 - then setCursor would access row_offsets[4] --- libraries/LiquidCrystal/LiquidCrystal.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/LiquidCrystal/LiquidCrystal.cpp b/libraries/LiquidCrystal/LiquidCrystal.cpp index 23713f47b9f..d15683f071f 100644 --- a/libraries/LiquidCrystal/LiquidCrystal.cpp +++ b/libraries/LiquidCrystal/LiquidCrystal.cpp @@ -173,7 +173,7 @@ void LiquidCrystal::home() void LiquidCrystal::setCursor(uint8_t col, uint8_t row) { int row_offsets[] = { 0x00, 0x40, 0x14, 0x54 }; - if ( row > _numlines ) { + if ( row >= _numlines ) { row = _numlines-1; // we count rows starting w/0 }