Skip to content

Commit 0ecbcf8

Browse files
committed
Adding the missing scroll functions (work in progress)
1 parent baf36c7 commit 0ecbcf8

File tree

1 file changed

+57
-0
lines changed

1 file changed

+57
-0
lines changed

src/SFE_MicroOLED.cpp

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1023,6 +1023,63 @@ void MicroOLED::scrollRight(uint8_t start, uint8_t stop)
10231023
command(ACTIVATESCROLL);
10241024
}
10251025

1026+
/** \brief Vert Right scrolling.
1027+
1028+
Set row start to row stop on the OLED to scroll vert right.
1029+
*/
1030+
void MicroOLED::scrollVertRight(uint8_t start, uint8_t stop)
1031+
{
1032+
if (stop < start) // stop must be larger or equal to start
1033+
return;
1034+
scrollStop(); // need to disable scrolling before starting to avoid memory corrupt
1035+
command(VERTICALRIGHTHORIZONTALSCROLL);
1036+
command(0x00);
1037+
command(start);
1038+
command(0x7); // scroll speed frames , TODO
1039+
command(stop);
1040+
command(0x00);
1041+
command(0xFF);
1042+
command(ACTIVATESCROLL);
1043+
}
1044+
1045+
/** \brief Left scrolling.
1046+
1047+
Set row start to row stop on the OLED to scroll left.
1048+
*/
1049+
void MicroOLED::scrollLeft(uint8_t start, uint8_t stop)
1050+
{
1051+
if (stop < start) // stop must be larger or equal to start
1052+
return;
1053+
scrollStop(); // need to disable scrolling before starting to avoid memory corrupt
1054+
command(LEFT_HORIZONTALSCROLL);
1055+
command(0x00);
1056+
command(start);
1057+
command(0x7); // scroll speed frames , TODO
1058+
command(stop);
1059+
command(0x00);
1060+
command(0xFF);
1061+
command(ACTIVATESCROLL);
1062+
}
1063+
1064+
/** \brief Vert Left scrolling.
1065+
1066+
Set row start to row stop on the OLED to scroll vert left.
1067+
*/
1068+
void MicroOLED::scrollVertLeft(uint8_t start, uint8_t stop)
1069+
{
1070+
if (stop < start) // stop must be larger or equal to start
1071+
return;
1072+
scrollStop(); // need to disable scrolling before starting to avoid memory corrupt
1073+
command(VERTICALLEFTHORIZONTALSCROLL);
1074+
command(0x00);
1075+
command(start);
1076+
command(0x7); // scroll speed frames , TODO
1077+
command(stop);
1078+
command(0x00);
1079+
command(0xFF);
1080+
command(ACTIVATESCROLL);
1081+
}
1082+
10261083
/** \brief Vertical flip.
10271084
10281085
Flip the graphics on the OLED vertically.

0 commit comments

Comments
 (0)