Park hands coding?

I was on the right track, and one thing I changed seeing your code is the value for min/max. the examples I was drawing from had small numbers but I see you have 1000. So I was thinking that value is seconds, but is it milliseconds? Anyway, I’ve got this plugged into a test hand rotation now:

$#VAR_3#==1?(90+(interpAccel ((#DNOW#-#VAR_3_T#),0,1000,1) * #DWFSS#)): (interpAccel ((#DNOW#-#VAR_3_T#),0,1000,1) *90)$

It starts fixed on 90 as I want, tap action causes smooth sweep to DWFSS as I want, BUT the return starts from 0 and goes clockwise. So now the last piece of the puzzle is to get the second tap to start from the current position in DWFSS and smoothly sweep counter clockwise back to 90.

I can do this:

$#VAR_3#==1?(90+(interpAccel ((#DNOW#-#VAR_3_T#),0,1000,1) * #DWFSS#)): (180-(interpAccel ((#DNOW#-#VAR_3_T#),0,1000,1) *90))$

To get slightly closer. The problem is the starting position for the second half

(180-(interpAccel ((#DNOW#-#VAR_3_T#),0,1000,1) *90))$

the destination (*90) is relative to the starting point. So I have to be able to specify both the start and finish points in fixed terms or the hand will keep rotating. But the start point is always dependent on the current position of DWFSS so if I assign 90 to the destination the start point has to be 180.

I can see what needs to be expressed but I don’t know how to properly express it.

Basically I need my start position to be a static number determined by current second, like X=#Ds# and then for my destination I need to call that value and extrapolate the distance to return to 90

Think this is possible?

oh man, i do not know lol. sorry.

Ok, a few things:

  • There is no “easy” way
  • #DWE# is in seconds, #DNOW# and #VAR_X_T# are in milliseconds
  • In essence there is no difference in the example I gave you, and using interpAccel/Decel. I did the calculation manually, and you get a linear transition, using interpAccel or interpDecel will give you an ease-in or ease-out transition:


(The interpAccelDecel does not work on my fossil)

  • You still need the same things for a transition:

    1. A starting point
    2. An end point
    3. A starting time
    4. An end time
  • There are 4 states:

    1. At 90 degrees
    2. Transition towards #DWFSS#
    3. At #DWFSS#
    4. Transition towards 90 degrees

    This means you need either 4 conditions in one, or you have 2 conditions in 2 elements and set the right element’s opacity to 100 or 0

Yes this is possible, it is what I did in the example I gave you.

Could you share your current draft with inspection on, so we can see exactly what you have now, or, since the example I gave you works in designer, you could try to figure out what part does not work on your watch and see if adjustments can be made (sometimes it is silly things like using or omitting brackets).

1 Like

here is the test, inspection ON

you can see I am using:

$#VAR_3#==1?(90+(interpAccel ((#DNOW#-#VAR_3_T#),0,1000,1) * #DWFSS#)): (180-(interpAccel ((#DNOW#-#VAR_3_T#),0,1000,1) *90))$

and you can also see the issue of the second hand. one reason I didn’t continue to explore your manually calculated lengthy code is because in the end I’ll be replacing any instance of DWFSS with a moonphase code. And I really don’t understand most of what was happening in your example. This shorter method with interpaccel at least makes sense to me and I can figure out the elements that I need to modify.

This code I’m using works just as well with the moonphase code as with DWFSS, but it’s less messy to work this out with DWFSS

Inspection doesn’t seem to work. However, what I see here is, in the left part you use #DWFSS# in your expression, on the right part you use hard coded 180 and 90, so that part will never travel considering the seconds position.
Try:
$#VAR_3#==1?(90+(interpAccel((#DNOW#-#VAR_3_T#),0,1000,1) * #DWFSS#)):(#DWFSS#-(interpAccel((#DNOW#-#VAR_3_T#),0,1000,1) * (#DWFSS#-90)))$

I’m going to try this out in a few moments. I fear what’s going to happen is when going back to 90 it will resume dwfss from there instead of parking. I’ll let you know. If that’s the case though and everything else it’s proper than perhaps a round about solution will be an extra layer that’s permanently parked at 90 and code the opacity to show/hide in conjunction with this one. Hmmm…

Also, I tried everyway I could see to share the draft test face but none of them seemed to give an icon to inspect (it’s definitely enabled). How best to share so you can see it?

Thanks so much for the help! It’s an amazing watch if I’m able to complete it!

I do not have any VAR, so I can only test the true or the false part of the expression seperately, but the 2 #DWFSS# should cancel each other out.
Only thing to keep in mind is, I think from 0 to 15 seconds will travel clockwise and 15 to 60 will travel counter clockwise when parking (and vise versa when returning)
I have no clue if inspect works with drafts at all.

well, good news/bad news. The good news is it does indeed park, which I don’t understand because everything I had tried that included a rotation as the starting point did not park.

I think I’ve figured out a way to share the inspect view:

B Sharp Watches - Tweens Test - watch face for Apple Watch, Samsung Gear S3, Huawei Watch, and more - Facer

update:

this works!: (I don’t know why)

$#VAR_3#==1?(90+(interpAccel((#DNOW#-#VAR_3_T#),0,1000,1) * #DWFSS#)):((#DWFSS#+90)-(interpAccel((#DNOW#-#VAR_3_T#),0,1000,1) * (#DWFSS#)))$

your code worked except (I didn’t finish typing the bad news) when tapped to go back it would jump back 90deg before sweeping back to 90

So I added that 90deg to the starting position. but that brought it back to 180 instead of 90, so I took out the -90 at the destination and it works.

sweet! perseverance for the win!

Couldn’t have gotten there without your help! Huge thanks! Unfortunately if you don’t have premium you won’t be able to check out the completed face :frowning: I don’t either, also don’t have Pro creator but the Montblanc contest face I submitted that didn’t win was placed back into my drafts and the Var layers are still there so I can use it as a template :shushing_face:

Well it was fun to figure out regardless :upside_down_face:

Sorry to say this, but… it’s 90 degrees ahead…back to the drawing board?
I restarted from scratch…
$#VAR_3#==1?(#DWFSS# + (interpAccel((#DNOW#-#VAR_3_T#),0,1000,1) * (90 - #DWFSS#))):(90+(interpAccel((#DNOW#-#VAR_3_T#),0,1000,1) * (#DWFSS# - 90)))$

Really? What I have in the linked demo works perfectly for me in the demo and on both of my watches!

i see:

very strange! No matter how many times or on which device I test it, the present code works perfectly now.

Anyone else mind checking this face and tell me what you see?

When you load the second hand should be at 90deg parked. Tap at 6 o clock to activate the swing to DWFSS, tap again it should swing back to 90deg and park. That’s how it works on my devices.

B Sharp Watches - Tweens Test - watch face for Apple Watch, Samsung Gear S3, Huawei Watch, and more - Facer

1 Like

As far as I know, only the author can send an unpublished face to a watch, so doubt if we can assist.
If I am wrong about this, please enlighten me on how to do so.

In the browser we should all see the same and I concur with @ThaMattie, the hand is 90 degrees / 15 seconds ahead of the PC time.

add a text field with the seconds to that example
and did you try that new expression I gave you?