# Shared Features: Calculated Analog or Digital Signals

An [Application Signal](../../vehicle-spy-main-menus/main-menu-scripting-and-automation/application-signals) or a [Tx Panel signal](../../vehicle-spy-main-menus/main-menu-spy-networks/transmit-panel/dynamic-transmit-message-bytes) can have a numeric value which can be interpreted as an analog or digital [Signal Type](../../vehicle-spy-main-menus/main-menu-spy-networks/message-editor/message-signals/message-signal-type). There are many different ways a signal can be calculated. The different calculations are created with the [Setup Calculated Signal]() screen. The descriptions for the different options are listed in Table 1 below.\
\
If a signal property has an equation button (![](https://cdn.intrepidcs.net/support/VehicleSpy/assets/spyEQ.gif)) next to it, you can enter an [equation](../shared-features-expression-builder) for the signal instead of a static value. This will let you modify signals based on other Vehicle Spy data. For example, you could use a knob to change the frequency of a sine wave.

**Table 1: Listing of Numeric Calculated Signal Types**

<table><thead><tr><th width="355" align="center">Calculated Signal Type</th><th align="center">Description</th></tr></thead><tbody><tr><td align="center"><p><strong>Random Data</strong><br><strong>Properties</strong>: Min, Max</p><p></p><p><br><img src="https://content.gitbook.com/content/qIehMEh3bUiVUBzGilI1/blobs/HNSLl4WLdM2pj32AtBnt/spyCalcRandom.gif" alt="" data-size="original"></p></td><td align="center">This signal calculates a random value between the Min and Max properties.</td></tr><tr><td align="center"><p><strong>Sinusoidal Wave</strong><br><strong>Properties</strong>: Min, Max, Frequency, Phase</p><p></p><p>               <img src="https://content.gitbook.com/content/qIehMEh3bUiVUBzGilI1/blobs/ITDzUOZLBb8eC8GB6aTg/spyCalcSine.gif" alt="" data-size="original">                                               </p></td><td align="center">This signal creates a sine wave between the Min and Max value with the specified frequency. It will also delay the waveform in relation to others using the Phase parameter.</td></tr><tr><td align="center"><p><strong>Ramp Properties</strong>: Min, Max, Frequency, Phase</p><p>         </p><p><img src="https://content.gitbook.com/content/qIehMEh3bUiVUBzGilI1/blobs/lZNlifCpD3e1vq1wBbqD/spyCalcRamp.gif" alt="" data-size="original"></p></td><td align="center">This signal creates a ramp wave between the Min and Max value with the specified frequency. It will also delay the waveform in relation to others using the Phase parameter.</td></tr><tr><td align="center"><p><strong>Triangle</strong><br><strong>Properties</strong>: Min, Max, Frequency, Phase</p><p></p><p><img src="https://content.gitbook.com/content/qIehMEh3bUiVUBzGilI1/blobs/oRSkzmOeZJwjZMdz59w2/spyCalcTri.gif" alt=""></p></td><td align="center">This signal creates a Triangle wave between the Min and Max value with the specified frequency. It will also delay the waveform in relation to others using the Phase parameter.</td></tr><tr><td align="center"><p><strong>Square</strong><br><strong>Properties</strong>: Min, Max, Frequency, Phase, Duty Cycle</p><p></p><p><img src="https://content.gitbook.com/content/qIehMEh3bUiVUBzGilI1/blobs/hoWXUsd5pAf2SViZZDuF/spyCalcSquare.gif" alt=""></p></td><td align="center">This signal creates a square wave between the Min and Max value with the specified frequency and duty cycle. It will also delay the waveform in relation to others using the Phase parameter.</td></tr><tr><td align="center"><p><strong>Custom List</strong><br><strong>Properties</strong>: List of Points</p><p></p><p><img src="https://content.gitbook.com/content/qIehMEh3bUiVUBzGilI1/blobs/zGSeU8gjvGH3ak6ZnMTo/spyCalcList.gif" alt=""></p></td><td align="center">This calculation will replay a list of values into the signal. After it replays the list it will start over at the first list item.</td></tr><tr><td align="center"><p><strong>Equation Based</strong><br><strong>Properties</strong>: Min, Max, Equation</p><p></p><p><img src="https://content.gitbook.com/content/qIehMEh3bUiVUBzGilI1/blobs/j9Xsw4hJLHK1y31yXuuP/spyCalcEquation.gif" alt="" data-size="original"></p></td><td align="center">This calculation will use an <a href="../shared-features-expression-builder">Expression Builder</a> equation to update a signal. The Min and Max properties are optional. Leave them blank if you do not want to use them. If not blank, a Min and/or Max limit will be applied to the result.</td></tr><tr><td align="center"><p><strong>Static Value</strong><br><strong>Properties</strong>: Value</p><p></p><p><img src="https://content.gitbook.com/content/qIehMEh3bUiVUBzGilI1/blobs/bOqm3FphHfNQCrwcrUPG/spyCalcStaticVal.gif" alt=""></p></td><td align="center">This calculation will use the static value entered in the value entry.</td></tr><tr><td align="center"><p><strong>Remote Signal</strong><br><strong>Properties</strong>: Remote Server, Application Signal</p><p></p><p><img src="https://content.gitbook.com/content/qIehMEh3bUiVUBzGilI1/blobs/nJqAwKlYf97jKymiDcX6/spyCalcRemote.gif" alt=""></p></td><td align="center">This calculation will use an application signal value from another instance of Vehicle Spy on a network. The parameters for this type of application signal are the Remote server to connect to and the application signal to read in. The Update List button will repopulate the dropdown lists.</td></tr></tbody></table>
