From 4151e19781137867de9a24580bc3c077a8c6cb5b Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Tue, 25 Sep 2018 16:27:20 +0200 Subject: [PATCH] Remove attribute packed. It is not needed on 8-bit platform. Change of platform would be detected by static_assert (sizeof(M500_conf) == 188). --- Firmware/ConfigurationStore.cpp | 4 +++- Firmware/ConfigurationStore.h | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Firmware/ConfigurationStore.cpp b/Firmware/ConfigurationStore.cpp index 858f3a65..0016b7da 100644 --- a/Firmware/ConfigurationStore.cpp +++ b/Firmware/ConfigurationStore.cpp @@ -181,7 +181,9 @@ static_assert (false, "zprobe_zoffset was not initialized in printers in field t #endif static_assert (sizeof(M500_conf) == 188, "sizeof(M500_conf) has changed, ensure that EEPROM_VERSION has been incremented, " - "or if you added members in the end of struct, ensure that historically uninitialized values will be initialized"); + "or if you added members in the end of struct, ensure that historically uninitialized values will be initialized." + "If this is caused by change to more then 8bit processor, decide whether make this struct packed to save EEPROM," + "leave as it is to keep fast code, or reorder struct members to pack more tightly."); static const M500_conf default_conf PROGMEM = { diff --git a/Firmware/ConfigurationStore.h b/Firmware/ConfigurationStore.h index 761ec95a..4f01c3f5 100644 --- a/Firmware/ConfigurationStore.h +++ b/Firmware/ConfigurationStore.h @@ -35,7 +35,7 @@ typedef struct 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]; -} __attribute__ ((packed)) M500_conf; +} M500_conf; extern M500_conf cs;