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

    Community driven duet sanity checker - how feasible?

    Scheduled Pinned Locked Moved
    General Discussion
    2
    6
    162
    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.
    • zaptaundefined
      zapta
      last edited by

      I saw in another thread the comment "Dynamic acceleration adjustment has less effect when using high jerk" and wondered, how feasible is it to have software that provides automatic sanity check of duet's configuration. For example by querying the duet over http or by pasting some gcode response into the tool and then getting a list of warnings.

      It doesn't have to be perfect to be useful and with proper software structure, more rules can be added by the community over time, similar to 'lint' tools that programmers used to verify their code.

      Considering some programming ang gcode talents here I thought this may work but am not sure.

      Any thoughts?

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

        Interesting idea. Getting and parsing the file is certainly easy enough. In fact, I would be OK with saving a zip of every .g file in /sys and uploading that zip to a checker. Full automation would be cool... but...there are so many variations of connectivity, just make it a few clicks for the human and it gets hugely more robust.

        Anyway, that's physical logistics... let's talk about the "business rules" the config-lint rules. Many things come immediately to mind. Also, some warnings, some errors

        Pin definitions that are not later used. (Warning)
        Mismatches between a tool definition and the heaters, sensors, etc on which it is based. (warning)
        Missing required elements (perhaps by Kinematic type or other determinant) (error)
        Things that are there that shouldn't be (SSID save for WiFi, wears out the module flash) (error)

        And so forth.

        Having said all of that... I've never looked at the encoding (the 'language') for lint rules. It would be nice to start with something like that. Anybody have ideas of a structure with which to start?

        Delta / Kossel printer fanatic

        zaptaundefined 1 Reply Last reply Reply Quote 0
        • zaptaundefined
          zapta @Danal
          last edited by zapta

          @Danal said in Community driven duet sanity checker - how feasible?:

          Getting and parsing the file is certainly easy enough.

          Are you thinking reading the config files or just querying the state of the printer after the configuration was read and settled down?

          Edit: with state based check, if the duet has a concept of an object model representing its state than the checks can be performed on that model. E.g. if <some pattern or condition met> then emit <some message> or something along these lines.

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

            I believe that directly connecting to a running printer introduces a huge layer of unnecessary complexity. Does the checker connect from the cloud? Lots of security to think about. Does the checker run on a local PC? Windows? Linux? Pi? If locally installed, how are the rules updated?

            Just seems simpler to zip /sys/*.g and upload it to a cloud based checker.

            Plus if the checker checked the object model, it cannot catch things in config.g that are "erroring out" and not building an object...

            Delta / Kossel printer fanatic

            zaptaundefined 2 Replies Last reply Reply Quote 0
            • zaptaundefined
              zapta @Danal
              last edited by

              @Danal, yes, good points.

              1 Reply Last reply Reply Quote 0
              • zaptaundefined
                zapta @Danal
                last edited by

                @Danal, if you are good with web page, the config analyzer can also have an interactive user interface, similar to those used by code programmers, with annotations, links to entries in the duet gcode reference page, and so on.

                alt text

                There is a lot that can be done in this area but probably the best option to to first start with something, even very minimal. 😉

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