Revert "Save 80B of flash and 8B of RAM and fix compiler warning:"
This commit is contained in:
parent
5f529bd515
commit
77426b563a
@ -21,7 +21,7 @@ FORCE_INLINE void Config_RetrieveSettings() { Config_ResetDefault(); Config_Prin
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
inline uint8_t calibration_status() { return eeprom_read_byte((uint8_t*)EEPROM_CALIBRATION_STATUS); }
|
inline uint8_t calibration_status() { return eeprom_read_byte((uint8_t*)EEPROM_CALIBRATION_STATUS); }
|
||||||
inline void calibration_status_store(uint8_t status) { eeprom_update_byte((uint8_t*)EEPROM_CALIBRATION_STATUS, status); }
|
inline uint8_t calibration_status_store(uint8_t status) { eeprom_update_byte((uint8_t*)EEPROM_CALIBRATION_STATUS, status); }
|
||||||
inline bool calibration_status_pinda() { return eeprom_read_byte((uint8_t*)EEPROM_CALIBRATION_STATUS_PINDA); }
|
inline bool calibration_status_pinda() { return eeprom_read_byte((uint8_t*)EEPROM_CALIBRATION_STATUS_PINDA); }
|
||||||
|
|
||||||
#endif//CONFIG_STORE_H
|
#endif//CONFIG_STORE_H
|
||||||
|
@ -499,6 +499,7 @@ inline size_t LiquidCrystal_Prusa::escape_write(uint8_t chr)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
escape_cnt = 0; // reset escape
|
escape_cnt = 0; // reset escape
|
||||||
|
end:
|
||||||
return 1; // assume sucess
|
return 1; // assume sucess
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -419,6 +419,7 @@ extern void fsensor_init();
|
|||||||
//estimated time to end of the print
|
//estimated time to end of the print
|
||||||
extern uint16_t print_time_remaining();
|
extern uint16_t print_time_remaining();
|
||||||
extern uint8_t print_percent_done();
|
extern uint8_t print_percent_done();
|
||||||
|
static void print_time_remaining_init();
|
||||||
|
|
||||||
#ifdef HOST_KEEPALIVE_FEATURE
|
#ifdef HOST_KEEPALIVE_FEATURE
|
||||||
|
|
||||||
|
@ -535,9 +535,8 @@ static bool saved_extruder_relative_mode = false;
|
|||||||
//=============================Routines======================================
|
//=============================Routines======================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
static void get_arc_coordinates();
|
void get_arc_coordinates();
|
||||||
static bool setTargetedHotend(int code);
|
bool setTargetedHotend(int code);
|
||||||
static void print_time_remaining_init();
|
|
||||||
|
|
||||||
void serial_echopair_P(const char *s_P, float v)
|
void serial_echopair_P(const char *s_P, float v)
|
||||||
{ serialprintPGM(s_P); SERIAL_ECHO(v); }
|
{ serialprintPGM(s_P); SERIAL_ECHO(v); }
|
||||||
@ -803,6 +802,7 @@ int er_progress = 0;
|
|||||||
void factory_reset(char level, bool quiet)
|
void factory_reset(char level, bool quiet)
|
||||||
{
|
{
|
||||||
lcd_implementation_clear();
|
lcd_implementation_clear();
|
||||||
|
int cursor_pos = 0;
|
||||||
switch (level) {
|
switch (level) {
|
||||||
|
|
||||||
// Level 0: Language reset
|
// Level 0: Language reset
|
||||||
@ -1920,6 +1920,7 @@ void host_keepalive() {
|
|||||||
void loop()
|
void loop()
|
||||||
{
|
{
|
||||||
KEEPALIVE_STATE(NOT_BUSY);
|
KEEPALIVE_STATE(NOT_BUSY);
|
||||||
|
bool stack_integrity = true;
|
||||||
|
|
||||||
if ((usb_printing_counter > 0) && ((millis()-_usb_timer) > 1000))
|
if ((usb_printing_counter > 0) && ((millis()-_usb_timer) > 1000))
|
||||||
{
|
{
|
||||||
@ -4277,11 +4278,10 @@ void process_commands()
|
|||||||
// The move to the first calibration point.
|
// The move to the first calibration point.
|
||||||
current_position[X_AXIS] = pgm_read_float(bed_ref_points);
|
current_position[X_AXIS] = pgm_read_float(bed_ref_points);
|
||||||
current_position[Y_AXIS] = pgm_read_float(bed_ref_points + 1);
|
current_position[Y_AXIS] = pgm_read_float(bed_ref_points + 1);
|
||||||
|
bool clamped = world2machine_clamp(current_position[X_AXIS], current_position[Y_AXIS]);
|
||||||
|
|
||||||
#ifdef SUPPORT_VERBOSITY
|
#ifdef SUPPORT_VERBOSITY
|
||||||
if (verbosity_level >= 1)
|
if (verbosity_level >= 1) {
|
||||||
{
|
|
||||||
bool clamped = world2machine_clamp(current_position[X_AXIS], current_position[Y_AXIS]);
|
|
||||||
clamped ? SERIAL_PROTOCOLPGM("First calibration point clamped.\n") : SERIAL_PROTOCOLPGM("No clamping for first calibration point.\n");
|
clamped ? SERIAL_PROTOCOLPGM("First calibration point clamped.\n") : SERIAL_PROTOCOLPGM("No clamping for first calibration point.\n");
|
||||||
}
|
}
|
||||||
#endif //SUPPORT_VERBOSITY
|
#endif //SUPPORT_VERBOSITY
|
||||||
@ -9087,7 +9087,7 @@ void print_world_coordinates()
|
|||||||
|
|
||||||
void print_physical_coordinates()
|
void print_physical_coordinates()
|
||||||
{
|
{
|
||||||
printf_P(_N("physical coordinates: (%.3f, %.3f, %.3f)\n"), st_get_position_mm(X_AXIS), st_get_position_mm(Y_AXIS), st_get_position_mm(Z_AXIS));
|
printf_P(_N("physical coordinates: (%.3f, %.3f, %.3f)\n"), st_get_position_mm[X_AXIS], st_get_position_mm[Y_AXIS], st_get_position_mm[Z_AXIS]);
|
||||||
}
|
}
|
||||||
|
|
||||||
void print_mesh_bed_leveling_table()
|
void print_mesh_bed_leveling_table()
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
//adc.c
|
//adc.c
|
||||||
|
|
||||||
#include "adc.h"
|
#include "adc.h"
|
||||||
#include <stdio.h>
|
|
||||||
#include <avr/io.h>
|
#include <avr/io.h>
|
||||||
#include <avr/pgmspace.h>
|
|
||||||
|
|
||||||
uint8_t adc_state;
|
uint8_t adc_state;
|
||||||
uint8_t adc_count;
|
uint8_t adc_count;
|
||||||
@ -18,7 +17,7 @@ uint16_t adc_sim_mask;
|
|||||||
|
|
||||||
void adc_init(void)
|
void adc_init(void)
|
||||||
{
|
{
|
||||||
printf_P(PSTR("adc_init\n"));
|
printf(("adc_init\n"));
|
||||||
adc_sim_mask = 0x00;
|
adc_sim_mask = 0x00;
|
||||||
ADCSRA |= (1 << ADPS2) | (1 << ADPS1) | (1 << ADPS0);
|
ADCSRA |= (1 << ADPS2) | (1 << ADPS1) | (1 << ADPS0);
|
||||||
ADMUX |= (1 << REFS0);
|
ADMUX |= (1 << REFS0);
|
||||||
|
@ -63,7 +63,7 @@ uint8_t lang_select(uint8_t lang)
|
|||||||
if (lang_check(_SEC_LANG_TABLE))
|
if (lang_check(_SEC_LANG_TABLE))
|
||||||
if (pgm_read_dword(((uint32_t*)(_SEC_LANG_TABLE + 12))) == pgm_read_dword(((uint32_t*)(_PRI_LANG_SIGNATURE)))) //signature valid
|
if (pgm_read_dword(((uint32_t*)(_SEC_LANG_TABLE + 12))) == pgm_read_dword(((uint32_t*)(_PRI_LANG_SIGNATURE)))) //signature valid
|
||||||
{
|
{
|
||||||
lang_table = (lang_table_t*)(_SEC_LANG_TABLE); // set table pointer
|
lang_table = _SEC_LANG_TABLE; // set table pointer
|
||||||
lang_selected = lang; // set language id
|
lang_selected = lang; // set language id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -138,7 +138,7 @@ uint8_t lang_get_header(uint8_t lang, lang_table_header_t* header, uint32_t* off
|
|||||||
if (lang == LANG_ID_SEC)
|
if (lang == LANG_ID_SEC)
|
||||||
{
|
{
|
||||||
uint16_t ui = _SEC_LANG_TABLE; //table pointer
|
uint16_t ui = _SEC_LANG_TABLE; //table pointer
|
||||||
memcpy_P(header, (lang_table_t*)(_SEC_LANG_TABLE), sizeof(lang_table_header_t)); //read table header from progmem
|
memcpy_P(header, ui, sizeof(lang_table_header_t)); //read table header from progmem
|
||||||
if (offset) *offset = ui;
|
if (offset) *offset = ui;
|
||||||
return (header->magic == LANG_MAGIC)?1:0; //return 1 if magic valid
|
return (header->magic == LANG_MAGIC)?1:0; //return 1 if magic valid
|
||||||
}
|
}
|
||||||
@ -147,7 +147,7 @@ uint8_t lang_get_header(uint8_t lang, lang_table_header_t* header, uint32_t* off
|
|||||||
lang--;
|
lang--;
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
w25x20cl_rd_data(addr, (uint8_t*)(header), sizeof(lang_table_header_t)); //read table header from xflash
|
w25x20cl_rd_data(addr, header, sizeof(lang_table_header_t)); //read table header from xflash
|
||||||
if (header->magic != LANG_MAGIC) break; //break if not valid
|
if (header->magic != LANG_MAGIC) break; //break if not valid
|
||||||
if (offset) *offset = addr;
|
if (offset) *offset = addr;
|
||||||
if (--lang == 0) return 1;
|
if (--lang == 0) return 1;
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
/** @file */
|
|
||||||
//language.h
|
//language.h
|
||||||
#ifndef LANGUAGE_H
|
#ifndef LANGUAGE_H
|
||||||
#define LANGUAGE_H
|
#define LANGUAGE_H
|
||||||
@ -23,14 +22,11 @@
|
|||||||
#define STRINGIFY_(n) #n
|
#define STRINGIFY_(n) #n
|
||||||
#define STRINGIFY(n) STRINGIFY_(n)
|
#define STRINGIFY(n) STRINGIFY_(n)
|
||||||
|
|
||||||
/** @def PROGMEM_I2
|
//section progmem0 will be used for localized translated strings
|
||||||
* @brief section progmem0 will be used for localized translated strings */
|
|
||||||
#define PROGMEM_I2 __attribute__((section(".progmem0")))
|
#define PROGMEM_I2 __attribute__((section(".progmem0")))
|
||||||
/** @def PROGMEM_I1
|
//section progmem1 will be used for localized strings in english
|
||||||
* @brief section progmem1 will be used for localized strings in english */
|
|
||||||
#define PROGMEM_I1 __attribute__((section(".progmem1")))
|
#define PROGMEM_I1 __attribute__((section(".progmem1")))
|
||||||
/** @def PROGMEM_N1
|
//section progmem2 will be used for not localized strings in english
|
||||||
* @brief section progmem2 will be used for not localized strings in english */
|
|
||||||
#define PROGMEM_N1 __attribute__((section(".progmem2")))
|
#define PROGMEM_N1 __attribute__((section(".progmem2")))
|
||||||
|
|
||||||
#if (LANG_MODE == 0) //primary language only
|
#if (LANG_MODE == 0) //primary language only
|
||||||
@ -47,7 +43,7 @@
|
|||||||
#define _N(s) (__extension__({static const char __c[] PROGMEM_N1 = s; &__c[0];}))
|
#define _N(s) (__extension__({static const char __c[] PROGMEM_N1 = s; &__c[0];}))
|
||||||
#define _n(s) _N(s)
|
#define _n(s) _N(s)
|
||||||
|
|
||||||
/** @brief lang_table_header_t structure - (size= 16byte) */
|
//lang_table_header_t structure - (size= 16byte)
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
uint32_t magic; //+0
|
uint32_t magic; //+0
|
||||||
@ -58,76 +54,67 @@ typedef struct
|
|||||||
uint32_t signature; //+12
|
uint32_t signature; //+12
|
||||||
} lang_table_header_t;
|
} lang_table_header_t;
|
||||||
|
|
||||||
/** @brief lang_table_t structure - (size= 16byte + 2*count) */
|
//lang_table_t structure - (size= 16byte + 2*count)
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
lang_table_header_t header;
|
lang_table_header_t header;
|
||||||
uint16_t table[];
|
uint16_t table[];
|
||||||
} lang_table_t;
|
} lang_table_t;
|
||||||
|
|
||||||
/** @name Language indices into their particular symbol tables.*/
|
// Language indices into their particular symbol tables.
|
||||||
///@{
|
|
||||||
#define LANG_ID_PRI 0
|
#define LANG_ID_PRI 0
|
||||||
#define LANG_ID_SEC 1
|
#define LANG_ID_SEC 1
|
||||||
///@}
|
|
||||||
|
|
||||||
/** @def LANG_ID_FORCE_SELECTION
|
// Language is not defined and it shall be selected from the menu.
|
||||||
* @brief Language is not defined and it shall be selected from the menu.*/
|
|
||||||
#define LANG_ID_FORCE_SELECTION 254
|
#define LANG_ID_FORCE_SELECTION 254
|
||||||
|
|
||||||
/** @def LANG_ID_UNDEFINED
|
// Language is not defined on a virgin RAMBo board.
|
||||||
* @brief Language is not defined on a virgin RAMBo board. */
|
|
||||||
#define LANG_ID_UNDEFINED 255
|
#define LANG_ID_UNDEFINED 255
|
||||||
|
|
||||||
/** @def LANG_ID_DEFAULT
|
// Default language ID, if no language is selected.
|
||||||
* @brief Default language ID, if no language is selected. */
|
|
||||||
#define LANG_ID_DEFAULT LANG_ID_PRI
|
#define LANG_ID_DEFAULT LANG_ID_PRI
|
||||||
|
|
||||||
/** @def LANG_MAGIC
|
// Magic number at begin of lang table.
|
||||||
* @brief Magic number at begin of lang table. */
|
|
||||||
#define LANG_MAGIC 0x4bb45aa5
|
#define LANG_MAGIC 0x4bb45aa5
|
||||||
|
|
||||||
/** @name Language codes (ISO639-1)*/
|
// Language codes (ISO639-1)
|
||||||
///@{
|
#define LANG_CODE_XX 0x3f3f //'??'
|
||||||
#define LANG_CODE_XX 0x3f3f //!<'??'
|
#define LANG_CODE_EN 0x656e //'en'
|
||||||
#define LANG_CODE_EN 0x656e //!<'en'
|
#define LANG_CODE_CZ 0x6373 //'cs'
|
||||||
#define LANG_CODE_CZ 0x6373 //!<'cs'
|
#define LANG_CODE_DE 0x6465 //'de'
|
||||||
#define LANG_CODE_DE 0x6465 //!<'de'
|
#define LANG_CODE_ES 0x6573 //'es'
|
||||||
#define LANG_CODE_ES 0x6573 //!<'es'
|
#define LANG_CODE_IT 0x6974 //'it'
|
||||||
#define LANG_CODE_IT 0x6974 //!<'it'
|
#define LANG_CODE_PL 0x706c //'pl'
|
||||||
#define LANG_CODE_PL 0x706c //!<'pl'
|
|
||||||
///@}
|
|
||||||
|
|
||||||
#if defined(__cplusplus)
|
#if defined(__cplusplus)
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif //defined(__cplusplus)
|
#endif //defined(__cplusplus)
|
||||||
|
|
||||||
/** @brief Currectly active language selection.*/
|
// Currectly active language selection.
|
||||||
extern uint8_t lang_selected;
|
extern uint8_t lang_selected;
|
||||||
|
|
||||||
#if (LANG_MODE != 0)
|
#if (LANG_MODE != 0)
|
||||||
extern const char _SEC_LANG[LANG_SIZE_RESERVED];
|
extern const char _SEC_LANG[LANG_SIZE_RESERVED];
|
||||||
extern const char* lang_get_translation(const char* s);
|
extern const char* lang_get_translation(const char* s);
|
||||||
/** @def _SEC_LANG_TABLE
|
|
||||||
* @brief Align table to start of 256 byte page */
|
|
||||||
#define _SEC_LANG_TABLE ((((uint16_t)&_SEC_LANG) + 0x00ff) & 0xff00)
|
#define _SEC_LANG_TABLE ((((uint16_t)&_SEC_LANG) + 0x00ff) & 0xff00)
|
||||||
|
//extern const uint32_t _PRI_LANG_SIGNATURE;
|
||||||
#endif //(LANG_MODE != 0)
|
#endif //(LANG_MODE != 0)
|
||||||
|
|
||||||
/** @brief selects language, eeprom is updated in case of success */
|
//selects language, eeprom is updated in case of success
|
||||||
extern uint8_t lang_select(uint8_t lang);
|
extern uint8_t lang_select(uint8_t lang);
|
||||||
/** @brief performs checksum test of secondary language data */
|
//performs checksum test of secondary language data
|
||||||
extern uint8_t lang_check(uint16_t addr);
|
extern uint8_t lang_check(uint16_t addr);
|
||||||
/** @return total number of languages (primary + all in xflash) */
|
//returns total number of languages (primary + all in xflash)
|
||||||
extern uint8_t lang_get_count(void);
|
extern uint8_t lang_get_count(void);
|
||||||
/** @brief reads lang table header and offset in xflash or progmem */
|
//reads lang table header and offset in xflash or progmem
|
||||||
extern uint8_t lang_get_header(uint8_t lang, lang_table_header_t* header, uint32_t* offset);
|
extern uint8_t lang_get_header(uint8_t lang, lang_table_header_t* header, uint32_t* offset);
|
||||||
/** @brief reads lang code from xflash or progmem */
|
//reads lang code from xflash or progmem
|
||||||
extern uint16_t lang_get_code(uint8_t lang);
|
extern uint16_t lang_get_code(uint8_t lang);
|
||||||
/** @return localized language name (text for menu item) */
|
//returns localized language name (text for menu item)
|
||||||
extern const char* lang_get_name_by_code(uint16_t code);
|
extern const char* lang_get_name_by_code(uint16_t code);
|
||||||
/** @brief reset language to "LANG_ID_FORCE_SELECTION", epprom is updated */
|
//reset language to "LANG_ID_FORCE_SELECTION", epprom is updated
|
||||||
extern void lang_reset(void);
|
extern void lang_reset(void);
|
||||||
/** @retval 1 language is selected */
|
//returns 1 if language is selected
|
||||||
extern uint8_t lang_is_selected(void);
|
extern uint8_t lang_is_selected(void);
|
||||||
|
|
||||||
#ifdef DEBUG_SEC_LANG
|
#ifdef DEBUG_SEC_LANG
|
||||||
|
@ -3,10 +3,9 @@
|
|||||||
#include "sm4.h"
|
#include "sm4.h"
|
||||||
#include <avr/io.h>
|
#include <avr/io.h>
|
||||||
#include <avr/pgmspace.h>
|
#include <avr/pgmspace.h>
|
||||||
#include <math.h>
|
|
||||||
#include "Arduino.h"
|
|
||||||
|
|
||||||
#include "boards.h"
|
#include "boards.h"
|
||||||
|
#define bool int8_t
|
||||||
#define false 0
|
#define false 0
|
||||||
#define true 1
|
#define true 1
|
||||||
#include "Configuration_prusa.h"
|
#include "Configuration_prusa.h"
|
||||||
|
@ -205,16 +205,6 @@ unsigned long watchmillis[EXTRUDERS] = ARRAY_BY_EXTRUDERS(0,0,0);
|
|||||||
//============================= functions ============================
|
//============================= functions ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#if (defined (TEMP_RUNAWAY_BED_HYSTERESIS) && TEMP_RUNAWAY_BED_TIMEOUT > 0) || (defined (TEMP_RUNAWAY_EXTRUDER_HYSTERESIS) && TEMP_RUNAWAY_EXTRUDER_TIMEOUT > 0)
|
|
||||||
static float temp_runaway_status[4];
|
|
||||||
static float temp_runaway_target[4];
|
|
||||||
static float temp_runaway_timer[4];
|
|
||||||
static int temp_runaway_error_counter[4];
|
|
||||||
|
|
||||||
static void temp_runaway_check(int _heater_id, float _target_temperature, float _current_temperature, float _output, bool _isbed);
|
|
||||||
static void temp_runaway_stop(bool isPreheat, bool isBed);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void PID_autotune(float temp, int extruder, int ncycles)
|
void PID_autotune(float temp, int extruder, int ncycles)
|
||||||
{
|
{
|
||||||
pid_number_of_cycles = ncycles;
|
pid_number_of_cycles = ncycles;
|
||||||
@ -1483,7 +1473,7 @@ void bed_min_temp_error(void) {
|
|||||||
}
|
}
|
||||||
#ifndef BOGUS_TEMPERATURE_FAILSAFE_OVERRIDE
|
#ifndef BOGUS_TEMPERATURE_FAILSAFE_OVERRIDE
|
||||||
Stop();
|
Stop();
|
||||||
#endif
|
#endif*/
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HEATER_0_USES_MAX6675
|
#ifdef HEATER_0_USES_MAX6675
|
||||||
|
@ -189,6 +189,16 @@ FORCE_INLINE bool isCoolingBed() {
|
|||||||
#error Invalid number of extruders
|
#error Invalid number of extruders
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if (defined (TEMP_RUNAWAY_BED_HYSTERESIS) && TEMP_RUNAWAY_BED_TIMEOUT > 0) || (defined (TEMP_RUNAWAY_EXTRUDER_HYSTERESIS) && TEMP_RUNAWAY_EXTRUDER_TIMEOUT > 0)
|
||||||
|
static float temp_runaway_status[4];
|
||||||
|
static float temp_runaway_target[4];
|
||||||
|
static float temp_runaway_timer[4];
|
||||||
|
static int temp_runaway_error_counter[4];
|
||||||
|
|
||||||
|
void temp_runaway_check(int _heater_id, float _target_temperature, float _current_temperature, float _output, bool _isbed);
|
||||||
|
void temp_runaway_stop(bool isPreheat, bool isBed);
|
||||||
|
#endif
|
||||||
|
|
||||||
int getHeaterPower(int heater);
|
int getHeaterPower(int heater);
|
||||||
void disable_heater();
|
void disable_heater();
|
||||||
void setWatch();
|
void setWatch();
|
||||||
|
@ -878,7 +878,7 @@ void tmc2130_set_wave(uint8_t axis, uint8_t amp, uint8_t fac1000)
|
|||||||
uint8_t x[3] = {255,255,255}; //X segment bounds (MSLUTSEL)
|
uint8_t x[3] = {255,255,255}; //X segment bounds (MSLUTSEL)
|
||||||
uint8_t s = 0; //current segment
|
uint8_t s = 0; //current segment
|
||||||
int8_t b; //encoded bit value
|
int8_t b; //encoded bit value
|
||||||
int8_t dA; //delta value
|
uint8_t dA; //delta value
|
||||||
int i; //microstep index
|
int i; //microstep index
|
||||||
uint32_t reg; //tmc2130 register
|
uint32_t reg; //tmc2130 register
|
||||||
tmc2130_wr_MSLUTSTART(axis, 0, amp);
|
tmc2130_wr_MSLUTSTART(axis, 0, amp);
|
||||||
|
@ -41,7 +41,7 @@ void uart2_init(void)
|
|||||||
fdev_setup_stream(uart2io, uart2_putchar, uart2_getchar, _FDEV_SETUP_WRITE | _FDEV_SETUP_READ); //setup uart2 i/o stream
|
fdev_setup_stream(uart2io, uart2_putchar, uart2_getchar, _FDEV_SETUP_WRITE | _FDEV_SETUP_READ); //setup uart2 i/o stream
|
||||||
}
|
}
|
||||||
|
|
||||||
void uart2_rx_clr(void)
|
uint8_t uart2_rx_clr(void)
|
||||||
{
|
{
|
||||||
rbuf_w(uart2_ibuf) = 0;
|
rbuf_w(uart2_ibuf) = 0;
|
||||||
rbuf_r(uart2_ibuf) = 0;
|
rbuf_r(uart2_ibuf) = 0;
|
||||||
|
@ -18,7 +18,7 @@ extern FILE _uart2io;
|
|||||||
|
|
||||||
extern void uart2_init(void);
|
extern void uart2_init(void);
|
||||||
|
|
||||||
extern void uart2_rx_clr(void);
|
extern uint8_t uart2_rx_clr(void);
|
||||||
|
|
||||||
extern uint8_t uart2_rx_ok(void);
|
extern uint8_t uart2_rx_ok(void);
|
||||||
|
|
||||||
|
@ -143,8 +143,6 @@ int8_t FSensorStateMenu = 1;
|
|||||||
|
|
||||||
int8_t CrashDetectMenu = 1;
|
int8_t CrashDetectMenu = 1;
|
||||||
|
|
||||||
static unsigned char blink = 0; //!< Variable for visualization of fan rotation in GLCD
|
|
||||||
|
|
||||||
extern void fsensor_block();
|
extern void fsensor_block();
|
||||||
extern void fsensor_unblock();
|
extern void fsensor_unblock();
|
||||||
|
|
||||||
@ -211,7 +209,6 @@ static const char* lcd_display_message_fullscreen_nonBlocking_P(const char *msg,
|
|||||||
|
|
||||||
/* Different menus */
|
/* Different menus */
|
||||||
static void lcd_status_screen();
|
static void lcd_status_screen();
|
||||||
static void lcd_language_menu();
|
|
||||||
#ifdef ULTIPANEL
|
#ifdef ULTIPANEL
|
||||||
extern bool powersupply;
|
extern bool powersupply;
|
||||||
static void lcd_main_menu();
|
static void lcd_main_menu();
|
||||||
@ -240,49 +237,6 @@ static void lcd_menu_xyz_offset();
|
|||||||
static void lcd_menu_fails_stats();
|
static void lcd_menu_fails_stats();
|
||||||
#endif //TMC2130 or PAT9125
|
#endif //TMC2130 or PAT9125
|
||||||
|
|
||||||
static void lcd_selftest_v();
|
|
||||||
static bool lcd_selfcheck_endstops();
|
|
||||||
|
|
||||||
#ifdef TMC2130
|
|
||||||
static void reset_crash_det(char axis);
|
|
||||||
static bool lcd_selfcheck_axis_sg(char axis);
|
|
||||||
static bool lcd_selfcheck_axis(int _axis, int _travel);
|
|
||||||
#else
|
|
||||||
static bool lcd_selfcheck_endstops();
|
|
||||||
static bool lcd_selfcheck_axis(int _axis, int _travel);
|
|
||||||
static bool lcd_selfcheck_pulleys(int axis);
|
|
||||||
#endif //TMC2130
|
|
||||||
|
|
||||||
static bool lcd_selfcheck_check_heater(bool _isbed);
|
|
||||||
static int lcd_selftest_screen(int _step, int _progress, int _progress_scale, bool _clear, int _delay);
|
|
||||||
static void lcd_selftest_screen_step(int _row, int _col, int _state, const char *_name, const char *_indicator);
|
|
||||||
static bool lcd_selftest_manual_fan_check(int _fan, bool check_opposite);
|
|
||||||
static bool lcd_selftest_fan_dialog(int _fan);
|
|
||||||
static bool lcd_selftest_fsensor();
|
|
||||||
static void lcd_selftest_error(int _error_no, const char *_error_1, const char *_error_2);
|
|
||||||
static void lcd_colorprint_change();
|
|
||||||
static int get_ext_nr();
|
|
||||||
static void extr_adj_0();
|
|
||||||
static void extr_adj_1();
|
|
||||||
static void extr_adj_2();
|
|
||||||
static void extr_adj_3();
|
|
||||||
static void fil_load_menu();
|
|
||||||
static void fil_unload_menu();
|
|
||||||
static void extr_unload_0();
|
|
||||||
static void extr_unload_1();
|
|
||||||
static void extr_unload_2();
|
|
||||||
static void extr_unload_3();
|
|
||||||
static void lcd_disable_farm_mode();
|
|
||||||
static void lcd_set_fan_check();
|
|
||||||
static char snmm_stop_print_menu();
|
|
||||||
#ifdef SDCARD_SORT_ALPHA
|
|
||||||
static void lcd_sort_type_set();
|
|
||||||
#endif
|
|
||||||
static float count_e(float layer_heigth, float extrusion_width, float extrusion_length);
|
|
||||||
static void lcd_babystep_z();
|
|
||||||
static void lcd_send_status();
|
|
||||||
static void lcd_connect_printer();
|
|
||||||
|
|
||||||
void lcd_finishstatus();
|
void lcd_finishstatus();
|
||||||
|
|
||||||
#ifdef DOGLCD
|
#ifdef DOGLCD
|
||||||
@ -390,7 +344,7 @@ bool lcd_oldcardstatus;
|
|||||||
#endif //ULTIPANEL
|
#endif //ULTIPANEL
|
||||||
|
|
||||||
menuFunc_t currentMenu = lcd_status_screen; /* function pointer to the currently active menu */
|
menuFunc_t currentMenu = lcd_status_screen; /* function pointer to the currently active menu */
|
||||||
ShortTimer lcd_next_update_millis;
|
uint32_t lcd_next_update_millis;
|
||||||
uint8_t lcd_status_update_delay;
|
uint8_t lcd_status_update_delay;
|
||||||
bool ignore_click = false;
|
bool ignore_click = false;
|
||||||
bool wait_for_unclick;
|
bool wait_for_unclick;
|
||||||
@ -2528,8 +2482,8 @@ static void lcd_menu_xyz_skew()
|
|||||||
//|01234567890123456789|
|
//|01234567890123456789|
|
||||||
//|Measured skew: N/A |
|
//|Measured skew: N/A |
|
||||||
//|--------------------|
|
//|--------------------|
|
||||||
//|Slight skew: 0.12d|
|
//|Slight skew: 0.12<EFBFBD>|
|
||||||
//|Severe skew: 0.25d|
|
//|Severe skew: 0.25<EFBFBD>|
|
||||||
//----------------------
|
//----------------------
|
||||||
float angleDiff = eeprom_read_float((float*)(EEPROM_XYZ_CAL_SKEW));
|
float angleDiff = eeprom_read_float((float*)(EEPROM_XYZ_CAL_SKEW));
|
||||||
lcd_printf_P(_N(
|
lcd_printf_P(_N(
|
||||||
@ -6545,7 +6499,8 @@ bool lcd_selftest()
|
|||||||
}
|
}
|
||||||
lcd_reset_alert_level();
|
lcd_reset_alert_level();
|
||||||
enquecommand_P(PSTR("M84"));
|
enquecommand_P(PSTR("M84"));
|
||||||
lcd_update_enable(true);
|
lcd_implementation_clear();
|
||||||
|
lcd_next_update_millis = millis() + LCD_UPDATE_INTERVAL;
|
||||||
|
|
||||||
if (_result)
|
if (_result)
|
||||||
{
|
{
|
||||||
@ -7254,7 +7209,7 @@ static bool lcd_selftest_fan_dialog(int _fan)
|
|||||||
static int lcd_selftest_screen(int _step, int _progress, int _progress_scale, bool _clear, int _delay)
|
static int lcd_selftest_screen(int _step, int _progress, int _progress_scale, bool _clear, int _delay)
|
||||||
{
|
{
|
||||||
|
|
||||||
lcd_update_enable(false);
|
lcd_next_update_millis = millis() + (LCD_UPDATE_INTERVAL * 10000);
|
||||||
|
|
||||||
int _step_block = 0;
|
int _step_block = 0;
|
||||||
const char *_indicator = (_progress > _progress_scale) ? "-" : "|";
|
const char *_indicator = (_progress > _progress_scale) ? "-" : "|";
|
||||||
@ -7455,7 +7410,6 @@ static void menu_action_setting_edit_callback_bool(const char* pstr, bool* ptr,
|
|||||||
void lcd_init()
|
void lcd_init()
|
||||||
{
|
{
|
||||||
lcd_implementation_init();
|
lcd_implementation_init();
|
||||||
lcd_next_update_millis.start();
|
|
||||||
|
|
||||||
#ifdef NEWPANEL
|
#ifdef NEWPANEL
|
||||||
SET_INPUT(BTN_EN1);
|
SET_INPUT(BTN_EN1);
|
||||||
@ -7537,8 +7491,7 @@ void lcd_update_enable(bool enabled)
|
|||||||
else
|
else
|
||||||
lcd_set_custom_characters_arrows();
|
lcd_set_custom_characters_arrows();
|
||||||
#endif
|
#endif
|
||||||
// Force the keypad update now.
|
lcd_update(2);
|
||||||
lcd_update(2,true);
|
|
||||||
} else {
|
} else {
|
||||||
// Clear the LCD always, or let it to the caller?
|
// Clear the LCD always, or let it to the caller?
|
||||||
}
|
}
|
||||||
@ -7563,74 +7516,19 @@ static inline bool forced_menu_expire()
|
|||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void debugBlink()
|
void lcd_update(uint8_t lcdDrawUpdateOverride)
|
||||||
{
|
|
||||||
#ifdef DEBUG_BLINK_ACTIVE
|
|
||||||
static bool active_led = false;
|
|
||||||
active_led = !active_led;
|
|
||||||
pinMode(LED_PIN, OUTPUT);
|
|
||||||
digitalWrite(LED_PIN, active_led?HIGH:LOW);
|
|
||||||
#endif //DEBUG_BLINK_ACTIVE
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void handleReprapKeyboard()
|
|
||||||
{
|
|
||||||
#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)
|
|
||||||
{
|
|
||||||
reprapworld_keypad_move_y_down();
|
|
||||||
}
|
|
||||||
if (REPRAPWORLD_KEYPAD_MOVE_Y_UP)
|
|
||||||
{
|
|
||||||
reprapworld_keypad_move_y_up();
|
|
||||||
}
|
|
||||||
if (REPRAPWORLD_KEYPAD_MOVE_HOME)
|
|
||||||
{
|
|
||||||
reprapworld_keypad_move_home();
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void readSlowButtons()
|
|
||||||
{
|
|
||||||
#ifdef LCD_HAS_SLOW_BUTTONS
|
|
||||||
slow_buttons = lcd_implementation_read_slow_buttons(); // buttons which take too long to read in interrupt context
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Handle keyboard input and update display
|
|
||||||
*
|
|
||||||
* @param lcdDrawUpdateOverride
|
|
||||||
* @param forceRedraw if true, force redraw of display regardless of timer
|
|
||||||
*/
|
|
||||||
void lcd_update(uint8_t lcdDrawUpdateOverride, bool forceRedraw)
|
|
||||||
{
|
{
|
||||||
|
|
||||||
if (lcdDrawUpdate < lcdDrawUpdateOverride)
|
if (lcdDrawUpdate < lcdDrawUpdateOverride)
|
||||||
{
|
|
||||||
lcdDrawUpdate = lcdDrawUpdateOverride;
|
lcdDrawUpdate = lcdDrawUpdateOverride;
|
||||||
}
|
|
||||||
|
|
||||||
if (!lcd_update_enabled) return;
|
if (!lcd_update_enabled)
|
||||||
|
return;
|
||||||
|
|
||||||
|
#ifdef LCD_HAS_SLOW_BUTTONS
|
||||||
|
slow_buttons = lcd_implementation_read_slow_buttons(); // buttons which take too long to read in interrupt context
|
||||||
|
#endif
|
||||||
|
|
||||||
readSlowButtons();
|
|
||||||
lcd_buttons_update();
|
lcd_buttons_update();
|
||||||
|
|
||||||
#if (SDCARDDETECT > 0)
|
#if (SDCARDDETECT > 0)
|
||||||
@ -7648,6 +7546,7 @@ void lcd_update(uint8_t lcdDrawUpdateOverride, bool forceRedraw)
|
|||||||
{
|
{
|
||||||
card.initsd();
|
card.initsd();
|
||||||
LCD_MESSAGERPGM(_i("Card inserted"));////MSG_SD_INSERTED c=0 r=0
|
LCD_MESSAGERPGM(_i("Card inserted"));////MSG_SD_INSERTED c=0 r=0
|
||||||
|
//get_description();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -7655,29 +7554,58 @@ void lcd_update(uint8_t lcdDrawUpdateOverride, bool forceRedraw)
|
|||||||
LCD_MESSAGERPGM(_i("Card removed"));////MSG_SD_REMOVED c=0 r=0
|
LCD_MESSAGERPGM(_i("Card removed"));////MSG_SD_REMOVED c=0 r=0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif //(SDCARDDETECT > 0)
|
#endif//CARDINSERTED
|
||||||
|
|
||||||
if (lcd_next_update_millis.expired(LCD_UPDATE_INTERVAL) || forceRedraw)
|
if (lcd_next_update_millis < millis())
|
||||||
{
|
{
|
||||||
lcd_next_update_millis.start();
|
#ifdef DEBUG_BLINK_ACTIVE
|
||||||
debugBlink();
|
static bool active_led = false;
|
||||||
|
active_led = !active_led;
|
||||||
|
pinMode(LED_PIN, OUTPUT);
|
||||||
|
digitalWrite(LED_PIN, active_led?HIGH:LOW);
|
||||||
|
#endif //DEBUG_BLINK_ACTIVE
|
||||||
|
|
||||||
#ifdef ULTIPANEL
|
#ifdef ULTIPANEL
|
||||||
handleReprapKeyboard();
|
#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) {
|
||||||
|
reprapworld_keypad_move_y_down();
|
||||||
|
}
|
||||||
|
if (REPRAPWORLD_KEYPAD_MOVE_Y_UP) {
|
||||||
|
reprapworld_keypad_move_y_up();
|
||||||
|
}
|
||||||
|
if (REPRAPWORLD_KEYPAD_MOVE_HOME) {
|
||||||
|
reprapworld_keypad_move_home();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
if (abs(encoderDiff) >= ENCODER_PULSES_PER_STEP)
|
if (abs(encoderDiff) >= ENCODER_PULSES_PER_STEP)
|
||||||
{
|
{
|
||||||
if (lcdDrawUpdate == 0) lcdDrawUpdate = 1;
|
if (lcdDrawUpdate == 0)
|
||||||
|
lcdDrawUpdate = 1;
|
||||||
encoderPosition += encoderDiff / ENCODER_PULSES_PER_STEP;
|
encoderPosition += encoderDiff / ENCODER_PULSES_PER_STEP;
|
||||||
encoderDiff = 0;
|
encoderDiff = 0;
|
||||||
lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS;
|
|
||||||
lcd_timeoutToStatus.start();
|
lcd_timeoutToStatus.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (LCD_CLICKED) lcd_timeoutToStatus.start();
|
if (LCD_CLICKED) lcd_timeoutToStatus.start();
|
||||||
#endif//ULTIPANEL
|
#endif//ULTIPANEL
|
||||||
|
|
||||||
(*currentMenu)();
|
(*currentMenu)();
|
||||||
|
|
||||||
|
#ifdef LCD_HAS_STATUS_INDICATORS
|
||||||
lcd_implementation_update_indicators();
|
lcd_implementation_update_indicators();
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef ULTIPANEL
|
#ifdef ULTIPANEL
|
||||||
if (z_menu_expired() || other_menu_expired() || forced_menu_expire())
|
if (z_menu_expired() || other_menu_expired() || forced_menu_expire())
|
||||||
@ -7697,6 +7625,7 @@ void lcd_update(uint8_t lcdDrawUpdateOverride, bool forceRedraw)
|
|||||||
#endif//ULTIPANEL
|
#endif//ULTIPANEL
|
||||||
if (lcdDrawUpdate == 2) lcd_implementation_clear();
|
if (lcdDrawUpdate == 2) lcd_implementation_clear();
|
||||||
if (lcdDrawUpdate) lcdDrawUpdate--;
|
if (lcdDrawUpdate) lcdDrawUpdate--;
|
||||||
|
lcd_next_update_millis = millis() + LCD_UPDATE_INTERVAL;
|
||||||
}
|
}
|
||||||
if (!SdFatUtil::test_stack_integrity()) stack_error();
|
if (!SdFatUtil::test_stack_integrity()) stack_error();
|
||||||
#ifdef DEBUG_STEPPER_TIMER_MISSED
|
#ifdef DEBUG_STEPPER_TIMER_MISSED
|
||||||
|
@ -10,7 +10,9 @@ extern int lcd_printf_P(const char* format, ...);
|
|||||||
|
|
||||||
#ifdef ULTRA_LCD
|
#ifdef ULTRA_LCD
|
||||||
|
|
||||||
void lcd_update(uint8_t lcdDrawUpdateOverride = 0, bool forceRedraw = false);
|
static void lcd_language_menu();
|
||||||
|
|
||||||
|
void lcd_update(uint8_t lcdDrawUpdateOverride = 0);
|
||||||
// Call with a false parameter to suppress the LCD update from various places like the planner or the temp control.
|
// Call with a false parameter to suppress the LCD update from various places like the planner or the temp control.
|
||||||
void lcd_update_enable(bool enable);
|
void lcd_update_enable(bool enable);
|
||||||
void lcd_init();
|
void lcd_init();
|
||||||
@ -38,8 +40,27 @@ extern int lcd_printf_P(const char* format, ...);
|
|||||||
//void lcd_mylang();
|
//void lcd_mylang();
|
||||||
bool lcd_detected(void);
|
bool lcd_detected(void);
|
||||||
|
|
||||||
|
static void lcd_selftest_v();
|
||||||
extern bool lcd_selftest();
|
extern bool lcd_selftest();
|
||||||
|
static bool lcd_selfcheck_endstops();
|
||||||
|
|
||||||
|
#ifdef TMC2130
|
||||||
|
static void reset_crash_det(char axis);
|
||||||
|
static bool lcd_selfcheck_axis_sg(char axis);
|
||||||
|
static bool lcd_selfcheck_axis(int _axis, int _travel);
|
||||||
|
#else
|
||||||
|
static bool lcd_selfcheck_endstops();
|
||||||
|
static bool lcd_selfcheck_axis(int _axis, int _travel);
|
||||||
|
static bool lcd_selfcheck_pulleys(int axis);
|
||||||
|
#endif //TMC2130
|
||||||
|
|
||||||
|
static bool lcd_selfcheck_check_heater(bool _isbed);
|
||||||
|
static int lcd_selftest_screen(int _step, int _progress, int _progress_scale, bool _clear, int _delay);
|
||||||
|
static void lcd_selftest_screen_step(int _row, int _col, int _state, const char *_name, const char *_indicator);
|
||||||
|
static bool lcd_selftest_manual_fan_check(int _fan, bool check_opposite);
|
||||||
|
static bool lcd_selftest_fan_dialog(int _fan);
|
||||||
|
static bool lcd_selftest_fsensor();
|
||||||
|
static void lcd_selftest_error(int _error_no, const char *_error_1, const char *_error_2);
|
||||||
void lcd_menu_statistics();
|
void lcd_menu_statistics();
|
||||||
|
|
||||||
extern const char* lcd_display_message_fullscreen_P(const char *msg, uint8_t &nlines);
|
extern const char* lcd_display_message_fullscreen_P(const char *msg, uint8_t &nlines);
|
||||||
@ -66,6 +87,7 @@ extern int lcd_printf_P(const char* format, ...);
|
|||||||
void lcd_setcontrast(uint8_t value);
|
void lcd_setcontrast(uint8_t value);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
static unsigned char blink = 0; // Variable for visualization of fan rotation in GLCD
|
||||||
|
|
||||||
#define LCD_MESSAGEPGM(x) lcd_setstatuspgm(PSTR(x))
|
#define LCD_MESSAGEPGM(x) lcd_setstatuspgm(PSTR(x))
|
||||||
#define LCD_ALERTMESSAGEPGM(x) lcd_setalertstatuspgm(PSTR(x))
|
#define LCD_ALERTMESSAGEPGM(x) lcd_setalertstatuspgm(PSTR(x))
|
||||||
@ -221,11 +243,30 @@ extern void lcd_implementation_print_at(uint8_t x, uint8_t y, const char *str);
|
|||||||
|
|
||||||
|
|
||||||
void change_extr(int extr);
|
void change_extr(int extr);
|
||||||
|
static void lcd_colorprint_change();
|
||||||
|
static int get_ext_nr();
|
||||||
void extr_adj(int extruder);
|
void extr_adj(int extruder);
|
||||||
|
static void extr_adj_0();
|
||||||
|
static void extr_adj_1();
|
||||||
|
static void extr_adj_2();
|
||||||
|
static void extr_adj_3();
|
||||||
|
static void fil_load_menu();
|
||||||
|
static void fil_unload_menu();
|
||||||
|
static void extr_unload_0();
|
||||||
|
static void extr_unload_1();
|
||||||
|
static void extr_unload_2();
|
||||||
|
static void extr_unload_3();
|
||||||
|
static void lcd_disable_farm_mode();
|
||||||
|
static void lcd_set_fan_check();
|
||||||
void extr_unload_all();
|
void extr_unload_all();
|
||||||
void extr_unload_used();
|
void extr_unload_used();
|
||||||
void extr_unload();
|
void extr_unload();
|
||||||
|
static char snmm_stop_print_menu();
|
||||||
|
#ifdef SDCARD_SORT_ALPHA
|
||||||
|
static void lcd_sort_type_set();
|
||||||
|
#endif
|
||||||
|
static float count_e(float layer_heigth, float extrusion_width, float extrusion_length);
|
||||||
|
static void lcd_babystep_z();
|
||||||
|
|
||||||
void stack_error();
|
void stack_error();
|
||||||
void lcd_printer_connected();
|
void lcd_printer_connected();
|
||||||
@ -270,4 +311,7 @@ void lcd_language();
|
|||||||
void lcd_wizard();
|
void lcd_wizard();
|
||||||
void lcd_wizard(int state);
|
void lcd_wizard(int state);
|
||||||
|
|
||||||
|
static void lcd_send_status();
|
||||||
|
static void lcd_connect_printer();
|
||||||
|
|
||||||
#endif //ULTRALCD_H
|
#endif //ULTRALCD_H
|
||||||
|
@ -1390,10 +1390,9 @@ static void lcd_implementation_quick_feedback()
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef LCD_HAS_STATUS_INDICATORS
|
||||||
static void lcd_implementation_update_indicators()
|
static void lcd_implementation_update_indicators()
|
||||||
{
|
{
|
||||||
#ifdef LCD_HAS_STATUS_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;
|
||||||
@ -1409,8 +1408,8 @@ static void lcd_implementation_update_indicators()
|
|||||||
ledsprev = leds;
|
ledsprev = leds;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef LCD_HAS_SLOW_BUTTONS
|
#ifdef LCD_HAS_SLOW_BUTTONS
|
||||||
extern uint32_t blocking_enc;
|
extern uint32_t blocking_enc;
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
// unification for AVR and RPI
|
// unification for AVR and RPI
|
||||||
|
#define __AVR
|
||||||
|
|
||||||
#ifdef __AVR
|
#ifdef __AVR
|
||||||
//#include "Arduino.h"
|
//#include "Arduino.h"
|
||||||
@ -28,4 +29,3 @@
|
|||||||
void print(int v) { printf("%d", v); }
|
void print(int v) { printf("%d", v); }
|
||||||
void print(float v) { printf("%f", v); }
|
void print(float v) { printf("%f", v); }
|
||||||
#endif //RC522_RPI
|
#endif //RC522_RPI
|
||||||
|
|
||||||
|
@ -96,12 +96,12 @@
|
|||||||
#define MANUAL_FEEDRATE {2700, 2700, 1000, 100} // set the speeds for manual moves (mm/min)
|
#define MANUAL_FEEDRATE {2700, 2700, 1000, 100} // set the speeds for manual moves (mm/min)
|
||||||
|
|
||||||
//Silent mode limits
|
//Silent mode limits
|
||||||
#define SILENT_MAX_ACCEL 960ul // max axxeleration in silent mode in mm/s^2
|
#define SILENT_MAX_ACCEL 960 // max axxeleration in silent mode in mm/s^2
|
||||||
#define SILENT_MAX_ACCEL_ST (100*SILENT_MAX_ACCEL) // max accel in steps/s^2
|
#define SILENT_MAX_ACCEL_ST (100*SILENT_MAX_ACCEL) // max accel in steps/s^2
|
||||||
#define SILENT_MAX_FEEDRATE 172 //max feedrate in mm/s, because mode switched to normal for homming , this value limits also homing, it should be greater (172mm/s=9600mm/min>2700mm/min)
|
#define SILENT_MAX_FEEDRATE 172 //max feedrate in mm/s, because mode switched to normal for homming , this value limits also homing, it should be greater (172mm/s=9600mm/min>2700mm/min)
|
||||||
|
|
||||||
//Normal mode limits
|
//Normal mode limits
|
||||||
#define NORMAL_MAX_ACCEL 2500ul // Y-axis max axxeleration in normal mode in mm/s^2
|
#define NORMAL_MAX_ACCEL 2500 // Y-axis max axxeleration in normal mode in mm/s^2
|
||||||
#define NORMAL_MAX_ACCEL_ST (100*NORMAL_MAX_ACCEL) // max accel in steps/s^2
|
#define NORMAL_MAX_ACCEL_ST (100*NORMAL_MAX_ACCEL) // max accel in steps/s^2
|
||||||
#define NORMAL_MAX_FEEDRATE 200 //max feedrate in mm/s, because mode switched to normal for homming , this value limits also homing, it should be greater (172mm/s=9600mm/min>2700mm/min)
|
#define NORMAL_MAX_FEEDRATE 200 //max feedrate in mm/s, because mode switched to normal for homming , this value limits also homing, it should be greater (172mm/s=9600mm/min>2700mm/min)
|
||||||
|
|
||||||
|
@ -97,12 +97,12 @@
|
|||||||
#define MANUAL_FEEDRATE {2700, 2700, 1000, 100} // set the speeds for manual moves (mm/min)
|
#define MANUAL_FEEDRATE {2700, 2700, 1000, 100} // set the speeds for manual moves (mm/min)
|
||||||
|
|
||||||
//Silent mode limits
|
//Silent mode limits
|
||||||
#define SILENT_MAX_ACCEL 960ul // max axxeleration in silent mode in mm/s^2
|
#define SILENT_MAX_ACCEL 960 // max axxeleration in silent mode in mm/s^2
|
||||||
#define SILENT_MAX_ACCEL_ST (100*SILENT_MAX_ACCEL) // max accel in steps/s^2
|
#define SILENT_MAX_ACCEL_ST (100*SILENT_MAX_ACCEL) // max accel in steps/s^2
|
||||||
#define SILENT_MAX_FEEDRATE 172 //max feedrate in mm/s, because mode switched to normal for homming , this value limits also homing, it should be greater (172mm/s=9600mm/min>2700mm/min)
|
#define SILENT_MAX_FEEDRATE 172 //max feedrate in mm/s, because mode switched to normal for homming , this value limits also homing, it should be greater (172mm/s=9600mm/min>2700mm/min)
|
||||||
|
|
||||||
//Normal mode limits
|
//Normal mode limits
|
||||||
#define NORMAL_MAX_ACCEL 2500ul // Y-axis max axxeleration in normal mode in mm/s^2
|
#define NORMAL_MAX_ACCEL 2500 // Y-axis max axxeleration in normal mode in mm/s^2
|
||||||
#define NORMAL_MAX_ACCEL_ST (100*NORMAL_MAX_ACCEL) // max accel in steps/s^2
|
#define NORMAL_MAX_ACCEL_ST (100*NORMAL_MAX_ACCEL) // max accel in steps/s^2
|
||||||
#define NORMAL_MAX_FEEDRATE 200 //max feedrate in mm/s, because mode switched to normal for homming , this value limits also homing, it should be greater (172mm/s=9600mm/min>2700mm/min)
|
#define NORMAL_MAX_FEEDRATE 200 //max feedrate in mm/s, because mode switched to normal for homming , this value limits also homing, it should be greater (172mm/s=9600mm/min>2700mm/min)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user