m122
=== Diagnostics ===
RepRapFirmware for STM32F4 based Boards (octopuspro1_0_f4) version 3.6.2+1 (2026-03-07 22:22:18) running on STM32F4 (standalone mode)
Board ID: 32063-002JU-NJ38P-6T18S-HFUN7-70000
Used output buffers: 1 of 40 (36 max)
=== RTOS ===
RAM: static 18080, dynamic 96780 (692 recycled), never used 14492, free sys stack 103
CCMRam: static: 21244 dynamic: 31916 free: 12372
Tasks: NETWORK(1,ready,13.5%,177) HEAT(3,nWait 6,0.1%,317) Move(4,nWait 6,0.0%,256) TMC51xx(4,delay,8.6%,346) FSWRITE(2,nWait 4,0.0%,88) MAIN(1,run,77.7%,497) IDLE(0,ready,0.1%,25), total 100.0%
Mutexes: WiFi(NETWORK)
=== Platform ===
Last reset 03:09:17 ago, cause: software
Last software reset at 2026-05-18 18:48, reason: User, Gcodes spinning, available RAM 14300, slot 0
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00438000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
Error status: 0x04
MCU temperature: min 40.8, current 42.5, max 43.2
Supply voltage: min 11.4, current 11.7, max 12.0, under voltage events: 0, over voltage events: 0, power good: yes
Heap OK, handles allocated/used 99/34, heap memory allocated/used/recyclable 2048/1900/1296, gc cycles 92
Events: 0 queued, 0 completed
Date/time: 2026-05-18 21:57:50
Slowest loop: 23.35ms; fastest: 0.09ms
=== Storage ===
Free file entries: 19
SD card 0 detected
SD card longest read time 13.7ms, write time 6.9ms, max retries 0
=== Move ===
Segments created 30, maxWait 6308825ms, bed comp in use: none, height map offset 0.000, hiccups added 0/0 (0.00/0.00ms), max steps late 0, ebfmin 0.00, ebfmax 0.00
Pos req/act/dcf: 16080.00/16080/0.00 20880.00/20880/0.00 99200.00/99200/0.00
No step interrupt scheduled
Driver 0: standstill 5160, SG min 0, mspos 1016, reads 19112, writes 91
Driver 1: standstill 5160, SG min 0, mspos 568, reads 19112, writes 91
Driver 2: standstill 5160, SG min 0, mspos 476, reads 19112, writes 37
Driver 3: standstill 5160, SG min 0, mspos 24, reads 19112, writes 51
Driver 4: standstill 5160, SG min 0, mspos 408, reads 19112, writes 52
Driver 5: standstill 5160, SG min 0, mspos 232, reads 19112, writes 52
Driver 6: not present
Driver 7: not present
Driver 8:
Driver 9:
Driver 10:
Driver 11:
Phase step loop runtime (us): min=5726621, max=1, frequency (Hz): min=750000, max=0
=== DDARing 0 ===
Scheduled moves 27, completed 27, LaErrors 0, Underruns [0, 0]
Segments left 0, axes/extruders owned 0x00004003, drives owned 0x00004003
Code queue is empty
=== DDARing 1 ===
Scheduled moves 0, completed 0, LaErrors 0, Underruns [0, 0]
Segments left 0, axes/extruders owned 0x00000000, drives owned 0x00000000
Code queue is empty
=== Heat ===
Bed heaters 0 -1 -1 -1, chamber heaters -1 2 3 -1, ordering errs 0
Heater 1 is on, I-accum = 0.5
Heater 3 is on, I-accum = -0.0
=== GCodes ===
Movement locks held by null, null
HTTP is idle
Telnet is idle
File is idle
USB is idle
Aux is idle
Trigger is idle
Queue is idle
LCD is idle
SBC is idle
Daemon is idle
Aux2 is idle
Autopause is idle
File2 is idle
Queue2 is idle
=== Filament sensors ===
Driver 14: ok
=== CAN ===
Disabled
Longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 0 (min 0), ts 0/0/0
Tx timeouts 0,0,0,0,0,0
=== Network ===
Slowest loop: 35.57ms; fastest: 0.00ms
Responder states: MQTT(0) HTTP(2) HTTP(0) HTTP(0) HTTP(0) FTP(0)
HTTP sessions: 1 of 8
Uploads/Errors: 3/0
=== WiFi ===
Interface state: active
Module is connected to access point
Failed messages: pending 0, notrdy 0, noresp 0
Bad header: 0/0
Firmware version 2.2.1 (esp32eth)
Module reset reason: Power up, Vcc 0.00, flash size 4194304, free heap 173468
MAC address 2c:bc:bb:bc:87:53
IP address 192.168.0.102
Signal strength -128dBm, channel 0, mode none, reconnections 0
Clock register 00003043
Socket states: 0 0 0 0 0 0 0 0
Config.gM929 P"system.log" S3 ;event log file
;Config.g
;~~~~~ General preferences ~~~~~
G90 ; send absolute coordinates...
M83 ; relative extruder moves
M669 K1 ; select CoreXY mode
;~~~~~ Network ~~~~~
;M551 P"octo" ;set password
;M552 S-1 ; to reactivate wifi send M552 S-1 then M552 S1 to activate wifi
M552 S1 p"ethernet" ; enable ethernet network
M550 P"octo" ; set printer name also network name
M586 P0 S1 ; enable HTTP
M586 P1 S1 ; enabled FTP
;~~~~~ Drives ~~~~~
M569 P0 S1 D2 ; Y physical drive 0 goes forwards using default driver timings
M569 P1 S1 D2 ; X physical drive 1 goes forwards using default driver timings
M569 P2 S0 ; extruder physical drive 3 goes forwards using default driver timings
M569 P3 S1 D2 ; Z LF physical drive 3 goes forwards using default driver timings
M569 P4 S0 D2 ; Z RF physical drive 4 goes forwards
M569 P5 S1 D2 ; Z CR physical drive 6 goes forwards
M569 P6 S1 ; spare physical drive 7 goes backwards
M569 P7 S0 ; Push extrudeer physical drive 8 goes forwards
;stepper motor layout
; rear
; | 5 |
;| 3 | 4 |
; front
M584 Y0 X1 Z3:4:5 E2 ;:7 ; set drive mapping
; Steps/mm
M350 X16 Y16 I1 ; configure microstepping with interpolation
M350 Z16 E32 ; configure microstepping
M92 X80.00 Y80.00 Z320 E1124 ; set steps per mm
;~~~~~ speed & accelarations ~~~~~
;M566 X300.00 Y300.00 Z100 E150 P1 ; set maximum instantaneous speed changes (mm/min) jerk
M566 x600 Y600 Z600 E600
M203 X30000 Y30000 Z3000 E9000 ; set maximum speeds (mm/min)
M201 X5000 Y5000 Z600 E3000 ; set accelerations (mm/s^2)
M201.1 X1000 Y1000 Z200 ; Set reduced acceleration for special move types (mm/s^2)probing moves,stall detection
;set current
M906 X1500 Y1500 Z900 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 X Y S125 ; Set idle timeout
; Axis Limits bed size x320 y300
; Axis Limits X338 Y355 max travel not bed size
M208 x 0:310 Y0:290 Z0:300 ; set axis minima and maxima set in Tool.g
;M208 X0:310 Y0:270 Z0:300 ; set minimum and maximum axis limits
;M208 S0 X320 Y311 Z320 ; set axis maxima "Travel area" set in tool.g
;M208 S1 X-8 Y0 Z0 ; set axis minima "Travel Area" set in tool.g
;~~~~~ Endstops ~~~~~
M574 X2 S3 ; configure sensorless endstop, 1 = low end, 2 = high end. s3 = single motor,
M574 Y2 S3 ; configure sensorless endstop, 1 = low end, 2 = high end. s3 = single motor,
M574 Z2 S4 ; configure sensorless endstop, 1 = low end, 2 = high end. s3 = single motor,
;Ball joint 3pl
M671 X-10:320:155 Y-9.6:-9.6:330 S35 ;leadscrews at front left,front right, rear Center s= max correction factor must be in same order as M584
;~~~~~ Probes ~~~~~
;Z probe
M558 K0 P5 C"probe1" H12:6 F500:200 T30000 A3 S0.02 ; set in tool.g ..set Z probe type to unmodulated and the dive height + speeds, T= travel speed !=inverted signal tool.g
G31 K0 Z0 ; clear Z offset
G31 K0 P500 X0 Y0 Z0.0
;Anvil Probe nozzel offset
M558 K1 P8 C"PG11" H12:6 F500:200 T20000 A3 S0.02 ; set Z probe trigger value, offset and trigger height bigger the posative number the closer to the bed set in Tool.g
G31 K1 Z0 ; clear anvil offset
G31 K1 P500 X0 Y0 Z0.0
; Mesh
M557 X15:295 Y15:280 P5 ; define mesh grid P number of points , also in mesh_menu, stop.g
;~~~~~ Heaters + temperature sensors ~~~~~
;bed >
M308 S0 P"bedtemp" Y"thermistor" T100000 B3950 A"Bed T °C" ; configure sensor 0 as thermistor on pin bedtemp
M950 H0 C"e0heat" T0 Q10 ; create bed heater output on bed and map it to sensor 0
M307 H0 R0.838 K0.331:0.000 D3.08 E1.35 S0.90 B0 ; disable bang-bang mode for the bed heater and set PWM limit
M140 H0 ; map heated bed to heater 0
M143 H0 S130 A2 ; set temperature limit for heater 0 to 120C
;hotend >
M308 S1 P"F.8" Y"rtd-max31865" F50 R430 A"Hot End °C" ; R430 for PT100 R4300 for PT1000
M950 H1 C"e1heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
M307 H1 R2.45 K0.452:0.000 D5.56 E1.35 S1.00 B0 V11.6 ; disable bang-bang mode for heater and set PWM limit increase D to stop temperature swing
M570 H1 P10 T20 ; heat fault detection P number of seconds before fault reported, T <> teperature from setpoint
M143 H1 S350 A2 ; set temperature limit for heater 1 to 280C
;Chamber >
M308 S2 P"e2temp" Y"thermistor" T100000 B4267 A"Printer T °C" ; configure sensor 2 as thermistor on pin temp2
M950 H2 C"e2heat" T2 ; create chamber heater output on 1.out0 and map it to sensor 2
M307 H2 R0.384 K0.430:0.000 D8.24 E1.35 S1.00 B0 ; disable bang-bang mode for the chamber heater and set PWM limit
M570 H2 P10 T20 ; heat fault detection P number of seconds before fault reported, T <> teperature from setpoint
M141 P1 H2 ; map chamber 1 to heater number Hx
M143 H2 S85 ; set temperature limit for heater
;Dry Box >
M308 S3 P"e0temp" Y"thermistor" T100000 B4267 A"Drybox T °C" ; configure sensor as thermistor
M950 H3 C"e3heat" T3 ; create chamber heater output on duex.e2heat and map; it to sensor 3
;M307 H3 B1 S1 ; bang bang setup
M307 H3 R0.116 K0.260:0.000 D13.16 E1.35 S1.00 B0 ; B= (bang-bang mode = 1 PWM =0) s=max PWM, R lower if temperature doesnt rise fast enough, if the heater over shoots loswer the D value
M141 P2 H3 ; map heater 3 to chamber 2
M143 H3 S80 A1 ; set temperature limit for heater
;external heater >
;M308 S4 P"e1temp" Y"thermistor" T100000 B4267 A"external heater °C" ;
;M950 H3 C"e3heat" T3 ; create chamber heater output on duex.e2heat and map; it to sensor 3
;M307 H3 B1 S1
;M307 H3 R0.116 K0.260:0.000 D13.16 E1.35 S1.00 B0 ; B= (bang-bang mode = 1 PWM =0) s=max PWM, R lower if temperature doesnt rise fast enough
;M141 H3 ; map heater 3
;M143 H3 S80 A1 ; set temperature limit for heater
;DHT Sensor >
M308 S10 P"A.15" Y"dht22" A"Drybox DHT°C[C]"
M308 S11 P"S10.1" Y"dhthumidity" A"Dry box Humidity[%]"
;BME Sensor >
;m308 s11 y"bme280" p"spi.cs6" a"Ambient temp"
;m308 s12 y"bme-pressure" p"s11.1" a"Pressure[hPa]"
;m308 s13 y"bme-humidity" p"s11.2" a"Humidity[%]"
;Neo Pixe LED
M950 E0 C"neopixel" T1 Q3000000 ; create a RGB Neopixel LED strip on the LED port and set SPI frequency to 3MHz
;stepper motor
M308 S5 P"e3temp" Y"thermistor" T100000 B4260 A"Extruder Motor °C" ;
;~~~~~ Fans ~~~~~
;Part cooling
M950 F0 C"fan0" Q25 ; create fan and set its frequency
M106 P0 S0 H-1 C"Part cooling Fan" L0.25 B0.2 ; Part cooling
;extruder Heat sink >
M950 F1 C"fan1" Q250 ; create fan and set its frequency
M106 P1 S1 H1 T35 C"Extruder Heatsink Fan" B1 ; Extruder Heatsink Fan
;Dry Box
M950 F2 C"fan2" Q20000 ; create fan and set its frequency
;M106 P3 S0.1 H3 T22:45 C"Dry Box Fan"
M106 P2 S0 H-1 C"Dry Box Fan" B2 ; Dry box
;M106 P3 S0 H1 T35 L10 C"Dry Box Fan"
;Cpap
M950 F5 C"!fan5" Q25000 ; create fan and set its frequency ! invert control
M106 P5 S1 H-1 L0.25 X0.6 C"Cpap Fan" B1 ; S fan speed , L minium fan speed , x maxium fan speed B blip time in sec, H-1 disable thermostat mode ,
;~~~~~ outputs ~~~~~
;filter
M950 F8 C"hbed" Q25000 ; create fan and set its frequency
M106 P8 S0 H-1 C"Filter Fan" B1 ; Filter fan
; Tools
M563 P0 D0 H1 F0 ; define tool 0
G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C
;M567 P0 E1.0 ;:1.0 ; use this to get the 2 exturudes to work at the same time
; Tool
T0 ; select first tool
;LIS3DH Input shaping
;M955 P0 C"PE_12+PE_10" I20
M593 P"mzv" F43
;External connections
;~~~~~ Emergancy Stop button if Required ~~~~~
M950 J1 C"!e4stop" ; config input pin switch NO connected to io2 and Gnd
M581 P1 T0 C0 ; T0 = emergency stop on trigger; T1 = pause print; T{N} = runs the macro "sys/trigger{N}.g", rising edge S1 falling edge S0
;~~~~~ Buffer control ~~~~~ pull the voltage sector jumper out in octopus !!
;Filament detect
M591 D0 P1 C"PG10" S1 ; Monitor filament in Buffer ,S0 turn off filament detect
M591 D0
;Feed status
;M950 J2 C"fan3" ; config input pin switch NO connected to io and Gnd
;M581 P2 T5 C0 ; trigger macro trigger5.g
;M582 T0 T5 ; Check External Trigger
;Retract status
;M950 J3 C"fan4" ; config input pin switch NO connected to io and Gnd
;M581 P3 T6 C0 ; trigger macro trigger6.g
;M582 T0 T6 ; Check External Trigger
;feed control
M950 P13 C"PD13" ;; create control pin for feed on the LLL buffer
M42 P13 S0
;Retract control
M950 P14 C"PD14" ; create control pin for feed on the LLL buffer
M42 P14 S0
;service interval calculate 1000 hours into seconds 1000 * 60 *60 = 3600000
if !exists(global.serviceInterval)
global serviceInterval = 720,000
if !exists(global.cumulativeTime)
global cumulativeTime = 0
if !exists(global.total_cumulativeTime )
global total_cumulativeTime = 0
; Custom macros
M98 P"0:/sys/global.g" ; Define Global variables
M400
M98 P"/macros/showTotalPrintTime.g" ; Update printtime in BtnCmd
M98 P"0:/sys/tool.g" ; load tool settings
echo "tool"
M400
echo "home_startup"
M98 P"/macros/home_startup"
echo "end home_startup"
When my filamennt run out sensor is out of filament , i can start a print, if i insert filament while its printing and then remove it , it will run pause.g as expected.
seems like it doesnt test for filament present at the sart of a print
Duet Forum Discussion Thread
https://discord.com/channels/711873626080804914/711873626080804917/1505781751434313839
Which Duet products are you using?
Firmware Version
3.6.2+1
Duet Web Control Version
2.2.1
Are you using a Single Board Computer (RaspberryPi) with your Duet?
Please upload the results of sending M122 in the gcode console.
Please upload the content of your config.g file.
Please upload the content of any other releveant macro files.
Details specific to your printer.
When my filamennt run out sensor is out of filament , i can start a print, if i insert filament while its printing and then remove it , it will run pause.g as expected.
seems like it doesnt test for filament present at the sart of a print
Links to additional info.
No response
What happened?
Expected result
Observed result
Steps to reproduce