SSD1306 only uses I2C pins
authorKevin Townsend <kevin@ktownsend.com>
Mon, 26 Mar 2012 16:37:03 +0000 (18:37 +0200)
committerKevin Townsend <kevin@ktownsend.com>
Mon, 26 Mar 2012 16:37:03 +0000 (18:37 +0200)
build/crossworks/LPC1343_CodeBase.hzs
drivers/displays/bitmap/ssd1306/ssd1306.c
drivers/displays/bitmap/ssd1306/ssd1306.h
projectconfig.h

index d903c47..d980ed8 100644 (file)
   <ProjectSessionItem path="LPC1343_CodeBase" name="unnamed" />
   <ProjectSessionItem path="LPC1343_CodeBase;LPC1343_CodeBase" name="unnamed" />
   <ProjectSessionItem path="LPC1343_CodeBase;LPC1343_CodeBase;Source Files" name="unnamed" />
-  <ProjectSessionItem path="LPC1343_CodeBase;LPC1343_CodeBase;Source Files;core" name="unnamed" />
-  <ProjectSessionItem path="LPC1343_CodeBase;LPC1343_CodeBase;Source Files;core;usbcdc" name="unnamed" />
   <ProjectSessionItem path="LPC1343_CodeBase;LPC1343_CodeBase;Source Files;drivers" name="unnamed" />
   <ProjectSessionItem path="LPC1343_CodeBase;LPC1343_CodeBase;Source Files;drivers;displays" name="unnamed" />
   <ProjectSessionItem path="LPC1343_CodeBase;LPC1343_CodeBase;Source Files;drivers;displays;bitmap" name="unnamed" />
   <ProjectSessionItem path="LPC1343_CodeBase;LPC1343_CodeBase;Source Files;drivers;displays;bitmap;ssd1306" name="unnamed" />
-  <ProjectSessionItem path="LPC1343_CodeBase;LPC1343_CodeBase;Source Files;drivers;displays;tft" name="unnamed" />
-  <ProjectSessionItem path="LPC1343_CodeBase;LPC1343_CodeBase;Source Files;drivers;displays;tft;hw" name="unnamed" />
  </Project>
  <Register1>
   <RegisterWindow openNodes="CPU;CoreDebug" binaryNodes="" hiddenNodes="" unsignedNodes="" visibleGroups="CPU;CoreDebug" decimalNodes="" octalNodes="" asciiNodes="" />
  </TraceWindow>
  <Watch1>
   <Watches active="1" update="Each Second" >
-   <Watchpoint linenumber="66" radix="10" name="msTicks" expression="msTicks" filename="c:/documents and settings/kevin/my documents/my dropbox/microbuilder/code/lpc1343/lpc1343_codebase/core/systick/systick.c" />
-   <Watchpoint linenumber="138" radix="16" name="timer32_0_counter" expression="timer32_0_counter" filename="c:/documents and settings/kevin/my documents/my dropbox/microbuilder/code/lpc1343/lpc1343_codebase/core/timer32/timer32.c" />
-   <Watchpoint linenumber="155" radix="-1" name="xTickCount" expression="xTickCount" filename="c:/documents and settings/kevin/my documents/my dropbox/microbuilder/code/lpc1343/lpc1343_codebase/freertos/tasks.c" />
    <Watchpoint linenumber="155" radix="16" name="Tick" expression="Tick" filename="c:/documents and settings/kevin/my documents/my dropbox/microbuilder/code/lpc1343/lpc1343_codebase/freertos/tasks.c" />
+   <Watchpoint linenumber="155" radix="-1" name="xTickCount" expression="xTickCount" filename="c:/documents and settings/kevin/my documents/my dropbox/microbuilder/code/lpc1343/lpc1343_codebase/freertos/tasks.c" />
+   <Watchpoint linenumber="138" radix="16" name="timer32_0_counter" expression="timer32_0_counter" filename="c:/documents and settings/kevin/my documents/my dropbox/microbuilder/code/lpc1343/lpc1343_codebase/core/timer32/timer32.c" />
+   <Watchpoint linenumber="66" radix="10" name="msTicks" expression="msTicks" filename="c:/documents and settings/kevin/my documents/my dropbox/microbuilder/code/lpc1343/lpc1343_codebase/core/systick/systick.c" />
   </Watches>
  </Watch1>
  <Watch2>
   <Watches active="0" update="Never" />
  </Watch4>
  <Files>
