Duet 3 BLTouch macros not being called?



  • Hey all, Im having an issue that has me completely at a loss. The probe deploys when using M98 P"deployprobe.g" or M280 P0 S10, and retracts calling the macro and M280. It does not when using M401, M402 or G30. If I add M280s to homeall.g it works even with G28 directly in the console. So macros are working, just not the deploy and retract macros. My understanding reading the guide is that for duet 3 only connections to the IO7 header is required, and the heater/servo GPIO setup is not.

    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 Wed Apr 15 2020 13:48:00 GMT-0400 (Eastern Daylight Time)
    
    ; General preferences
    G90                                          ; send absolute coordinates...
    M83                                          ; ...but relative extruder moves
    M550 P"Duet 3"                               ; set printer name
    
    M667 S1                                      ; select CoreXY mode
    
    ; Drives
    M569 P0.0 S1                                 ; physical drive 0.0 goes forwards
    M569 P0.1 S0                                 ; physical drive 0.1 goes backwards
    M569 P0.2 S0                                 ; physical drive 0.2 goes backwards
    M569 P0.5 S0                                 ; physical drive 0.5 goes backwards
    M584 X0.0 Y0.1 Z0.2 E0.5                     ; set drive mapping
    M350 X16 Y16 Z16 E16 I1                      ; configure microstepping with interpolation
    M92 X100.00 Y100.00 Z806.00 E837.00          ; set steps per mm
    M566 X900.00 Y900.00 Z12.00 E120.00          ; set maximum instantaneous speed changes (mm/min)
    M203 X7800.00 Y7800.00 Z300.00 E1200.00      ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z20.00 E250.00          ; set accelerations (mm/s^2)
    M906 X800 Y800 Z800 E800 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 X340 Y340 Z578 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"io1.in"                         ; configure active-high endstop for low end on Y via pin io1.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 X22 Y24 Z2.5                        ; set Z probe trigger value, offset and trigger height
    M557 X15:300 Y15:300 S20                     ; define mesh grid
    
    ; Heaters
    M308 S0 P"temp3" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp3
    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 B1 S1.00                             ; enable 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 B4138 ; 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
    M308 S2 P"temp2" Y"thermistor" T100000 B4138 ; configure sensor 2 as thermistor on pin temp2
    M950 H2 C"out2" T2                           ; create chamber heater output on out2 and map it to sensor 2
    M143 H2 S280                                 ; set temperature limit for heater 2 to 280C
    M307 H2 B1 S1.00                             ; enable bang-bang mode for the chamber heater and set PWM limit
    M141 H2                                      ; map chamber to heater 2
    
    ; Fans
    M950 F0 C"out7" Q500                         ; create fan 0 on pin out7 and set its frequency
    M106 P0 C"Part Fan" S0 H-1                   ; set fan 0 name and value. Thermostatic control is turned off
    M950 F1 C"out9" Q500                         ; create fan 1 on pin out9 and set its frequency
    M106 P1 C"HotEnd Fan" S1 H1 T45              ; set fan 1 name and value. Thermostatic control is turned on
    M950 F2 C"!out6" Q500                        ; create fan 2 on pin !out6 and set its frequency
    M106 P2 C"CaseFan1" S0.25 H-1                ; set fan 2 name and value. Thermostatic control is turned off
    M950 F3 C"out3" Q500                         ; create fan 3 on pin out3 and set its frequency
    M106 P3 C"LEDs" S1 H-1                       ; set fan 3 name and value. Thermostatic control is turned off
    
    ; 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
    
    ; Custom settings
    M307 H2 B1 A90 C600 D60
    M307 H1 P15.5 I0.444 D63.6
    ;M307 H0 P125 I9.860 D215
    
    ; Miscellaneous
    T0                                           ; select first tool
    
    
    

    deploy.g:

    ; deployprobe.g
    ; called to deploy a physical Z probe
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.8 on Wed Apr 15 2020 13:48:00 GMT-0400 (Eastern Daylight Time)
    M280 P0 S10 ; deploy BLTouch
    
    
    

    Im sure Im missing something obvious.
    Specs:
    Duet 3 running 3.01-RC6 firmware, with pi4 controlling through GPIO.

    Any help would be hugely appreciated.



  • Okay update:
    Running in stand alone mode, M401 and M402 are working. Do I need to copy my macros somewhere besides /sys? Its like the board cant access them.


  • Moderator

    I think with the Pi you may need to rename the deployprobe.g and retractprobe.g to deployprobe0.g and 'retractprobe0.g'

    Not sure if that's been changed in the most recent update (RC7, etc) so maybe an update is in order.

    https://forum.duet3d.com/topic/14849/issue-with-3-01-rc4-pre



  • @Phaedrux said in Duet 3 BLTouch macros not being called?:

    I think with the Pi you may need to rename the deployprobe.g and retractprobe.g to deployprobe0.g and 'retractprobe0.g'

    Not sure if that's been changed in the most recent update (RC7, etc) so maybe an update is in order.

    https://forum.duet3d.com/topic/14849/issue-with-3-01-rc4-pre

    Correct, that change to '0' suffix is/was a software release change (not strictly related to Pi or no Pi).



  • @Demi said in Duet 3 BLTouch macros not being called?:

    Okay update:
    Running in stand alone mode, M401 and M402 are working. Do I need to copy my macros somewhere besides /sys? Its like the board cant access them.

    Realize that:

    • "standalone" /sys and /www and so forth are in the FAT32 partition on the SD Card
      (WIndows can see all this)

    • "Board + PI" /sys and /www are mapped from /opt/dsf/sd,
      which, in turn, is in an EXT4 partition
      (Windows does not see these partitions; windows will ask if it can format them)

    Therefore, if you use one card to switch between stand-alone vs. Pi, you might be expecting to see the same contents in /sys and so forth. In fact, they are completely separate.


  • administrators

    @Danal said in Duet 3 BLTouch macros not being called?:

    @Phaedrux said in Duet 3 BLTouch macros not being called?:

    I think with the Pi you may need to rename the deployprobe.g and retractprobe.g to deployprobe0.g and 'retractprobe0.g'

    Not sure if that's been changed in the most recent update (RC7, etc) so maybe an update is in order.

    https://forum.duet3d.com/topic/14849/issue-with-3-01-rc4-pre

    Correct, that change to '0' suffix is/was a software release change (not strictly related to Pi or no Pi).

    DSF 1.2.5 and later fall back to deployprobe.g if deployprobe0.g isn't found. Similarly for the retractprobe file. So no changes should be needed if you upgrade to the recommended version of DSF when upgrading RRF.



  • Thanks for the replies everyone, sorry it took me so long to respond. I'm still a little confused, since I am accessing these files via the web interface, shouldn't the location be contextual? If I'm running through the pi, and access the macros through the web interface, shouldn't that be accessing the appropriate partition? Likewise shouldn't the duet be accessing the contextually appropriate partition? At no point am I putting the SD card in a computer after initial setup.



  • Yes, the web interface always puts things in the correct place. Two things of which you must still be aware:

    1. If switching between stand along and Pi, the web interface will put things in the right place when you are running in any given mode. HOWEVER, once you "swap", your recent updates will seem to be missing.

    2. Many posts above were talking about looking at the SD card itself, perhaps in a windows machine, etc. When accessing the card that way, they are different.



  • @Danal
    Well that all checks to me, but just confuses me more as to why the macros arent running. Like I said, M401 and the like work as advertised when I am connected directly to the board, and dont when I am running through the pi, even though the macros are present.



  • Yeah, that's very bizarre. I run a toolchanger, that auto-invokes macros all over the place, and they are all working fine on a pi.

    You said you are running RC6. I don't believe it will make a difference... but RC9 is out. You can do

    sudo apt update
    sudo apt upgrade

    on the Pi and it will update everything, even load the firmware on board 0 (if you have more than one, you will need to M997 B1, and so forth).

    Again, probably won't make a diff... but...



  • Danal, I really appreciate all the help, and Im sorry to retread our other thread. I download the config, and check the boxes to get the firmware, and upload the zip file, but Im still on RC7. The only time I have seen it upgrade is when I used Bossa. Im a special kind of special I think.



  • @Demi said in Duet 3 BLTouch macros not being called?:

    Danal, I really appreciate all the help, and Im sorry to retread our other thread. I download the config, and check the boxes to get the firmware, and upload the zip file, but Im still on RC7. The only time I have seen it upgrade is when I used Bossa. Im a special kind of special I think.

    Are you set up to SSH into your Pi?



  • I am, but I am no longer using the Pi. Just running stand alone.


  • administrators

    @Demi, this thread is getting long and you have changed configurations. Please upgrade to 3.01-RC10, which should be straightforward via DWC. Then check what problem(s) remain and list them along with your current configuration in a new post in this thread.



  • @dc42

    Thanks for the reply DC. I dont experience any issues when running standalone mode.
    I was just trying to get a better understanding of how the system works. As I am no longer running a the DuetPi setup, I no longer have any issues with macros getting called. The current setup is the Duet 3 running in stand alone connected via ethernet, with a Repetier Pi server connected via USB for a touch screen interface, with the Repetier server using wifi to connect to the network.

    The only issue I am having, is probably a user error issue. I tried to upload the firmware (Duet3Firmware_MB6HC.bin) via the DWC. It didnt recognize it. Deleted it uploaded again, no joy. I fired up Bossa and it uploaded perfectly. I do not understand what I am doing wrong. Is there documentation the outlines the different firmware files and their use?

    SDuet3Firmware_EXP3HC.bin - I assume this is for the expansion board.

    Duet3Firmware_MB6HC.bin - for the mainboard upload via Bossa and DWC?

    Duet3Firmware_TOOL1LC.bin - No idea.

    Duet3_SDiap_MB6HC.bin - I was told this is to allow the board to update itself, but I can find no information for usage.

    DuetWebControl-SD-2.1.5.zip - I am 98.64% sure this is for making the stand alone or pi SD card, but it doesnt look to be an image that would be used via etcher.

    I dont want to bother everyone if there is documentation to explain this, but I have been through the guides front and back and havent found an explanation.


  • Moderator

    It's no bother at all. This is what the forum is for.

    Now that you have updated the firmware successfully with bossa, are you able to upload the firmware file again via DWC and have it successfully detect and install?

    @Demi said in Duet 3 BLTouch macros not being called?:

    SDuet3Firmware_EXP3HC.bin - I assume this is for the expansion board.

    Yes.

    @Demi said in Duet 3 BLTouch macros not being called?:

    Duet3Firmware_MB6HC.bin - for the mainboard upload via Bossa and DWC?

    yes.

    @Demi said in Duet 3 BLTouch macros not being called?:

    Duet3Firmware_TOOL1LC.bin - No idea.

    This is for the tool boards.

    @Demi said in Duet 3 BLTouch macros not being called?:

    Duet3_SDiap_MB6HC.bin - I was told this is to allow the board to update itself, but I can find no information for usage.

    This is a file that helps the firmware program the new firmware. It's probably a lot more than that, but that's all you really need to know. It just needs to be present.

    @Demi said in Duet 3 BLTouch macros not being called?:

    DuetWebControl-SD-2.1.5.zip - I am 98.64% sure this is for making the stand alone or pi SD card, but it doesnt look to be an image that would be used via etcher.

    This is just a zip file that contains all the HTML, etc files for the web interface. It should be detected by the DWC and extract it to the /www folder all on it's own to update itself.

    What DWC version is currently installed as shown in the settings tab?



  • @Phaedrux
    OH! Wow, that cleared up all kinds of stuff. I was just uploading the firmware file (singular) that I thought I needed.

    Board: Duet 3 MB6HC v0.6 or 1.0
    Firmware: RepRapFirmware for Duet 3 MB6HC 3.01-RC10 (2020-04-25b3)
    Duet Web Control 2.0.7

    Okay so I will try uploading the DWC, firmware, and IAP and see what happens...

    Everything worked! Im now on DWC 2.1.5 and the firmware updated just fine from DWC. Thank you so much. Where is the information that explained all this? I do really appreciate the help, but I would like to not ask questions that are in the reading, but I really cant find this guidance anywhere. Am I missing something?
    https://duet3d.dozuki.com/Wiki/Installing_and_Updating_Firmware
    doesnt answer these questions (or does and Im just extra special) is the dozuki intended as a jumping off point and the forum is the primary guidence?



  • At the link you posted, first paragraph is (bolding here only):

    This section is for Duet Maestro and Duet 2 (WiFi and Ethernet) firmware only. The Duet 3 stand-alone process is similar; the Duet 3 + Pi process is quite different. See Getting Started with Duet 3 for more information.

    Since you have a Duet3 + Pi, the bolded part applies, and you should be doing the things at Getting Started with Duet 3

    Does that help any?

    Having said that... that second link does cover firmware only. I'm not sure there is any ONE place that says "update all these things and keep them in sync".

    As the Pi matures, the "sudo apt update" and upgrade commands are doing a better and better job of doing everything, keeping all in sync, and this problem will fade away... at least for us Pi users.


  • Moderator

    I think things will improve quite a bit once 3.01 is final. Documentation will be finalized around updating and the files needed should be a bit more static.



  • @Phaedrux
    I want to thank everyone here, it seems to be a really amazing community. What I have blindly achieved with the duet on old chinese crap hardware has blown my mind. I think its really hard for well versed people to make guides for noob window lickers. Maybe I can give back a little bit and contribute from a tech savvy but largely stupid point of view? Is there a way I can help? Maybe the walls I hit I can help document?


  • Moderator

    @Demi said in Duet 3 BLTouch macros not being called?:

    Maybe I can give back a little bit and contribute from a tech savvy but largely stupid point of view? Is there a way I can help? Maybe the walls I hit I can help document?

    Absolutely. It is challenging to be self aware of all of the things we take for granted when trying to document something technical.

    If you want to write something up about your headlong dive into it, please do. If you want to do a guide, that's totally welcome. If you just want to give a list of areas you found obtuse, that's cool too.


Log in to reply