Skip to content

Commit

Permalink
Merge pull request #4 from jeffeb3/loki
Browse files Browse the repository at this point in the history
Incorporating changes from loki's CNC work.
  • Loading branch information
jeffeb3 authored Jul 29, 2020
2 parents ba6abf6 + 239ec1e commit 697a831
Show file tree
Hide file tree
Showing 54 changed files with 632 additions and 59 deletions.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
21 changes: 21 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ Firmware for BigTreeTech's dual-mode touchscreen 3D printer controllers
- [Firmware](#firmware)
- [Troubleshooting](#troubleshooting)
- [Version History](#version-history)
- [CNC Targeted Modifications](#CNC-Targeted-Modifications)

## Menus and Themes

Expand Down Expand Up @@ -108,3 +109,23 @@ To reset the TFT's touch screen calibration, create a blank file named `reset.tx
## Version History

See [BIGTREETECH-TouchScreenFirmware/releases](https://github.com/bigtreetech/BIGTREETECH-TouchScreenFirmware/releases) for a complete version history.

## CNC Targeted Modifications

1. Possibility to define CNC_MENU in Configuration.h in order to configure the SW for CNC purposes
2. Introduced new language and icons tags for CNC specific menu items (no impact on 3D printer tags)
3. Added some specific bitmaps (from [BlomsD / MPCNC-TFT35-V2.0](https://github.com/BlomsD/MPCNC-TFT35-V2.0))
4. Introduced a new menu spindle.c in order to add spindle start/stop control
5. Removed Bed and Extruder Heating menu items from Mainpage.c
6. Forced configuration in order to remove persistent Bed/Extruder temperature indication on all the pages
7. Modified the Home menu in order to support G28 XY and G28 Z and Zero axes
8. Possibility to define CNC_LASER in configuration.h in order to introduce menù for laser management (instead of fan)

See:

1.[TFT35 Home Menu (Home XY)](https://youtu.be/tTO4IgWAW1k)

2.[TFT35 Home Menu (Home Z - Zero 0)](https://youtu.be/vSVPUKN2T6w)

3.[TFT35 Home Spindle (Spindle ON/OFF)](https://youtu.be/DXpbi54GyoA)

12 changes: 12 additions & 0 deletions TFT/src/User/API/Language/Language.inc
Original file line number Diff line number Diff line change
Expand Up @@ -204,4 +204,16 @@ X_WORD (SWAP_RECOVER_FEEDRATE)
X_WORD (RECOVER_LENGTH)
X_WORD (SWAP_RECOVER_LENGTH)
X_WORD (START_PRINT)
X_WORD (ZERO_X)
X_WORD (ZERO_Y)
X_WORD (ZERO_Z)
X_WORD (XY)
X_WORD (SPINDLE)
X_WORD (CUT)
X_WORD (LASER)
X_WORD (LASER_2)
X_WORD (LASER_100)
X_WORD (LASER_OFF)
X_WORD (CNC_MODE)
X_WORD (LASER_MODE)

12 changes: 12 additions & 0 deletions TFT/src/User/API/Language/language_am.h
Original file line number Diff line number Diff line change
Expand Up @@ -200,4 +200,16 @@
#define AM_SWAP_RECOVER_LENGTH "Extra recover swap length"
#define AM_START_PRINT "Start Printing:\n %s?"

#define AM_ZERO_X "Zero X"
#define AM_ZERO_Y "Zero Y"
#define AM_ZERO_Z "Zero Z"
#define AM_XY "XY"
#define AM_SPINDLE "Spindle"
#define AM_CUT "Cut"
#define AM_LASER "Laser"
#define AM_LASER_2 "Laser 2%"
#define AM_LASER_100 "Laser 100%"
#define AM_LASER_OFF "Laser Off"
#define AM_CNC_MODE "CNC Mode"
#define AM_LASER_MODE "Laser Mode"
#endif
12 changes: 12 additions & 0 deletions TFT/src/User/API/Language/language_cn.h
Original file line number Diff line number Diff line change
Expand Up @@ -200,4 +200,16 @@
#define CN_SWAP_RECOVER_LENGTH "Extra recover swap length"
#define CN_START_PRINT "Start Printing:\n %s?"

#define CN_ZERO_X "Zero X"
#define CN_ZERO_Y "Zero Y"
#define CN_ZERO_Z "Zero Z"
#define CN_XY "XY"
#define CN_SPINDLE "Spindle"
#define CN_CUT "Cut"
#define CN_LASER "Laser"
#define CN_LASER_2 "Laser 2%"
#define CN_LASER_100 "Laser 100%"
#define CN_LASER_OFF "Laser Off"
#define CN_CNC_MODE "CNC Mode"
#define CN_LASER_MODE "Laser Mode"
#endif
12 changes: 12 additions & 0 deletions TFT/src/User/API/Language/language_cz.h
Original file line number Diff line number Diff line change
Expand Up @@ -200,4 +200,16 @@
#define CZ_SWAP_RECOVER_LENGTH "Extra recover swap length"
#define CZ_START_PRINT "Start Printing:\n %s?"

#define CZ_ZERO_X "Zero X"
#define CZ_ZERO_Y "Zero Y"
#define CZ_ZERO_Z "Zero Z"
#define CZ_XY "XY"
#define CZ_SPINDLE "Spindle"
#define CZ_CUT "Cut"
#define CZ_LASER "Laser"
#define CZ_LASER_2 "Laser 2%"
#define CZ_LASER_100 "Laser 100%"
#define CZ_LASER_OFF "Laser Off"
#define CZ_CNC_MODE "CNC Mode"
#define CZ_LASER_MODE "Laser Mode"
#endif
12 changes: 12 additions & 0 deletions TFT/src/User/API/Language/language_de.h
Original file line number Diff line number Diff line change
Expand Up @@ -200,4 +200,16 @@
#define DE_SWAP_RECOVER_LENGTH "Extra recover swap length"
#define DE_START_PRINT "Start Printing:\n %s?"

#define DE_ZERO_X "Zero X"
#define DE_ZERO_Y "Zero Y"
#define DE_ZERO_Z "Zero Z"
#define DE_XY "XY"
#define DE_SPINDLE "Spindle"
#define DE_CUT "Cut"
#define DE_LASER "Laser"
#define DE_LASER_2 "Laser 2%"
#define DE_LASER_100 "Laser 100%"
#define DE_LASER_OFF "Laser Off"
#define DE_CNC_MODE "CNC Mode"
#define DE_LASER_MODE "Laser Mode"
#endif
12 changes: 12 additions & 0 deletions TFT/src/User/API/Language/language_du.h
Original file line number Diff line number Diff line change
Expand Up @@ -200,4 +200,16 @@
#define DU_SWAP_RECOVER_LENGTH "Extra recover swap length"
#define DU_START_PRINT "Start Printing:\n %s?"

#define DU_ZERO_X "Zero X"
#define DU_ZERO_Y "Zero Y"
#define DU_ZERO_Z "Zero Z"
#define DU_XY "XY"
#define DU_SPINDLE "Spindle"
#define DU_CUT "Cut"
#define DU_LASER "Laser"
#define DU_LASER_2 "Laser 2%"
#define DU_LASER_100 "Laser 100%"
#define DU_LASER_OFF "Laser Off"
#define DU_CNC_MODE "CNC Mode"
#define DU_LASER_MODE "Laser Mode"
#endif
12 changes: 12 additions & 0 deletions TFT/src/User/API/Language/language_en.h
Original file line number Diff line number Diff line change
Expand Up @@ -200,4 +200,16 @@
#define EN_SWAP_RECOVER_LENGTH "Extra recover swap length"
#define EN_START_PRINT "Start Printing:\n %s?"

#define EN_ZERO_X "Zero X"
#define EN_ZERO_Y "Zero Y"
#define EN_ZERO_Z "Zero Z"
#define EN_XY "XY"
#define EN_SPINDLE "Spindle"
#define EN_CUT "Cut"
#define EN_LASER "Laser"
#define EN_LASER_2 "Laser 2%"
#define EN_LASER_100 "Laser 100%"
#define EN_LASER_OFF "Laser Off"
#define EN_CNC_MODE "CNC Mode"
#define EN_LASER_MODE "Laser Mode"
#endif
12 changes: 12 additions & 0 deletions TFT/src/User/API/Language/language_es.h
Original file line number Diff line number Diff line change
Expand Up @@ -200,4 +200,16 @@
#define ES_SWAP_RECOVER_LENGTH "Extra recover swap length"
#define ES_START_PRINT "Start Printing:\n %s?"

#define ES_ZERO_X "Zero X"
#define ES_ZERO_Y "Zero Y"
#define ES_ZERO_Z "Zero Z"
#define ES_XY "XY"
#define ES_SPINDLE "Spindle"
#define ES_CUT "Cut"
#define ES_LASER "Laser"
#define ES_LASER_2 "Laser 2%"
#define ES_LASER_100 "Laser 100%"
#define ES_LASER_OFF "Laser Off"
#define ES_CNC_MODE "CNC Mode"
#define ES_LASER_MODE "Laser Mode"
#endif
12 changes: 12 additions & 0 deletions TFT/src/User/API/Language/language_fr.h
Original file line number Diff line number Diff line change
Expand Up @@ -200,4 +200,16 @@
#define FR_SWAP_RECOVER_LENGTH "Extra recover swap length"
#define FR_START_PRINT "Start Printing:\n %s?"

#define FR_ZERO_X "Zero X"
#define FR_ZERO_Y "Zero Y"
#define FR_ZERO_Z "Zero Z"
#define FR_XY "XY"
#define FR_SPINDLE "Spindle"
#define FR_CUT "Cut"
#define FR_LASER "Laser"
#define FR_LASER_2 "Laser 2%"
#define FR_LASER_100 "Laser 100%"
#define FR_LASER_OFF "Laser Off"
#define FR_CNC_MODE "CNC Mode"
#define FR_LASER_MODE "Laser Mode"
#endif
12 changes: 12 additions & 0 deletions TFT/src/User/API/Language/language_gr.h
Original file line number Diff line number Diff line change
Expand Up @@ -200,4 +200,16 @@
#define GR_SWAP_RECOVER_LENGTH "Extra recover swap length"
#define GR_START_PRINT "Start Printing:\n %s?"

#define GR_ZERO_X "Zero X"
#define GR_ZERO_Y "Zero Y"
#define GR_ZERO_Z "Zero Z"
#define GR_XY "XY"
#define GR_SPINDLE "Spindle"
#define GR_CUT "Cut"
#define GR_LASER "Laser"
#define GR_LASER_2 "Laser 2%"
#define GR_LASER_100 "Laser 100%"
#define GR_LASER_OFF "Laser Off"
#define GR_CNC_MODE "CNC Mode"
#define GR_LASER_MODE "Laser Mode"
#endif
12 changes: 12 additions & 0 deletions TFT/src/User/API/Language/language_hu.h
Original file line number Diff line number Diff line change
Expand Up @@ -200,4 +200,16 @@
#define HU_SWAP_RECOVER_LENGTH "Cserehossz javítás"
#define HU_START_PRINT "Nyomtatás indítása:\n %s?"

#define HU_ZERO_X "Zero X"
#define HU_ZERO_Y "Zero Y"
#define HU_ZERO_Z "Zero Z"
#define HU_XY "XY"
#define HU_SPINDLE "Spindle"
#define HU_CUT "Cut"
#define HU_LASER "Laser"
#define HU_LASER_2 "Laser 2%"
#define HU_LASER_100 "Laser 100%"
#define HU_LASER_OFF "Laser Off"
#define HU_CNC_MODE "CNC Mode"
#define HU_LASER_MODE "Laser Mode"
#endif
12 changes: 12 additions & 0 deletions TFT/src/User/API/Language/language_it.h
Original file line number Diff line number Diff line change
Expand Up @@ -200,4 +200,16 @@
#define IT_SWAP_RECOVER_LENGTH "Extra recover swap length"
#define IT_START_PRINT "Start Printing:\n %s?"

#define IT_ZERO_X "Zero X"
#define IT_ZERO_Y "Zero Y"
#define IT_ZERO_Z "Zero Z"
#define IT_XY "XY"
#define IT_SPINDLE "Spindle"
#define IT_CUT "Cut"
#define IT_LASER "Laser"
#define IT_LASER_2 "Laser 2%"
#define IT_LASER_100 "Laser 100%"
#define IT_LASER_OFF "Laser Off"
#define IT_CNC_MODE "CNC Mode"
#define IT_LASER_MODE "Laser Mode"
#endif
12 changes: 12 additions & 0 deletions TFT/src/User/API/Language/language_jp.h
Original file line number Diff line number Diff line change
Expand Up @@ -200,4 +200,16 @@
#define JP_SWAP_RECOVER_LENGTH "Extra recover swap length"
#define JP_START_PRINT "Start Printing:\n %s?"

#define JP_ZERO_X "Zero X"
#define JP_ZERO_Y "Zero Y"
#define JP_ZERO_Z "Zero Z"
#define JP_XY "XY"
#define JP_SPINDLE "Spindle"
#define JP_CUT "Cut"
#define JP_LASER "Laser"
#define JP_LASER_2 "Laser 2%"
#define JP_LASER_100 "Laser 100%"
#define JP_LASER_OFF "Laser Off"
#define JP_CNC_MODE "CNC Mode"
#define JP_LASER_MODE "Laser Mode"
#endif
12 changes: 12 additions & 0 deletions TFT/src/User/API/Language/language_pl.h
Original file line number Diff line number Diff line change
Expand Up @@ -200,4 +200,16 @@
#define PL_SWAP_RECOVER_LENGTH "Extra recover swap length"
#define PL_START_PRINT "Start Printing:\n %s?"

#define PL_ZERO_X "Zero X"
#define PL_ZERO_Y "Zero Y"
#define PL_ZERO_Z "Zero Z"
#define PL_XY "XY"
#define PL_SPINDLE "Spindle"
#define PL_CUT "Cut"
#define PL_LASER "Laser"
#define PL_LASER_2 "Laser 2%"
#define PL_LASER_100 "Laser 100%"
#define PL_LASER_OFF "Laser Off"
#define PL_CNC_MODE "CNC Mode"
#define PL_LASER_MODE "Laser Mode"
#endif
12 changes: 12 additions & 0 deletions TFT/src/User/API/Language/language_pt.h
Original file line number Diff line number Diff line change
Expand Up @@ -200,4 +200,16 @@
#define PT_SWAP_RECOVER_LENGTH "Extra recover swap length"
#define PT_START_PRINT "Start Printing:\n %s?"

#define PT_ZERO_X "Zero X"
#define PT_ZERO_Y "Zero Y"
#define PT_ZERO_Z "Zero Z"
#define PT_XY "XY"
#define PT_SPINDLE "Spindle"
#define PT_CUT "Cut"
#define PT_LASER "Laser"
#define PT_LASER_2 "Laser 2%"
#define PT_LASER_100 "Laser 100%"
#define PT_LASER_OFF "Laser Off"
#define PT_CNC_MODE "CNC Mode"
#define PT_LASER_MODE "Laser Mode"
#endif
12 changes: 12 additions & 0 deletions TFT/src/User/API/Language/language_ru.h
Original file line number Diff line number Diff line change
Expand Up @@ -200,4 +200,16 @@
#define RU_SWAP_RECOVER_LENGTH "Extra recover swap length"
#define RU_START_PRINT "Start Printing:\n %s?"

#define RU_ZERO_X "Zero X"
#define RU_ZERO_Y "Zero Y"
#define RU_ZERO_Z "Zero Z"
#define RU_XY "XY"
#define RU_SPINDLE "Spindle"
#define RU_CUT "Cut"
#define RU_LASER "Laser"
#define RU_LASER_2 "Laser 2%"
#define RU_LASER_100 "Laser 100%"
#define RU_LASER_OFF "Laser Off"
#define RU_CNC_MODE "CNC Mode"
#define RU_LASER_MODE "Laser Mode"
#endif
12 changes: 12 additions & 0 deletions TFT/src/User/API/Language/language_sk.h
Original file line number Diff line number Diff line change
Expand Up @@ -200,4 +200,16 @@
#define SK_SWAP_RECOVER_LENGTH "Extra recover swap length"
#define SK_START_PRINT "Start Printing:\n %s?"

#define SK_ZERO_X "Zero X"
#define SK_ZERO_Y "Zero Y"
#define SK_ZERO_Z "Zero Z"
#define SK_XY "XY"
#define SK_SPINDLE "Spindle"
#define SK_CUT "Cut"
#define SK_LASER "Laser"
#define SK_LASER_2 "Laser 2%"
#define SK_LASER_100 "Laser 100%"
#define SK_LASER_OFF "Laser Off"
#define SK_CNC_MODE "CNC Mode"
#define SK_LASER_MODE "Laser Mode"
#endif
12 changes: 12 additions & 0 deletions TFT/src/User/API/Language/language_sl.h
Original file line number Diff line number Diff line change
Expand Up @@ -200,4 +200,16 @@
#define SL_SWAP_RECOVER_LENGTH "Extra recover swap length"
#define SL_START_PRINT "Start tiska:\n %s?"

#define SL_ZERO_X "Zero X"
#define SL_ZERO_Y "Zero Y"
#define SL_ZERO_Z "Zero Z"
#define SL_XY "XY"
#define SL_SPINDLE "Spindle"
#define SL_CUT "Cut"
#define SL_LASER "Laser"
#define SL_LASER_2 "Laser 2%"
#define SL_LASER_100 "Laser 100%"
#define SL_LASER_OFF "Laser Off"
#define SL_CNC_MODE "CNC Mode"
#define SL_LASER_MODE "Laser Mode"
#endif
12 changes: 12 additions & 0 deletions TFT/src/User/API/Language/language_tr.h
Original file line number Diff line number Diff line change
Expand Up @@ -200,4 +200,16 @@
#define TR_SWAP_RECOVER_LENGTH "Extra recover swap length"
#define TR_START_PRINT "Start Printing:\n %s?"

#define TR_ZERO_X "Zero X"
#define TR_ZERO_Y "Zero Y"
#define TR_ZERO_Z "Zero Z"
#define TR_XY "XY"
#define TR_SPINDLE "Spindle"
#define TR_CUT "Cut"
#define TR_LASER "Laser"
#define TR_LASER_2 "Laser 2%"
#define TR_LASER_100 "Laser 100%"
#define TR_LASER_OFF "Laser Off"
#define TR_CNC_MODE "CNC Mode"
#define TR_LASER_MODE "Laser Mode"
#endif
18 changes: 14 additions & 4 deletions TFT/src/User/API/Printing.c
Original file line number Diff line number Diff line change
Expand Up @@ -95,18 +95,22 @@ void printSetUpdateWaiting(bool isWaiting)

void printerGotoIdle(void)
{
// disable all heater
for (TOOL i = BED; i < HEATER_COUNT; i++)
if (infoSettings.cnc_mode != 1)
{
mustStoreCmd("%s S0\n", heatCmd[i]);
// disable all heater
for (TOOL i = BED; i < HEATER_COUNT; i++)
{
mustStoreCmd("%s S0\n", heatCmd[i]);
}
}

// disable all fan
for (u8 i = 0; i < (infoSettings.fan_count); i++)
{
mustStoreCmd("%s S0\n", fanCmd[i]);
}
// disable all stepper
mustStoreCmd("M18\n");
// mustStoreCmd("M18\n");
}

//only return gcode file name except path
Expand Down Expand Up @@ -295,6 +299,12 @@ void abortPrinting(void)
}
heatClearIsWaiting();

if (infoSettings.cnc_mode != 1)
{
// Always turn off the spindle.
mustStoreCmd("M05\n");
}

endPrinting();
exitPrinting();
}
Expand Down
Loading

0 comments on commit 697a831

Please sign in to comment.