|
|
|
@ -18,17 +18,23 @@ bool SSD1306Display::begin() { |
|
|
|
} |
|
|
|
|
|
|
|
void SSD1306Display::turnOn() { |
|
|
|
display.ssd1306_command(SSD1306_DISPLAYON); |
|
|
|
if (!_isOn) { |
|
|
|
if (_peripher_power) _peripher_power->claim(); |
|
|
|
if (_peripher_power) { |
|
|
|
_peripher_power->claim(); |
|
|
|
begin(); |
|
|
|
} |
|
|
|
_isOn = true; |
|
|
|
} |
|
|
|
display.ssd1306_command(SSD1306_DISPLAYON); |
|
|
|
} |
|
|
|
|
|
|
|
void SSD1306Display::turnOff() { |
|
|
|
display.ssd1306_command(SSD1306_DISPLAYOFF); |
|
|
|
if (_isOn) { |
|
|
|
if (_peripher_power) _peripher_power->release(); |
|
|
|
if (_peripher_power) { |
|
|
|
if (PIN_OLED_RESET >= 0) digitalWrite(PIN_OLED_RESET, LOW); |
|
|
|
_peripher_power->release(); |
|
|
|
} |
|
|
|
_isOn = false; |
|
|
|
} |
|
|
|
} |
|
|
|
|