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

    [3.4.0beta6] M956 causing soft reset

    Scheduled Pinned Locked Moved
    Beta Firmware
    2
    3
    315
    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.
    • ajdtreydundefined
      ajdtreyd
      last edited by ajdtreyd

      I get a system reset now every time I run M956.
      This was working fine on 3.3 using same macro and entering commands from console.
      The command from the macro is

      G1 X50 Y0 G4 S2 G1 X-50 Y0 F15000 M400 M956 P0 S1000 A0 F"{var.runTime}_PAR-Xneg"
      

      But I have tried the following from the console with the same result

      M956 P0 S1000 A0 F"test-123"
      M956 P0 S1000 A0
      M956 P0 S10 A0
      

      The following M122 was taken while running a macro just before crash:

      === Diagnostics ===
      RepRapFirmware for Duet 2 WiFi/Ethernet version 3.4.0beta6 (2021-11-06 11:37:41) running on Duet WiFi 1.02 or later
      Board ID: 08DGM-917NK-F23T0-6JKF0-3SD6S-TGBJD
      Used output buffers: 3 of 24 (24 max)
      === RTOS ===
      Static ram: 23772
      Dynamic ram: 77400 of which 0 recycled
      Never used RAM 7908, free system stack 122 words
      Tasks: ACCEL(notifyWait,0.0%,350) NETWORK(ready,14.6%,228) HEAT(notifyWait,0.0%,326) Move(notifyWait,0.0%,305) MAIN(running,85.4%,442) IDLE(ready,0.0%,30), total 100.0%
      Owned mutexes: WiFi(NETWORK)
      === Platform ===
      Last reset 00:05:29 ago, cause: software
      Last software reset at 2021-11-06 15:43, reason: HeatTaskStuck, GCodes spinning, available RAM 8116, slot 2
      Software reset code 0x4143 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f80f BFAR 0xe000ed38 SP 0x2001899c Task ACCE Freestk 350 ok
      Stack: 00434589 0045639a 21000000 00000001 200182d8 00000006 00000028 a5a5a5a5 a5a5a5a5 20004c08 00455eeb 40000000 200182d8 00000007 000003e8 00000007 00456163 200182d8 10000007 00000007 0000000a 2000118c 004559f1 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5
      Error status: 0x04
      Aux0 errors 0,0,0
      Step timer max interval 0
      MCU temperature: min 31.5, current 32.3, max 32.7
      Supply voltage: min 12.3, current 12.4, max 12.5, under voltage events: 0, over voltage events: 0, power good: yes
      Heap OK, handles allocated/used 99/1, heap memory allocated/used/recyclable 2048/46/36, gc cycles 0
      Driver 0: pos 51839, standstill, SG min 0
      Driver 1: pos 61904, standstill, SG min 0
      Driver 2: pos 57130, standstill, SG min 0
      Driver 3: pos 0, standstill, SG min n/a
      Driver 4: pos 0, standstill, SG min n/a
      Driver 5: pos 0
      Driver 6: pos 0
      Driver 7: pos 0
      Driver 8: pos 0
      Driver 9: pos 0
      Driver 10: pos 0
      Driver 11: pos 0
      Date/time: 2021-11-06 15:49:25
      Cache data hit count 4294967295
      Slowest loop: 7.90ms; fastest: 0.15ms
      I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
      === Storage ===
      Free file entries: 9
      SD card 0 detected, interface speed: 20.0MBytes/sec
      SD card longest read time 0.8ms, write time 0.0ms, max retries 0
      === Move ===
      DMs created 83, segments created 6, maxWait 143612ms, bed compensation in use: none, comp offset 0.000
      === MainDDARing ===
      Scheduled moves 15, completed 15, hiccups 48, stepErrors 0, LaErrors 0, Underruns [0, 0, 1], CDDA state -1
      === AuxDDARing ===
      Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
      === Heat ===
      Bed heaters 0 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
      Heater 1 is on, I-accum = 0.0
      === GCodes ===
      Segments left: 0
      Movement lock held by null
      HTTP is doing "G4 S2 " in state(s) 0 0, running macro
      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
      Daemon is idle in state(s) 0
      Autopause is idle in state(s) 0
      Code queue is empty
      === Network ===
      Slowest loop: 200.00ms; fastest: 0.08ms
      Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions
      HTTP sessions: 1 of 8
      - WiFi -
      Network state is active
      WiFi module is connected to access point 
      Failed messages: pending 0, notready 0, noresp 1
      WiFi firmware version 1.26
      WiFi MAC address b4:e6:2d:52:f5:b7
      WiFi Vcc 3.36, reset reason Turned on by main processor
      WiFi flash size 4194304, free heap 25040
      WiFi IP address 192.168.0.22
      WiFi signal strength -41dBm, mode 802.11n, reconnections 0, sleep mode modem
      Clock register 00002002
      Socket states: 0 0 0 0 0 0 0 0
      

      This one was from after the resulting reset:

      M122
      === Diagnostics ===
      RepRapFirmware for Duet 2 WiFi/Ethernet version 3.4.0beta6 (2021-11-06 11:37:41) running on Duet WiFi 1.02 or later
      Board ID: 08DGM-917NK-F23T0-6JKF0-3SD6S-TGBJD
      Used output buffers: 3 of 24 (20 max)
      === RTOS ===
      Static ram: 23772
      Dynamic ram: 75252 of which 0 recycled
      Never used RAM 10200, free system stack 184 words
      Tasks: NETWORK(ready,13.7%,228) HEAT(notifyWait,0.0%,326) Move(notifyWait,0.0%,364) MAIN(running,85.0%,440) IDLE(ready,1.2%,30), total 100.0%
      Owned mutexes: WiFi(NETWORK)
      === Platform ===
      Last reset 00:01:16 ago, cause: software
      Last software reset at 2021-11-06 15:49, reason: HeatTaskStuck, GCodes spinning, available RAM 7908, slot 0
      Software reset code 0x4143 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f80f BFAR 0xe000ed38 SP 0x2001899c Task ACCE Freestk 350 ok
      Stack: 00434589 0043458a 61000000 00000001 200182d8 00000006 00000028 a5a5a5a5 a5a5a5a5 20004c08 00455eeb 40000000 200182d8 00000007 000003e8 00000007 00456163 200182d8 10000007 00000007 0000000a 2000118c 004559f1 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5
      Error status: 0x00
      Aux0 errors 0,0,0
      Step timer max interval 0
      MCU temperature: min 31.8, current 32.6, max 32.8
      Supply voltage: min 12.3, current 12.4, max 12.5, under voltage events: 0, over voltage events: 0, power good: yes
      Heap OK, handles allocated/used 99/0, heap memory allocated/used/recyclable 2048/18/18, gc cycles 0
      Driver 0: pos 113137, standstill, SG min n/a
      Driver 1: pos 113137, standstill, SG min n/a
      Driver 2: pos 113137, standstill, SG min n/a
      Driver 3: pos 0, standstill, SG min n/a
      Driver 4: pos 0, standstill, SG min n/a
      Driver 5: pos 0
      Driver 6: pos 0
      Driver 7: pos 0
      Driver 8: pos 0
      Driver 9: pos 0
      Driver 10: pos 0
      Driver 11: pos 0
      Date/time: 2021-11-06 15:51:03
      Cache data hit count 2715428994
      Slowest loop: 8.38ms; fastest: 0.17ms
      I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
      === Storage ===
      Free file entries: 10
      SD card 0 detected, interface speed: 20.0MBytes/sec
      SD card longest read time 0.8ms, write time 1.1ms, max retries 0
      === Move ===
      DMs created 83, segments created 0, maxWait 0ms, bed compensation in use: none, comp offset 0.000
      === MainDDARing ===
      Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
      === AuxDDARing ===
      Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
      === Heat ===
      Bed heaters 0 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
      Heater 1 is on, I-accum = 0.0
      === GCodes ===
      Segments left: 0
      Movement lock held by null
      HTTP is idle 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
      Daemon is idle in state(s) 0
      Autopause is idle in state(s) 0
      Code queue is empty
      === Network ===
      Slowest loop: 15.45ms; fastest: 0.00ms
      Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions
      HTTP sessions: 1 of 8
      - WiFi -
      Network state is active
      WiFi module is connected to access point 
      Failed messages: pending 0, notready 0, noresp 0
      WiFi firmware version 1.26
      WiFi MAC address b4:e6:2d:52:f5:b7
      WiFi Vcc 3.36, reset reason Turned on by main processor
      WiFi flash size 4194304, free heap 24960
      WiFi IP address 192.168.0.22
      WiFi signal strength -40dBm, mode 802.11n, reconnections 0, sleep mode modem
      Clock register 00002002
      Socket states: 0 0 0 0 0 0 0 0
      

      I'm getting no errors from my config.g:

      M98 P"0:/sys/config.g"
      HTTP is enabled on port 80
      FTP is disabled
      TELNET is disabled
      

      I get no errors configuring the accelerometer through macro or console:

      M955 P0 C"spi.cs1+spi.cs2" I20
      M955 P0
      Accelerometer 0 type LIS3DH with orientation 20 samples at 1344Hz with 10-bit resolution, SPI frequency 2000000
      

      I did a search for M956 causing reset but found only one post for one of the 3.3 pre-releases.
      Thanks in advance!

      dc42undefined 1 Reply Last reply Reply Quote 0
      • dc42undefined
        dc42 administrators @ajdtreyd
        last edited by

        @ajdtreyd I suspect that the INT signal from the accelerometer to the Duet is not connected correctly.

        Duet WiFi hardware designer and firmware engineer
        Please do not ask me for Duet support via PM or email, use the forum
        http://www.escher3d.com, https://miscsolutions.wordpress.com

        ajdtreydundefined 1 Reply Last reply Reply Quote 0
        • ajdtreydundefined
          ajdtreyd @dc42
          last edited by

          @dc42
          All connections between the accelerometer and duet were mapped correctly when I checked this morning. However, after re-seating at both ends everything is working as expected. Perhaps one of the wires is intermittently breaking. I used a solid core Cat6 cable and should probably remake with silicon jacketed, braided wire given all the movement.

          I assumed that the issue was software because I had tested the accelerometer just before the update and the failure occurred just after. A good example of "correlation doesn't equal causation"!

          Thanks for the help and pointing out the obvious thing I should have checked!

          😬

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