ghtalpo / py_amazfit_tools

pack/unpack .bin for amazfit verge lite/gtr/gts
55 stars 53 forks source link

GTR Spring Festival (Limited time) #23

Closed dpeddi closed 3 years ago

dpeddi commented 4 years ago

Hi Ghtalpo,

this new face introduces new structure.. "https://store-cdn.huami.com/market_app/20200109/382057225cafa13aad367d7eaa869dd8.bin"

this introduce supports for animations in fw 1.3.5.37

my current array implementation in buggy with this new structure :-( i have no idea yet about how to implements the preview animations :-(

feel free to do your considerations

watchface.py:

from watchFaceParser.elements.unknownType11 import UnknownType11
[...]
        11: { 'Name': 'Unknown11', 'Type': UnknownType11},

elements/unknownType11.py :

from watchFaceParser.elements.timeElements.twoDigits import TwoDigits
from watchFaceParser.elements.unknown11Elements.unknownType11d1 import UnknownType11d1
from watchFaceParser.elements.unknown11Elements.unknownType11d2 import UnknownType11d2

class UnknownType11:
    definitions = {
        1: { 'Name': 'Unknown11_1', 'Type': [UnknownType11d1]}, #x/y coordinate moving??
        2: { 'Name': 'Unknown11_2', 'Type': UnknownType11d2}, # animation??
    }

elements/unknown11Elements/unknownType11d1.py:

from watchFaceParser.elements.basicElements.coordinates import Coordinates

class UnknownType11d1:
    definitions = {
        1: { 'Name': 'Unknown11d1p1', 'Type': 'long'},
        2: { 'Name': 'Unknown11d1p2', 'Type': Coordinates}, #start position
        3: { 'Name': 'Unknown11d1p3', 'Type': Coordinates}, #end position
        4: { 'Name': 'ImageIndex', 'Type': 'long'},
        5: { 'Name': 'Unknown11d1p5', 'Type': 'long'},  #maybe period
        6: { 'Name': 'Unknown11d1p6', 'Type': 'long'},
        7: { 'Name': 'Unknown11d1p7', 'Type': 'long'},
        8: { 'Name': 'Unknown11d1p8', 'Type': 'long'}, #maybe y increment
        9: { 'Name': 'Unknown11d1p9', 'Type': 'long'},
        10: { 'Name': 'Unknown11d1p10', 'Type': 'long'},
    }

elements/unknown11Elements/unknownType11d2.py:

from watchFaceParser.elements.basicElements.imageSet import ImageSet
from watchFaceParser.elements.basicElements.coordinates import Coordinates

class UnknownType11d2:
    definitions = {
        1: { 'Name': 'Unknown11d2p1', 'Type': ImageSet},
        2: { 'Name': 'Unknown11d2p2', 'Type': 'long'}, #sleep between images
        3: { 'Name': 'Unknown11d2p3', 'Type': 'long'}, #???
        4: { 'Name': 'Unknown11d2p4', 'Type': 'long'}, #????
        5: { 'Name': 'Unknown11d2p5', 'Type': 'long'}, #pause between loop??
}
ghtalpo commented 4 years ago

Currently, I'm fixing preview for RainbowCircle. I'll check this later.

BTW, I'm envy or you GTR guys for many new features. :-(

dpeddi commented 4 years ago

I should already that code... I plan to push on my repo within some days.

What about to create a new one or use my amazfitbip organization and cooperate on the same code base?

dpeddi commented 4 years ago

https://github.com/amazfitbip/py_amazfit_tools/releases/tag/v0.2-beta