Hi everyone
I desperately need help with this error. I've tested different LiquidCrystal_I2C libraries but no effect.
One solution I found was to put
'DSPL::begin(16, 2)'
instead of
'DSPL::begin()'
and it got rid of the error and I could upload but I get this on LCD.
LCD is fine and it can display the Hello World example from LiquidCrystal_I2C library.
Someone smarter please check the error and see if you help me, it's urgent. Appreciated.
The error message:
D:\Electronics\Hot Air Station\ARDUINO-SMD-REWORK-STATION-master\hot_air_gun_station_V1.0\hot_air_gun_station_V1.0.ino: In member function 'void DSPL::init()':
hot_air_gun_station_V1.0:403:30: error: no matching function for call to 'DSPL::begin()'
LiquidCrystal_I2C::begin();
^
In file included from D:\Electronics\Hot Air Station\ARDUINO-SMD-REWORK-STATION-master\hot_air_gun_station_V1.0\hot_air_gun_station_V1.0.ino:8:0:
C:\Users\...\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.3/LiquidCrystal_I2C.h:58:8: note: candidate: void LiquidCrystal_I2C::begin(uint8_t, uint8_t, uint8_t)
void begin(uint8_t cols, uint8_t rows, uint8_t charsize = LCD_5x8DOTS );
^~~~~
C:\Users\...\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.3/LiquidCrystal_I2C.h:58:8: note: candidate expects 3 arguments, 0 provided
exit status 1
no matching function for call to 'DSPL::begin()'
For a little bit of context, this is part of the code display
//------------------------------------------ class lcd DSPLay for soldering IRON -----------------------------
class DSPL : protected LiquidCrystal_I2C {
public:
DSPL(void) : LiquidCrystal_I2C(0x27, 16, 2) { }
void init(void);
void clear(void) { LiquidCrystal_I2C::clear(); }
void tSet(uint16_t t, bool Celsius = true); // Show the preset temperature
void tCurr(uint16_t t); // Show the current temperature
void tInternal(uint16_t t); // Show the current temperature in internal units
void tReal(uint16_t t); // Show the real temperature in Celsius in calibrate mode
void fanSpeed(uint8_t s); // Show the fan speed
void appliedPower(uint8_t p, bool show_zero = true); // Show applied power (%)
void setupMode(uint8_t mode);
void msgON(void); // Show message: "ON"
void msgOFF(void);
void msgReady(void);
void msgCold(void);
void msgFail(void); // Show 'Fail' message
void msgTune(void); // Show 'Tune' message
private:
bool full_second_line; // Whether the second line is full with the message
char temp_units;
const uint8_t custom_symbols[3][8] = {
{ 0b00110, // Degree
0b01001,
0b01001,
0b00110,
0b00000,
0b00000,
0b00000,
0b00000
},
{ 0b00100, // Fan sign
0b01100,
0b01100,
0b00110,
0b01011,
0b11001,
0b10000,
0b00000
},
{ 0b00011, // Power sign
0b00110,
0b01100,
0b11111,
0b00110,
0b01100,
0b01000,
0b10000
}
};
};
void DSPL::init(void) {
LiquidCrystal_I2C::begin();
LiquidCrystal_I2C::clear();
for (uint8_t i = 0; i < 3; ++i)
LiquidCrystal_I2C::createChar(i+1, (uint8_t *)custom_symbols[i]);
full_second_line = false;
temp_units = 'C';
}