Merge branch 'master' of gitlab:wintermute/hackover2013-badge-firmware
[hackover2013-badge-firmware.git] / drivers / displays / bitmap / ssd1306 / ssd1306.c
index f7d55b0..304d1ec 100644 (file)
@@ -216,7 +216,7 @@ static void ssd1306DrawChar(uint16_t x, uint16_t y, uint8_t c, struct FONT_DEF f
     // Retrieve appropriate columns from font data
     for (col = 0; col < font.u8Width; col++)
     {
     // Retrieve appropriate columns from font data
     for (col = 0; col < font.u8Width; col++)
     {
-      column[col] = font.au8FontTable[((c - 32) * font.u8Width) + col];    // Get first column of appropriate character
+      column[col] = font.au8FontTable[((c - font.u8FirstChar) * font.u8Width) + col];    // Get first column of appropriate character
     }
   }
   else
     }
   }
   else
@@ -351,16 +351,6 @@ void ssd1306Init(uint8_t vccstate)
 
   // I2C Initialisation
   #if defined SSD1306_BUS_I2C
 
   // I2C Initialisation
   #if defined SSD1306_BUS_I2C
-    // Set all pins to output
-    gpioSetDir(SSD1306_RST_PORT, SSD1306_RST_PORT, gpioDirection_Output);
-
-    // Reset the LCD
-    gpioSetValue(SSD1306_RST_PORT, SSD1306_RST_PIN, 1);
-    DELAY(1);
-    gpioSetValue(SSD1306_RST_PORT, SSD1306_RST_PIN, 0);
-    DELAY(10);
-    gpioSetValue(SSD1306_RST_PORT, SSD1306_RST_PIN, 1);
-
     #if defined SSD1306_128_32
       // Init sequence taken from datasheet for UG-2832HSWEG04 (128x32 OLED module)
       ssd1306SendCommand(SSD1306_DISPLAYOFF);                // 0xAE
     #if defined SSD1306_128_32
       // Init sequence taken from datasheet for UG-2832HSWEG04 (128x32 OLED module)
       ssd1306SendCommand(SSD1306_DISPLAYOFF);                // 0xAE
@@ -500,7 +490,7 @@ uint8_t ssd1306GetPixel(uint8_t x, uint8_t y)
 /**************************************************************************/
 void ssd1306ClearScreen() 
 {
 /**************************************************************************/
 void ssd1306ClearScreen() 
 {
-  memset(_ssd1306buffer, 0, 1024);
+  memset(_ssd1306buffer, 0x00, sizeof(_ssd1306buffer));
 }
 
 /**************************************************************************/
 }
 
 /**************************************************************************/
@@ -516,7 +506,7 @@ void ssd1306Refresh(void)
     CMD(SSD1306_SETSTARTLINE | 0x0); // line #0
 
     uint16_t i;
     CMD(SSD1306_SETSTARTLINE | 0x0); // line #0
 
     uint16_t i;
-    for (i=0; i<1024; i++) 
+    for (i = 0; i < sizeof(_ssd1306buffer); i++)
     {
       DATA(_ssd1306buffer[i]);
     }
     {
       DATA(_ssd1306buffer[i]);
     }
@@ -528,7 +518,7 @@ void ssd1306Refresh(void)
     ssd1306SendCommand(SSD1306_SETSTARTLINE | 0x0); // line #0
 
     uint16_t i;
     ssd1306SendCommand(SSD1306_SETSTARTLINE | 0x0); // line #0
 
     uint16_t i;
-    for (i=0; i<1024; i++) 
+    for (i = 0; i < sizeof(_ssd1306buffer); i++)
     {
       ssd1306SendData(_ssd1306buffer[i]);
     }
     {
       ssd1306SendData(_ssd1306buffer[i]);
     }
This page took 0.021658 seconds and 4 git commands to generate.