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
81e4f5c9
Commit
81e4f5c9
authored
May 31, 2016
by
Franco (nextime) Lanza
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'upstream/dev' into dev
parents
aa1b69a7
2dfd21c9
Pipeline
#51
skipped
Changes
8
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
413 additions
and
447 deletions
+413
-447
GCodes.md
Documentation/GCodes.md
+1
-1
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
+7
-6
ultralcd.cpp
MK/module/lcd/ultralcd.cpp
+399
-436
README.md
README.md
+1
-1
No files found.
Documentation/GCodes.md
View file @
81e4f5c9
...
...
@@ -138,7 +138,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 -
laser set options
*
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 @
81e4f5c9
### 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 @
81e4f5c9
...
...
@@ -7687,7 +7687,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 @
81e4f5c9
...
...
@@ -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 @
81e4f5c9
...
...
@@ -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 @
81e4f5c9
...
...
@@ -67,8 +67,8 @@
#undef USE_BIG_EDIT_FONT
#endif
#if ENABLED(LASER)
#include "../laser/laserbitmaps.h"
#if ENABLED(LASER
BEAM
)
#include "../laser/laserbitmaps.h"
#endif
#if ENABLED(USE_SMALL_INFOFONT)
...
...
@@ -374,7 +374,7 @@ static void lcd_implementation_status_screen() {
bool
blink
=
lcd_blink
();
#if ENABLED(LASER)
#if ENABLED(LASER
BEAM
)
#if ENABLED(LASER_PERIPHERALS)
if
(
laser_peripherals_ok
())
{
u8g
.
drawBitmapP
(
29
,
4
,
LASERENABLE_BYTEWIDTH
,
LASERENABLE_HEIGHT
,
laserenable_bmp
);
...
...
@@ -474,7 +474,7 @@ static void lcd_implementation_status_screen() {
}
#endif
#if DISABLED(LASER)
#if DISABLED(LASER
BEAM
)
// Hotends
for
(
int
i
=
0
;
i
<
HOTENDS
;
i
++
)
_draw_heater_status
(
6
+
i
*
25
,
i
);
...
...
@@ -482,6 +482,7 @@ static void lcd_implementation_status_screen() {
#if HOTENDS < 4 && HAS(TEMP_BED)
_draw_heater_status
(
81
,
-
1
);
#endif
#endif // !LASERBEAM
#endif // DISABLED LASER
// Fan
...
...
MK/module/lcd/ultralcd.cpp
View file @
81e4f5c9
...
...
@@ -88,7 +88,7 @@ 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(LASER)
#if ENABLED(LASER
BEAM
)
static
void
lcd_laser_focus_menu
();
static
void
lcd_laser_menu
();
static
void
lcd_laser_test_fire_menu
();
...
...
@@ -109,7 +109,6 @@ char lcd_status_message[3 * (LCD_WIDTH) + 1] = WELCOME_MSG; // worst case is kan
static
void
action_laser_test_warm
();
static
void
action_laser_acc_on
();
static
void
action_laser_acc_off
();
#endif
// The main status screen
...
...
@@ -127,7 +126,7 @@ static void lcd_status_screen();
static
void
lcd_move_menu
();
static
void
lcd_control_menu
();
static
void
lcd_stats_menu
();
#if DISABLED(LASER)
#if DISABLED(LASER
BEAM
)
static
void
lcd_control_temperature_menu
();
static
void
lcd_control_temperature_preheat_pla_settings_menu
();
static
void
lcd_control_temperature_preheat_abs_settings_menu
();
...
...
@@ -135,7 +134,7 @@ static void lcd_status_screen();
#endif
static
void
lcd_control_motion_menu
();
#if DISABLED(LASER)
#if DISABLED(LASER
BEAM
)
static
void
lcd_control_volumetric_menu
();
#endif
...
...
@@ -218,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; \
...
...
@@ -234,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; \
...
...
@@ -245,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:
...
...
@@ -555,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
);
...
...
@@ -577,24 +583,26 @@ inline void line_to_current(AxisEnum axis) {
*/
static
void
lcd_main_menu
()
{
START_MENU
();
MENU_ITEM
(
back
,
MSG_WATCH
);
#if ENABLED(LASER)
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
)
{
#endif
if
(
movesplanned
()
||
IS_SD_PRINTING
)
{
MENU_ITEM
(
submenu
,
MSG_TUNE
,
lcd_tune_menu
);
}
else
{
}
else
{
MENU_ITEM
(
submenu
,
MSG_PREPARE
,
lcd_prepare_menu
);
#if MECH(DELTA)
MENU_ITEM
(
submenu
,
MSG_DELTA_CALIBRATE
,
lcd_delta_calibrate_menu
);
#endif
}
MENU_ITEM
(
submenu
,
MSG_CONTROL
,
lcd_control_menu
);
MENU_ITEM
(
submenu
,
MSG_STATS
,
lcd_stats_menu
);
}
MENU_ITEM
(
submenu
,
MSG_CONTROL
,
lcd_control_menu
);
MENU_ITEM
(
submenu
,
MSG_STATS
,
lcd_stats_menu
);
#if ENABLED(SDSUPPORT)
if
(
card
.
cardOK
)
{
...
...
@@ -770,6 +778,13 @@ MENU_ITEM_EDIT(int3, MSG_SPEED, &feedrate_multiplier, 10, 999);
MENU_ITEM_EDIT
(
int3
,
MSG_COOLER
,
&
target_temperature_cooler
,
0
,
COOLER_MAXTEMP
-
15
);
#endif
//
// Laser:
//
#if ENABLED(LASERBEAM) && HAS(COOLER)
MENU_ITEM_EDIT
(
int3
,
MSG_COOLER
,
&
target_temperature_cooler
,
0
,
COOLER_MAXTEMP
-
15
);
#endif
//
// Bed:
//
...
...
@@ -987,10 +1002,10 @@ static void lcd_preheat_gum_menu() {
#endif // TEMP_SENSOR_0 && (TEMP_SENSOR_1 || TEMP_SENSOR_2 || TEMP_SENSOR_3 || TEMP_SENSOR_BED)
void
lcd_cooldown
()
{
disable_all_heaters
();
disable_all_coolers
();
fanSpeed
=
0
;
lcd_return_to_status
();
disable_all_heaters
();
disable_all_coolers
();
fanSpeed
=
0
;
lcd_return_to_status
();
}
/**
...
...
@@ -1010,9 +1025,9 @@ static void lcd_prepare_menu() {
//
// Auto Home
//
#if ENABLED(LASER)
#if ENABLED(LASER
BEAM
)
MENU_ITEM
(
gcode
,
MSG_AUTO_HOME
,
PSTR
(
"G28 X Y F2000"
));
#
else
#else
MENU_ITEM
(
gcode
,
MSG_AUTO_HOME
,
PSTR
(
"G28"
));
#if !MECH(DELTA)
MENU_ITEM
(
gcode
,
MSG_AUTO_HOME_X
,
PSTR
(
"G28 X"
));
...
...
@@ -1048,12 +1063,12 @@ static void lcd_prepare_menu() {
//
MENU_ITEM
(
gcode
,
MSG_DISABLE_STEPPERS
,
PSTR
(
"M84"
));
//
// Preheat PLA
// Preheat ABS
// Preheat GUM
//
#if TEMP_SENSOR_0 != 0 && DISABLED(LASER
)
//
// Preheat PLA
// Preheat ABS
// Preheat GUM
//
#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
);
...
...
@@ -1063,30 +1078,22 @@ static void lcd_prepare_menu() {
MENU_ITEM
(
function
,
MSG_PREHEAT_ABS
,
lcd_preheat_abs0
);
MENU_ITEM
(
function
,
MSG_PREHEAT_GUM
,
lcd_preheat_gum0
);
#endif
#endif
#endif
//
// Easy Load
//
#if ENABLED(EASY_LOAD)
//
// Easy Load
//
#if ENABLED(EASY_LOAD)
MENU_ITEM
(
function
,
MSG_E_BOWDEN_LENGTH
,
lcd_easy_load
);
MENU_ITEM
(
function
,
MSG_R_BOWDEN_LENGTH
,
lcd_easy_unload
);
MENU_ITEM
(
function
,
MSG_PURGE_XMM
,
lcd_purge
);
MENU_ITEM
(
function
,
MSG_RETRACT_XMM
,
lcd_retract
);
#endif // EASY_LOAD
#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
//
MENU_ITEM
(
function
,
MSG_COOLDOWN
,
lcd_cooldown
);
//
// Cooldown
...
...
@@ -1295,11 +1302,11 @@ END_MENU();
static
void
lcd_control_menu
()
{
START_MENU
();
MENU_ITEM
(
back
,
MSG_MAIN
);
#if DISABLED(LASER)
#if DISABLED(LASER
BEAM
)
MENU_ITEM
(
submenu
,
MSG_TEMPERATURE
,
lcd_control_temperature_menu
);
#endif
MENU_ITEM
(
submenu
,
MSG_MOTION
,
lcd_control_motion_menu
);
#if DISABLED(LASER)
#if DISABLED(LASER
BEAM
)
MENU_ITEM
(
submenu
,
MSG_FILAMENT
,
lcd_control_volumetric_menu
);
#endif
...
...
@@ -1352,7 +1359,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
...
...
@@ -1413,13 +1420,14 @@ static void lcd_stats_menu() {
#endif // PIDTEMP
/**
#if DISABLED(LASERBEAM)
/**
*
* "Control" > "Temperature" submenu
*
*/
#if DISABLED(LASER)
static
void
lcd_control_temperature_menu
()
{
static
void
lcd_control_temperature_menu
()
{
START_MENU
();
//
...
...
@@ -1525,7 +1533,6 @@ static void lcd_control_temperature_menu() {
MENU_ITEM_EDIT
(
bool
,
MSG_IDLEOOZING
,
&
IDLE_OOZING_enabled
);
#endif
#if DISABLED(LASER)
//
// Preheat PLA conf
//
...
...
@@ -1540,19 +1547,15 @@ static void lcd_control_temperature_menu() {
// Preheat GUM conf
//
MENU_ITEM
(
submenu
,
MSG_PREHEAT_GUM_SETTINGS
,
lcd_control_temperature_preheat_gum_settings_menu
);
#endif
END_MENU
();
}
#endif
}
/**
/**
*
* "Temperature" > "Preheat PLA conf" submenu
*
*/
#if DISABLED(LASER)
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
);
...
...
@@ -1566,16 +1569,14 @@ static void lcd_control_temperature_preheat_pla_settings_menu() {
MENU_ITEM
(
function
,
MSG_STORE_EPROM
,
Config_StoreSettings
);
#endif
END_MENU
();
}
#endif
}
/**
/**
*
* "Temperature" > "Preheat ABS conf" submenu
*
*/
#if DISABLED(LASER)
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
);
...
...
@@ -1589,15 +1590,14 @@ static void lcd_control_temperature_preheat_abs_settings_menu() {
MENU_ITEM
(
function
,
MSG_STORE_EPROM
,
Config_StoreSettings
);
#endif
END_MENU
();
}
#endif
/**
}
/**
*
* "Temperature" > "Preheat GUM conf" submenu
*
*/
#if DISABLED(LASER)
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
);
...
...
@@ -1611,8 +1611,10 @@ static void lcd_control_temperature_preheat_gum_settings_menu() {
MENU_ITEM
(
function
,
MSG_STORE_EPROM
,
Config_StoreSettings
);
#endif
END_MENU
();
}
#endif
}
#endif // !LASERBEAM
/**
*
* "Control" > "Motion" submenu
...
...
@@ -1683,8 +1685,8 @@ static void lcd_control_motion_menu() {
* "Control" > "Filament" submenu
*
*/
#if DISABLED(LASER)
static
void
lcd_control_volumetric_menu
()
{
#if DISABLED(LASER
BEAM
)
static
void
lcd_control_volumetric_menu
()
{
START_MENU
();
MENU_ITEM
(
back
,
MSG_CONTROL
);
...
...
@@ -1706,8 +1708,8 @@ static void lcd_control_volumetric_menu() {
}
END_MENU
();
}
#endif
}
#endif
// !LASERBEAM
/**
*
...
...
@@ -1765,24 +1767,25 @@ static void lcd_control_volumetric_menu() {
}
#endif // FWRETRACT
#if ENABLED(LASER)
static
void
lcd_laser_menu
()
{
#if ENABLED(LASER
BEAM
)
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
);
#ifdef LASER_PERIPHERALS
#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
))
{
}
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
()
{
static
void
lcd_laser_test_fire_menu
()
{
START_MENU
();
MENU_ITEM
(
back
,
"Laser Functions"
);
MENU_ITEM
(
function
,
" 20% 50ms"
,
action_laser_test_20_50ms
);
...
...
@@ -1791,44 +1794,25 @@ static void lcd_laser_test_fire_menu() {
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_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
action_laser_test_warm
()
{
laser_test_fire
(
15
,
2000
);
}
static
void
laser_test_fire
(
uint8_t
power
,
int
dwell
)
{
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
()
{
}
float
focalLength
=
0
;
static
void
lcd_laser_focus_menu
()
{
START_MENU
();
MENU_ITEM
(
back
,
"Laser Functions"
);
MENU_ITEM
(
function
,
"1mm"
,
action_laser_focus_1mm
);
...
...
@@ -1840,39 +1824,18 @@ static void lcd_laser_focus_menu() {
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_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
action_laser_focus_7mm
()
{
laser_set_focus
(
7
);
}
static
void
laser_set_focus
(
float
f_length
)
{
static
void
laser_set_focus
(
float
f_length
)
{
if
(
!
axis_homed
[
Z_AXIS
])
{
enqueue_and_echo_commands_P
(
PSTR
(
"G28 Z F150"
));
}
...
...
@@ -1882,9 +1845,9 @@ static void laser_set_focus(float f_length) {
sprintf_P
(
cmd
,
PSTR
(
"G0 Z%s F150"
),
ftostr52
(
focus
));
enqueue_and_echo_commands_P
(
cmd
);
}
}
#endif // LASER
#endif // LASER
BEAM
#if ENABLED(SDSUPPORT)
...
...
README.md
View file @
81e4f5c9
...
...
@@ -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