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

    New stable firmware bundle 3.2 released

    Scheduled Pinned Locked Moved
    Firmware installation
    18
    41
    3.7k
    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.
    • damaged_goodsundefined
      damaged_goods
      last edited by

      This post is deleted!
      1 Reply Last reply Reply Quote -1
      • garyd9undefined
        garyd9
        last edited by

        Will DSF ever reach feature parity with RRF?

        I remember that early in the 3x series, there was a push to get DSF at the same level of functionality as RRF, and while the version numbers now match, the supported feature set doesn't.

        It's confusing that "version 3.2" means different things depending on if a SBC is being used or not, and those differences don't appear to be documented anywhere. (If they are, please point me to that document so I can read about any other differences before they surprise me.)

        As an example (and asked about in the DSF section), conditional gcode functions (https://duet3d.dozuki.com/Wiki/GCode_Meta_Commands#Section_Functions) don't seem to be implemented in DSF 3.2, but have been supported in RRF for almost a year now (at least since version 3.1.)

        "I'm not saying that you are wrong - I'm just trying to fit it into my real world simulated experience."

        A Former User? 1 Reply Last reply Reply Quote 0
        • A Former User?
          A Former User @garyd9
          last edited by

          @garyd9 said in New stable firmware bundle 3.2 released:

          and while the version numbers now match, the supported feature set doesn't.

          this was a demand from other users that had issues with having to keep up with using dsf version x, rrf version y and dwc version z - and nothing to do with reflecting features.

          conditional gcode functions

          which ones are you finding not working, i think the majority has been working for a while at least

          garyd9undefined 1 Reply Last reply Reply Quote 0
          • garyd9undefined
            garyd9 @A Former User
            last edited by

            @bearer said in New stable firmware bundle 3.2 released:

            @garyd9 said in New stable firmware bundle 3.2 released:

            conditional gcode functions

            which ones are you finding not working, i think the majority has been working for a while at least

            None of them appear to be implemented. I've only tried "abs", "min", and "max" in my own gcode (and then had to rewrite some stuff to not use them), but then I searched the DSF code for other function names (via github's search) and found nothing. From an earlier post I made, I specifically searched for the strings "atan2", "acos", and "radians" with no results.

            Here's the other thread I mentioned: https://forum.duet3d.com/topic/20852/conditional-gcode-with-dsf-3-2-error-works-standalone/4

            (Note that I used the search facility built into github which is lacking to begin with.)

            "I'm not saying that you are wrong - I'm just trying to fit it into my real world simulated experience."

            garyd9undefined 1 Reply Last reply Reply Quote 0
            • garyd9undefined
              garyd9 @garyd9
              last edited by

              Grepping the actual source (cd DuetSoftwareFramework/src, grep -ri token *) shows the same (non-)results as github searching. I also checked for some other function names via grep with no hits:

              radians
              sqrt
              atan
              degrees
              floor

              That said, it's possible they are implemented, but somehow without actually including the strings that are implemented. Of course, if they ARE implemented, then it's a bug that they don't actually work.

              Try the following gcode in a macro using the duet3+SBC on RRF/DSF 3.2 (or 3.1.1):

              echo "debug " ^ abs(3)

              The same thing works with standalone RRF 3.2 (and RRF 3.1.1.)

              I do think it's important to point out that I'm not exactly complaining that they aren't implemented. I'm only asking when feature parity will be reached (or if it's even being attempted.)

              Over the past week or so, I've been trying to migrate to "try out" using the SBC, but it's been a series of disappointments finding that things that work fine with standalone don't with the SBC (and those things aren't documented to be non-functional.)

              Before I started, I asked on the forum what limitations I might run into and was pointed to a document here: https://duet3d.dozuki.com/Wiki/Duet_3_firmware_configuration_limitations

              That was a good generic answer, but if you check the document, it's not only out of date, it doesn't mentioned any differences between running RRF and running RRF+DSF.

              I'd submit new wiki pages describing the differences to future people who might embark on the same journey as I am, but doing that requires factual information. For example: It would be useful to mention if feature parity between DSF and RRF is planned or not. That brings me back to the my question of: "Will DSF ever reach feature parity with RRF?"

              "I'm not saying that you are wrong - I'm just trying to fit it into my real world simulated experience."

              chrishammundefined 1 Reply Last reply Reply Quote 0
              • DaBitundefined
                DaBit
                last edited by

                Small bug, or user error?

                5ff37cc1-56cf-4cc6-8fdf-2e6398b680ac-image.png

                Renaming the Duet3_SDiap32_Minip5plus.bin file to Duet3_SDiap_Minip5plus.bin works.

                1 Reply Last reply Reply Quote 0
                • Vetiundefined
                  Veti
                  last edited by

                  user error. that file should have been on the original sd card.

                  that file is required for the next firmware update

                  1 Reply Last reply Reply Quote 0
                  • DaBitundefined
                    DaBit
                    last edited by

                    Before powering the (Mini 5+) board the first time I took out the SD card, inserted it into the PC, renamed the original sys/ directory to sys.original/, copied it's contents into a fresh sys/ and then copied an RRF-configurator generated set into sys/ over the existing files.

                    There is no Duet3_SDiap_Mini5plus.bin file in the original sys/ ...

                    2b07cd1d-b1f6-425a-ac4b-8165ee7396ae-image.png

                    Firmware upgrade was done by uploading Duet2and3Firmware-3.2.zip. This initially failed on the missing file, so I renamed the Duet3_SDiap32_Mini5plus.bin and entered M997 S0 manually to perform the upgrade.

                    This works, I am running 3.2 (2021-01-05) now.

                    1 Reply Last reply Reply Quote 0
                    • Vetiundefined
                      Veti
                      last edited by

                      that look like the content for the duet 2 not the mini 5+

                      1 Reply Last reply Reply Quote 0
                      • DaBitundefined
                        DaBit
                        last edited by DaBit

                        The contents are coming from the 8GB Sandisk Edge SD-card that was inserted in the board when it arrived. As-delivered the firmware was RRF 3.2-beta (2?), same for DWC; that was a 3.2 beta too.

                        Maybe someone swapped cards or images, although the default contents of config.g mention Duet 3 Mini 5+. There is no image on the card for use with a Pi either, but I am not sure if it should have been on it with the Mini 5+.

                        As a side note: may I suggest putting M550 P"Duet3D" / M552 P0.0.0.0 S1 / M586 P0 S1 in the config of the Ethernet-version as-delivered?
                        That way the board is accessible on the network out of the box using http://duet3d.local on a regular home network setup. Saves all the initial terminal hassle; since DWC is accessible it is easy to do the config upload from there. A bit more userfriendly.

                        Phaedruxundefined 1 Reply Last reply Reply Quote 0
                        • ErwinH78undefined
                          ErwinH78
                          last edited by

                          is there a known problem with the bl touch after the update? my bl touch sometimes doesn't work. sometimes during homing, sometimes during true bed leveling and the z-axis then crashes into the nozzle

                          Vetiundefined 1 Reply Last reply Reply Quote 0
                          • Vetiundefined
                            Veti @ErwinH78
                            last edited by

                            @ErwinH78

                            that sounds like a bltouch problem with the wiring

                            1 Reply Last reply Reply Quote 0
                            • ErwinH78undefined
                              ErwinH78
                              last edited by

                              ok i will check thx

                              1 Reply Last reply Reply Quote 0
                              • Phaedruxundefined
                                Phaedrux Moderator @DaBit
                                last edited by

                                @DaBit said in New stable firmware bundle 3.2 released:

                                As a side note: may I suggest putting M550 P"Duet3D" / M552 P0.0.0.0 S1 / M586 P0 S1 in the config of the Ethernet-version as-delivered?
                                That way the board is accessible on the network out of the box using http://duet3d.local on a regular home network setup. Saves all the initial terminal hassle; since DWC is accessible it is easy to do the config upload from there. A bit more userfriendly.

                                You've got an early production run of the mini. 3.2 final wasn't out yet so they have 3.2beta2. The next run should have 3.2 final I think. As for the M550 out of the box I asked for that too and was told that future SD cards won't actually have a stock config on them at all, instead you'll be directly to the config tool to generate a bespoke config.

                                I've also asked that the config tool include the required IAP files when you've selected to include the firmware files in your config package. Renaming the IAP file worked in this case because nothing actually changed between the renaming for the mini5. Normally renaming the IAP file won't work because it's not usually the same file at all. For future updates you'll need the SDiap32 file and to go back to older firmware versions you'd need the non-32 version.

                                Z-Bot CoreXY Build | Thingiverse Profile

                                1 Reply Last reply Reply Quote 0
                                • chrishammundefined
                                  chrishamm administrators @garyd9
                                  last edited by

                                  @garyd9 said in New stable firmware bundle 3.2 released:

                                  Try the following gcode in a macro using the duet3+SBC on RRF/DSF 3.2 (or 3.1.1):

                                  echo "debug " ^ abs(3)

                                  The same thing works with standalone RRF 3.2 (and RRF 3.1.1.)

                                  Thanks for pointing this out, it looks like DSF interprets the round braces as a comment. You can work-around this problem by putting the whole echo payload into curly braces like

                                  echo {"debug " ^ abs(3)}

                                  I'll fix this in the next build.

                                  Duet software engineer

                                  garyd9undefined 1 Reply Last reply Reply Quote 0
                                  • garyd9undefined
                                    garyd9 @chrishamm
                                    last edited by

                                    @chrishamm said in New stable firmware bundle 3.2 released:

                                    @garyd9 said in New stable firmware bundle 3.2 released:

                                    Try the following gcode in a macro using the duet3+SBC on RRF/DSF 3.2 (or 3.1.1):

                                    echo "debug " ^ abs(3)

                                    Thanks for pointing this out, it looks like DSF interprets the round braces as a comment. You can work-around this problem by putting the whole echo payload into curly braces like

                                    echo {"debug " ^ abs(3)}

                                    Thank you. Please be aware that the following gcode also doesn't work (which is similar to your suggestion):

                                    if {abs(move.calibration.final.deviation - move.calibration.initial.deviation)} < 0.005
                                    		break;
                                    

                                    (I'll try your suggestion above when I'm near my printer again.)

                                    "I'm not saying that you are wrong - I'm just trying to fit it into my real world simulated experience."

                                    chrishammundefined 1 Reply Last reply Reply Quote 0
                                    • chrishammundefined
                                      chrishamm administrators @garyd9
                                      last edited by chrishamm

                                      @garyd9 Thanks, that seems to be a different issue. The workaround for that one looks like this:

                                      if {abs({move.calibration.final.deviation - move.calibration.initial.deviation}) < 0.005}
                                      	break
                                      

                                      I'll fix it too.

                                      Duet software engineer

                                      dc42undefined garyd9undefined 2 Replies Last reply Reply Quote 0
                                      • dc42undefined
                                        dc42 administrators @chrishamm
                                        last edited by dc42

                                        @chrishamm said in New stable firmware bundle 3.2 released:

                                        if {abs({move.calibration.final.deviation - move.calibration.initial.deviation}) < 0.005} break

                                        For reference, when everything is working as intended, this form ought to work too when the printer is in FFF mode:

                                        if abs(move.calibration.final.deviation - move.calibration.initial.deviation) < 0.005
                                        	break
                                        

                                        This is because round brackets are not treated as enclosing comments in FFF mode. Whereas in CNC mode, if you need to use ( ) in an expression then you must always have { } outside that expression.

                                        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

                                        1 Reply Last reply Reply Quote 0
                                        • garyd9undefined
                                          garyd9 @chrishamm
                                          last edited by

                                          @chrishamm said in New stable firmware bundle 3.2 released:

                                          if {abs({move.calibration.final.deviation - move.calibration.initial.deviation}) < 0.005}
                                          	break
                                          

                                          Thank you. The work-around seems to work.

                                          On a side note, can you tell me where in the DSF source that the conditional gcode function are parsed? My reason for asking is that I grep'd the DSF source tree trying to find the strings for some functions ("atan", "degrees", "radians", etc) but came up with no results. (grep -ri radians *)

                                          Being that 'echo {radians(10)}' actually does work, however, perhaps DSF doesn't actually parse the gcode but instead passes it to RRF?

                                          Thank you
                                          Gary

                                          "I'm not saying that you are wrong - I'm just trying to fit it into my real world simulated experience."

                                          chrishammundefined 1 Reply Last reply Reply Quote 0
                                          • chrishammundefined
                                            chrishamm administrators @garyd9
                                            last edited by

                                            @garyd9 It only evaluates properties from the DSF object model that have the LinuxProperty attribute. This is done in Model/Expressions.cs and I think I will need to add a fix for round braces to that file. When those expressions have been replaced, the remaining term is sent to RRF for final evaluation.

                                            Duet software engineer

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