Fix double claim, eliminate dead code at compile time

This commit is contained in:
Wessel Nieboer 2026-02-06 11:35:05 +01:00
parent e15503d50d
commit 0b1fd580f1
No known key found for this signature in database
GPG key ID: 929C8E45E33B5FD2

View file

@ -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;