Quiero heredar mi propia clase de LiquidCrystal que crea algunos caracteres personalizados durante la inicialización. Aquí está el código que he escrito hasta ahora:
MyProject.ino
#include <LiquidCrystal.h>
#include "MyLiquidCrystal.h"
MyLiquidCrystal lcd(8, 9, 4, 5, 6, 7);
void setup()
{
lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.print("Welcome");
}
void loop()
{
}
MyLiquidCrystal.h
#include <LiquidCrystal.h>
#include <Arduino.h>
namespace MyProject
{
class MyLiquidCrystal: public LiquidCrystal
{
private:
void createCustomChars()
{
byte smiley[8] = { B00000, B10001, B00000, B00000, B10001, B01110, B00000 };
this.createChar(0, smiley);
}
public:
MyLiquidCrystal(uint8_t rs, uint8_t enable, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3)
: LiquidCrystal(rs, enable, d0, d1, d2, d3)
{
createCustomChars();
}
};
};
Recibo el siguiente error en la línea MyLiquidCrystal lcd(8, 9, 4, 5, 6, 7);
:
MyProject:5: error: 'MyLiquidCrystal' does not name a type
He estado buscando en Google por un tiempo, pero no pude averiguar qué está pasando. Cualquier ayuda sería apreciada!