Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of UniGraphic by
Revision 19:1bdfb971b2c1, committed 2015-03-02
- Comitter:
- Geremia
- Date:
- Mon Mar 02 10:52:26 2015 +0000
- Parent:
- 18:ffa58f1a680a
- Parent:
- 17:1dafb896c6f5
- Child:
- 20:14daa48ffd4c
- Commit message:
- Added LCD ST7565, the very basic std one, tested also on UC1701
Changed in this revision
| Inits/SSD1306.h | Show annotated file Show diff for this revision Revisions of this file |
--- a/Inits/SSD1306.cpp Mon Mar 02 10:35:41 2015 +0000
+++ b/Inits/SSD1306.cpp Mon Mar 02 10:52:26 2015 +0000
@@ -134,3 +134,44 @@
wr_cmd16(0x8100|(o&0xFF));
}
+
+////////////////////////////////////////////////////////////////////
+// functions that overrides the standard ones implemented in LCD.cpp
+////////////////////////////////////////////////////////////////////
+
+
+const uint8_t scroll_speed[8]={3,2,1,6,0,5,4,7};
+
+////////////////////////////////////////////////////////////////////
+// functions addon to LCD.cpp
+////////////////////////////////////////////////////////////////////
+void SSD1306::horizontal_scroll(int l_r,int s_page,int e_page,int speed){
+ wr_cmd8(0x2E); // deactivate scroll before change
+ if(l_r == 1){
+ wr_cmd16(0x2700); // horizontal scroll left
+ }
+ else {
+ wr_cmd16(0x2600);
+ }
+ wr_cmd16((s_page & 0x07)<<8 | (scroll_speed[speed & 0x07]));
+ wr_cmd16((e_page & 0x07)<<8 );
+ wr_cmd16(0xFF2F);
+}
+
+void SSD1306::horiz_vert_scroll(int l_r,int s_page,int e_page,int v_off,int speed){
+ wr_cmd8(0x2E); // deactivate scroll before change
+ if(l_r == 1){
+ wr_cmd16(0x2A00); // horizontal scroll left
+ }
+ else {
+ wr_cmd16(0x2900);
+ }
+ wr_cmd16((s_page & 0x07)<<8 | (scroll_speed[speed & 0x07]));
+ wr_cmd16((e_page & 0x07)<<8 | (v_off & 0x3F) );
+ wr_cmd8(0x2F);
+
+}
+
+void SSD1306::end_scroll(){
+ wr_cmd8(0x2E);
+}
--- a/Inits/SSD1306.h Mon Mar 02 10:35:41 2015 +0000
+++ b/Inits/SSD1306.h Mon Mar 02 10:52:26 2015 +0000
@@ -47,7 +47,28 @@
*/
virtual void set_contrast(int o);
-protected:
+ /** set automatc horizontal scroll mode
+ * @param l_r direction - left = 0, right = 1
+ * @param s_page start page
+ * @param e_page end page
+ * @param speed time between horizontal shift. 0 slow .. 7 fast
+ */
+ void horizontal_scroll(int l_r,int s_page,int e_page,int speed);
+
+ /** automatic horizontal + vertical scroll mode
+ * @param l_r direction - left = 0, right = 1
+ * @param s_page start page
+ * @param e_page end page
+ * @param v_off vertical offset for scroll
+ * @param speed time between horizontal shift. 0 slow .. 7 fast
+ */
+ void horiz_vert_scroll(int l_r,int s_page,int e_page,int v_off,int speed);
+
+ /** end scroll mode
+ *
+ */
+ void end_scroll(void);
+ protected:
/** Init command sequence
