From cfd989d7c5e78be13784094d1f3dac9ba1583186 Mon Sep 17 00:00:00 2001 From: Thomas Moore Date: Fri, 12 Jan 2018 19:38:23 -0600 Subject: [PATCH] Fix EEPROM SettingsData for 32-bit architectures --- Marlin/src/module/configuration_store.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Marlin/src/module/configuration_store.cpp b/Marlin/src/module/configuration_store.cpp index 6ae28bc81c..d0a9539e2f 100644 --- a/Marlin/src/module/configuration_store.cpp +++ b/Marlin/src/module/configuration_store.cpp @@ -71,6 +71,8 @@ #include "../feature/fwretract.h" #endif +#pragma pack(push, 1) // No padding between variables + typedef struct PID { float Kp, Ki, Kd; } PID; typedef struct PIDC { float Kp, Ki, Kd, Kc; } PIDC; @@ -170,9 +172,9 @@ typedef struct SettingsDataStruct { // // ULTIPANEL // - int lcd_preheat_hotend_temp[2], // M145 S0 H - lcd_preheat_bed_temp[2], // M145 S0 B - lcd_preheat_fan_speed[2]; // M145 S0 F + int16_t lcd_preheat_hotend_temp[2], // M145 S0 H + lcd_preheat_bed_temp[2], // M145 S0 B + lcd_preheat_fan_speed[2]; // M145 S0 F // // PIDTEMP @@ -247,6 +249,8 @@ typedef struct SettingsDataStruct { } SettingsData; +#pragma pack(pop) + MarlinSettings settings; uint16_t MarlinSettings::datasize() { return sizeof(SettingsData); }