Добавляем расширитель портов MCP23017

This commit is contained in:
2022-02-21 20:00:18 +03:00
parent 9fe7adb151
commit 5a96d39012
9 changed files with 119 additions and 18 deletions

View File

@@ -54,6 +54,7 @@
/*********************************************************************************************************************
*****************************************глобальные объекты классов***************************************************
**********************************************************************************************************************/
extern IoTGpio IoTgpio;
extern TickerScheduler ts;
extern WiFiClient espClient;

View File

@@ -6,16 +6,16 @@ class 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 analogWrite(uint8_t pin, int val);
virtual void pinMode(uint8_t pin, uint8_t mode);
virtual void digitalWrite(uint8_t pin, uint8_t val);
virtual int digitalRead(uint8_t pin);
virtual int analogRead(uint8_t pin);
virtual void analogWrite(uint8_t pin, int val);
int pinNums; // база для определения диапазона номеров пинов. pinNums + используемый
int index;
void regDriver(IoTGpio* newDriver);
private:
IoTGpio* _drivers[5]; //ссылки на объекты доступа к портам более 100, 200, 300, 400. Нулевой элемент используется как маркер - и возвращается nullptr при обращении
IoTGpio* _drivers[5] = {nullptr}; //ссылки на объекты доступа к портам более 100, 200, 300, 400. Нулевой элемент используется как маркер - и возвращается nullptr при обращении
};

View File

@@ -28,7 +28,7 @@ class IoTItem {
IoTValue value; // хранение основного значения, котрое обновляется из сценария, execute(), loop() или doByInterval()
IoTGpio* getGpioDriver();
virtual IoTGpio* getGpioDriver();
protected:
String _subtype;