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
da44d760
Commit
da44d760
authored
Sep 17, 2015
by
MagoKimbra
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix Dondolo and upgrade Nextion
parent
e5a79858
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
234 additions
and
37 deletions
+234
-37
Configuration_Feature.h
MarlinKimbra/Configuration_Feature.h
+1
-1
Marlin_main.cpp
MarlinKimbra/Marlin_main.cpp
+1
-0
NexSlider.cpp
MarlinKimbra/NexSlider.cpp
+28
-1
NexSlider.h
MarlinKimbra/NexSlider.h
+21
-1
marlinkimbra_v0_5_3.HMI
MarlinKimbra/nextion/marlinkimbra_v0_5_3.HMI
+0
-0
marlinkimbra_v0_5_3.tft
MarlinKimbra/nextion/marlinkimbra_v0_5_3.tft
+0
-0
stepper.cpp
MarlinKimbra/stepper.cpp
+28
-26
stepper.h
MarlinKimbra/stepper.h
+3
-0
ultralcd.cpp
MarlinKimbra/ultralcd.cpp
+151
-8
ultralcd.h
MarlinKimbra/ultralcd.h
+1
-0
No files found.
MarlinKimbra/Configuration_Feature.h
View file @
da44d760
...
...
@@ -582,7 +582,7 @@
// Define nr servo for endstop -1 not define. Servo index start 0
#define X_ENDSTOP_SERVO_NR -1
#define Y_ENDSTOP_SERVO_NR -1
#define Z_ENDSTOP_SERVO_NR
0
#define Z_ENDSTOP_SERVO_NR
-1
#define X_ENDSTOP_SERVO_ANGLES {0,0} // X Axis Extend and Retract angles
#define Y_ENDSTOP_SERVO_ANGLES {0,0} // Y Axis Extend and Retract angles
#define Z_ENDSTOP_SERVO_ANGLES {90,0} // Z Axis Extend and Retract angles
...
...
MarlinKimbra/Marlin_main.cpp
View file @
da44d760
...
...
@@ -6991,6 +6991,7 @@ inline void gcode_T(uint8_t tmp_extruder) {
delay
(
DONDOLO_SERVO_DELAY
);
servo
[
DONDOLO_SERVO_INDEX
].
detach
();
}
set_stepper_direction
(
true
);
ECHO_LMV
(
DB
,
MSG_ACTIVE_DRIVER
,
active_driver
);
ECHO_LMV
(
DB
,
MSG_ACTIVE_EXTRUDER
,
active_extruder
);
#else
...
...
MarlinKimbra/NexSlider.cpp
View file @
da44d760
...
...
@@ -32,7 +32,7 @@ bool NexSlider::setValue(uint32_t number)
{
char
buf
[
10
]
=
{
0
};
String
cmd
;
utoa
(
number
,
buf
,
10
);
cmd
+=
getObjName
();
cmd
+=
".val="
;
...
...
@@ -42,3 +42,30 @@ bool NexSlider::setValue(uint32_t number)
return
recvRetCommandFinished
();
}
bool
NexSlider
::
setMaxValue
(
uint32_t
number
)
{
char
buf
[
10
]
=
{
0
};
String
cmd
;
utoa
(
number
,
buf
,
10
);
cmd
+=
getObjName
();
cmd
+=
".maxval="
;
cmd
+=
buf
;
sendCommand
(
cmd
.
c_str
());
return
recvRetCommandFinished
();
}
bool
NexSlider
::
setHigValue
(
uint32_t
number
)
{
char
buf
[
10
]
=
{
0
};
String
cmd
;
utoa
(
number
,
buf
,
10
);
cmd
+=
getObjName
();
cmd
+=
".hig="
;
cmd
+=
buf
;
sendCommand
(
cmd
.
c_str
());
return
recvRetCommandFinished
();
}
MarlinKimbra/NexSlider.h
View file @
da44d760
...
...
@@ -44,7 +44,7 @@ public: /* methods */
* @retval false - failed.
*/
bool
getValue
(
uint32_t
*
number
);
/**
* Set the value of slider.
*
...
...
@@ -54,6 +54,26 @@ public: /* methods */
* @retval false - failed.
*/
bool
setValue
(
uint32_t
number
);
/**
* Set the maxvalue of slider.
*
* @param number - the value of slider.
*
* @retval true - success.
* @retval false - failed.
*/
bool
setMaxValue
(
uint32_t
number
);
/**
* Set the hig of slider.
*
* @param number - the value of slider.
*
* @retval true - success.
* @retval false - failed.
*/
bool
setHigValue
(
uint32_t
number
);
};
/**
* @}
...
...
MarlinKimbra/nextion/marlinkimbra_v0_5_
1
.HMI
→
MarlinKimbra/nextion/marlinkimbra_v0_5_
3
.HMI
View file @
da44d760
No preview for this file type
MarlinKimbra/nextion/marlinkimbra_v0_5_
1
.tft
→
MarlinKimbra/nextion/marlinkimbra_v0_5_
3
.tft
View file @
da44d760
No preview for this file type
MarlinKimbra/stepper.cpp
View file @
da44d760
...
...
@@ -539,35 +539,37 @@ FORCE_INLINE unsigned short calc_timer(unsigned short step_rate) {
* X_AXIS=A_AXIS and Y_AXIS=B_AXIS for COREXY
* X_AXIS=A_AXIS and Z_AXIS=C_AXIS for COREXZ
*/
void
set_stepper_direction
()
{
void
set_stepper_direction
(
bool
onlye
)
{
if
(
TEST
(
out_bits
,
X_AXIS
))
{
// A_AXIS
X_APPLY_DIR
(
INVERT_X_DIR
,
0
);
count_direction
[
X_AXIS
]
=
-
1
;
}
else
{
X_APPLY_DIR
(
!
INVERT_X_DIR
,
0
);
count_direction
[
X_AXIS
]
=
1
;
}
if
(
!
onlye
)
{
if
(
TEST
(
out_bits
,
X_AXIS
))
{
// A_AXIS
X_APPLY_DIR
(
INVERT_X_DIR
,
0
);
count_direction
[
X_AXIS
]
=
-
1
;
}
else
{
X_APPLY_DIR
(
!
INVERT_X_DIR
,
0
);
count_direction
[
X_AXIS
]
=
1
;
}
if
(
TEST
(
out_bits
,
Y_AXIS
))
{
// B_AXIS
Y_APPLY_DIR
(
INVERT_Y_DIR
,
0
);
count_direction
[
Y_AXIS
]
=
-
1
;
}
else
{
Y_APPLY_DIR
(
!
INVERT_Y_DIR
,
0
);
count_direction
[
Y_AXIS
]
=
1
;
}
if
(
TEST
(
out_bits
,
Z_AXIS
))
{
// C_AXIS
Z_APPLY_DIR
(
INVERT_Z_DIR
,
0
);
count_direction
[
Z_AXIS
]
=
-
1
;
}
else
{
Z_APPLY_DIR
(
!
INVERT_Z_DIR
,
0
);
count_direction
[
Z_AXIS
]
=
1
;
if
(
TEST
(
out_bits
,
Y_AXIS
))
{
// B_AXIS
Y_APPLY_DIR
(
INVERT_Y_DIR
,
0
);
count_direction
[
Y_AXIS
]
=
-
1
;
}
else
{
Y_APPLY_DIR
(
!
INVERT_Y_DIR
,
0
);
count_direction
[
Y_AXIS
]
=
1
;
}
if
(
TEST
(
out_bits
,
Z_AXIS
))
{
// C_AXIS
Z_APPLY_DIR
(
INVERT_Z_DIR
,
0
);
count_direction
[
Z_AXIS
]
=
-
1
;
}
else
{
Z_APPLY_DIR
(
!
INVERT_Z_DIR
,
0
);
count_direction
[
Z_AXIS
]
=
1
;
}
}
#if DISABLED(ADVANCE) && ENABLED(DONDOLO)
if
(
TEST
(
out_bits
,
E_AXIS
))
{
if
(
active_extruder
==
0
)
{
...
...
MarlinKimbra/stepper.h
View file @
da44d760
...
...
@@ -69,6 +69,9 @@ void st_init();
// Block until all buffered steps are executed
void
st_synchronize
();
// Set the stepper direction of each axis
void
set_stepper_direction
(
bool
onlye
=
false
);
// Set current position in steps
void
st_set_position
(
const
long
&
x
,
const
long
&
y
,
const
long
&
z
,
const
long
&
e
);
void
st_set_e_position
(
const
long
&
e
);
...
...
MarlinKimbra/ultralcd.cpp
View file @
da44d760
...
...
@@ -2392,9 +2392,11 @@ char *ftostr52(const float &x) {
#include "ultralcd.h"
#include "Nextion.h"
bool
NextionON
=
false
;
bool
PageInfo
=
false
;
char
buffer
[
100
]
=
{
0
};
const
float
MaxWave
=
0.2
;
bool
NextionON
=
false
;
bool
PageInfo
=
false
;
char
buffer
[
100
]
=
{
0
};
int
slidermaxval
=
20
;
char
lcd_status_message
[
30
]
=
WELCOME_MSG
;
// worst case is kana with up to 3*LCD_WIDTH+1
uint8_t
lcd_status_message_level
=
0
;
...
...
@@ -2402,6 +2404,9 @@ uint8_t lcd_status_message_level = 0;
NexPage
page0
=
NexPage
(
0
,
0
,
"start"
);
NexPage
page1
=
NexPage
(
1
,
0
,
"info"
);
NexPage
page2
=
NexPage
(
2
,
0
,
"settemp"
);
NexPage
page3
=
NexPage
(
3
,
0
,
"menu"
);
NexPage
page4
=
NexPage
(
4
,
0
,
"sdcard"
);
NexPage
page5
=
NexPage
(
5
,
0
,
"setup"
);
// Text
NexText
Hotend0
=
NexText
(
1
,
1
,
"t0"
);
...
...
@@ -2412,6 +2417,12 @@ NexText LedStatus = NexText(1, 7, "t4");
NexText
LedCoord
=
NexText
(
1
,
8
,
"t5"
);
NexText
set0
=
NexText
(
2
,
2
,
"set0"
);
NexText
set1
=
NexText
(
2
,
15
,
"set1"
);
NexText
sdrow0
=
NexText
(
4
,
3
,
"t1"
);
NexText
sdrow1
=
NexText
(
4
,
4
,
"t2"
);
NexText
sdrow2
=
NexText
(
4
,
5
,
"t3"
);
NexText
sdrow3
=
NexText
(
4
,
6
,
"t4"
);
NexText
sdrow4
=
NexText
(
4
,
7
,
"t5"
);
NexText
sdrow5
=
NexText
(
4
,
8
,
"t6"
);
// Picture
NexPicture
Menu
=
NexPicture
(
1
,
10
,
"p0"
);
...
...
@@ -2421,11 +2432,22 @@ NexPicture Hend0 = NexPicture(1, 13, "p3");
NexPicture
Hend1
=
NexPicture
(
1
,
14
,
"p4"
);
NexPicture
Hend2
=
NexPicture
(
1
,
15
,
"p5"
);
NexPicture
Fanpic
=
NexPicture
(
1
,
19
,
"p6"
);
NexPicture
Folder0
=
NexPicture
(
4
,
9
,
"p0"
);
NexPicture
Folder1
=
NexPicture
(
4
,
10
,
"p1"
);
NexPicture
Folder2
=
NexPicture
(
4
,
11
,
"p2"
);
NexPicture
Folder3
=
NexPicture
(
4
,
12
,
"p3"
);
NexPicture
Folder4
=
NexPicture
(
4
,
13
,
"p4"
);
NexPicture
Folder5
=
NexPicture
(
4
,
14
,
"p5"
);
// Progress Bar
// Slider
NexSlider
sdlist
=
NexSlider
(
4
,
1
,
"h0"
);
// Wafeform
NexWaveform
Graph0
=
NexWaveform
(
1
,
9
,
"s0"
);
NexWaveform
Graph0
=
NexWaveform
(
1
,
9
,
"s0"
);
NexWaveform
Graph1
=
NexWaveform
(
1
,
24
,
"s1"
);
NexWaveform
Graph2
=
NexWaveform
(
1
,
25
,
"s2"
);
// Touch area
NexHotspot
hot0
=
NexHotspot
(
1
,
14
,
"hot0"
);
...
...
@@ -2452,6 +2474,7 @@ NexTouch *nex_listen_list[] =
&
m11
,
&
tup
,
&
tdown
,
&
sdlist
,
NULL
};
...
...
@@ -2480,6 +2503,114 @@ void setpageInfo() {
lcd_setstatus
(
lcd_status_message
);
}
void
setrowsdcard
(
uint32_t
number
=
0
)
{
uint16_t
fileCnt
=
card
.
getnrfilenames
();
uint32_t
ii
=
0
;
ECHO_EMV
(
"FILE CONT = "
,
fileCnt
);
card
.
getWorkDirName
();
for
(
uint8_t
i
=
0
;
i
<
6
;
i
++
)
{
ii
=
i
+
number
;
if
(
ii
<=
fileCnt
)
{
card
.
getfilename
(
ii
);
switch
(
i
)
{
case
0
:
{
if
(
card
.
filenameIsDir
)
{
Folder0
.
setPic
(
18
);
sdrow0
.
setText
(
card
.
filename
);
}
else
{
Folder0
.
setPic
(
17
);
sdrow0
.
setText
(
card
.
longFilename
);
}
break
;
}
case
1
:
{
if
(
card
.
filenameIsDir
)
{
Folder1
.
setPic
(
18
);
sdrow1
.
setText
(
card
.
filename
);
}
else
{
Folder1
.
setPic
(
17
);
sdrow1
.
setText
(
card
.
longFilename
);
}
break
;
}
case
2
:
{
if
(
card
.
filenameIsDir
)
{
Folder2
.
setPic
(
18
);
sdrow2
.
setText
(
card
.
filename
);
}
else
{
Folder2
.
setPic
(
17
);
sdrow2
.
setText
(
card
.
longFilename
);
}
break
;
}
case
3
:
{
if
(
card
.
filenameIsDir
)
{
Folder3
.
setPic
(
18
);
sdrow3
.
setText
(
card
.
filename
);
}
else
{
Folder3
.
setPic
(
17
);
sdrow3
.
setText
(
card
.
longFilename
);
}
break
;
}
case
4
:
{
if
(
card
.
filenameIsDir
)
{
Folder4
.
setPic
(
18
);
sdrow4
.
setText
(
card
.
filename
);
}
else
{
Folder4
.
setPic
(
17
);
sdrow4
.
setText
(
card
.
longFilename
);
}
break
;
}
case
5
:
{
if
(
card
.
filenameIsDir
)
{
Folder5
.
setPic
(
18
);
sdrow5
.
setText
(
card
.
filename
);
}
else
{
Folder5
.
setPic
(
17
);
sdrow5
.
setText
(
card
.
longFilename
);
}
break
;
}
}
}
}
sendCommand
(
"ref 0"
);
}
void
setpagesdcard
()
{
PageInfo
=
false
;
page4
.
show
();
uint16_t
fileCnt
=
card
.
getnrfilenames
();
if
(
fileCnt
<=
6
)
slidermaxval
=
1
;
else
slidermaxval
=
(
fileCnt
/
6
)
+
1
;
const
int
sliderhig
=
230
/
slidermaxval
;
sdlist
.
setMaxValue
(
slidermaxval
);
sdlist
.
setValue
(
slidermaxval
);
sdlist
.
setHigValue
(
sliderhig
);
setrowsdcard
();
}
void
page0PopCallback
(
void
*
ptr
)
{
setpageInfo
();
}
...
...
@@ -2548,7 +2679,7 @@ void setpagePopCallback(void *ptr) {
if
(
ptr
==
&
Menu
)
sendCommand
(
"page menu"
);
if
(
ptr
==
&
MSD
)
se
ndCommand
(
"page msd"
);
se
tpagesdcard
(
);
if
(
ptr
==
&
MSetup
)
sendCommand
(
"page setup"
);
}
...
...
@@ -2558,6 +2689,13 @@ void setfanPopCallback(void *ptr) {
else
fanSpeed
=
255
;
}
void
sdlistPopCallback
(
void
*
ptr
)
{
uint32_t
number
=
0
;
sdlist
.
getValue
(
&
number
);
number
=
slidermaxval
-
number
;
setrowsdcard
(
number
);
}
millis_t
next_lcd_update_ms
;
void
lcd_init
()
{
...
...
@@ -2569,6 +2707,7 @@ void lcd_init() {
ECHO_LM
(
DB
,
"Nextion LCD connected!"
);
page0
.
attachPop
(
page0PopCallback
);
sdlist
.
attachPop
(
sdlistPopCallback
);
#if HAS_TEMP_0
hot0
.
attachPop
(
hotPopCallback
,
&
hot0
);
...
...
@@ -2587,6 +2726,7 @@ void lcd_init() {
m11
.
attachPop
(
sethotPopCallback
,
&
m11
);
tup
.
attachPop
(
settempPopCallback
,
&
tup
);
tdown
.
attachPop
(
settempPopCallback
,
&
tdown
);
startimer
.
enable
();
}
}
...
...
@@ -2614,21 +2754,24 @@ static void temptoLCD(int h, int T1, int T2) {
{
Hotend0
.
setText
(
buffer
);
Hotend0
.
setColor
(
color
);
Graph0
.
addValue
(
0
,
T1
);
Graph0
.
addValue
(
0
,
(
int
)(
T1
*
MaxWave
));
Graph0
.
addValue
(
1
,
(
int
)(
T2
*
MaxWave
));
break
;
}
case
1
:
{
Hotend1
.
setText
(
buffer
);
Hotend1
.
setColor
(
color
);
Graph0
.
addValue
(
1
,
T1
);
Graph1
.
addValue
(
0
,
(
int
)(
T1
*
MaxWave
));
Graph1
.
addValue
(
1
,
(
int
)(
T2
*
MaxWave
));
break
;
}
case
2
:
{
Hotend2
.
setText
(
buffer
);
Hotend2
.
setColor
(
color
);
Graph0
.
addValue
(
2
,
T1
);
Graph2
.
addValue
(
0
,
(
int
)(
T1
*
MaxWave
));
Graph2
.
addValue
(
1
,
(
int
)(
T2
*
MaxWave
));
break
;
}
}
...
...
MarlinKimbra/ultralcd.h
View file @
da44d760
...
...
@@ -119,6 +119,7 @@
void
sethotPopCallback
(
void
*
ptr
);
void
settempPopCallback
(
void
*
ptr
);
void
setfanPopCallback
(
void
*
ptr
);
void
sdlistPopCallback
(
void
*
ptr
);
void
lcd_update
();
void
lcd_init
();
void
lcd_setstatus
(
const
char
*
message
,
const
bool
persist
=
false
);
...
...
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