-  <SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="30" debugPath="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\main.c" y="32" path="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\main.c" left="0" selected="1" name="unnamed" top="17" />
-  <SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="26" debugPath="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\projectconfig.h" y="1217" path="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\projectconfig.h" left="0" selected="0" name="unnamed" top="1180" />
-  <SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="0" debugPath="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\sysinit.c" y="82" path="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\sysinit.c" left="0" selected="0" name="unnamed" top="82" />
-  <SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="0" debugPath="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\drivers\displays\bitmap\ssd1306\ssd1306.c" y="566" path="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\drivers\displays\bitmap\ssd1306\ssd1306.c" left="0" selected="0" name="unnamed" top="529" />
-  <SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="4" debugPath="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\drivers\displays\bitmap\ssd1306\ssd1306.h" y="91" path="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\drivers\displays\bitmap\ssd1306\ssd1306.h" left="0" selected="0" name="unnamed" top="61" />
-  <SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="0" debugPath="C:\dropbox\microbuilder\code\lpc1343\lpc1343_codebase_git\core\usbcdc\usbuser.c" y="3" path="C:\dropbox\microbuilder\code\lpc1343\lpc1343_codebase_git\core\usbcdc\usbuser.c" left="0" selected="0" name="unnamed" top="0" />
-  <SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="0" debugPath="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\drivers\displays\bitmap\ssd1306\ssd1306_i2c.h" y="0" path="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\drivers\displays\bitmap\ssd1306\ssd1306_i2c.h" left="0" selected="0" name="unnamed" top="12" />
-  <SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="0" debugPath="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\drivers\displays\tft\hw\ssd1351.c" y="41" path="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\drivers\displays\tft\hw\ssd1351.c" left="0" selected="0" name="unnamed" top="27" />
-  <SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="0" debugPath="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\drivers\displays\tft\hw\ssd1331.c" y="41" path="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\drivers\displays\tft\hw\ssd1331.c" left="0" selected="0" name="unnamed" top="21" />
-  <SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="0" debugPath="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\drivers\displays\tft\hw\ssd1351.h" y="0" path="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\drivers\displays\tft\hw\ssd1351.h" left="0" selected="0" name="unnamed" top="36" />
-  <SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="0" debugPath="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\drivers\displays\tft\hw\ssd1331.h" y="0" path="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\drivers\displays\tft\hw\ssd1331.h" left="0" selected="0" name="unnamed" top="36" />
-  <SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="0" debugPath="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\drivers\displays\tft\hw\hx8340b.c" y="42" path="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\drivers\displays\tft\hw\hx8340b.c" left="0" selected="0" name="unnamed" top="12" />
-  <SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="0" debugPath="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\drivers\displays\tft\hw\hx8340b.h" y="72" path="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\drivers\displays\tft\hw\hx8340b.h" left="0" selected="0" name="unnamed" top="30" />
+  <SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="5" debugPath="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\main.c" y="69" path="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\main.c" left="0" selected="1" name="unnamed" top="41" />
  </Files>
  <ARMCrossStudioWindow activeProject="LPC1343_CodeBase" autoConnectTarget="SEGGER J-Link" debugSearchFileMap="" fileDialogInitialDirectory="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\drivers\displays\tft" fileDialogDefaultFilter="*.c" autoConnectCapabilities="388991" debugSearchPath="" buildConfiguration="THUMB Flash Debug" />
 </session>
index f7d55b0..f8e4ee4 100644 (file)
@@ -351,16 +351,6 @@ void ssd1306Init(uint8_t vccstate)
 
   // 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
index 2f4abf1..1773050 100644 (file)
     #endif
 /*=========================================================================*/
 
+
 // Pin Definitions
-#define SSD1306_DC_PORT                    (2)     // Data/Command ... used for SA0 with I2C
+// ---------------
+// The following are only relevant for SPI mode!
+// For I2C, connect Reset to the LPC1114 reset pin, and HW DC for 1 or 0 
+// to set last I2C address but to 1 or 0.  This means the OLED can not
+// be reset in SW seperate from the MCU, but allows the OLED to be used
+// with only the two I2C pins
+
+#define SSD1306_DC_PORT                    (2)     // Data/Command ... also used as SA0 for I2C
 #define SSD1306_DC_PIN                     (1)
-#define SSD1306_RST_PORT                   (2)     // Reset           (I2C + SPI)
+#define SSD1306_RST_PORT                   (2)     // Reset
 #define SSD1306_RST_PIN                    (2)
-#define SSD1306_CS_PORT                    (2)     // Select          (SPI only)
+#define SSD1306_CS_PORT                    (2)     // Select
 #define SSD1306_CS_PIN                     (3)
-#define SSD1306_SCLK_PORT                  (2)     // Serial Clock    (SPI only)
+#define SSD1306_SCLK_PORT                  (2)     // Serial Clock
 #define SSD1306_SCLK_PIN                   (5)
-#define SSD1306_SDAT_PORT                  (2)     // Serial Data     (SPI only)
+#define SSD1306_SDAT_PORT                  (2)     // Serial Data
 #define SSD1306_SDAT_PIN                   (6)
 
 // Commands
index 59abed5..ac0366d 100644 (file)
     ST7735      . .  .  .     X X X X X X . . .     . . . .
     SHARPMEM    . .  .  .     X X X X . . . . .     . . . .
     SSD1306 SPI . .  .  .     X X X . X X . . .     . . . .
-    SSD1306 I2C . .  .  .     . X . . . . . . .     . . . .
     SSD1351     . .  .  .     X X X X X . . . .     . . . .
     MCP121      . .  .  .     . . . . . . . . .     . X . .
     PN532 [3]   . .  .  .     . . . . . . . . .     . X X . 
     ST7535      .     .     .     .       .       . . . .     .
     SHARPMEM    .     .     .     .       .       . . . .     .
     SSD1306 SPI .     .     .     .       .       . . . .     .
-    SSD1306 I2C .     .     .     .       .       . . . .     .
     INTERFACE   .     .     .     .       .       . . . .     X[2]
 
     [1]  PMU uses 32-bit Timer 0 for SW wakeup from deep-sleep.  This timer
This page took 0.035259 seconds and 4 git commands to generate.