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

    RepRapFirmware 2.0 with RTOS in development

    Scheduled Pinned Locked Moved
    Firmware installation
    18
    58
    9.4k
    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.
    • timcurtis67undefined
      timcurtis67
      last edited by

      I will try the Alpha on my DuetWifi IDEX printer. Sign me up.

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

        @klcjr89:

        When will the Duet Maestro be announced for purchase?

        When we can provide a shipping date for it. Currently there are only 3 prototypes in existence. Just to be clear, it is a lower-specification board than the Duet Ethernet.

        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
        • Dougal1957undefined
          Dougal1957
          last edited by

          @dc42:

          @klcjr89:

          When will the Duet Maestro be announced for purchase?

          When we can provide a shipping date for it. Currently there are only 3 prototypes in existence. Just to be clear, it is a lower-specification board than the Duet Ethernet.

          David

          Can you share the basic specs of it it may interest some people out there as I assume the price will be reduced as well and may attract more people into the Duet Family so to speak.

          Doug

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

            The basic port to use RTOS is now working. Currently RepRapFirmware is running with just two tasks (one for heating control and one for everything else). The next step is to separate out the networking subsystem into a separate task, followed by GCode processing and movement. I've not yet decided whether to use a task for generating the step pulses or to leave that as an ISR.

            The RTOS I chose is FreeRTOS. It is small and lightweight, ideally suited to embedded applications on ARM Cortex processors. It's coded to high standards - it claims compliance with the MISRA-C coding standard, which is the one used widely for critical C software in automotive, aerospace and other sectors.

            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
            • T3P3Tonyundefined
              T3P3Tony administrators
              last edited by

              @Dougal1957:

              @dc42:

              @klcjr89:

              When will the Duet Maestro be announced for purchase?

              When we can provide a shipping date for it. Currently there are only 3 prototypes in existence. Just to be clear, it is a lower-specification board than the Duet Ethernet.

              David

              Can you share the basic specs of it it may interest some people out there as I assume the price will be reduced as well and may attract more people into the Duet Family so to speak.

              Doug

              We did the work with an OEM who is going to be releasing the information soon. They own the timeline for this!

              www.duet3d.com

              1 Reply Last reply Reply Quote 0
              • Dougal1957undefined
                Dougal1957
                last edited by

                I was aware that the work was for an OEM shame they haven't announced anything yet wonder if they will try and keep it to themselves or let you guy's have it in your shop as well.

                Good to hear that you have the initial port David very excited to actually give it a go
                I have a Ethernet with Duex5 sitting here just ready for some testing to happen until I can get the CoreXY to a state ready to take the controller (That will have a Smart effector re-purposed for it) Carriage for that is already done

                Keep up the excellent work.

                Doug

                1 Reply Last reply Reply Quote 0
                • DADIYundefined
                  DADIY
                  last edited by

                  @dc42:

                  The basic port to use RTOS is now working. Currently RepRapFirmware is running with just two tasks (one for heating control and one for everything else). The next step is to separate out the networking subsystem into a separate task, followed by GCode processing and movement. I've not yet decided whether to use a task for generating the step pulses or to leave that as an ISR.

                  The RTOS I chose is FreeRTOS. It is small and lightweight, ideally suited to embedded applications on ARM Cortex processors. It's coded to high standards - it claims compliance with the MISRA-C coding standard, which is the one used widely for critical C software in automotive, aerospace and other sectors.

                  Does this mean we might see the ability to upload a file at the same time as printing?

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

                    @DADIY:

                    @dc42:

                    The basic port to use RTOS is now working. Currently RepRapFirmware is running with just two tasks (one for heating control and one for everything else). The next step is to separate out the networking subsystem into a separate task, followed by GCode processing and movement. I've not yet decided whether to use a task for generating the step pulses or to leave that as an ISR.

                    The RTOS I chose is FreeRTOS. It is small and lightweight, ideally suited to embedded applications on ARM Cortex processors. It's coded to high standards - it claims compliance with the MISRA-C coding standard, which is the one used widely for critical C software in automotive, aerospace and other sectors.

                    Does this mean we might see the ability to upload a file at the same time as printing?

                    Yes, I hope to support that. In the longer term more complicated stuff, like simulating newly uploaded files in the background so that an accurate print time is known.

                    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
                    • timcurtis67undefined
                      timcurtis67
                      last edited by

                      @dc42:

                      @DADIY:

                      @dc42:

                      The basic port to use RTOS is now working. Currently RepRapFirmware is running with just two tasks (one for heating control and one for everything else). The next step is to separate out the networking subsystem into a separate task, followed by GCode processing and movement. I've not yet decided whether to use a task for generating the step pulses or to leave that as an ISR.

                      The RTOS I chose is FreeRTOS. It is small and lightweight, ideally suited to embedded applications on ARM Cortex processors. It's coded to high standards - it claims compliance with the MISRA-C coding standard, which is the one used widely for critical C software in automotive, aerospace and other sectors.

                      Does this mean we might see the ability to upload a file at the same time as printing?

                      Yes, I hope to support that. In the longer term more complicated stuff, like simulating newly uploaded files in the background so that an accurate print time is known.

                      Any chance on being able to store/recall variables and use if/then, addition/subtraction logic statements in macros?

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

                        That's planned, but not directly related to RTOS.

                        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
                        • dc42undefined
                          dc42 administrators
                          last edited by

                          Further progress yesterday and today. RepRapFirmware 2.0 alpha now has a thread-safe file system! This paves the way for splitting the code into more tasks. The next work item will be to make PrintMonitor and the interfaces between Network and the rest of the system thread-safe, after that the network subsystem can run as a separate task. That will allow more network stuff to happen in parallel with SD card access, which should speed things up a little.

                          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
                          • ShadowXundefined
                            ShadowX
                            last edited by

                            Does this mean that eventually we won't have the problem where the system pauses while the hot end is heating when using the PanelDue? The system becomes unresponsive to any commands until the heating is is complete. Any commands issued (ie: homing) during that period would only happen after the hot end heater reaches the temp.

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

                              @ShadowX:

                              Does this mean that eventually we won't have the problem where the system pauses while the hot end is heating when using the PanelDue? The system becomes unresponsive to any commands until the heating is is complete. Any commands issued (ie: homing) during that period would only happen after the hot end heater reaches the temp.

                              The 'system' doesn't pause when the hot end is heating. The command channel that you sent the heating command from won't accept further commands if the heating command is defined to wait until temperature is reached of course, so if you send such a command from PanelDue then of course it will become unresponsive.

                              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
                              • ShadowXundefined
                                ShadowX
                                last edited by

                                Thanks for the clarification.

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

                                  I should add that:

                                  1. Setting temperatures in PanelDue on the Control and Print pages does not use commands that wait for temperature.

                                  2. Even if you do invoke a "set temperature and wait" command from PanelDue (e.g. in one of your own macro files, or by selecting a new tool when there is a set-and-wait command in one of the tool change macro files), the status will continue to update while waiting unless you are using very old main firmware.

                                  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
                                  • dc42undefined
                                    dc42 administrators
                                    last edited by

                                    More progress yesterday and today. It turned out that there are a lot of chunks of code that are not thread-safe, especially in the older code - which is understandable, because it was written before using a RTOS was envisaged. Anyway, I've now made all the output channels thread safe, also the tool list and the mechanism used to extract print data from GCode files.

                                    I've started including a binary of the latest RTOS build for the Duet WiFi and Ethernet in the github commits. It's at https://github.com/dc42/RepRapFirmware/blob/v2-dev/EdgeRelease/Duet2CombinedFirmware.bin. If you like taking risks, follow that link and click Download. I've included a couple of bug fixes in this one too:

                                    • Fixed issue with G1 S1 Ennn on delta printers
                                    • The FileInfo parser now has a timeout if called from DWC, to prevent the connection being lost when getting info from a large file with a small SD card cluster size. You will no longer get disconnected, but you probably won't get object height or filament required information.

                                    It's compatible with version 1.21 of iap4e.bin, DuetWiFiServer.bin and DuetWebControl.zip.

                                    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
                                    • cgcaferundefined
                                      cgcafer
                                      last edited by

                                      Hi David,
                                      This morning i updated, after that i can't connect via wifi and fan2 (now it is connected to laser head) it was flashed one in 3-5 second.

                                      I was busy so after that i reinstall to regular version (1.12). If you want to diagnostic i can try it again.
                                      Thanks
                                      Cafer

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

                                        I presume you mean 1.21 not 1.12.

                                        What was the problem with Fan2?

                                        The RTOS build is working on my delta, except that the first time I booted it up this morning the wifi was off and I had to send M552 S1 from PanelDue to enable it. I have a new build almost ready, but I'll do some tests powering up from cold to see if that problem occurs again.

                                        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
                                        • cgcaferundefined
                                          cgcafer
                                          last edited by

                                          Yes you are right 1.21
                                          laser led turned on and off(like flashing) in 3-5 seconds
                                          I was tried M552 S1 but no success.

                                          1 Reply Last reply Reply Quote 0
                                          • cobrettiundefined
                                            cobretti
                                            last edited by

                                            Just updated my D-Bot and all good so far. No issues after update with warm and cold restarts and a successful small print.
                                            Edit: Running a Duet Wifi

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