Closed Ralim closed 2 years ago
@discip Informing you this exists now.
Note: This wont make images you can test yet. But you can test making animations now that the format is figured out.
Going to note; the current IronOS gif looks siick but doesnt encode well :( (Movement isnt great for delta encoding) so we only get first ~6 frames. Wondering if we could try a cutdown one that just does the sort of shine + smoke effect or something?
Anyway... opening door to you asking me a lot of questions now :)
@Ralim
But you can test making animations now that the format is figured out.
User interface
to
3.1. switch bootup logo on/off and
3.2. set duration for the logo?I really hope this does meet your expectations (6 sprites).
Sorry if I got this wrong, but I tried to flash the generated updated IronOS.gif to the Pinecil but without any effect. The miniware.zip only contains the erase files. Is this by design?
@discip
How / what exactly am I supposed to test?
For now I was sorta thinking you might run the python script, as it will output things like Truncating animation after 7 frames as we are out of space
to let you know how much of the logo fitted :)
Is IronOS capable of using the generated animations without being modified? (How else should I test them?)
Not yet, please note the text at the top of this PR. Its next on my todo list, but wanted to figure out this side first
Do you plan to add an entry in the User interface to...
Not currently, if those dont exist as an Issue at IronOS, could you add one?
That gif is what I was thinking :D
Since it has a lower frame to frame change, it can encode nicely, if you look at the action https://github.com/Ralim/IronOS-Meta/runs/5194049535?check_suite_focus=true in the first build logo's run you can see that all the frames fitted (no truncation warning).
So you can add more frames until it starts truncating. The less that changes frame to frame, the more of them you can have (if that makes sense); since they are delta encoded (we only store the difference frame to frame) unless you change the entire frame (then its smaller to store the whole thing).
The miniware.zip only contains the erase files. Is this by design?
Nope, that is a bug still to be fixed
@Ralim
For now I was sorta thinking you might run the python script,
Run it on my machine, or let it run here using actions?
please note the text at the top of this PR.
😅 Was aware of this, but the other phrase confused me a bit:
But you can test making animations ...
Not currently, if those dont exist as an Issue at IronOS, could you add one?
Yes will do. 😊
Are you thinking of any additional options regarding this topic, so I could put them there as well?
So you can add more frames until it starts truncating. The less that changes frame to frame, the more of them you can have (if that makes sense); since they are delta encoded (we only store the difference frame to frame) unless you change the entire frame (then its smaller to store the whole thing).
I am not sure if I got that right, since you are talking about 6 frames and above even 7 max.
Truncating animation after 7 frames as we are out of space
Is Frames the equivalent for sprites (individual pictures)? Does it check the size of the result not exceeding 1024 byte and removes accordingly the files making it to big, or are simply the pictures 7,8,9 ... are ignored?
Run it on my machine, or let it run here using actions?
Either, dont care which :)
Are you thinking of any additional options regarding this topic, so I could put them there as well?
Not that I'm aware of at least
Is Frames the equivalent for sprites (individual pictures)?
Ah, as in frame of the gif, since the give IronOS.gif (for example) was ~20 frames of animation; at 10fps.
The code will measure the fps based off the first frame. Then it looks frame by frame in the animation to calculate what needs to be shown. I think we both are thinking of the same thing, might be language slang for them 😓
Yep, it will pack frames until either the end of the gif or adding the next frame would exceed 1024 bytes.
I think we both are thinking of the same thing, might be language slang for them 😓
Yep, it will pack frames until either the end of the gif or adding the next frame would exceed 1024 bytes.
Than I will definitively test a bit more to get the most out of the IronOS.gif!
@Ralim Should this
Truncating animation after 7 frames as we are out of space
not read
Truncating animation after 6 frames as we are out of space
Would it be hard to print the sum of all the bytes used at the end of the corresponding build?
Found 18 frames, interval 100ms
Frame 1 encoded to 59 bytes
Frame 2 encoded to 155 bytes
Frame 3 encoded to 119 bytes
Frame 4 encoded to 69 bytes
Frame 5 encoded to 57 bytes
Frame 6 encoded to 5 bytes
Frame 7 encoded to 9 bytes
Frame 8 encoded to 9 bytes
Frame 9 encoded to 11 bytes
Frame 10 encoded to 5 bytes
Frame 11 encoded to 9 bytes
Frame 12 encoded to 3 bytes
Frame 13 encoded to 5 bytes
Frame 14 encoded to 5 bytes
Frame 15 encoded to 9 bytes
Frame 16 encoded to 9 bytes
Frame 17 encoded to 11 bytes
here ==> required space xxx bytes
Ah yeah can definitely do that for you
None of the files this branch makes will work in IronOS yet None of the files this branch makes will work in IronOS yet None of the files this branch makes will work in IronOS yet
Please do not expect any files to be usable on a device yet
This is doing a few things:
Todo: