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

    Idle/running status signal out of DWF?

    Scheduled Pinned Locked Moved
    General Discussion
    2
    8
    574
    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 would like to add to my printer a two color industrial signal tower such as this one https://www.aliexpress.com/item/2-colors-Industrial-Signal-Tower-Safety-Stack-Alarm-Light-lamp-Bulb-Red-Green-Lamp-LED-White/32933250569.html

      Is there a way to get out of DWF an idle/active status signal?

      I saw in a thread here a reference to a serial PanelDue communication sniffer but am hopping for a simpler off the shelf signal, ideally using one of the unused 24V outputs such as the second extruder heater but a 5V or 3.3V signal should also work.

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

        When exactly do you want the lamp colour to change? You can get a hot/cold indication by using one of the fan outputs (or a spare heater output configured as a fan) and configuring that fan output to be thermostatic, monitoring all heater outputs.

        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

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

          @dc42 said in Idle/running status signal out of DWF?:

          When exactly do you want the lamp colour to change?

          I would think when the machine changes status between 'active' to 'non active'. Active may be defined as something is moving or is 'hot'.

          Does this make sense?

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

            @zapta said in Idle/running status signal out of DWF?:

            I would think when the machine changes status between 'active' to 'non active'. Active may be defined as something is moving or is 'hot'.

            Does this make sense?

            That's a combination of different things. The printer status that RRF sends to DWC and PanelDue takes the following values:

            char RepRap::GetStatusCharacter() const
            {
            	return    (processingConfig)							? 'C'	// Reading the configuration file
            			: (gCodes->IsFlashing())					? 'F'	// Flashing a new firmware binary
            			: (IsStopped()) 						? 'H'	// Halted
            #if HAS_VOLTAGE_MONITOR
            			: (!platform->HasVinPower() && !gCodes->IsSimulating())		? 'O'	// Off i.e. powered down
            #endif
            			: (gCodes->IsPausing()) 					? 'D'	// Pausing / Decelerating
            			: (gCodes->IsResuming()) 					? 'R'	// Resuming
            			: (gCodes->IsPaused()) 						? 'S'	// Paused / Stopped
            			: (printMonitor->IsPrinting() && gCodes->IsSimulating())	? 'M'	// Simulating
            			: (printMonitor->IsPrinting())					? 'P'	// Printing
            			: (gCodes->IsDoingToolChange())					? 'T'	// Changing tool
            			: (gCodes->DoingFileMacro() || !move->NoLiveMovement()) 	? 'B'	// Busy
            			:								 'I';	// Idle
            }
            

            Whether any heaters are hot is not included in this status.

            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
            • zaptaundefined
              zapta
              last edited by

              Thanks dc42@, I will take a look. I presume that this relates to the PanelDue serial protocol. An arduino sniffer on this protocol can also OR it with 'is still hot' signal that is derived from the temperature readings.

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

                @zapta said in Idle/running status signal out of DWF?:

                I presume that this relates to the PanelDue serial protocol.

                It relates to the response to the M408 command sent by PanelDue to poll the status, and to the response to the rr_status HTTP command.

                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

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

                  @dc42 said in Idle/running status signal out of DWF?:

                  It relates to the response to the M408

                  I have a crude version of Teensy/Arduino sniffer working. It turns the arduino LED on when the printer is busy. The criteria is crude but kind of working

                  https://github.com/zapta/misc/blob/master/duet3d_monitor/arduino/monitor.cpp#L101

                  I plan to add WS2812 interface so it can indicate a few states (ACTIVE, COOLING, IDLE, ERROR, etc).

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

                    Here is a picture of my printer status light prototype. The light is red (active) because the nozzle is still hot (unsafe yet to turn off the printer extruder fan).

                    0_1558805136224_IMG-1380.JPG

                    It's made of a Teensy 3.2 board with an Arduino sketch that sniffs the PanelDue serial communication and drives a Neopixel RGB LED via a 3.3V->5V level shifter.

                    The Arduino sketch source code is here https://github.com/zapta/misc/tree/master/duet3d_monitor/arduino

                    Next step is to make it nicer looking.

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