<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://wiki.tinkernet.ca/index.php?action=history&amp;feed=atom&amp;title=IoT_-_Modular_-_SSD1306.cpp</id>
	<title>IoT - Modular - SSD1306.cpp - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.tinkernet.ca/index.php?action=history&amp;feed=atom&amp;title=IoT_-_Modular_-_SSD1306.cpp"/>
	<link rel="alternate" type="text/html" href="https://wiki.tinkernet.ca/index.php?title=IoT_-_Modular_-_SSD1306.cpp&amp;action=history"/>
	<updated>2026-05-04T14:47:34Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.34.1</generator>
	<entry>
		<id>https://wiki.tinkernet.ca/index.php?title=IoT_-_Modular_-_SSD1306.cpp&amp;diff=1558&amp;oldid=prev</id>
		<title>Tinker: Created page with &quot;==#includes, Defines, etc...==  &lt;syntaxhighlight lang=&quot;cpp&quot; line=&quot;1&quot;&gt; #include &quot;libraries.h&quot; #include &quot;functions.h&quot; #include &quot;externs.h&quot;  #include &quot;StickDude.h&quot;  #include &quot;d-S...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.tinkernet.ca/index.php?title=IoT_-_Modular_-_SSD1306.cpp&amp;diff=1558&amp;oldid=prev"/>
		<updated>2021-04-30T05:38:32Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;==#includes, Defines, etc...==  &amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt; #include &amp;quot;libraries.h&amp;quot; #include &amp;quot;functions.h&amp;quot; #include &amp;quot;externs.h&amp;quot;  #include &amp;quot;StickDude.h&amp;quot;  #include &amp;quot;d-S...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==#includes, Defines, etc...==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;libraries.h&amp;quot;&lt;br /&gt;
