-
-
Notifications
You must be signed in to change notification settings - Fork 19.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
STM32F1 Flash-based EEPROM fixes #16118
STM32F1 Flash-based EEPROM fixes #16118
Conversation
…ter arithmetic instead of indexing.
Update flash caching mechanisms
It’s also worth pointing out that this eliminates the behavior that stores a single uint8_t into a uint16_t in flash. This doubles the storage available to users and makes the reported capacity correct. |
Excellent. I'll give this a once-over and get it merged forthwith. Release 2.0.1 is planned for this weekend, so thanks for the patch! |
G'day, I'm really new to Marlin. |
The changes have been merged into the bugfix-2.0.x branch. It'll be in a main release branch at some point. If you don't want to wait, you can either compile and install the bugfix-2.0.x branch, or copy/paste/replace file by hand the file this PR changes. |
* [cron] Bump distribution date * STM32F1 Flash-based EEPROM fixes (MarlinFirmware#16118) * Disable PRINTCOUNTER in SKR Mini E3 examples (MarlinFirmware#16110) * Fix compile error with disabled PIDTEMP (MarlinFirmware#16108) * Wanhao D6 uses TINYBOY2 (MarlinFirmware#16117) * Improve touch buttons behavior (MarlinFirmware#16109) * Update AZSMZ LCD link (MarlinFirmware#16106) * [cron] Bump distribution date * Update 3DFabXYZ settings (MarlinFirmware#16139) * [cron] Bump distribution date * Fix controller and SD on Robin Nano (MarlinFirmware#16187) * Correct MKS Robin Mini pins (MarlinFirmware#16178) * Formalize DAC percent strings (MarlinFirmware#16176) * Update Italian language (MarlinFirmware#16147) * Update french (objects, retract...) * Superscript 3 for mm3 * [cron] Bump distribution date * Add MKS Robin Pro, MKS Robin Lite3 (MarlinFirmware#16163) * Fix multiple servos with STM32 (MarlinFirmware#16151) * Use error message !! hints (MarlinFirmware#16145) * Update BTT comments for USB/SD Composite (MarlinFirmware#16130) * MKS 12864 OLED pins for SGEN-L (MarlinFirmware#16188) * Invert E dir of Geeetech A10 (MarlinFirmware#16149) * Disable SD_CHECK_AND_RETRY in BTT E3 configs (MarlinFirmware#16143) * Add a CI test for RAMBo + CNC (MarlinFirmware#16126) * Onboard (always-on) pullups support (MarlinFirmware#16144) * Tweak ExtUI Probeless Babystepping (MarlinFirmware#16177) * Fix RAMBo CNC test * Flsun QQ-S example config (MarlinFirmware#16204) * Add MKS Robin Mini EEPROM defines (MarlinFirmware#16203) * Fix compile error (macro substitution typo) (MarlinFirmware#16194) * Update M503 MBL G29 report (MarlinFirmware#16199) * Include Z in SCARA steps feedrate (MarlinFirmware#16193) * Cardreader read/write open methods * Tweak some config names * Improve A20M config * Move status screen defines * Fix bad #ifdef (MarlinFirmware#16227) * TOUCH_MI_DEPLOY_XPOS fallback to X_MIN_POS (MarlinFirmware#16226) * Fix MKS SGen-L SD detect pin (MarlinFirmware#16224) * Improve ESP32 HAL (EEPROM, watchdog) (MarlinFirmware#16228) * Fix G28 debug line, M569 calls (MarlinFirmware#16213) * Add SKR Mini E3 + Zonestar LCD warning (MarlinFirmware#16214) * STM32 Touch UI timings, Longer onboard pullups (MarlinFirmware#16219) * Update BTT002 platform (fixing SD init) (MarlinFirmware#16217) * Define more FAN pins for GT2560 (MarlinFirmware#16235) * Tweak E180 config * Update product links * [cron] Bump distribution date * Add dev-2.1.x to 'mfinfo' script * Move AutoBuildMarlin to its own repo * [cron] Bump distribution date * Tweak G34, fix a declaration * Sanity-check Z_STEPPER_AUTO_ALIGN coordinates (MarlinFirmware#16231) * Improve SKR mini E3 + Ender 3 settings (MarlinFirmware#16247) * Tweak code formatting * Allow TMC2209 to save/restore spreadCycle (MarlinFirmware#16153) Co-Authored-By: teemuatlut <[email protected]> * Spindle/Laser pins for RADDS (MarlinFirmware#16119) * Improve pulse timing and step reliability (MarlinFirmware#16128) * BigTreeTech SKR v1.4 support (MarlinFirmware#16236) * Followup to TMC2209 spreadcycle patch * Remove obsolete TMC2209 comment * HOME_USING_SPREADCYCLE is obsolete Co-Authored-By: teemuatlut <[email protected]> * Use MYSERIAL0 (not SerialUSB) for Malyan LCD * Followup for step timing (MarlinFirmware#16128) * Fix broken M100_dump_routine * Tweak sanity checks * Update test scripts to error on unknown (MarlinFirmware#16229) * Kossel Clear configuration (MarlinFirmware#16198) * Move pins debug condition * Use Github Actions for CI, date bump (MarlinFirmware#16269) * Fix HAL_STM32 + Arduino IDE SoftwareSerial conflict (MarlinFirmware#16266) * Improve Anet A6 config (MarlinFirmware#16280) * Fix G34 with Z_DUAL_STEPPER_DRIVERS compile (MarlinFirmware#16274) * Fix planner compile error (MarlinFirmware#16272) * Fix axis CS sanity check (MarlinFirmware#16271) * Add Tevo Nereus (w/ Robin Nano) config (MarlinFirmware#16207) * Don't test certain changes * Reset runout.ran_out on resume (MarlinFirmware#16230) * Step timing cleanup and rounding fix (MarlinFirmware#16258) * Add MRR_ESPA/_ESPE (ESP32) boards (MarlinFirmware#16238) * Add Ender-5 Pro config (MarlinFirmware#16221) * Add FLYBOARD (STM32F407ZG) (MarlinFirmware#16257) * Fix STM32 flush of TX (used by UBL) (MarlinFirmware#16197) * Flash leveling (for some STM32) (MarlinFirmware#16174) * Some ESP32 patches (MarlinFirmware#16297) * MKS SGen-L pins EEBF or EFBF scheme (MarlinFirmware#16296) * Release version 2.0.0 * Add Rumba32 support for PIO (MarlinFirmware#16202) * MKS Robin 2 (STM32F407ZE) base support (MarlinFirmware#16270) * Update Czech language (MarlinFirmware#16305) * Sync SKR E3 configs (MarlinFirmware#16301) * Add NOZZLE_AS_PROBE (no probe offsets) (MarlinFirmware#15929) * Version 2.0.1 * Update build status url Co-authored-by: Scott Lahteine <[email protected]> Co-authored-by: randellhodges <[email protected]> Co-authored-by: Jason Smith <[email protected]> Co-authored-by: Antti Andreimann <[email protected]> Co-authored-by: thisiskeithb <[email protected]> Co-authored-by: Tanguy Pruvot <[email protected]> Co-authored-by: Luu Lac <[email protected]> Co-authored-by: Alain Martel <[email protected]> Co-authored-by: Anders Sahlman <[email protected]> Co-authored-by: dagorel <[email protected]> Co-authored-by: Giuliano Zaro <[email protected]> Co-authored-by: MS1987 <[email protected]> Co-authored-by: MangaValk <[email protected]> Co-authored-by: André Kjellstrup <[email protected]> Co-authored-by: Tobias Schürg <[email protected]> Co-authored-by: Jeff Eberl <[email protected]> Co-authored-by: ManuelMcLure <[email protected]> Co-authored-by: InsanityAutomation <[email protected]> Co-authored-by: iain MacDonnell <[email protected]> Co-authored-by: Bo Herrmannsen <[email protected]> Co-authored-by: Luc <[email protected]> Co-authored-by: danym21 <[email protected]> Co-authored-by: chzj333 <[email protected]> Co-authored-by: Vertabreaker <[email protected]> Co-authored-by: Moshi Binyamini <[email protected]> Co-authored-by: salami738 <[email protected]> Co-authored-by: elementfoundry <[email protected]> Co-authored-by: teemuatlut <[email protected]> Co-authored-by: Mario Costa <[email protected]> Co-authored-by: BigTreeTech <[email protected]> Co-authored-by: Markus Towara <[email protected]> Co-authored-by: FLYmaker <[email protected]> Co-authored-by: ferengi82 <[email protected]> Co-authored-by: petrzjunior <[email protected]>
Description
The current implementation would erase the flash whenever print count data was written, configuration written, or ubl mesh saved. The last operation would win and the other data not written at the same time would be lost.
Benefits
Things save that should and stay saved.
Related Issues
#15982