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

      The refactoring of RepRapFirmware to use a Real Time Operating System, which got postponed for many months because of demands from Duet users for additional features, is finally happening and the first phase has been committed to GitHub. There are new v2-dev branches of the RepRapFirmware and CoreNG projects that use a RTOS kernel. The first release will be version 2.0. Don't expect to see it for several weeks, although I may make alpha builds available for those who are interested (or insane) enough to try them.

      The large amount of work involved means that I will not be adding any major new features to RRF until the RTOS work is completed. So please be patient. For those of you who are software developers, I will not be accepting new pull requests to the existing master or dev branches in GitHub , because I do not intend to change the intended behaviour of the existing 1.21 firmware. I will consider pull requests to the v2-dev branch in a week or two from now.

      The change to using a RTOS will make RepRapFirmware more efficient and will make it easier to add some major new features, both to the existing Duet 2 series and to its successors that are under development.

      Sadly, the additional memory requirements of RTOS are not compatible with the limited memory of the older SAM3X based Duets. So they will not be able to run RepRapFirmware 2.0. As previously announced, RRF 1.21 is the last planned version of RRF for those boards (Duet 0.6 and Duet 0.8.5), although if any serious bugs in 1.21 emerge then I will do a 1.21.1 maintenance release if it is justified. This decision has not been taken lightly; but I am determined to avoid getting stuck in a technological rut by catering for the lowest common denominator hardware, in the way that Marlin firmware has. It is of course open to any of you with sufficient software skills to create your own fork of RRF to provide new features on the older Duets and other SAM3X-based boards.

      I'll post further news of RRF 2.0 as progress is made.

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

        Can you clarify which boards are using the SAM3X series chips and not compatible? I have a Duetwifi, but there is a sticker over the CPU that prevents me from reading the part number.

        1 Reply Last reply Reply Quote 0
        • resamundefined
          resam
          last edited by

          The DuetWifi and DuetEthernet are both "existing Duet 2 series" and will get RRF v2.
          Duet 0.6 and 0.8 are "the old ones" - and will stay on 1.21.

          1 Reply Last reply Reply Quote 0
          • Danalundefined
            Danal
            last edited by

            Sign me up for Alpha. I have a Duet that is not in a printer at the moment, and I've been "Playing with things" on that one… 🙂

            Delta / Kossel printer fanatic

            1 Reply Last reply Reply Quote 0
            • whosrdaddyundefined
              whosrdaddy
              last edited by

              @Danal:

              Sign me up for Alpha. I have a Duet that is not in a printer at the moment, and I've been "Playing with things" on that one… 🙂

              +1

              1 Reply Last reply Reply Quote 0
              • klcjr89undefined
                klcjr89
                last edited by

                When will the Duet Maestro be announced for purchase?

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

                  @Danal:

                  Sign me up for Alpha. I have a Duet that is not in a printer at the moment, and I've been "Playing with things" on that one… 🙂

                  +1

                  1 Reply Last reply Reply Quote 0
                  • denkeundefined
                    denke
                    last edited by

                    What upgrades will this new hardware have over the existing Duet 2 series?

                    Will it be compatible with the existing accessories: panelDue, smart effector, duex5 / duex?

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