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

    Music skipping beats after firmware update (3.4.0beta6)

    Scheduled Pinned Locked Moved Solved
    Tuning and tweaking
    10
    28
    2.1k
    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.
    • Baenwortundefined
      Baenwort @dc42
      last edited by

      @dc42 said in Music skipping beats after firmware update (3.4.0beta6):

      @o_lampe said in Music skipping beats after firmware update (3.4.0beta6):

      @gtaman
      Downside is, that it totally blocks Daemon.g for other purposes.
      Would be cool to block it only while playing the sound.
      Any ideas? Renaming the original file and replace it with Davids two-liner and back again?

      @o_lampe said in Music skipping beats after firmware update (3.4.0beta6):

      @gtaman
      Downside is, that it totally blocks Daemon.g for other purposes.
      Would be cool to block it only while playing the sound.
      Any ideas? Renaming the original file and replace it with Davids two-liner and back again?

      If you already have a daemon.g file that is coded as a while loop so that it never terminates under normal conditions, and it spends most of its time in G4 delay calls, then you may not have the original problem anyway. The reason that not having a daemon.g file causes interruptions to timed tasks such as playing tunes is that every 10 seconds RRF will try to open daemon.g if it is not already open; and trying to open a non-existent file on the SD card requires the whole directory to be searched, which may require several sector transfers.

      Of course you could also choose to have daemon.g play the tune, triggered when it sees a global variable change state.

      Is it enough to have a blank daemon.g or does it need contents?

      o_lampeundefined dc42undefined 2 Replies Last reply Reply Quote 0
      • o_lampeundefined
        o_lampe @Baenwort
        last edited by o_lampe

        @baenwort said in Music skipping beats after firmware update (3.4.0beta6):

        Is it enough to have a blank daemon.g or does it need contents?

        You could add something like the below lines in your Daemon.g (empty or not) to have a controlable looptime.
        Set a low value when you need faster processing or higher, when you don't.

        while  true
                //do other things
               ....
                G4 S{global.DaemonLoopSpeed}
        
        Baenwortundefined 1 Reply Last reply Reply Quote 0
        • dc42undefined
          dc42 administrators @Baenwort
          last edited by

          @baenwort said in Music skipping beats after firmware update (3.4.0beta6):

          Is it enough to have a blank daemon.g or does it need contents?

          It need to have a loop with a delay call in the body.

          I have it in mind to add a new GCode command to start/stop daemon.g.

          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

          DonStaufferundefined 1 Reply Last reply Reply Quote 1
          • nikschaundefined
            nikscha @gtaman
            last edited by

            @gtaman would you mind sharing your gcode music collection?

            Stay in school

            gtamanundefined 1 Reply Last reply Reply Quote 0
            • gtamanundefined
              gtaman @nikscha
              last edited by gtaman

              @nikscha
              Here is my favourite in the code text below. I just found it, and i've been imagining it for weeks I tell you, WEEKS! Its the commodore 64 tribute from GTA Vice city. I think I'm going to use this for my main sound. Also, this thread had a bunch I shared earlier:
              https://forum.duet3d.com/topic/26269/sound-for-duet?_=1639741054776

              Also Don't be scared to make your own:
              https://alexyu132.github.io/midi-m300/ -tool
              https://www.vgmusic.com -midi music
              https://bitmidi.com/ -midi music
              There are Mp3 to midi converters too, but i havent found a good one

              code_text
              M300 P161 S370
              G4 P161
              M300 P166 S0
              G4 P166
              M300 P161 S370
              G4 P161
              M300 P166 S0
              G4 P166
              M300 P161 S370
              G4 P161
              M300 P166 S0
              G4 P166
              M300 P163 S330
              G4 P163
              M300 P163 S370
              G4 P163
              M300 P163 S440
              G4 P163
              M300 P161 S370
              G4 P161
              M300 P166 S0
              G4 P166
              M300 P163 S330
              G4 P163
              M300 P487 S370
              G4 P487
              M300 P166 S0
              G4 P166
              M300 P161 S294
              G4 P161
              M300 P166 S0
              G4 P166
              M300 P161 S294
              G4 P161
              M300 P166 S0
              G4 P166
              M300 P163 S294
              G4 P163
              M300 P161 S277
              G4 P161
              M300 P166 S0
              G4 P166
              M300 P161 S277
              G4 P161
              M300 P166 S0
              G4 P166
              M300 P163 S277
              G4 P163
              M300 P327 S330
              G4 P327
              M300 P327 S349
              G4 P327
              M300 P1000 S370
              G4 P654
              
              
              1 Reply Last reply Reply Quote 1
              • Baenwortundefined
                Baenwort @o_lampe
                last edited by

                @o_lampe said in Music skipping beats after firmware update (3.4.0beta6):

                @baenwort said in Music skipping beats after firmware update (3.4.0beta6):

                Is it enough to have a blank daemon.g or does it need contents?

                You could add something like the below lines in your Daemon.g (empty or not) to have a controlable looptime.
                Set a low value when you need faster processing or higher, when you don't.

                while  true
                        //do other things
                       ....
                        G4 S{global.DaemonLoopSpeed}
                

                So I tried exactly that (but with {global.DaemonLoopSpeed} replaced by a 1 as I didn't want to add a variable in my configuration.g) and the DWC is not unresponsive.

                I'm going to pull the printer apart to get the mSDCard out once I get the kids in bed tonight.

                I presume that even though you put it in code blocks that I shouldn't have used it exactly as you wrote it?

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

                  @baenwort said in Music skipping beats after firmware update (3.4.0beta6):

                  DWC is not unresponsive.

                  I believe, you wanted to say "now unresponsive"?
                  IMHO, a one second loop time for daemon.g shouldn't be too short, but there's a reason why they set the default loop time to ten seconds...

                  With a global variable, you wouldn't have to pull the SD-card. Maybe you can overwrite daemon.g by replacing it through DWC download instead of editing the file?
                  I recommend trying it with variable loop time until you figured out the best setting.

                  1 Reply Last reply Reply Quote 0
                  • DonStaufferundefined
                    DonStauffer @dc42
                    last edited by

                    @dc42 Unfortunately, adding a daemon.g file with a loop didn't fix it for me. I have a music macro called from my S3D ending script. If I run the macro while no job is running it works fine. But almost always, at the end of a print, the third note doesn't sound. Not a big deal, but I don't know why it does this.

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