reticulatedpines / magiclantern_simplified

A Git based version of Magic Lantern, for those unwilling or unable to work using Mercurial. The vast majority of branches have been removed, with those thought to be important brought in individually and merged.
GNU General Public License v2.0
147 stars 51 forks source link

D678: Appending ML version name to firmware version does not work #34

Open kitor opened 2 years ago

kitor commented 2 years ago

On D6 and up additional_version doesn't work properly. We point this at \n in char buffer that contains firmware version in RAM. However Canon code leaves there 1.0.0 on boot and updates that slightly later in boot process, I'm not sure where.

Address is correct, however our code needs to wait for the value to be updated, or we need to find a better way to update the string.

reticulatedpines commented 2 years ago

One-shot task with a delay seems an obvious approach (unless Canon repeatedly overwrites it?).

kitor commented 2 years ago

Yep, that's one of the possible answers. In early days, when you accidentally left the huge msleep in startup code - existing solution was working properly.

The only issue with that approach is when you boot with "set" button pressed (with the promise we don't load ML, but really we still do a thing or two) we still would need to run that task to update the string.

reticulatedpines commented 2 years ago

I'd have thought it was more intuitive to not update the string if "set" has minimised ML functionality. Does it matter that much which happens?