Шлифуем клаас прослойку доступа к gpio

This commit is contained in:
2022-02-14 21:23:40 +03:00
parent 5c8221f86f
commit c144a3ae1e
3 changed files with 20 additions and 33 deletions

View File

@@ -3,23 +3,19 @@
class IoTGpio {
public:
IoTGpio();
IoTGpio(int pins);
~IoTGpio();
void pinMode(uint8_t pin, uint8_t mode);
void digitalWrite(uint8_t pin, uint8_t val);
int digitalRead(uint8_t pin);
int analogRead(uint8_t pin);
void analogReference(uint8_t mode);
void analogWrite(uint8_t pin, int val);
void analogWriteFreq(uint32_t freq);
void analogWriteRange(uint32_t range);
int pinNums; // база для определения диапазона номеров пинов. pinNums + используемый
void regDriver(IoTGpio* newDriver);
private:
IoTGpio* _ext1; //ссылка на объект доступа к портам свыше 100
IoTGpio* _ext2; //200
IoTGpio* _ext3; //300
IoTGpio* _ext4; //400
IoTGpio* _drivers[5]; //ссылки на объекты доступа к портам более 100, 200, 300, 400. Нулевой элемент используется как маркер - и возвращается nullptr при обращении
};