Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
M
MarlinKimbra
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
machinery
MarlinKimbra
Commits
55eff722
Commit
55eff722
authored
Jan 16, 2015
by
MagoKimbra
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Return to PROGMEM
parent
93053b8b
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
80 additions
and
102 deletions
+80
-102
ConfigurationStore.cpp
MarlinKimbra/ConfigurationStore.cpp
+73
-76
Marlin.h
MarlinKimbra/Marlin.h
+0
-19
Marlin_main.cpp
MarlinKimbra/Marlin_main.cpp
+3
-3
speed_lookuptable.h
MarlinKimbra/speed_lookuptable.h
+4
-4
No files found.
MarlinKimbra/ConfigurationStore.cpp
View file @
55eff722
...
...
@@ -96,19 +96,19 @@ void Config_StoreSettings()
EEPROM_WRITE_VAR
(
i
,
lcd_contrast
);
#ifdef SCARA
EEPROM_WRITE_VAR
(
i
,
axis_scaling
);
// Add scaling for SCARA
#endif
#endif
//SCARA
#ifdef FWRETRACT
EEPROM_WRITE_VAR
(
i
,
autoretract_enabled
);
EEPROM_WRITE_VAR
(
i
,
retract_length
);
#if EXTRUDERS > 1
EEPROM_WRITE_VAR
(
i
,
retract_length_swap
);
#endif
#endif
//EXTRUDERS > 1
EEPROM_WRITE_VAR
(
i
,
retract_feedrate
);
EEPROM_WRITE_VAR
(
i
,
retract_zlift
);
EEPROM_WRITE_VAR
(
i
,
retract_recover_length
);
#if EXTRUDERS > 1
EEPROM_WRITE_VAR
(
i
,
retract_recover_length_swap
);
#endif
#endif
//EXTRUDERS > 1
EEPROM_WRITE_VAR
(
i
,
retract_recover_feedrate
);
#endif // FWRETRACT
...
...
@@ -121,9 +121,9 @@ void Config_StoreSettings()
EEPROM_WRITE_VAR
(
i
,
filament_size
[
2
]);
#if EXTRUDERS > 3
EEPROM_WRITE_VAR
(
i
,
filament_size
[
3
]);
#endif
#endif
#endif
#endif
//EXTRUDERS > 3
#endif
//EXTRUDERS > 2
#endif
//EXTRUDERS > 1
char
ver2
[
4
]
=
EEPROM_VERSION
;
i
=
EEPROM_OFFSET
;
...
...
@@ -301,7 +301,7 @@ void Config_PrintSettings()
SERIAL_ECHO_START
;
SERIAL_ECHOPAIR
(
" Swap rec. addl. length (mm): "
,
retract_recover_length_swap
);
SERIAL_ECHOLN
(
""
);
#endif
#endif
//EXTRUDERS > 1
SERIAL_ECHO_START
;
if
(
volumetric_enabled
)
{
SERIAL_ECHOLNPGM
(
"Filament settings:"
);
...
...
@@ -309,26 +309,26 @@ void Config_PrintSettings()
SERIAL_ECHOPAIR
(
" M200 D"
,
filament_size
[
0
]);
SERIAL_ECHOLN
(
""
);
#if EXTRUDERS > 1
SERIAL_ECHO_START
;
SERIAL_ECHO_START
;
SERIAL_ECHOPAIR
(
" M200 T1 D"
,
filament_size
[
1
]);
SERIAL_ECHOLN
(
""
);
#if EXTRUDERS > 2
SERIAL_ECHO_START
;
SERIAL_ECHO_START
;
SERIAL_ECHOPAIR
(
" M200 T2 D"
,
filament_size
[
2
]);
SERIAL_ECHOLN
(
""
);
SERIAL_ECHOLN
(
""
);
#if EXTRUDERS > 3
SERIAL_ECHO_START
;
SERIAL_ECHO_START
;
SERIAL_ECHOPAIR
(
" M200 T3 D"
,
filament_size
[
3
]);
SERIAL_ECHOLN
(
""
);
#endif
#endif
#endif
SERIAL_ECHOLN
(
""
);
#endif
//EXTRUDERS > 3
#endif
//EXTRUDERS > 2
#endif
//EXTRUDERS > 1
}
else
{
SERIAL_ECHOLNPGM
(
"Filament settings: Disabled"
);
}
#endif
#endif
//FWRETRACT
}
#endif
#endif
//DISABLE_M503
#ifdef EEPROM_SETTINGS
...
...
@@ -402,35 +402,35 @@ void Config_RetrieveSettings()
EEPROM_READ_VAR
(
i
,
lcd_contrast
);
#ifdef SCARA
EEPROM_READ_VAR
(
i
,
axis_scaling
);
#endif
#endif
//SCARA
#ifdef FWRETRACT
EEPROM_READ_VAR
(
i
,
autoretract_enabled
);
EEPROM_READ_VAR
(
i
,
retract_length
);
#if EXTRUDERS > 1
EEPROM_READ_VAR
(
i
,
retract_length_swap
);
#endif
EEPROM_READ_VAR
(
i
,
retract_feedrate
);
EEPROM_READ_VAR
(
i
,
retract_zlift
);
EEPROM_READ_VAR
(
i
,
retract_recover_length
);
#if EXTRUDERS > 1
EEPROM_READ_VAR
(
i
,
retract_recover_length_swap
);
#endif
EEPROM_READ_VAR
(
i
,
retract_recover_feedrate
);
EEPROM_READ_VAR
(
i
,
autoretract_enabled
);
EEPROM_READ_VAR
(
i
,
retract_length
);
#if EXTRUDERS > 1
EEPROM_READ_VAR
(
i
,
retract_length_swap
);
#endif //EXTRUDERS > 1
EEPROM_READ_VAR
(
i
,
retract_feedrate
);
EEPROM_READ_VAR
(
i
,
retract_zlift
);
EEPROM_READ_VAR
(
i
,
retract_recover_length
);
#if EXTRUDERS > 1
EEPROM_READ_VAR
(
i
,
retract_recover_length_swap
);
#endif //EXTRUDERS > 1
EEPROM_READ_VAR
(
i
,
retract_recover_feedrate
);
#endif
EEPROM_READ_VAR
(
i
,
volumetric_enabled
);
EEPROM_READ_VAR
(
i
,
filament_size
[
0
]);
EEPROM_READ_VAR
(
i
,
volumetric_enabled
);
EEPROM_READ_VAR
(
i
,
filament_size
[
0
]);
#if EXTRUDERS > 1
EEPROM_READ_VAR
(
i
,
filament_size
[
1
]);
EEPROM_READ_VAR
(
i
,
filament_size
[
1
]);
#if EXTRUDERS > 2
EEPROM_READ_VAR
(
i
,
filament_size
[
2
]);
EEPROM_READ_VAR
(
i
,
filament_size
[
2
]);
#if EXTRUDERS > 3
EEPROM_READ_VAR
(
i
,
filament_size
[
3
]);
#endif
#endif
#endif
calculate_volumetric_multipliers
();
EEPROM_READ_VAR
(
i
,
filament_size
[
3
]);
#endif
//EXTRUDERS > 3
#endif
//EXTRUDERS > 2
#endif
//EXTRUDERS > 1
calculate_volumetric_multipliers
();
// Call updatePID (similar to when we have processed M301)
updatePID
();
SERIAL_ECHO_START
;
...
...
@@ -451,26 +451,26 @@ void Config_ResetDefault()
//Setting default baudrate for serial
baudrate
=
BAUDRATE
;
const
static
float
tmp1
[]
MARLIN_PROGMEM
=
DEFAULT_AXIS_STEPS_PER_UNIT
;
const
static
float
tmp2
[]
MARLIN_PROGMEM
=
DEFAULT_MAX_FEEDRATE
;
const
static
float
tmp3
[]
MARLIN_PROGMEM
=
DEFAULT_RETRACTION_MAX_FEEDRATE
;
const
static
long
tmp4
[]
MARLIN_PROGMEM
=
DEFAULT_MAX_ACCELERATION
;
const
static
float
tmp1
[]
=
DEFAULT_AXIS_STEPS_PER_UNIT
;
const
static
float
tmp2
[]
=
DEFAULT_MAX_FEEDRATE
;
const
static
float
tmp3
[]
=
DEFAULT_RETRACTION_MAX_FEEDRATE
;
const
static
long
tmp4
[]
=
DEFAULT_MAX_ACCELERATION
;
#ifdef PIDTEMP
const
static
float
tmp5
[]
MARLIN_PROGMEM
=
DEFAULT_Kp
;
const
static
float
tmp6
[]
MARLIN_PROGMEM
=
DEFAULT_Ki
;
const
static
float
tmp7
[]
MARLIN_PROGMEM
=
DEFAULT_Kd
;
const
static
float
tmp5
[]
=
DEFAULT_Kp
;
const
static
float
tmp6
[]
=
DEFAULT_Ki
;
const
static
float
tmp7
[]
=
DEFAULT_Kd
;
#endif // PIDTEMP
for
(
short
i
=
0
;
i
<
7
;
i
++
)
{
axis_steps_per_unit
[
i
]
=
pgm_read_float
(
&
tmp1
[
i
])
;
max_feedrate
[
i
]
=
pgm_read_float
(
&
tmp2
[
i
])
;
max_acceleration_units_per_sq_second
[
i
]
=
pgm_read_float
(
&
tmp4
[
i
])
;
axis_steps_per_unit
[
i
]
=
tmp1
[
i
]
;
max_feedrate
[
i
]
=
tmp2
[
i
]
;
max_acceleration_units_per_sq_second
[
i
]
=
tmp4
[
i
]
;
}
for
(
short
i
=
0
;
i
<
4
;
i
++
)
{
max_retraction_feedrate
[
i
]
=
pgm_read_float
(
&
tmp3
[
i
])
;
max_retraction_feedrate
[
i
]
=
tmp3
[
i
]
;
#ifdef SCARA
axis_scaling
[
i
]
=
1
;
#endif
...
...
@@ -515,50 +515,47 @@ void Config_ResetDefault()
lcd_contrast
=
DEFAULT_LCD_CONTRAST
;
#endif
#ifdef PIDTEMP
// call updatePID (similar to when we have processed M301)
updatePID
();
for
(
short
i
=
0
;
i
<
4
;
i
++
)
{
#ifdef SINGLENOZZLE
Kp
[
i
]
=
pgm_read_float
(
&
tmp5
[
0
]);;
Ki
[
i
]
=
scalePID_i
(
pgm_read_float
(
&
tmp6
[
0
]));
Kd
[
i
]
=
scalePID_d
(
pgm_read_float
(
&
tmp7
[
0
]));
#ifndef SINGLENOZZLE
for
(
short
e
=
0
;
e
<
4
;
e
++
)
#else
Kp
[
i
]
=
pgm_read_float
(
&
tmp5
[
i
]);;
Ki
[
i
]
=
scalePID_i
(
pgm_read_float
(
&
tmp6
[
i
]));
Kd
[
i
]
=
scalePID_d
(
pgm_read_float
(
&
tmp7
[
i
]));
int
e
=
0
;
// only need to write once
#endif
{
Kp
[
e
]
=
tmp5
[
e
];
Ki
[
e
]
=
scalePID_i
(
tmp6
[
e
]);
Kd
[
e
]
=
scalePID_d
(
tmp7
[
e
]);
}
// call updatePID (similar to when we have processed M301)
updatePID
();
#endif//PIDTEMP
#ifdef FWRETRACT
autoretract_enabled
=
false
;
retract_length
=
RETRACT_LENGTH
;
autoretract_enabled
=
false
;
retract_length
=
RETRACT_LENGTH
;
#if EXTRUDERS > 1
retract_length_swap
=
RETRACT_LENGTH_SWAP
;
retract_length_swap
=
RETRACT_LENGTH_SWAP
;
#endif //EXTRUDERS > 1
retract_feedrate
=
RETRACT_FEEDRATE
;
retract_zlift
=
RETRACT_ZLIFT
;
retract_recover_length
=
RETRACT_RECOVER_LENGTH
;
retract_feedrate
=
RETRACT_FEEDRATE
;
retract_zlift
=
RETRACT_ZLIFT
;
retract_recover_length
=
RETRACT_RECOVER_LENGTH
;
#if EXTRUDERS > 1
retract_recover_length_swap
=
RETRACT_RECOVER_LENGTH_SWAP
;
retract_recover_length_swap
=
RETRACT_RECOVER_LENGTH_SWAP
;
#endif //EXTRUDERS > 1
retract_recover_feedrate
=
RETRACT_RECOVER_FEEDRATE
;
retract_recover_feedrate
=
RETRACT_RECOVER_FEEDRATE
;
#endif //FWRETRACT
volumetric_enabled
=
false
;
filament_size
[
0
]
=
DEFAULT_NOMINAL_FILAMENT_DIA
;
volumetric_enabled
=
false
;
filament_size
[
0
]
=
DEFAULT_NOMINAL_FILAMENT_DIA
;
#if EXTRUDERS > 1
filament_size
[
1
]
=
DEFAULT_NOMINAL_FILAMENT_DIA
;
filament_size
[
1
]
=
DEFAULT_NOMINAL_FILAMENT_DIA
;
#if EXTRUDERS > 2
filament_size
[
2
]
=
DEFAULT_NOMINAL_FILAMENT_DIA
;
filament_size
[
2
]
=
DEFAULT_NOMINAL_FILAMENT_DIA
;
#if EXTRUDERS > 3
filament_size
[
3
]
=
DEFAULT_NOMINAL_FILAMENT_DIA
;
filament_size
[
3
]
=
DEFAULT_NOMINAL_FILAMENT_DIA
;
#endif //EXTRUDERS > 3
#endif //EXTRUDERS > 2
#endif //EXTRUDERS > 1
calculate_volumetric_multipliers
();
calculate_volumetric_multipliers
();
SERIAL_ECHO_START
;
SERIAL_ECHOLNPGM
(
"Hardcoded Default Settings Loaded"
);
...
...
MarlinKimbra/Marlin.h
View file @
55eff722
...
...
@@ -41,25 +41,6 @@
#include "HardwareSerial.h"
#endif
#ifdef __GNUC__
#ifndef GCC_VERSION2
#define GCC_VERSION2 (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
#endif
#if GCC_VERSION2 < 40602 // Test for GCC < 4.6.2
#ifdef PROGMEM
#define MARLIN_PROGMEM __attribute__((section(".progmem.data")))
#ifdef PSTR
#undef PSTR
#define PSTR(s) (__extension__({static const prog_char __c[] MARLIN_PROGMEM = (s); &__c[0];})) // Copied from pgmspace.h in avr-libc source
#endif
#endif
#endif
#endif
#include "MarlinSerial.h"
#ifndef cbi
...
...
MarlinKimbra/Marlin_main.cpp
View file @
55eff722
...
...
@@ -403,8 +403,8 @@ bool cancel_heatup = false ;
int
laser_ttl_modulation
=
0
;
#endif
const
prog_char
errormagic
[]
MARLIN_
PROGMEM
=
"Error:"
;
const
prog_char
echomagic
[]
MARLIN_
PROGMEM
=
"echo:"
;
const
char
errormagic
[]
PROGMEM
=
"Error:"
;
const
char
echomagic
[]
PROGMEM
=
"echo:"
;
//===========================================================================
//=============================Private Variables=============================
...
...
@@ -971,7 +971,7 @@ DEFINE_PGM_READ_ANY(float, float);
DEFINE_PGM_READ_ANY
(
signed
char
,
byte
);
#define XYZ_CONSTS_FROM_CONFIG(type, array, CONFIG) \
static const
type array##_P[3] MARLIN_PROGMEM =
\
static const
PROGMEM type array##_P[3] =
\
{ X_##CONFIG, Y_##CONFIG, Z_##CONFIG }; \
static inline type array(int axis) \
{ return pgm_read_any(&array##_P[axis]); }
...
...
MarlinKimbra/speed_lookuptable.h
View file @
55eff722
...
...
@@ -5,7 +5,7 @@
#if F_CPU == 16000000
const
prog_uint16_t
speed_lookuptable_fast
[
256
][
2
]
MARLIN_
PROGMEM
=
{
\
const
uint16_t
speed_lookuptable_fast
[
256
][
2
]
PROGMEM
=
{
\
{
62500
,
55556
},
{
6944
,
3268
},
{
3676
,
1176
},
{
2500
,
607
},
{
1893
,
369
},
{
1524
,
249
},
{
1275
,
179
},
{
1096
,
135
},
{
961
,
105
},
{
856
,
85
},
{
771
,
69
},
{
702
,
58
},
{
644
,
49
},
{
595
,
42
},
{
553
,
37
},
{
516
,
32
},
{
484
,
28
},
{
456
,
25
},
{
431
,
23
},
{
408
,
20
},
{
388
,
19
},
{
369
,
16
},
{
353
,
16
},
{
337
,
14
},
...
...
@@ -40,7 +40,7 @@ const prog_uint16_t speed_lookuptable_fast[256][2] MARLIN_PROGMEM = {\
{
31
,
0
},
{
31
,
0
},
{
31
,
0
},
{
31
,
1
},
{
30
,
0
},
{
30
,
0
},
{
30
,
0
},
{
30
,
0
}
};
const
prog_uint16_t
speed_lookuptable_slow
[
256
][
2
]
MARLIN_
PROGMEM
=
{
\
const
uint16_t
speed_lookuptable_slow
[
256
][
2
]
PROGMEM
=
{
\
{
62500
,
12500
},
{
50000
,
8334
},
{
41666
,
5952
},
{
35714
,
4464
},
{
31250
,
3473
},
{
27777
,
2777
},
{
25000
,
2273
},
{
22727
,
1894
},
{
20833
,
1603
},
{
19230
,
1373
},
{
17857
,
1191
},
{
16666
,
1041
},
{
15625
,
920
},
{
14705
,
817
},
{
13888
,
731
},
{
13157
,
657
},
{
12500
,
596
},
{
11904
,
541
},
{
11363
,
494
},
{
10869
,
453
},
{
10416
,
416
},
{
10000
,
385
},
{
9615
,
356
},
{
9259
,
331
},
...
...
@@ -77,7 +77,7 @@ const prog_uint16_t speed_lookuptable_slow[256][2] MARLIN_PROGMEM = {\
#elif F_CPU == 20000000
const
uint16_t
speed_lookuptable_fast
[
256
][
2
]
MARLIN_
PROGMEM
=
{
const
uint16_t
speed_lookuptable_fast
[
256
][
2
]
PROGMEM
=
{
{
62500
,
54055
},
{
8445
,
3917
},
{
4528
,
1434
},
{
3094
,
745
},
{
2349
,
456
},
{
1893
,
307
},
{
1586
,
222
},
{
1364
,
167
},
{
1197
,
131
},
{
1066
,
105
},
{
961
,
86
},
{
875
,
72
},
{
803
,
61
},
{
742
,
53
},
{
689
,
45
},
{
644
,
40
},
{
604
,
35
},
{
569
,
32
},
{
537
,
28
},
{
509
,
25
},
{
484
,
23
},
{
461
,
21
},
{
440
,
19
},
{
421
,
17
},
...
...
@@ -112,7 +112,7 @@ const uint16_t speed_lookuptable_fast[256][2] MARLIN_PROGMEM = {
{
39
,
0
},
{
39
,
0
},
{
39
,
1
},
{
38
,
0
},
{
38
,
0
},
{
38
,
0
},
{
38
,
0
},
{
38
,
0
},
};
const
uint16_t
speed_lookuptable_slow
[
256
][
2
]
MARLIN_
PROGMEM
=
{
const
uint16_t
speed_lookuptable_slow
[
256
][
2
]
PROGMEM
=
{
{
62500
,
10417
},
{
52083
,
7441
},
{
44642
,
5580
},
{
39062
,
4340
},
{
34722
,
3472
},
{
31250
,
2841
},
{
28409
,
2368
},
{
26041
,
2003
},
{
24038
,
1717
},
{
22321
,
1488
},
{
20833
,
1302
},
{
19531
,
1149
},
{
18382
,
1021
},
{
17361
,
914
},
{
16447
,
822
},
{
15625
,
745
},
{
14880
,
676
},
{
14204
,
618
},
{
13586
,
566
},
{
13020
,
520
},
{
12500
,
481
},
{
12019
,
445
},
{
11574
,
414
},
{
11160
,
385
},
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment