|
Prusa-MMU-Private
PrusaMultiMaterialUpgradev3firmwareforMK3SMK4
|
#include "permanent_storage.h"#include "../hal/eeprom.h"#include "globals.h"#include "../config/config.h"#include "axisunit.h"#include <stddef.h>
Classes | |
| struct | modules::permanent_storage::eeprom_t |
| EEPROM data layout. More... | |
Namespaces | |
| modules | |
| The modules namespace contains models of MMU's components. | |
| modules::permanent_storage | |
| The permanent_storage namespace provides all necessary facilities related to permanently storing data (into EEPROM) on the MMU unit. | |
Macros | |
| #define | ARR_SIZE(ARRAY) (sizeof(ARRAY) / sizeof(ARRAY[0])) |
| #define | EEOFFSET(x) reinterpret_cast<ee::EEPROM::addr_t>(&(x)) |
Functions | |
| struct modules::permanent_storage::eeprom_t | modules::permanent_storage::__attribute__ ((packed)) |
| void | modules::permanent_storage::Init () |
| Initialization of the permanent storage hive. | |
| void | modules::permanent_storage::EraseAll () |
| Erase the whole EEPROM. | |
| static constexpr bool | modules::permanent_storage::validBowdenLen (const uint16_t BowdenLength) |
| Is bowden length in valid range? More... | |
Variables | |
| uint8_t | eepromLengthCorrection |
| pre-MMU Legacy bowden length correction - not used | |
| uint16_t | eepromBowdenLen [config::toolCount] |
| MMU Bowden length for each filament - not used. | |
| uint8_t | eepromFilamentStatus [3] |
| Majority vote status of eepromFilament wear leveling. | |
| uint8_t | eepromFilament [800] |
| Top nibble status, bottom nibble last filament loaded. | |
| uint8_t | eepromDriveErrorCountH |
| uint8_t | eepromDriveErrorCountL [2] |
| uint8_t | sg_thrs [3] |
| uint16_t | bowdenLengthMM |
| MMU3 default bowden length in millimeters. | |
| static const uint8_t | modules::permanent_storage::layoutVersion = 0xff |
| EEPROM layout version. | |
| static eeprom_t *const | modules::permanent_storage::eepromBase = reinterpret_cast<eeprom_t *>(0) |
| First EEPROM address. | |
| constexpr const uint16_t | modules::permanent_storage::eepromEmpty = 0xffffU |
| EEPROM content when erased. | |
| constexpr const uint16_t | modules::permanent_storage::eepromBowdenLenDefault = config::defaultBowdenLength.v |
| Default bowden length (~360 mm) | |
| constexpr const uint16_t | modules::permanent_storage::eepromBowdenLenMinimum = config::minimumBowdenLength.v |
| Minimum bowden length (~341 mm) | |
| constexpr const uint16_t | modules::permanent_storage::eepromBowdenLenMaximum = config::maximumBowdenLength.v |
| Maximum bowden length (~1000 mm) | |