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

    How do i Run a Macro at a given temperature

    Scheduled Pinned Locked Moved
    Gcode meta commands
    3
    14
    626
    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.
    • chrishammundefined
      chrishamm administrators @moth4017
      last edited by

      @moth4017

      echo sensors.analog[3].lastReading
      

      Also see https://docs.duet3d.com/en/User_manual/Reference/Gcode_meta_commands and https://github.com/Duet3D/RepRapFirmware/wiki/Object-Model-Documentation or just enable the Object Model plugin in DWC if you want to browse the object model yourself.

      Duet software engineer

      1 Reply Last reply Reply Quote 0
      • moth4017undefined
        moth4017 @chrishamm
        last edited by

        @chrishamm

        Can these conditional statement be in the config.g file ?

        <

        OwenDundefined 1 Reply Last reply Reply Quote 0
        • OwenDundefined
          OwenD @moth4017
          last edited by

          @moth4017 said in How do i Run a Macro at a given temperature:

          Can these conditional statement be in the config.g file ?

          You would need to put it in daemon.g so that the condition is continually checked.
          You would need to include code or a method to stop in running multiple times most likely.

          What is the macro going to do?
          If it's simply to start a fan then just set the fan up as thematically controlled in M950 .

          Another method might be to set up a thermostatically controlled fan output but connect a relay or mosfet to it.
          The output of the relay could be connected to a GPIO pin.
          You would then set up a trigger macro using M581 which would run when the temp reached the target temp.

          moth4017undefined 1 Reply Last reply Reply Quote 0
          • moth4017undefined
            moth4017 @OwenD
            last edited by

            @owend
            Hi im monitoring some of the stepper motors and want to protect them if they get to hot, also monitorng the weight of the spool so want to put up warning when the filament is getting low, ideally would like a way to send an email/txt message .

            <

            1 Reply Last reply Reply Quote 0
            • moth4017undefined
              moth4017
              last edited by

              @owend

              Hi im trying to work out how
              echo "Voltage OK : " ^ boards[0].vIn.current ;

              how does boards[0] relate to the hardware as it is on "pin 12" labeled ADC1_ANi7 /PB05 on the Micro.

              is there a list somewhere ?

              <

              1 Reply Last reply Reply Quote 0
              • OwenDundefined
                OwenD
                last edited by

                @moth4017
                You keep asking questions without giving any sort of context
                This makes it very hard to provide any meaningful help.
                Also his question seems at a large tangent to your original question.
                Did you get that working?

                It's best to provide the following when you're asking questions...,
                What hardware?
                Which version firmware?
                What have you tried so far?
                What did you expect to happen?
                What actually happened?

                boards[nn]. refers to an array referencing each connected board.
                boards[0].vIn.current refers to the voltage being supplied to the main board by the power supply at the current moment.
                I don't know what pin that value is read from.
                The pins list is hardware dependent.
                https://docs.duet3d.com/User_manual/RepRapFirmware/Migration_RRF2_to_RRF3#pin-names

                moth4017undefined 1 Reply Last reply Reply Quote 0
                • moth4017undefined
                  moth4017 @OwenD
                  last edited by

                  @owend

                  Sorry ,
                  Duet3 + Mini5 wifi.
                  firmware 3.4.0

                  i was using the voltage just to get it working and display in the console and Yes i got the voltage readings to display in the console correctly.

                  Ok so i use the pin names not pin numbers on the Micro .
                  eg IO -IN3 would be "echo "Voltage : " ^ boards[0].IO3.in.current"

                  many thanks for help mark

                  <

                  OwenDundefined 1 Reply Last reply Reply Quote 0
                  • OwenDundefined
                    OwenD @moth4017
                    last edited by

                    @moth4017 said in How do i Run a Macro at a given temperature:

                    @owend

                    Sorry ,
                    Duet3 + Mini5 wifi.
                    firmware 3.4.0

                    i was using the voltage just to get it working and display in the console and Yes i got the voltage readings to display in the console correctly.

                    Ok so i use the pin names not pin numbers on the Micro .
                    eg IO -IN3 would be "echo "Voltage : " ^ boards[0].IO3.in.current"

                    No, you misunderstand how the object model works.
                    You can only access what has been exposed in the object model.
                    You can use the object model plugin to view what is available or the list here
                    https://github.com/Duet3D/RepRapFirmware/wiki/Object-Model-Documentation

                    moth4017undefined 1 Reply Last reply Reply Quote 0
                    • moth4017undefined
                      moth4017 @OwenD
                      last edited by

                      @owend

                      ok thanks
                      so back to the original request

                      M308 S3 Y"Stepper-temp" A"Stepper Motor" ; configure sensor 3 as stepper motor temperature sensor
                      if sensors.analog[3].lastReading > 70
                      M98 P"ItsToHotmacro.g"

                      is the S3 after M308 referenced [3] in sensors.analog[3].lastReading ?

                      or
                      should it be
                      sensors.analog[temp2].lastReading as temp2 is the RRF3 Pin name?

                      <

                      OwenDundefined 1 Reply Last reply Reply Quote 0
                      • OwenDundefined
                        OwenD @moth4017
                        last edited by

                        @moth4017
                        Go to settings and start the built in object model browser plugin.
                        You will then see the browser listed
                        Capture.PNG
                        This will let you see the object model and drill down to get the info you need.
                        If you select a value, the correct path can be copied to the clipboard using the copy button at top right.
                        Screenshot 2022-04-03 105251.png

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