-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug]: Overheat Issues in 84/89 #354
Comments
In overheat, with fade enabled (which is the default setting), overheat should have them all in sync. However, it would appear that the fix for the seizure-inducing color shifts during fade events has also caused the overheat animation to be out of sync. I'll look into it. For now, since it's overheating which is an error state anyway, this erratic behavior can just be a "feature". But yes, 5.3.3 will have a fix. Along with that ring sim ramp up/down fix that's been on the back burner since 5.3.0. |
Honestly yeah, I could also see it as a malfunctioning thing and doesn't look sloppy at all. |
Should now be fixed in commit ffb493a. |
Just to check back, did that commit actually fix the bug? I still won't be able to test on real hardware until later this month, so if you get a chance to test the new code, it would be appreciated. |
Didn't check, will flash it in a sec |
Looks like it's still present, i'm not sure what would be the regular animation, don't think i ever trigged it. Lights are still blinking out of synch. I can hear two identical overlapping sounds on Overheat end in 89, at 0:06. |
And just to check, when you flashed you flashed from the Arduino IDE and not using the 5.3.2 binary in the |
Still learning the ropes on GitHub, might have used the wrong file, can you link it? |
It actually didn't exist until just now. The new binary is now in the 5.3.3 branch's |
Yes, same as above as for 84 and 89 with the double sound overlap. |
Iiiiiiiiiiinterdasting. I definitely hear the sound overlap but the sound shouldn't have had anything to do with the LEDs. So if that overlap was there, it should've also been there in earlier firmware. Hrm. The alarm code for 84/89 is pretty basic, so I'm not sure why it would be out of sync like that (it literally just sets four timers, one for each lens). I'll take a harder look and try to trace it out. Thanks! |
Sound thing might has been there for a while, I never use the pack in 84-89. Just thought of mentioning it since I just noticed it |
Sound thing was indeed there for a while. I've tracked at least part of it down--it's more obvious in 1989 because the startup sound is so unique. But there's a wand startup version and a pack startup version of that sound, and due to the sequence of serial events between the pack and wand during overheat recovery, the pack both plays its startup and the wand plays its startup (and then commands the pack to play its startup sound too). If you wouldn't mind performing a test for me, that would be helpful. Disable Extra Neutrona Wand Sounds (EEPROM Config Menu Level 1 Option 1 Intensify). Does the weird overlap still happen at the end of overheating in '89, or did disabling Extra Neutrona Wand Sounds solve that part of the issue? |
Will test it out tomorrow |
Looks like it doesn't overlap two sounds with neutrona wand sounds disabled. |
Okay, so it's definitely the thing I found with the wand sound serial calls on restart. I'll get those fixed while I'm in here messing with the cyclotron alarm code. Thanks as always! |
Was finally able to get a bench pack LED setup going. I actually already fixed the sound bug with the wand sounds overlapping after overheat ends, so that's good. The short of it is that the ramps between the four LEDs are not matching up. I can get them to start together easily, but once they're freerunning they go out of sync like when you try to match your turn signal with someone else's car's turn signal. I can see the values going out of alignment via the serial data debug. The thing is...I just don't know why that is happening. I've got some theories on how to tackle it, and now that I have working hardware I'll be able to iterate a lot faster. Hopefully will have this tackled before the weekend's out. Thank you for your patience! |
Glad to hear you finally got the testing hardware! Let me know if I can help in any way. |
This resolves #354 by fixing the out-of-sequence cyclotron LEDs when overheat is in progress in 84/89 year mode.
Okay! I've gotten the out-of-sync animation solved. Or rather, it's solved enough for now. The real problem I'm pretty sure is due to floating point error within the ramp library. It appears that the individual LEDs are not actually ramping at the same speeds despite having the exact same ramp calculation calls. This slight error will still cause the LEDs to be ever-so-slightly out of sync brightness-wise on occasion, but the overall animation itself will remain in sync, so this can be viewed as the type of error you'd see with incandescent bulbs. Namely that two different bulbs may not have the same on/off illumination curves as they heat up and cool down. At least, that's how I'm going to justify not ripping the entire Ramp library out of this thing and rewriting the entire thing right here and now. I've tested this on my bench setup and it looks good, but please do feel free to test. Note that you will of course need to update all of your devices in order to test it out. Here is the folder for 5.3.3 WIP binaries. |
Will test it tomorrow and report back. "Solved enough" is the epitome of programming life. |
Oh right, forgot to mention, but there are of course also new sounds as well, so for SFX to work correctly you'll need to update your SD cards as well. Thank you as always for reporting these bugs! Every bug reported makes this project that much better for everyone. |
Looks like somewhat resolved, although it's not so regular still. If it is a bulb problem, it's not worth looking into it too much imo. |
Yep, that's how it looks on my end too. I don't think it's actually a bulb problem, I think it's a problem with the Ramp library having floating point imprecision. This isn't a huge deal when you're doing things in a circle, but when you're trying to synchronize four elements at different locations around an LED strip, it becomes a problem. The "bulb problem" comment above was just me justifying the imperfect fade by pointing out that if there were incandescent bulbs rather than LEDs, they might have similar behavior due to manufacturing differences. So yeah, "good enough" for now. When the LED code gets tossed in the garbage bin and replaced come v6 we can come back and figure out a much better way of handling this animation. I already have an idea or two. |
* Fix 84/89 cyclotron overheat This fixes the erratic behavior from the outer cyclotron when overheating in 84/89 mode by asserting a red colour scheme if we are in one of the two colour-shift firing modes, and then only using the special fade code if we are not overheating. * Update pack binary * Fix remote overheat failures Fixes issues where if pack overheating is triggered by the wireless module, it will fail if either the wand is turned off or no wand is connected. * Update DIY_WAND.md Updates several issues with the DIY guide that incorrectly referred to the old Arduino Nano pins when referencing the new Mega2560 Pro Mini board. The new board uses the exact same pinout as the GPStar Wand PCB and should be treated accordingly. * Add GB1 barrel pop SFX Thanks to Graham Starke from the HasLab Ghostbusters Modders group we now have a clean recording of the GB1 rooftop barrel pop sound. * Swap stereo channels for 84 bootup For people who built their pack kits according to the original installation instructions (the majority of users), it was specified that the right channel should be the "main" speaker while the left channel should be the "sub" speaker. In this configuration, the main sound should be in the right channel, not the left. The original file is now 'alt'. * Update voltage detection limits * Implement dynamic standalone mode This change implements the ability to switch the wand to standalone mode dynamically rather than needing to flash a unique binary. To enable standalone mode, bridge the TX and RX pins on the Neutrona Wand board while powering up. * Introducing initial code for the single-shot blaster * Minor fixes Fixes missing definition for the GBFE pack freeze sound, fixes position of volume reset when switching to standalone mode on the wand, minor typo fix * Fix sync light behavior This removes b_sync_light as it was an unnecessary variable, and prevents the top LED from getting stuck in the on state when transitioning to standalone mode. * Update FE brass pack functions Disables cyclotron switch panel LEDs if brass pack sound is running (resolves #358) and makes it so user-set spectral colors will be respected in spectral custom mode with brass pack sound running (resolves #359). * Move pin definitions to defines This changes the constant variables with lowercase names into preprocessor defines with uppercase names. It also clarifies what a few of the previously ambiguous pins actually do. * Update SINGLESHOT.md * Update SINGLESHOT.md * Change inner cyclotron panel to use an ENUM * Adjust color coding for static vs. dynamic panel * Adjust button-smash sounds for GB:FE * Adjust wand button mash for GB:FE * Adjust inner LED panel colors, fix typos This removes unnecessary includes, does proper integer conversion from booleans in Serial.h, and corrects the colors for the year mode selection switch inner cyclotron switch panel. * Adjust mash timeout, separate compile scripts * Update compile_attenuator_esp.sh * Update SINGLESHOT.md * Additional brass pack fixes Fixes Frutto LED panel not remaining off while ramping down which resolves #361 and adds a new brass pack shutdown sound from Aces6469 * Brass pack switch panel updates Updates the brass pack switch panel shutoff functionality to also occur when ribbon cable alarm is active, when overheat is active, and when the button mash freeze lockout is active. * Adjust freeze-up sound with new shutdown segment, add voices for inner panel options * Implement more of the freeze-up effect * Recompile binary * Add missing sound defs to wand * Cleanup wand bargraph code There were a lot of unnecessary calls to the full bargraph reset function and lots of unnecessary explicit multiplier assignments which are better suited to a function dedicated to setting the multiplier. * Fix improper bargraph speed after overheat Moved WAND_ACTION_STATUS update to after the bargraph speed reset function so that said reset function has an opportunity to use the correct variables for recovering from overheating. * Address change to mode for ezButton library * More work on the pack freeze-up for GBFE * Adjusting serial comms to attenuator (for stock wand) * Return smoke prefs when no wand is connected * Adjustments for power detection and display * Rebuild binaries * Text adjustments for UI * Update PowerMeter.h * Change from Amps to Watts for measurements * Update PowerMeter.h * Update PowerMeter.h * Minor text adjustments for UI * Removed some debugs, changed color values for more obvious effect * stl updates * Wand overheating fixes, optimizations Fixes wand idle hum overlap when recovering from overheat, fixes overlapping pack startup sounds when recovering from overheat, makes it so wand bootup sounds will only be sent if the pack is not already playing its own bootup sound, fixes wand function names to more accurately describe what they do, cleaned up code relating to overheat an AL/FE startup ramps, removed legacy wand variables from single shot blaster. * updated top dial no numbers fix * Minor timing tweaks * Move overheat into dedicated function This moves the overheating initiator on the pack into a dedicated function rather than having the functionality duplicated across three separate call locations. Likewise it creates a dedicated function for the quick vent start for future extensibility. * Fix pack buttons in web interface This fixes the pack on/off buttons inadvertently ignoring pack state, and fixes the manual vent button not working unless a wand is connected (which is no longer necessary). * Improve 84/89 cyclotron fade effect Extends the fade effect for the 84/89 cyclotron to fade out after one additional movement, which both makes the effect look less jerky and more closely represents how the animation looked in the video game. * Add power notes for Singleshot * Fix 84/89 cyclotron overheat animation This resolves #354 by fixing the out-of-sequence cyclotron LEDs when overheat is in progress in 84/89 year mode. * Rebuild with new Switch library * Fix 84/89 cyclotron in multicolor modes This fixes the seizure-inducing outer cyclotron LEDs in Holiday and Spectral firing modes for good. While there is room for improvement that can come with v6 when the LED code gets overhauled. * Fix powercell sound playing when button mashing This fixes the Afterlife/Frozen Empire powercell SFX still playing during button mash lockout. * Additional fix to AL/FE powercell SFX Additional conditional checks added to Afterlife/Frozen Empire powercell sound. * Fix potential button mash flag issue Makes sure that if we start a button mash sequence on the pack and the pack thinks the wand is firing, we make sure that we reset all the firing-related flags and sounds. * fixed powercell sound effect but * Additional button mash cleanup Prevents noisy overlaps of wand restart sounds in 84/89, makes certain that the button mash restart will always occur even when extra wand sounds are disabled, and cleans up some powercell and button mash checks on the pack. * Recompile wand binaries * Whitespace fix Fixes missing whitespace before braces * fixed quick volume adjustment bug from the wand --------- Co-authored-by: nomakewan <nomakewan@users.noreply.github.com> Co-authored-by: Michael Rajotte <michael.rajotte@gmail.com>
What actions were attempted?
Triggering the overheat sequence while in 84 or 89 modes makes the cyclotron leds go out of synch and go on and off seemely randomly. Eeprom is correctly configured for my 36 frutto leds.
What actually happened?
https://youtu.be/4U4C8m3I3ZY
What was expected?
Should just slow down the rotation animation i guess? Or they should all blink together in synch at least.
Firmware Version
5.3.2
Mode in Use
Super Hero / Video Game
Notable Hardware
9 leds frutto pucks.
Homework Completed
The text was updated successfully, but these errors were encountered: