Browse Source

gcode_D EEPROM size, cleanup

Fixes #19920

Co-Authored-By: Orel <37673727+0r31@users.noreply.github.com>
Scott Lahteine 3 years ago
parent
commit
f8d57370d0

+ 1
- 1
Marlin/src/HAL/AVR/eeprom.cpp View File

@@ -59,7 +59,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
59 59
   return false;
60 60
 }
61 61
 
62
-bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
62
+bool PersistentStore::read_data(int &pos, uint8_t *value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
63 63
   do {
64 64
     uint8_t c = eeprom_read_byte((uint8_t*)pos);
65 65
     if (writing) *value = c;

+ 1
- 1
Marlin/src/HAL/DUE/eeprom_flash.cpp View File

@@ -996,7 +996,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
996 996
   return false;
997 997
 }
998 998
 
999
-bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
999
+bool PersistentStore::read_data(int &pos, uint8_t *value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
1000 1000
   do {
1001 1001
     uint8_t c = ee_Read(uint32_t(pos));
1002 1002
     if (writing) *value = c;

+ 1
- 1
Marlin/src/HAL/DUE/eeprom_wired.cpp View File

@@ -62,7 +62,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
62 62
   return false;
63 63
 }
64 64
 
65
-bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
65
+bool PersistentStore::read_data(int &pos, uint8_t *value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
66 66
   do {
67 67
     uint8_t c = eeprom_read_byte((uint8_t*)pos);
68 68
     if (writing) *value = c;

+ 1
- 1
Marlin/src/HAL/ESP32/eeprom.cpp View File

@@ -44,7 +44,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
44 44
   return false;
45 45
 }
46 46
 
47
-bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
47
+bool PersistentStore::read_data(int &pos, uint8_t *value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
48 48
   for (size_t i = 0; i < size; i++) {
49 49
     uint8_t c = EEPROM.read(pos++);
50 50
     if (writing) value[i] = c;

+ 1
- 1
Marlin/src/HAL/LINUX/eeprom.cpp View File

@@ -78,7 +78,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
78 78
   return (bytes_written != size);  // return true for any error
79 79
 }
80 80
 
81
-bool PersistentStore::read_data(int &pos, uint8_t* value, const size_t size, uint16_t *crc, const bool writing/*=true*/) {
81
+bool PersistentStore::read_data(int &pos, uint8_t *value, const size_t size, uint16_t *crc, const bool writing/*=true*/) {
82 82
   std::size_t bytes_read = 0;
83 83
   if (writing) {
84 84
     for (std::size_t i = 0; i < size; i++) {

+ 1
- 1
Marlin/src/HAL/LPC1768/eeprom_flash.cpp View File

@@ -119,7 +119,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
119 119
   return false;  // return true for any error
120 120
 }
121 121
 
122
-bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
122
+bool PersistentStore::read_data(int &pos, uint8_t *value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
123 123
   const uint8_t * const buff = writing ? &value[0] : &ram_eeprom[pos];
124 124
   if (writing) for (size_t i = 0; i < size; i++) value[i] = ram_eeprom[pos + i];
125 125
   crc16(crc, buff, size);

+ 1
- 1
Marlin/src/HAL/LPC1768/eeprom_sdcard.cpp View File

@@ -143,7 +143,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
143 143
   return bytes_written != size;  // return true for any error
144 144
 }
145 145
 
146
-bool PersistentStore::read_data(int &pos, uint8_t* value, const size_t size, uint16_t *crc, const bool writing/*=true*/) {
146
+bool PersistentStore::read_data(int &pos, uint8_t *value, const size_t size, uint16_t *crc, const bool writing/*=true*/) {
147 147
   if (!eeprom_file_open) return true;
148 148
   UINT bytes_read = 0;
149 149
   FRESULT s;

+ 1
- 1
Marlin/src/HAL/LPC1768/eeprom_wired.cpp View File

@@ -64,7 +64,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
64 64
   return false;
65 65
 }
66 66
 
67
-bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
67
+bool PersistentStore::read_data(int &pos, uint8_t *value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
68 68
   do {
69 69
     // Read from external EEPROM
70 70
     const uint8_t c = eeprom_read_byte((uint8_t*)pos);

+ 1
- 1
Marlin/src/HAL/SAMD51/eeprom_flash.cpp View File

@@ -79,7 +79,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
79 79
   return false;
80 80
 }
81 81
 
82
-bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
82
+bool PersistentStore::read_data(int &pos, uint8_t *value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
83 83
   while (size--) {
84 84
     SYNC(NVMCTRL->SEESTAT.bit.BUSY);
85 85
     uint8_t c = ((volatile uint8_t *)SEEPROM_ADDR)[pos];

+ 1
- 1
Marlin/src/HAL/SAMD51/eeprom_qspi.cpp View File

@@ -56,7 +56,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
56 56
   return false;
57 57
 }
58 58
 
59
-bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
59
+bool PersistentStore::read_data(int &pos, uint8_t *value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
60 60
   while (size--) {
61 61
     uint8_t c = qspi.readByte(pos);
62 62
     if (writing) *value = c;

+ 1
- 1
Marlin/src/HAL/SAMD51/eeprom_wired.cpp View File

@@ -59,7 +59,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
59 59
   return false;
60 60
 }
61 61
 
62
-bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
62
+bool PersistentStore::read_data(int &pos, uint8_t *value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
63 63
   while (size--) {
64 64
     uint8_t c = eeprom_read_byte((uint8_t*)pos);
65 65
     if (writing) *value = c;

+ 1
- 1
Marlin/src/HAL/STM32/eeprom_flash.cpp View File

@@ -261,7 +261,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
261 261
   return false;
262 262
 }
263 263
 
264
-bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
264
+bool PersistentStore::read_data(int &pos, uint8_t *value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
265 265
   do {
266 266
     const uint8_t c = TERN(FLASH_EEPROM_LEVELING, ram_eeprom[pos], eeprom_buffered_read_byte(pos));
267 267
     if (writing) *value = c;

+ 1
- 1
Marlin/src/HAL/STM32/eeprom_sdcard.cpp View File

@@ -78,7 +78,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
78 78
   return false;
79 79
 }
80 80
 
81
-bool PersistentStore::read_data(int &pos, uint8_t* value, const size_t size, uint16_t *crc, const bool writing/*=true*/) {
81
+bool PersistentStore::read_data(int &pos, uint8_t *value, const size_t size, uint16_t *crc, const bool writing/*=true*/) {
82 82
   for (size_t i = 0; i < size; i++) {
83 83
     uint8_t c = HAL_eeprom_data[pos + i];
84 84
     if (writing) value[i] = c;

+ 1
- 1
Marlin/src/HAL/STM32/eeprom_sram.cpp View File

@@ -52,7 +52,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
52 52
   return false;
53 53
 }
54 54
 
55
-bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
55
+bool PersistentStore::read_data(int &pos, uint8_t *value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
56 56
   do {
57 57
     // Read from either external EEPROM, program flash or Backup SRAM
58 58
     const uint8_t c = ( *(__IO uint8_t *)(BKPSRAM_BASE + ((uint8_t*)pos)) );

+ 1
- 1
Marlin/src/HAL/STM32/eeprom_wired.cpp View File

@@ -65,7 +65,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
65 65
   return false;
66 66
 }
67 67
 
68
-bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
68
+bool PersistentStore::read_data(int &pos, uint8_t *value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
69 69
   do {
70 70
     // Read from either external EEPROM, program flash or Backup SRAM
71 71
     const uint8_t c = eeprom_read_byte((uint8_t*)pos);

+ 1
- 1
Marlin/src/HAL/STM32F1/eeprom_bl24cxx.cpp View File

@@ -68,7 +68,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
68 68
   return false;
69 69
 }
70 70
 
71
-bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
71
+bool PersistentStore::read_data(int &pos, uint8_t *value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
72 72
   do {
73 73
     uint8_t * const p = (uint8_t * const)pos;
74 74
     uint8_t c = eeprom_read_byte(p);

+ 1
- 1
Marlin/src/HAL/STM32F1/eeprom_flash.cpp View File

@@ -101,7 +101,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
101 101
   return false;  // return true for any error
102 102
 }
103 103
 
104
-bool PersistentStore::read_data(int &pos, uint8_t* value, const size_t size, uint16_t *crc, const bool writing/*=true*/) {
104
+bool PersistentStore::read_data(int &pos, uint8_t *value, const size_t size, uint16_t *crc, const bool writing/*=true*/) {
105 105
   const uint8_t * const buff = writing ? &value[0] : &ram_eeprom[pos];
106 106
   if (writing) for (size_t i = 0; i < size; i++) value[i] = ram_eeprom[pos + i];
107 107
   crc16(crc, buff, size);

+ 1
- 1
Marlin/src/HAL/STM32F1/eeprom_sdcard.cpp View File

@@ -79,7 +79,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
79 79
   return false;
80 80
 }
81 81
 
82
-bool PersistentStore::read_data(int &pos, uint8_t* value, const size_t size, uint16_t *crc, const bool writing/*=true*/) {
82
+bool PersistentStore::read_data(int &pos, uint8_t *value, const size_t size, uint16_t *crc, const bool writing/*=true*/) {
83 83
   for (size_t i = 0; i < size; i++) {
84 84
     uint8_t c = HAL_eeprom_data[pos + i];
85 85
     if (writing) value[i] = c;

+ 1
- 1
Marlin/src/HAL/STM32F1/eeprom_wired.cpp View File

@@ -72,7 +72,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
72 72
   return false;
73 73
 }
74 74
 
75
-bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
75
+bool PersistentStore::read_data(int &pos, uint8_t *value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
76 76
   do {
77 77
     uint8_t c = eeprom_read_byte((uint8_t*)pos);
78 78
     if (writing && value) *value = c;

+ 1
- 1
Marlin/src/HAL/STM32_F4_F7/eeprom_flash.cpp View File

@@ -96,7 +96,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
96 96
   return false;
97 97
 }
98 98
 
99
-bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
99
+bool PersistentStore::read_data(int &pos, uint8_t *value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
100 100
   do {
101 101
     uint8_t c = ee_read_byte((uint8_t*)pos);
102 102
     if (writing) *value = c;

+ 1
- 1
Marlin/src/HAL/STM32_F4_F7/eeprom_wired.cpp View File

@@ -62,7 +62,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
62 62
   return false;
63 63
 }
64 64
 
65
-bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
65
+bool PersistentStore::read_data(int &pos, uint8_t *value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
66 66
   do {
67 67
     uint8_t c = eeprom_read_byte((uint8_t*)pos);
68 68
     if (writing) *value = c;

+ 1
- 1
Marlin/src/HAL/TEENSY31_32/eeprom.cpp View File

@@ -57,7 +57,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
57 57
   return false;
58 58
 }
59 59
 
60
-bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
60
+bool PersistentStore::read_data(int &pos, uint8_t *value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
61 61
   do {
62 62
     uint8_t c = eeprom_read_byte((uint8_t*)pos);
63 63
     if (writing) *value = c;

+ 1
- 1
Marlin/src/HAL/TEENSY35_36/eeprom.cpp View File

@@ -61,7 +61,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
61 61
   return false;
62 62
 }
63 63
 
64
-bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
64
+bool PersistentStore::read_data(int &pos, uint8_t *value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
65 65
   do {
66 66
     uint8_t c = eeprom_read_byte((uint8_t*)pos);
67 67
     if (writing) *value = c;

+ 1
- 1
Marlin/src/HAL/TEENSY40_41/eeprom.cpp View File

@@ -61,7 +61,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
61 61
   return false;
62 62
 }
63 63
 
64
-bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
64
+bool PersistentStore::read_data(int &pos, uint8_t *value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
65 65
   do {
66 66
     uint8_t c = eeprom_read_byte((uint8_t*)pos);
67 67
     if (writing) *value = c;

+ 18
- 28
Marlin/src/gcode/gcode_d.cpp View File

@@ -54,9 +54,7 @@
54 54
           size_t total = persistentStore.capacity();
55 55
           int pos = 0;
56 56
           const uint8_t value = 0x0;
57
-          while(total--) {
58
-            persistentStore.write_data(pos, &value, 1);
59
-          }
57
+          while (total--) persistentStore.write_data(pos, &value, 1);
60 58
           persistentStore.access_finish();
61 59
         #else
62 60
           settings.reset();
@@ -70,7 +68,7 @@
70 68
         uint8_t *pointer = parser.hex_adr_val('A');
71 69
         uint16_t len = parser.ushortval('C', 1);
72 70
         uintptr_t addr = (uintptr_t)pointer;
73
-        NOMORE(addr, (size_t)(SRAM_SIZE - 1));
71
+        NOMORE(addr, size_t(SRAM_SIZE - 1));
74 72
         NOMORE(len, SRAM_SIZE - addr);
75 73
         if (parser.seenval('X')) {
76 74
           // Write the hex bytes after the X
@@ -91,16 +89,13 @@
91 89
           uint8_t *pointer = parser.hex_adr_val('A');
92 90
           uint16_t len = parser.ushortval('C', 1);
93 91
           uintptr_t addr = (uintptr_t)pointer;
94
-          #ifndef MARLIN_EEPROM_SIZE
95
-            #define MARLIN_EEPROM_SIZE size_t(E2END + 1)
96
-          #endif
97
-          NOMORE(addr, (size_t)(MARLIN_EEPROM_SIZE - 1));
98
-          NOMORE(len, MARLIN_EEPROM_SIZE - addr);
92
+          NOMORE(addr, size_t(persistentStore.capacity() - 1));
93
+          NOMORE(len, persistentStore.capacity() - addr);
99 94
           if (parser.seenval('X')) {
100 95
             uint16_t val = parser.hex_val('X');
101 96
             #if ENABLED(EEPROM_SETTINGS)
102 97
               persistentStore.access_start();
103
-              while(len--) {
98
+              while (len--) {
104 99
                 int pos = 0;
105 100
                 persistentStore.write_data(pos, (uint8_t *)&val, sizeof(val));
106 101
               }
@@ -111,23 +106,18 @@
111 106
             #endif
112 107
           }
113 108
           else {
114
-            while (len--) {
115
-              // Read bytes from EEPROM
116
-              #if ENABLED(EEPROM_SETTINGS)
117
-                persistentStore.access_start();
118
-                uint8_t val;
119
-                while(len--) {
120
-                  int pos = 0;
121
-                  if (!persistentStore.read_data(pos, (uint8_t *)&val, sizeof(val))) {
122
-                    print_hex_byte(val);
123
-                  }
124
-                }
125
-                SERIAL_EOL();
126
-                persistentStore.access_finish();
127
-              #else
128
-                SERIAL_ECHOLNPGM("NO EEPROM");
129
-              #endif
130
-            }
109
+            // Read bytes from EEPROM
110
+            #if ENABLED(EEPROM_SETTINGS)
111
+              persistentStore.access_start();
112
+              int pos = 0;
113
+              uint8_t val;
114
+              while (len--) if (!persistentStore.read_data(pos, &val, 1)) print_hex_byte(val);
115
+              SERIAL_EOL();
116
+              persistentStore.access_finish();
117
+            #else
118
+              SERIAL_ECHOLNPGM("NO EEPROM");
119
+              len = 0;
120
+            #endif
131 121
             SERIAL_EOL();
132 122
           }
133 123
         } break;
@@ -156,7 +146,7 @@
156 146
         uint8_t *pointer = parser.hex_adr_val('A');
157 147
         uint16_t len = parser.ushortval('C', 1);
158 148
         uintptr_t addr = (uintptr_t)pointer;
159
-        NOMORE(addr, (size_t)(FLASH_SIZE - 1));
149
+        NOMORE(addr, size_t(FLASH_SIZE - 1));
160 150
         NOMORE(len, FLASH_SIZE - addr);
161 151
         if (parser.seenval('X')) {
162 152
           // TODO: Write the hex bytes after the X

Loading…
Cancel
Save