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

    OM based "virtual triggers"

    Scheduled Pinned Locked Moved
    Firmware wishlist
    7
    11
    516
    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.
    • moth4017undefined
      moth4017 @oliof
      last edited by

      @oliof I like that idea would be good so i can integrate my drybox and spool weight , im using the object Model more and more these days , thanks to minty trebor 🙂

      <

      1 Reply Last reply Reply Quote 0
      • deckingmanundefined
        deckingman @oliof
        last edited by

        @oliof I like that idea. I haven't used daemon.g but if I understand correctly, it runs ever "n" seconds so there would be a delay between something happening and the response to that event. Whereas a trigger would not suffer that loop delay. It also has "built in conditions" for any time or only while a print is running which is one less thing to check.

        Ian
        https://somei3deas.wordpress.com/
        https://www.youtube.com/@deckingman

        o_lampeundefined 1 Reply Last reply Reply Quote 1
        • o_lampeundefined
          o_lampe @deckingman
          last edited by

          @deckingman ...what you said

          • and it doesn't read the SD-card everytime it runs.
          1 Reply Last reply Reply Quote 0
          • o_lampeundefined
            o_lampe
            last edited by

            ...just wondering how many virtual triggers (and perhaps followed by macros) the main loop can handle without extrusion defects/stuttering motion.
            There's also a priority issue, I guess.

            1 Reply Last reply Reply Quote 0
            • jay_s_ukundefined
              jay_s_uk @oliof
              last edited by

              @oliof i also definitely like the idea of OM based triggers.
              ideally something along the lines of triggering a file on value change or variation from a set point.

              Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

              MintyTreborundefined 1 Reply Last reply Reply Quote 0
              • MintyTreborundefined
                MintyTrebor @jay_s_uk
                last edited by MintyTrebor

                @oliof (& more) I Agree - I like the idea - I have a hunch it could get quite computationally expensive though, especially if you factor in conditionality like delta's or if a value is only considered "changed" if it over a threshold for a set amount of time (to account for noise etc)... Lot's of variables to keep track of, and the OM is quite large to be parsing/extracting values every cycle. I expect it would have be limited to a fixed number of available triggers to keep it lightweight.

                NodeDSF - Native Node-Red integration with Duet boards.
                BtnCmd - Customise DWC with user defined buttons/layouts/panels (DWC Plugin)
                ReleaseMgr - Duet update info inside DWC.
                Repo

                o_lampeundefined 1 Reply Last reply Reply Quote 1
                • o_lampeundefined
                  o_lampe @MintyTrebor
                  last edited by

                  @MintyTrebor I'm not sure if it's based on OM values, but the undervoltage emergency shutdown is already implemented

                  To me it's obvious, that it should only be used with similar high priority problems.

                  oliofundefined 1 Reply Last reply Reply Quote 0
                  • oliofundefined
                    oliof @o_lampe
                    last edited by

                    @o_lampe undervoltage is based on an analogue sensor triggering an interrupt (conceptually speaking, please don't crucify me for technical imprecision). So that's computationally cheap.

                    @MintyTrebor I agree that its going to come at a cost (mostly RAM, and of course the actual checking). I don't think you need to check the whole OM when having triggers. And limiting the amount of available triggers to a small number (I think 3 would be sufficient for many setups when used with caution and 5 may hit that 90% spot where the outliers would have the skills to build their own firmware, but of course there will be people who want to do everything with the new thing (-: ).

                    <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

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

                      @oliof It's pretty straight-forward to write an SBC plugin for this purpose, although I understand some folks will stark shouting "and what about the standalone users?" once I finish this sentence. For the latter daemon.g + global vars may be a reasonable fallback.

                      Duet software engineer

                      oliofundefined 1 Reply Last reply Reply Quote 0
                      • oliofundefined
                        oliof @chrishamm
                        last edited by

                        The point is to avoid daemon.g and globals due to the side effects (SD card wear and delayed reaction to changes).

                        An SBC plugin would be an interesting first approach. It might even be one where I would consider SBC mode useful ...

                        <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

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