Example code to test SSD1331 96x64 OLED display on STM32F401RE Nucleo board, using two candidate libraries

Dependencies:   RGB_OLED_SSD1331 mbed ssd1331

Revision:
0:233a05c86eb0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Wed Aug 02 22:15:08 2017 +0000
@@ -0,0 +1,112 @@
+//OLED_RST  PA_12
+//DC        PA_11
+//SCK       PA_5
+//MOSI      PA_7
+//OLED_CS   PC_9
+
+/*
+#include "mbed.h"
+#include "SSD1331.h"
+
+int main(){
+    //Init the screen (CS, RST, DC, MOSI, MISO, SCLK)
+    SSD1331 oled(PC_9, PA_12, PA_11, PA_7, NC, PA_5);
+    oled.drawLine(0, 0, 95, 0, Yellow);
+}
+*/
+
+#include "mbed.h"
+#include "ssd1331.h"
+ 
+ssd1331 oled(PC_9, PA_12, PA_11, PA_7, NC, PA_5); // cs, res, dc, miso(nc), sck (KL25z)
+ 
+//char Time[50],Date[50];
+//void gettime();
+ 
+uint8_t main() { 
+ 
+    while(1){
+        
+        oled.Fill_Screen(oled.toRGB(255,0,0)); //red
+        wait_ms(500);
+        oled.Fill_Screen(oled.toRGB(0,255,0)); //green
+        wait_ms(500);
+        oled.Fill_Screen(oled.toRGB(0,0,255)); //blue
+        wait_ms(500);
+        oled.Fill_Screen(oled.toRGB(255,255,255)); //white
+        wait_ms(500);
+        
+        oled.cls(); // clear screen to black
+ 
+        oled.circle (20, 40, 30 ,oled.toRGB(0,0,255) , 1);      //fill circle
+        oled.circle (20, 40, 30 ,oled.toRGB(255,255,255) , 0);  //circle 
+        oled.circle (20, 60, 40 ,oled.toRGB(255,0,0) , 0);      //circle
+        oled.line( 0, 0, width, height, oled.toRGB(0,255,255)); //line
+        oled.line( width, 0, 0, height, oled.toRGB(255,0,255)); //line
+        //oled.rectangle(10,10,90,60,oled.toRGB(255,255,0));      //rectangle
+        //oled.fillrectangle(20,20,40,40,oled.toRGB(255,255,255),oled.toRGB(0,255,0)); //fillrectangle
+        
+        for(uint8_t y = 9; y >= 0; y--) {
+             oled.contrast(y);  // set contrast level
+             oled.foreground(oled.toRGB(255,255,255)); // set text colour
+             oled.locate(1, 10); // set text start location
+             oled.printf("%d",y); // std printf
+             wait_ms(300);
+        }  
+        
+        wait_ms(1000);
+        oled.contrast(9); // set contrast to maximum
+        wait_ms(2000);
+        oled.cls();
+ 
+        oled.SetFontSize(HIGH); // set tall font
+        oled.foreground(oled.toRGB(0,255,0)); // set text colour
+        oled.locate(0, 10);
+        oled.printf( "HIGH 12345");  
+        
+        oled.SetFontSize(WIDE); // set text to wide
+        oled.foreground(oled.toRGB(0,0,255));
+        oled.locate(0, 28);
+        oled.printf( "WIDE 123");  
+        
+        oled.SetFontSize(WH); // set text to wide and tall
+        oled.foreground(oled.toRGB(255,0,0));
+        oled.locate(0, 40);
+        oled.printf( "WH 123");
+        
+        oled.SetFontSize(NORMAL); // set text to normal
+        oled.foreground(oled.toRGB(255,255,255));      
+                
+        oled.ScrollSet(0,8,18,1,0); // set scroll function
+        oled.Scrollstart(); // start scroll
+       
+        //gettime();wait(1);gettime();wait(1);gettime();wait(1);      
+        oled.ScrollSet(0,8,18,-2,0);
+        oled.Scrollstart();       
+        //gettime();wait(1);gettime();wait(1);gettime();wait(1);
+        
+        oled.ScrollSet(0,8,18,3,0);
+        oled.Scrollstart();
+        
+        //gettime();wait(1);gettime();wait(1);gettime();wait(1);
+        
+        oled.ScrollSet(0,8,18,-4,0);
+        oled.Scrollstart();
+       
+        //gettime();wait(1);gettime();wait(1);gettime();wait(1);
+        
+        oled.Scrollstop(); // stop scroll
+        wait(1);
+     }               
+}
+
+/*
+void gettime()
+{    
+    time_t seconds = time(NULL);
+    strftime(Time,40,"%H:%M:%S %a", localtime(&seconds));
+    strftime(Date,40,"%d-%b-%Y", localtime(&seconds));
+    oled.locate(0, 0);
+    oled.printf(Time); 
+}
+*/
\ No newline at end of file