Browse Source

Merge pull request #1350 from odewdney/Development

Reduce PROGMEM warnings
Bo Herrmannsen 10 years ago
parent
commit
d4a665694a

+ 0
- 1
Marlin/Configuration.h View File

789
 
789
 
790
 
790
 
791
 #include "Configuration_adv.h"
791
 #include "Configuration_adv.h"
792
-#include "thermistortables.h"
793
 
792
 
794
 #endif //__CONFIGURATION_H
793
 #endif //__CONFIGURATION_H

+ 6
- 6
Marlin/ConfigurationStore.cpp View File

369
 
369
 
370
 void Config_ResetDefault()
370
 void Config_ResetDefault()
371
 {
371
 {
372
-    float tmp1[]=DEFAULT_AXIS_STEPS_PER_UNIT;
373
-    float tmp2[]=DEFAULT_MAX_FEEDRATE;
374
-    long tmp3[]=DEFAULT_MAX_ACCELERATION;
372
+    const static float tmp1[] MARLIN_PROGMEM =DEFAULT_AXIS_STEPS_PER_UNIT;
373
+    const static float tmp2[] MARLIN_PROGMEM =DEFAULT_MAX_FEEDRATE;
374
+    const static long tmp3[] MARLIN_PROGMEM =DEFAULT_MAX_ACCELERATION;
375
     for (short i=0;i<4;i++) 
375
     for (short i=0;i<4;i++) 
376
     {
376
     {
377
-        axis_steps_per_unit[i]=tmp1[i];  
378
-        max_feedrate[i]=tmp2[i];  
379
-        max_acceleration_units_per_sq_second[i]=tmp3[i];
377
+        axis_steps_per_unit[i]=pgm_read_float(&tmp1[i]);  
378
+        max_feedrate[i]=pgm_read_float(&tmp2[i]);  
379
+        max_acceleration_units_per_sq_second[i]=pgm_read_float(&tmp3[i]);
380
 		#ifdef SCARA
380
 		#ifdef SCARA
381
 		axis_scaling[i]=1;
381
 		axis_scaling[i]=1;
382
 		#endif
382
 		#endif

+ 1
- 1
Marlin/LiquidCrystalRus.cpp View File

13
 
13
 
14
 // it is a Russian alphabet translation
14
 // it is a Russian alphabet translation
15
 // except 0401 --> 0xa2 = ╗, 0451 --> 0xb5
15
 // except 0401 --> 0xa2 = ╗, 0451 --> 0xb5
16
-const PROGMEM uint8_t utf_recode[] = 
16
+const prog_uint8_t utf_recode[] PROGMEM = 
17
        { 0x41,0xa0,0x42,0xa1,0xe0,0x45,0xa3,0xa4,0xa5,0xa6,0x4b,0xa7,0x4d,0x48,0x4f,
17
        { 0x41,0xa0,0x42,0xa1,0xe0,0x45,0xa3,0xa4,0xa5,0xa6,0x4b,0xa7,0x4d,0x48,0x4f,
18
          0xa8,0x50,0x43,0x54,0xa9,0xaa,0x58,0xe1,0xab,0xac,0xe2,0xad,0xae,0x62,0xaf,0xb0,0xb1,
18
          0xa8,0x50,0x43,0x54,0xa9,0xaa,0x58,0xe1,0xab,0xac,0xe2,0xad,0xae,0x62,0xaf,0xb0,0xb1,
19
          0x61,0xb2,0xb3,0xb4,0xe3,0x65,0xb6,0xb7,0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0x6f,
19
          0x61,0xb2,0xb3,0xb4,0xe3,0x65,0xb6,0xb7,0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0x6f,

+ 19
- 0
Marlin/Marlin.h View File

41
 #include "HardwareSerial.h"
41
 #include "HardwareSerial.h"
42
 #endif
42
 #endif
43
 
43
 
44
+
45
+#ifdef __GNUC__
46
+#ifndef GCC_VERSION2
47
+#define GCC_VERSION2 (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
48
+#endif
49
+
50
+#if GCC_VERSION2 < 40602 // Test for GCC < 4.6.2
51
+#ifdef PROGMEM
52
+#define MARLIN_PROGMEM __attribute__((section(".progmem.data")))
53
+#ifdef PSTR
54
+#undef PSTR
55
+#define PSTR(s) (__extension__({static const prog_char __c[] MARLIN_PROGMEM = (s); &__c[0];})) // Copied from pgmspace.h in avr-libc source
56
+#endif
57
+#endif
58
+#endif
59
+#endif
60
+
61
+
62
+
44
 #include "MarlinSerial.h"
63
 #include "MarlinSerial.h"
45
 
64
 
46
 #ifndef cbi
65
 #ifndef cbi

+ 3
- 3
Marlin/Marlin_main.cpp View File

338
   int meas_delay_cm = MEASUREMENT_DELAY_CM;  //distance delay setting
338
   int meas_delay_cm = MEASUREMENT_DELAY_CM;  //distance delay setting
339
 #endif
339
 #endif
340
 
340
 
341
-const char errormagic[] PROGMEM = "Error:";
342
-const char echomagic[] PROGMEM = "echo:";
341
+const prog_char errormagic[] MARLIN_PROGMEM = "Error:";
342
+const prog_char echomagic[] MARLIN_PROGMEM = "echo:";
343
 
343
 
344
 //===========================================================================
344
 //===========================================================================
345
 //=============================Private Variables=============================
345
 //=============================Private Variables=============================
865
 DEFINE_PGM_READ_ANY(signed char, byte);
865
 DEFINE_PGM_READ_ANY(signed char, byte);
866
 
866
 
867
 #define XYZ_CONSTS_FROM_CONFIG(type, array, CONFIG) \
867
 #define XYZ_CONSTS_FROM_CONFIG(type, array, CONFIG) \
868
-static const PROGMEM type array##_P[3] =        \
868
+static const type array##_P[3] MARLIN_PROGMEM =        \
869
     { X_##CONFIG, Y_##CONFIG, Z_##CONFIG };     \
869
     { X_##CONFIG, Y_##CONFIG, Z_##CONFIG };     \
870
 static inline type array(int axis)          \
870
 static inline type array(int axis)          \
871
     { return pgm_read_any(&array##_P[axis]); }
871
     { return pgm_read_any(&array##_P[axis]); }

+ 1
- 1
Marlin/planner.cpp View File

80
 matrix_3x3 plan_bed_level_matrix = {
80
 matrix_3x3 plan_bed_level_matrix = {
81
 	1.0, 0.0, 0.0,
81
 	1.0, 0.0, 0.0,
82
 	0.0, 1.0, 0.0,
82
 	0.0, 1.0, 0.0,
83
-	0.0, 0.0, 1.0,
83
+	0.0, 0.0, 1.0
84
 };
84
 };
85
 #endif // #ifdef ENABLE_AUTO_BED_LEVELING
85
 #endif // #ifdef ENABLE_AUTO_BED_LEVELING
86
 
86
 

+ 4
- 4
Marlin/speed_lookuptable.h View File

5
 
5
 
6
 #if F_CPU == 16000000
6
 #if F_CPU == 16000000
7
 
7
 
8
-const uint16_t speed_lookuptable_fast[256][2] PROGMEM = {\
8
+const prog_uint16_t speed_lookuptable_fast[256][2] MARLIN_PROGMEM = {\
9
 { 62500, 55556}, { 6944, 3268}, { 3676, 1176}, { 2500, 607}, { 1893, 369}, { 1524, 249}, { 1275, 179}, { 1096, 135}, 
9
 { 62500, 55556}, { 6944, 3268}, { 3676, 1176}, { 2500, 607}, { 1893, 369}, { 1524, 249}, { 1275, 179}, { 1096, 135}, 
10
 { 961, 105}, { 856, 85}, { 771, 69}, { 702, 58}, { 644, 49}, { 595, 42}, { 553, 37}, { 516, 32}, 
10
 { 961, 105}, { 856, 85}, { 771, 69}, { 702, 58}, { 644, 49}, { 595, 42}, { 553, 37}, { 516, 32}, 
11
 { 484, 28}, { 456, 25}, { 431, 23}, { 408, 20}, { 388, 19}, { 369, 16}, { 353, 16}, { 337, 14}, 
11
 { 484, 28}, { 456, 25}, { 431, 23}, { 408, 20}, { 388, 19}, { 369, 16}, { 353, 16}, { 337, 14}, 
40
 { 31, 0}, { 31, 0}, { 31, 0}, { 31, 1}, { 30, 0}, { 30, 0}, { 30, 0}, { 30, 0}
40
 { 31, 0}, { 31, 0}, { 31, 0}, { 31, 1}, { 30, 0}, { 30, 0}, { 30, 0}, { 30, 0}
41
 };
41
 };
42
 
42
 
43
-const uint16_t speed_lookuptable_slow[256][2] PROGMEM = {\
43
+const prog_uint16_t speed_lookuptable_slow[256][2] MARLIN_PROGMEM = {\
44
 { 62500, 12500}, { 50000, 8334}, { 41666, 5952}, { 35714, 4464}, { 31250, 3473}, { 27777, 2777}, { 25000, 2273}, { 22727, 1894}, 
44
 { 62500, 12500}, { 50000, 8334}, { 41666, 5952}, { 35714, 4464}, { 31250, 3473}, { 27777, 2777}, { 25000, 2273}, { 22727, 1894}, 
45
 { 20833, 1603}, { 19230, 1373}, { 17857, 1191}, { 16666, 1041}, { 15625, 920}, { 14705, 817}, { 13888, 731}, { 13157, 657}, 
45
 { 20833, 1603}, { 19230, 1373}, { 17857, 1191}, { 16666, 1041}, { 15625, 920}, { 14705, 817}, { 13888, 731}, { 13157, 657}, 
46
 { 12500, 596}, { 11904, 541}, { 11363, 494}, { 10869, 453}, { 10416, 416}, { 10000, 385}, { 9615, 356}, { 9259, 331}, 
46
 { 12500, 596}, { 11904, 541}, { 11363, 494}, { 10869, 453}, { 10416, 416}, { 10000, 385}, { 9615, 356}, { 9259, 331}, 
77
 
77
 
78
 #elif F_CPU == 20000000
78
 #elif F_CPU == 20000000
79
 
79
 
80
-const uint16_t speed_lookuptable_fast[256][2] PROGMEM = {
80
+const uint16_t speed_lookuptable_fast[256][2] MARLIN_PROGMEM = {
81
    {62500, 54055}, {8445, 3917}, {4528, 1434}, {3094, 745}, {2349, 456}, {1893, 307}, {1586, 222}, {1364, 167},
81
    {62500, 54055}, {8445, 3917}, {4528, 1434}, {3094, 745}, {2349, 456}, {1893, 307}, {1586, 222}, {1364, 167},
82
    {1197, 131}, {1066, 105}, {961, 86}, {875, 72}, {803, 61}, {742, 53}, {689, 45}, {644, 40},
82
    {1197, 131}, {1066, 105}, {961, 86}, {875, 72}, {803, 61}, {742, 53}, {689, 45}, {644, 40},
83
    {604, 35}, {569, 32}, {537, 28}, {509, 25}, {484, 23}, {461, 21}, {440, 19}, {421, 17},
83
    {604, 35}, {569, 32}, {537, 28}, {509, 25}, {484, 23}, {461, 21}, {440, 19}, {421, 17},
112
    {39, 0}, {39, 0}, {39, 1}, {38, 0}, {38, 0}, {38, 0}, {38, 0}, {38, 0},
112
    {39, 0}, {39, 0}, {39, 1}, {38, 0}, {38, 0}, {38, 0}, {38, 0}, {38, 0},
113
 };
113
 };
114
 
114
 
115
-const uint16_t speed_lookuptable_slow[256][2] PROGMEM = {
115
+const uint16_t speed_lookuptable_slow[256][2] MARLIN_PROGMEM = {
116
    {62500, 10417}, {52083, 7441}, {44642, 5580}, {39062, 4340}, {34722, 3472}, {31250, 2841}, {28409, 2368}, {26041, 2003},
116
    {62500, 10417}, {52083, 7441}, {44642, 5580}, {39062, 4340}, {34722, 3472}, {31250, 2841}, {28409, 2368}, {26041, 2003},
117
    {24038, 1717}, {22321, 1488}, {20833, 1302}, {19531, 1149}, {18382, 1021}, {17361, 914}, {16447, 822}, {15625, 745},
117
    {24038, 1717}, {22321, 1488}, {20833, 1302}, {19531, 1149}, {18382, 1021}, {17361, 914}, {16447, 822}, {15625, 745},
118
    {14880, 676}, {14204, 618}, {13586, 566}, {13020, 520}, {12500, 481}, {12019, 445}, {11574, 414}, {11160, 385},
118
    {14880, 676}, {14204, 618}, {13586, 566}, {13020, 520}, {12500, 481}, {12019, 445}, {11574, 414}, {11160, 385},

+ 1
- 0
Marlin/temperature.cpp View File

33
 #include "ultralcd.h"
33
 #include "ultralcd.h"
34
 #include "temperature.h"
34
 #include "temperature.h"
35
 #include "watchdog.h"
35
 #include "watchdog.h"
36
+#include "thermistortables.h"
36
 
37
 
37
 #include "Sd2PinMap.h"
38
 #include "Sd2PinMap.h"
38
 
39
 

Loading…
Cancel
Save