|
@ -156,9 +156,9 @@ |
|
|
#include <LiquidTWI2.h> |
|
|
#include <LiquidTWI2.h> |
|
|
#define LCD_CLASS LiquidTWI2 |
|
|
#define LCD_CLASS LiquidTWI2 |
|
|
#if defined(DETECT_DEVICE) |
|
|
#if defined(DETECT_DEVICE) |
|
|
LCD_CLASS lcd(LCD_I2C_ADDRESS, 1); |
|
|
LCD_CLASS lcd(LCD_I2C_ADDRESS, 1); |
|
|
#else |
|
|
#else |
|
|
LCD_CLASS lcd(LCD_I2C_ADDRESS); |
|
|
LCD_CLASS lcd(LCD_I2C_ADDRESS); |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
#elif defined(LCD_I2C_TYPE_MCP23008) |
|
|
#elif defined(LCD_I2C_TYPE_MCP23008) |
|
@ -166,9 +166,9 @@ |
|
|
#include <LiquidTWI2.h> |
|
|
#include <LiquidTWI2.h> |
|
|
#define LCD_CLASS LiquidTWI2 |
|
|
#define LCD_CLASS LiquidTWI2 |
|
|
#if defined(DETECT_DEVICE) |
|
|
#if defined(DETECT_DEVICE) |
|
|
LCD_CLASS lcd(LCD_I2C_ADDRESS, 1); |
|
|
LCD_CLASS lcd(LCD_I2C_ADDRESS, 1); |
|
|
#else |
|
|
#else |
|
|
LCD_CLASS lcd(LCD_I2C_ADDRESS); |
|
|
LCD_CLASS lcd(LCD_I2C_ADDRESS); |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
#elif defined(LCD_I2C_TYPE_PCA8574) |
|
|
#elif defined(LCD_I2C_TYPE_PCA8574) |
|
@ -353,65 +353,56 @@ static void lcd_implementation_init( |
|
|
#endif |
|
|
#endif |
|
|
) { |
|
|
) { |
|
|
|
|
|
|
|
|
#if defined(LCD_I2C_TYPE_PCF8575) |
|
|
#if defined(LCD_I2C_TYPE_PCF8575) |
|
|
lcd.begin(LCD_WIDTH, LCD_HEIGHT); |
|
|
lcd.begin(LCD_WIDTH, LCD_HEIGHT); |
|
|
#ifdef LCD_I2C_PIN_BL |
|
|
#ifdef LCD_I2C_PIN_BL |
|
|
lcd.setBacklightPin(LCD_I2C_PIN_BL,POSITIVE); |
|
|
lcd.setBacklightPin(LCD_I2C_PIN_BL, POSITIVE); |
|
|
lcd.setBacklight(HIGH); |
|
|
lcd.setBacklight(HIGH); |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
#elif defined(LCD_I2C_TYPE_MCP23017) |
|
|
#elif defined(LCD_I2C_TYPE_MCP23017) |
|
|
lcd.setMCPType(LTI_TYPE_MCP23017); |
|
|
lcd.setMCPType(LTI_TYPE_MCP23017); |
|
|
lcd.begin(LCD_WIDTH, LCD_HEIGHT); |
|
|
lcd.begin(LCD_WIDTH, LCD_HEIGHT); |
|
|
lcd.setBacklight(0); //set all the LEDs off to begin with
|
|
|
lcd.setBacklight(0); //set all the LEDs off to begin with
|
|
|
|
|
|
|
|
|
#elif defined(LCD_I2C_TYPE_MCP23008) |
|
|
#elif defined(LCD_I2C_TYPE_MCP23008) |
|
|
lcd.setMCPType(LTI_TYPE_MCP23008); |
|
|
lcd.setMCPType(LTI_TYPE_MCP23008); |
|
|
lcd.begin(LCD_WIDTH, LCD_HEIGHT); |
|
|
lcd.begin(LCD_WIDTH, LCD_HEIGHT); |
|
|
|
|
|
|
|
|
#elif defined(LCD_I2C_TYPE_PCA8574) |
|
|
#elif defined(LCD_I2C_TYPE_PCA8574) |
|
|
lcd.init(); |
|
|
lcd.init(); |
|
|
lcd.backlight(); |
|
|
lcd.backlight(); |
|
|
|
|
|
|
|
|
#else |
|
|
#else |
|
|
lcd.begin(LCD_WIDTH, LCD_HEIGHT); |
|
|
lcd.begin(LCD_WIDTH, LCD_HEIGHT); |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
lcd_set_custom_characters( |
|
|
lcd_set_custom_characters( |
|
|
#ifdef LCD_PROGRESS_BAR |
|
|
#ifdef LCD_PROGRESS_BAR |
|
|
progress_bar_set |
|
|
progress_bar_set |
|
|
#endif |
|
|
#endif |
|
|
); |
|
|
); |
|
|
|
|
|
|
|
|
lcd.clear(); |
|
|
lcd.clear(); |
|
|
} |
|
|
|
|
|
static void lcd_implementation_clear() |
|
|
|
|
|
{ |
|
|
|
|
|
lcd.clear(); |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
static void lcd_implementation_clear() { lcd.clear(); } |
|
|
|
|
|
|
|
|
/* Arduino < 1.0.0 is missing a function to print PROGMEM strings, so we need to implement our own */ |
|
|
/* Arduino < 1.0.0 is missing a function to print PROGMEM strings, so we need to implement our own */ |
|
|
char lcd_printPGM(const char* str) { |
|
|
char lcd_printPGM(const char* str) { |
|
|
char c; |
|
|
char c, n = 0; |
|
|
char n = 0; |
|
|
while ((c = pgm_read_byte(str++))) n += charset_mapper(c); |
|
|
while((c = pgm_read_byte(str++))) { |
|
|
|
|
|
n += charset_mapper(c); |
|
|
|
|
|
} |
|
|
|
|
|
return n; |
|
|
return n; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
char lcd_print(char* str) { |
|
|
char lcd_print(char* str) { |
|
|
char c, n = 0;; |
|
|
char c, n = 0;; |
|
|
unsigned char i = 0; |
|
|
unsigned char i = 0; |
|
|
while((c = str[i++])) { |
|
|
while ((c = str[i++])) n += charset_mapper(c); |
|
|
n += charset_mapper(c); |
|
|
|
|
|
} |
|
|
|
|
|
return n; |
|
|
return n; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
unsigned lcd_print(char c) { |
|
|
unsigned lcd_print(char c) { return charset_mapper(c); } |
|
|
return charset_mapper(c); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
/*
|
|
|
Possible status screens: |
|
|
Possible status screens: |
|
@ -437,7 +428,7 @@ Possible status screens: |
|
|
|
|
|
|
|
|
20x4 |01234567890123456789| |
|
|
20x4 |01234567890123456789| |
|
|
|T000/000D B000/000D | |
|
|
|T000/000D B000/000D | |
|
|
|T000/000D Z000.0| |
|
|
|T000/000D Z000.00 | |
|
|
|F100% SD100% T--:--| |
|
|
|F100% SD100% T--:--| |
|
|
|Status line.........| |
|
|
|Status line.........| |
|
|
*/ |
|
|
*/ |
|
@ -728,7 +719,7 @@ static void lcd_implementation_drawmenu_sddirectory(bool sel, uint8_t row, const |
|
|
|
|
|
|
|
|
static void lcd_implementation_update_indicators() { |
|
|
static void lcd_implementation_update_indicators() { |
|
|
#if defined(LCD_I2C_PANELOLU2) || defined(LCD_I2C_VIKI) |
|
|
#if defined(LCD_I2C_PANELOLU2) || defined(LCD_I2C_VIKI) |
|
|
//set the LEDS - referred to as backlights by the LiquidTWI2 library
|
|
|
// Set the LEDS - referred to as backlights by the LiquidTWI2 library
|
|
|
static uint8_t ledsprev = 0; |
|
|
static uint8_t ledsprev = 0; |
|
|
uint8_t leds = 0; |
|
|
uint8_t leds = 0; |
|
|
if (target_temperature_bed > 0) leds |= LED_A; |
|
|
if (target_temperature_bed > 0) leds |= LED_A; |
|
@ -766,4 +757,4 @@ static void lcd_implementation_drawmenu_sddirectory(bool sel, uint8_t row, const |
|
|
|
|
|
|
|
|
#endif // LCD_HAS_SLOW_BUTTONS
|
|
|
#endif // LCD_HAS_SLOW_BUTTONS
|
|
|
|
|
|
|
|
|
#endif //__ULTRALCD_IMPLEMENTATION_HITACHI_HD44780_H
|
|
|
#endif // ULTRALCD_IMPLEMENTATION_HITACHI_HD44780_H
|
|
|