| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 | #ifndef CONFIG_STORE_H#define CONFIG_STORE_H#define EEPROM_SETTINGS#include "Configuration.h"#include <stdint.h>#include <avr/eeprom.h>typedef struct{    char version[4];    float axis_steps_per_unit[4];    float max_feedrate_normal[4];    unsigned long max_acceleration_units_per_sq_second_normal[4];    float acceleration; //!< Normal acceleration mm/s^2  THIS IS THE DEFAULT ACCELERATION for all moves. M204 SXXXX    float retract_acceleration; //!< mm/s^2 filament pull-pack and push-forward while standing still in the other axis M204 TXXXX    float minimumfeedrate;    float mintravelfeedrate;    unsigned long minsegmenttime;    float max_jerk[4]; //!< Jerk is a maximum immediate velocity change.    float add_homing[3];    float zprobe_zoffset;    float Kp;    float Ki;    float Kd;    float bedKp;    float bedKi;    float bedKd;    int lcd_contrast; //!< unused    bool autoretract_enabled;    float retract_length;    float retract_feedrate;    float retract_zlift;    float retract_recover_length;    float retract_recover_feedrate;    bool volumetric_enabled;    float filament_size[1]; //!< cross-sectional area of filament (in millimeters), typically around 1.75 or 2.85, 0 disables the volumetric calculations for the extruder.    float max_feedrate_silent[4]; //!< max speeds for silent mode    unsigned long max_acceleration_units_per_sq_second_silent[4];    unsigned char axis_ustep_resolution[4];} M500_conf;extern M500_conf cs;void Config_ResetDefault();#ifndef DISABLE_M503void Config_PrintSettings(uint8_t level = 0);#elseFORCE_INLINE void Config_PrintSettings() {}#endif#ifdef EEPROM_SETTINGSvoid Config_StoreSettings();bool Config_RetrieveSettings();#elseFORCE_INLINE void Config_StoreSettings() {}FORCE_INLINE void Config_RetrieveSettings() { Config_ResetDefault(); Config_PrintSettings(); }#endifinline 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 bool calibration_status_pinda() { return eeprom_read_byte((uint8_t*)EEPROM_CALIBRATION_STATUS_PINDA); }#endif//CONFIG_STORE_H
 |