Added support for extruder offset handling

The extruder offset can be specified in the configuration
file or adjusted on the fly using the "M218 T# X# Y#" command.
The EEPROM support is not yet merged in.
The "T#" command can take option "F#" that specifies the feedrate
at which the printing head should be re-positioned. If not
specified the re-positioning move is not preformed immediately,
but the coordinates are adjusted for the printer to properly
position the head when the next movement happens.
This commit is contained in:
Denis B
2013-02-04 23:05:45 -05:00
parent 49b2ddc8c1
commit 70871715e4
3 changed files with 93 additions and 11 deletions

View File

@ -139,6 +139,7 @@
#define MSG_END_FILE_LIST "End file list"
#define MSG_M104_INVALID_EXTRUDER "M104 Invalid extruder "
#define MSG_M105_INVALID_EXTRUDER "M105 Invalid extruder "
#define MSG_M218_INVALID_EXTRUDER "M218 Invalid extruder "
#define MSG_ERR_NO_THERMISTORS "No thermistors - no temperature"
#define MSG_M109_INVALID_EXTRUDER "M109 Invalid extruder "
#define MSG_HEATING "Heating..."
@ -162,6 +163,7 @@
#define MSG_M119_REPORT "Reporting endstop status"
#define MSG_ENDSTOP_HIT "TRIGGERED"
#define MSG_ENDSTOP_OPEN "open"
#define MSG_HOTEND_OFFSET "Hotend offsets:"
#define MSG_SD_CANT_OPEN_SUBDIR "Cannot open subdir"
#define MSG_SD_INIT_FAIL "SD init fail"
@ -294,6 +296,7 @@
#define MSG_END_FILE_LIST "Koniec listy plikow"
#define MSG_M104_INVALID_EXTRUDER "M104 Niepoprawny ekstruder "
#define MSG_M105_INVALID_EXTRUDER "M105 Niepoprawny ekstruder "
#define MSG_M218_INVALID_EXTRUDER "M218 Niepoprawny ekstruder "
#define MSG_ERR_NO_THERMISTORS "Brak termistorow - brak temperatury :("
#define MSG_M109_INVALID_EXTRUDER "M109 Niepoprawny ekstruder "
#define MSG_HEATING "Nagrzewanie ekstrudera..."
@ -317,6 +320,7 @@
#define MSG_M119_REPORT "Zgloszenie statusu wylacznikow krancowych"
#define MSG_ENDSTOP_HIT "WYZWOLONY"
#define MSG_ENDSTOP_OPEN "otwarty"
#define MSG_HOTEND_OFFSET "Hotend offsets:"
#define MSG_SD_CANT_OPEN_SUBDIR "Nie mozna otworzyc podkatalogu"
#define MSG_SD_INIT_FAIL "Blad inicjalizacji karty SD"
@ -454,6 +458,7 @@
#define MSG_END_FILE_LIST "Fin de la liste de fichiers"
#define MSG_M104_INVALID_EXTRUDER "M104 Extruder invalide"
#define MSG_M105_INVALID_EXTRUDER "M105 Extruder invalide"
#define MSG_M218_INVALID_EXTRUDER "M218 Extruder invalide"
#define MSG_ERR_NO_THERMISTORS "Pas de thermistor, pas de temperature"
#define MSG_M109_INVALID_EXTRUDER "M109 Extruder invalide "
#define MSG_HEATING "En chauffe..."
@ -477,6 +482,7 @@
#define MSG_M119_REPORT "Affichage du status des fin de course"
#define MSG_ENDSTOP_HIT "DECLENCHE"
#define MSG_ENDSTOP_OPEN "OUVERT"
#define MSG_HOTEND_OFFSET "Hotend offsets:"
#define MSG_SD_CANT_OPEN_SUBDIR "Impossible d'ouvrir le sous-repertoire"
#define MSG_SD_INIT_FAIL "Echec de l'initialisation de la SD"
@ -612,6 +618,7 @@
#define MSG_END_FILE_LIST "End file list"
#define MSG_M104_INVALID_EXTRUDER "M104 Invalid extruder "
#define MSG_M105_INVALID_EXTRUDER "M105 Invalid extruder "
#define MSG_M218_INVALID_EXTRUDER "M218 Invalid extruder "
#define MSG_ERR_NO_THERMISTORS "No thermistors - no temp"
#define MSG_M109_INVALID_EXTRUDER "M109 Invalid extruder "
#define MSG_HEATING "Heating..."
@ -635,6 +642,7 @@
#define MSG_M119_REPORT "Reporting endstop status"
#define MSG_ENDSTOP_HIT "TRIGGERED"
#define MSG_ENDSTOP_OPEN "open"
#define MSG_HOTEND_OFFSET "Hotend offsets:"
#define MSG_SD_CANT_OPEN_SUBDIR "Cannot open subdir"
#define MSG_SD_INIT_FAIL "SD init fail"
@ -770,6 +778,7 @@
#define MSG_END_FILE_LIST "Fin de la lista de archivos"
#define MSG_M104_INVALID_EXTRUDER "M104 Extrusor Invalido "
#define MSG_M105_INVALID_EXTRUDER "M105 Extrusor Invalido "
#define MSG_M218_INVALID_EXTRUDER "M218 Extrusor Invalido "
#define MSG_ERR_NO_THERMISTORS "No hay termistores - no temp"
#define MSG_M109_INVALID_EXTRUDER "M109 Extrusor Invalido "
#define MSG_HEATING "Calentando..."
@ -792,6 +801,7 @@
#define MSG_M119_REPORT "Comprobando fines de carrera."
#define MSG_ENDSTOP_HIT "PULSADO"
#define MSG_ENDSTOP_OPEN "abierto"
#define MSG_HOTEND_OFFSET "Hotend offsets:"
#define MSG_SD_CANT_OPEN_SUBDIR "No se pudo abrir la subcarpeta."
#define MSG_SD_INIT_FAIL "Fallo al iniciar la SD"
@ -921,6 +931,7 @@
#define MSG_END_FILE_LIST "Конец списка файлов"
#define MSG_M104_INVALID_EXTRUDER "M104 ошибка экструдера "
#define MSG_M105_INVALID_EXTRUDER "M105 ошибка экструдера "
#define MSG_M218_INVALID_EXTRUDER "M218 ошибка экструдера "
#define MSG_ERR_NO_THERMISTORS "Нет термистра - нет температуры"
#define MSG_M109_INVALID_EXTRUDER "M109 ошибка экструдера "
#define MSG_HEATING "Нагрев... "
@ -944,6 +955,7 @@
#define MSG_M119_REPORT "Статус концевиков"
#define MSG_ENDSTOP_HIT "Срабатывание концевика"
#define MSG_ENDSTOP_OPEN "Концевик освобожден"
#define MSG_HOTEND_OFFSET "Hotend offsets:"
#define MSG_SD_CANT_OPEN_SUBDIR "Не открыть папку"
#define MSG_SD_INIT_FAIL "Ошибка инициализации SD"
#define MSG_SD_VOL_INIT_FAIL "Ошибка инициализации раздела"
@ -1080,6 +1092,7 @@
#define MSG_END_FILE_LIST "Fine Lista File"
#define MSG_M104_INVALID_EXTRUDER "M104 Estrusore non valido "
#define MSG_M105_INVALID_EXTRUDER "M105 Estrusore non valido "
#define MSG_M218_INVALID_EXTRUDER "M218 Estrusore non valido "
#define MSG_ERR_NO_THERMISTORS "Nessun Termistore - nessuna temperatura"
#define MSG_M109_INVALID_EXTRUDER "M109 Estrusore non valido "
#define MSG_HEATING "Riscaldamento..."
@ -1103,6 +1116,7 @@
#define MSG_M119_REPORT "Segnalazione stato degli endstop"
#define MSG_ENDSTOP_HIT "INNESCATO"
#define MSG_ENDSTOP_OPEN "aperto"
#define MSG_HOTEND_OFFSET "Hotend offsets:"
#define MSG_SD_CANT_OPEN_SUBDIR "Impossibile aprire sottocartella"
#define MSG_SD_INIT_FAIL "Fallita Inizializzazione SD"
@ -1242,6 +1256,7 @@
#define MSG_END_FILE_LIST "Fim da lista de arquivos"
#define MSG_M104_INVALID_EXTRUDER "M104 Extrusor inválido "
#define MSG_M105_INVALID_EXTRUDER "M105 Extrusor inválido "
#define MSG_M218_INVALID_EXTRUDER "M218 Extrusor inválido "
#define MSG_ERR_NO_THERMISTORS "Nao ha termistor - no temp"
#define MSG_M109_INVALID_EXTRUDER "M109 Extrusor inválido "
#define MSG_HEATING "Aquecendo..."
@ -1265,6 +1280,7 @@
#define MSG_M119_REPORT "Relatando estado do ponto final"
#define MSG_ENDSTOP_HIT "PULSADO"
#define MSG_ENDSTOP_OPEN "Aberto"
#define MSG_HOTEND_OFFSET "Hotend offsets:"
#define MSG_SD_CANT_OPEN_SUBDIR "Nao pode abrir sub diretorio"
#define MSG_SD_INIT_FAIL "Falha ao iniciar SD"
@ -1399,6 +1415,7 @@
#define MSG_END_FILE_LIST "Tiedostolistauksen loppu"
#define MSG_M104_INVALID_EXTRUDER "M104 Virheellinen suutin "
#define MSG_M105_INVALID_EXTRUDER "M105 Virheellinen suutin "
#define MSG_M218_INVALID_EXTRUDER "M218 Virheellinen suutin "
#define MSG_ERR_NO_THERMISTORS "Ei termistoreja - ei lampotiloja"
#define MSG_M109_INVALID_EXTRUDER "M109 Virheellinen suutin "
#define MSG_HEATING "Lammitan..."
@ -1422,6 +1439,7 @@
#define MSG_M119_REPORT "Rajakytkimien tilaraportti"
#define MSG_ENDSTOP_HIT "AKTIIVISENA"
#define MSG_ENDSTOP_OPEN "avoinna"
#define MSG_HOTEND_OFFSET "Hotend offsets:"
#define MSG_SD_CANT_OPEN_SUBDIR "Alihakemistoa ei voitu avata"
#define MSG_SD_INIT_FAIL "SD alustus epaonnistui"