no message
This commit is contained in:
parent
e73611f5fa
commit
a5be0c52c6
2 changed files with 117 additions and 45 deletions
|
@ -8,6 +8,8 @@
|
||||||
#include "stepper.h"
|
#include "stepper.h"
|
||||||
#include "ConfigurationStore.h"
|
#include "ConfigurationStore.h"
|
||||||
|
|
||||||
|
int8_t encoderDiff; /* encoderDiff is updated from interrupt context and added to encoderPosition every LCD update */
|
||||||
|
|
||||||
/* Configuration settings */
|
/* Configuration settings */
|
||||||
int plaPreheatHotendTemp;
|
int plaPreheatHotendTemp;
|
||||||
int plaPreheatHPBTemp;
|
int plaPreheatHPBTemp;
|
||||||
|
@ -122,13 +124,11 @@ static void menu_action_setting_edit_callback_long5(const char* pstr, unsigned l
|
||||||
#ifndef REPRAPWORLD_KEYPAD
|
#ifndef REPRAPWORLD_KEYPAD
|
||||||
volatile uint8_t buttons;//Contains the bits of the currently pressed buttons.
|
volatile uint8_t buttons;//Contains the bits of the currently pressed buttons.
|
||||||
#else
|
#else
|
||||||
volatile uint16_t buttons;//Contains the bits of the currently pressed buttons (extended).
|
volatile uint8_t buttons_reprapworld_keypad; // to store the reprapworld_keypad shiftregister values
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
uint8_t currentMenuViewOffset; /* scroll offset in the current menu */
|
uint8_t currentMenuViewOffset; /* scroll offset in the current menu */
|
||||||
uint32_t blocking_enc;
|
uint32_t blocking_enc;
|
||||||
uint8_t lastEncoderBits;
|
uint8_t lastEncoderBits;
|
||||||
int8_t encoderDiff; /* encoderDiff is updated from interrupt context and added to encoderPosition every LCD update */
|
|
||||||
uint32_t encoderPosition;
|
uint32_t encoderPosition;
|
||||||
#if (SDCARDDETECT > 0)
|
#if (SDCARDDETECT > 0)
|
||||||
bool lcd_oldcardstatus;
|
bool lcd_oldcardstatus;
|
||||||
|
@ -410,7 +410,7 @@ static void lcd_move_z()
|
||||||
if (current_position[Z_AXIS] > Z_MAX_POS)
|
if (current_position[Z_AXIS] > Z_MAX_POS)
|
||||||
current_position[Z_AXIS] = Z_MAX_POS;
|
current_position[Z_AXIS] = Z_MAX_POS;
|
||||||
encoderPosition = 0;
|
encoderPosition = 0;
|
||||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 60, active_extruder);
|
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], homing_feedrate[Z_AXIS]/60, active_extruder);
|
||||||
lcdDrawUpdate = 1;
|
lcdDrawUpdate = 1;
|
||||||
}
|
}
|
||||||
if (lcdDrawUpdate)
|
if (lcdDrawUpdate)
|
||||||
|
@ -736,6 +736,26 @@ menu_edit_type(float, float52, ftostr52, 100)
|
||||||
menu_edit_type(unsigned long, long5, ftostr5, 0.01)
|
menu_edit_type(unsigned long, long5, ftostr5, 0.01)
|
||||||
|
|
||||||
#ifdef REPRAPWORLD_KEYPAD
|
#ifdef REPRAPWORLD_KEYPAD
|
||||||
|
static void reprapworld_keypad_move_z_up() {
|
||||||
|
encoderPosition = 1;
|
||||||
|
move_menu_scale = REPRAPWORLD_KEYPAD_MOVE_STEP;
|
||||||
|
lcd_move_z();
|
||||||
|
}
|
||||||
|
static void reprapworld_keypad_move_z_down() {
|
||||||
|
encoderPosition = -1;
|
||||||
|
move_menu_scale = REPRAPWORLD_KEYPAD_MOVE_STEP;
|
||||||
|
lcd_move_z();
|
||||||
|
}
|
||||||
|
static void reprapworld_keypad_move_x_left() {
|
||||||
|
encoderPosition = -1;
|
||||||
|
move_menu_scale = REPRAPWORLD_KEYPAD_MOVE_STEP;
|
||||||
|
lcd_move_x();
|
||||||
|
}
|
||||||
|
static void reprapworld_keypad_move_x_right() {
|
||||||
|
encoderPosition = 1;
|
||||||
|
move_menu_scale = REPRAPWORLD_KEYPAD_MOVE_STEP;
|
||||||
|
lcd_move_x();
|
||||||
|
}
|
||||||
static void reprapworld_keypad_move_y_down() {
|
static void reprapworld_keypad_move_y_down() {
|
||||||
encoderPosition = 1;
|
encoderPosition = 1;
|
||||||
move_menu_scale = REPRAPWORLD_KEYPAD_MOVE_STEP;
|
move_menu_scale = REPRAPWORLD_KEYPAD_MOVE_STEP;
|
||||||
|
@ -747,9 +767,7 @@ menu_edit_type(unsigned long, long5, ftostr5, 0.01)
|
||||||
lcd_move_y();
|
lcd_move_y();
|
||||||
}
|
}
|
||||||
static void reprapworld_keypad_move_home() {
|
static void reprapworld_keypad_move_home() {
|
||||||
//enquecommand_P((PSTR("G28"))); // move all axis home
|
enquecommand_P((PSTR("G28"))); // move all axis home
|
||||||
// TODO gregor: move all axis home, i have currently only one axis on my prusa i3
|
|
||||||
enquecommand_P((PSTR("G28 Y")));
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -878,6 +896,18 @@ void lcd_update()
|
||||||
{
|
{
|
||||||
#ifdef ULTIPANEL
|
#ifdef ULTIPANEL
|
||||||
#ifdef REPRAPWORLD_KEYPAD
|
#ifdef REPRAPWORLD_KEYPAD
|
||||||
|
if (REPRAPWORLD_KEYPAD_MOVE_Z_UP) {
|
||||||
|
reprapworld_keypad_move_z_up();
|
||||||
|
}
|
||||||
|
if (REPRAPWORLD_KEYPAD_MOVE_Z_DOWN) {
|
||||||
|
reprapworld_keypad_move_z_down();
|
||||||
|
}
|
||||||
|
if (REPRAPWORLD_KEYPAD_MOVE_X_LEFT) {
|
||||||
|
reprapworld_keypad_move_x_left();
|
||||||
|
}
|
||||||
|
if (REPRAPWORLD_KEYPAD_MOVE_X_RIGHT) {
|
||||||
|
reprapworld_keypad_move_x_right();
|
||||||
|
}
|
||||||
if (REPRAPWORLD_KEYPAD_MOVE_Y_DOWN) {
|
if (REPRAPWORLD_KEYPAD_MOVE_Y_DOWN) {
|
||||||
reprapworld_keypad_move_y_down();
|
reprapworld_keypad_move_y_down();
|
||||||
}
|
}
|
||||||
|
@ -973,7 +1003,7 @@ void lcd_buttons_update()
|
||||||
#if BTN_ENC > 0
|
#if BTN_ENC > 0
|
||||||
if((blocking_enc<millis()) && (READ(BTN_ENC)==0))
|
if((blocking_enc<millis()) && (READ(BTN_ENC)==0))
|
||||||
newbutton |= EN_C;
|
newbutton |= EN_C;
|
||||||
#endif
|
buttons = newbutton;
|
||||||
#ifdef REPRAPWORLD_KEYPAD
|
#ifdef REPRAPWORLD_KEYPAD
|
||||||
// for the reprapworld_keypad
|
// for the reprapworld_keypad
|
||||||
uint8_t newbutton_reprapworld_keypad=0;
|
uint8_t newbutton_reprapworld_keypad=0;
|
||||||
|
@ -986,9 +1016,8 @@ void lcd_buttons_update()
|
||||||
WRITE(SHIFT_CLK,HIGH);
|
WRITE(SHIFT_CLK,HIGH);
|
||||||
WRITE(SHIFT_CLK,LOW);
|
WRITE(SHIFT_CLK,LOW);
|
||||||
}
|
}
|
||||||
newbutton |= ((~newbutton_reprapworld_keypad) << REPRAPWORLD_BTN_OFFSET); //invert it, because a pressed switch produces a logical 0
|
buttons_reprapworld_keypad=~newbutton_reprapworld_keypad; //invert it, because a pressed switch produces a logical 0
|
||||||
#endif
|
#endif
|
||||||
buttons = newbutton;
|
|
||||||
#else //read it from the shift register
|
#else //read it from the shift register
|
||||||
uint8_t newbutton=0;
|
uint8_t newbutton=0;
|
||||||
WRITE(SHIFT_LD,LOW);
|
WRITE(SHIFT_LD,LOW);
|
||||||
|
|
|
@ -22,6 +22,10 @@
|
||||||
|
|
||||||
#ifdef ULTIPANEL
|
#ifdef ULTIPANEL
|
||||||
void lcd_buttons_update();
|
void lcd_buttons_update();
|
||||||
|
extern volatile uint8_t buttons; //the last checked buttons in a bit array.
|
||||||
|
#ifdef REPRAPWORLD_KEYPAD
|
||||||
|
extern volatile uint8_t buttons_reprapworld_keypad; // to store the keypad shiftregister values
|
||||||
|
#endif
|
||||||
#else
|
#else
|
||||||
FORCE_INLINE void lcd_buttons_update() {}
|
FORCE_INLINE void lcd_buttons_update() {}
|
||||||
#endif
|
#endif
|
||||||
|
@ -37,6 +41,45 @@
|
||||||
void lcd_buzz(long duration,uint16_t freq);
|
void lcd_buzz(long duration,uint16_t freq);
|
||||||
bool lcd_clicked();
|
bool lcd_clicked();
|
||||||
|
|
||||||
|
#ifdef NEWPANEL
|
||||||
|
#define EN_C (1<<BLEN_C)
|
||||||
|
#define EN_B (1<<BLEN_B)
|
||||||
|
#define EN_A (1<<BLEN_A)
|
||||||
|
|
||||||
|
#define LCD_CLICKED (buttons&EN_C)
|
||||||
|
#ifdef REPRAPWORLD_KEYPAD
|
||||||
|
#define EN_REPRAPWORLD_KEYPAD_F3 (1<<BLEN_REPRAPWORLD_KEYPAD_F3)
|
||||||
|
#define EN_REPRAPWORLD_KEYPAD_F2 (1<<BLEN_REPRAPWORLD_KEYPAD_F2)
|
||||||
|
#define EN_REPRAPWORLD_KEYPAD_F1 (1<<BLEN_REPRAPWORLD_KEYPAD_F1)
|
||||||
|
#define EN_REPRAPWORLD_KEYPAD_UP (1<<BLEN_REPRAPWORLD_KEYPAD_UP)
|
||||||
|
#define EN_REPRAPWORLD_KEYPAD_RIGHT (1<<BLEN_REPRAPWORLD_KEYPAD_RIGHT)
|
||||||
|
#define EN_REPRAPWORLD_KEYPAD_MIDDLE (1<<BLEN_REPRAPWORLD_KEYPAD_MIDDLE)
|
||||||
|
#define EN_REPRAPWORLD_KEYPAD_DOWN (1<<BLEN_REPRAPWORLD_KEYPAD_DOWN)
|
||||||
|
#define EN_REPRAPWORLD_KEYPAD_LEFT (1<<BLEN_REPRAPWORLD_KEYPAD_LEFT)
|
||||||
|
|
||||||
|
#define LCD_CLICKED ((buttons&EN_C) || (buttons_reprapworld_keypad&EN_REPRAPWORLD_KEYPAD_F1))
|
||||||
|
#define REPRAPWORLD_KEYPAD_MOVE_Z_UP (buttons_reprapworld_keypad&EN_REPRAPWORLD_KEYPAD_F2)
|
||||||
|
#define REPRAPWORLD_KEYPAD_MOVE_Z_DOWN (buttons_reprapworld_keypad&EN_REPRAPWORLD_KEYPAD_F3)
|
||||||
|
#define REPRAPWORLD_KEYPAD_MOVE_X_LEFT (buttons_reprapworld_keypad&EN_REPRAPWORLD_KEYPAD_LEFT)
|
||||||
|
#define REPRAPWORLD_KEYPAD_MOVE_X_RIGHT (buttons_reprapworld_keypad&EN_REPRAPWORLD_KEYPAD_RIGHT)
|
||||||
|
#define REPRAPWORLD_KEYPAD_MOVE_Y_DOWN (buttons_reprapworld_keypad&EN_REPRAPWORLD_KEYPAD_DOWN)
|
||||||
|
#define REPRAPWORLD_KEYPAD_MOVE_Y_UP (buttons_reprapworld_keypad&EN_REPRAPWORLD_KEYPAD_UP)
|
||||||
|
#define REPRAPWORLD_KEYPAD_MOVE_HOME (buttons_reprapworld_keypad&EN_REPRAPWORLD_KEYPAD_MIDDLE)
|
||||||
|
#endif //REPRAPWORLD_KEYPAD
|
||||||
|
#else
|
||||||
|
//atomatic, do not change
|
||||||
|
#define B_LE (1<<BL_LE)
|
||||||
|
#define B_UP (1<<BL_UP)
|
||||||
|
#define B_MI (1<<BL_MI)
|
||||||
|
#define B_DW (1<<BL_DW)
|
||||||
|
#define B_RI (1<<BL_RI)
|
||||||
|
#define B_ST (1<<BL_ST)
|
||||||
|
#define EN_B (1<<BLEN_B)
|
||||||
|
#define EN_A (1<<BLEN_A)
|
||||||
|
|
||||||
|
#define LCD_CLICKED ((buttons&B_MI)||(buttons&B_ST))
|
||||||
|
#endif//NEWPANEL
|
||||||
|
|
||||||
#else //no lcd
|
#else //no lcd
|
||||||
FORCE_INLINE void lcd_update() {}
|
FORCE_INLINE void lcd_update() {}
|
||||||
FORCE_INLINE void lcd_init() {}
|
FORCE_INLINE void lcd_init() {}
|
||||||
|
|
Reference in a new issue