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 |