Ralim / IronOS

Open Source Soldering Iron firmware
https://ralim.github.io/IronOS/
GNU General Public License v3.0
7.24k stars 718 forks source link

Graphics #243

Closed ghost closed 3 years ago

ghost commented 6 years ago

I'm submitting a ...

Insert GIFs instead of static images in the main menu (if possible)

Steps to reproduce:

  1. Access main menu by pressing the nearest button to the micro-USB port

    What are you running:

    • Firmware Version: 2.03
    • PCB Version: 1

    Other information

37154978-eeaa3ef8-22e1-11e8-82bb-28123ecb822337587768-7d93ee62-2b60-11e8-9a42-389b027b97f537587766-7d64a170-2b60-11e8-9805-8b4be83921dd37154976-ee622bd6-22e1-11e8-99d9-0f1afbfd16c337154979-eece8e84-22e1-11e8-8df9-6e1b2591ef95tuono (one time run) spuntaperenne37587837-b3ec2b78-2b60-11e8-9f28-195c6a4a3e8937587838-b41ea72e-2b60-11e8-9286-e806c87a924bcalibperennesaldperennetuono2 (in perpetual running) 37154978-eeaa3ef8-22e1-11e8-82bb-28123ecb822337154977-ee865b0a-22e1-11e8-982d-c979cf0d0d0637155471-7e78c88c-22e3-11e8-8abc-3726245e695137154976-ee622bd6-22e1-11e8-99d9-0f1afbfd16c337154979-eece8e84-22e1-11e8-8df9-6e1b2591ef95tuono (revisited better-looking PNGs)

Mrkvozrout commented 6 years ago

Great effort and interesting request. I just want to say that I personally like the static pictures better, but of course depends on majority or repo owner ;)

JohnEdwa commented 6 years ago

Animated GIFs as a filetype won't work, but if you combine the frames for each animation to a sprite sheet, the animation can be done by drawing a part of the image at a time.

Also, is that supposed to be a Monkey Wrench or Calipers?
Because I've always thought that type of an icon is the wrench, but the animation (and well, calibration/calipers) makes me feel like I've been lied to my whole life.

Ralim commented 6 years ago

@JohnEdwa I think its meant to be Calipers :smile:

I like this idea, there has also been calls for custom idle screens to be supported. I think both of these things are doable, however I would like to first :

  1. Get 2.03 out with bug fixes
  2. Look into #222
  3. Evaluate the left over flash space to pack in extra icons to allow for support for animated icons.

Also I feel most people will want the icons to not animate to make them easier to see and less confusing if your eyesight is poor. Not too sure on that one though.

JohnEdwa commented 6 years ago

Also I feel most people will want the icons to not animate to make them easier to see and less confusing if your eyesight is poor. Not too sure on that one though.

Mmh, one thing that popped to my mind is that they should default to the full icon at the start. With the provided examples, the first few frames of the spanner and sleep animations are almost empty and very similar to each other.

ghost commented 6 years ago

@JohnEdwa I confirm, it's a vernier type caliper, at least in my intention! :smile: Here GIFs with full icon at the start: ZzZchiave(←one time ones) zzzchiave2

Designing icons was not too big of an effort; I'm open to modify styles as many times as needed (absolutely no problem). However, one-time-running icons would probably be a good compromise between static and animated ones.

Ralim commented 6 years ago

At this point in time I'm not going to add animations purely because of flash space concerns showing up. I will hold this issue open so that hopefully this can be added later on :)

playday3008 commented 3 years ago

So, I added intermediate frames, and it will even look like animation, but I don't know how to implement it. https://github.com/playday3008/IronOS/tree/animated-icons and maybe important info, TS100_EN.hex size 98 KB → 99 KB, I guess it's probably nothing

P.S. yep, time to write the code that was asked for 3 years ago

Ralim commented 3 years ago

Hex file increasing is not as much of a concern; if we run out of flash space the CI will fail which will catch this. I believe TS80P is the device with the least flash at the moment.

playday3008 commented 3 years ago

Hex file increasing is not as much of a concern; if we run out of flash space the CI will fail which will catch this. I believe TS80P is the device with the least flash at the moment.

Then what's the problem?

Ralim commented 3 years ago

Check if the changes work for TS80P. At the time this was shelved we had 0 spare flash space. Since then there was a lot of re-work of languages to increase the available flash space. My previous answer on this was from 2018 and as such is related to the state of things in 2018.

playday3008 commented 3 years ago

Well TS80P_EN.hex size 113 KB → 114 KB

Ralim commented 3 years ago

What is the object size that is printed out? Hex size is extremely misleading Or the binary file size?

If you run the build all script do all languages for all 4 irons build ?

playday3008 commented 3 years ago

If you run the build all script do all languages for all 4 irons build ?

Yep image

Or the binary file size?

TS80P_EN.bin size 39.8 KB → 40.1 KB

playday3008 commented 3 years ago

gcc -Os flag magic

Ralim commented 3 years ago

I see no reason not to do it then

playday3008 commented 3 years ago

I see no reason not to do it then

So, I have frames, you have brain, lets go mb

playday3008 commented 3 years ago

I did it, but it needs to be improved

https://user-images.githubusercontent.com/18056374/110496035-654fbf00-80f5-11eb-9d88-a5099631127e.mp4