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

    3.5 rc4 illegal parameter letter Error in Daemon.G

    Scheduled Pinned Locked Moved
    Beta Firmware
    3
    7
    243
    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.
    • travaskyundefined
      travasky
      last edited by Phaedrux

      I had the following code in my daemon.g which worked. under 3.4.5
      I upgraded to 3.5 RC4 today and now get the following:
      Error: in file daemon.g line 4: Illegal parameter letter '.

      if heat.heaters[2].active==1
          M106 P1 S1
      else heat.heaters[2].active==0
          M106 P1 S0
      

      I dont see any obvious issues and also tried uploading a new daemon.g made in notepad++ in case some aspect of editing in the browser was introducing formatting errors. No luck though.

      dc42undefined OwenDundefined 2 Replies Last reply Reply Quote 0
      • Phaedruxundefined Phaedrux moved this topic from Firmware installation
      • dc42undefined
        dc42 administrators @travasky
        last edited by

        @travasky please upload the daemon.g file to a new post in this thread.

        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

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

          @travasky said in 3.5 rc4 illegal parameter letter Error in Daemon.G:

          if heat.heaters[2].active==1
              M106 P1 S1
          else heat.heaters[2].active==0
              M106 P1 S0
          

          The construct should be

          if heat.heaters[2].active==1
              M106 P1 S1
          elif heat.heaters[2].active==0
               M106 P1 S0
          

          However heat.heaters[2].active won't just be zero or 1, it will be whatever the active temp is set to and in the case of a tool heater it could be off and still have a temp set.
          If you're trying to have a fan come on when the heater is active then heat.heaters[].state
          might be better.
          Or use for example

          if heat.heaters[2].current > 40
              M106 P1 S1
          else
               M106 P1 S0
          

          Or just make the fan thermostatically controlled when you define it?

          travaskyundefined 1 Reply Last reply Reply Quote 0
          • travaskyundefined
            travasky @OwenD
            last edited by travasky

            @OwenD
            The goal is to have the chamber fans turn on any time the heating elements are running. Not every filament will require chamber heating so I avoided the thermostatic control because I don't want the fans to kick on as the chamber naturally heats from the bed.

            I tried the heat.heaters[2].state but I couldnt figure out what to put afterwards. Based on what I read in the object model docs I put heat.heaters[2].state==active but it didnt like "active". Any advice? The coding side of things isn't my strong suit.

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

              @travasky said in 3.5 rc4 illegal parameter letter Error in Daemon.G:

              @OwenD
              The goal is to have the chamber fans turn on any time the heating elements are running. Not every filament will require chamber heating so I avoided the thermostatic control because I don't want the fans to kick on as the chamber naturally heats from the bed.

              I tried the heat.heaters[2].state but I couldnt figure out what to put afterwards. Based on what I read in the object model docs I put heat.heaters[2].state==active but it didnt like "active". Any advice? The coding side of things isn't my strong suit.

              Try
              heat.heaters[2].state="active"

              I'm not near a pc at present.

              travaskyundefined 1 Reply Last reply Reply Quote 0
              • travaskyundefined
                travasky @dc42
                last edited by

                @dc42 Here's the file.
                daemon.g

                1 Reply Last reply Reply Quote 0
                • travaskyundefined
                  travasky @OwenD
                  last edited by

                  @OwenD
                  That worked. Funnily enough, I swear I tried that exact same format once before. In any case, thank you for the time to make the suggestion. All in all I think that solves the functionality issue, but still the formatting error is something @dc42 can look into in case its affecting others as well.

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