BL Heli 32.83 Beta Startup Music Issues on Tekko32 F4 Metal 65A ESC
So I had to swap ESCs on my build because I accidentally killed my previous one from water damage. I swapped to the Tekko32 F4 Metal 65A Esc. Since I swapped ESCs, I updated the Tekko32 ESC to 32.83 Beta firmware because the firmware on it didn't like my startup music (default firmware was 32.8, so it didn't like certain notes for whatever reason). After updating, I ran into 2 separate music issues.
For reference, here are my current settings for the ESC:

Bugs
-
Desynced Startup Music The music is desynced from startup, and the ESCs are out of sync when starting up. You can hear the difference in the final tone startup timing here: https://youtu.be/ZGDJfxZDc18 Here's proof that the ESCs actually do boot up in sync without music: https://youtu.be/OGq1Y0TRrJE The music I'm using is something I translated and you can find the notes on the video. I've double checked the timings and everything should be lining up. I don't know why it isn't.
-
Improper Startup Music Timing The music timing is COMPLETELY off to what it should be, and off from what the preview indicates. This is what it is now, with improper timing on Bl Heli 32.83: https://youtu.be/RvEsJ1Qvz10 This is what it should be, on my previous ESC on some version of Bl Heli BEFORE 32.83: https://youtu.be/qO94i_EnIlY This is for a different song that I also translated on my own. You can find the notes for it on the video.
Other Notes:
- Yes, I've tried flashing back to the original 32.8 firmware that came on the ESC. It still doesn't like certain notes and changes them to D notes which butchers the music.
- There is no 32.82 version of the Tekko32 F4 firmware of the specific G variant.
- Reflashing the 32.83 beta firmware didn't do anything. And since it's Beta, I'd figured I'd report the issue.
- If you need any more information about my setup or whatever, let me know. I'm trying to provide as much information as needed.
Thank you for the very good and detailed bug report! We did a fix for music in 32.8.2. For the very fast 148MHz MCUs, some notes became longer than the allocated 16bits timer could handle. So we increased the prescaler of the timer for these notes. But when changing the timer prescaler, it turns out we also need to issue a forced update event to it. This is done in the tetcode here: https://github.com/bitdump/BLHeli/tree/master/BLHeli_32%20ARM/Music%20fix%20testcode So hopefully this code now plays the music right :).
When it comes to desync of music start, there is really nothing we can do in the code. It can be related to variations in how fast the MCU hardware starts up. Or how fast it runs. MCUs are only clocked by RC oscillators (no xtal), and the oscillator tolerance is a few percent.