Как подключить библиотеку к библиотеке?

Maka
Offline
Зарегистрирован: 24.10.2015

Кропаю потихоньку библиотеку под свои нужды и понадобилось печатать на лсд методом кдасса. При этом хочется оставить возможность использовать библиотеку liquidcrystal_i2c и в скетче. Как это сделать?

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

Для начала понять свой вопрос. То есть разобраться в терминах и что каждое значит.

Maka
Offline
Зарегистрирован: 24.10.2015

Вот кусок класса:

class Tim {
public:
    long i;
    void prt(byte str){
        lcd.setCursor(14, str);
        lcd.print("     ");
        lcd.setCursor(14, str);
        lcd.print(i/3600);
        lcd.setCursor(16, str);
        lcd.print(':');
        lcd.setCursor(17, str);
        lcd.print((i % 3600) / 60);
    };

без 

#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x3f, 20, 4); он работать не будет. Если просто зто прописать в .cpp будет ошибка, понятно. Как сделать грамотно ?
ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Пронаследовать Tim От LiquidCrystal_I2C.

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016
#include <LiquidCrystal_I2C.h> //<
extern LiquidCrystal_I2C lcd; //<--вы разберитесь почему так надо писать.

class Tim {
  public:
    long i;
    void prt(byte str) {
      lcd.setCursor(14, str);
      lcd.print("     ");
      lcd.setCursor(14, str);
      lcd.print(i / 3600);
      lcd.setCursor(16, str);
      lcd.print(':');
      lcd.setCursor(17, str);
      lcd.print((i % 3600) / 60);
    }
};

 

Maka
Offline
Зарегистрирован: 24.10.2015

О! Я это видел у кого-то, но не врубился, почему так. Спасибо огромное!!!