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
fa734abf
Commit
fa734abf
authored
Aug 30, 2015
by
MagoKimbra
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
FIX ENABLED and DISABLED
parent
0fa71d48
Changes
26
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
26 changed files
with
604 additions
and
602 deletions
+604
-602
Configuration_Core.h
MarlinKimbra/Configuration_Core.h
+22
-15
Configuration_Delta.h
MarlinKimbra/Configuration_Delta.h
+33
-34
Configuration_Pins.h
MarlinKimbra/Configuration_Pins.h
+14
-10
Configuration_Scara.h
MarlinKimbra/Configuration_Scara.h
+13
-13
Marlin_main.cpp
MarlinKimbra/Marlin_main.cpp
+16
-16
blinkm.cpp
MarlinKimbra/blinkm.cpp
+1
-1
blinkm.h
MarlinKimbra/blinkm.h
+1
-1
boards.h
MarlinKimbra/boards.h
+1
-1
buzzer.cpp
MarlinKimbra/buzzer.cpp
+1
-2
cardreader.cpp
MarlinKimbra/cardreader.cpp
+1
-2
conditionals.h
MarlinKimbra/conditionals.h
+6
-5
configuration_feature.h
MarlinKimbra/configuration_feature.h
+1
-1
language.h
MarlinKimbra/language.h
+5
-5
macros.h
MarlinKimbra/macros.h
+2
-8
qr_solve.cpp
MarlinKimbra/qr_solve.cpp
+8
-28
qr_solve.h
MarlinKimbra/qr_solve.h
+4
-1
sanitycheck.h
MarlinKimbra/sanitycheck.h
+425
-425
stepper.cpp
MarlinKimbra/stepper.cpp
+4
-4
temperature.cpp
MarlinKimbra/temperature.cpp
+12
-5
thermistortables.h
MarlinKimbra/thermistortables.h
+10
-10
ultralcd.cpp
MarlinKimbra/ultralcd.cpp
+13
-7
ultralcd.h
MarlinKimbra/ultralcd.h
+3
-3
ultralcd_implementation_hitachi_HD44780.h
MarlinKimbra/ultralcd_implementation_hitachi_HD44780.h
+2
-2
vector_3.cpp
MarlinKimbra/vector_3.cpp
+2
-1
vector_3.h
MarlinKimbra/vector_3.h
+2
-1
watchdog.cpp
MarlinKimbra/watchdog.cpp
+2
-1
No files found.
MarlinKimbra/Configuration_Core.h
View file @
fa734abf
...
...
@@ -4,8 +4,8 @@
/*
* This configuration file contains mechanism settings for cartesian printer.
*
* - Core settings
* - Machine name
* - Core settings
* - Endstop pullup resistors
* - Endstops logic
* - Endstops min or max
...
...
@@ -28,20 +28,6 @@
* Pins-settings can be found in "Configuration_Pins.h"
*/
/*****************************************************************************************
************************************* Core settings *************************************
/****************************************************************************************/
//This define the moltiplicator axis from X to Y or Z in COREXY or COREXZ.
//Example:
//COREXY set COREX_XZ_FACTOR 1
//The result is:
//X = dX + COREX_YZ_FACTOR * dY = dX + 1 * dY = dX + dY
//Y = dX - COREX_YZ_FACTOR * dY = dX - 1 * dY = dX - dY
//Z = dZ
#define COREX_YZ_FACTOR 1
/*****************************************************************************************/
/*****************************************************************************************
************************************* Machine name **************************************
*****************************************************************************************
...
...
@@ -54,6 +40,27 @@
/*****************************************************************************************/
/*****************************************************************************************
************************************* Core settings *************************************
*****************************************************************************************
* This define the moltiplicator axis from X to Y or Z in COREXY or COREXZ. *
* Example: *
* COREXY set COREX_XZ_FACTOR 1 *
* The result is: *
* X = dX + COREX_YZ_FACTOR * dY = dX + 1 * dY = dX + dY *
* Y = dX - COREX_YZ_FACTOR * dY = dX - 1 * dY = dX - dY *
* Z = dZ *
* *
* COREXZ set COREX_XZ_FACTOR -3 *
* The result is: *
* X = dX + COREX_YZ_FACTOR * dZ = dX + -3 * dZ = dX - 3dZ *
* Y = dY *
* Z = dX - COREX_YZ_FACTOR * dZ = dX - -3 * dZ = dX + 3dZ *
******************************************************************************************/
#define COREX_YZ_FACTOR 1
/*****************************************************************************************/
/*****************************************************************************************
****************************** Endstop pullup resistors *********************************
*****************************************************************************************/
...
...
MarlinKimbra/Configuration_Delta.h
View file @
fa734abf
*
Pins
-
settings
can
be
found
in
"Configuration_Pins.h"
#
ifndef
CONFIGURATION_MECHANISM
#ifndef CONFIGURATION_MECHANISM
#define CONFIGURATION_MECHANISM
#define KNOWN_MECH 1
/*
* This configuration file contains mechanism settings for cartesian printer.
*
* - Delta settings
* - Machine name
* - Delta settings
* - Endstop pullup resistors
* - Endstops logic
* - Endstops min or max
...
...
@@ -29,6 +28,18 @@
* Pins-settings can be found in "Configuration_Pins.h"
*/
/*****************************************************************************************
************************************* Machine name **************************************
*****************************************************************************************
* *
* This to set a custom name for your generic Mendel. *
* Displayed in the LCD "Ready" message. *
* *
*****************************************************************************************/
#define CUSTOM_MACHINE_NAME "Prusa"
/*****************************************************************************************/
/*****************************************************************************************
******************************** Delta configuration ************************************
****************************************************************************************/
...
...
@@ -96,18 +107,6 @@
/*****************************************************************************************/
/*****************************************************************************************
************************************* Machine name **************************************
*****************************************************************************************
* *
* This to set a custom name for your generic Mendel. *
* Displayed in the LCD "Ready" message. *
* *
*****************************************************************************************/
#define CUSTOM_MACHINE_NAME "Prusa"
/*****************************************************************************************/
/*****************************************************************************************
****************************** Endstop pullup resistors *********************************
*****************************************************************************************/
...
...
@@ -228,6 +227,25 @@
/*****************************************************************************************/
/*****************************************************************************************
******************************** Manual home positions **********************************
/*****************************************************************************************
* *
* Manual Bed Leveling (MBL) or Auto Bed Leveling (ABL) settings *
* Set the rectangle in which to probe in MBL or ABL. *
* *
*****************************************************************************************/
// The position of the homing switches
#define MANUAL_HOME_POSITIONS // If defined, MANUAL_*_HOME_POS below will be used
#define BED_CENTER_AT_0_0 // If defined, the center of the bed is at (X=0, Y=0)
//Manual homing switch locations:
#define MANUAL_X_HOME_POS 0
#define MANUAL_Y_HOME_POS 0
#define MANUAL_Z_HOME_POS 200 // Distance between nozzle and print surface after homing.
/*****************************************************************************************/
/*****************************************************************************************
************************************ Travel limits **************************************
*****************************************************************************************
...
...
@@ -252,25 +270,6 @@
/*****************************************************************************************/
/*****************************************************************************************
******************************** Manual home positions **********************************
/*****************************************************************************************
* *
* Manual Bed Leveling (MBL) or Auto Bed Leveling (ABL) settings *
* Set the rectangle in which to probe in MBL or ABL. *
* *
*****************************************************************************************/
// The position of the homing switches
#define MANUAL_HOME_POSITIONS // If defined, MANUAL_*_HOME_POS below will be used
#define BED_CENTER_AT_0_0 // If defined, the center of the bed is at (X=0, Y=0)
//Manual homing switch locations:
#define MANUAL_X_HOME_POS 0
#define MANUAL_Y_HOME_POS 0
#define MANUAL_Z_HOME_POS 200 // Distance between nozzle and print surface after homing.
/*****************************************************************************************/
/*****************************************************************************************
******************************* Axis steps per unit *************************************
*****************************************************************************************/
...
...
MarlinKimbra/Configuration_Pins.h
View file @
fa734abf
...
...
@@ -58,17 +58,17 @@
#define TEMP_BED_PIN ORIG_TEMP_BED_PIN
//FAN pin
#define FAN_PIN ORIG_FAN_PIN
#define FAN_PIN
ORIG_FAN_PIN
//==================================================================
==========
//==================================================================
//=========================== FEATURE ==============================
#if ENABLED(MKR4)
#define E0E1_CHOICE_PIN -1
#define E0E2_CHOICE_PIN -1
#define E0E3_CHOICE_PIN -1
#define E1E3_CHOICE_PIN -1
#define E0E1_CHOICE_PIN
-1
#define E0E2_CHOICE_PIN
-1
#define E0E3_CHOICE_PIN
-1
#define E1E3_CHOICE_PIN
-1
#endif //MKR4
#if ENABLED(NPR2)
...
...
@@ -113,13 +113,17 @@
#if ENABLED(X2_IS_TMC)
#define X2_ENABLE_PIN -1
#define X2_STEP_PIN -1
#define X2_DIR_PIN -1
#define X2_STEP_PIN
-1
#define X2_DIR_PIN
-1
#endif
#if ENABLED(Z_PROBE_SLED)
#define SLED_PIN -1
#define SLED_PIN
-1
#endif
//============================================================================
#if ENABLED(Z_PROBE_ENDSTOP)
#define Z_PROBE_PIN -1
#endif
//====================================================================
#endif
\ No newline at end of file
MarlinKimbra/Configuration_Scara.h
View file @
fa734abf
...
...
@@ -5,8 +5,8 @@
/*
* This configuration file contains mechanism settings for cartesian printer.
*
* - Scara settings
* - Machine name
* - Scara settings
* - Endstop pullup resistors
* - Endstops logic
* - Endstops min or max
...
...
@@ -29,6 +29,18 @@
* Pins-settings can be found in "Configuration_Pins.h"
*/
/*****************************************************************************************
************************************* Machine name **************************************
*****************************************************************************************
* *
* This to set a custom name for your generic Mendel. *
* Displayed in the LCD "Ready" message. *
* *
*****************************************************************************************/
#define CUSTOM_MACHINE_NAME "Scara"
/*****************************************************************************************/
/*****************************************************************************************
************************************* Scara settings *************************************
/****************************************************************************************/
...
...
@@ -54,18 +66,6 @@
/*****************************************************************************************/
/*****************************************************************************************
************************************* Machine name **************************************
*****************************************************************************************
* *
* This to set a custom name for your generic Mendel. *
* Displayed in the LCD "Ready" message. *
* *
*****************************************************************************************/
#define CUSTOM_MACHINE_NAME "Scara"
/*****************************************************************************************/
/*****************************************************************************************
****************************** Endstop pullup resistors *********************************
*****************************************************************************************/
...
...
MarlinKimbra/Marlin_main.cpp
View file @
fa734abf
...
...
@@ -816,7 +816,7 @@ void setup() {
ECHO_LM
(
DB
,
MSG_MARLIN
" "
BUILD_VERSION
);
#if E
XIST(STRING_DISTRIBUTION_DATE) && EXIST
(STRING_CONFIG_H_AUTHOR)
#if E
NABLED(STRING_DISTRIBUTION_DATE) && ENABLED
(STRING_CONFIG_H_AUTHOR)
ECHO_LM
(
DB
,
MSG_CONFIGURATION_VER
STRING_DISTRIBUTION_DATE
MSG_AUTHOR
STRING_CONFIG_H_AUTHOR
);
ECHO_LM
(
DB
,
MSG_COMPILED
__DATE__
);
#endif // STRING_DISTRIBUTION_DATE
...
...
@@ -946,7 +946,7 @@ void get_command() {
if
(
drain_queued_commands_P
())
return
;
// priority is given to non-serial commands
#if E
XIST
(NO_TIMEOUTS)
#if E
NABLED
(NO_TIMEOUTS)
static
millis_t
last_command_time
=
0
;
millis_t
ms
=
millis
();
...
...
@@ -961,7 +961,7 @@ void get_command() {
//
while
(
MYSERIAL
.
available
()
>
0
&&
commands_in_queue
<
BUFSIZE
)
{
#if E
XIST
(NO_TIMEOUTS)
#if E
NABLED
(NO_TIMEOUTS)
last_command_time
=
ms
;
#endif
...
...
@@ -3744,7 +3744,8 @@ inline void gcode_G28() {
clean_up_after_endstop_move
();
// solve lsq problem
double
*
plane_equation_coefficients
=
qr_solve
(
abl2
,
3
,
eqnAMatrix
,
eqnBVector
);
double
plane_equation_coefficients
[
3
];
qr_solve
(
plane_equation_coefficients
,
abl2
,
3
,
eqnAMatrix
,
eqnBVector
);
if
(
verbose_level
)
{
ECHO_SMV
(
DB
,
"Eqn coefficients: a: "
,
plane_equation_coefficients
[
0
],
8
);
...
...
@@ -3753,7 +3754,6 @@ inline void gcode_G28() {
}
if
(
!
dryrun
)
set_bed_level_equation_lsq
(
plane_equation_coefficients
);
free
(
plane_equation_coefficients
);
matrix_3x3
inverse_bed_level_matrix
=
matrix_3x3
::
transpose
(
plan_bed_level_matrix
);
// inverse bed level matrix
// In the special case of an rotation matrix "the inverse" = "the transposed" matrix.
...
...
@@ -5157,14 +5157,14 @@ inline void gcode_M105() {
#endif
ECHO_M
(
" "
MSG_AT
);
#if E
XIST
(HOTEND_WATTS)
#if E
NABLED
(HOTEND_WATTS)
ECHO_VM
((
HOTEND_WATTS
*
getHeaterPower
(
target_extruder
))
/
127
,
"W"
);
#else
ECHO_V
(
getHeaterPower
(
target_extruder
));
#endif
ECHO_M
(
" "
MSG_BAT
);
#if E
XIST
(BED_WATTS)
#if E
NABLED
(BED_WATTS)
ECHO_VM
((
BED_WATTS
*
getHeaterPower
(
-
1
))
/
127
,
"W"
);
#else
ECHO_V
(
getHeaterPower
(
-
1
));
...
...
@@ -6332,7 +6332,7 @@ inline void gcode_M503() {
//retract by E
if
(
code_seen
(
'E'
))
destination
[
E_AXIS
]
+=
code_value
();
#if E
XIST
(FILAMENTCHANGE_FIRSTRETRACT)
#if E
NABLED
(FILAMENTCHANGE_FIRSTRETRACT)
else
destination
[
E_AXIS
]
+=
FILAMENTCHANGE_FIRSTRETRACT
;
#endif
...
...
@@ -6340,7 +6340,7 @@ inline void gcode_M503() {
//lift Z
if
(
code_seen
(
'Z'
))
destination
[
Z_AXIS
]
+=
code_value
();
#if E
XIST
(FILAMENTCHANGE_ZADD)
#if E
NABLED
(FILAMENTCHANGE_ZADD)
else
destination
[
Z_AXIS
]
+=
FILAMENTCHANGE_ZADD
;
#endif
...
...
@@ -6348,19 +6348,19 @@ inline void gcode_M503() {
//move xy
if
(
code_seen
(
'X'
))
destination
[
X_AXIS
]
=
code_value
();
#if E
XIST
(FILAMENTCHANGE_XPOS)
#if E
NABLED
(FILAMENTCHANGE_XPOS)
else
destination
[
X_AXIS
]
=
FILAMENTCHANGE_XPOS
;
#endif
if
(
code_seen
(
'Y'
))
destination
[
Y_AXIS
]
=
code_value
();
#if E
XIST
(FILAMENTCHANGE_YPOS)
#if E
NABLED
(FILAMENTCHANGE_YPOS)
else
destination
[
Y_AXIS
]
=
FILAMENTCHANGE_YPOS
;
#endif
RUNPLAN
if
(
code_seen
(
'L'
))
destination
[
E_AXIS
]
+=
code_value
();
#if E
XIST
(FILAMENTCHANGE_FINALRETRACT)
#if E
NABLED
(FILAMENTCHANGE_FINALRETRACT)
else
destination
[
E_AXIS
]
+=
FILAMENTCHANGE_FINALRETRACT
;
#endif
...
...
@@ -6425,7 +6425,7 @@ inline void gcode_M503() {
//return to normal
if
(
code_seen
(
'L'
))
destination
[
E_AXIS
]
-=
code_value
();
#if E
XIST
(FILAMENTCHANGE_FINALRETRACT)
#if E
NABLED
(FILAMENTCHANGE_FINALRETRACT)
else
destination
[
E_AXIS
]
-=
FILAMENTCHANGE_FINALRETRACT
;
#endif
...
...
@@ -6613,13 +6613,13 @@ inline void gcode_M907() {
if
(
code_seen
(
'B'
))
digipot_current
(
4
,
code_value
());
if
(
code_seen
(
'S'
))
for
(
int
i
=
0
;
i
<=
4
;
i
++
)
digipot_current
(
i
,
code_value
());
#endif
#if E
XIST
(MOTOR_CURRENT_PWM_XY_PIN)
#if E
NABLED
(MOTOR_CURRENT_PWM_XY_PIN)
if
(
code_seen
(
'X'
))
digipot_current
(
0
,
code_value
());
#endif
#if E
XIST
(MOTOR_CURRENT_PWM_Z_PIN)
#if E
NABLED
(MOTOR_CURRENT_PWM_Z_PIN)
if
(
code_seen
(
'Z'
))
digipot_current
(
1
,
code_value
());
#endif
#if E
XIST
(MOTOR_CURRENT_PWM_E_PIN)
#if E
NABLED
(MOTOR_CURRENT_PWM_E_PIN)
if
(
code_seen
(
'E'
))
digipot_current
(
2
,
code_value
());
#endif
#if ENABLED(DIGIPOT_I2C)
...
...
MarlinKimbra/blinkm.cpp
View file @
fa734abf
...
...
@@ -19,4 +19,4 @@ void SendColors(byte red, byte grn, byte blu) {
Wire
.
endTransmission
();
}
#endif
\ No newline at end of file
#endif
MarlinKimbra/blinkm.h
View file @
fa734abf
...
...
@@ -8,4 +8,4 @@
void
SendColors
(
byte
red
,
byte
grn
,
byte
blu
);
#endif
\ No newline at end of file
#endif
MarlinKimbra/boards.h
View file @
fa734abf
...
...
@@ -69,4 +69,4 @@
#define MB(board) (MOTHERBOARD==BOARD_##board)
#endif
\ No newline at end of file
#endif
MarlinKimbra/buzzer.cpp
View file @
fa734abf
#include "base.h"
#if HAS(BUZZER)
...
...
@@ -35,4 +34,4 @@ void buzz(long duration, uint16_t freq) {
delay
(
duration
);
}
}
#endif
\ No newline at end of file
#endif
MarlinKimbra/cardreader.cpp
View file @
fa734abf
#include "base.h"
#if ENABLED(SDSUPPORT)
...
...
@@ -664,4 +663,4 @@ void CardReader::printingHasFinished() {
autotempShutdown
();
}
}
#endif
\ No newline at end of file
#endif
MarlinKimbra/conditionals.h
View file @
fa734abf
...
...
@@ -108,11 +108,11 @@
#define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander
#define LCD_USE_I2C_BUZZER //comment out to disable buzzer on LCD
#if
NOTEXIST
(ENCODER_PULSES_PER_STEP)
#if
DISABLED
(ENCODER_PULSES_PER_STEP)
#define ENCODER_PULSES_PER_STEP 4
#endif
#if
NOTEXIST
(ENCODER_STEPS_PER_MENU_ITEM)
#if
DISABLED
(ENCODER_STEPS_PER_MENU_ITEM)
#define ENCODER_STEPS_PER_MENU_ITEM 1
#endif
...
...
@@ -204,7 +204,7 @@
/**
* Default LCD contrast for dogm-like LCD displays
*/
#if ENABLED(DOGLCD) &&
NOTEXIST
(DEFAULT_LCD_CONTRAST)
#if ENABLED(DOGLCD) &&
DISABLED
(DEFAULT_LCD_CONTRAST)
#define DEFAULT_LCD_CONTRAST 32
#endif
...
...
@@ -429,7 +429,7 @@
* Power Signal Control Definitions
* By default use Normal definition
*/
#if
NOTEXIST
(POWER_SUPPLY)
#if
DISABLED
(POWER_SUPPLY)
#define POWER_SUPPLY 0
#endif
#if (POWER_SUPPLY == 1) // 1 = ATX
...
...
@@ -580,7 +580,7 @@
#define HAS_Z_MAX (PIN_EXISTS(Z_MAX))
#define HAS_Z2_MIN (PIN_EXISTS(Z2_MIN))
#define HAS_Z2_MAX (PIN_EXISTS(Z2_MAX))
#define HAS_Z_PROBE (PIN_EXISTS(Z_PROBE))
#define HAS_Z_PROBE (
ENABLED(Z_PROBE_ENDSTOP) &&
PIN_EXISTS(Z_PROBE))
#define HAS_E_MIN (PIN_EXISTS(E_MIN))
#define HAS_SOLENOID_1 (PIN_EXISTS(SOL1))
#define HAS_SOLENOID_2 (PIN_EXISTS(SOL2))
...
...
@@ -627,6 +627,7 @@
#define HAS_E1E3 (PIN_EXISTS(E1E3_CHOICE))
#define HAS_BTN_BACK (PIN_EXISTS(BTN_BACK))
#define HAS_POWER_SWITCH (POWER_SUPPLY > 0 && PIN_EXISTS(PS_ON))
#define HAS_MOTOR_CURRENT_PWM_XY (PIN_EXISTS(MOTOR_CURRENT_PWM_XY))
#define HAS_DIGIPOTSS (DIGIPOTSS_PIN >= 0)
...
...
MarlinKimbra/configuration_feature.h
View file @
fa734abf
...
...
@@ -1327,7 +1327,7 @@
* *
***********************************************************************/
//#define STEPPER_HIGH_LOW
//
#define STEPPER_HIGH_LOW_DELAY 1u // Delay in microseconds
#define STEPPER_HIGH_LOW_DELAY 1u // Delay in microseconds
/***********************************************************************/
...
...
MarlinKimbra/language.h
View file @
fa734abf
...
...
@@ -23,7 +23,7 @@
// 13 Basque-Euskera
// 14 Portuguese (Brazil)
#if
NOTEXIST
(LANGUAGE_CHOICE)
#if
DISABLED
(LANGUAGE_CHOICE)
#define LANGUAGE_CHOICE 7 // Pick your language from the list above
#endif
...
...
@@ -45,20 +45,20 @@
#elif MB(SAV_MKI)
#define MACHINE_NAME "SAV MkI"
#define SOURCE_CODE_URL "https://github.com/fmalpartida/Marlin/tree/SAV-MkI-config"
#elif
NOTEXIST
(MACHINE_NAME)
#elif
DISABLED
(MACHINE_NAME)
#define MACHINE_NAME "3D Printer"
#endif
#if E
XIST
(CUSTOM_MACHINE_NAME)
#if E
NABLED
(CUSTOM_MACHINE_NAME)
#undef MACHINE_NAME
#define MACHINE_NAME CUSTOM_MACHINE_NAME
#endif
#if
NOTEXIST
(SOURCE_CODE_URL)
#if
DISABLED
(SOURCE_CODE_URL)
#define SOURCE_CODE_URL "https://github.com/MagoKimbra/MarlinKimbra"
#endif
#if
NOTEXIST
(BUILD_VERSION)
#if
DISABLED
(BUILD_VERSION)
#define BUILD_VERSION "V4; MarlinKimbra for 4 extruder"
#endif
...
...
MarlinKimbra/macros.h
View file @
fa734abf
...
...
@@ -14,14 +14,8 @@
#define COS_60 0.5
// Macros to support option testing
#define _CAT(a, ...) a ## __VA_ARGS__
#define SWITCH_ENABLED_0 0
#define SWITCH_ENABLED_1 1
#define SWITCH_ENABLED_ 1
#define ENABLED(b) _CAT(SWITCH_ENABLED_, b)
#define DISABLED(b) (!_CAT(SWITCH_ENABLED_, b))
#define EXIST defined
#define NOTEXIST !defined
#define ENABLED defined
#define DISABLED !defined
#define PIN_EXISTS(PN) (defined(PN##_PIN) && PN##_PIN >= 0)
#define HAS(FE) (HAS_##FE)
#define HASNT(FE) (!(HAS_##FE))
...
...
MarlinKimbra/qr_solve.cpp
View file @
fa734abf
...
...
@@ -258,7 +258,7 @@ double r8mat_amax ( int m, int n, double a[] )
return
value
;
}
double
*
r8mat_copy_new
(
int
m
,
int
n
,
double
a1
[]
)
void
r8mat_copy
(
double
a2
[],
int
m
,
int
n
,
double
a1
[]
)
/******************************************************************************/
/*
...
...
@@ -292,12 +292,9 @@ double *r8mat_copy_new ( int m, int n, double a1[] )
Output, double R8MAT_COPY_NEW[M*N], the copy of A1.
*/
{
double
*
a2
;
int
i
;
int
j
;
a2
=
(
double
*
)
malloc
(
m
*
n
*
sizeof
(
double
)
);
for
(
j
=
0
;
j
<
n
;
j
++
)
{
for
(
i
=
0
;
i
<
m
;
i
++
)
...
...
@@ -305,8 +302,6 @@ double *r8mat_copy_new ( int m, int n, double a1[] )
a2
[
i
+
j
*
m
]
=
a1
[
i
+
j
*
m
];
}
}
return
a2
;
}
/******************************************************************************/
...
...
@@ -724,14 +719,13 @@ void dqrank ( double a[], int lda, int m, int n, double tol, int *kr,
int
j
;
int
job
;
int
k
;
double
*
work
;
double
work
[
n
]
;
for
(
i
=
0
;
i
<
n
;
i
++
)
{
jpvt
[
i
]
=
0
;
}
work
=
(
double
*
)
malloc
(
n
*
sizeof
(
double
)
);
job
=
1
;
dqrdc
(
a
,
lda
,
m
,
n
,
qraux
,
jpvt
,
work
,
job
);
...
...
@@ -748,8 +742,6 @@ void dqrank ( double a[], int lda, int m, int n, double tol, int *kr,
*
kr
=
j
+
1
;
}
free
(
work
);
return
;
}
/******************************************************************************/
...
...
@@ -1843,7 +1835,7 @@ void dswap ( int n, double x[], int incx, double y[], int incy )
/******************************************************************************/
double
*
qr_solve
(
int
m
,
int
n
,
double
a
[],
double
b
[]
)
void
qr_solve
(
double
x
[],
int
m
,
int
n
,
double
a
[],
double
b
[]
)
/******************************************************************************/
/*
...
...
@@ -1893,34 +1885,22 @@ double *qr_solve ( int m, int n, double a[], double b[] )
Output, double QR_SOLVE[N], the least squares solution.
*/
{
double
*
a_qr
;
double
a_qr
[
n
*
m
]
;
int
ind
;
int
itask
;
int
*
jpvt
;
int
jpvt
[
n
]
;
int
kr
;
int
lda
;
double
*
qraux
;
double
*
r
;
double
qraux
[
n
]
;
double
r
[
m
]
;
double
tol
;
double
*
x
;
a_qr
=
r8mat_copy_new
(
m
,
n
,
a
);
r8mat_copy
(
a_qr
,
m
,
n
,
a
);
lda
=
m
;
tol
=
r8_epsilon
(
)
/
r8mat_amax
(
m
,
n
,
a_qr
);
x
=
(
double
*
)
malloc
(
n
*
sizeof
(
double
)
);
jpvt
=
(
int
*
)
malloc
(
n
*
sizeof
(
int
)
);
qraux
=
(
double
*
)
malloc
(
n
*
sizeof
(
double
)
);
r
=
(
double
*
)
malloc
(
m
*
sizeof
(
double
)
);
itask
=
1
;
ind
=
dqrls
(
a_qr
,
lda
,
m
,
n
,
tol
,
&
kr
,
b
,
x
,
r
,
jpvt
,
qraux
,
itask
);
free
(
a_qr
);
free
(
jpvt
);
free
(
qraux
);
free
(
r
);
return
x
;
}
/******************************************************************************/
...
...
MarlinKimbra/qr_solve.h
View file @
fa734abf
#if ENABLED(AUTO_BED_LEVELING_GRID)
#ifndef QR_SOLVE_H
#define QR_SOLVE_H
...
...
@@ -16,6 +18,7 @@ int dqrsl ( double a[], int lda, int n, int k, double qraux[], double y[],
double
qy
[],
double
qty
[],
double
b
[],
double
rsd
[],
double
ab
[],
int
job
);
void
dscal
(
int
n
,
double
sa
,
double
x
[],
int
incx
);
void
dswap
(
int
n
,
double
x
[],
int
incx
,
double
y
[],
int
incy
);
double
*
qr_solve
(
int
m
,
int
n
,
double
a
[],
double
b
[]
);
void
qr_solve
(
double
x
[],
int
m
,
int
n
,
double
a
[],
double
b
[]
);
#endif
#endif
\ No newline at end of file
MarlinKimbra/sanitycheck.h
View file @
fa734abf
This diff is collapsed.
Click to expand it.
MarlinKimbra/stepper.cpp
View file @
fa734abf
...
...
@@ -613,7 +613,7 @@ ISR(TIMER1_COMPA_vect) {
if
(
cleaning_buffer_counter
)
{
current_block
=
NULL
;
plan_discard_current_block
();
#if E
XIST
(SD_FINISHED_RELEASECOMMAND)
#if E
NABLED
(SD_FINISHED_RELEASECOMMAND)
if
((
cleaning_buffer_counter
==
1
)
&&
(
SD_FINISHED_STEPPERRELEASE
))
enqueuecommands_P
(
PSTR
(
SD_FINISHED_RELEASECOMMAND
));
#endif
cleaning_buffer_counter
--
;
...
...
@@ -1017,7 +1017,7 @@ void st_init() {
#endif
#endif
#if HAS(Z_PROBE)
&& ENABLED(Z_PROBE_ENDSTOP)
// Check for Z_PROBE_ENDSTOP so we don't pull a pin high unless it's to be used.
#if HAS(Z_PROBE) // Check for Z_PROBE_ENDSTOP so we don't pull a pin high unless it's to be used.
SET_INPUT
(
Z_PROBE_PIN
);
#if ENABLED(ENDSTOPPULLUP_ZPROBE)
WRITE
(
Z_PROBE_PIN
,
HIGH
);
...
...
@@ -1282,7 +1282,7 @@ void digipot_init() {
digipot_current
(
i
,
digipot_motor_current
[
i
]);
}
#endif
#if
ENABLED(MOTOR_CURRENT_PWM_XY_PIN
)
#if
HAS(MOTOR_CURRENT_PWM_XY
)
pinMode
(
MOTOR_CURRENT_PWM_XY_PIN
,
OUTPUT
);
pinMode
(
MOTOR_CURRENT_PWM_Z_PIN
,
OUTPUT
);
pinMode
(
MOTOR_CURRENT_PWM_E_PIN
,
OUTPUT
);
...
...
@@ -1308,7 +1308,7 @@ void digipot_current(uint8_t driver, int current) {
const
uint8_t
digipot_ch
[]
=
DIGIPOT_CHANNELS
;
digitalPotWrite
(
digipot_ch
[
driver
],
current
);
#endif
#if
ENABLED(MOTOR_CURRENT_PWM_XY_PIN
)
#if
HAS(MOTOR_CURRENT_PWM_XY
)
switch
(
driver
)
{
case
0
:
analogWrite
(
MOTOR_CURRENT_PWM_XY_PIN
,
255L
*
current
/
MOTOR_CURRENT_PWM_RANGE
);
break
;
case
1
:
analogWrite
(
MOTOR_CURRENT_PWM_Z_PIN
,
255L
*
current
/
MOTOR_CURRENT_PWM_RANGE
);
break
;
...
...
MarlinKimbra/temperature.cpp
View file @
fa734abf
...
...
@@ -44,7 +44,7 @@
//================================== macros =================================
//===========================================================================
#if E
XIST
(K1) // Defined in Configuration.h in the PID settings
#if E
NABLED
(K1) // Defined in Configuration.h in the PID settings
#define K2 (1.0 - K1)
#endif
...
...
@@ -168,10 +168,10 @@ static int minttemp_raw[HOTENDS] = ARRAY_BY_HOTENDS( HEATER_0_RAW_LO_TEMP , HEAT
static
int
maxttemp_raw
[
HOTENDS
]
=
ARRAY_BY_HOTENDS
(
HEATER_0_RAW_HI_TEMP
,
HEATER_1_RAW_HI_TEMP
,
HEATER_2_RAW_HI_TEMP
,
HEATER_3_RAW_HI_TEMP
);
static
int
minttemp
[
HOTENDS
]
=
{
0
};
static
int
maxttemp
[
HOTENDS
]
=
ARRAY_BY_HOTENDS1
(
16383
);
#if E
XIST
(BED_MINTEMP)
#if E
NABLED
(BED_MINTEMP)
static
int
bed_minttemp_raw
=
HEATER_BED_RAW_LO_TEMP
;
#endif
#if E
XIST
(BED_MAXTEMP)
#if E
NABLED
(BED_MAXTEMP)
static
int
bed_maxttemp_raw
=
HEATER_BED_RAW_HI_TEMP
;
#endif
...
...
@@ -893,7 +893,7 @@ static void updateTemperaturesFromRawValues() {
float
raw_analog2voltage
()
{
return
(
5.0
*
current_raw_powconsumption
)
/
(
1023
*
OVERSAMPLENR
);
}
float
analog2voltage
()
{
float
power_zero_raw
=
(
POWER_ZERO
*
1023
*
OVERSAMPLENR
)
/
5.0
;
float
rel_raw_power
=
(
current_raw_powconsumption
<
power_zero_raw
)
?
(
2
*
power_zero_raw
-
current_raw_powconsumption
)
:
(
current_raw_powconsumption
);
...
...
@@ -907,7 +907,7 @@ static void updateTemperaturesFromRawValues() {
float
analog2power
()
{
return
(
analog2current
()
*
POWER_VOLTAGE
*
100
)
/
POWER_EFFICIENCY
;
}
float
analog2error
(
float
current
)
{
float
temp1
=
(
analog2voltage
()
/
POWER_SENSITIVITY
-
POWER_OFFSET
)
*
POWER_VOLTAGE
;
if
(
temp1
<=
0
)
return
0.0
;
...
...
@@ -1156,6 +1156,7 @@ void tp_init() {
#if ENABLED(THERMAL_PROTECTION_HOTENDS) || ENABLED(THERMAL_PROTECTION_BED)
void
thermal_runaway_protection
(
TRState
*
state
,
millis_t
*
timer
,
float
temperature
,
float
target_temperature
,
int
heater_id
,
int
period_seconds
,
int
hysteresis_degc
)
{
static
float
tr_last_temperature
=
0.0
;
static
float
tr_target_temperature
[
HOTENDS
+
1
]
=
{
0.0
};
/*
ECHO_SM(DB, "Thermal Thermal Runaway Running. Heater ID: ");
...
...
@@ -1180,6 +1181,7 @@ void tp_init() {
// Inactive state waits for a target temperature to be set
case
TRInactive
:
{
if
(
target_temperature
>
0
)
{
tr_last_temperature
=
temperature
;
tr_target_temperature
[
heater_index
]
=
target_temperature
;
*
timer
=
millis
();
*
state
=
TRFirstHeating
;
...
...
@@ -1190,6 +1192,11 @@ void tp_init() {
// If the heater takes too long to reach the target temperature the sistem will be halt.
case
TRFirstHeating
:
{
if
(
temperature
>=
tr_target_temperature
[
heater_index
])
*
state
=
TRStable
;
else
if
(
temperature
==
tr_last_temperature
)
{
if
(
millis
()
>
*
timer
+
period_seconds
*
1000UL
)
{
*
state
=
TRRunaway
;
}
}
else
{
*
timer
=
millis
();
}
...
...
MarlinKimbra/thermistortables.h
View file @
fa734abf
...
...
@@ -1080,7 +1080,7 @@ const short temptable_1047[][2] PROGMEM = {
#define _TT_NAME(_N) temptable_ ## _N
#define TT_NAME(_N) _TT_NAME(_N)
#if E
XIST
(THERMISTORHEATER_0)
#if E
NABLED
(THERMISTORHEATER_0)
#define HEATER_0_TEMPTABLE TT_NAME(THERMISTORHEATER_0)
#define HEATER_0_TEMPTABLE_LEN COUNT(HEATER_0_TEMPTABLE)
#else
...
...
@@ -1093,7 +1093,7 @@ const short temptable_1047[][2] PROGMEM = {
#endif
//Set the high and low raw values for the heater,this indicates which raw value is a high or low temperature
#if
NOTEXIST
(HEATER_0_RAW_HI_TEMP)
#if
DISABLED
(HEATER_0_RAW_HI_TEMP)
#if ENABLED(HEATER_0_USES_THERMISTOR) //In case of a thermistor the highest temperature results in the lowest ADC value
#define HEATER_0_RAW_HI_TEMP 0
#define HEATER_0_RAW_LO_TEMP 16383
...
...
@@ -1103,7 +1103,7 @@ const short temptable_1047[][2] PROGMEM = {
#endif
#endif
#if E
XIST
(THERMISTORHEATER_1)
#if E
NABLED
(THERMISTORHEATER_1)
#define HEATER_1_TEMPTABLE TT_NAME(THERMISTORHEATER_1)
#define HEATER_1_TEMPTABLE_LEN COUNT(HEATER_1_TEMPTABLE)
#else
...
...
@@ -1116,7 +1116,7 @@ const short temptable_1047[][2] PROGMEM = {
#endif
//Set the high and low raw values for the heater,this indicates which raw value is a high or low temperature
#if
NOTEXIST
(HEATER_1_RAW_HI_TEMP)
#if
DISABLED
(HEATER_1_RAW_HI_TEMP)
#if ENABLED(HEATER_1_USES_THERMISTOR) //In case of a thermistor the highest temperature results in the lowest ADC value
#define HEATER_1_RAW_HI_TEMP 0
#define HEATER_1_RAW_LO_TEMP 16383
...
...
@@ -1126,7 +1126,7 @@ const short temptable_1047[][2] PROGMEM = {
#endif
#endif
#if E
XIST
(THERMISTORHEATER_2)
#if E
NABLED
(THERMISTORHEATER_2)
#define HEATER_2_TEMPTABLE TT_NAME(THERMISTORHEATER_2)
#define HEATER_2_TEMPTABLE_LEN COUNT(HEATER_2_TEMPTABLE)
#else
...
...
@@ -1139,7 +1139,7 @@ const short temptable_1047[][2] PROGMEM = {
#endif
//Set the high and low raw values for the heater,this indicates which raw value is a high or low temperature
#if
NOTEXIST
(HEATER_2_RAW_HI_TEMP)
#if
DISABLED
(HEATER_2_RAW_HI_TEMP)
#if ENABLED(HEATER_2_USES_THERMISTOR) //In case of a thermistor the highest temperature results in the lowest ADC value
#define HEATER_2_RAW_HI_TEMP 0
#define HEATER_2_RAW_LO_TEMP 16383
...
...
@@ -1149,7 +1149,7 @@ const short temptable_1047[][2] PROGMEM = {
#endif
#endif
#if E
XIST
(THERMISTORHEATER_3)
#if E
NABLED
(THERMISTORHEATER_3)
#define HEATER_3_TEMPTABLE TT_NAME(THERMISTORHEATER_3)
#define HEATER_3_TEMPTABLE_LEN COUNT(HEATER_3_TEMPTABLE)
#else
...
...
@@ -1162,7 +1162,7 @@ const short temptable_1047[][2] PROGMEM = {
#endif
//Set the high and low raw values for the heater,this indicates which raw value is a high or low temperature
#if
NOTEXIST
(HEATER_3_RAW_HI_TEMP)
#if
DISABLED
(HEATER_3_RAW_HI_TEMP)
#if ENABLED(HEATER_3_USES_THERMISTOR) //In case of a thermistor the highest temperature results in the lowest ADC value
#define HEATER_3_RAW_HI_TEMP 0
#define HEATER_3_RAW_LO_TEMP 16383
...
...
@@ -1172,7 +1172,7 @@ const short temptable_1047[][2] PROGMEM = {
#endif
#endif
#if E
XIST
(THERMISTORBED)
#if E
NABLED
(THERMISTORBED)
#define BEDTEMPTABLE TT_NAME(THERMISTORBED)
#define BEDTEMPTABLE_LEN COUNT(BEDTEMPTABLE)
#else
...
...
@@ -1182,7 +1182,7 @@ const short temptable_1047[][2] PROGMEM = {
#endif
//Set the high and low raw values for the heater,this indicates which raw value is a high or low temperature
#if
NOTEXIST
(HEATER_BED_RAW_HI_TEMP)
#if
DISABLED
(HEATER_BED_RAW_HI_TEMP)
#if ENABLED(BED_USES_THERMISTOR) //In case of a thermistor the highest temperature results in the lowest ADC value
#define HEATER_BED_RAW_HI_TEMP 0
#define HEATER_BED_RAW_LO_TEMP 16383
...
...
MarlinKimbra/ultralcd.cpp
View file @
fa734abf
...
...
@@ -2,19 +2,25 @@
#include "base.h"
#if ENABLED(ULTRA_LCD)
#include "Marlin_main.h"
#if ENABLED(SDSUPPORT)
#include "cardreader.h"
#endif
#include "temperature.h"
#if ENABLED(AUTO_BED_LEVELING_FEATURE)
#include "vector_3.h"
#endif
#include "planner.h"
#include "stepper_indirection.h"
#include "stepper.h"
#include "configuration_store.h"
#include "ultralcd.h"
#if HAS(BUZZER)
#include "buzzer.h"
#endif
...
...
@@ -130,17 +136,17 @@ static void lcd_status_screen();
#define ENCODER_FEEDRATE_DEADZONE 10
#if DISABLED(LCD_I2C_VIKI)
#if
NOTEXIST
(ENCODER_STEPS_PER_MENU_ITEM)
#if
DISABLED
(ENCODER_STEPS_PER_MENU_ITEM)
#define ENCODER_STEPS_PER_MENU_ITEM 5
#endif
#if
NOTEXIST
(ENCODER_PULSES_PER_STEP)
#if
DISABLED
(ENCODER_PULSES_PER_STEP)
#define ENCODER_PULSES_PER_STEP 1
#endif
#else
#if
NOTEXIST
(ENCODER_STEPS_PER_MENU_ITEM)
#if
DISABLED
(ENCODER_STEPS_PER_MENU_ITEM)
#define ENCODER_STEPS_PER_MENU_ITEM 2 // VIKI LCD rotary encoder uses a different number of steps per rotation
#endif
#if
NOTEXIST
(ENCODER_PULSES_PER_STEP)
#if
DISABLED
(ENCODER_PULSES_PER_STEP)
#define ENCODER_PULSES_PER_STEP 1
#endif
#endif
...
...
@@ -151,7 +157,7 @@ static void lcd_status_screen();
/**
* START_MENU generates the init code for a menu function
*/
#if E
XIST
(BTN_BACK) && BTN_BACK > 0
#if E
NABLED
(BTN_BACK) && BTN_BACK > 0
#define START_MENU(last_menu) do { \
encoderRateMultiplierEnabled = false; \
if (encoderPosition > 0x8000) encoderPosition = 0; \
...
...
@@ -1945,7 +1951,7 @@ void lcd_reset_alert_level() { lcd_status_message_level = 0; }
* These values are independent of which pins are used for EN_A and EN_B indications
* The rotary encoder part is also independent to the chipset used for the LCD
*/
#if E
XIST(EN_A) && EXIST
(EN_B)
#if E
NABLED(EN_A) && ENABLED
(EN_B)
#define encrot0 0
#define encrot1 2
#define encrot2 3
...
...
@@ -1969,7 +1975,7 @@ void lcd_reset_alert_level() { lcd_status_message_level = 0; }
#if BTN_ENC > 0
millis_t
ms
=
millis
();
if
(
ms
>
next_button_update_ms
&&
READ
(
BTN_ENC
)
==
0
)
newbutton
|=
EN_C
;
#if E
XIST
(BTN_BACK) && BTN_BACK > 0
#if E
NABLED
(BTN_BACK) && BTN_BACK > 0
if
(
ms
>
next_button_update_ms
&&
READ
(
BTN_BACK
)
==
0
)
newbutton
|=
EN_D
;
#endif
#endif
...
...
MarlinKimbra/ultralcd.h
View file @
fa734abf
...
...
@@ -45,7 +45,7 @@
#else
FORCE_INLINE
void
lcd_buttons_update
()
{}
#endif
#if ENABLED(SDSUPPORT) && ENABLED(SD_SETTINGS)
extern
void
set_sd_dot
();
extern
void
unset_sd_dot
();
...
...
@@ -62,7 +62,7 @@
extern
int
gumPreheatFanSpeed
;
extern
bool
cancel_heatup
;
#if HAS(LCD_FILAMENT_SENSOR) || HAS(LCD_POWER_SENSOR)
extern
millis_t
previous_lcd_status_ms
;
#endif
...
...
@@ -77,7 +77,7 @@
#define EN_A BIT(BLEN_A)
#define LCD_CLICKED (buttons&EN_C)
#if E
XIST
(BTN_BACK) && BTN_BACK > 0
#if E
NABLED
(BTN_BACK) && BTN_BACK > 0
#define EN_D BIT(BLEN_D)
#define LCD_BACK_CLICKED (buttons&EN_D)
#endif
...
...
MarlinKimbra/ultralcd_implementation_hitachi_HD44780.h
View file @
fa734abf
...
...
@@ -26,7 +26,7 @@
#define EN_B BIT(BLEN_B) // The two encoder pins are connected through BTN_EN1 and BTN_EN2
#define EN_A BIT(BLEN_A)
#if E
XIST
(BTN_ENC) && BTN_ENC > -1
#if E
NABLED
(BTN_ENC) && BTN_ENC > -1
// encoder click is directly connected
#define BLEN_C 2
#define EN_C BIT(BLEN_C)
...
...
@@ -50,7 +50,7 @@
#define B_DW (BUTTON_DOWN<<B_I2C_BTN_OFFSET)
#define B_RI (BUTTON_RIGHT<<B_I2C_BTN_OFFSET)
#if E
XIST
(BTN_ENC) && BTN_ENC > -1
#if E
NABLED
(BTN_ENC) && BTN_ENC > -1
// the pause/stop/restart button is connected to BTN_ENC when used
#define B_ST (EN_C) // Map the pause/stop/resume button into its normalized functional name
#define LCD_CLICKED (buttons&(B_MI|B_RI|B_ST)) // pause/stop button also acts as click until we implement proper pause/stop.
...
...
MarlinKimbra/vector_3.cpp
View file @
fa734abf
...
...
@@ -130,4 +130,5 @@ void matrix_3x3::debug(const char title[]) {
ECHO_E
;
}
}
#endif
\ No newline at end of file
#endif // AUTO_BED_LEVELING_FEATURE
MarlinKimbra/vector_3.h
View file @
fa734abf
...
...
@@ -56,4 +56,5 @@ struct matrix_3x3
void
apply_rotation_xyz
(
matrix_3x3
rotationMatrix
,
float
&
x
,
float
&
y
,
float
&
z
);
#endif // AUTO_BED_LEVELING_FEATURE
\ No newline at end of file
#endif // AUTO_BED_LEVELING_FEATURE
MarlinKimbra/watchdog.cpp
View file @
fa734abf
#include "base.h"
#if ENABLED(USE_WATCHDOG)
#include <avr/wdt.h>
#include "whatchdog.h"
...
...
@@ -45,4 +46,4 @@ ISR(WDT_vect) {
}
#endif // RESET_MANUAL
#endif
#endif
// USE_WATCHDOG
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