Преглед изворни кода

Use MARLIN_EEPROM_SIZE with E2END as fallback (#18059)

Scott Lahteine пре 4 година
родитељ
комит
461647fcee
No account linked to committer's email address
49 измењених фајлова са 201 додато и 197 уклоњено
  1. 4
    1
      Marlin/src/HAL/AVR/eeprom.cpp
  2. 4
    5
      Marlin/src/HAL/DUE/eeprom_flash.cpp
  3. 4
    1
      Marlin/src/HAL/DUE/eeprom_wired.cpp
  4. 6
    11
      Marlin/src/HAL/ESP32/eeprom.cpp
  5. 9
    6
      Marlin/src/HAL/LINUX/eeprom.cpp
  6. 14
    11
      Marlin/src/HAL/LPC1768/eeprom_flash.cpp
  7. 4
    1
      Marlin/src/HAL/LPC1768/eeprom_sdcard.cpp
  8. 4
    8
      Marlin/src/HAL/LPC1768/eeprom_wired.cpp
  9. 6
    6
      Marlin/src/HAL/SAMD51/eeprom_wired.cpp
  10. 20
    19
      Marlin/src/HAL/STM32/eeprom_flash.cpp
  11. 27
    38
      Marlin/src/HAL/STM32/eeprom_sdcard.cpp
  12. 5
    1
      Marlin/src/HAL/STM32/eeprom_sram.cpp
  13. 6
    6
      Marlin/src/HAL/STM32/eeprom_wired.cpp
  14. 10
    8
      Marlin/src/HAL/STM32F1/eeprom_flash.cpp
  15. 10
    12
      Marlin/src/HAL/STM32F1/eeprom_sdcard.cpp
  16. 6
    2
      Marlin/src/HAL/STM32F1/eeprom_wired.cpp
  17. 6
    2
      Marlin/src/HAL/STM32_F4_F7/eeprom_flash.cpp
  18. 6
    6
      Marlin/src/HAL/STM32_F4_F7/eeprom_wired.cpp
  19. 7
    1
      Marlin/src/HAL/TEENSY31_32/eeprom.cpp
  20. 5
    1
      Marlin/src/HAL/TEENSY35_36/eeprom.cpp
  21. 1
    1
      Marlin/src/module/configuration_store.cpp
  22. 3
    1
      Marlin/src/pins/linux/pins_RAMPS_LINUX.h
  23. 1
    1
      Marlin/src/pins/sam/pins_RADDS.h
  24. 1
    1
      Marlin/src/pins/sam/pins_RAMPS_FD_V2.h
  25. 1
    1
      Marlin/src/pins/sam/pins_RAMPS_SMART.h
  26. 1
    1
      Marlin/src/pins/sam/pins_RURAMPS4D_11.h
  27. 1
    1
      Marlin/src/pins/sam/pins_RURAMPS4D_13.h
  28. 1
    1
      Marlin/src/pins/samd/pins_RAMPS_144.h
  29. 2
    4
      Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h
  30. 1
    2
      Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3.h
  31. 1
    1
      Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_V1_1.h
  32. 1
    2
      Marlin/src/pins/stm32f1/pins_FYSETC_AIO_II.h
  33. 1
    2
      Marlin/src/pins/stm32f1/pins_FYSETC_CHEETAH.h
  34. 1
    1
      Marlin/src/pins/stm32f1/pins_GTM32_MINI.h
  35. 1
    1
      Marlin/src/pins/stm32f1/pins_GTM32_MINI_A30.h
  36. 1
    1
      Marlin/src/pins/stm32f1/pins_GTM32_PRO_VB.h
  37. 1
    1
      Marlin/src/pins/stm32f1/pins_GTM32_REV_B.h
  38. 3
    3
      Marlin/src/pins/stm32f1/pins_JGAURORA_A5S_A1.h
  39. 3
    4
      Marlin/src/pins/stm32f1/pins_LONGER3D_LK.h
  40. 1
    1
      Marlin/src/pins/stm32f1/pins_MKS_ROBIN_MINI.h
  41. 1
    3
      Marlin/src/pins/stm32f4/pins_ARMED.h
  42. 1
    1
      Marlin/src/pins/stm32f4/pins_BLACK_STM32F407VE.h
  43. 1
    2
      Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h
  44. 1
    2
      Marlin/src/pins/stm32f4/pins_FLYF407ZG.h
  45. 1
    2
      Marlin/src/pins/stm32f4/pins_FYSETC_S6.h
  46. 2
    2
      Marlin/src/pins/stm32f4/pins_GENERIC_STM32F4.h
  47. 1
    4
      Marlin/src/pins/stm32f4/pins_RUMBA32_common.h
  48. 1
    2
      Marlin/src/pins/stm32f4/pins_VAKE403D.h
  49. 2
    2
      Marlin/src/pins/stm32f7/pins_THE_BORG.h

+ 4
- 1
Marlin/src/HAL/AVR/eeprom.cpp Прегледај датотеку

@@ -32,7 +32,10 @@
32 32
 
33 33
 #include "../shared/eeprom_api.h"
34 34
 
35
-size_t PersistentStore::capacity()    { return E2END + 1; }
35
+#ifndef MARLIN_EEPROM_SIZE
36
+  #define MARLIN_EEPROM_SIZE size_t(E2END + 1)
37
+#endif
38
+size_t PersistentStore::capacity()    { return MARLIN_EEPROM_SIZE; }
36 39
 bool PersistentStore::access_start()  { return true; }
37 40
 bool PersistentStore::access_finish() { return true; }
38 41
 

+ 4
- 5
Marlin/src/HAL/DUE/eeprom_flash.cpp Прегледај датотеку

@@ -26,10 +26,6 @@
26 26
 
27 27
 #if ENABLED(FLASH_EEPROM_EMULATION)
28 28
 
29
-#ifndef E2END
30
-  #define E2END 0xFFF // Default to Flash emulated EEPROM size (eeprom_emul.cpp)
31
-#endif
32
-
33 29
 /* EEPROM emulation over flash with reduced wear
34 30
  *
35 31
  * We will use 2 contiguous groups of pages as main and alternate.
@@ -973,7 +969,10 @@ static void ee_Init() {
973 969
 
974 970
 #include "../shared/eeprom_api.h"
975 971
 
976
-size_t PersistentStore::capacity()    { return E2END + 1; }
972
+#ifndef MARLIN_EEPROM_SIZE
973
+  #define MARLIN_EEPROM_SIZE 0x1000 // 4KB
974
+#endif
975
+size_t PersistentStore::capacity()    { return MARLIN_EEPROM_SIZE; }
977 976
 bool PersistentStore::access_start()  { ee_Init();  return true; }
978 977
 bool PersistentStore::access_finish() { ee_Flush(); return true; }
979 978
 

+ 4
- 1
Marlin/src/HAL/DUE/eeprom_wired.cpp Прегледај датотеку

@@ -34,7 +34,10 @@
34 34
 #include "../shared/eeprom_if.h"
35 35
 #include "../shared/eeprom_api.h"
36 36
 
37
-size_t PersistentStore::capacity()    { return E2END + 1; }
37
+#ifndef MARLIN_EEPROM_SIZE
38
+  #error "MARLIN_EEPROM_SIZE is required for I2C / SPI EEPROM."
39
+#endif
40
+size_t PersistentStore::capacity()    { return MARLIN_EEPROM_SIZE; }
38 41
 bool PersistentStore::access_start()  { return true; }
39 42
 bool PersistentStore::access_finish() { return true; }
40 43
 

+ 6
- 11
Marlin/src/HAL/ESP32/eeprom.cpp Прегледај датотеку

@@ -28,16 +28,13 @@
28 28
 #include "../shared/eeprom_api.h"
29 29
 #include <EEPROM.h>
30 30
 
31
-#define EEPROM_SIZE 4096
31
+#ifndef MARLIN_EEPROM_SIZE
32
+  #define MARLIN_EEPROM_SIZE 0x1000 // 4KB
33
+#endif
34
+size_t PersistentStore::capacity()    { return MARLIN_EEPROM_SIZE; }
32 35
 
33
-bool PersistentStore::access_start() {
34
-  return EEPROM.begin(EEPROM_SIZE);
35
-}
36
-
37
-bool PersistentStore::access_finish() {
38
-  EEPROM.end();
39
-  return true;
40
-}
36
+bool PersistentStore::access_start()  { return EEPROM.begin(MARLIN_EEPROM_SIZE); }
37
+bool PersistentStore::access_finish() { EEPROM.end(); return true; }
41 38
 
42 39
 bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) {
43 40
   for (size_t i = 0; i < size; i++) {
@@ -56,7 +53,5 @@ bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t
56 53
   return false;
57 54
 }
58 55
 
59
-size_t PersistentStore::capacity() { return EEPROM_SIZE; }
60
-
61 56
 #endif // EEPROM_SETTINGS
62 57
 #endif // ARDUINO_ARCH_ESP32

+ 9
- 6
Marlin/src/HAL/LINUX/eeprom.cpp Прегледај датотеку

@@ -28,10 +28,15 @@
28 28
 #include "../shared/eeprom_api.h"
29 29
 #include <stdio.h>
30 30
 
31
-#define LINUX_EEPROM_SIZE (E2END + 1)
32
-uint8_t buffer[LINUX_EEPROM_SIZE];
31
+#ifndef MARLIN_EEPROM_SIZE
32
+  #define MARLIN_EEPROM_SIZE 0x1000 // 4KB of Emulated EEPROM
33
+#endif
34
+
35
+uint8_t buffer[MARLIN_EEPROM_SIZE];
33 36
 char filename[] = "eeprom.dat";
34 37
 
38
+size_t PersistentStore::capacity() { return MARLIN_EEPROM_SIZE; }
39
+
35 40
 bool PersistentStore::access_start() {
36 41
   const char eeprom_erase_value = 0xFF;
37 42
   FILE * eeprom_file = fopen(filename, "rb");
@@ -40,8 +45,8 @@ bool PersistentStore::access_start() {
40 45
   fseek(eeprom_file, 0L, SEEK_END);
41 46
   std::size_t file_size = ftell(eeprom_file);
42 47
 
43
-  if (file_size < LINUX_EEPROM_SIZE) {
44
-    memset(buffer + file_size, eeprom_erase_value, LINUX_EEPROM_SIZE - file_size);
48
+  if (file_size < MARLIN_EEPROM_SIZE) {
49
+    memset(buffer + file_size, eeprom_erase_value, MARLIN_EEPROM_SIZE - file_size);
45 50
   }
46 51
   else {
47 52
     fseek(eeprom_file, 0L, SEEK_SET);
@@ -95,7 +100,5 @@ bool PersistentStore::read_data(int &pos, uint8_t* value, const size_t size, uin
95 100
   return bytes_read != size;  // return true for any error
96 101
 }
97 102
 
98
-size_t PersistentStore::capacity() { return 4096; } // 4KiB of Emulated EEPROM
99
-
100 103
 #endif // EEPROM_SETTINGS
101 104
 #endif // __PLAT_LINUX__

+ 14
- 11
Marlin/src/HAL/LPC1768/eeprom_flash.cpp Прегледај датотеку

@@ -46,19 +46,22 @@ extern "C" {
46 46
   #include <lpc17xx_iap.h>
47 47
 }
48 48
 
49
-#define SECTOR_START(sector)  ((sector < 16) ? (sector * 0x1000) : ((sector - 14) * 0x8000))
49
+#ifndef MARLIN_EEPROM_SIZE
50
+  #define MARLIN_EEPROM_SIZE 0x1000 // 4KB
51
+#endif
52
+
53
+#define SECTOR_START(sector)  ((sector < 16) ? (sector << 12) : ((sector - 14) << 15))
50 54
 #define EEPROM_SECTOR 29
51
-#define EEPROM_SIZE (4096)
52
-#define SECTOR_SIZE (32768)
53
-#define EEPROM_SLOTS (SECTOR_SIZE/EEPROM_SIZE)
54
-#define EEPROM_ERASE (0xFF)
55
-#define SLOT_ADDRESS(sector, slot) (((uint8_t *)SECTOR_START(sector)) + slot * EEPROM_SIZE)
55
+#define SECTOR_SIZE 32768
56
+#define EEPROM_SLOTS ((SECTOR_SIZE)/(MARLIN_EEPROM_SIZE))
57
+#define EEPROM_ERASE 0xFF
58
+#define SLOT_ADDRESS(sector, slot) (((uint8_t *)SECTOR_START(sector)) + slot * (MARLIN_EEPROM_SIZE))
56 59
 
57
-static uint8_t ram_eeprom[EEPROM_SIZE] __attribute__((aligned(4))) = {0};
60
+static uint8_t ram_eeprom[MARLIN_EEPROM_SIZE] __attribute__((aligned(4))) = {0};
58 61
 static bool eeprom_dirty = false;
59 62
 static int current_slot = 0;
60 63
 
61
-size_t PersistentStore::capacity() { return EEPROM_SIZE; }
64
+size_t PersistentStore::capacity() { return MARLIN_EEPROM_SIZE; }
62 65
 
63 66
 bool PersistentStore::access_start() {
64 67
   uint32_t first_nblank_loc, first_nblank_val;
@@ -71,15 +74,15 @@ bool PersistentStore::access_start() {
71 74
 
72 75
   if (status == CMD_SUCCESS) {
73 76
     // sector is blank so nothing stored yet
74
-    for (int i = 0; i < EEPROM_SIZE; i++) ram_eeprom[i] = EEPROM_ERASE;
77
+    for (int i = 0; i < MARLIN_EEPROM_SIZE; i++) ram_eeprom[i] = EEPROM_ERASE;
75 78
     current_slot = EEPROM_SLOTS;
76 79
   }
77 80
   else {
78 81
     // current slot is the first non blank one
79
-    current_slot = first_nblank_loc / EEPROM_SIZE;
82
+    current_slot = first_nblank_loc / (MARLIN_EEPROM_SIZE);
80 83
     uint8_t *eeprom_data = SLOT_ADDRESS(EEPROM_SECTOR, current_slot);
81 84
     // load current settings
82
-    for (int i = 0; i < EEPROM_SIZE; i++) ram_eeprom[i] = eeprom_data[i];
85
+    for (int i = 0; i < MARLIN_EEPROM_SIZE; i++) ram_eeprom[i] = eeprom_data[i];
83 86
   }
84 87
   eeprom_dirty = false;
85 88
 

+ 4
- 1
Marlin/src/HAL/LPC1768/eeprom_sdcard.cpp Прегледај датотеку

@@ -38,7 +38,10 @@ FATFS fat_fs;
38 38
 FIL eeprom_file;
39 39
 bool eeprom_file_open = false;
40 40
 
41
-size_t PersistentStore::capacity() { return 4096; } // 4KiB of Emulated EEPROM
41
+#ifndef MARLIN_EEPROM_SIZE
42
+  #define MARLIN_EEPROM_SIZE size_t(0x1000) // 4KiB of Emulated EEPROM
43
+#endif
44
+size_t PersistentStore::capacity() { return MARLIN_EEPROM_SIZE; }
42 45
 
43 46
 bool PersistentStore::access_start() {
44 47
   const char eeprom_erase_value = 0xFF;

+ 4
- 8
Marlin/src/HAL/LPC1768/eeprom_wired.cpp Прегледај датотеку

@@ -33,18 +33,14 @@
33 33
 #include "../shared/eeprom_if.h"
34 34
 #include "../shared/eeprom_api.h"
35 35
 
36
-#ifndef EEPROM_SIZE
37
-  #define EEPROM_SIZE           0x8000 // 32kB‬
36
+#ifndef MARLIN_EEPROM_SIZE
37
+  #define MARLIN_EEPROM_SIZE           0x8000 // 32KB‬
38 38
 #endif
39
+size_t PersistentStore::capacity()    { return MARLIN_EEPROM_SIZE; }
39 40
 
40
-size_t PersistentStore::capacity()    { return EEPROM_SIZE; }
41
+bool PersistentStore::access_start()  { eeprom_init(); return true; }
41 42
 bool PersistentStore::access_finish() { return true; }
42 43
 
43
-bool PersistentStore::access_start() {
44
-  eeprom_init();
45
-  return true;
46
-}
47
-
48 44
 bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) {
49 45
   while (size--) {
50 46
     uint8_t v = *value;

+ 6
- 6
Marlin/src/HAL/SAMD51/eeprom_wired.cpp Прегледај датотеку

@@ -32,13 +32,13 @@
32 32
 #include "../shared/eeprom_if.h"
33 33
 #include "../shared/eeprom_api.h"
34 34
 
35
-size_t PersistentStore::capacity()    { return E2END + 1; }
36
-bool PersistentStore::access_finish() { return true; }
35
+#ifndef MARLIN_EEPROM_SIZE
36
+  #error "MARLIN_EEPROM_SIZE is required for I2C / SPI EEPROM."
37
+#endif
38
+size_t PersistentStore::capacity()    { return MARLIN_EEPROM_SIZE; }
37 39
 
38
-bool PersistentStore::access_start() {
39
-  eeprom_init();
40
-  return true;
41
-}
40
+bool PersistentStore::access_start()  { eeprom_init(); return true; }
41
+bool PersistentStore::access_finish() { return true; }
42 42
 
43 43
 bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) {
44 44
   while (size--) {

+ 20
- 19
Marlin/src/HAL/STM32/eeprom_flash.cpp Прегледај датотеку

@@ -32,7 +32,7 @@
32 32
   #include "Servo.h"
33 33
   #define PAUSE_SERVO_OUTPUT() libServo::pause_all_servos()
34 34
   #define RESUME_SERVO_OUTPUT() libServo::resume_all_servos()
35
-#else  
35
+#else
36 36
   #define PAUSE_SERVO_OUTPUT()
37 37
   #define RESUME_SERVO_OUTPUT()
38 38
 #endif
@@ -59,8 +59,8 @@
59 59
   #define DEBUG_OUT ENABLED(EEPROM_CHITCHAT)
60 60
   #include "src/core/debug_out.h"
61 61
 
62
-  #ifndef EEPROM_SIZE
63
-    #define EEPROM_SIZE           0x1000  // 4kB
62
+  #ifndef MARLIN_EEPROM_SIZE
63
+    #define MARLIN_EEPROM_SIZE    0x1000 // 4KB
64 64
   #endif
65 65
 
66 66
   #ifndef FLASH_SECTOR
@@ -70,11 +70,11 @@
70 70
     #define FLASH_UNIT_SIZE       0x20000 // 128kB
71 71
   #endif
72 72
 
73
-  #define FLASH_ADDRESS_START     (FLASH_END - ((FLASH_SECTOR_TOTAL - FLASH_SECTOR) * FLASH_UNIT_SIZE) + 1)
73
+  #define FLASH_ADDRESS_START     (FLASH_END - ((FLASH_SECTOR_TOTAL - (FLASH_SECTOR)) * (FLASH_UNIT_SIZE)) + 1)
74 74
   #define FLASH_ADDRESS_END       (FLASH_ADDRESS_START + FLASH_UNIT_SIZE  - 1)
75 75
 
76
-  #define EEPROM_SLOTS            (FLASH_UNIT_SIZE/EEPROM_SIZE)
77
-  #define SLOT_ADDRESS(slot)      (FLASH_ADDRESS_START + (slot * EEPROM_SIZE))
76
+  #define EEPROM_SLOTS            ((FLASH_UNIT_SIZE) / (MARLIN_EEPROM_SIZE))
77
+  #define SLOT_ADDRESS(slot)      (FLASH_ADDRESS_START + (slot * (MARLIN_EEPROM_SIZE)))
78 78
 
79 79
   #define UNLOCK_FLASH()          if (!flash_unlocked) { \
80 80
                                     HAL_FLASH_Unlock(); \
@@ -87,12 +87,12 @@
87 87
   #define EMPTY_UINT32            ((uint32_t)-1)
88 88
   #define EMPTY_UINT8             ((uint8_t)-1)
89 89
 
90
-  static uint8_t ram_eeprom[EEPROM_SIZE] __attribute__((aligned(4))) = {0};
90
+  static uint8_t ram_eeprom[MARLIN_EEPROM_SIZE] __attribute__((aligned(4))) = {0};
91 91
   static int current_slot = -1;
92 92
 
93
-  static_assert(0 == EEPROM_SIZE % 4, "EEPROM_SIZE must be a multiple of 4"); // Ensure copying as uint32_t is safe
94
-  static_assert(0 == FLASH_UNIT_SIZE % EEPROM_SIZE, "EEPROM_SIZE must divide evenly into your FLASH_UNIT_SIZE");
95
-  static_assert(FLASH_UNIT_SIZE >= EEPROM_SIZE, "FLASH_UNIT_SIZE must be greater than or equal to your EEPROM_SIZE");
93
+  static_assert(0 == MARLIN_EEPROM_SIZE % 4, "MARLIN_EEPROM_SIZE must be a multiple of 4"); // Ensure copying as uint32_t is safe
94
+  static_assert(0 == FLASH_UNIT_SIZE % MARLIN_EEPROM_SIZE, "MARLIN_EEPROM_SIZE must divide evenly into your FLASH_UNIT_SIZE");
95
+  static_assert(FLASH_UNIT_SIZE >= MARLIN_EEPROM_SIZE, "FLASH_UNIT_SIZE must be greater than or equal to your MARLIN_EEPROM_SIZE");
96 96
   static_assert(IS_FLASH_SECTOR(FLASH_SECTOR), "FLASH_SECTOR is invalid");
97 97
   static_assert(IS_POWER_OF_2(FLASH_UNIT_SIZE), "FLASH_UNIT_SIZE should be a power of 2, please check your chip's spec sheet");
98 98
 
@@ -100,6 +100,11 @@
100 100
 
101 101
 static bool eeprom_data_written = false;
102 102
 
103
+#ifndef MARLIN_EEPROM_SIZE
104
+  #define MARLIN_EEPROM_SIZE size_t(E2END + 1)
105
+#endif
106
+size_t PersistentStore::capacity() { return MARLIN_EEPROM_SIZE; }
107
+
103 108
 bool PersistentStore::access_start() {
104 109
 
105 110
   #if ENABLED(FLASH_EEPROM_LEVELING)
@@ -113,20 +118,20 @@ bool PersistentStore::access_start() {
113 118
       while (address <= FLASH_ADDRESS_END) {
114 119
         uint32_t address_value = (*(__IO uint32_t*)address);
115 120
         if (address_value != EMPTY_UINT32) {
116
-          current_slot = (address - FLASH_ADDRESS_START) / EEPROM_SIZE;
121
+          current_slot = (address - (FLASH_ADDRESS_START)) / (MARLIN_EEPROM_SIZE);
117 122
           break;
118 123
         }
119 124
         address += sizeof(uint32_t);
120 125
       }
121 126
       if (current_slot == -1) {
122 127
         // We didn't find anything, so we'll just intialize to empty
123
-        for (int i = 0; i < EEPROM_SIZE; i++) ram_eeprom[i] = EMPTY_UINT8;
128
+        for (int i = 0; i < MARLIN_EEPROM_SIZE; i++) ram_eeprom[i] = EMPTY_UINT8;
124 129
         current_slot = EEPROM_SLOTS;
125 130
       }
126 131
       else {
127 132
         // load current settings
128 133
         uint8_t *eeprom_data = (uint8_t *)SLOT_ADDRESS(current_slot);
129
-        for (int i = 0; i < EEPROM_SIZE; i++) ram_eeprom[i] = eeprom_data[i];
134
+        for (int i = 0; i < MARLIN_EEPROM_SIZE; i++) ram_eeprom[i] = eeprom_data[i];
130 135
         DEBUG_ECHOLNPAIR("EEPROM loaded from slot ", current_slot, ".");
131 136
       }
132 137
       eeprom_data_written = false;
@@ -146,7 +151,7 @@ bool PersistentStore::access_finish() {
146 151
       // MCU may come up with flash error bits which prevent some flash operations.
147 152
       // Clear flags prior to flash operations to prevent errors.
148 153
       __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_OPERR | FLASH_FLAG_WRPERR | FLASH_FLAG_PGAERR | FLASH_FLAG_PGPERR | FLASH_FLAG_PGSERR);
149
-    #endif    
154
+    #endif
150 155
 
151 156
     #if ENABLED(FLASH_EEPROM_LEVELING)
152 157
 
@@ -185,7 +190,7 @@ bool PersistentStore::access_finish() {
185 190
 
186 191
       uint32_t offset = 0;
187 192
       uint32_t address = SLOT_ADDRESS(current_slot);
188
-      uint32_t address_end = address + EEPROM_SIZE;
193
+      uint32_t address_end = address + MARLIN_EEPROM_SIZE;
189 194
       uint32_t data = 0;
190 195
 
191 196
       bool success = true;
@@ -267,9 +272,5 @@ bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t
267 272
   return false;
268 273
 }
269 274
 
270
-size_t PersistentStore::capacity() {
271
-  return TERN(FLASH_EEPROM_LEVELING, EEPROM_SIZE, E2END + 1);
272
-}
273
-
274 275
 #endif // FLASH_EEPROM_EMULATION
275 276
 #endif // ARDUINO_ARCH_STM32 && !STM32GENERIC

+ 27
- 38
Marlin/src/HAL/STM32/eeprom_sdcard.cpp Прегледај датотеку

@@ -31,53 +31,44 @@
31 31
 #if ENABLED(SDCARD_EEPROM_EMULATION)
32 32
 
33 33
 #include "../shared/eeprom_api.h"
34
+#include "../../sd/cardreader.h"
34 35
 
35
-#ifndef E2END
36
-  #define E2END 0xFFF // 4KB
36
+#define EEPROM_FILENAME "eeprom.dat"
37
+
38
+#ifndef MARLIN_EEPROM_SIZE
39
+  #define MARLIN_EEPROM_SIZE 0x1000 // 4KB
37 40
 #endif
38
-#define HAL_EEPROM_SIZE int(E2END + 1)
41
+size_t PersistentStore::capacity() { return MARLIN_EEPROM_SIZE; }
39 42
 
40 43
 #define _ALIGN(x) __attribute__ ((aligned(x)))
41
-static char _ALIGN(4) HAL_eeprom_data[HAL_EEPROM_SIZE];
42
-
43
-#if ENABLED(SDSUPPORT)
44
+static char _ALIGN(4) HAL_eeprom_data[MARLIN_EEPROM_SIZE];
44 45
 
45
-  #include "../../sd/cardreader.h"
46
+bool PersistentStore::access_start() {
47
+  if (!card.isMounted()) return false;
46 48
 
47
-  #define EEPROM_FILENAME "eeprom.dat"
49
+  SdFile file, root = card.getroot();
50
+  if (!file.open(&root, EEPROM_FILENAME, O_RDONLY))
51
+    return true;
48 52
 
49
-  bool PersistentStore::access_start() {
50
-    if (!card.isMounted()) return false;
53
+  int bytes_read = file.read(HAL_eeprom_data, MARLIN_EEPROM_SIZE);
54
+  if (bytes_read < 0) return false;
55
+  for (; bytes_read < MARLIN_EEPROM_SIZE; bytes_read++)
56
+    HAL_eeprom_data[bytes_read] = 0xFF;
57
+  file.close();
58
+  return true;
59
+}
51 60
 
52
-    SdFile file, root = card.getroot();
53
-    if (!file.open(&root, EEPROM_FILENAME, O_RDONLY))
54
-      return true;
61
+bool PersistentStore::access_finish() {
62
+  if (!card.isMounted()) return false;
55 63
 
56
-    int bytes_read = file.read(HAL_eeprom_data, HAL_EEPROM_SIZE);
57
-    if (bytes_read < 0) return false;
58
-    for (; bytes_read < HAL_EEPROM_SIZE; bytes_read++)
59
-      HAL_eeprom_data[bytes_read] = 0xFF;
64
+  SdFile file, root = card.getroot();
65
+  int bytes_written = 0;
66
+  if (file.open(&root, EEPROM_FILENAME, O_CREAT | O_WRITE | O_TRUNC)) {
67
+    bytes_written = file.write(HAL_eeprom_data, MARLIN_EEPROM_SIZE);
60 68
     file.close();
61
-    return true;
62 69
   }
63
-
64
-  bool PersistentStore::access_finish() {
65
-    if (!card.isMounted()) return false;
66
-
67
-    SdFile file, root = card.getroot();
68
-    int bytes_written = 0;
69
-    if (file.open(&root, EEPROM_FILENAME, O_CREAT | O_WRITE | O_TRUNC)) {
70
-      bytes_written = file.write(HAL_eeprom_data, HAL_EEPROM_SIZE);
71
-      file.close();
72
-    }
73
-    return (bytes_written == HAL_EEPROM_SIZE);
74
-  }
75
-
76
-#else // !SDSUPPORT
77
-
78
-  #error "Please define an EEPROM, a SDCARD or disable EEPROM_SETTINGS."
79
-
80
-#endif // !SDSUPPORT
70
+  return (bytes_written == MARLIN_EEPROM_SIZE);
71
+}
81 72
 
82 73
 bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) {
83 74
   for (size_t i = 0; i < size; i++)
@@ -97,7 +88,5 @@ bool PersistentStore::read_data(int &pos, uint8_t* value, const size_t size, uin
97 88
   return false;
98 89
 }
99 90
 
100
-size_t PersistentStore::capacity() { return HAL_EEPROM_SIZE; }
101
-
102 91
 #endif // SDCARD_EEPROM_EMULATION
103 92
 #endif // STM32 && !STM32GENERIC

+ 5
- 1
Marlin/src/HAL/STM32/eeprom_sram.cpp Прегледај датотеку

@@ -29,7 +29,11 @@
29 29
 #include "../shared/eeprom_if.h"
30 30
 #include "../shared/eeprom_api.h"
31 31
 
32
-size_t PersistentStore::capacity()    { return 4096; } // 4K of SRAM
32
+#ifndef MARLIN_EEPROM_SIZE
33
+  #define MARLIN_EEPROM_SIZE 0x1000 // 4KB
34
+#endif
35
+size_t PersistentStore::capacity()    { return MARLIN_EEPROM_SIZE; }
36
+
33 37
 bool PersistentStore::access_start()  { return true; }
34 38
 bool PersistentStore::access_finish() { return true; }
35 39
 

+ 6
- 6
Marlin/src/HAL/STM32/eeprom_wired.cpp Прегледај датотеку

@@ -34,13 +34,13 @@
34 34
 #include "../shared/eeprom_if.h"
35 35
 #include "../shared/eeprom_api.h"
36 36
 
37
-size_t PersistentStore::capacity()    { return E2END + 1; }
38
-bool PersistentStore::access_finish() { return true; }
37
+#ifndef MARLIN_EEPROM_SIZE
38
+  #define MARLIN_EEPROM_SIZE size_t(E2END + 1)
39
+#endif
40
+size_t PersistentStore::capacity() { return MARLIN_EEPROM_SIZE; }
39 41
 
40
-bool PersistentStore::access_start()  {
41
-  eeprom_init();
42
-  return true;
43
-}
42
+bool PersistentStore::access_start()  { eeprom_init(); return true; }
43
+bool PersistentStore::access_finish() { return true; }
44 44
 
45 45
 bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) {
46 46
   while (size--) {

+ 10
- 8
Marlin/src/HAL/STM32F1/eeprom_flash.cpp Прегледај датотеку

@@ -39,18 +39,20 @@
39 39
 #include <EEPROM.h>
40 40
 
41 41
 // Store settings in the last two pages
42
-#define EEPROM_SIZE (EEPROM_PAGE_SIZE * 2)
43
-#define ACCESS_FINISHED(TF) do{ FLASH_Lock(); eeprom_dirty = false; return TF; }while(0)
42
+#ifndef MARLIN_EEPROM_SIZE
43
+  #define MARLIN_EEPROM_SIZE ((EEPROM_PAGE_SIZE) * 2)
44
+#endif
45
+size_t PersistentStore::capacity() { return MARLIN_EEPROM_SIZE; }
44 46
 
45
-static uint8_t ram_eeprom[EEPROM_SIZE] __attribute__((aligned(4))) = {0};
47
+static uint8_t ram_eeprom[MARLIN_EEPROM_SIZE] __attribute__((aligned(4))) = {0};
46 48
 static bool eeprom_dirty = false;
47 49
 
48 50
 bool PersistentStore::access_start() {
49 51
   const uint32_t* source = reinterpret_cast<const uint32_t*>(EEPROM_PAGE0_BASE);
50 52
   uint32_t* destination = reinterpret_cast<uint32_t*>(ram_eeprom);
51 53
 
52
-  static_assert(0 == EEPROM_SIZE % 4, "EEPROM_SIZE is corrupted. (Must be a multiple of 4.)"); // Ensure copying as uint32_t is safe
53
-  constexpr size_t eeprom_size_u32 = EEPROM_SIZE / 4;
54
+  static_assert(0 == (MARLIN_EEPROM_SIZE) % 4, "MARLIN_EEPROM_SIZE is corrupted. (Must be a multiple of 4.)"); // Ensure copying as uint32_t is safe
55
+  constexpr size_t eeprom_size_u32 = (MARLIN_EEPROM_SIZE) / 4;
54 56
 
55 57
   for (size_t i = 0; i < eeprom_size_u32; ++i, ++destination, ++source)
56 58
     *destination = *source;
@@ -72,13 +74,15 @@ bool PersistentStore::access_finish() {
72 74
     // page changes...either way, something to look at later.
73 75
     FLASH_Unlock();
74 76
 
77
+    #define ACCESS_FINISHED(TF) { FLASH_Lock(); eeprom_dirty = false; return TF; }
78
+
75 79
     status = FLASH_ErasePage(EEPROM_PAGE0_BASE);
76 80
     if (status != FLASH_COMPLETE) ACCESS_FINISHED(true);
77 81
     status = FLASH_ErasePage(EEPROM_PAGE1_BASE);
78 82
     if (status != FLASH_COMPLETE) ACCESS_FINISHED(true);
79 83
 
80 84
     const uint16_t *source = reinterpret_cast<const uint16_t*>(ram_eeprom);
81
-    for (size_t i = 0; i < EEPROM_SIZE; i += 2, ++source) {
85
+    for (size_t i = 0; i < MARLIN_EEPROM_SIZE; i += 2, ++source) {
82 86
       if (FLASH_ProgramHalfWord(EEPROM_PAGE0_BASE + i, *source) != FLASH_COMPLETE)
83 87
         ACCESS_FINISHED(false);
84 88
     }
@@ -105,7 +109,5 @@ bool PersistentStore::read_data(int &pos, uint8_t* value, const size_t size, uin
105 109
   return false;  // return true for any error
106 110
 }
107 111
 
108
-size_t PersistentStore::capacity() { return EEPROM_SIZE; }
109
-
110 112
 #endif // FLASH_EEPROM_EMULATION
111 113
 #endif // __STM32F1__

+ 10
- 12
Marlin/src/HAL/STM32F1/eeprom_sdcard.cpp Прегледај датотеку

@@ -34,15 +34,15 @@
34 34
 #include "../shared/eeprom_api.h"
35 35
 #include "../../sd/cardreader.h"
36 36
 
37
-#ifndef E2END
38
-  #define E2END 0xFFF // 4KB
37
+#define EEPROM_FILENAME "eeprom.dat"
38
+
39
+#ifndef MARLIN_EEPROM_SIZE
40
+  #define MARLIN_EEPROM_SIZE 0x1000 // 4KB
39 41
 #endif
40
-#define HAL_EEPROM_SIZE (E2END + 1)
42
+size_t PersistentStore::capacity() { return MARLIN_EEPROM_SIZE; }
41 43
 
42 44
 #define _ALIGN(x) __attribute__ ((aligned(x))) // SDIO uint32_t* compat.
43
-static char _ALIGN(4) HAL_eeprom_data[HAL_EEPROM_SIZE];
44
-
45
-#define EEPROM_FILENAME "eeprom.dat"
45
+static char _ALIGN(4) HAL_eeprom_data[MARLIN_EEPROM_SIZE];
46 46
 
47 47
 bool PersistentStore::access_start() {
48 48
   if (!card.isMounted()) return false;
@@ -51,9 +51,9 @@ bool PersistentStore::access_start() {
51 51
   if (!file.open(&root, EEPROM_FILENAME, O_RDONLY))
52 52
     return true; // false aborts the save
53 53
 
54
-  int bytes_read = file.read(HAL_eeprom_data, HAL_EEPROM_SIZE);
54
+  int bytes_read = file.read(HAL_eeprom_data, MARLIN_EEPROM_SIZE);
55 55
   if (bytes_read < 0) return false;
56
-  for (; bytes_read < HAL_EEPROM_SIZE; bytes_read++)
56
+  for (; bytes_read < MARLIN_EEPROM_SIZE; bytes_read++)
57 57
     HAL_eeprom_data[bytes_read] = 0xFF;
58 58
   file.close();
59 59
   return true;
@@ -65,10 +65,10 @@ bool PersistentStore::access_finish() {
65 65
   SdFile file, root = card.getroot();
66 66
   int bytes_written = 0;
67 67
   if (file.open(&root, EEPROM_FILENAME, O_CREAT | O_WRITE | O_TRUNC)) {
68
-    bytes_written = file.write(HAL_eeprom_data, HAL_EEPROM_SIZE);
68
+    bytes_written = file.write(HAL_eeprom_data, MARLIN_EEPROM_SIZE);
69 69
     file.close();
70 70
   }
71
-  return (bytes_written == HAL_EEPROM_SIZE);
71
+  return (bytes_written == MARLIN_EEPROM_SIZE);
72 72
 }
73 73
 
74 74
 bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) {
@@ -89,7 +89,5 @@ bool PersistentStore::read_data(int &pos, uint8_t* value, const size_t size, uin
89 89
   return false;
90 90
 }
91 91
 
92
-size_t PersistentStore::capacity() { return HAL_EEPROM_SIZE; }
93
-
94 92
 #endif // SDCARD_EEPROM_EMULATION
95 93
 #endif // __STM32F1__

+ 6
- 2
Marlin/src/HAL/STM32F1/eeprom_wired.cpp Прегледај датотеку

@@ -31,7 +31,12 @@
31 31
 #include "../shared/eeprom_if.h"
32 32
 #include "../shared/eeprom_api.h"
33 33
 
34
-size_t PersistentStore::capacity()    { return E2END + 1; }
34
+#ifndef MARLIN_EEPROM_SIZE
35
+  #error "MARLIN_EEPROM_SIZE is required for I2C / SPI EEPROM."
36
+#endif
37
+size_t PersistentStore::capacity()    { return MARLIN_EEPROM_SIZE; }
38
+
39
+bool PersistentStore::access_finish() { return true; }
35 40
 
36 41
 bool PersistentStore::access_start() {
37 42
   #if ENABLED(SPI_EEPROM)
@@ -45,7 +50,6 @@ bool PersistentStore::access_start() {
45 50
   #endif
46 51
   return true;
47 52
 }
48
-bool PersistentStore::access_finish() { return true; }
49 53
 
50 54
 bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) {
51 55
   while (size--) {

+ 6
- 2
Marlin/src/HAL/STM32_F4_F7/eeprom_flash.cpp Прегледај датотеку

@@ -52,10 +52,14 @@ uint8_t ee_read_byte(uint8_t *pos) {
52 52
   return uint8_t(data);
53 53
 }
54 54
 
55
-size_t PersistentStore::capacity()    { return E2END + 1; }
55
+#ifndef MARLIN_EEPROM_SIZE
56
+  #error "MARLIN_EEPROM_SIZE is required for Flash-based EEPROM."
57
+#endif
58
+size_t PersistentStore::capacity() { return MARLIN_EEPROM_SIZE; }
59
+
56 60
 bool PersistentStore::access_finish() { return true; }
57 61
 
58
-bool PersistentStore::access_start()  {
62
+bool PersistentStore::access_start() {
59 63
   static bool ee_initialized = false;
60 64
   if (!ee_initialized) {
61 65
     HAL_FLASH_Unlock();

+ 6
- 6
Marlin/src/HAL/STM32_F4_F7/eeprom_wired.cpp Прегледај датотеку

@@ -34,13 +34,13 @@
34 34
 #include "../shared/eeprom_if.h"
35 35
 #include "../shared/eeprom_api.h"
36 36
 
37
-size_t PersistentStore::capacity()    { return E2END + 1; }
38
-bool PersistentStore::access_finish() { return true; }
37
+#ifndef MARLIN_EEPROM_SIZE
38
+  #error "MARLIN_EEPROM_SIZE is required for I2C / SPI EEPROM."
39
+#endif
40
+size_t PersistentStore::capacity() { return MARLIN_EEPROM_SIZE; }
39 41
 
40
-bool PersistentStore::access_start()  {
41
-  eeprom_init();
42
-  return true;
43
-}
42
+bool PersistentStore::access_start()  { eeprom_init(); return true; }
43
+bool PersistentStore::access_finish() { return true; }
44 44
 
45 45
 bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) {
46 46
   while (size--) {

+ 7
- 1
Marlin/src/HAL/TEENSY31_32/eeprom.cpp Прегледај датотеку

@@ -28,8 +28,14 @@
28 28
  */
29 29
 
30 30
 #include "../shared/eeprom_api.h"
31
+#include <avr/eeprom.h>
31 32
 
32
-bool PersistentStore::access_start() { return true; }
33
+#ifndef MARLIN_EEPROM_SIZE
34
+  #define MARLIN_EEPROM_SIZE size_t(E2END + 1)
35
+#endif
36
+size_t PersistentStore::capacity() { return MARLIN_EEPROM_SIZE; }
37
+
38
+bool PersistentStore::access_start()  { return true; }
33 39
 bool PersistentStore::access_finish() { return true; }
34 40
 
35 41
 bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) {

+ 5
- 1
Marlin/src/HAL/TEENSY35_36/eeprom.cpp Прегледај датотеку

@@ -34,7 +34,11 @@
34 34
 #include "../shared/eeprom_api.h"
35 35
 #include <avr/eeprom.h>
36 36
 
37
-size_t PersistentStore::capacity()    { return E2END + 1; }
37
+#ifndef MARLIN_EEPROM_SIZE
38
+  #define MARLIN_EEPROM_SIZE size_t(E2END + 1)
39
+#endif
40
+size_t PersistentStore::capacity() { return MARLIN_EEPROM_SIZE; }
41
+
38 42
 bool PersistentStore::access_start()  { return true; }
39 43
 bool PersistentStore::access_finish() { return true; }
40 44
 

+ 1
- 1
Marlin/src/module/configuration_store.cpp Прегледај датотеку

@@ -389,7 +389,7 @@ typedef struct SettingsDataStruct {
389 389
 
390 390
 } SettingsData;
391 391
 
392
-//static_assert(sizeof(SettingsData) <= E2END + 1, "EEPROM too small to contain SettingsData!");
392
+//static_assert(sizeof(SettingsData) <= MARLIN_EEPROM_SIZE, "EEPROM too small to contain SettingsData!");
393 393
 
394 394
 MarlinSettings settings;
395 395
 

+ 3
- 1
Marlin/src/pins/linux/pins_RAMPS_LINUX.h Прегледај датотеку

@@ -49,7 +49,9 @@
49 49
   #define BOARD_INFO_NAME "RAMPS 1.4"
50 50
 #endif
51 51
 
52
-#define E2END 0xFFF                               // 4KB
52
+#ifndef MARLIN_EEPROM_SIZE
53
+  #define MARLIN_EEPROM_SIZE 0x1000               // 4KB
54
+#endif
53 55
 
54 56
 #define IS_RAMPS_EFB
55 57
 

+ 1
- 1
Marlin/src/pins/sam/pins_RADDS.h Прегледај датотеку

@@ -206,7 +206,7 @@
206 206
 #endif
207 207
 
208 208
 #define I2C_EEPROM
209
-#define E2END 0x1FFF                              // 8KB
209
+#define MARLIN_EEPROM_SIZE 0x2000                 // 8KB
210 210
 
211 211
 //
212 212
 // M3/M4/M5 - Spindle/Laser Control

+ 1
- 1
Marlin/src/pins/sam/pins_RAMPS_FD_V2.h Прегледај датотеку

@@ -41,7 +41,7 @@
41 41
 #undef INVERTED_FAN_PINS
42 42
 
43 43
 #define I2C_EEPROM
44
-#define E2END 0xFFFF // 64K in a 24C512
44
+#define MARLIN_EEPROM_SIZE 0x10000 // 64K in a 24C512
45 45
 
46 46
 #ifndef PS_ON_PIN
47 47
   #define PS_ON_PIN        12

+ 1
- 1
Marlin/src/pins/sam/pins_RAMPS_SMART.h Прегледај датотеку

@@ -70,7 +70,7 @@
70 70
 
71 71
 // I2C EEPROM with 4K of space
72 72
 #define I2C_EEPROM
73
-#define E2END 0xFFF
73
+#define MARLIN_EEPROM_SIZE 0x1000
74 74
 
75 75
 #define RESET_PIN                             42  // Resets the board if the jumper is attached
76 76
 

+ 1
- 1
Marlin/src/pins/sam/pins_RURAMPS4D_11.h Прегледај датотеку

@@ -186,7 +186,7 @@
186 186
 //
187 187
 // EEPROM
188 188
 //
189
-#define E2END 0x7FFF                              // 32Kb (24lc256)
189
+#define MARLIN_EEPROM_SIZE 0x8000                 // 32Kb (24lc256)
190 190
 #define I2C_EEPROM                                // EEPROM on I2C-0
191 191
 //#define EEPROM_SD                               // EEPROM on SDCARD
192 192
 //#define SPI_EEPROM                              // EEPROM on SPI-0

+ 1
- 1
Marlin/src/pins/sam/pins_RURAMPS4D_13.h Прегледај датотеку

@@ -172,7 +172,7 @@
172 172
 //
173 173
 // EEPROM
174 174
 //
175
-#define E2END 0x7FFF                              // 32Kb (24lc256)
175
+#define MARLIN_EEPROM_SIZE 0x8000                 // 32Kb (24lc256)
176 176
 #define I2C_EEPROM                                // EEPROM on I2C-0
177 177
 //#define EEPROM_SD                               // EEPROM on SDCARD
178 178
 //#define SPI_EEPROM                              // EEPROM on SPI-0

+ 1
- 1
Marlin/src/pins/samd/pins_RAMPS_144.h Прегледај датотеку

@@ -46,7 +46,7 @@
46 46
 //
47 47
 //#define QSPI_EEPROM                             // Use AGCM4 onboard QSPI EEPROM (Uses 4K of RAM)
48 48
 #define I2C_EEPROM                                // EEPROM on I2C-0
49
-#define E2END 0x7FFF                              // 32K (24lc256)
49
+#define MARLIN_EEPROM_SIZE 0x8000                 // 32K (24lc256)
50 50
 
51 51
 //
52 52
 // Limit Switches

+ 2
- 4
Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h Прегледај датотеку

@@ -37,8 +37,7 @@
37 37
   #define FLASH_EEPROM_EMULATION
38 38
   #define EEPROM_PAGE_SIZE     (0x800U) // 2KB
39 39
   #define EEPROM_START_ADDRESS (0x8000000UL + (STM32_FLASH_SIZE) * 1024UL - (EEPROM_PAGE_SIZE) * 2UL)
40
-  #undef E2END
41
-  #define E2END                (EEPROM_PAGE_SIZE - 1) // 2KB
40
+  #define MARLIN_EEPROM_SIZE    EEPROM_PAGE_SIZE  // 2KB
42 41
 #endif
43 42
 
44 43
 //
@@ -172,7 +171,6 @@
172 171
  *                 EXP1
173 172
  */
174 173
 
175
-
176 174
 #if HAS_SPI_LCD
177 175
 
178 176
   #if ENABLED(CR10_STOCKDISPLAY)
@@ -276,7 +274,7 @@
276 274
 //
277 275
 
278 276
 #ifndef SDCARD_CONNECTION
279
-  #define SDCARD_CONNECTION                 ONBOARD
277
+  #define SDCARD_CONNECTION              ONBOARD
280 278
 #endif
281 279
 
282 280
 #if SD_CONNECTION_IS(ONBOARD)

+ 1
- 2
Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3.h Прегледај датотеку

@@ -35,8 +35,7 @@
35 35
   #define FLASH_EEPROM_EMULATION
36 36
   #define EEPROM_PAGE_SIZE     (0x800U) // 2KB
37 37
   #define EEPROM_START_ADDRESS (0x8000000UL + (STM32_FLASH_SIZE) * 1024UL - (EEPROM_PAGE_SIZE) * 2UL)
38
-  #undef E2END
39
-  #define E2END                (EEPROM_PAGE_SIZE - 1) // 2KB
38
+  #define MARLIN_EEPROM_SIZE    EEPROM_PAGE_SIZE  // 2KB
40 39
 #endif
41 40
 
42 41
 //

+ 1
- 1
Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_V1_1.h Прегледај датотеку

@@ -37,7 +37,7 @@
37 37
   #define FLASH_EEPROM_EMULATION
38 38
   #define EEPROM_PAGE_SIZE     (0x800U) // 2KB
39 39
   #define EEPROM_START_ADDRESS (0x8000000UL + (STM32_FLASH_SIZE) * 1024UL - (EEPROM_PAGE_SIZE) * 2UL)
40
-  #define E2END                (EEPROM_PAGE_SIZE - 1)
40
+  #define MARLIN_EEPROM_SIZE    EEPROM_PAGE_SIZE  // 2KB
41 41
 #endif
42 42
 
43 43
 //

+ 1
- 2
Marlin/src/pins/stm32f1/pins_FYSETC_AIO_II.h Прегледај датотеку

@@ -42,8 +42,7 @@
42 42
   #define FLASH_EEPROM_EMULATION
43 43
   #define EEPROM_PAGE_SIZE     (0x800U) // 2KB
44 44
   #define EEPROM_START_ADDRESS (0x8000000UL + (STM32_FLASH_SIZE) * 1024UL - (EEPROM_PAGE_SIZE) * 2UL)
45
-  #undef E2END
46
-  #define E2END                (EEPROM_PAGE_SIZE - 1) // 2KB
45
+  #define MARLIN_EEPROM_SIZE    EEPROM_PAGE_SIZE  // 2KB
47 46
 #endif
48 47
 
49 48
 //

+ 1
- 2
Marlin/src/pins/stm32f1/pins_FYSETC_CHEETAH.h Прегледај датотеку

@@ -40,8 +40,7 @@
40 40
   #define FLASH_EEPROM_EMULATION
41 41
   #define EEPROM_PAGE_SIZE     (0x800U) // 2KB
42 42
   #define EEPROM_START_ADDRESS (0x8000000UL + (STM32_FLASH_SIZE) * 1024UL - (EEPROM_PAGE_SIZE) * 2UL)
43
-  #undef E2END
44
-  #define E2END                (EEPROM_PAGE_SIZE - 1) // 2KB
43
+  #define MARLIN_EEPROM_SIZE    EEPROM_PAGE_SIZE  // 2KB
45 44
 #endif
46 45
 
47 46
 //

+ 1
- 1
Marlin/src/pins/stm32f1/pins_GTM32_MINI.h Прегледај датотеку

@@ -54,7 +54,7 @@
54 54
 // Enable EEPROM Emulation for this board as it doesn't have EEPROM
55 55
 #if EITHER(NO_EEPROM_SELECTED, FLASH_EEPROM_EMULATION)
56 56
   #define FLASH_EEPROM_EMULATION
57
-  #define E2END 0xFFF                             // 4KB
57
+  #define MARLIN_EEPROM_SIZE 0x1000               // 4KB
58 58
 #endif
59 59
 
60 60
 //

+ 1
- 1
Marlin/src/pins/stm32f1/pins_GTM32_MINI_A30.h Прегледај датотеку

@@ -54,7 +54,7 @@
54 54
 // Enable EEPROM Emulation for this board as it doesn't have EEPROM
55 55
 #if EITHER(NO_EEPROM_SELECTED, FLASH_EEPROM_EMULATION)
56 56
   #define FLASH_EEPROM_EMULATION
57
-  #define E2END 0xFFF                             // 4KB
57
+  #define MARLIN_EEPROM_SIZE 0x1000               // 4KB
58 58
 #endif
59 59
 
60 60
 //

+ 1
- 1
Marlin/src/pins/stm32f1/pins_GTM32_PRO_VB.h Прегледај датотеку

@@ -54,7 +54,7 @@
54 54
 // Enable EEPROM Emulation for this board as it doesn't have EEPROM
55 55
 #if EITHER(NO_EEPROM_SELECTED, FLASH_EEPROM_EMULATION)
56 56
   #define FLASH_EEPROM_EMULATION
57
-  #define E2END 0xFFF                             // 4KB
57
+  #define MARLIN_EEPROM_SIZE 0x1000               // 4KB
58 58
 #endif
59 59
 
60 60
 //

+ 1
- 1
Marlin/src/pins/stm32f1/pins_GTM32_REV_B.h Прегледај датотеку

@@ -54,7 +54,7 @@
54 54
 // Enable EEPROM Emulation for this board as it doesn't have EEPROM
55 55
 #if EITHER(NO_EEPROM_SELECTED, FLASH_EEPROM_EMULATION)
56 56
   #define FLASH_EEPROM_EMULATION
57
-  #define E2END 0xFFF                             // 4KB
57
+  #define MARLIN_EEPROM_SIZE 0x1000               // 4KB
58 58
 #endif
59 59
 
60 60
 //

+ 3
- 3
Marlin/src/pins/stm32f1/pins_JGAURORA_A5S_A1.h Прегледај датотеку

@@ -43,11 +43,11 @@
43 43
 // Enable EEPROM Emulation for this board, so that we don't overwrite factory data
44 44
 
45 45
 //#define I2C_EEPROM                              // AT24C64
46
-//#define E2END 0x7FFFUL                          // 64KB
46
+//#define MARLIN_EEPROM_SIZE 0x8000UL             // 64KB
47 47
 
48 48
 //#define FLASH_EEPROM_EMULATION
49
-//#define E2END 0xFFFUL                           // 4KB
50
-//#define E2END (EEPROM_START_ADDRESS + (EEPROM_PAGE_SIZE) * 2UL - 1UL)
49
+//#define MARLIN_EEPROM_SIZE 0x1000UL             // 4KB
50
+//#define MARLIN_EEPROM_SIZE (EEPROM_START_ADDRESS + (EEPROM_PAGE_SIZE) * 2UL)
51 51
 
52 52
 //#define EEPROM_CHITCHAT
53 53
 //#define DEBUG_EEPROM_READWRITE

+ 3
- 4
Marlin/src/pins/stm32f1/pins_LONGER3D_LK.h Прегледај датотеку

@@ -152,7 +152,6 @@
152 152
   #define FLASH_EEPROM_EMULATION
153 153
 #endif
154 154
 
155
-#undef E2END
156 155
 #if ENABLED(SPI_EEPROM)
157 156
   // SPI1 EEPROM Winbond W25Q64 (8MB/64Mbits)
158 157
   #define SPI_CHAN_EEPROM1 1
@@ -161,12 +160,12 @@
161 160
   #define EEPROM_MISO        BOARD_SPI1_MISO_PIN  // PA6 pin 31
162 161
   #define EEPROM_MOSI        BOARD_SPI1_MOSI_PIN  // PA7 pin 32
163 162
   #define EEPROM_PAGE_SIZE 0x1000U                // 4KB (from datasheet)
164
-  #define E2END (16UL * (EEPROM_PAGE_SIZE) - 1UL) // Limit to 64KB for now...
163
+  #define MARLIN_EEPROM_SIZE 16UL * (EEPROM_PAGE_SIZE)   // Limit to 64KB for now...
165 164
 #elif ENABLED(FLASH_EEPROM_EMULATION)
166 165
   // SoC Flash (framework-arduinoststm32-maple/STM32F1/libraries/EEPROM/EEPROM.h)
167 166
   #define EEPROM_PAGE_SIZE     (0x800U) // 2KB
168 167
   #define EEPROM_START_ADDRESS (0x8000000UL + (STM32_FLASH_SIZE) * 1024UL - (EEPROM_PAGE_SIZE) * 2UL)
169
-  #define E2END (EEPROM_PAGE_SIZE - 1)
168
+  #define MARLIN_EEPROM_SIZE (EEPROM_PAGE_SIZE)
170 169
 #else
171
-  #define E2END (0x7FFU) // On SD, Limit to 2KB, require this amount of RAM
170
+  #define MARLIN_EEPROM_SIZE 0x800U               // On SD, Limit to 2KB, require this amount of RAM
172 171
 #endif

+ 1
- 1
Marlin/src/pins/stm32f1/pins_MKS_ROBIN_MINI.h Прегледај датотеку

@@ -43,7 +43,7 @@
43 43
   // 2K in a AT24C16N
44 44
   #define EEPROM_PAGE_SIZE     (0x800U) // 2KB
45 45
   #define EEPROM_START_ADDRESS (0x8000000UL + (STM32_FLASH_SIZE) * 1024UL - (EEPROM_PAGE_SIZE) * 2UL)
46
-  #define E2END (EEPROM_PAGE_SIZE - 1)
46
+  #define MARLIN_EEPROM_SIZE    EEPROM_PAGE_SIZE  // 2KB
47 47
 #endif
48 48
 
49 49
 //

+ 1
- 3
Marlin/src/pins/stm32f4/pins_ARMED.h Прегледај датотеку

@@ -39,9 +39,7 @@
39 39
 #define DEFAULT_MACHINE_NAME BOARD_INFO_NAME
40 40
 
41 41
 #define I2C_EEPROM
42
-
43
-#undef E2END                                      // Defined in Arduino Core STM32 to be used with EEPROM emulation. This board uses a real EEPROM.
44
-#define E2END 0xFFF                               // 4KB
42
+#define MARLIN_EEPROM_SIZE 0x1000                 // 4KB
45 43
 
46 44
 //
47 45
 // Limit Switches

+ 1
- 1
Marlin/src/pins/stm32f4/pins_BLACK_STM32F407VE.h Прегледај датотеку

@@ -40,8 +40,8 @@
40 40
 #define DEFAULT_MACHINE_NAME "STM32F407VET6"
41 41
 
42 42
 //#define I2C_EEPROM
43
-//#define E2END 0x1FFF                            // 8KB
44 43
 #define SRAM_EEPROM_EMULATION
44
+#define MARLIN_EEPROM_SIZE 0x2000                 // 8KB
45 45
 
46 46
 //
47 47
 // Servos

+ 1
- 2
Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h Прегледај датотеку

@@ -33,8 +33,7 @@
33 33
 
34 34
 // Onboard I2C EEPROM
35 35
 #define I2C_EEPROM
36
-#undef E2END
37
-#define E2END 0x1FFF // EEPROM end address 24C64 (64Kb = 8KB)
36
+#define MARLIN_EEPROM_SIZE 0x2000                 // 8KB (24C64 ... 64Kb = 8KB)
38 37
 
39 38
 #define TP                                        // Enable to define servo and probe pins
40 39
 

+ 1
- 2
Marlin/src/pins/stm32f4/pins_FLYF407ZG.h Прегледај датотеку

@@ -31,8 +31,7 @@
31 31
 #define BOARD_WEBSITE_URL    "github.com/FLYmaker/FLYF407ZG"
32 32
 #define DEFAULT_MACHINE_NAME BOARD_INFO_NAME
33 33
 
34
-#undef E2END
35
-#define E2END 0xFFF                               // 4KB
34
+#define MARLIN_EEPROM_SIZE 0x1000                 // 4KB
36 35
 
37 36
 //
38 37
 // Servos

+ 1
- 2
Marlin/src/pins/stm32f4/pins_FYSETC_S6.h Прегледај датотеку

@@ -51,8 +51,7 @@
51 51
   // 128 kB sector allocated for EEPROM emulation.
52 52
   #define FLASH_EEPROM_LEVELING
53 53
 #elif ENABLED(I2C_EEPROM)
54
-  #undef E2END                                    // Defined in Arduino Core STM32 to be used with EEPROM emulation. This board uses a real EEPROM.
55
-  #define E2END 0xFFF                             // 4KB
54
+  #define MARLIN_EEPROM_SIZE 0x1000               // 4KB
56 55
 #endif
57 56
 
58 57
 //

+ 2
- 2
Marlin/src/pins/stm32f4/pins_GENERIC_STM32F4.h Прегледај датотеку

@@ -36,8 +36,8 @@
36 36
 
37 37
 //#define I2C_EEPROM
38 38
 
39
-#ifndef E2END
40
-  #define E2END 0xFFF                             // 4KB
39
+#ifndef MARLIN_EEPROM_SIZE
40
+  #define MARLIN_EEPROM_SIZE 0x1000               // 4KB
41 41
 #endif
42 42
 
43 43
 // Ignore temp readings during development.

+ 1
- 4
Marlin/src/pins/stm32f4/pins_RUMBA32_common.h Прегледај датотеку

@@ -35,10 +35,7 @@
35 35
 #define DEFAULT_MACHINE_NAME BOARD_INFO_NAME
36 36
 
37 37
 //#define I2C_EEPROM
38
-#ifdef E2END
39
-  #undef E2END
40
-#endif
41
-#define E2END 0xFFF                               // 4KB
38
+#define MARLIN_EEPROM_SIZE 0x1000                 // 4KB
42 39
 
43 40
 //
44 41
 // Limit Switches

+ 1
- 2
Marlin/src/pins/stm32f4/pins_VAKE403D.h Прегледај датотеку

@@ -31,8 +31,7 @@
31 31
 #define BOARD_INFO_NAME      "STM32F4 VAkE"
32 32
 
33 33
 //#define I2C_EEPROM
34
-
35
-#define E2END 0xFFF                               // EEPROM end address (4kB)
34
+#define MARLIN_EEPROM_SIZE 0x1000                 // 4KB
36 35
 
37 36
 //
38 37
 // Servos

+ 2
- 2
Marlin/src/pins/stm32f7/pins_THE_BORG.h Прегледај датотеку

@@ -30,8 +30,8 @@
30 30
 #define BOARD_INFO_NAME      "The-Borge"
31 31
 #define DEFAULT_MACHINE_NAME BOARD_INFO_NAME
32 32
 
33
-#ifndef E2END
34
-  #define E2END 0xFFF                             // EEPROM end address
33
+#ifndef MARLIN_EEPROM_SIZE
34
+  #define MARLIN_EEPROM_SIZE 0x1000
35 35
 #endif
36 36
 
37 37
 // Ignore temp readings during development.

Loading…
Откажи
Сачувај