Nyan cat lost in space badge4/8/2023 Every time I told someone about Nyan Cat, I also mentioned ‘0’ would mute and ‘9’ would resume playback. One thing I thought was interesting: I had programmed a mute button to the app so it’s possible to play the animation without the music. At that point I felt the knowledge seeding stage was complete, and it was time to let the word-of-mouth propagation take over. I think I told roughly one dozen people (some of them in groups) by the time Friday evening’s official kickoff party was done. Saturday morning at the official opening ceremony, I saw a person I didn’t recognize with Nyan Cat running on their badge. I didn’t think that would be enough, so on Friday I walked around telling people about it while the animation was playing on the badge around my neck. By default only people who comb through badge firmware source code will find it. What this meant was that Nyan Cat badge app is now also an unplanned social experiment. It’s not the original intention, but also not the end of the world. So the final badge firmware flashed to every unit distributed to Supercon attendees had Nyan Cat launched via ‘nya’. This was originally intended to be a placeholder and be replaced by something else, but due to time crunch that “something else” never happened. It existed mainly because I felt silly to create a pull request for a feature that was impossible to launch. In my pull request for Nyan Cat to go in the Hackaday Superconference 2018 badge, I included a way to launch it by typing ‘nya’ at the main menu. I might go back and fix these bugs in the future, but they’re not horrendous embarrassments (and Nyan Cat in hyperdrive is pretty hilarious) so I’m content to leave them as-is for now. See and hear cat in hyperdrive for a few seconds before slowing down to normal speed.Push the button again to wake up the badge.Push the power button to put the badge in low power mode.Launch Nyan Cat with 'nya' to see and hear dancing singing pop tart cat. ![]() This second problem can be reproduced by: It only takes a second or two to get back in sync, but in that brief moment we get a comically distorted kitty running and singing at warp speed. As a result, when the badge wakes up, the loops in charge of animation and timing will frantically try to catch up. What this means is that, if the badge is running Nyan Cat when it goes into low power mode, the timer will advance even though the animation & music does not. During this check, the main system timer (running on timer #1) clicks upwards even though the rest of the badge is asleep. Called by timer #5 every 15 milliseconds to check the status of the power button. I believe this is a side effect of loop_badge() in badge.c. It appears that when the badge is asleep, the main timer still advances at some rate. Somewhat related to the above, there’s a problem with timer synchronization upon wake. The badge will go to sleep and need to be awakened for animation to resume. What this means is that Nyan Cat couldn’t just keep running on a badge forever. My life was filled with rows and rows of badges. ![]() So I didn’t have the chance to add code to keep the badge from going to sleep while Nyan Cat is running. I knew this power saving feature was going in but I was busy with badge production. The auto-sleep feature was added after my code was merged into master, shortly before the badges started getting flashed en masse. The first problem was that it does not tell the badge it is running, which is required to prevent automatic power-down. I’m happy with it, even though I found two minor problems with my Nyan Cat app during the weekend. ![]() I had a great time at 2018 Hackaday Superconference and I think Nyan Cat was a success as part of the conference badge.
0 Comments
Leave a Reply.AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |