Announcement

Collapse
No announcement yet.

The S Language of MECHA explained

Collapse
This is a sticky topic.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • The S Language of MECHA explained

    This is a placeholder new/page will refer to, then will be included in Help page of UI and in the upcoming guide.
    Here will be explained how to make a script for your desired pattern of shooting.
    It will require the FW C1E_02054 or recent


    The s language is oriented toward Shots, it can be used for both Single MECHA or MECHA Dual Axis Combo ( MECHA DAC ) or DAC for short.

    To be used is need to select [Scripted] in Row page of UI

    Click image for larger version  Name:	S_Lang_01.png Views:	0 Size:	20.6 KB ID:	31379

    It starts with the initial position of MECHA, in case of DAC we have commonly 3 possible start positions

    Click image for larger version  Name:	DAC_Positions_Forum.png Views:	0 Size:	127.2 KB ID:	31380

    There are couple of conventions in S language, the most important are
    _ refers to H MECHA 1 LED is ON when paired
    and
    = refers to V MECHA, 2 LEDs are ON when paired.

    Click image for larger version  Name:	DAC_Paired.png Views:	0 Size:	73.9 KB ID:	31381


    So to speccify a start position of V MECHA as Parked the language will start with
    S=90,

    if the start position is Raised will be
    S=-90,

    for the Level position will be S=0, or S=,
    S=0, or S=,

    Suppose we want to script a panorama starting from Parked position, made out of 12 photos around, 3 rows at + - 45 deg + Zenith and Nadir

    After starting position, we need to specify the first position
    like
    1=0_0,
    1 mean 1 photo after start, =0 means V MECHA is at 0 deg. and _0 means H MECHA is at 0 deg from start
    so, assuming parked position our script grows in

    S=90, 1=0_0,


    Then we need to think how we want MECHAs to move, as we want 12 photos around, each will be 30 deg apart from the previous one
    so the next position will be with only H MECHA rotated 30 deg, while V MECHA will stay at the same level.
    we can write that as 1=0_30, but S language allows aslo this compact form instead =_30,
    by skipping (1) in 1=when is about the next photo and use = follow by noting means no changes for V MECHA
    so the script grows in

    S=90, 1=0_0, =_30,

    The movement for panorama will continue by changing only H MECHA rotation another 10 photos then at 11th photo something changes, V MECHA should rotate up 45 deg, so we need to add 11=45, making the script

    S=90, 1=0_0, =_30, 11=45,

    then 11 positions will continue in the same manner and at the 12th photo the V MECHA should rotate to down 45 (-45)
    so we need to add 12=-45, to script and it becomes

    S=90, 1=0_0, =_30, 11=45, 12=-45,

    as for the previous row, things goes the same for another 11 photos and at the 12th photo V MECHA need to rotate
    at -90 which is the position for Nadir, so we need to add 12=-90, and the script becomes

    S=90, 1=0_0, =_30, 11=45, 12=-45, 12=-90,

    Finally we only need another position for Zenith photo which is at 0 deg H MECHA apart from the Nadir so we need to add =90_0, _0 tells that is at 0 deg apart from the previous one, so the script is now

    S=90, 1=0_0, =_30, 11=45, 12=-45, 12=-90, =90_0,

    to terminate the script we can add = now, in other situations can be left without so our final script is

    S=90, 1=0_0, =_30, 11=45, 12=-45, 12=-90, =90_0, =

    which you can see in the above image as well.

    Just a side note, the script allows to have
    certain portions in a loop for less text to be entered, especially in the case of gigapixel panoramas,
    will be exemplified with an gigapixel example, later.

    To launch this panorama is need to click on either [RIGHT] or [LEFT] and at the number of shots need to be 38 entered via custom.

    In next episode I'll explain how to tell MECHA to wait, or to take extra shoots,on a particular orientation, so on.

    Homework:
    Please modify this script for 8 Shots around on each row.

    (there is a bug in forum, it kick me out after a while so I'll save and edit, from time to time)
    1. Mecha it possible.
    2. Mecha it easy.
    3. Mecha team up.

    4. ..

  • #2
    Homework: 8 shots around for each row
    S=90, 1=0_0, =_45, 7=45, 8=-45, 8=-90, =90_0, =

    kind regards
    Frank

    Comment


    • #3
      Congrats! well deserved A+

      And as we have 26 photos we also need to change [ 38 Shots ] to [ 26 Shots ]

      A mix of two will be having the middle row made out of 12 photos the
      other two from 8 photos so

      starting from
      S=90, 1=0_0, =_30, 11=45, 12=-45, 12=-90, =90_0, =
      we need to change a bit the part after 11=45,

      by saying that from then on the next position will be at 45 deg. H MECHA
      apart instead of the previous 30 in effect
      =_45, and the next change will be after another 7 positions
      7=-45, will tell, as before, -45 deg for V MECHA

      so we'll have as result

      [30 Shots] from 1 row of 12 + 2 x 8 + N + Z

      S=90, 1=0_0, =_30, 11=45, =_45, 7=-45, 8=-90, =90_0, =
      1. Mecha it possible.
      2. Mecha it easy.
      3. Mecha team up.

      4. ..

      Comment


      • #4
        Originally posted by DorinDXN View Post
        So to speccify a start position of V MECHA as Parked the language will start with
        S=90,
        I do not yet fully understand all of the S-language.
        Do I only tell V MECHA, that I placed it manually to the parked position or will "S=90" move the V MECHA to this start position?

        Originally posted by DorinDXN View Post
        The movement for panorama will continue by changing only H MECHA rotation another 10 photos then at 11th photo something changes, V MECHA should rotate up 45 deg, so we need to add 11=45, making the script

        S=90, 1=0_0, =_30, 11=45,
        S=90: I assume, we brought the V MECHA manually to parked position (it's not done by the script, right?)

        1=0_0: One photo will be taken in level position?
        =_30, 11=45, I do not understand what exactly happens here. Why does H Mecha "know" to move 11? times by 30 degrees.

        common question:
        Are the degree values to be given as absolutely value or are this relativ values with regard to the position before?

        Originally posted by DorinDXN View Post
        Finally we only need another position for Zenith photo which is at 0 deg H MECHA apart from the Nadir so we need to add =90_0, _0 tells that is at 0 deg apart from the previous one, so the script is now

        S=90, 1=0_0, =_30, 11=45, 12=-45, 12=-90, =90_0,
        I just run this script (without camera) and also entered 38 shots. It didn't finish with the Zenit shot, but with the Nadier shot. Am I doing something wrong?

        Why do I have to enter the total amount of shots taken? Is that not inherent in the script itself?

        Frank

        P.S.: I'm really wanting to learn the s-language even I'm not a programmer. But it will give me the flexibility to program my panoramas as I want them to be shot.

        Comment


        • #5
          E1 has no home sensor, so you need to tell by that in which position V MECHA is

          1=0_0,
          is first position, at level, whether MECHA has to move or not to that, depends on the start position (Parked, Level,..)
          at the next position after 1, is at 30 deg and will be so until another segment of code will change it,
          11=45, says that at the 11th position from that only V MECHA value changes, then after another 12 again only V MECHA value changes,

          V MECHA values can be both absolute and relative, =30 mean absolute 30, while =^30 mean another 30 from current position.

          H MECHA values are are actually segments relative from the previous one,

          both can be negative values

          The number of shoots can be larger than the script covers,
          then the script is more like an intro,
          eg. time-lapse panoramas with common upper part and lower part then scripts ends with middle part, you can set the number of shots to 1000000 put the middle part in a loop at the end of the script including a pause of 10 minutes, so only the middle part will repeat at 10 minutes apart until either reach 1000000 or you stop it, instead you can have whole panorama repeat but lower and upper part can be not much changed, e.g. Metro station, so on..
          or can be lesss, for just a part of the script, testing, so on..

          ------8<--------------------
          I just run this script (without camera) and also entered 38 shots. It didn't finish with the Zenit shot, but with the Nadier shot. Am I doing something wrong?
          ------8<-------------------
          Please check if the V MECHA was in parked position at start and if the scrips ends with =
          1. Mecha it possible.
          2. Mecha it easy.
          3. Mecha team up.

          4. ..

          Comment


          • #6
            Originally posted by DorinDXN View Post

            ------8<--------------------
            I just run this script (without camera) and also entered 38 shots. It didn't finish with the Zenit shot, but with the Nadier shot. Am I doing something wrong?
            ------8<-------------------
            Please check if the V MECHA was in parked position at start and if the scrips ends with =
            Thank you,

            yes, V MECHA was in parked positon and script ended with =.

            I entered 39 shots, than the Zenith shot was done.
            But: I also changed the script to only 4 shots around in 3 rows + Nadir and Zenith. This worked with 14 shots entered.

            S=90, 1=0_0, =_90, 3=45, 8=-45, 8=-90, =90_0,=

            P.S.: "=" is a bit of pain to add in the script window as you need to change the android keyboard one more time to show the "=". Could this be changed to ":" in the s-language? IF ":" is not already used for another command.

            Comment


            • #7
              Assuming I could enter indefintely number of shots:

              would that s-language rotate the camera horizontally in level position "forever" (until the battery runs out of power) in 30 degree steps?

              S=0, _30

              Frank

              Comment


              • #8
                Yes, with

                S=0, _30,

                You can have two high a power banks and swap them charged at 24 hours and will take panoramas forever.

                You have to attach though the power bank on lower rail to not have cable issues,
                if attached on tripod you can add a sequence of code to "rewind" and may be need to use some loop in code, for simple panorama the repeat function may be better suited, but anyways can be done in a way or another depending on case.

                1. Mecha it possible.
                2. Mecha it easy.
                3. Mecha team up.

                4. ..

                Comment


                • #9
                  Tested

                  S=90, 1=0_0, =_30, 11=45, 12=-45, 12=-90, =90_0, =

                  and works OK with 38 photos.
                  1. Mecha it possible.
                  2. Mecha it easy.
                  3. Mecha team up.

                  4. ..

                  Comment


                  • #10
                    Originally posted by FrankD View Post
                    P.S.: "=" is a bit of pain to add in the script window as you need to change the android keyboard one more time to show the "=". Could this be changed to ":" in the s-language? IF ":" is not already used for another command.
                    In the FW update tomorrow will be possible to enter :: instead of =, single : is already used for pause.
                    1. Mecha it possible.
                    2. Mecha it easy.
                    3. Mecha team up.

                    4. ..

                    Comment


                    • #11
                      = is available by long press x on my samsung keyboard. should be similar for other keyboards.
                      one can also copy = in clipboard and just paste. will :: be error prone with double or triple entry?

                      Fanotec
                      We listen. We try harder.

                      Comment


                      • #12
                        :: will be optional, just when enter from numeric keyboard, also will be immediate replaced with = and visible in the text of the script.

                        Some phones also have = in numeric keyboard in the top row, like Samsung Galaxy 9.
                        1. Mecha it possible.
                        2. Mecha it easy.
                        3. Mecha team up.

                        4. ..

                        Comment


                        • #13
                          Originally posted by DorinDXN View Post
                          Tested

                          S=90, 1=0_0, =_30, 11=45, 12=-45, 12=-90, =90_0, =

                          and works OK with 38 photos.
                          That is really strange.
                          Can you spot from my screenshot and/or video, why my setup is finishing after 37 shots?


                          The two videos from camera filming the MECHAs and the screen recording do not match exactly due to different framerates.

                          Click image for larger version  Name:	38shot script.PNG Views:	0 Size:	355.2 KB ID:	31449

                          kind regards
                          Frank

                          Comment


                          • #14
                            Please change [Rewind] in [Wait]. S Language doesn't know to treat yet "Rewind"

                            I introduced this branch of S Language recently, is beta, some features are not implemented
                            e.g. you can see in top left always 0.000 instead of real degree position, that is only when this kind of script is used, and
                            that keeps "Rewind" from working properly as MECHA thinks it as 0.000, just the absolute position is not computed yet.
                            Using 39 Shots, moves the MECHA lack of proper information one shot after, and that result in 38 shots done.

                            Thanks for the video and feedback, I really appreciate it.
                            1. Mecha it possible.
                            2. Mecha it easy.
                            3. Mecha team up.

                            4. ..

                            Comment


                            • #15
                              Originally posted by DorinDXN View Post

                              In the FW update tomorrow will be possible to enter :: instead of =, single : is already used for pause.
                              It is now in the latest FW update, along with the new single button press automatic pairing and others.

                              Back to S Language and the latest FW version

                              Easter egg, or maybe easter orange ;)

                              Camera in Parking position, say 5 [Shots]

                              S=90,1=0*65_,=0*0.18R-65_4R2880,=0*9R90_,=

                              the new is
                              0* means no photo there, wait!.. no photos? you'll see.. :)

                              0.18R and 4R values for speed for RPM
                              1. Mecha it possible.
                              2. Mecha it easy.
                              3. Mecha team up.

                              4. ..

                              Comment

                              Working...
                              X