Merge pull request #819 from neildarlow/Marlin_v1
Activate LiquidTWI2 device detection and space-pad LCD status line.
This commit is contained in:
commit
31ca3de72f
@ -1896,6 +1896,8 @@ void process_commands()
|
|||||||
}
|
}
|
||||||
lcd_ignore_click(false);
|
lcd_ignore_click(false);
|
||||||
}else{
|
}else{
|
||||||
|
if (!lcd_detected())
|
||||||
|
break;
|
||||||
while(!lcd_clicked()){
|
while(!lcd_clicked()){
|
||||||
manage_heater();
|
manage_heater();
|
||||||
manage_inactivity();
|
manage_inactivity();
|
||||||
|
@ -141,9 +141,17 @@ void CardReader::initsd()
|
|||||||
if(root.isOpen())
|
if(root.isOpen())
|
||||||
root.close();
|
root.close();
|
||||||
#ifdef SDSLOW
|
#ifdef SDSLOW
|
||||||
if (!card.init(SPI_HALF_SPEED,SDSS))
|
if (!card.init(SPI_HALF_SPEED,SDSS)
|
||||||
|
#if defined(LCD_SDSS) && (LCD_SDSS != SDSS)
|
||||||
|
&& !card.init(SPI_HALF_SPEED,LCD_SDSS)
|
||||||
|
#endif
|
||||||
|
)
|
||||||
#else
|
#else
|
||||||
if (!card.init(SPI_FULL_SPEED,SDSS))
|
if (!card.init(SPI_FULL_SPEED,SDSS)
|
||||||
|
#if defined(LCD_SDSS) && (LCD_SDSS != SDSS)
|
||||||
|
&& !card.init(SPI_FULL_SPEED,LCD_SDSS)
|
||||||
|
#endif
|
||||||
|
)
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
//if (!card.init(SPI_HALF_SPEED,SDSS))
|
//if (!card.init(SPI_HALF_SPEED,SDSS))
|
||||||
|
@ -779,14 +779,14 @@
|
|||||||
#define BTN_EN1 47 //reverse if the encoder turns the wrong way.
|
#define BTN_EN1 47 //reverse if the encoder turns the wrong way.
|
||||||
#define BTN_EN2 43
|
#define BTN_EN2 43
|
||||||
#define BTN_ENC 32
|
#define BTN_ENC 32
|
||||||
#define SDSS 53
|
#define LCD_SDSS 53
|
||||||
#define SDCARDDETECT -1
|
#define SDCARDDETECT -1
|
||||||
#define KILL_PIN 41
|
#define KILL_PIN 41
|
||||||
#elif defined(LCD_I2C_VIKI)
|
#elif defined(LCD_I2C_VIKI)
|
||||||
#define BTN_EN1 22 //reverse if the encoder turns the wrong way.
|
#define BTN_EN1 22 //reverse if the encoder turns the wrong way.
|
||||||
#define BTN_EN2 7
|
#define BTN_EN2 7
|
||||||
#define BTN_ENC -1
|
#define BTN_ENC -1
|
||||||
#define SDSS 53
|
#define LCD_SDSS 53
|
||||||
#define SDCARDDETECT 49
|
#define SDCARDDETECT 49
|
||||||
#else
|
#else
|
||||||
//arduino pin which triggers an piezzo beeper
|
//arduino pin which triggers an piezzo beeper
|
||||||
@ -1304,7 +1304,7 @@
|
|||||||
#ifdef LCD_I2C_PANELOLU2
|
#ifdef LCD_I2C_PANELOLU2
|
||||||
#ifdef MELZI
|
#ifdef MELZI
|
||||||
#define BTN_ENC 29 //the click switch
|
#define BTN_ENC 29 //the click switch
|
||||||
#define SDSS 30 //to use the SD card reader on the Panelolu2 rather than the melzi board
|
#define LCD_SDSS 30 //to use the SD card reader on the Panelolu2 rather than the melzi board
|
||||||
#else
|
#else
|
||||||
#define BTN_ENC 30 //the click switch
|
#define BTN_ENC 30 //the click switch
|
||||||
#endif
|
#endif
|
||||||
|
@ -1262,7 +1262,7 @@ void lcd_update()
|
|||||||
lcd_buttons_update();
|
lcd_buttons_update();
|
||||||
|
|
||||||
#if (SDCARDDETECT > 0)
|
#if (SDCARDDETECT > 0)
|
||||||
if((IS_SD_INSERTED != lcd_oldcardstatus))
|
if((IS_SD_INSERTED != lcd_oldcardstatus && lcd_detected()))
|
||||||
{
|
{
|
||||||
lcdDrawUpdate = 2;
|
lcdDrawUpdate = 2;
|
||||||
lcd_oldcardstatus = IS_SD_INSERTED;
|
lcd_oldcardstatus = IS_SD_INSERTED;
|
||||||
@ -1365,6 +1365,11 @@ void lcd_setstatus(const char* message)
|
|||||||
if (lcd_status_message_level > 0)
|
if (lcd_status_message_level > 0)
|
||||||
return;
|
return;
|
||||||
strncpy(lcd_status_message, message, LCD_WIDTH);
|
strncpy(lcd_status_message, message, LCD_WIDTH);
|
||||||
|
|
||||||
|
size_t i = strlen(lcd_status_message);
|
||||||
|
memset(lcd_status_message + i, ' ', LCD_WIDTH - i);
|
||||||
|
lcd_status_message[LCD_WIDTH] = '\0';
|
||||||
|
|
||||||
lcdDrawUpdate = 2;
|
lcdDrawUpdate = 2;
|
||||||
#ifdef FILAMENT_LCD_DISPLAY
|
#ifdef FILAMENT_LCD_DISPLAY
|
||||||
message_millis=millis(); //get status message to show up for a while
|
message_millis=millis(); //get status message to show up for a while
|
||||||
@ -1375,6 +1380,11 @@ void lcd_setstatuspgm(const char* message)
|
|||||||
if (lcd_status_message_level > 0)
|
if (lcd_status_message_level > 0)
|
||||||
return;
|
return;
|
||||||
strncpy_P(lcd_status_message, message, LCD_WIDTH);
|
strncpy_P(lcd_status_message, message, LCD_WIDTH);
|
||||||
|
|
||||||
|
size_t i = strlen(lcd_status_message);
|
||||||
|
memset(lcd_status_message + i, ' ', LCD_WIDTH - i);
|
||||||
|
lcd_status_message[LCD_WIDTH] = '\0';
|
||||||
|
|
||||||
lcdDrawUpdate = 2;
|
lcdDrawUpdate = 2;
|
||||||
#ifdef FILAMENT_LCD_DISPLAY
|
#ifdef FILAMENT_LCD_DISPLAY
|
||||||
message_millis=millis(); //get status message to show up for a while
|
message_millis=millis(); //get status message to show up for a while
|
||||||
@ -1486,6 +1496,15 @@ void lcd_buttons_update()
|
|||||||
lastEncoderBits = enc;
|
lastEncoderBits = enc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool lcd_detected(void)
|
||||||
|
{
|
||||||
|
#if (defined(LCD_I2C_TYPE_MCP23017) || defined(LCD_I2C_TYPE_MCP23008)) && defined(DETECT_DEVICE)
|
||||||
|
return lcd.LcdDetected() == 1;
|
||||||
|
#else
|
||||||
|
return true;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
void lcd_buzz(long duration, uint16_t freq)
|
void lcd_buzz(long duration, uint16_t freq)
|
||||||
{
|
{
|
||||||
#ifdef LCD_USE_I2C_BUZZER
|
#ifdef LCD_USE_I2C_BUZZER
|
||||||
|
@ -11,6 +11,7 @@
|
|||||||
void lcd_setstatuspgm(const char* message);
|
void lcd_setstatuspgm(const char* message);
|
||||||
void lcd_setalertstatuspgm(const char* message);
|
void lcd_setalertstatuspgm(const char* message);
|
||||||
void lcd_reset_alert_level();
|
void lcd_reset_alert_level();
|
||||||
|
bool lcd_detected(void);
|
||||||
|
|
||||||
#ifdef DOGLCD
|
#ifdef DOGLCD
|
||||||
extern int lcd_contrast;
|
extern int lcd_contrast;
|
||||||
@ -100,6 +101,7 @@
|
|||||||
FORCE_INLINE void lcd_buttons_update() {}
|
FORCE_INLINE void lcd_buttons_update() {}
|
||||||
FORCE_INLINE void lcd_reset_alert_level() {}
|
FORCE_INLINE void lcd_reset_alert_level() {}
|
||||||
FORCE_INLINE void lcd_buzz(long duration,uint16_t freq) {}
|
FORCE_INLINE void lcd_buzz(long duration,uint16_t freq) {}
|
||||||
|
FORCE_INLINE bool lcd_detected(void) { return true; }
|
||||||
|
|
||||||
#define LCD_MESSAGEPGM(x)
|
#define LCD_MESSAGEPGM(x)
|
||||||
#define LCD_ALERTMESSAGEPGM(x)
|
#define LCD_ALERTMESSAGEPGM(x)
|
||||||
|
@ -166,13 +166,21 @@ extern volatile uint16_t buttons; //an extended version of the last checked but
|
|||||||
#include <Wire.h>
|
#include <Wire.h>
|
||||||
#include <LiquidTWI2.h>
|
#include <LiquidTWI2.h>
|
||||||
#define LCD_CLASS LiquidTWI2
|
#define LCD_CLASS LiquidTWI2
|
||||||
LCD_CLASS lcd(LCD_I2C_ADDRESS);
|
#if defined(DETECT_DEVICE)
|
||||||
|
LCD_CLASS lcd(LCD_I2C_ADDRESS, 1);
|
||||||
|
#else
|
||||||
|
LCD_CLASS lcd(LCD_I2C_ADDRESS);
|
||||||
|
#endif
|
||||||
|
|
||||||
#elif defined(LCD_I2C_TYPE_MCP23008)
|
#elif defined(LCD_I2C_TYPE_MCP23008)
|
||||||
#include <Wire.h>
|
#include <Wire.h>
|
||||||
#include <LiquidTWI2.h>
|
#include <LiquidTWI2.h>
|
||||||
#define LCD_CLASS LiquidTWI2
|
#define LCD_CLASS LiquidTWI2
|
||||||
LCD_CLASS lcd(LCD_I2C_ADDRESS);
|
#if defined(DETECT_DEVICE)
|
||||||
|
LCD_CLASS lcd(LCD_I2C_ADDRESS, 1);
|
||||||
|
#else
|
||||||
|
LCD_CLASS lcd(LCD_I2C_ADDRESS);
|
||||||
|
#endif
|
||||||
|
|
||||||
#elif defined(LCD_I2C_TYPE_PCA8574)
|
#elif defined(LCD_I2C_TYPE_PCA8574)
|
||||||
#include <LiquidCrystal_I2C.h>
|
#include <LiquidCrystal_I2C.h>
|
||||||
|
Loading…
Reference in New Issue
Block a user