Magic Lantern Forum

Developing Magic Lantern => Feature Requests => Topic started by: Marsu42 on February 09, 2014, 06:34:38 PM

Title: Backend for custom back lcd visual feedback
Post by: Marsu42 on February 09, 2014, 06:34:38 PM
Adding to my all-time favorite requests (submenus (nearly done) and array variables in modules) here's a new one:

For the auto_iso module and other features, I'd like to give non-audio feedback. The latter is limited to max. 2 beeps with varying frequencies and the audio on 6d is also very quit so it's often no good.

What I have in mind is about what Canon does on the newer Cameras with the subitems in the Q menu -  some large-print text and probably scale on the LCD w/o entering the ML or Canon menu.

One example would be to print the selected min. shutter/aperture from the auto_iso module, but I'm sure there are tons of other applications for visual back lcd feedback ... unfortunately, we cannot control the vf or top lcd, so that's the only option left.
Title: Re: Backend for custom back lcd visual feedback
Post by: a1ex on February 09, 2014, 07:24:10 PM
I'm not sure I understood it correctly:

- Large fonts with duplicate pixels are very easy (but they will look blocky). Without duplicate pixels, they would eat too much RAM for my taste.
- Scale on the LCD... what's this?

Sounds somewhat related to the NotifyBox facelift proposed by g3gg0 here: http://www.magiclantern.fm/forum/index.php?topic=9625.msg99329#msg99329

LCD backlight might also be interesting.
Title: Re: Backend for custom back lcd visual feedback
Post by: Marsu42 on February 11, 2014, 07:34:05 AM
- Large fonts with duplicate pixels are very easy (but they will look blocky). Without duplicate pixels, they would eat too much RAM for my taste.

I have no clue about the coding side (yet), but the sense of this is that you can see whatever is displayed on the back lcd from a bit away, say if you hold the camera at hip position and look down standing ... the standard ML font is way too small for that.

- Scale on the LCD... what's this?

Ah, you ol' 5d3 owners don't know that :-p ... it's new on 6d/70d for setting iso via Q menu, it's not the iso select boxes of old, but a linear scale you can move left and right ... same functionality, other visuals than plain text.

Sounds somewhat related to the NotifyBox facelift proposed by g3gg0 here

Yes, indeed, though what I want is NotifyBoxLCD(...) that turns on the back lcd, draws some large text/visual feedback and turns off the lcd again after a while so we can have ml feedback in photo mode w/o using the inaccessible vf or top lcd.
Title: Re: Backend for custom back lcd visual feedback
Post by: dmilligan on February 11, 2014, 04:47:21 PM
Yes, indeed, though what I want is NotifyBoxLCD(...) that turns on the back lcd, draws some large text/visual feedback and turns off the lcd again after a while so we can have ml feedback in photo mode w/o using the inaccessible vf or top lcd.

Code: [Select]
#define NotifyBoxLCD(time, ...) \
display_on(); \
NotifyBox(time, __VA_ARGS__); \
msleep(time); \
display_off()
Title: Re: Backend for custom back lcd visual feedback
Post by: nanomad on February 11, 2014, 07:32:34 PM
 you should save and restore the lcd state instead. No need to turn LCD off if it was on in the first place
Title: Re: Backend for custom back lcd visual feedback
Post by: dmilligan on February 11, 2014, 08:03:20 PM
right I know, I was just trying to make a point

"that turns on the back lcd" => display_on()
"draws some large text/visual feedback" => NotifyBox()
"again after a while" => msleep()
"turns off the lcd" => display_off()
Title: Re: Backend for custom back lcd visual feedback
Post by: Marsu42 on February 11, 2014, 09:31:22 PM
you should save and restore the lcd state instead. No need to turn LCD off if it was on in the first place

For those simple devs who don't know, could you please amend dmilligan's macro with the save & restore lcd state or - if too complex - turn it into a function? I'll try it then, though if it prints in the small ml font I guess it'll be too small to see from a bit of a distance.
Title: Re: Backend for custom back lcd visual feedback
Post by: Marsu42 on February 15, 2014, 08:22:29 PM
right I know, I was just trying to make a point
"that turns on the back lcd" => display_on()
"draws some large text/visual feedback" => NotifyBox()
"again after a while" => msleep()
"turns off the lcd" => display_off()

* This doesn't work - it only pops up the message for a blink of an eye, no matter how many time the NotifyBox() has and how many many msleep() I put anywhere :-( ... does anyone know what the problem is?

* As predicted, the ML font is too small to give an adequate feedback - is there some function available that prints in the default Canon font or larger?

Thanks!

Title: Re: Backend for custom back lcd visual feedback
Post by: a1ex on February 15, 2014, 08:26:15 PM
bmp_printf(FONT_CANON, "blahblah")