Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    G29 not writing a heightmap.csv

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    2
    3
    553
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • jhalewoodundefined
      jhalewood
      last edited by

      Try as I might, I cannot get bed mesh leveling to write a heightmap anymore. I previously had it working fine, but upgraded firmware recently, and I'd say since then can't get it to work.

      So initially I had a valid heightmap that I wanted to update, so ran G28>G29, but the heightmap remained unhanged.

      After much faffing around, I reflashed duetpi-lite>sudo apt-get update/upgrade, recopied config and tried again

      There is no heightmap.csv on the SD card

      G29 seems to complete sucessfully, if you click on "compensation and calibration" button on dashboard it says "Compensation in use: mesh", however, there is still no heightmap.csv on the card, and heightmap tab says "File 0:/sys/heightmap.csv not found"

      feels like maybe a user permissions issue?

      Board: duet 3 6hc w/ SBC duetpi

      Diag:

      M122
      === Diagnostics ===
      RepRapFirmware for Duet 3 MB6HC version 3.1.0 running on Duet 3 MB6HC v0.6 or 1.0
      Board ID: 08DJM-956L2-G43S8-6J1F8-3SN6P-9V0QG
      Used output buffers: 1 of 40 (13 max)
      === RTOS ===
      Static ram: 154804
      Dynamic ram: 162712 of which 44 recycled
      Exception stack ram used: 544
      Never used ram: 75112
      Tasks: NETWORK(ready,2172) HEAT(blocked,1188) CanReceiv(suspended,3820) CanSender(suspended,1420) CanClock(blocked,1436) TMC(blocked,68) MAIN(running,4536) IDLE(ready,76)
      Owned mutexes:
      === Platform ===
      Last reset 00:21:49 ago, cause: software
      Last software reset at 2020-05-16 05:59, reason: User, spinning module LinuxInterface, available RAM 76888 bytes (slot 2)
      Software reset code 0x0010 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0444a000 BFAR 0x00000000 SP 0xffffffff Task MAIN
      Error status: 0
      MCU temperature: min 32.7, current 33.9, max 34.2
      Supply voltage: min 24.0, current 24.0, max 24.0, under voltage events: 0, over voltage events: 0, power good: yes
      12V rail voltage: min 12.0, current 12.0, max 12.0, under voltage events: 0
      Driver 0: standstill, reads 6042, writes 0 timeouts 0, SG min/max not available
      Driver 1: standstill, reads 6042, writes 0 timeouts 0, SG min/max not available
      Driver 2: standstill, reads 6041, writes 0 timeouts 0, SG min/max not available
      Driver 3: standstill, reads 6042, writes 0 timeouts 0, SG min/max not available
      Driver 4: standstill, reads 6042, writes 0 timeouts 0, SG min/max not available
      Driver 5: standstill, reads 6042, writes 0 timeouts 0, SG min/max not available
      Date/time: 2020-05-16 06:21:10
      Slowest loop: 3.72ms; fastest: 0.15ms
      === Storage ===
      Free file entries: 10
      SD card 0 detected, interface speed: 25.0MBytes/sec
      SD card longest read time 0.0ms, write time 0.0ms, max retries 0
      === Move ===
      Hiccups: 0(0), FreeDm: 375, MinFreeDm: 375, MaxWait: 0ms
      Bed compensation in use: mesh, comp offset 0.128
      === MainDDARing ===
      Scheduled moves: 42, completed moves: 42, 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.
      === Network ===
      Slowest loop: 1.89ms; fastest: 0.01ms
      Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions Telnet(0), 0 sessions
      HTTP sessions: 0 of 8
      - Ethernet -
      State: disabled
      Error counts: 0 0 0 0 0
      Socket states: 0 0 0 0 0 0 0 0
      === CAN ===
      Messages sent 1065, longest wait 0ms for type 0
      === Linux interface ===
      State: 0, failed transfers: 0
      Last transfer: 18ms ago
      RX/TX seq numbers: 42388/42390
      SPI underruns 0, overruns 0
      Number of disconnects: 0
      Buffer RX/TX: 0/0-0
      === Duet Control Server ===
      Duet Control Server v3.1.0
      Code buffer space: 4096
      Configured SPI speed: 8000000 Hz
      Full transfers per second: 32.59
      

      Config:

      ; Configuration file for Duet 3 (firmware version 3)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v2.1.8 on Sun Feb 02 2020 15:23:33 GMT+0800 (Australian Western Standard Time)
      
      ; General preferences
      G90                                                   ; send absolute coordinates...
      M83                                                   ; ...but relative extruder moves
      M550 P"Duet 3"                                        ; set printer name
      
      ; Drives
      M569 P0.0 S0                                          ; physical drive 0.0 goes forwards
      M569 P0.1 S0                                          ; physical drive 0.1 goes forwards
      M569 P0.2 S1                                          ; physical drive 0.2 goes forwards
      M569 P0.3 S1                                          ; physical drive 0.3 goes forwards
      M584 X0.0 Y0.1 Z0.2 E0.3                              ; set drive mapping
      M350 X32 Y32 Z32 E32 I1                               ; configure microstepping with interpolation
      M92 X480.00 Y480.00 Z3200.00 E1666.66                 ; set steps per mm
      M566 X900.00 Y900.00 Z12.00 E120.00                   ; set maximum instantaneous speed changes (mm/min)
      M203 X6000.00 Y6000.00 Z180.00 E1200.00               ; set maximum speeds (mm/min)
      M201 X500.00 Y500.00 Z20.00 E250.00                   ; set accelerations (mm/s^2)
      M906 X1000 Y1000 Z1000 E1500 I30                          ; set motor currents (mA) and motor idle factor in per cent
      M84 S30                                               ; Set idle timeout
      
      ; Axis Limits
      M208 X0 Y0 Z0 S1                                      ; set axis minima
      M208 X230 Y210 Z200 S0                                ; set axis maxima
      
      ; Endstops
      M574 X1 S1 P"io0.in"                                  ; configure active-high endstop for low end on X via pin io0.in
      M574 Y1 S1 P"io3.in"                                  ; configure active-high endstop for low end on Y via pin io3.in
      M574 Z1 S2                                            ; configure Z-probe endstop for low end on Z
      
      ; Z-Probe
      M950 S0 C"io7.out"                                    ; create servo pin 0 for BLTouch
      M558 P9 C"io7.in" H5 F120 T6000                       ; set Z probe type to bltouch and the dive height + speeds
      G31 P500 X0 Y0 Z2.00                                   ; set Z probe trigger value, offset and trigger height
      M557 X15:195 Y15:195 S180                              ; define mesh grid
      
      ; Heaters
      M308 S0 P"temp0" Y"thermistor" T100000 B4138          ; configure sensor 0 as thermistor on pin temp0
      M950 H0 C"out0" T0                                    ; create bed heater output on out0 and map it to sensor 0
      M143 H0 S120                                          ; set temperature limit for heater 0 to 120C
      ;M307 H0 B0 S1.00                                      ; disable bang-bang mode for the bed heater and set PWM limit
      M140 H0                                               ; map heated bed to heater 0
      
      M308 S1 P"temp1" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin temp1
      M950 H1 C"out1" T1                                    ; create nozzle heater output on out1 and map it to sensor 1
      M143 H1 S280                                          ; set temperature limit for heater 1 to 280C
      ;M307 H1 B0 S1.00                                      ; disable bang-bang mode for heater  and set PWM limit
      
      ; Fans
      M950 F0 C"out4" Q500                                  ; create fan 0 on pin out4 and set its frequency
      M106 P0 S0 H-1                                        ; set fan 0 value. Thermostatic control is turned off
      M950 F1 C"out5" Q500                                  ; create fan 1 on pin out5 and set its frequency
      M106 P1 S1 H1 T45                                     ; set fan 1 value. Thermostatic control is turned on
      
      ; 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
      M572 D0 S0.075										  ; pressure advance 
      
      ; Custom settings are not defined
      M501
      
      1 Reply Last reply Reply Quote 0
      • chrishammundefined
        chrishamm administrators
        last edited by

        It seems like G29 completes internally in DCS before the actual probing has finished. I can save the heightmap properly by sending G29 S3 once the heightmap is fully defined. You may use that as an interim work-around, too.

        Duet software engineer

        1 Reply Last reply Reply Quote 0
        • jhalewoodundefined
          jhalewood
          last edited by

          @chrishamm said in G29 not writing a heightmap.csv:

          G29 S3

          this worked. Can confirm that running a mesh level from the dashboard then manually sending g29 s3 saves the heightmap.

          (manually sending a g29 s0 in the console causes the console to be stuck on processing and doesn't finish, so you cant sent any more commands)

          1 Reply Last reply Reply Quote 0
          • First post
            Last post
          Unless otherwise noted, all forum content is licensed under CC-BY-SA