* Heltec tracker: new 'periph_power' shared pin (between Display & GPS)

This commit is contained in:
Scott Powell 2025-05-08 15:50:53 +10:00
parent 997261a68e
commit 810fc8b8f0
8 changed files with 86 additions and 27 deletions

View file

@ -0,0 +1,29 @@
#pragma once
#include <Arduino.h>
class RefCountedDigitalPin {
uint8_t _pin;
int8_t _claims = 0;
public:
RefCountedDigitalPin(uint8_t pin): _pin(pin) { }
void begin() {
pinMode(_pin, OUTPUT);
digitalWrite(_pin, LOW); // initial state
}
void claim() {
_claims++;
if (_claims > 0) {
digitalWrite(_pin, HIGH);
}
}
void release() {
_claims--;
if (_claims == 0) {
digitalWrite(_pin, LOW);
}
}
};