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

    Any possibility to implement keep out area on Duet 2?

    Scheduled Pinned Locked Moved
    Firmware wishlist
    5
    18
    878
    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.
    • dc42undefined
      dc42 administrators @GeneRisi
      last edited by

      @GeneRisi you could build the firmware yourself. In file src/Config/Pins_DuetNG.h you would enable SUPPORT_KEEPOUT_ZONES and disable one of the remaining kinematics classes to make space.

      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

      GeneRisiundefined 1 Reply Last reply Reply Quote 0
      • GeneRisiundefined
        GeneRisi @dc42
        last edited by

        @dc42 OK, that sounds interesting!

        GeneRisiundefined 1 Reply Last reply Reply Quote 0
        • GeneRisiundefined
          GeneRisi @GeneRisi
          last edited by

          @dc42 I am trying to build the libraries but when I click on the hammer, it immediately jumps to

          Configuring in: /Users/gene/Dev/RepRapFirmware/v3.5.1/FreeRTOS/src/build/default
          cmake -G Unix Makefiles -DCMAKE_EXPORT_COMPILE_COMMANDS=ON /Users/gene/Dev/RepRapFirmware/v3.5.1/FreeRTOS/src
          CMake Warning (dev) in CMakeLists.txt:
            No project() command is present.  The top-level CMakeLists.txt file must
            contain a literal, direct call to the project() command.  Add a line of
            code such as
          
              project(ProjectName)
          

          I am not familiar with Eclipse. How do I build the libraries? Building CANlib woud be a great example for me. Thanks!
          Gene

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

            @GeneRisi I don't know why it it using cmake unless you have configured it that way. Eclipse uses a normal make program, not cmake.

            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

            GeneRisiundefined 1 Reply Last reply Reply Quote 0
            • GeneRisiundefined
              GeneRisi @dc42
              last edited by GeneRisi

              @dc42 I found the right invocation to build the individual projects. I needed to add the include path for MessageFormats.h to the RepRapFirmware project and when I did it built without errors. (on a MBP, M3) until it got to the last step

              I found that instructions on building should also include instructions to install .NET SDK 6.x (x64 version only)

              With my newfound success, I have a couple of questions:

              1. How can I tell whether or not the binary will fit the constraints of the Duet 2 system?

              2. Could MQTT also possibly fit in a custom DUET 2 build with only the basic kinematics included?

              Thanks for making this possible!

              Gene

              GeneRisiundefined 1 Reply Last reply Reply Quote 0
              • GeneRisiundefined
                GeneRisi @o_lampe
                last edited by GeneRisi

                @o_lampe I think that's an interesting idea and would be useful, in my opinion, if the freed up space could be used for other features. For example, I am interested in the KEEP_OUT area function and MQTT on my Duet 2. Since my printer only uses one kinematic type, the others provide no additional benefit and the code space is wasted.

                Does FreeRTOS support dynamic loading without alot of overhead?

                Another approach would be to host firmware builds on a remote machine along with a mechanism to pick and choose from a set of features and have an automated build create the binary.

                Gene

                1 Reply Last reply Reply Quote 0
                • GeneRisiundefined
                  GeneRisi @GeneRisi
                  last edited by

                  @dc42 A configuration with most of the kinematic types not included and support for the 12864 LCD not included give a .bin file size of 491,676 bytes. How do I know if there is enough SRAM available for the MQTT stack?

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

                    @GeneRisi said in Any possibility to implement keep out area on Duet 2?:

                    @dc42 A configuration with most of the kinematic types not included and support for the 12864 LCD not included give a .bin file size of 491,676 bytes. How do I know if there is enough SRAM available for the MQTT stack?

                    By enabling MQTT support and seeing how large the binary is. Also you will get an error from the linker if the flash memory size is exceeded.

                    You could free up more flash space by disabling the code for whichever of Ethernet and WiFi your board doesn't have.

                    However, both MQTT and keepout zone support require additional RAM as well as flash memory.

                    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

                    GeneRisiundefined 1 Reply Last reply Reply Quote 0
                    • GeneRisiundefined
                      GeneRisi @dc42
                      last edited by

                      @dc42 Will the linker tell me if I have exceeded the RAM memory available or is the allocation dynamic and I need to run the firmware to find out?

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

                        @GeneRisi some of the RAM is allocated dynamically depending on your configuration; so the linker can't tell you that.

                        When the machine has run for a while, M122 will tell you how much RAM is unused.

                        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
                        • First post
                          Last post
                        Unless otherwise noted, all forum content is licensed under CC-BY-SA