UltimaSerial UltimaMeter: A Free Instrumentation Analog Meter (Angular Gauge) ActiveX Control

Windaq add-ons


Data logger


Spectrogram

 

Ultimaserial XChart

 

FFT1024

 

Ultimaserial Classroom

 

UltimaMeter is an instrumentation analog meter (angular gauge) display ActiveX control specifically designed for data acquisition applications.

Free Angular Gauge (Analog Meter) ActiveX Control

 

It is installed along with WinDaq Add-ons, and used by Instrumentation Gauge WinDaq add-on (See video demo below)

A VB6 project Ultimameter can be found in the Windaq add-on directory. If you wish to use other languages, please check this out.

License:  

Freeware only if non-commercial home use
Shareware otherwise

Until UltimaMeter is registered, an ad-line will be displayed in the chart. 

32 or 64-bit?

All UltimaSerial ActiveXs are 32-bit components, you must select 32-bit code option when using 64-bit compilers. Both 32-bit and 64-bit Windows runs 32-bit applications properly. 

Properties

  • short StartDegree: Start point in degree, which must be smaller than StopDegree (default: 225)

  • short StopDegree: Stop point in degree, which must be larger than StartDegree (default: 315)

    Example Settings
    Free Angular Gauge ActiveX Control Start =225

    Stop=315

    Free Analog Meter ActiveX Control Start=270

    Stop=360

    Start=90

    Stop=270


  • double MaxValue: The maximum value of the meter

  • double MinValue: The minimum value of the meter

  • short MainTick: Number of main ticks

  • short SubTick: Number of sub ticks between two main ticks

  • double Value: Needle position. If any setting is changed, the meter will be redrew first.

  • BSTR Unit: Specifies the unit to be displayed

  • long Adjustment (short index): Adjustment

    Index  
    0 Horizontal offset for the meter center 
    1 Vertical offset for the meter center 
    2 Number of digits after decimal point to be displayed for Value
    3 Number of digits after decimal point to be displayed for the tick annotations
    6 Numerator of the meter ratio
    7 Denominator of the meter ration
    8 Reset min/max retainers
    9 Enable (1) or disable (0) min/max retainers, see below

    10 Length of the retainer needles in percentage of the gauge diameter 
    Others  Reserved

     

  • BSTR Key: Enter the registration key. 

    Until UltimaMeter is paid-registered, it will display the watermark of "www.ultimaserial.com" in the upper left corner (see below)

  • Boolean ShowColorBand: Enable or disable the color limit band

  • OLE_COLOR Palette (short index): 

    Index  
    0..3599 Specifying the color for each matching limit. 

    ymax = 360
    ylo = 100
    yhi = 300

    For i = 0 To ymax 
         If i < ylo Then
             BLUE = C255 - Int((c256 * i) /  ylo)
             GREEN = Int((c256 * i) /  ylo)
             RED = 0
        Else
            If (i >= yhi) Then
                BLUE = 0
                GREEN = C255 - Int(((i - yhi) * C255) / ((ymax - yhi)))
                RED = Int(((i - yhi) * C255) / ((ymax - yhi)))
            End If
        End If
        UltimaMeter1.Palette(i) = BLUE * C65536 + GREEN * c256 + RED 
    Next
    10000 Color for the gauge needle
    10001 Color for the meter ring edge
    10002 Color for the meter ring center
    10003 Color for the number and text
    10004 Color for the meter face
    10008 Color for the min retainer
    10009 Color for the max retainer
    Others Reserved

     

  • double LimitBand  (short index): Specifying the limit for each matching color band. Up to 3600 limits can be specified.

    ymax=360
    For i = 0 To ymax - 1
         UltimaMeter1.LimitBand(i) = ((UltimaMeter1.MaxValue - UltimaMeter1.MinValue) / ymax) * i + UltimaMeter1.MinValue
    Next

    UltimaMeter1.LimitBand(ymax) = UltimaMeter1.MaxValue 'This is a must to indicate the end of limit bands!
     

Methods

  • ReDraw: Redraw the meter face

Events:

  • Click ()

  • DblClick ()

  • MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single)

  • MouseUp ((Button As Integer, Shift As Integer, X As Single, Y As Single)

  • MouseMove (Button As Integer, Shift As Integer, X As Single, Y As Single)

  • MouseWheel (nFlags as long, zDelt as short, X as long, Y as long)

 

Last update: 01/20/12

© www.ultimaserial.com