|
Prusa-MMU-Private
PrusaMultiMaterialUpgradev3firmwareforMK3SMK4
|
The permanent_storage namespace provides all necessary facilities related to permanently storing data (into EEPROM) on the MMU unit. More...
Classes | |
| struct | eeprom_t |
| EEPROM data layout. More... | |
| class | BowdenLength |
| Read and store bowden length. More... | |
| class | FilamentLoaded |
| Read and store last filament loaded to nozzle. More... | |
| class | DriveError |
| Read and increment drive errors. More... | |
| class | AxisTMCSetup |
| Axis TMC persistent setup. More... | |
Functions | |
| struct modules::permanent_storage::eeprom_t | __attribute__ ((packed)) |
| void | Init () |
| Initialization of the permanent storage hive. | |
| void | EraseAll () |
| Erase the whole EEPROM. | |
| static constexpr bool | validBowdenLen (const uint16_t BowdenLength) |
| Is bowden length in valid range? More... | |
Variables | |
| static const uint8_t | layoutVersion = 0xff |
| EEPROM layout version. | |
| static eeprom_t *const | eepromBase = reinterpret_cast<eeprom_t *>(0) |
| First EEPROM address. | |
| constexpr const uint16_t | eepromEmpty = 0xffffU |
| EEPROM content when erased. | |
| constexpr const uint16_t | eepromBowdenLenDefault = config::defaultBowdenLength.v |
| Default bowden length (~360 mm) | |
| constexpr const uint16_t | eepromBowdenLenMinimum = config::minimumBowdenLength.v |
| Minimum bowden length (~341 mm) | |
| constexpr const uint16_t | eepromBowdenLenMaximum = config::maximumBowdenLength.v |
| Maximum bowden length (~1000 mm) | |
The permanent_storage namespace provides all necessary facilities related to permanently storing data (into EEPROM) on the MMU unit.
It uses some clever logic/wear levelling/data structure on top of the raw EEPROM API. The code was originally written by Marek Bel for the previous MMU firmware.
|
staticconstexpr |
Is bowden length in valid range?
| BowdenLength | bowden length |
| true | valid |
| false | invalid |