Fix double claim, eliminate dead code at compile time
Этот коммит содержится в:
@@ -19,11 +19,9 @@ bool SSD1306Display::begin() {
|
||||
|
||||
void SSD1306Display::turnOn() {
|
||||
if (!_isOn) {
|
||||
if (_peripher_power) {
|
||||
_peripher_power->claim();
|
||||
begin();
|
||||
}
|
||||
_isOn = true;
|
||||
if (_peripher_power) _peripher_power->claim();
|
||||
_isOn = true; // set before begin() to prevent double claim
|
||||
if (_peripher_power) begin(); // re-init display after power was cut
|
||||
}
|
||||
display.ssd1306_command(SSD1306_DISPLAYON);
|
||||
}
|
||||
@@ -32,7 +30,9 @@ void SSD1306Display::turnOff() {
|
||||
display.ssd1306_command(SSD1306_DISPLAYOFF);
|
||||
if (_isOn) {
|
||||
if (_peripher_power) {
|
||||
if (PIN_OLED_RESET >= 0) digitalWrite(PIN_OLED_RESET, LOW);
|
||||
#if PIN_OLED_RESET >= 0
|
||||
digitalWrite(PIN_OLED_RESET, LOW);
|
||||
#endif
|
||||
_peripher_power->release();
|
||||
}
|
||||
_isOn = false;
|
||||
|
||||
Ссылка в новой задаче
Block a user