Announcement

Collapse
No announcement yet.

angular gauge requests and gci format

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • angular gauge requests and gci format

    The automatically generated gauges in Visi are very nice but I haven't managed to configure the pretty angular gauges to do the following yet:



    1) Remove the digital read out area at the bottom so that a gauge can start at 90 degrees.



    2) Have an RPM gauge read from 0 - 8(000) rpm. I have to have it read from 0-80(00) rpm to have it move in 100 rpm (81 images) steps not 1000 rpm (11 images) steps. Can these two things be decoupled?



    3) Editting Visi forms overwrites the opened file even if you dont save it (for example if intending to do a later save as) i.e. You need to rename a file immediately before starting to change it or the original is changed even if you don't hit save.



    One issue I have with a 160x160 gauge is update rate. Because of the number of pixels the update rate falls to about 10 fps. A clipping window to only update the region that would have changed (as only the needle has moved) doesn't help here, presumably as all the source data for the frame has to be read from SDcard.



    Is the format for GCI files documented anywhere? I feel I need to write a C program to walk through the visi generated (e.g.) GCI 160x160 images file and create a new 80x80 GCI images file containing on the region of the original later image that has changed (if the value has only moved by +/-10%). This will 4x my update rate (especially important on the 4.3 LCD display i've just ordered to go with my older 2.8 OLED ones)



    Thanks,



    Simon

  • #2


    I presume you are talking about the 'CoolGauge' object.
    1. Set Digit Visible to False, then Arc, Startangle to 90

    2. Doesn't setting min to 0, max to 80 and value format to 0 acvieve that (Your question seems to me to be confusing, but still, the answer lis in the above settings)

    3. The form is saves automatically when you compile. Options 'backup files' creates backups. Does that help?

    I would think 10fps was a pretty good update rate, a real meter will have inertia at the start and overshoot at the end and will probably not give '10 real' readings per second. If a real meter has 'adjustments' to stop overshoot it will probably increase inertia.

    You might also like to try and google up some 'digital meters' with videos and see how they respond (assuming they are not 'some sequences shortened' type vids). Most of the ones I have seen only manage about 2 fps for otherwise basic looking meters.

    The Video format is updated in the FAQ http://4d.websitetoolbox.com/post/Graphics-Composer-and-the-Display-Modules-5438283

    By all means have a go at what you are proposing and let us know if you get any improvement
    Mark

    Comment


    • #3


      Yes, the cool gauge object.
      On (1) the gauge units disappear when the digital read out disappears. The window affect for the digital read out doesn't disappear for me either.
      On (2) I want the gauge to increment in tenths but display whole units. The only way I can find to get 81 positions between 0 and 8 is to actually display 0 to 80
      On (3) I was using the colours from a 'master' gauge to then create others and finding my master kept changing despite me not saving it directly. Knowing a compile saves definitely helps.
      On (4) 10fps is almost fine (my data rate is 12fps) but that is on a 320x240 display currently. I'm moving to a 480x272 display so to update that i'm expecting rate almost halve. I'll try what I proposed and report back in a few weeks. Thanks for the link (and I found another thread with some details too).
      Simon

      Comment


      • #4


        1. If you change it as described (i.e. Digit, Visible) only the digital readout disappears. If you change Showvalues, then both will disappear.

        What do you mean by 'window affect for digital readout'? Do you mean the lower 'shadowed ellipse'? Try changing Inner Circle, Gloss, Opacity to 0. Does that look better?

        2. OK, so you want 0 to 8 as display, but 81 positions between 0 and 80? Set min to 0, max to 8, value format to 0.0 and DivisionCount to 8. That will generate 81 positions which you display by setting the IMAGE_INDEX from 0 to 80

        3. Save was changing something? Can you give a blow by blow description? (Did you know you can copy and paste objects to create duplicates? You can also paste them into notepad as text, so you can 'retreive' them later)
        Mark

        Comment


        • #5


          (1) Digit,Visible stops the dialtext (gauge name - e.g. RPM) being displayed which I need (as well as the digit). ShowValues only impacts the values around the border of the gauge e.g. 0-7. Can you stop digit,visible killing the dialtext (It can be set blank if you don't want anything displayed)?
          Inner Circle, Gloss, Opacity kills the lighting effect of the gauge as well as the digit window. Any chance of seperating the two or killing digital window gloss if digit,visible false?
          (2) Excellent! This wasn't clear to to me and works great.
          (3) No. I was compiling before renaming the file so I need to think of compiling as saving the visi.
          (4) 4.3" LCD arrived yesterday so i'll start playing with getting a decent update rate on that by creating clipped version of gci
          Many thanks,
          Simon

          Comment


          • #6


            Can you stop digit,visible killing the dialtext

            Yep I'll look into that



            Inner Circle, Gloss, Opacity kills the lighting effect of the gauge as well as the digit window. Any chance of seperating the two or killing digital window
            gloss if digit,visible false?
            Yep, I'll look into that as well. How do you think the 'lighting effect' for the gauge should be when the digit windo is not there?
            Mark

            Comment


            • #7


              That is very much appreciated.
              Just loosing the lower effect when Digit.Visible=FALSE would be sufficient and keeping the upper effect as is.
              Simon

              Comment


              • #8


                Back on this after a long pause.....

                On the 4.3" display i've got a proof of concept running with modified VISI coolgauge graphics and get about a 3x speed up using algorithmically simple windowing of your original source graphics (keeping about 30% of the full graphic)

                I've also siamesed two coolgauges into a Left/Right pair.

                With a pair of 212x212 gauges i'm now getting 30fps rather than 10fps. (My goal was 12fps - the sample rate of the data coming into the display).

                Simon

                Comment


                • #9


                  Link to a quick video showing the speed difference

                  Comment


                  • #10


                    Have you tried commenting the

                    gfx_Transparancy(ON) ;

                    Statement yet? (as well?)
                    Mark

                    Comment


                    • #11


                      Yes; Transparency is OFF in both cases (I'm not _directly_ using a VISI project).

                      Simon

                      Comment

                      Working...
                      X