parent
af60cd7d79
commit
dcc48c0052
|
|
@ -3090,16 +3090,18 @@ static void gcode_G80()
|
|||
#endif // SUPPORT_VERBOSITY
|
||||
|
||||
for (uint8_t i = 0; i < 4; ++i) {
|
||||
unsigned char codes[4] = { 'L', 'R', 'F', 'B' };
|
||||
static const char codes[4] PROGMEM = { 'L', 'R', 'F', 'B' };
|
||||
static uint8_t *const eep_addresses[4] PROGMEM = {
|
||||
(uint8_t*)EEPROM_BED_CORRECTION_LEFT,
|
||||
(uint8_t*)EEPROM_BED_CORRECTION_RIGHT,
|
||||
(uint8_t*)EEPROM_BED_CORRECTION_FRONT,
|
||||
(uint8_t*)EEPROM_BED_CORRECTION_REAR,
|
||||
};
|
||||
long correction = 0;
|
||||
if (code_seen(codes[i]))
|
||||
if (code_seen(pgm_read_byte(&codes[i])))
|
||||
correction = code_value_long();
|
||||
else if (eeprom_bed_correction_valid) {
|
||||
unsigned char *addr = (i < 2) ?
|
||||
((i == 0) ? (unsigned char*)EEPROM_BED_CORRECTION_LEFT : (unsigned char*)EEPROM_BED_CORRECTION_RIGHT) :
|
||||
((i == 2) ? (unsigned char*)EEPROM_BED_CORRECTION_FRONT : (unsigned char*)EEPROM_BED_CORRECTION_REAR);
|
||||
correction = eeprom_read_int8(addr);
|
||||
}
|
||||
else if (eeprom_bed_correction_valid)
|
||||
correction = (int8_t)eeprom_read_byte((uint8_t*)pgm_read_ptr(&eep_addresses[i]));
|
||||
if (correction == 0)
|
||||
continue;
|
||||
|
||||
|
|
|
|||
|
|
@ -2698,27 +2698,23 @@ void lcd_adjust_bed(void)
|
|||
if (_md->status == 0)
|
||||
{
|
||||
// Menu was entered.
|
||||
_md->left = 0;
|
||||
_md->right = 0;
|
||||
_md->front = 0;
|
||||
_md->rear = 0;
|
||||
if (eeprom_read_byte((unsigned char*)EEPROM_BED_CORRECTION_VALID) == 1)
|
||||
{
|
||||
_md->left = eeprom_read_int8((unsigned char*)EEPROM_BED_CORRECTION_LEFT);
|
||||
_md->right = eeprom_read_int8((unsigned char*)EEPROM_BED_CORRECTION_RIGHT);
|
||||
_md->front = eeprom_read_int8((unsigned char*)EEPROM_BED_CORRECTION_FRONT);
|
||||
_md->rear = eeprom_read_int8((unsigned char*)EEPROM_BED_CORRECTION_REAR);
|
||||
_md->left = (int8_t)eeprom_read_byte((uint8_t*)EEPROM_BED_CORRECTION_LEFT);
|
||||
_md->right = (int8_t)eeprom_read_byte((uint8_t*)EEPROM_BED_CORRECTION_RIGHT);
|
||||
_md->front = (int8_t)eeprom_read_byte((uint8_t*)EEPROM_BED_CORRECTION_FRONT);
|
||||
_md->rear = (int8_t)eeprom_read_byte((uint8_t*)EEPROM_BED_CORRECTION_REAR);
|
||||
}
|
||||
_md->status = 1;
|
||||
}
|
||||
MENU_BEGIN();
|
||||
// leaving menu - this condition must be immediately before MENU_ITEM_BACK_P
|
||||
ON_MENU_LEAVE(
|
||||
eeprom_update_int8((unsigned char*)EEPROM_BED_CORRECTION_LEFT, _md->left);
|
||||
eeprom_update_int8((unsigned char*)EEPROM_BED_CORRECTION_RIGHT, _md->right);
|
||||
eeprom_update_int8((unsigned char*)EEPROM_BED_CORRECTION_FRONT, _md->front);
|
||||
eeprom_update_int8((unsigned char*)EEPROM_BED_CORRECTION_REAR, _md->rear);
|
||||
eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_VALID, 1);
|
||||
eeprom_update_byte((uint8_t*)EEPROM_BED_CORRECTION_LEFT, (uint8_t)_md->left);
|
||||
eeprom_update_byte((uint8_t*)EEPROM_BED_CORRECTION_FRONT, (uint8_t)_md->front);
|
||||
eeprom_update_byte((uint8_t*)EEPROM_BED_CORRECTION_REAR, (uint8_t)_md->rear);
|
||||
eeprom_update_byte((uint8_t*)EEPROM_BED_CORRECTION_RIGHT, (uint8_t)_md->right);
|
||||
eeprom_update_byte((uint8_t*)EEPROM_BED_CORRECTION_VALID, 1);
|
||||
);
|
||||
MENU_ITEM_BACK_P(_T(MSG_BACK));
|
||||
MENU_ITEM_EDIT_int3_P(_i("Left side [\xe4m]"), &_md->left, -BED_ADJUSTMENT_UM_MAX, BED_ADJUSTMENT_UM_MAX);////MSG_BED_CORRECTION_LEFT c=14
|
||||
|
|
|
|||
|
|
@ -23,17 +23,6 @@ extern bool force_selftest_if_fw_version();
|
|||
extern void update_current_firmware_version_to_eeprom();
|
||||
|
||||
|
||||
|
||||
inline int8_t eeprom_read_int8(unsigned char* addr) {
|
||||
uint8_t v = eeprom_read_byte(addr);
|
||||
return *reinterpret_cast<int8_t*>(&v);
|
||||
}
|
||||
|
||||
inline void eeprom_update_int8(unsigned char* addr, int8_t v) {
|
||||
eeprom_update_byte(addr, *reinterpret_cast<uint8_t*>(&v));
|
||||
}
|
||||
|
||||
|
||||
//-//
|
||||
#define EEPROM_NOZZLE_DIAMETER_uM_DEFAULT 400
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue