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
2dfd21c9
Commit
2dfd21c9
authored
May 31, 2016
by
MagoKimbra
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'refs/remotes/origin/master' into dev
parents
46ac851b
49b252fc
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
433 additions
and
271 deletions
+433
-271
GCodes.md
Documentation/GCodes.md
+1
-0
changelog.md
Documentation/changelog.md
+1
-1
MK_Main.cpp
MK/module/MK_Main.cpp
+1
-1
laser.cpp
MK/module/laser/laser.cpp
+2
-1
laser.h
MK/module/laser/laser.h
+1
-0
dogm_lcd_implementation.h
MK/module/lcd/dogm_lcd_implementation.h
+40
-14
ultralcd.cpp
MK/module/lcd/ultralcd.cpp
+386
-253
README.md
README.md
+1
-1
No files found.
Documentation/GCodes.md
View file @
2dfd21c9
...
...
@@ -137,6 +137,7 @@
*
M595 - Set hotend AD595 offset and gain
*
M600 - Pause for filament change X
[
pos
]
Y
[
pos
]
Z
[
relative lift
]
E
[
initial retract
]
L
[
later retract distance for removal
]
*
M605 - Set dual x-carriage movement mode: Smode
[
X<duplication x-offset> Rduplication temp offset
]
*
M649 - Set laser options. S
<intensity>
L
<duration>
P
<ppm>
B
<set
mode
>
R
<raster
mm
per
pulse
>
F
<feedrate>
*
M666 - Set z probe offset or Endstop and delta geometry adjustment. M666 L for list command
*
M906 - Set motor currents XYZ T0-4 E
*
M907 - Set digital trimpot motor current using axis codes.
...
...
Documentation/changelog.md
View file @
2dfd21c9
### Version 4.2.83
*
Add Cooler and Hot Chamber
*
Add Laser Beam PWM and raster base64
ONLY ARDUINO MEGA
*
Add Laser Beam PWM and raster base64
### Version 4.2.82
*
Add DONDOLO_DUAL_MOTOR for DONDOLO bowden and dual extruder
...
...
MK/module/MK_Main.cpp
View file @
2dfd21c9
...
...
@@ -7688,7 +7688,7 @@ inline void gcode_M503() {
if
(
code_seen
(
'D'
)
&&
IsRunning
())
laser
.
diagnostics
=
(
bool
)
code_value
();
// Wait for the rest
//st_synchronize();
//
st_synchronize();
if
(
code_seen
(
'S'
)
&&
IsRunning
())
{
laser
.
intensity
=
(
float
)
code_value
();
laser
.
rasterlaserpower
=
laser
.
intensity
;
...
...
MK/module/laser/laser.cpp
View file @
2dfd21c9
...
...
@@ -23,6 +23,7 @@
/**
* laser.cpp - Laser control library for Arduino using 16 bit timers- Version 1
* Copyright (c) 2013 Timothy Schmidt. All right reserved.
* Copyright (c) 2016 Franco (nextime) Lanza
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
...
...
MK/module/laser/laser.h
View file @
2dfd21c9
...
...
@@ -23,6 +23,7 @@
/**
* laser.cpp - Laser control library for Arduino using 16 bit timers- Version 1
* Copyright (c) 2013 Timothy Schmidt. All right reserved.
* Copyright (c) 2016 Franco (nextime) Lanza
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
...
...
MK/module/lcd/dogm_lcd_implementation.h
View file @
2dfd21c9
...
...
@@ -67,6 +67,10 @@
#undef USE_BIG_EDIT_FONT
#endif
#if ENABLED(LASERBEAM)
#include "../laser/laserbitmaps.h"
#endif
#if ENABLED(USE_SMALL_INFOFONT)
#include "dogm_font_data_6x9_marlin.h"
#define FONT_STATUSMENU_NAME u8g_font_6x9
...
...
@@ -370,6 +374,25 @@ static void lcd_implementation_status_screen() {
bool
blink
=
lcd_blink
();
#if ENABLED(LASERBEAM)
#if ENABLED(LASER_PERIPHERALS)
if
(
laser_peripherals_ok
())
{
u8g
.
drawBitmapP
(
29
,
4
,
LASERENABLE_BYTEWIDTH
,
LASERENABLE_HEIGHT
,
laserenable_bmp
);
}
#endif
lcd_setFont
(
FONT_STATUSMENU
);
u8g
.
setColorIndex
(
1
);
u8g
.
setPrintPos
(
3
,
6
);
if
(
current_block
->
laser_status
==
LASER_ON
)
{
u8g
.
drawBitmapP
(
5
,
14
,
ICON_BYTEWIDTH
,
ICON_HEIGHT
,
laseron_bmp
);
u8g
.
print
(
itostr3
(
current_block
->
laser_intensity
));
lcd_printPGM
(
PSTR
(
"%"
));
}
else
{
u8g
.
drawBitmapP
(
5
,
14
,
ICON_BYTEWIDTH
,
ICON_HEIGHT
,
laseroff_bmp
);
lcd_printPGM
(
PSTR
(
"---%"
));
}
#else
// Symbols menu graphics, animated fan
u8g
.
drawBitmapP
(
9
,
1
,
STATUS_SCREENBYTEWIDTH
,
STATUS_SCREENHEIGHT
,
#if HAS(FAN)
...
...
@@ -378,6 +401,7 @@ static void lcd_implementation_status_screen() {
status_screen0_bmp
#endif
);
#endif
// Status Menu Font for SD info, Heater status, Fan, XYZ
lcd_setFont
(
FONT_STATUSMENU
);
...
...
@@ -434,7 +458,7 @@ static void lcd_implementation_status_screen() {
u8g
.
setPrintPos
(
90
,
47
);
if
(
end_time
>
1380
||
end_time
==
0
)
u8g
.
print
(
'
E
--:--
'
);
lcd_printPGM
(
PSTR
(
"E--:--"
)
);
else
if
(
end_time
>
0
)
{
u8g
.
print
(
'E'
);
u8g
.
print
(
itostr2
(
end_time
/
60
));
...
...
@@ -450,6 +474,7 @@ static void lcd_implementation_status_screen() {
}
#endif
#if DISABLED(LASERBEAM)
// Hotends
for
(
int
i
=
0
;
i
<
HOTENDS
;
i
++
)
_draw_heater_status
(
6
+
i
*
25
,
i
);
...
...
@@ -457,6 +482,7 @@ static void lcd_implementation_status_screen() {
#if HOTENDS < 4 && HAS(TEMP_BED)
_draw_heater_status
(
81
,
-
1
);
#endif
#endif // !LASERBEAM
// Fan
u8g
.
setPrintPos
(
104
,
27
);
...
...
MK/module/lcd/ultralcd.cpp
View file @
2dfd21c9
...
...
@@ -88,6 +88,29 @@ char lcd_status_message[3 * (LCD_WIDTH) + 1] = WELCOME_MSG; // worst case is kan
#define LCD_Printpos(x, y) lcd.setCursor(x, y)
#endif
#if ENABLED(LASERBEAM)
static
void
lcd_laser_focus_menu
();
static
void
lcd_laser_menu
();
static
void
lcd_laser_test_fire_menu
();
static
void
laser_test_fire
(
uint8_t
power
,
int
dwell
);
static
void
laser_set_focus
(
float
f_length
);
static
void
action_laser_focus_custom
();
static
void
action_laser_focus_1mm
();
static
void
action_laser_focus_2mm
();
static
void
action_laser_focus_3mm
();
static
void
action_laser_focus_4mm
();
static
void
action_laser_focus_5mm
();
static
void
action_laser_focus_6mm
();
static
void
action_laser_focus_7mm
();
static
void
action_laser_test_20_50ms
();
static
void
action_laser_test_20_100ms
();
static
void
action_laser_test_100_50ms
();
static
void
action_laser_test_100_100ms
();
static
void
action_laser_test_warm
();
static
void
action_laser_acc_on
();
static
void
action_laser_acc_off
();
#endif
// The main status screen
static
void
lcd_status_screen
();
...
...
@@ -103,12 +126,17 @@ static void lcd_status_screen();
static
void
lcd_move_menu
();
static
void
lcd_control_menu
();
static
void
lcd_stats_menu
();
#if DISABLED(LASERBEAM)
static
void
lcd_control_temperature_menu
();
static
void
lcd_control_temperature_preheat_pla_settings_menu
();
static
void
lcd_control_temperature_preheat_abs_settings_menu
();
static
void
lcd_control_temperature_preheat_gum_settings_menu
();
#endif
static
void
lcd_control_motion_menu
();
#if DISABLED(LASERBEAM)
static
void
lcd_control_volumetric_menu
();
#endif
#if ENABLED(FILAMENT_CHANGE_FEATURE)
static
void
lcd_filament_change_option_menu
();
...
...
@@ -189,7 +217,7 @@ static void lcd_status_screen();
/**
* START_MENU generates the init code for a menu function
*/
#if ENABLED(BTN_BACK) && BTN_BACK > 0
#if ENABLED(BTN_BACK) && BTN_BACK > 0
#define START_MENU() do { \
ENCODER_DIRECTION_MENUS(); \
encoderRateMultiplierEnabled = false; \
...
...
@@ -205,7 +233,7 @@ static void lcd_status_screen();
return; } \
for (uint8_t _drawLineNr = 0; _drawLineNr < LCD_HEIGHT; _drawLineNr++, _lineNr++) { \
_menuItemNr = 0;
#else
#else
#define START_MENU() do { \
ENCODER_DIRECTION_MENUS(); \
encoderRateMultiplierEnabled = false; \
...
...
@@ -216,7 +244,7 @@ static void lcd_status_screen();
bool wasClicked = LCD_CLICKED, itemSelected; \
for (uint8_t _drawLineNr = 0; _drawLineNr < LCD_HEIGHT; _drawLineNr++, _lineNr++) { \
_menuItemNr = 0;
#endif
#endif
/**
* MENU_ITEM generates draw & handler code for a menu item, potentially calling:
...
...
@@ -526,14 +554,21 @@ inline void line_to_current(AxisEnum axis) {
#if ENABLED(SDSUPPORT)
static
void
lcd_sdcard_pause
()
{
card
.
pausePrint
();
}
static
void
lcd_sdcard_pause
()
{
card
.
pausePrint
();
print_job_counter
.
pause
();
}
static
void
lcd_sdcard_resume
()
{
card
.
startPrint
();
}
static
void
lcd_sdcard_resume
()
{
card
.
startPrint
();
print_job_counter
.
start
();
}
static
void
lcd_sdcard_stop
()
{
quickStop
();
card
.
sdprinting
=
false
;
card
.
closeFile
();
print_job_counter
.
stop
();
autotempShutdown
();
cancel_heatup
=
true
;
lcd_setstatus
(
MSG_PRINT_ABORTED
,
true
);
...
...
@@ -550,6 +585,13 @@ inline void line_to_current(AxisEnum axis) {
static
void
lcd_main_menu
()
{
START_MENU
();
MENU_ITEM
(
back
,
MSG_WATCH
);
#if ENABLED(LASERBEAM)
if
(
!
(
movesplanned
()
||
IS_SD_PRINTING
))
{
MENU_ITEM
(
submenu
,
"Laser Functions"
,
lcd_laser_menu
);
}
#endif
if
(
movesplanned
()
||
IS_SD_PRINTING
)
{
MENU_ITEM
(
submenu
,
MSG_TUNE
,
lcd_tune_menu
);
}
...
...
@@ -755,6 +797,13 @@ static void lcd_tune_menu() {
#endif // HOTENDS > 2
#endif // HOTENDS > 1
//
// Laser:
//
#if ENABLED(LASERBEAM) && HAS(COOLER)
MENU_ITEM_EDIT
(
int3
,
MSG_COOLER
,
&
target_temperature_cooler
,
0
,
COOLER_MAXTEMP
-
15
);
#endif
//
// Bed:
//
...
...
@@ -973,6 +1022,7 @@ void _lcd_preheat(int endnum, const float temph, const float tempb, const int fa
void
lcd_cooldown
()
{
disable_all_heaters
();
disable_all_coolers
();
fanSpeed
=
0
;
lcd_return_to_status
();
}
...
...
@@ -994,12 +1044,16 @@ static void lcd_prepare_menu() {
//
// Auto Home
//
#if ENABLED(LASERBEAM)
MENU_ITEM
(
gcode
,
MSG_AUTO_HOME
,
PSTR
(
"G28 X Y F2000"
));
#else
MENU_ITEM
(
gcode
,
MSG_AUTO_HOME
,
PSTR
(
"G28"
));
#if !MECH(DELTA)
MENU_ITEM
(
gcode
,
MSG_AUTO_HOME_X
,
PSTR
(
"G28 X"
));
MENU_ITEM
(
gcode
,
MSG_AUTO_HOME_Y
,
PSTR
(
"G28 Y"
));
MENU_ITEM
(
gcode
,
MSG_AUTO_HOME_Z
,
PSTR
(
"G28 Z"
));
#endif
#endif
//
// Set Home Offsets
...
...
@@ -1033,7 +1087,7 @@ static void lcd_prepare_menu() {
// Preheat ABS
// Preheat GUM
//
#if TEMP_SENSOR_0 != 0
#if TEMP_SENSOR_0 != 0
&& DISABLED(LASERBEAM)
#if TEMP_SENSOR_1 != 0 || TEMP_SENSOR_2 != 0 || TEMP_SENSOR_3 != 0 || TEMP_SENSOR_BED != 0
MENU_ITEM
(
submenu
,
MSG_PREHEAT_PLA
,
lcd_preheat_pla_menu
);
MENU_ITEM
(
submenu
,
MSG_PREHEAT_ABS
,
lcd_preheat_abs_menu
);
...
...
@@ -1055,19 +1109,6 @@ static void lcd_prepare_menu() {
MENU_ITEM
(
function
,
MSG_RETRACT_XMM
,
lcd_retract
);
#endif // EASY_LOAD
//
// LASER BEAM
//
#if ENABLED(LASERBEAM)
MENU_ITEM_EDIT
(
int3
,
MSG_LASER
,
&
laser_ttl_modulation
,
0
,
255
);
if
(
laser_ttl_modulation
==
0
)
{
WRITE
(
LASER_PWR_PIN
,
LOW
);
}
else
{
WRITE
(
LASER_PWR_PIN
,
HIGH
);
}
#endif
//
// Cooldown
//
...
...
@@ -1275,9 +1316,13 @@ static void lcd_move_menu() {
static
void
lcd_control_menu
()
{
START_MENU
();
MENU_ITEM
(
back
,
MSG_MAIN
);
#if DISABLED(LASERBEAM)
MENU_ITEM
(
submenu
,
MSG_TEMPERATURE
,
lcd_control_temperature_menu
);
#endif
MENU_ITEM
(
submenu
,
MSG_MOTION
,
lcd_control_motion_menu
);
#if DISABLED(LASERBEAM)
MENU_ITEM
(
submenu
,
MSG_FILAMENT
,
lcd_control_volumetric_menu
);
#endif
#if HAS(LCD_CONTRAST)
//MENU_ITEM_EDIT(int3, MSG_CONTRAST, &lcd_contrast, 0, 63);
...
...
@@ -1328,7 +1373,7 @@ static void lcd_stats_menu() {
#if ENABLED(PID_AUTOTUNE_MENU)
#if ENABLED(PIDTEMP)
int
autotune_temp
[
HOTENDS
]
=
{
150
}
;
int
autotune_temp
[
HOTENDS
]
=
ARRAY_BY_HOTENDS1
(
150
)
;
const
int
heater_maxtemp
[
HOTENDS
]
=
ARRAY_BY_HOTENDS
(
HEATER_0_MAXTEMP
,
HEATER_1_MAXTEMP
,
HEATER_2_MAXTEMP
,
HEATER_3_MAXTEMP
);
#endif
...
...
@@ -1389,12 +1434,14 @@ static void lcd_stats_menu() {
#endif // PIDTEMP
/**
#if DISABLED(LASERBEAM)
/**
*
* "Control" > "Temperature" submenu
*
*/
static
void
lcd_control_temperature_menu
()
{
static
void
lcd_control_temperature_menu
()
{
START_MENU
();
//
...
...
@@ -1515,14 +1562,14 @@ static void lcd_control_temperature_menu() {
//
MENU_ITEM
(
submenu
,
MSG_PREHEAT_GUM_SETTINGS
,
lcd_control_temperature_preheat_gum_settings_menu
);
END_MENU
();
}
}
/**
/**
*
* "Temperature" > "Preheat PLA conf" submenu
*
*/
static
void
lcd_control_temperature_preheat_pla_settings_menu
()
{
static
void
lcd_control_temperature_preheat_pla_settings_menu
()
{
START_MENU
();
MENU_ITEM
(
back
,
MSG_TEMPERATURE
);
MENU_ITEM_EDIT
(
int3
,
MSG_FAN_SPEED
,
&
plaPreheatFanSpeed
,
0
,
255
);
...
...
@@ -1536,14 +1583,14 @@ static void lcd_control_temperature_preheat_pla_settings_menu() {
MENU_ITEM
(
function
,
MSG_STORE_EPROM
,
Config_StoreSettings
);
#endif
END_MENU
();
}
}
/**
/**
*
* "Temperature" > "Preheat ABS conf" submenu
*
*/
static
void
lcd_control_temperature_preheat_abs_settings_menu
()
{
static
void
lcd_control_temperature_preheat_abs_settings_menu
()
{
START_MENU
();
MENU_ITEM
(
back
,
MSG_TEMPERATURE
);
MENU_ITEM_EDIT
(
int3
,
MSG_FAN_SPEED
,
&
absPreheatFanSpeed
,
0
,
255
);
...
...
@@ -1557,14 +1604,14 @@ static void lcd_control_temperature_preheat_abs_settings_menu() {
MENU_ITEM
(
function
,
MSG_STORE_EPROM
,
Config_StoreSettings
);
#endif
END_MENU
();
}
}
/**
/**
*
* "Temperature" > "Preheat GUM conf" submenu
*
*/
static
void
lcd_control_temperature_preheat_gum_settings_menu
()
{
static
void
lcd_control_temperature_preheat_gum_settings_menu
()
{
START_MENU
();
MENU_ITEM
(
back
,
MSG_TEMPERATURE
);
MENU_ITEM_EDIT
(
int3
,
MSG_FAN_SPEED
,
&
gumPreheatFanSpeed
,
0
,
255
);
...
...
@@ -1578,7 +1625,9 @@ static void lcd_control_temperature_preheat_gum_settings_menu() {
MENU_ITEM
(
function
,
MSG_STORE_EPROM
,
Config_StoreSettings
);
#endif
END_MENU
();
}
}
#endif // !LASERBEAM
/**
*
...
...
@@ -1650,7 +1699,8 @@ static void lcd_control_motion_menu() {
* "Control" > "Filament" submenu
*
*/
static
void
lcd_control_volumetric_menu
()
{
#if DISABLED(LASERBEAM)
static
void
lcd_control_volumetric_menu
()
{
START_MENU
();
MENU_ITEM
(
back
,
MSG_CONTROL
);
...
...
@@ -1672,7 +1722,8 @@ static void lcd_control_volumetric_menu() {
}
END_MENU
();
}
}
#endif // !LASERBEAM
/**
*
...
...
@@ -1730,6 +1781,88 @@ static void lcd_control_volumetric_menu() {
}
#endif // FWRETRACT
#if ENABLED(LASERBEAM)
static
void
lcd_laser_menu
()
{
START_MENU
();
MENU_ITEM
(
back
,
MSG_MAIN
);
MENU_ITEM
(
submenu
,
"Set Focus"
,
lcd_laser_focus_menu
);
MENU_ITEM
(
submenu
,
"Test Fire"
,
lcd_laser_test_fire_menu
);
#if ENABLED(LASER_PERIPHERALS)
if
(
laser_peripherals_ok
())
{
MENU_ITEM
(
function
,
"Turn On Pumps/Fans"
,
action_laser_acc_on
);
}
else
if
(
!
(
movesplanned
()
||
IS_SD_PRINTING
))
{
MENU_ITEM
(
function
,
"Turn Off Pumps/Fans"
,
action_laser_acc_off
);
}
#endif // LASER_PERIPHERALS
END_MENU
();
}
static
void
lcd_laser_test_fire_menu
()
{
START_MENU
();
MENU_ITEM
(
back
,
"Laser Functions"
);
MENU_ITEM
(
function
,
" 20% 50ms"
,
action_laser_test_20_50ms
);
MENU_ITEM
(
function
,
" 20% 100ms"
,
action_laser_test_20_100ms
);
MENU_ITEM
(
function
,
"100% 50ms"
,
action_laser_test_100_50ms
);
MENU_ITEM
(
function
,
"100% 100ms"
,
action_laser_test_100_100ms
);
MENU_ITEM
(
function
,
"Warm-up Laser 2sec"
,
action_laser_test_warm
);
END_MENU
();
}
static
void
action_laser_acc_on
()
{
enqueue_and_echo_commands_P
(
PSTR
(
"M80"
));
}
static
void
action_laser_acc_off
()
{
enqueue_and_echo_commands_P
(
PSTR
(
"M81"
));
}
static
void
action_laser_test_20_50ms
()
{
laser_test_fire
(
20
,
50
);
}
static
void
action_laser_test_20_100ms
()
{
laser_test_fire
(
20
,
100
);
}
static
void
action_laser_test_100_50ms
()
{
laser_test_fire
(
100
,
50
);
}
static
void
action_laser_test_100_100ms
()
{
laser_test_fire
(
100
,
100
);
}
static
void
action_laser_test_warm
()
{
laser_test_fire
(
15
,
2000
);
}
static
void
laser_test_fire
(
uint8_t
power
,
int
dwell
)
{
enqueue_and_echo_commands_P
(
PSTR
(
"M80"
));
// Enable laser accessories since we don't know if its been done (and there's no penalty for doing it again).
laser_fire
(
power
);
delay
(
dwell
);
laser_extinguish
();
}
float
focalLength
=
0
;
static
void
lcd_laser_focus_menu
()
{
START_MENU
();
MENU_ITEM
(
back
,
"Laser Functions"
);
MENU_ITEM
(
function
,
"1mm"
,
action_laser_focus_1mm
);
MENU_ITEM
(
function
,
"2mm"
,
action_laser_focus_2mm
);
MENU_ITEM
(
function
,
"3mm - 1/8in"
,
action_laser_focus_3mm
);
MENU_ITEM
(
function
,
"4mm"
,
action_laser_focus_4mm
);
MENU_ITEM
(
function
,
"5mm"
,
action_laser_focus_5mm
);
MENU_ITEM
(
function
,
"6mm - 1/4in"
,
action_laser_focus_6mm
);
MENU_ITEM
(
function
,
"7mm"
,
action_laser_focus_7mm
);
MENU_ITEM_EDIT_CALLBACK
(
float32
,
"Custom"
,
&
focalLength
,
0
,
LASER_FOCAL_HEIGHT
,
action_laser_focus_custom
);
END_MENU
();
}
static
void
action_laser_focus_custom
()
{
laser_set_focus
(
focalLength
);
}
static
void
action_laser_focus_1mm
()
{
laser_set_focus
(
1
);
}
static
void
action_laser_focus_2mm
()
{
laser_set_focus
(
2
);
}
static
void
action_laser_focus_3mm
()
{
laser_set_focus
(
3
);
}
static
void
action_laser_focus_4mm
()
{
laser_set_focus
(
4
);
}
static
void
action_laser_focus_5mm
()
{
laser_set_focus
(
5
);
}
static
void
action_laser_focus_6mm
()
{
laser_set_focus
(
6
);
}
static
void
action_laser_focus_7mm
()
{
laser_set_focus
(
7
);
}
static
void
laser_set_focus
(
float
f_length
)
{
if
(
!
axis_homed
[
Z_AXIS
])
{
enqueue_and_echo_commands_P
(
PSTR
(
"G28 Z F150"
));
}
focalLength
=
f_length
;
float
focus
=
LASER_FOCAL_HEIGHT
-
f_length
;
char
cmd
[
20
];
sprintf_P
(
cmd
,
PSTR
(
"G0 Z%s F150"
),
ftostr52
(
focus
));
enqueue_and_echo_commands_P
(
cmd
);
}
#endif // LASERBEAM
#if ENABLED(SDSUPPORT)
#if !PIN_EXISTS(SD_DETECT)
...
...
README.md
View file @
2dfd21c9
...
...
@@ -56,7 +56,7 @@ The current MarlinKimbra dev team consists of:
-
simonepri - Simone Primarosa (https://github.com/simonepri)
More features have been added by:
-
-
Franco (nextime) Lanza
## License
...
...
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