#include &amp;quot;functions.h&amp;quot;&lt;br /&gt;
#include &amp;quot;externs.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;StickDude.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;d-SSD1306_128x64.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
extern bool WalkingDudeIndicator;&lt;br /&gt;
extern bool WavingDudeIndicator;&lt;br /&gt;
&lt;br /&gt;
extern int DS18B20_Count;&lt;br /&gt;
extern int BME280_Count;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==SSD1306_Exists==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
bool SSD1306_Exists()&lt;br /&gt;
{&lt;br /&gt;
  Wire.beginTransmission(0x3C);&lt;br /&gt;
&lt;br /&gt;
  // See if something acknowledged the transmission&lt;br /&gt;
  int response = Wire.endTransmission();&lt;br /&gt;
  if (response == 0)&lt;br /&gt;
  {&lt;br /&gt;
    return (true);&lt;br /&gt;
  }&lt;br /&gt;
  else if (response == 4) // unknown error&lt;br /&gt;
  {&lt;br /&gt;
    debug_Trouble(&amp;quot;Unknown response at hexAddress 0x3C&amp;quot;);&lt;br /&gt;
    return (false);&lt;br /&gt;
  }&lt;br /&gt;
  else&lt;br /&gt;
  {&lt;br /&gt;
    return (false);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==SSD1306_init==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
// Initialize the display&lt;br /&gt;
void SSD1306_init()&lt;br /&gt;
{&lt;br /&gt;
  {&lt;br /&gt;
    // SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally&lt;br /&gt;
    // the 'true' means reset the display on begin.  Let's see if this stops the intermittant freeze...&lt;br /&gt;
    if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C, true))&lt;br /&gt;
    {&lt;br /&gt;
      debug_Trouble(&amp;quot;SSD1306 allocation failed&amp;quot;);&lt;br /&gt;
      debug_Trouble(&amp;quot;++++++++++++++++ STOPPING!!! +++++++++++++++++&amp;quot;);&lt;br /&gt;
      while (true) // Slam on da brakes!&lt;br /&gt;
        blinkLED(100);&lt;br /&gt;
      //  Does this ever actually happen?&lt;br /&gt;
      //  Or even NEED to???&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      display.clearDisplay();&lt;br /&gt;
&lt;br /&gt;
      display.dim(true); // These displays are excessively bright&lt;br /&gt;
&lt;br /&gt;
      // Set up the active (changing) parts of the display&lt;br /&gt;
      Dcanvas6.setFont(&amp;amp;FreeMonoBold9pt7b);&lt;br /&gt;
&lt;br /&gt;
      // Set up the static (non-changing) parts of the display&lt;br /&gt;
      Scanvas3.setFont(&amp;amp;FreeMonoBold9pt7b);&lt;br /&gt;
&lt;br /&gt;
      display.setTextColor(WHITE, BLACK);&lt;br /&gt;
      display.setTextSize(1);&lt;br /&gt;
      { ////////////////////////////////  Why do I have to check this here&lt;br /&gt;
        ////////////////////////////////  &amp;amp; can't avoid the setup if it's missing???&lt;br /&gt;
        if (SSD1306_Exists())&lt;br /&gt;
          debug_Success(&amp;quot;SSD1306 initialized&amp;quot;);&lt;br /&gt;
        else&lt;br /&gt;
          debug_Trouble(&amp;quot;No SSD1306 found&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==SSD1306_title==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
// Place static text on the yellow part of the OLED display&lt;br /&gt;
// Accepts the string (max 9 characters)&lt;br /&gt;
void SSD1306_title(const char *Title)&lt;br /&gt;
{ // Max 9 characters...&lt;br /&gt;
  Tcanvas0.setFont(&amp;amp;FreeMonoBold12pt7b);&lt;br /&gt;
  Tcanvas0.fillScreen(BLACK);&lt;br /&gt;
  Tcanvas0.setCursor(0, 14);&lt;br /&gt;
  Tcanvas0.print(Title);&lt;br /&gt;
  // Tcanvas0.drawBitmap(4, row_Y[Row - 1] - 9, Tcanvas0.getBuffer(), 120, 15, WHITE, BLACK);&lt;br /&gt;
  display.drawBitmap(4, 0, Tcanvas0.getBuffer(), 128, 15, WHITE, BLACK);&lt;br /&gt;
  display.display();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==SSD1306_Static==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
// Place static text on the blue part of the OLED display&lt;br /&gt;
// Accepts the string (max 11 characters) and the row number (1-3)&lt;br /&gt;
void SSD1306_Static(const char *Line, int Row)&lt;br /&gt;
{ // Max 11 characters&lt;br /&gt;
  Scanvas3.fillScreen(BLACK);&lt;br /&gt;
  Scanvas3.setCursor(0, 11);&lt;br /&gt;
  Scanvas3.print(Line);&lt;br /&gt;
  if (strlen(Line) &amp;gt; 0)&lt;br /&gt;
    Scanvas3.print(&amp;quot;:&amp;quot;); // Add a colon if there's actual content on the line...&lt;br /&gt;
  display.drawBitmap(4, row_Y[Row - 1], Scanvas3.getBuffer(), 120, 15, WHITE, BLACK);&lt;br /&gt;
&lt;br /&gt;
  display.display();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==SSD1306_Display_Sensor_Data==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
void SSD1306_Display_Sensor_Data(&lt;br /&gt;
    const char TitleText[10],&lt;br /&gt;
    const char L1Text[6], float L1Data,&lt;br /&gt;
    const char L2Text[6], float L2Data,&lt;br /&gt;
    const char L3Text[6], float L3Data)&lt;br /&gt;
{&lt;br /&gt;
  SSD1306_title(TitleText);&lt;br /&gt;
&lt;br /&gt;
  SSD1306_Static(L1Text, 1);&lt;br /&gt;
  SSD1306_Static(L2Text, 2);&lt;br /&gt;
  SSD1306_Static(L3Text, 3);&lt;br /&gt;
&lt;br /&gt;
  char TempText[6];&lt;br /&gt;
  char HumiText[6];&lt;br /&gt;
  char PresText[6];&lt;br /&gt;
&lt;br /&gt;
  if (strlen(L1Text) &amp;gt; 0)&lt;br /&gt;
  {&lt;br /&gt;
    sprintf(TempText, &amp;quot;%6.1f&amp;quot;, L1Data);&lt;br /&gt;
    Dcanvas6.fillScreen(BLACK);&lt;br /&gt;
    Dcanvas6.setCursor(0, 11);&lt;br /&gt;
    Dcanvas6.print(TempText);&lt;br /&gt;
    display.drawBitmap(62, row_Y[0], Dcanvas6.getBuffer(), 65, 12, WHITE, BLACK);&lt;br /&gt;
    display.display();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (strlen(L2Text) &amp;gt; 0)&lt;br /&gt;
  {&lt;br /&gt;
    sprintf(HumiText, &amp;quot;%6.1f&amp;quot;, L2Data);&lt;br /&gt;
    Dcanvas6.fillScreen(BLACK);&lt;br /&gt;
    Dcanvas6.setCursor(0, 11);&lt;br /&gt;
    Dcanvas6.print(HumiText);&lt;br /&gt;
    display.drawBitmap(62, row_Y[1], Dcanvas6.getBuffer(), 65, 12, WHITE, BLACK);&lt;br /&gt;
    display.display();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (strlen(L3Text) &amp;gt; 0)&lt;br /&gt;
  {&lt;br /&gt;
    sprintf(PresText, &amp;quot;%06.1f&amp;quot;, L3Data);&lt;br /&gt;
    Dcanvas6.fillScreen(BLACK);&lt;br /&gt;
    Dcanvas6.setCursor(0, 11);&lt;br /&gt;
    Dcanvas6.print(PresText);&lt;br /&gt;
    display.drawBitmap(62, row_Y[2], Dcanvas6.getBuffer(), 65, 12, WHITE, BLACK);&lt;br /&gt;
  }&lt;br /&gt;
  display.display();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==SSD1306_Display_Sensor_Data2==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
void SSD1306_Display_Sensor_Data2(&lt;br /&gt;
    const char TitleText[10],&lt;br /&gt;
    const char L1Text[6], float L1Data,&lt;br /&gt;
    const char L2Text[6], float L2Data,&lt;br /&gt;
    const char L3Text[6], float L3Data)&lt;br /&gt;
{&lt;br /&gt;
  SSD1306_title(TitleText);&lt;br /&gt;
&lt;br /&gt;
  SSD1306_Static(L1Text, 1);&lt;br /&gt;
  SSD1306_Static(L2Text, 2);&lt;br /&gt;
  SSD1306_Static(L3Text, 3);&lt;br /&gt;
&lt;br /&gt;
  char TempText[6];&lt;br /&gt;
  char HumiText[6];&lt;br /&gt;
  char PresText[6];&lt;br /&gt;
&lt;br /&gt;
  if (strlen(L1Text) &amp;gt; 0)&lt;br /&gt;
  {&lt;br /&gt;
    sprintf(TempText, &amp;quot;%6.1f&amp;quot;, L1Data);&lt;br /&gt;
    Dcanvas6.fillScreen(BLACK);&lt;br /&gt;
    Dcanvas6.setCursor(0, 11);&lt;br /&gt;
    Dcanvas6.print(TempText);&lt;br /&gt;
    display.drawBitmap(62, row_Y[0], Dcanvas6.getBuffer(), 65, 12, WHITE, BLACK);&lt;br /&gt;
    display.display();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (strlen(L2Text) &amp;gt; 0)&lt;br /&gt;
  {&lt;br /&gt;
    sprintf(HumiText, &amp;quot;%6.2f&amp;quot;, L2Data);&lt;br /&gt;
    Dcanvas6.fillScreen(BLACK);&lt;br /&gt;
    Dcanvas6.setCursor(0, 11);&lt;br /&gt;
    Dcanvas6.print(HumiText);&lt;br /&gt;
    display.drawBitmap(62, row_Y[1], Dcanvas6.getBuffer(), 65, 12, WHITE, BLACK);&lt;br /&gt;
    display.display();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (strlen(L3Text) &amp;gt; 0)&lt;br /&gt;
  {&lt;br /&gt;
    sprintf(PresText, &amp;quot;%06.2f&amp;quot;, L3Data);&lt;br /&gt;
    Dcanvas6.fillScreen(BLACK);&lt;br /&gt;
    Dcanvas6.setCursor(0, 11);&lt;br /&gt;
    Dcanvas6.print(PresText);&lt;br /&gt;
    display.drawBitmap(62, row_Y[2], Dcanvas6.getBuffer(), 65, 12, WHITE, BLACK);&lt;br /&gt;
  }&lt;br /&gt;
  display.display();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==SSD1306_Indicate_Action==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
// Create an activity indicator ////////////////////////////////////////////////&lt;br /&gt;
////////////////////////////////////////////////////////////////////////////////&lt;br /&gt;
void SSD1306_Indicate_Action()&lt;br /&gt;
{&lt;br /&gt;
  if (WalkingDudeIndicator)&lt;br /&gt;
    beerStickDude(DottyX, 64 - 12);&lt;br /&gt;
&lt;br /&gt;
  if (WavingDudeIndicator)&lt;br /&gt;
    beerStickDude(120, 0);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==WavingDude==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
// StickDude waving in the corner...&lt;br /&gt;
int DudeNumber = 0;&lt;br /&gt;
void WavingDude()&lt;br /&gt;
{&lt;br /&gt;
  if (DudeNumber &amp;gt;= StickDude_wave_count)&lt;br /&gt;
    DudeNumber = 0;&lt;br /&gt;
&lt;br /&gt;
  StickDudePIC.fillScreen(BLACK);&lt;br /&gt;
  StickDudePIC.drawBitmap(0, 0, StickDude_wave[DudeNumber], DUDE_WIDTH, DUDE_HEIGHT, 1);&lt;br /&gt;
&lt;br /&gt;
  DudeNumber++;&lt;br /&gt;
&lt;br /&gt;
  display.drawBitmap(120, 0, StickDudePIC.getBuffer(), 8, 12, WHITE, BLACK);&lt;br /&gt;
  display.display();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==WalkingDude==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
// Just a little dude that walks across the bottom edge of the display&lt;br /&gt;
int DudeStep = 0;&lt;br /&gt;
void WalkingDude()&lt;br /&gt;
{&lt;br /&gt;
  DottyX++;&lt;br /&gt;
  if (DottyX &amp;gt; SCREEN_WIDTH)&lt;br /&gt;
    DottyX = 0;&lt;br /&gt;
  if (DudeStep &amp;gt;= StickDude_walk_count)&lt;br /&gt;
    DudeStep = 0;&lt;br /&gt;
&lt;br /&gt;
  StickDudePIC.fillScreen(BLACK);&lt;br /&gt;
  StickDudePIC.drawBitmap(0, 0, StickDude_walk[DudeStep], DUDE_WIDTH, DUDE_HEIGHT, 1);&lt;br /&gt;
&lt;br /&gt;
  DudeStep++;&lt;br /&gt;
&lt;br /&gt;
  display.drawBitmap(DottyX, 64 - 12, StickDudePIC.getBuffer(), 8, 12, WHITE, BLACK);&lt;br /&gt;
  display.display();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==beerStickDude==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
// Dude stops for a beer&lt;br /&gt;
void beerStickDude(int LEFT, int TOP)&lt;br /&gt;
{&lt;br /&gt;
  int DudeNum;&lt;br /&gt;
&lt;br /&gt;
  for (DudeNum = 0; DudeNum &amp;lt; StickDude_beer_count; DudeNum++)&lt;br /&gt;
  {&lt;br /&gt;
    {&lt;br /&gt;
      StickDudePIC.fillScreen(BLACK);&lt;br /&gt;
      StickDudePIC.drawBitmap(0, 0, StickDude_beer[DudeNum], DUDE_WIDTH, DUDE_HEIGHT, 1);&lt;br /&gt;
      display.drawBitmap(LEFT, TOP, StickDudePIC.getBuffer(), 8, 12, WHITE, BLACK);&lt;br /&gt;
      display.display();&lt;br /&gt;
      delay(60);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  DudeNum--;&lt;br /&gt;
  for (; DudeNum &amp;gt;= 0; DudeNum--)&lt;br /&gt;
  {&lt;br /&gt;
    {&lt;br /&gt;
      StickDudePIC.fillScreen(BLACK);&lt;br /&gt;
      StickDudePIC.drawBitmap(0, 0, StickDude_beer[DudeNum], DUDE_WIDTH, DUDE_HEIGHT, 1);&lt;br /&gt;
      display.drawBitmap(LEFT, TOP, StickDudePIC.getBuffer(), 8, 12, WHITE, BLACK);&lt;br /&gt;
      display.display();&lt;br /&gt;
      delay(30);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==SSD1306_off==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
// Turn display off /////////////////////////////////////////////////////////&lt;br /&gt;
void SSD1306_off()&lt;br /&gt;
{&lt;br /&gt;
  display.ssd1306_command(SSD1306_DISPLAYOFF);&lt;br /&gt;
  debug_Action(&amp;quot;Screen OFF&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==SSD1306_on==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
// Turn display on /////////////////////////////////////////////////////////&lt;br /&gt;
void SSD1306_on()&lt;br /&gt;
{&lt;br /&gt;
  display.ssd1306_command(SSD1306_DISPLAYON);&lt;br /&gt;
  debug_Action(&amp;quot;Screen ON&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==SSD1306_Dim==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
// Adjust display intensity ////////////////////////////////////////////////////&lt;br /&gt;
void SSD1306_Dim()&lt;br /&gt;
{&lt;br /&gt;
  display.dim(true); // These displays are excessively bright&lt;br /&gt;
  debug_Action(&amp;quot;Screen DIM&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==SSD1306_Bright==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
// Adjust display intensity ////////////////////////////////////////////////////&lt;br /&gt;
void SSD1306_Bright()&lt;br /&gt;
{&lt;br /&gt;
  display.dim(false); // These displays are excessively bright&lt;br /&gt;
  debug_Action(&amp;quot;Screen BRIGHT&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tinker</name></author>
		
	</entry>
</feed>