3.2beta-2 bed.g not executed completely/out of order / in order



  • Hi,
    on my CoreXY with 3 independent z steppers, bed.g sometimes isn't executed properly: Points are skipped, and the leveling fails with "Error: Bed calibration : 3 factor calibration requested but only 0 points provided" (sometimes 1 point, but the issue is the same). The same issue occurs when the same commands are called from a macro. I haven't yet managed to trigger this running the commands one by one via the Console. Sometimes, one point is probed two or three times, with the same issue as above. I remember seeing the first, and both first and second point skipped. I don't remember whether the first point was probed and the second skipped.

    This is on a Duet3 in SBC mode with a tool board connected via the toolboard distribution board. The probe is a mini IR probe which works flawlessly when used for Z probing.

    bed.g is simple:

    
    M561
    G30 P0 X-130 Y-60 Z-99999 ; probe near a leadscrew
    G30 P1 X0 Y110 Z-99999 ; probe near a leadscrew
    G30 P2 X95 Y-60 Z-99999 S3 ; probe near a leadscrew and calibrate 3 motors
    

    config.g attached: config-vcorepro.g

    Here is an M122 right after a mis-executed bed.g

    M122
    === Diagnostics ===
    RepRapFirmware for Duet 3 MB6HC version 3.2-beta2 running on Duet 3 MB6HC v0.6 or 1.0 (SBC mode)
    Board ID: 08DGM-9T66A-G63SJ-6J1D6-3SD6R-9U0BA
    Used output buffers: 1 of 40 (10 max)
    === RTOS ===
    Static ram: 157532
    Dynamic ram: 135836 of which 44 recycled
    Exception stack ram used: 524
    Never used ram: 99280
    Tasks: Linux(ready,50) HEAT(blocked,297) CanReceiv(blocked,875) CanSender(blocked,348) CanClock(blocked,353) TMC(blocked,20) MAIN(running,665) IDLE(ready,20)
    Owned mutexes: HTTP(MAIN)
    === Platform ===
    Last reset 00:16:27 ago, cause: software
    Last software reset at 2020-10-21 21:45, reason: User, none spinning, available RAM 99452, slot 1
    Software reset code 0x0012 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0444a000 BFAR 0x00000000 SP 0xffffffff Task Linu
    Error status: 0x00
    MCU temperature: min 33.4, current 34.0, max 34.2
    Supply voltage: min 23.9, current 24.0, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes
    12V rail voltage: min 12.2, current 12.2, max 12.3, under voltage events: 0
    Driver 0: position 11200, standstill, reads 58138, writes 39 timeouts 0, SG min/max 0/1023
    Driver 1: position 30400, standstill, reads 58138, writes 39 timeouts 0, SG min/max 0/1023
    Driver 2: position 9600, standstill, reads 58167, writes 11 timeouts 0, SG min/max 0/0
    Driver 3: position 0, standstill, reads 58145, writes 33 timeouts 0, SG min/max 0/211
    Driver 4: position 0, standstill, reads 58145, writes 33 timeouts 0, SG min/max 0/235
    Driver 5: position 0, standstill, reads 58146, writes 33 timeouts 0, SG min/max 0/182
    Date/time: 2020-10-21 22:01:40
    Slowest loop: 273.72ms; fastest: 0.21ms
    === Storage ===
    Free file entries: 10
    SD card 0 not detected, interface speed: 37.5MBytes/sec
    SD card longest read time 0.0ms, write time 0.0ms, max retries 0
    === Move ===
    Hiccups: 0(0), FreeDm: 375, MinFreeDm: 372, MaxWait: 40859ms
    Bed compensation in use: none, comp offset 0.000
    === MainDDARing ===
    Scheduled moves: 109, completed moves: 109, StepErrors: 0, LaErrors: 0, Underruns: 0, 0  CDDA state: -1
    === AuxDDARing ===
    Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0  CDDA state: -1
    === Heat ===
    Bed heaters = 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
    === GCodes ===
    Segments left: 0
    Movement lock held by null
    HTTP* is ready with "M122" in state(s) 0
    Telnet is idle in state(s) 0
    File is idle in state(s) 0
    USB is idle in state(s) 0
    Aux is idle in state(s) 0
    Trigger* is idle in state(s) 0
    Queue is idle in state(s) 0
    LCD is idle in state(s) 0
    SBC is idle in state(s) 0
    Daemon is idle in state(s) 0
    Aux2 is idle in state(s) 0
    Autopause is idle in state(s) 0
    Code queue is empty.
    === CAN ===
    Messages sent 4056, send timeouts 4056, longest wait 2ms for type 6012, free CAN buffers 48
    === SBC interface ===
    State: 0, failed transfers: 0
    Last transfer: 17ms ago
    RX/TX seq numbers: 31489/31491
    SPI underruns 0, overruns 0
    Number of disconnects: 0
    Buffer RX/TX: 0/0-0
    === Duet Control Server ===
    Duet Control Server v3.2.0-beta2
    Code buffer space: 4096
    Configured SPI speed: 8000000 Hz
    Full transfers per second: 32.08
    


  • I think this is a known issue with 3.2-beta2 and sbc, see: https://forum.duet3d.com/topic/19261/3-2beta2-inconsistent-g32?_=1603267671962



  • Thanks, looks the same. I just tried sprinkling bed.g with M400 between each G30, but that didn't change anything. I witnessed skipping of the second point though.

    I'll wait for beta3 then.


Log in to reply