Solved Music skipping beats after firmware update (3.4.0beta6)
-
Hey everyone, I've been keeping myself busy by converting midi files to M300 so my printer can play them. After creating a playlist, I decided to update my board's software for the kicks. I upgraded from V2.something to 3.4.0beta6. I finally got it configured, but my music macros sound terrible now. It sounds fine for a couple seconds, and then it skips a couple notes before it sounds good again. I think the printer is doing other things in the background related to the new firmware while it plays the music. Is there any way to make it focus on the macro? Maybe a way to disable resource heavy functions such as networking for a bit? Could this be fixed in a update, or will it get worse as the updates get bigger and take up more space?
Thank you,
-RobertP.S. Worst part is, The printer prints better than ever now -_- Can't decide if I want print quality or Mario 64 music For a little beeper speaker, it did sound pretty good.
-
@gtaman Seriously? You want your 3D printer hardware and firmware to focus more on playing music than other tasks?
-
@deckingman The last part was a joke, but I did prefer when it could do both. I haven't updated my Panel due yet, maybe that would solve it, but at the same time I don't want to get stuck even further into the upgrade. The only reason I wanted to upgrade was for the custom boot logo lol. Everything worked fine before Oh i guess heated chamber support too.
Besides, it is a cool feature. It just got pushed to the side by the other heavy lifting. Sure It can still do a jingle, but what if I want to hear Beethoven's symphony when my print is done lol. But yes, If there was a way to halt everything until a macro is finished, that would be cool. Something like an interrupt?
Oh, and I saw your 6 input hotend earlier, that thing is cool
-
@gtaman it could be the daemon process that is interrupting the music. If you have no daemon.g file in /sys, try creating one containing this:
while true G4 S1000
-
@dc42
That totally fixed it!
Thank you very much, You are a genius.I never thought i'd be dancing to a printer, but here I am xD
Works even better than before. -
-
-
-
-
@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 maybe add a variable thats turned on at the beginning of the macro and then off at the end?
-
@jay_s_uk
Yes, replace the while true line with a real boolean variable -
Hmm, I don't think I've used Daemon.g, so I don't even know what it does. I'll have to look more into it. Both of those ideas seem good though
-
@gtaman
It's actually the same:- create a global variable blockDaemon
- set global.blockDaemon = true at the start of the M300 file
- set global.blockDaemon = false at the end
Then anyone using Daemon.g for real can add these lines
while global.blockDaemon = true G4 S1000
-
@o_lampe Nice! I saved it and I’ll try it out tomorrow. Heading to bed now, Have a good one!
-
@gtaman said in Music skipping beats after firmware update (3.4.0beta6):
I don't think I've used Daemon.g, so I don't even know what it does
I does what your imagination (and the conditional meta commands) are capable off.
It could run a playlist for instance -
@gtaman I noticed the same thing.
-
Anybody have a good source for a bill receptor (if that's what it is called) ? User feeds it a dollar and in turn it plays a music track. Feed it $5 and get an hour of 3D printing service (or 6 music tracks). Find a pub, arrange to locate the printer and watch the money roll in
Just got to figure out how to deliver the printed part to the customer in such a way that they can't mess up the process. -
... and if it's not obvious, add a smiley face to my last post!
-
But seriously folks, I would love to have the printer play a different jingle for all the major events that require operator attention. Unfortunately my printer is run 99% remotely so I'd never get to hear it
-
@jens55 you just need a bigger speaker
-
@engikeneer .... I am not an engikeneer so I didn't think far enough. Wish I would have finished my degree ...
I am sure the neighbours will also really appreciate the sound tracks !
-
Conveyor bed that automatically ejects prints I've seen it somewhere just not in a public machine. I think the hardest part would be reliability, but it is possible. You could also set it to cancel and kick a job out if the time runs out before the print is done xD I haven't used bill receptors because they're expensive, but I did put a coin selector in a claw machine I built It was just some generic thing from ebay and it works quite well surprisingly.
-
@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.