A partire dal firmware 3.0.0, la MMU (Multi-material upgrade) di Original Prusa dispone di una serie di variabili di runtime chiamate registri. È possibile utilizzarle per leggere o scrivere valori nella MMU tramite G-Code. Questo articolo fornisce l'elenco dei registri disponibili nel firmware attuale.
Può trattarsi di diversi codici di errore e informazioni di stato relative alla MMU (ad esempio, errori del filamento, errori del motore, avvisi di temperatura, ecc.), di parametri specifici (velocità di avanzamento, accelerazione, corrente, ecc.) e di diversi componenti (puleggia, selettore, tenditore, ecc.).
La tabella seguente include registri a 8 bit (valore vuoto: 0xFFh 255) e a 16 bit (valore vuoto: 0xFFFFh 65535). I valori vuoti indicano la quantità massima che il registro può contenere.
Esistono tre diversi tipi di accesso:
In genere, i registri si trovano nella MMU. Uno dei modi per leggere/scrivere nei registri è attraverso i G-Code. Quelli necessari sono:
Indirizzo | Bit/Tipo | Nome | Valori validi | Default | Descrizione | Read / Write | Gcode Read | Gcode Write |
---|---|---|---|---|---|---|---|---|
0x00h 00 | uint8 | project_major | 00h 0 | ffh 255 | Project Major Version | Read only | M707 A0x00 | N/A |
0x01h 01 | uint8 | project_minor | 00h 0 | ffh 255 | Project Minor Version | Read only | M707 A0x01 | N/A |
0x02h 02 | uint8 | project_revision | 00h 0 | ffh 255 | Project Revision | Read only | M707 A0x02 | N/A |
0x03h 03 | uint8 | project_build _number | 00h 0 | ffh 255 | Project Build Number | Read only | M707 A0x03 | N/A |
0x04h 04 | uint16 | MMU_errors | 0000h 0 | ffffh 65535 | MMU Errors | Read / Write Persistent | M707 A0x04 | M708 A0x04 Xnnnn |
0x05h 05 | uint8 | Current_Progress_Code | ffh 255 | ffh 255 | Emtpy | Read only | M707 A0x05 | N/A |
00h 0 | OK | |||||||
01h 1 | EngagingIdler | |||||||
02h 2 | DisengagingIdler | |||||||
03h 3 | UnloadingToFinda | |||||||
04h 4 | UnloadingToPulley | |||||||
05h 5 | FeedingToFinda | |||||||
06h 6 | FeedingToBondtech | |||||||
07h 7 | FeedingToNozzle | |||||||
08h 8 | AvoidingGrind | |||||||
09h 9 | FinishingMoves | |||||||
0ah 10 | ERRDisengagingIdler | |||||||
0bh 11 | ERREngagingIdler | |||||||
0ch 12 | ERRWaitingForUser | |||||||
0dh 13 | ERRInternal | |||||||
0eh 14 | ERRHelpingFilament | |||||||
0fh 15 | ERRTMCFailed | |||||||
10h 16 | UnloadingFilament | |||||||
11h 17 | LoadingFilament | |||||||
11h 18 | SelectingFilamentSlot | |||||||
12h 19 | PreparingBlade | |||||||
13h 20 | PushingFilament | |||||||
14h 21 | PerformingCut | |||||||
15h 22 | ReturningSelector | |||||||
16h 23 | ParkingSelector | |||||||
17h 24 | EjectingFilament | |||||||
18h 25 | RetractingFromFinda | |||||||
19h 26 | Homing | |||||||
1ah 27 | MovingSelector | |||||||
1bh 28 | FeedingToFSensor | |||||||
0x06h 06 | uint16 | Current_Error_Code | 0000h 0 | ffffh 65535 | RUNNING | Read only | M707 A0x06 | N/A |
0001h 1 | OK | |||||||
8001h 32769 | FSENSOR_DIDNT _SWITCH_ON | |||||||
8002h 32770 | FINDA_DIDNT _SWITCH_OFF | |||||||
8003h 32771 | FSENSOR_DIDNT _SWITCH_ON | |||||||
8004h 32772 | FSENSOR_DIDNT _SWITCH_OFF | |||||||
8005h 32773 | FILAMENT_ALREADY _LOADED | |||||||
8006h 32774 | INVALID_TOOL | |||||||
8007h 32775 | Homing_FAILED | |||||||
8008h 32776 | FINDA_VS_EEPROM _DISREPANCY | |||||||
8009h 32777 | FSENSOR_TOO _EARLY | |||||||
802bh 32811 | QUEUE_FULL | |||||||
802ch 32812 | VERSION_MISMATCH | |||||||
802dh 32813 | PROTOCOL_ERROR | |||||||
802eh 32814 | MMU_NOT_RESPONDING | |||||||
802fh 32815 | INTERNAL | |||||||
8200h 33280 | TMC_IOIN_MISMATCH | |||||||
8240h 33344 | TMC_IOIN_MISMATCH PULLEY | |||||||
8280h 33408 | TMC_IOIN_MISMATCH SELECTOR | |||||||
8300h 33536 | TMC_IOIN_MISMATCH IDLER | |||||||
83C0h 33728 | TMC_IOIN_MISMATCH All 3 | |||||||
8400h 33792 | TMC_RESET | |||||||
8440h 33856 | TMC_RESET PULLEY | |||||||
8480h 33920 | TMC_RESET SELECTOR | |||||||
8500h 34048 | TMC_RESET IDLER | |||||||
85C0h 34240 | TMC_RESET All 3 | |||||||
8800h 34816 | TMC_UNDERVOLTAGE_ON _CHARGE_PUMP | |||||||
8840h 34880 | TMC_UNDERVOLTAGE_ON _CHARGE_PUMP PULLEY | |||||||
8880h 34944 | TMC_UNDERVOLTAGE_ON _CHARGE_PUMP SELECTOR | |||||||
8900h 35072 | TMC_UNDERVOLTAGE_ON _CHARGE_PUMP IDLER | |||||||
89C0h 35264 | TMC_UNDERVOLTAGE_ON _CHARGE_PUMP All 3 | |||||||
9000h 36864 | TMC_SHORT_TO_GROUND | |||||||
9040h 36928 | TMC_SHORT_TO_GROUND PULLEY | |||||||
9080h 36992 | TMC_SHORT_TO_GROUND SELECTOR | |||||||
9100h 37120 | TMC_SHORT_TO_GROUND IDLER | |||||||
91C0h 37312 | TMC_SHORT_TO_GROUND All 3 | |||||||
A000h 40960 | TMC_OVER_TEMPERATURE _WARN | |||||||
A040h 41024 | TMC_OVER_TEMPERATURE _WARN PULLEY | |||||||
A080h 41088 | TMC_OVER_TEMPERATURE _WARN SELECTOR | |||||||
A100h 41216 | TMC_OVER_TEMPERATURE _WARN IDLER | |||||||
A1C0h 41408 | TMC_OVER_TEMPERATURE _WARN All 3 | |||||||
C000h 49152 | TMC_OVER_TEMPERATURE _ERROR | |||||||
C040h 49216 | TMC_OVER_TEMPERATURE _ERROR PULLEY | |||||||
C080h 49280 | TMC_OVER_TEMPERATURE _ERROR SELECTOR | |||||||
C100h 49408 | TMC_OVER_TEMPERATURE _ERROR IDLER | |||||||
C1C0h 49600 | TMC_OVER_TEMPERATURE _ERROR All 3 | |||||||
0x07h 07 | uint8 | Filament_State | 00h 0 | ffh 255 | Filament State | Read / Write | M707 A0x07 | M708 A0x07 Xnn |
0x08h 08 | uint8 | FINDA_State | 00h 0 | ffh 255 | not triggered | Read only | M707 A0x08 | N/A |
01h 1 | triggered | |||||||
0x09h 09 | uint8 | FSensor_State | 00h 0 | ffh 255 | not triggered | Read / Write | M707 A0x09 | M708 A0x09 Xnn |
01h 1 | triggered | |||||||
0x0ah 10 | uint8 | Motor_Mode | 00h 0 | 00h 0 | normal | Read only | M707 A0x0a | N/A |
01h 1 | stealth | |||||||
0x0bh 11 | uint8 | extra_load_distance | 00h 0 | 1eh 30 | unit mm | Read / Write | M707 A0x0b | M708 A0x0b Xnn |
0x0ch 12 | uint8 | FSensor_unload _check_dist. | 00h 0 | 28h 30 | unit mm | Read / Write | M707 A0x0c | M708 A0x0c Xnn |
0x0dh 13 | uint16 | Pulley_unload _feedrate | 0000h 0 | 0078h 120 | unit mm/s | Read / Write | M707 A0x0d | M708 A0x0d Xnnnn |
0x0eh 14 | uint16 | Pulley_acceleration | 0000h 0 | 320h 800.0 | unit mm/s² | Read (Write) | M707 A0x0e | (M708 A0x0e Xnnnn) |
0x0fh 15 | uint16 | Selector_acceleration | 0000h 0 | 00c8h 200.0 | unit mm/s² | Read (Write) | M707 A0x0f | (M708 A0x0f Xnnnn) |
0x10h 16 | uint16 | Idler_acceleration | 0000h 0 | 01f4h 500.0 | unit deg/s² | Read (Write) | M707 A0x10 | (M708 A0x10 Xnnnn) |
0x11h 17 | uint16 | Pulley_load_feedrate | 0000h 0 | 0050h 80 | unit mm/s | Read / Write | M707 A0x11 | M708 A0x11 Xnnnn |
0x12h 18 | uint16 | Selector_nominal _feedrate | 0000h 0 | 002dh 45 | unit mm/s | Read / Write | M707 A0x12 | M708 A0x12 Xnnnn |
0x13h 19 | uint16 | Idler_nominal _feedrate | 0000h 0 | 012ch 300 | unit deg/s | Read / Write | M707 A0x13 | M708 A0x13 Xnnnn |
0x14h 20 | uint16 | Pulley_slow_feedrate | 0000h 0 | 0014h 20 | unit mm/s | Read / Write | M707 A0x14 | M708 A0x14 Xnnnn |
0x15h 21 | uint16 | Selector_homing _feedrate | 0000h 0 | 001eh 30 | unit mm/s | Read (Write) | M707 A0x15 | (M708 A0x15 Xnnnn) |
0x16h 22 | uint16 | Idler_homing _feedrate | 0000h 0 | 0109h 265 | unit deg/s | Read (Write) | M707 A0x16 | (M708 A0x16 Xnnnn) |
0x17h 23 | uint8 | Pulley_sg_thrs__R | 00h 0 | 08h 8 | Read / Write Persistent | M707 A0x17 | M708 A0x17 Xnn | |
0x18h 24 | uint8 | Selector_sg_thrs_R | 00h 0 | 03h 3 | Read / Write Persistent | M707 A0x18 | M708 A0x18 Xnn | |
0x19h 25 | uint8 | Idler_sg_thrs_R | 00h 0 | 06h 6 | Read / Write Persistent | M707 A0x19 | M708 A0x19 Xnn | |
0x1ah 26 | uint16 | Get Pulley position | 0000h 0 | ffffh 65535 | unit mm | Read only | M707 A0x1a | N/A |
0x1bh 27 | uint16 | Set/Get_Selector_slot | 0000h 0 | ffffh 65535 | unit slot [0-4/5] 5=park pos | Read / Write | M707 A0x1b | M708 A0x1b Xn |
0x1ch 28 | uint16 | Set/Get_Idler_slot | 0000h 0 | ffffh 65535 | unit slot [0-4/5] 5=disengaged | Read / Write | M707 A0x1c | M708 A0x1c Xn |
0x1dh 29 | uint8 | Set/Get Selector cut iRun current | 0 to 63 (aka 0-1024mA) | 31 (530mA) | Read / Write | M707 A0x1d | M708 A0x1d Xn | |
0x1eh 30 | uint16 | Set/Get Pulley iRun current | 0-31 | 14h 20 | 20->350mA: see TMC2130 current conversion | Read / Write | M707 A0x1e | M708 A0x1e Xn |
0x1fh 31 | uint16 | Set/Get Selector iRun current | 0-31 | 1fh 31 | 31->530mA: see TMC2130 current conversion | Read / Write | M707 A0x1f | M708 A0x1f Xn |
0x20h 32 | uint16 | Set/Get Idler iRun current | 0-31 | 1fh 31 | 31->530mA: see TMC2130 current conversion | Read / Write | M707 A0x20 | M708 A0x20 Xn |
Se hai una domanda su qualcosa che non è trattato qui, dai un'occhiata alle nostre risorse aggiuntive.
E se questo non dovesse funzionare, è possibile inviare una richiesta a [email protected] o tramite il pulsante qui sotto.