commit
cda8b44efe
|
|
@ -9,58 +9,8 @@
|
|||
|
||||
#define FW_PRUSA3D_MAGIC "PRUSA3DFW"
|
||||
#define FW_PRUSA3D_MAGIC_LEN 10
|
||||
// The total size of the EEPROM is
|
||||
// 4096 for the Atmega2560
|
||||
#define EEPROM_TOP 4096
|
||||
#define EEPROM_SILENT 4095
|
||||
#define EEPROM_LANG 4094
|
||||
#define EEPROM_BABYSTEP_X 4092
|
||||
#define EEPROM_BABYSTEP_Y 4090
|
||||
#define EEPROM_BABYSTEP_Z 4088
|
||||
#define EEPROM_CALIBRATION_STATUS 4087
|
||||
#define EEPROM_BABYSTEP_Z0 4085
|
||||
#define EEPROM_FILAMENTUSED 4081
|
||||
// uint32_t
|
||||
#define EEPROM_TOTALTIME 4077
|
||||
|
||||
#define EEPROM_BED_CALIBRATION_CENTER (EEPROM_TOTALTIME-2*4)
|
||||
#define EEPROM_BED_CALIBRATION_VEC_X (EEPROM_BED_CALIBRATION_CENTER-2*4)
|
||||
#define EEPROM_BED_CALIBRATION_VEC_Y (EEPROM_BED_CALIBRATION_VEC_X-2*4)
|
||||
|
||||
// Offsets of the Z heiths of the calibration points from the first point.
|
||||
// The offsets are saved as 16bit signed int, scaled to tenths of microns.
|
||||
#define EEPROM_BED_CALIBRATION_Z_JITTER (EEPROM_BED_CALIBRATION_VEC_Y-2*8)
|
||||
#define EEPROM_FARM_MODE (EEPROM_BED_CALIBRATION_Z_JITTER-1)
|
||||
#define EEPROM_FARM_NUMBER (EEPROM_FARM_MODE-3)
|
||||
|
||||
// Correction of the bed leveling, in micrometers.
|
||||
// Maximum 50 micrometers allowed.
|
||||
// Bed correction is valid if set to 1. If set to zero or 255, the successive 4 bytes are invalid.
|
||||
#define EEPROM_BED_CORRECTION_VALID (EEPROM_FARM_NUMBER-1)
|
||||
#define EEPROM_BED_CORRECTION_LEFT (EEPROM_BED_CORRECTION_VALID-1)
|
||||
#define EEPROM_BED_CORRECTION_RIGHT (EEPROM_BED_CORRECTION_LEFT-1)
|
||||
#define EEPROM_BED_CORRECTION_FRONT (EEPROM_BED_CORRECTION_RIGHT-1)
|
||||
#define EEPROM_BED_CORRECTION_REAR (EEPROM_BED_CORRECTION_FRONT-1)
|
||||
#define EEPROM_TOSHIBA_FLASH_AIR_COMPATIBLITY (EEPROM_BED_CORRECTION_REAR-1)
|
||||
#define EEPROM_PRINT_FLAG (EEPROM_TOSHIBA_FLASH_AIR_COMPATIBLITY-1)
|
||||
#define EEPROM_PROBE_TEMP_SHIFT (EEPROM_PRINT_FLAG - 2*5) //5 x int for storing pinda probe temp shift relative to 50 C; unit: motor steps
|
||||
#define EEPROM_TEMP_CAL_ACTIVE (EEPROM_PROBE_TEMP_SHIFT - 1)
|
||||
#define EEPROM_BOWDEN_LENGTH (EEPROM_TEMP_CAL_ACTIVE - 2*4) //4 x int for bowden lengths for multimaterial
|
||||
#define EEPROM_CALIBRATION_STATUS_PINDA (EEPROM_BOWDEN_LENGTH - 1) //0 - not calibrated; 1 - calibrated
|
||||
#define EEPROM_SD_SORT (EEPROM_CALIBRATION_STATUS_PINDA - 1) //0 -time, 1-alpha, 2-none
|
||||
#define EEPROM_XYZ_CAL_SKEW (EEPROM_SD_SORT - 4)
|
||||
#define EEPROM_WIZARD_ACTIVE (EEPROM_XYZ_CAL_SKEW - 1)
|
||||
|
||||
// Currently running firmware, each digit stored as uint16_t.
|
||||
// The flavor differentiates a dev, alpha, beta, release candidate or a release version.
|
||||
#define EEPROM_FIRMWARE_VERSION_END (FW_PRUSA3D_MAGIC_LEN+8)
|
||||
#define EEPROM_FIRMWARE_VERSION_FLAVOR (FW_PRUSA3D_MAGIC_LEN+6)
|
||||
#define EEPROM_FIRMWARE_VERSION_REVISION (FW_PRUSA3D_MAGIC_LEN+4)
|
||||
#define EEPROM_FIRMWARE_VERSION_MINOR (FW_PRUSA3D_MAGIC_LEN+2)
|
||||
#define EEPROM_FIRMWARE_VERSION_MAJOR FW_PRUSA3D_MAGIC_LEN
|
||||
// Magic string, indicating that the current or the previous firmware running was the Prusa3D firmware.
|
||||
#define EEPROM_FIRMWARE_PRUSA_MAGIC 0
|
||||
|
||||
#include "eeprom.h"
|
||||
|
||||
// This configuration file contains the basic settings.
|
||||
// Advanced settings can be found in Configuration_adv.h
|
||||
|
|
|
|||
|
|
@ -63,6 +63,7 @@
|
|||
|
||||
|
||||
#include "ultralcd.h"
|
||||
#include "sound.h"
|
||||
|
||||
// Macros for bit masks
|
||||
#define BIT(b) (1<<(b))
|
||||
|
|
@ -931,6 +932,7 @@ void factory_reset(char level, bool quiet)
|
|||
|
||||
// Level 0: Language reset
|
||||
case 0:
|
||||
if((eSoundMode==e_SOUND_MODE_LOUD)||(eSoundMode==e_SOUND_MODE_ONCE))
|
||||
WRITE(BEEPER, HIGH);
|
||||
_delay_ms(100);
|
||||
WRITE(BEEPER, LOW);
|
||||
|
|
@ -940,6 +942,7 @@ void factory_reset(char level, bool quiet)
|
|||
|
||||
//Level 1: Reset statistics
|
||||
case 1:
|
||||
if((eSoundMode==e_SOUND_MODE_LOUD)||(eSoundMode==e_SOUND_MODE_ONCE))
|
||||
WRITE(BEEPER, HIGH);
|
||||
_delay_ms(100);
|
||||
WRITE(BEEPER, LOW);
|
||||
|
|
@ -963,6 +966,7 @@ void factory_reset(char level, bool quiet)
|
|||
eeprom_update_byte((uint8_t*)EEPROM_FARM_MODE, farm_mode);
|
||||
EEPROM_save_B(EEPROM_FARM_NUMBER, &farm_no);
|
||||
|
||||
if((eSoundMode==e_SOUND_MODE_LOUD)||(eSoundMode==e_SOUND_MODE_ONCE))
|
||||
WRITE(BEEPER, HIGH);
|
||||
_delay_ms(100);
|
||||
WRITE(BEEPER, LOW);
|
||||
|
|
@ -975,6 +979,7 @@ void factory_reset(char level, bool quiet)
|
|||
lcd_printPGM(PSTR("Factory RESET"));
|
||||
lcd_print_at_PGM(1, 2, PSTR("ERASING all data"));
|
||||
|
||||
if((eSoundMode==e_SOUND_MODE_LOUD)||(eSoundMode==e_SOUND_MODE_ONCE))
|
||||
WRITE(BEEPER, HIGH);
|
||||
_delay_ms(100);
|
||||
WRITE(BEEPER, LOW);
|
||||
|
|
@ -1016,6 +1021,7 @@ void factory_reset(char level, bool quiet)
|
|||
void setup()
|
||||
{
|
||||
lcd_init();
|
||||
Sound_Init();
|
||||
lcd_print_at_PGM(0, 1, PSTR(" Original Prusa "));
|
||||
lcd_print_at_PGM(0, 2, PSTR(" 3D Printers "));
|
||||
setup_killpin();
|
||||
|
|
@ -1110,6 +1116,7 @@ void setup()
|
|||
|
||||
|
||||
SET_OUTPUT(BEEPER);
|
||||
if((eSoundMode==e_SOUND_MODE_LOUD)||(eSoundMode==e_SOUND_MODE_ONCE))
|
||||
WRITE(BEEPER, HIGH);
|
||||
|
||||
while (!READ(BTN_ENC));
|
||||
|
|
@ -5087,6 +5094,7 @@ Sigma_Exit:
|
|||
if (beepS > 0)
|
||||
{
|
||||
#if BEEPER > 0
|
||||
if((eSoundMode==e_SOUND_MODE_LOUD)||(eSoundMode==e_SOUND_MODE_ONCE))
|
||||
tone(BEEPER, beepS);
|
||||
delay(beepP);
|
||||
noTone(BEEPER);
|
||||
|
|
@ -5489,6 +5497,7 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp
|
|||
lcd_wait_interact();
|
||||
load_filament_time = millis();
|
||||
KEEPALIVE_STATE(PAUSED_FOR_USER);
|
||||
bool bFirst=true;
|
||||
while(!lcd_clicked()){
|
||||
|
||||
cnt++;
|
||||
|
|
@ -5509,7 +5518,11 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp
|
|||
}
|
||||
SET_OUTPUT(BEEPER);
|
||||
if (counterBeep== 0){
|
||||
WRITE(BEEPER,HIGH);
|
||||
if((eSoundMode==e_SOUND_MODE_LOUD)||((eSoundMode==e_SOUND_MODE_ONCE)&&bFirst))
|
||||
{
|
||||
bFirst=false;
|
||||
WRITE(BEEPER, HIGH);
|
||||
}
|
||||
}
|
||||
if (counterBeep== 20){
|
||||
WRITE(BEEPER,LOW);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,182 @@
|
|||
#ifndef EEPROM_H
|
||||
#define EEPROM_H
|
||||
|
||||
// The total size of the EEPROM is
|
||||
// 4096 for the Atmega2560
|
||||
#define EEPROM_TOP 4096
|
||||
#define EEPROM_SILENT 4095
|
||||
#define EEPROM_LANG 4094
|
||||
#define EEPROM_BABYSTEP_X 4092
|
||||
#define EEPROM_BABYSTEP_Y 4090
|
||||
#define EEPROM_BABYSTEP_Z 4088
|
||||
#define EEPROM_CALIBRATION_STATUS 4087
|
||||
#define EEPROM_BABYSTEP_Z0 4085
|
||||
#define EEPROM_FILAMENTUSED 4081
|
||||
// uint32_t
|
||||
#define EEPROM_TOTALTIME 4077
|
||||
|
||||
#define EEPROM_BED_CALIBRATION_CENTER (EEPROM_TOTALTIME-2*4)
|
||||
#define EEPROM_BED_CALIBRATION_VEC_X (EEPROM_BED_CALIBRATION_CENTER-2*4)
|
||||
#define EEPROM_BED_CALIBRATION_VEC_Y (EEPROM_BED_CALIBRATION_VEC_X-2*4)
|
||||
|
||||
// Offsets of the Z heiths of the calibration points from the first point.
|
||||
// The offsets are saved as 16bit signed int, scaled to tenths of microns.
|
||||
#define EEPROM_BED_CALIBRATION_Z_JITTER (EEPROM_BED_CALIBRATION_VEC_Y-2*8)
|
||||
#define EEPROM_FARM_MODE (EEPROM_BED_CALIBRATION_Z_JITTER-1)
|
||||
#define EEPROM_FARM_NUMBER (EEPROM_FARM_MODE-3)
|
||||
|
||||
// Correction of the bed leveling, in micrometers.
|
||||
// Maximum 50 micrometers allowed.
|
||||
// Bed correction is valid if set to 1. If set to zero or 255, the successive 4 bytes are invalid.
|
||||
#define EEPROM_BED_CORRECTION_VALID (EEPROM_FARM_NUMBER-1)
|
||||
#define EEPROM_BED_CORRECTION_LEFT (EEPROM_BED_CORRECTION_VALID-1)
|
||||
#define EEPROM_BED_CORRECTION_RIGHT (EEPROM_BED_CORRECTION_LEFT-1)
|
||||
#define EEPROM_BED_CORRECTION_FRONT (EEPROM_BED_CORRECTION_RIGHT-1)
|
||||
#define EEPROM_BED_CORRECTION_REAR (EEPROM_BED_CORRECTION_FRONT-1)
|
||||
#define EEPROM_TOSHIBA_FLASH_AIR_COMPATIBLITY (EEPROM_BED_CORRECTION_REAR-1)
|
||||
#define EEPROM_PRINT_FLAG (EEPROM_TOSHIBA_FLASH_AIR_COMPATIBLITY-1)
|
||||
#define EEPROM_PROBE_TEMP_SHIFT (EEPROM_PRINT_FLAG - 2*5) //5 x int for storing pinda probe temp shift relative to 50 C; unit: motor steps
|
||||
#define EEPROM_TEMP_CAL_ACTIVE (EEPROM_PROBE_TEMP_SHIFT - 1)
|
||||
#define EEPROM_BOWDEN_LENGTH (EEPROM_TEMP_CAL_ACTIVE - 2*4) //4 x int for bowden lengths for multimaterial
|
||||
#define EEPROM_CALIBRATION_STATUS_PINDA (EEPROM_BOWDEN_LENGTH - 1) //0 - not calibrated; 1 - calibrated
|
||||
#define EEPROM_UVLO (EEPROM_CALIBRATION_STATUS_PINDA - 1) //1 - uvlo during print
|
||||
#define EEPROM_UVLO_CURRENT_POSITION (EEPROM_UVLO-2*4) // 2 x float for current_position in X and Y axes
|
||||
#define EEPROM_FILENAME (EEPROM_UVLO_CURRENT_POSITION - 8) //8chars to store filename without extension
|
||||
#define EEPROM_FILE_POSITION (EEPROM_FILENAME - 4) //32 bit for uint32_t file position
|
||||
#define EEPROM_UVLO_CURRENT_POSITION_Z (EEPROM_FILE_POSITION - 4) //float for current position in Z
|
||||
#define EEPROM_UVLO_TARGET_HOTEND (EEPROM_UVLO_CURRENT_POSITION_Z - 1)
|
||||
#define EEPROM_UVLO_TARGET_BED (EEPROM_UVLO_TARGET_HOTEND - 1)
|
||||
#define EEPROM_UVLO_FEEDRATE (EEPROM_UVLO_TARGET_BED - 2)
|
||||
#define EEPROM_UVLO_FAN_SPEED (EEPROM_UVLO_FEEDRATE - 1)
|
||||
#define EEPROM_FAN_CHECK_ENABLED (EEPROM_UVLO_FAN_SPEED - 1)
|
||||
#define EEPROM_UVLO_MESH_BED_LEVELING (EEPROM_FAN_CHECK_ENABLED - 9*2)
|
||||
|
||||
#define EEPROM_UVLO_Z_MICROSTEPS (EEPROM_UVLO_MESH_BED_LEVELING - 2)
|
||||
#define EEPROM_UVLO_E_ABS (EEPROM_UVLO_Z_MICROSTEPS - 1)
|
||||
#define EEPROM_UVLO_CURRENT_POSITION_E (EEPROM_UVLO_E_ABS - 4) //float for current position in E
|
||||
|
||||
// Crash detection mode EEPROM setting
|
||||
#define EEPROM_CRASH_DET (EEPROM_UVLO_CURRENT_POSITION_E - 5) // float (orig EEPROM_UVLO_MESH_BED_LEVELING-12)
|
||||
// Crash detection counter Y (last print)
|
||||
#define EEPROM_CRASH_COUNT_Y (EEPROM_CRASH_DET - 1) // uint8 (orig EEPROM_UVLO_MESH_BED_LEVELING-15)
|
||||
// Filament sensor on/off EEPROM setting
|
||||
#define EEPROM_FSENSOR (EEPROM_CRASH_COUNT_Y - 1) // uint8 (orig EEPROM_UVLO_MESH_BED_LEVELING-14)
|
||||
// Crash detection counter X (last print)
|
||||
#define EEPROM_CRASH_COUNT_X (EEPROM_FSENSOR - 1) // uint8 (orig EEPROM_UVLO_MESH_BED_LEVELING-15)
|
||||
// Filament runout/error coutner (last print)
|
||||
#define EEPROM_FERROR_COUNT (EEPROM_CRASH_COUNT_X - 1) // uint8 (orig EEPROM_UVLO_MESH_BED_LEVELING-16)
|
||||
// Power loss errors (last print)
|
||||
#define EEPROM_POWER_COUNT (EEPROM_FERROR_COUNT - 1) // uint8 (orig EEPROM_UVLO_MESH_BED_LEVELING-17)
|
||||
|
||||
#define EEPROM_XYZ_CAL_SKEW (EEPROM_POWER_COUNT - 4) // float for skew backup
|
||||
#define EEPROM_WIZARD_ACTIVE (EEPROM_XYZ_CAL_SKEW - 1)
|
||||
#define EEPROM_BELTSTATUS_X (EEPROM_WIZARD_ACTIVE - 2) // uint16
|
||||
#define EEPROM_BELTSTATUS_Y (EEPROM_BELTSTATUS_X - 2) // uint16
|
||||
|
||||
#define EEPROM_DIR_DEPTH (EEPROM_BELTSTATUS_Y-1)
|
||||
#define EEPROM_DIRS (EEPROM_DIR_DEPTH-80) //8 chars for each dir name, max 10 levels
|
||||
#define EEPROM_SD_SORT (EEPROM_DIRS - 1) //0 -time, 1-alpha, 2-none
|
||||
#define EEPROM_SECOND_SERIAL_ACTIVE (EEPROM_SD_SORT - 1)
|
||||
|
||||
#define EEPROM_FSENS_AUTOLOAD_ENABLED (EEPROM_SECOND_SERIAL_ACTIVE - 1)
|
||||
|
||||
// Crash detection counter X (total)
|
||||
#define EEPROM_CRASH_COUNT_X_TOT (EEPROM_FSENS_AUTOLOAD_ENABLED - 2) // uint16
|
||||
// Crash detection counter Y (total)
|
||||
#define EEPROM_CRASH_COUNT_Y_TOT (EEPROM_CRASH_COUNT_X_TOT - 2) // uint16
|
||||
// Filament runout/error coutner (total)
|
||||
#define EEPROM_FERROR_COUNT_TOT (EEPROM_CRASH_COUNT_Y_TOT - 2) // uint16
|
||||
// Power loss errors (total)
|
||||
#define EEPROM_POWER_COUNT_TOT (EEPROM_FERROR_COUNT_TOT - 2) // uint16
|
||||
|
||||
////////////////////////////////////////
|
||||
// TMC2130 Accurate sensorless homing
|
||||
|
||||
// X-axis home origin (stepper phase in microsteps, 0..63 for 16ustep resolution)
|
||||
#define EEPROM_TMC2130_HOME_X_ORIGIN (EEPROM_POWER_COUNT_TOT - 1) // uint8
|
||||
// X-axis home bsteps (number of microsteps backward)
|
||||
#define EEPROM_TMC2130_HOME_X_BSTEPS (EEPROM_TMC2130_HOME_X_ORIGIN - 1) // uint8
|
||||
// X-axis home fsteps (number of microsteps forward)
|
||||
#define EEPROM_TMC2130_HOME_X_FSTEPS (EEPROM_TMC2130_HOME_X_BSTEPS - 1) // uint8
|
||||
// Y-axis home origin (stepper phase in microsteps, 0..63 for 16ustep resolution)
|
||||
#define EEPROM_TMC2130_HOME_Y_ORIGIN (EEPROM_TMC2130_HOME_X_FSTEPS - 1) // uint8
|
||||
// X-axis home bsteps (number of microsteps backward)
|
||||
#define EEPROM_TMC2130_HOME_Y_BSTEPS (EEPROM_TMC2130_HOME_Y_ORIGIN - 1) // uint8
|
||||
// X-axis home fsteps (number of microsteps forward)
|
||||
#define EEPROM_TMC2130_HOME_Y_FSTEPS (EEPROM_TMC2130_HOME_Y_BSTEPS - 1) // uint8
|
||||
// Accurate homing enabled
|
||||
#define EEPROM_TMC2130_HOME_ENABLED (EEPROM_TMC2130_HOME_Y_FSTEPS - 1) // uint8
|
||||
|
||||
|
||||
////////////////////////////////////////
|
||||
// TMC2130 uStep linearity correction
|
||||
|
||||
// Linearity correction factor (XYZE)
|
||||
#define EEPROM_TMC2130_WAVE_X_FAC (EEPROM_TMC2130_HOME_ENABLED - 1) // uint8
|
||||
#define EEPROM_TMC2130_WAVE_Y_FAC (EEPROM_TMC2130_WAVE_X_FAC - 1) // uint8
|
||||
#define EEPROM_TMC2130_WAVE_Z_FAC (EEPROM_TMC2130_WAVE_Y_FAC - 1) // uint8
|
||||
#define EEPROM_TMC2130_WAVE_E_FAC (EEPROM_TMC2130_WAVE_Z_FAC - 1) // uint8
|
||||
|
||||
|
||||
////////////////////////////////////////
|
||||
// TMC2130 uStep resolution
|
||||
|
||||
// microstep resolution (XYZE): usteps = (256 >> mres)
|
||||
#define EEPROM_TMC2130_X_MRES (EEPROM_TMC2130_WAVE_E_FAC - 1) // uint8
|
||||
#define EEPROM_TMC2130_Y_MRES (EEPROM_TMC2130_X_MRES - 1) // uint8
|
||||
#define EEPROM_TMC2130_Z_MRES (EEPROM_TMC2130_Y_MRES - 1) // uint8
|
||||
#define EEPROM_TMC2130_E_MRES (EEPROM_TMC2130_Z_MRES - 1) // uint8
|
||||
|
||||
// HW
|
||||
#define EEPROM_PRINTER_TYPE (EEPROM_TMC2130_E_MRES - 2) // uint16
|
||||
#define EEPROM_BOARD_TYPE (EEPROM_PRINTER_TYPE - 2) // uint16
|
||||
|
||||
// Extruder multiplier for power panic
|
||||
#define EEPROM_EXTRUDER_MULTIPLIER_0 (EEPROM_BOARD_TYPE - 4) //float
|
||||
#define EEPROM_EXTRUDER_MULTIPLIER_1 (EEPROM_EXTRUDER_MULTIPLIER_0 - 4) //float
|
||||
#define EEPROM_EXTRUDER_MULTIPLIER_2 (EEPROM_EXTRUDER_MULTIPLIER_1 - 4) //float
|
||||
#define EEPROM_EXTRUDEMULTIPLY (EEPROM_EXTRUDER_MULTIPLIER_2 - 2) // uint16
|
||||
|
||||
// Sound Mode
|
||||
#define EEPROM_SOUND_MODE (EEPROM_EXTRUDEMULTIPLY-1) // uint8
|
||||
|
||||
// !!!!!
|
||||
// !!!!! this is end of EEPROM section ... all updates MUST BE inserted before this mark !!!!!
|
||||
// !!!!!
|
||||
|
||||
//TMC2130 configuration
|
||||
#define EEPROM_TMC_AXIS_SIZE //axis configuration block size
|
||||
#define EEPROM_TMC_X (EEPROM_TMC + 0 * EEPROM_TMC_AXIS_SIZE) //X axis configuration blok
|
||||
#define EEPROM_TMC_Y (EEPROM_TMC + 1 * EEPROM_TMC_AXIS_SIZE) //Y axis
|
||||
#define EEPROM_TMC_Z (EEPROM_TMC + 2 * EEPROM_TMC_AXIS_SIZE) //Z axis
|
||||
#define EEPROM_TMC_E (EEPROM_TMC + 3 * EEPROM_TMC_AXIS_SIZE) //E axis
|
||||
//TMC2130 - X axis
|
||||
#define EEPROM_TMC_X_USTEPS_INTPOL (EEPROM_TMC_X + 0) // 1byte, bit 0..4 USTEPS, bit 7 INTPOL
|
||||
#define EEPROM_TMC_X_PWM_AMPL (EEPROM_TMC_X + 1) // 1byte (0..255)
|
||||
#define EEPROM_TMC_X_PWM_GRAD_FREQ (EEPROM_TMC_X + 2) // 1byte, bit 0..3 GRAD, bit 4..5 FREQ
|
||||
#define EEPROM_TMC_X_TCOOLTHRS (EEPROM_TMC_X + 3) // 2bytes (0..)
|
||||
#define EEPROM_TMC_X_SG_THRS (EEPROM_TMC_X + 5) // 1byte, (-64..+63)
|
||||
#define EEPROM_TMC_X_CURRENT_H (EEPROM_TMC_X + 6) // 1byte, (0..63)
|
||||
#define EEPROM_TMC_X_CURRENT_R (EEPROM_TMC_X + 7) // 1byte, (0..63)
|
||||
#define EEPROM_TMC_X_HOME_SG_THRS (EEPROM_TMC_X + 8) // 1byte, (-64..+63)
|
||||
#define EEPROM_TMC_X_HOME_CURRENT_R (EEPROM_TMC_X + 9) // 1byte, (-64..+63)
|
||||
#define EEPROM_TMC_X_HOME_DTCOOLTHRS (EEPROM_TMC_X + 10) // 1byte (-128..+127)
|
||||
#define EEPROM_TMC_X_DTCOOLTHRS_LOW (EEPROM_TMC_X + 11) // 1byte (-128..+127)
|
||||
#define EEPROM_TMC_X_DTCOOLTHRS_HIGH (EEPROM_TMC_X + 12) // 1byte (-128..+127)
|
||||
#define EEPROM_TMC_X_SG_THRS_LOW (EEPROM_TMC_X + 13) // 1byte, (-64..+63)
|
||||
#define EEPROM_TMC_X_SG_THRS_HIGH (EEPROM_TMC_X + 14) // 1byte, (-64..+63)
|
||||
|
||||
// Currently running firmware, each digit stored as uint16_t.
|
||||
// The flavor differentiates a dev, alpha, beta, release candidate or a release version.
|
||||
#define EEPROM_FIRMWARE_VERSION_END (FW_PRUSA3D_MAGIC_LEN+8)
|
||||
#define EEPROM_FIRMWARE_VERSION_FLAVOR (FW_PRUSA3D_MAGIC_LEN+6)
|
||||
#define EEPROM_FIRMWARE_VERSION_REVISION (FW_PRUSA3D_MAGIC_LEN+4)
|
||||
#define EEPROM_FIRMWARE_VERSION_MINOR (FW_PRUSA3D_MAGIC_LEN+2)
|
||||
#define EEPROM_FIRMWARE_VERSION_MAJOR FW_PRUSA3D_MAGIC_LEN
|
||||
// Magic string, indicating that the current or the previous firmware running was the Prusa3D firmware.
|
||||
#define EEPROM_FIRMWARE_PRUSA_MAGIC 0
|
||||
|
||||
#define EEPROM_OFFSET 20 //offset for storing settings using M500
|
||||
//#define EEPROM_OFFSET
|
||||
|
||||
#endif // EEPROM_H
|
||||
|
|
@ -1458,7 +1458,7 @@ const char * const MSG_LANGUAGE_NAME_LANG_TABLE[LANG_NUM] PROGMEM = {
|
|||
const char MSG_LANGUAGE_SELECT_EN[] PROGMEM = "Select language";
|
||||
const char MSG_LANGUAGE_SELECT_CZ[] PROGMEM = "Vyber jazyka";
|
||||
const char MSG_LANGUAGE_SELECT_IT[] PROGMEM = "Seleziona lingua";
|
||||
const char MSG_LANGUAGE_SELECT_ES[] PROGMEM = "Cambiae el idioma";
|
||||
const char MSG_LANGUAGE_SELECT_ES[] PROGMEM = "Cambiar el idioma";
|
||||
const char MSG_LANGUAGE_SELECT_PL[] PROGMEM = "Wybor jezyka";
|
||||
const char MSG_LANGUAGE_SELECT_DE[] PROGMEM = "Waehle Sprache";
|
||||
const char * const MSG_LANGUAGE_SELECT_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
|
|
@ -3075,7 +3075,7 @@ const char * const MSG_SORTING_LANG_TABLE[LANG_NUM] PROGMEM = {
|
|||
MSG_SORTING_DE
|
||||
};
|
||||
|
||||
const char MSG_SORT_ALPHA_EN[] PROGMEM = "Sort: [Alphabet]";
|
||||
const char MSG_SORT_ALPHA_EN[] PROGMEM = "Sort [alphabet]";
|
||||
const char MSG_SORT_ALPHA_CZ[] PROGMEM = "Trideni [Abeceda]";
|
||||
const char MSG_SORT_ALPHA_IT[] PROGMEM = "Ordine:[Alfabeto]";
|
||||
const char MSG_SORT_ALPHA_ES[] PROGMEM = "Ordenar:[Alfabet]";
|
||||
|
|
@ -3090,7 +3090,7 @@ const char * const MSG_SORT_ALPHA_LANG_TABLE[LANG_NUM] PROGMEM = {
|
|||
MSG_SORT_ALPHA_DE
|
||||
};
|
||||
|
||||
const char MSG_SORT_NONE_EN[] PROGMEM = "Sort: [None]";
|
||||
const char MSG_SORT_NONE_EN[] PROGMEM = "Sort [none]";
|
||||
const char MSG_SORT_NONE_CZ[] PROGMEM = "Trideni [Zadne]";
|
||||
const char MSG_SORT_NONE_IT[] PROGMEM = "Ordine: [Nessuno]";
|
||||
const char MSG_SORT_NONE_ES[] PROGMEM = "Ordenar:[Ninguno]";
|
||||
|
|
@ -3105,7 +3105,7 @@ const char * const MSG_SORT_NONE_LANG_TABLE[LANG_NUM] PROGMEM = {
|
|||
MSG_SORT_NONE_DE
|
||||
};
|
||||
|
||||
const char MSG_SORT_TIME_EN[] PROGMEM = "Sort: [Time]";
|
||||
const char MSG_SORT_TIME_EN[] PROGMEM = "Sort [time]";
|
||||
const char MSG_SORT_TIME_CZ[] PROGMEM = "Trideni [Cas]";
|
||||
const char MSG_SORT_TIME_IT[] PROGMEM = "Ordine: [Tempo]";
|
||||
const char MSG_SORT_TIME_ES[] PROGMEM = "Ordenar: [Tiempo]";
|
||||
|
|
@ -3120,6 +3120,26 @@ const char * const MSG_SORT_TIME_LANG_TABLE[LANG_NUM] PROGMEM = {
|
|||
MSG_SORT_TIME_DE
|
||||
};
|
||||
|
||||
const char MSG_SOUND_MODE_LOUD_EN[] PROGMEM = "Sound [loud]";
|
||||
const char * const MSG_SOUND_MODE_LOUD_LANG_TABLE[1] PROGMEM = {
|
||||
MSG_SOUND_MODE_LOUD_EN
|
||||
};
|
||||
|
||||
const char MSG_SOUND_MODE_MUTE_EN[] PROGMEM = "Sound [mute]";
|
||||
const char * const MSG_SOUND_MODE_MUTE_LANG_TABLE[1] PROGMEM = {
|
||||
MSG_SOUND_MODE_MUTE_EN
|
||||
};
|
||||
|
||||
const char MSG_SOUND_MODE_ONCE_EN[] PROGMEM = "Sound [once]";
|
||||
const char * const MSG_SOUND_MODE_ONCE_LANG_TABLE[1] PROGMEM = {
|
||||
MSG_SOUND_MODE_ONCE_EN
|
||||
};
|
||||
|
||||
const char MSG_SOUND_MODE_SILENT_EN[] PROGMEM = "Sound [silent]";
|
||||
const char * const MSG_SOUND_MODE_SILENT_LANG_TABLE[1] PROGMEM = {
|
||||
MSG_SOUND_MODE_SILENT_EN
|
||||
};
|
||||
|
||||
const char MSG_SPEED_EN[] PROGMEM = "Speed";
|
||||
const char MSG_SPEED_CZ[] PROGMEM = "Rychlost";
|
||||
const char MSG_SPEED_IT[] PROGMEM = "Velocita";
|
||||
|
|
@ -3382,26 +3402,32 @@ const char * const MSG_TEMP_CALIBRATION_ON_LANG_TABLE[LANG_NUM] PROGMEM = {
|
|||
MSG_TEMP_CALIBRATION_ON_DE
|
||||
};
|
||||
|
||||
const char MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_EN[] PROGMEM = "SD card [normal]";
|
||||
const char MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_EN[] PROGMEM = "SD card [normal]";
|
||||
const char MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_CZ[] PROGMEM = "SD card [normal]";
|
||||
const char MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_IT[] PROGMEM = "SD card [normal]";
|
||||
const char MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_ES[] PROGMEM = "SD card [normal]";
|
||||
const char MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_PL[] PROGMEM = "karta SD [normal]";
|
||||
const char MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_DE[] PROGMEM = "SD Karte [normal]";
|
||||
const char * const MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_EN,
|
||||
MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_EN,
|
||||
MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_EN,
|
||||
MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_EN,
|
||||
MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_CZ,
|
||||
MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_IT,
|
||||
MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_ES,
|
||||
MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_PL,
|
||||
MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_DE
|
||||
};
|
||||
|
||||
const char MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_EN[] PROGMEM = "SD card [FlshAir]";
|
||||
const char MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_EN[] PROGMEM = "SD card [flshAir]";
|
||||
const char MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_CZ[] PROGMEM = "SD card [FlshAir]";
|
||||
const char MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_IT[] PROGMEM = "SD card [FlshAir]";
|
||||
const char MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_ES[] PROGMEM = "SD card [FlshAir]";
|
||||
const char MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_PL[] PROGMEM = "karta SD[FlshAir]";
|
||||
const char MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_DE[] PROGMEM = "SD Karte [FlashAir]";
|
||||
const char * const MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_EN,
|
||||
MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_EN,
|
||||
MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_EN,
|
||||
MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_EN,
|
||||
MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_CZ,
|
||||
MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_IT,
|
||||
MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_ES,
|
||||
MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_PL,
|
||||
MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_DE
|
||||
};
|
||||
|
|
|
|||
|
|
@ -570,6 +570,14 @@ extern const char* const MSG_SORT_NONE_LANG_TABLE[LANG_NUM];
|
|||
#define MSG_SORT_NONE LANG_TABLE_SELECT(MSG_SORT_NONE_LANG_TABLE)
|
||||
extern const char* const MSG_SORT_TIME_LANG_TABLE[LANG_NUM];
|
||||
#define MSG_SORT_TIME LANG_TABLE_SELECT(MSG_SORT_TIME_LANG_TABLE)
|
||||
extern const char* const MSG_SOUND_MODE_LOUD_LANG_TABLE[1];
|
||||
#define MSG_SOUND_MODE_LOUD LANG_TABLE_SELECT_EXPLICIT(MSG_SOUND_MODE_LOUD_LANG_TABLE, 0)
|
||||
extern const char* const MSG_SOUND_MODE_MUTE_LANG_TABLE[1];
|
||||
#define MSG_SOUND_MODE_MUTE LANG_TABLE_SELECT_EXPLICIT(MSG_SOUND_MODE_MUTE_LANG_TABLE, 0)
|
||||
extern const char* const MSG_SOUND_MODE_ONCE_LANG_TABLE[1];
|
||||
#define MSG_SOUND_MODE_ONCE LANG_TABLE_SELECT_EXPLICIT(MSG_SOUND_MODE_ONCE_LANG_TABLE, 0)
|
||||
extern const char* const MSG_SOUND_MODE_SILENT_LANG_TABLE[1];
|
||||
#define MSG_SOUND_MODE_SILENT LANG_TABLE_SELECT_EXPLICIT(MSG_SOUND_MODE_SILENT_LANG_TABLE, 0)
|
||||
extern const char* const MSG_SPEED_LANG_TABLE[LANG_NUM];
|
||||
#define MSG_SPEED LANG_TABLE_SELECT(MSG_SPEED_LANG_TABLE)
|
||||
extern const char* const MSG_STACK_ERROR_LANG_TABLE[1];
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
/**
|
||||
/**
|
||||
* English
|
||||
*
|
||||
|
|
@ -274,8 +275,8 @@
|
|||
|
||||
#define MSG_MESH_BED_LEVELING "Mesh Bed Leveling"
|
||||
#define MSG_MENU_CALIBRATION "Calibration"
|
||||
#define(length=19, lines=1) MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF "SD card [normal]"
|
||||
#define(length=19, lines=1) MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON "SD card [FlshAir]"
|
||||
#define(length=17, lines=1) MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF "SD card [normal]"
|
||||
#define(length=17, lines=1) MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON "SD card [flshAir]"
|
||||
#define(length=20, lines=1) MSG_PRINTER_DISCONNECTED "Printer disconnected"
|
||||
#define(length=20, lines=1) MSG_FINISHING_MOVEMENTS "Finishing movements"
|
||||
#define(length=20, lines=1) MSG_PRINT_PAUSED "Print paused"
|
||||
|
|
@ -313,10 +314,14 @@
|
|||
#define(length=15, lines=1) MSG_SLIGHT_SKEW "Slight skew:"
|
||||
#define(length=15, lines=1) MSG_SEVERE_SKEW "Severe skew:"
|
||||
#define(length=20, lines=4) MSG_DEFAULT_SETTINGS_LOADED "Default settings loaded"
|
||||
#define(length=17, lines=1) MSG_SORT_TIME "Sort: [Time]"
|
||||
#define(length=17, lines=1) MSG_SORT_ALPHA "Sort: [Alphabet]"
|
||||
#define(length=17, lines=1) MSG_SORT_NONE "Sort: [None]"
|
||||
#define(length=17, lines=1) MSG_SORT_TIME "Sort [time]"
|
||||
#define(length=17, lines=1) MSG_SORT_ALPHA "Sort [alphabet]"
|
||||
#define(length=17, lines=1) MSG_SORT_NONE "Sort [none]"
|
||||
#define(length=20, lines=1) MSG_SORTING "Sorting files"
|
||||
#define(length=17, lines=1) MSG_SOUND_MODE_LOUD "Sound [loud]"
|
||||
#define(length=17, lines=1) MSG_SOUND_MODE_ONCE "Sound [once]"
|
||||
#define(length=17, lines=1) MSG_SOUND_MODE_SILENT "Sound [silent]"
|
||||
#define(length=17, lines=1) MSG_SOUND_MODE_MUTE "Sound [mute]"
|
||||
#define(length=20, lines=2) MSG_FILE_INCOMPLETE "File incomplete. Continue anyway?"
|
||||
#define(length=17, lines=1) MSG_WIZARD "Wizard"
|
||||
#define(length=20, lines=7) MSG_WIZARD_WELCOME "Hi, I am your Original Prusa i3 printer. Would you like me to guide you through the setup process?"
|
||||
|
|
|
|||
|
|
@ -0,0 +1,105 @@
|
|||
#include "sound.h"
|
||||
|
||||
#include "Marlin.h"
|
||||
|
||||
//#include <inttypes.h>
|
||||
//#include <avr/eeprom.h>
|
||||
//#include "eeprom.h"
|
||||
|
||||
|
||||
//eSOUND_MODE eSoundMode=e_SOUND_MODE_LOUD;
|
||||
// nema vyznam, pokud se bude volat Sound_Init (tzn. poc. hodnota je v EEPROM)
|
||||
// !?! eSOUND_MODE eSoundMode; v ultraldc.cpp :: cd_settings_menu() se takto jevi jako lokalni promenna
|
||||
eSOUND_MODE eSoundMode; //=e_SOUND_MODE_DEFAULT;
|
||||
|
||||
|
||||
static void Sound_SaveMode(void);
|
||||
static void Sound_DoSound_Echo(void);
|
||||
static void Sound_DoSound_Prompt(void);
|
||||
|
||||
|
||||
void Sound_Init(void)
|
||||
{
|
||||
eSoundMode=(eSOUND_MODE)eeprom_read_byte((uint8_t*)EEPROM_SOUND_MODE);
|
||||
if(eSoundMode==e_SOUND_MODE_NULL)
|
||||
Sound_Default(); // je potreba provest i ulozeni do EEPROM
|
||||
}
|
||||
|
||||
void Sound_Default(void)
|
||||
{
|
||||
eSoundMode=e_SOUND_MODE_DEFAULT;
|
||||
Sound_SaveMode();
|
||||
}
|
||||
|
||||
void Sound_SaveMode(void)
|
||||
{
|
||||
eeprom_update_byte((uint8_t*)EEPROM_SOUND_MODE,(uint8_t)eSoundMode);
|
||||
}
|
||||
|
||||
void Sound_CycleState(void)
|
||||
{
|
||||
switch(eSoundMode)
|
||||
{
|
||||
case e_SOUND_MODE_LOUD:
|
||||
eSoundMode=e_SOUND_MODE_ONCE;
|
||||
break;
|
||||
case e_SOUND_MODE_ONCE:
|
||||
eSoundMode=e_SOUND_MODE_SILENT;
|
||||
break;
|
||||
case e_SOUND_MODE_SILENT:
|
||||
eSoundMode=e_SOUND_MODE_MUTE;
|
||||
break;
|
||||
case e_SOUND_MODE_MUTE:
|
||||
eSoundMode=e_SOUND_MODE_LOUD;
|
||||
break;
|
||||
default:
|
||||
eSoundMode=e_SOUND_MODE_LOUD;
|
||||
}
|
||||
Sound_SaveMode();
|
||||
}
|
||||
|
||||
void Sound_MakeSound(eSOUND_CLASS eSoundClass,eSOUND_TYPE eSoundType)
|
||||
{
|
||||
switch(eSoundMode)
|
||||
{
|
||||
case e_SOUND_MODE_LOUD:
|
||||
if(eSoundType==e_SOUND_TYPE_ButtonEcho)
|
||||
Sound_DoSound_Echo();
|
||||
if(eSoundType==e_SOUND_TYPE_StandardPrompt)
|
||||
Sound_DoSound_Prompt();
|
||||
break;
|
||||
case e_SOUND_MODE_ONCE:
|
||||
if(eSoundType==e_SOUND_TYPE_ButtonEcho)
|
||||
Sound_DoSound_Echo();
|
||||
if(eSoundType==e_SOUND_TYPE_StandardPrompt)
|
||||
Sound_DoSound_Prompt();
|
||||
break;
|
||||
case e_SOUND_MODE_SILENT:
|
||||
break;
|
||||
case e_SOUND_MODE_MUTE:
|
||||
break;
|
||||
default:
|
||||
;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static void Sound_DoSound_Echo(void)
|
||||
{
|
||||
uint8_t nI;
|
||||
|
||||
for(nI=0;nI<10;nI++)
|
||||
{
|
||||
WRITE(BEEPER,HIGH);
|
||||
delayMicroseconds(100);
|
||||
WRITE(BEEPER,LOW);
|
||||
delayMicroseconds(100);
|
||||
}
|
||||
}
|
||||
|
||||
static void Sound_DoSound_Prompt(void)
|
||||
{
|
||||
WRITE(BEEPER,HIGH);
|
||||
delay_keep_alive(500);
|
||||
WRITE(BEEPER,LOW);
|
||||
}
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
#ifndef SOUND_H
|
||||
#define SOUND_H
|
||||
|
||||
|
||||
#define e_SOUND_MODE_NULL 0xFF
|
||||
typedef enum
|
||||
{e_SOUND_MODE_LOUD,e_SOUND_MODE_ONCE,e_SOUND_MODE_SILENT,e_SOUND_MODE_MUTE} eSOUND_MODE;
|
||||
#define e_SOUND_MODE_DEFAULT e_SOUND_MODE_LOUD
|
||||
|
||||
typedef enum
|
||||
{e_SOUND_TYPE_ButtonEcho,e_SOUND_TYPE_EncoderEcho,e_SOUND_TYPE_StandardPrompt,e_SOUND_TYPE_StandardConfirm,e_SOUND_TYPE_StandardWarning,e_SOUND_TYPE_StandardAlert} eSOUND_TYPE;
|
||||
typedef enum
|
||||
{e_SOUND_CLASS_Echo,e_SOUND_CLASS_Prompt,e_SOUND_CLASS_Confirm,e_SOUND_CLASS_Warning,e_SOUND_CLASS_Alert} eSOUND_CLASS;
|
||||
|
||||
|
||||
extern eSOUND_MODE eSoundMode;
|
||||
|
||||
|
||||
extern void Sound_Init(void);
|
||||
extern void Sound_Default(void);
|
||||
extern void Sound_Save(void);
|
||||
extern void Sound_CycleState(void);
|
||||
extern void Sound_MakeSound(eSOUND_CLASS eSoundClass,eSOUND_TYPE eSoundType);
|
||||
|
||||
//static void Sound_DoSound_Echo(void);
|
||||
//static void Sound_DoSound_Prompt(void);
|
||||
|
||||
#endif // SOUND_H
|
||||
|
|
@ -31,6 +31,7 @@
|
|||
|
||||
#include "Marlin.h"
|
||||
#include "ultralcd.h"
|
||||
#include "sound.h"
|
||||
#include "temperature.h"
|
||||
#include "watchdog.h"
|
||||
#include "cardreader.h"
|
||||
|
|
@ -1253,6 +1254,7 @@ void temp_runaway_stop(bool isPreheat, bool isBed)
|
|||
disable_e2();
|
||||
manage_heater();
|
||||
lcd_update();
|
||||
if((eSoundMode==e_SOUND_MODE_LOUD)||(eSoundMode==e_SOUND_MODE_ONCE)||(eSoundMode==e_SOUND_MODE_SILENT))
|
||||
WRITE(BEEPER, HIGH);
|
||||
delayMicroseconds(500);
|
||||
WRITE(BEEPER, LOW);
|
||||
|
|
@ -1338,6 +1340,7 @@ void max_temp_error(uint8_t e) {
|
|||
SET_OUTPUT(BEEPER);
|
||||
WRITE(FAN_PIN, 1);
|
||||
WRITE(EXTRUDER_0_AUTO_FAN_PIN, 1);
|
||||
if((eSoundMode==e_SOUND_MODE_LOUD)||(eSoundMode==e_SOUND_MODE_ONCE)||(eSoundMode==e_SOUND_MODE_SILENT))
|
||||
WRITE(BEEPER, 1);
|
||||
// fanSpeed will consumed by the check_axes_activity() routine.
|
||||
fanSpeed=255;
|
||||
|
|
|
|||
|
|
@ -15,6 +15,8 @@
|
|||
|
||||
#include "SdFatUtil.h"
|
||||
|
||||
#include "sound.h"
|
||||
|
||||
#define _STRINGIFY(s) #s
|
||||
|
||||
|
||||
|
|
@ -3056,6 +3058,11 @@ static void lcd_sort_type_set() {
|
|||
}
|
||||
#endif //SDCARD_SORT_ALPHA
|
||||
|
||||
static void lcd_sound_state_set(void)
|
||||
{
|
||||
Sound_CycleState();
|
||||
}
|
||||
|
||||
static void lcd_silent_mode_set() {
|
||||
switch (SilentModeMenu) {
|
||||
case 0: SilentModeMenu = 1; break;
|
||||
|
|
@ -3514,6 +3521,24 @@ static void lcd_settings_menu()
|
|||
}
|
||||
}
|
||||
#endif // SDCARD_SORT_ALPHA
|
||||
|
||||
switch(eSoundMode)
|
||||
{
|
||||
case e_SOUND_MODE_LOUD:
|
||||
MENU_ITEM(function,MSG_SOUND_MODE_LOUD,lcd_sound_state_set);
|
||||
break;
|
||||
case e_SOUND_MODE_ONCE:
|
||||
MENU_ITEM(function,MSG_SOUND_MODE_ONCE,lcd_sound_state_set);
|
||||
break;
|
||||
case e_SOUND_MODE_SILENT:
|
||||
MENU_ITEM(function,MSG_SOUND_MODE_SILENT,lcd_sound_state_set);
|
||||
break;
|
||||
case e_SOUND_MODE_MUTE:
|
||||
MENU_ITEM(function,MSG_SOUND_MODE_MUTE,lcd_sound_state_set);
|
||||
break;
|
||||
default:
|
||||
MENU_ITEM(function,MSG_SOUND_MODE_LOUD,lcd_sound_state_set);
|
||||
}
|
||||
|
||||
if (farm_mode)
|
||||
{
|
||||
|
|
@ -4754,6 +4779,7 @@ static void lcd_main_menu()
|
|||
|
||||
void stack_error() {
|
||||
SET_OUTPUT(BEEPER);
|
||||
if((eSoundMode==e_SOUND_MODE_LOUD)||(eSoundMode==e_SOUND_MODE_ONCE)||(eSoundMode==e_SOUND_MODE_SILENT))
|
||||
WRITE(BEEPER, HIGH);
|
||||
delay(1000);
|
||||
WRITE(BEEPER, LOW);
|
||||
|
|
@ -4812,6 +4838,25 @@ static void lcd_tune_menu()
|
|||
default: MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set_tune); break;
|
||||
}
|
||||
}
|
||||
|
||||
switch(eSoundMode)
|
||||
{
|
||||
case e_SOUND_MODE_LOUD:
|
||||
MENU_ITEM(function,MSG_SOUND_MODE_LOUD,lcd_sound_state_set);
|
||||
break;
|
||||
case e_SOUND_MODE_ONCE:
|
||||
MENU_ITEM(function,MSG_SOUND_MODE_ONCE,lcd_sound_state_set);
|
||||
break;
|
||||
case e_SOUND_MODE_SILENT:
|
||||
MENU_ITEM(function,MSG_SOUND_MODE_SILENT,lcd_sound_state_set);
|
||||
break;
|
||||
case e_SOUND_MODE_MUTE:
|
||||
MENU_ITEM(function,MSG_SOUND_MODE_MUTE,lcd_sound_state_set);
|
||||
break;
|
||||
default:
|
||||
MENU_ITEM(function,MSG_SOUND_MODE_LOUD,lcd_sound_state_set);
|
||||
}
|
||||
|
||||
END_MENU();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,6 +7,8 @@ char longFilenameOLD[LONG_FILENAME_LENGTH];
|
|||
|
||||
#include "Configuration_prusa.h"
|
||||
#include "Marlin.h"
|
||||
|
||||
#include "sound.h"
|
||||
/**
|
||||
* Implementation of the LCD display routines for a Hitachi HD44780 display. These are common LCD character displays.
|
||||
* When selecting the Russian language, a slightly different LCD implementation is used to handle UTF8 characters.
|
||||
|
|
@ -1344,6 +1346,8 @@ static void lcd_implementation_quick_feedback()
|
|||
#endif
|
||||
#elif defined(BEEPER) && BEEPER > -1
|
||||
SET_OUTPUT(BEEPER);
|
||||
Sound_MakeSound(e_SOUND_CLASS_Echo,e_SOUND_TYPE_ButtonEcho);
|
||||
/*
|
||||
#if !defined(LCD_FEEDBACK_FREQUENCY_HZ) || !defined(LCD_FEEDBACK_FREQUENCY_DURATION_MS)
|
||||
for(int8_t i=0;i<10;i++)
|
||||
{
|
||||
|
|
@ -1361,6 +1365,7 @@ static void lcd_implementation_quick_feedback()
|
|||
delayMicroseconds(1000000 / LCD_FEEDBACK_FREQUENCY_HZ / 2);
|
||||
}
|
||||
#endif
|
||||
*/
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#include "Configuration.h"
|
||||
|
||||
#include "ultralcd.h"
|
||||
#include "sound.h"
|
||||
#include "language.h"
|
||||
#include "util.h"
|
||||
|
||||
|
|
@ -256,10 +257,12 @@ bool show_upgrade_dialog_if_version_newer(const char *version_string)
|
|||
for (const char *c = version_string; ! is_whitespace_or_nl_or_eol(*c); ++ c)
|
||||
lcd_implementation_write(*c);
|
||||
lcd_print_at_PGM(0, 3, MSG_NEW_FIRMWARE_PLEASE_UPGRADE);
|
||||
if((eSoundMode==e_SOUND_MODE_LOUD)||(eSoundMode==e_SOUND_MODE_ONCE))
|
||||
tone(BEEPER, 1000);
|
||||
delay_keep_alive(50);
|
||||
noTone(BEEPER);
|
||||
delay_keep_alive(500);
|
||||
if((eSoundMode==e_SOUND_MODE_LOUD)||(eSoundMode==e_SOUND_MODE_ONCE))
|
||||
tone(BEEPER, 1000);
|
||||
delay_keep_alive(50);
|
||||
noTone(BEEPER);
|
||||
|
|
|
|||
Loading…
Reference in New Issue