# Reference

The steps in the **Nominal Core** step group. Each one calls a VI, and that VI’s inputs and outputs are the step’s parameters.

## Connection

### Open Connection to Nominal

`Nominal_Connect` · New steps are named **Nominal Connect** · Calls [`nominal open.vi`](https://github.com/nominal-io/ni-teststand-nominal-client/blob/HEAD/teststand%20steps%20support/nominal%20open.vi)

![](https://dev.nominal.io/ni-teststand/_images/778046da4c207def6d49979cc23eb461_viicon.png)

Opens a connection to Nominal.

To get the required inputs, review getting started material in the docs or go straight to Nominal settings. In the settings, go to the “API keys” page to get your API key, workspace RID, and base URL.

Inputs

**API key**
:   `String`

    API token used to connect to nominal.

**Base URL**
:   `ASCII String` · default `https://api.gov.nominal.io/api`

    The URL of your tenant. The default is the standard cloud-hosted tenant.

**Workspace (tenant default)**
:   `ASCII String`

    Workspace RID to connect to. If none is provided, the default for your tenant will be used.

**Timeout ms (-1: infinite)**
:   `Number (I32)` · default `-1`

Outputs

**connection**
:   `Object Reference` (`Nominal Client.lvclass`)

**error out**
:   `Error cluster`

### Disconnect from Nominal

`Nominal_Disconnect` · New steps are named **Nominal Disconnect** · Calls [`nominal close.vi`](https://github.com/nominal-io/ni-teststand-nominal-client/blob/HEAD/teststand%20steps%20support/nominal%20close.vi)

![](https://dev.nominal.io/ni-teststand/_images/cf0d2dba34ca72e6fcf957623b4fe85d_viicon.png)

Closes the connection to Nominal

Inputs

**connection** required
:   `Object Reference` (`Nominal Client.lvclass`)

Outputs

**error out**
:   `Error cluster`

## Assets

### Create Asset

`Nominal_Create_Asset` · Calls [`create asset.vi`](https://github.com/nominal-io/ni-teststand-nominal-client/blob/HEAD/teststand%20steps%20support/create%20asset.vi)

![](https://dev.nominal.io/ni-teststand/_images/38711c130b042048cd4290570452c6d7_viicon.png)

Creates a new metadata asset in Nominal.

Inputs

**connection** required
:   `Object Reference` (`Nominal Client.lvclass`)

**Title** required
:   `ASCII String`

    Name of your asset.

**Description**
:   `ASCII String`

    Optional description associated with the asset.

Outputs

**asset**
:   `Object Reference` (`asset.lvclass`)

**error out**
:   `Error cluster`

### Get Asset

`Nominal_Get_Asset` · Calls [`get asset.vi`](https://github.com/nominal-io/ni-teststand-nominal-client/blob/HEAD/teststand%20steps%20support/get%20asset.vi)

![](https://dev.nominal.io/ni-teststand/_images/36d864c087866d6c54a2189ee9742642_viicon.png)

Look up an asset object by RID.

Inputs

**connection** required
:   `Object Reference` (`Nominal Client.lvclass`)

**Asset RID** required
:   `ASCII String`

    RID of the asset. In Nominal you can get this from the Asset page details sidebar.

Outputs

**Asset**
:   `Object Reference` (`asset.lvclass`)

**error out**
:   `Error cluster`

### Update Asset

`Nominal_Update_Asset` · Calls [`update asset metadata.vi`](https://github.com/nominal-io/ni-teststand-nominal-client/blob/HEAD/teststand%20steps%20support/update%20asset%20metadata.vi)

![](https://dev.nominal.io/ni-teststand/_images/70faadcf0611850460c9415a18451410_viicon.png)

Update an asset obtained with `create asset` or `get asset` with properties and labels.

Inputs

**asset** required
:   `Object Reference` (`asset.lvclass`)

**Labels**
:   `1D Array (ASCII String)`

    String labels used to filter an asset.

**property key-value pairs**
:   `1D Array (Container)`

    - `key` String
    - `value` String

    Property key-value pairs used to filter an asset (eg “serial”=”0xABADCAFE”).

Outputs

**updated asset**
:   `Object Reference` (`asset.lvclass`)

**error out**
:   `Error cluster`

## Datasets

### Find or Make Dataset for Asset

`Nominal_Create_Asset_Dataset` · Calls [`get or create dataset from asset.vi`](https://github.com/nominal-io/ni-teststand-nominal-client/blob/HEAD/teststand%20steps%20support/get%20or%20create%20dataset%20from%20asset.vi)

![](https://dev.nominal.io/ni-teststand/_images/f295beff6b2656b57c4fa55494afdf1e_viicon.png)

Locate a dataset on an asset, creating that dataset if not found.

Inputs

**asset** required
:   `Object Reference` (`asset.lvclass`)

**Datascope Name** required
:   `ASCII String`

    The name of the datascope associated with the asset.

Outputs

**refreshed asset**
:   `Object Reference` (`asset.lvclass`)

**dataset**
:   `Object Reference` (`dataset.lvclass`)

**error out**
:   `Error cluster`

### Get Dataset by RID

`Nominal_Get_Dataset_by_RID` · Calls [`get dataset by rid.vi`](https://github.com/nominal-io/ni-teststand-nominal-client/blob/HEAD/teststand%20steps%20support/get%20dataset%20by%20rid.vi)

![](https://dev.nominal.io/ni-teststand/_images/94bdad0014793c060e212b4c371038d0_viicon.png)

Using a dataset RID, get a reference to the dataset object. This can then be used to create a Stream.

Inputs

**connection** required
:   `Object Reference` (`Nominal Client.lvclass`)

**Dataset RID** required
:   `ASCII String`

Outputs

**Dataset**
:   `Object Reference` (`dataset.lvclass`)

**error out**
:   `Error cluster`

## Streams and channels

### Create Stream from Dataset

`Nominal_Create_Stream_from_Dataset` · Calls [`create stream from dataset.vi`](https://github.com/nominal-io/ni-teststand-nominal-client/blob/HEAD/teststand%20steps%20support/create%20stream%20from%20dataset.vi)

![](https://dev.nominal.io/ni-teststand/_images/944f94e62d61d1c51f46d283e5e56c9a_viicon.png)

Create a reference to a stream to a provided dataset. Use `get dataset by rid` to get the dataset reference.

Inputs

**dataset** required
:   `Object Reference` (`dataset.lvclass`)

**fallback avro file (user documents\nominal_fallback_files)**
:   `Path`

    A local file used to store data if the stream fails.

Outputs

**stream session**
:   `Number (U32)` (`Refnum`)

**error out**
:   `Error cluster`

### Create Stream from Dataset RID

`Nominal_Create_Stream_from_Dataset_RID` · Calls [`create stream from rid.vi`](https://github.com/nominal-io/ni-teststand-nominal-client/blob/HEAD/teststand%20steps%20support/create%20stream%20from%20rid.vi)

![](https://dev.nominal.io/ni-teststand/_images/7b18dfc0b1c18eaba018086ce96d27de_viicon.png)

Create a reference to a stream to a provided dataset RID without obtaining the dataset reference first.

Inputs

**API Key** required
:   `ASCII String`

    API key for accessing Nominal.

**Dataset RID** required
:   `ASCII String`

    The resource ID of the dataset, obtained from the Details sidebar in Nominal or from a dataset object.

**fallback avro file (user documents\nominal_fallback_files)**
:   `Path`

    A local file used to store data if the stream fails.

Outputs

**stream session**
:   `Number (U32)` (`Refnum`)

**error out**
:   `Error cluster`

### Find or Create Channel in Stream

`Nominal_Find_or_Create_Stream_Channel` · Calls [`find or create stream channel.vi`](https://github.com/nominal-io/ni-teststand-nominal-client/blob/HEAD/teststand%20steps%20support/find%20or%20create%20stream%20channel.vi)

![](https://dev.nominal.io/ni-teststand/_images/c8e3b78d4eea61225746482e9aac0160_viicon.png)

In the provided stream session, register a channel by name. Tags can only be set on creation and are part of the unique identification of a channel, but are not required.

Examples:  
Call with “name”, <no tags>; Call with “name”, <no tags> => one channel  
Call with “name”, <no tags>; Call with “name”, tags: [sn: 123] => two channels  
Call with “name”, tags: [sn: 123]; Call with “name”, tags: [sn: 321] => two channels

Inputs

**stream session** required
:   `Number (U32)` (`Refnum`)

**channel name** required
:   `ASCII String`

    The name of the channel.

**channel tags**
:   `1D Array (Container)`

    - `key` String
    - `value` String

    Tags used to filter data on a channel.

Outputs

**Channel**
:   `Object Reference` (`Channel.lvclass`)

**error out**
:   `Error cluster`

### Update Channel Metadata

`Nominal_Update_Channel_Metadata` · Calls [`update channel metadata.vi`](https://github.com/nominal-io/ni-teststand-nominal-client/blob/HEAD/teststand%20steps%20support/update%20channel%20metadata.vi)

![](https://dev.nominal.io/ni-teststand/_images/197a21f9b198333e6d0393cf8597e7fe_viicon.png)

Update channel’s description and unit. Clear unit takes precedence over any value set in the unit field.

Inputs

**connection** required
:   `Object Reference` (`Nominal Client.lvclass`)

**Channel** required
:   `Object Reference` (`Channel.lvclass`)

**Description**
:   `ASCII String`

    If set, the description to update to.

**Unit**
:   `ASCII String`

    If set, the units to update to. Use `clear unit` to clear the unit since an empty string will perform no operation.

**clear unit**
:   `Boolean` · default `FALSE`

    Clears the unit of the channel.

Outputs

**error out**
:   `Error cluster`

### Destroy Stream

`Nominal_Destroy_Stream` · Calls [`shutdown stream.vi`](https://github.com/nominal-io/ni-teststand-nominal-client/blob/HEAD/teststand%20steps%20support/shutdown%20stream.vi)

![](https://dev.nominal.io/ni-teststand/_images/1a24d72fa33ea517e79ffc4a9ec46125_viicon.png)

Closes the stream connection.

Inputs

**stream session** required
:   `Number (U32)` (`Refnum`)

Outputs

**error out**
:   `Error cluster`

## Writing data

### Stream Array to Channel

`Nominal_Stream_Array_to_Channel` · Calls [`stream array to channel.vi`](https://github.com/nominal-io/ni-teststand-nominal-client/blob/HEAD/teststand%20steps%20support/stream%20array%20to%20channel.vi)

![](https://dev.nominal.io/ni-teststand/_images/057d45b665c0ab17fb61159ef8b324ef_viicon.png)

Stream an array of timestamps and values to the channel.

Inputs

**channel** required
:   `Object Reference` (`Channel.lvclass`)

**Timestamps** required
:   `1D Array (Timestamp)`

    Timestamps to stream, must match the size of values.

**Values** required
:   `1D Array (DBL)`

    Values to stream. Must match the size of timestamps.

Outputs

**error out**
:   `Error cluster`

### Stream Points to Channel

`Nominal_Stream_Points_to_Channel` · Calls [`stream points to channel.vi`](https://github.com/nominal-io/ni-teststand-nominal-client/blob/HEAD/teststand%20steps%20support/stream%20points%20to%20channel.vi)

![](https://dev.nominal.io/ni-teststand/_images/6072d59526cd3415a93387f7aa9a61e9_viicon.png)

Streams an array of time/value points.

Inputs

**channel** required
:   `Object Reference` (`Channel.lvclass`)

**Points** required
:   `1D Array (Container)`

    - `Time Stamp` Timestamp
    - `Value` DBL

    Timestamp/value pairs to stream.

Outputs

**error out**
:   `Error cluster`

### Stream Waveform to Channel

`Nominal_Stream_Waveform_to_Channel` · Calls [`stream waveform to channel.vi`](https://github.com/nominal-io/ni-teststand-nominal-client/blob/HEAD/teststand%20steps%20support/stream%20waveform%20to%20channel.vi)

![](https://dev.nominal.io/ni-teststand/_images/f48fd8da302e709309c9c99e13cafeb7_viicon.png)

Streams a full waveform to the channel. Converts t0+dt to individual timestamps before sending.

Inputs

**channel** required
:   `Object Reference` (`Channel.lvclass`)

**Waveform** required
:   `LabVIEWAnalogWaveform`

    The waveform to stream.

Outputs

**error out**
:   `Error cluster`

## Point buffer

### Create Point Buffer

`Nominal_Create_Point_Buffer` · Calls [`create point buffer.vi`](https://github.com/nominal-io/ni-teststand-nominal-client/blob/HEAD/teststand%20steps%20support/create%20point%20buffer.vi)

![](https://dev.nominal.io/ni-teststand/_images/d2ad99b9a126f7e1185cbe50ea925f84_viicon.png)

A buffer allowing TestStand to collect individual points and stream them all at once, for efficiency. Intended to represent data for a single channel. Use the batch buffer for many channels.

Outputs

**point buffer**
:   `Number (U32)` (`Refnum`)

**error out**
:   `Error cluster`

### Add to Point Buffer

`Nominal_Add_to_Point_Buffer` · Calls [`add to point buffer.vi`](https://github.com/nominal-io/ni-teststand-nominal-client/blob/HEAD/teststand%20steps%20support/add%20to%20point%20buffer.vi)

![](https://dev.nominal.io/ni-teststand/_images/ebad2afde4d87ffbd13a9723089763fb_viicon.png)

Add a single time/value point to the buffer.

Inputs

**point buffer** required
:   `Number (U32)` (`Refnum`)

**time** required
:   `Timestamp`

**value** required
:   `Number (DBL)`

Outputs

**error out**
:   `Error cluster`

### Read from Point Buffer

`Nominal_Read_from_Point_Buffer` · Calls [`pull data from point buffer.vi`](https://github.com/nominal-io/ni-teststand-nominal-client/blob/HEAD/teststand%20steps%20support/pull%20data%20from%20point%20buffer.vi)

![](https://dev.nominal.io/ni-teststand/_images/83b05e77dfc5fcd2cbb6b8420f8e1237_viicon.png)

Reads the entire set of samples from a buffer.

Inputs

**point buffer** required
:   `Number (U32)` (`Refnum`)

Outputs

**data value**
:   `1D Array (Container)`

    - `Time Stamp` Timestamp
    - `Value` DBL

**error out**
:   `Error cluster`

### Flush Point Buffer to Channel

`Nominal_Flush_Point_Buffer_to_Channel` · Calls [`flush point buffer to channel.vi`](https://github.com/nominal-io/ni-teststand-nominal-client/blob/HEAD/teststand%20steps%20support/flush%20point%20buffer%20to%20channel.vi)

![](https://dev.nominal.io/ni-teststand/_images/6e758afe4abdba77163771d7ceb2729c_viicon.png)

Streams the content of the point buffer to the specified channel.  
Does not free data if an error occurs.

Inputs

**channel** required
:   `Object Reference` (`Channel.lvclass`)

**point buffer** required
:   `Number (U32)` (`Refnum`)

Outputs

**error out**
:   `Error cluster`

### Destroy Point Buffer

`Nominal_Destroy_Point_Buffer` · Calls [`destroy point buffer.vi`](https://github.com/nominal-io/ni-teststand-nominal-client/blob/HEAD/teststand%20steps%20support/destroy%20point%20buffer.vi)

![](https://dev.nominal.io/ni-teststand/_images/f275b8371de12144d8954fd8c7be8c39_viicon.png)

Immediately destroy the point buffer. Does not flush.

Inputs

**point buffer** required
:   `Number (U32)` (`Refnum`)

Outputs

**error out**
:   `Error cluster`

## Batch buffer

### Create Batch Buffer

`Nominal_Create_Batch_Buffer` · Calls [`new batch buffer.vi`](https://github.com/nominal-io/ni-teststand-nominal-client/blob/HEAD/teststand%20steps%20support/new%20batch%20buffer.vi)

![](https://dev.nominal.io/ni-teststand/_images/2c06d48c191b51edbb2b5447873b3f2a_viicon.png)

A buffer allowing TestStand to collect individual points for several channels and stream them all at once, for efficiency. For a simple single-channel buffer, use the point buffer.

Outputs

**buffer**
:   `Number (U32)` (`Refnum`)

### Add Point to Batch Buffer

`Nominal_Add_Point_to_Batch_Buffer` · Calls [`add point to batch buffer.vi`](https://github.com/nominal-io/ni-teststand-nominal-client/blob/HEAD/teststand%20steps%20support/add%20point%20to%20batch%20buffer.vi)

![](https://dev.nominal.io/ni-teststand/_images/c33667b05f3943bb3b03d9fee230dae6_viicon.png)

In the provided buffer session, add data for a channel. Channels are uniquely identified by the combination of a name and optional tags.

Examples:  
Call with “name”, <no tags>; Call with “name”, <no tags> => one channel  
Call with “name”, <no tags>; Call with “name”, tags: [sn: 123] => two channels  
Call with “name”, tags: [sn: 123]; Call with “name”, tags: [sn: 321] => two channels

Inputs

**batch buffer** required
:   `Number (U32)` (`Refnum`)

**channel** required
:   `ASCII String`

**Time Stamp** required
:   `Timestamp`

**Value** required
:   `Number (DBL)`

**channel tags**
:   `1D Array (Container)`

    - `key` String
    - `value` String

    Tags used to filter data on a channel.

Outputs

**error out**
:   `Error cluster`

### Get Channel Buffer from Batch

`Nominal_Get_Channel_Buffer_from_Batch` · Calls [`get channel buffer from batch buffer.vi`](https://github.com/nominal-io/ni-teststand-nominal-client/blob/HEAD/teststand%20steps%20support/get%20channel%20buffer%20from%20batch%20buffer.vi)

![](https://dev.nominal.io/ni-teststand/_images/5647198b5c37b26bc942c4e12625e681_viicon.png)

In the batch buffer, register a channel by name and tag and get a direct reference to the underlying buffer, or look up an existing buffer.

Tags are part of the unique identification of a channel, but are not required.

Examples:  
Call with “name”, <no tags>; Call with “name”, <no tags> => one channel  
Call with “name”, <no tags>; Call with “name”, tags: [sn: 123] => two channels  
Call with “name”, tags: [sn: 123]; Call with “name”, tags: [sn: 321] => two channels

Inputs

**batch buffer** required
:   `Number (U32)` (`Refnum`)

**channel** required
:   `ASCII String`

**channel tags**
:   `1D Array (Container)`

    - `key` String
    - `value` String

    Tags used to filter data on a channel.

Outputs

**channel point buffer**
:   `Number (U32)` (`Refnum`)

**error out**
:   `Error cluster`

### Flush Batch Buffer to Nominal

`Nominal_Flush_Batch_Buffer` · Calls [`flush batch buffer.vi`](https://github.com/nominal-io/ni-teststand-nominal-client/blob/HEAD/teststand%20steps%20support/flush%20batch%20buffer.vi)

![](https://dev.nominal.io/ni-teststand/_images/a2dc94c349a37e44ec7dd1805bbddbb7_viicon.png)

Flushes all stored data to a stream.

Inputs

**stream session** required
:   `Number (U32)` (`Refnum`)

**batch buffer** required
:   `Number (U32)` (`Refnum`)

Outputs

**error out**
:   `Error cluster`

### Destroy Batch Buffer

`Nominal_Destroy_Batch_Buffer` · Calls [`destroy batch buffer.vi`](https://github.com/nominal-io/ni-teststand-nominal-client/blob/HEAD/teststand%20steps%20support/destroy%20batch%20buffer.vi)

![](https://dev.nominal.io/ni-teststand/_images/d984793c394f51824d1337c79cdd943e_viicon.png)

Immediately destroy the buffer. Does not flush.

Inputs

**batch buffer** required
:   `Number (U32)` (`Refnum`)

Outputs

**error out**
:   `Error cluster`

## Runs

### Create Run

`Nominal_Create_Run` · Calls [`create run.vi`](https://github.com/nominal-io/ni-teststand-nominal-client/blob/HEAD/teststand%20steps%20support/create%20run.vi)

![](https://dev.nominal.io/ni-teststand/_images/b8295f957ca0fab144ec0f25851773f3_viicon.png)

Creates a run without an associated asset. Runs have a start and end time, with start time required.

Inputs

**connection** required
:   `Object Reference` (`Nominal Client.lvclass`)

**Title** required
:   `ASCII String`

    Name of the run.

**Start Time (now)**
:   `Timestamp`

    Start time of the run, defaulting to now().

Outputs

**Run**
:   `Object Reference` (`Run.lvclass`)

**error out**
:   `Error cluster`

### Create Run on Asset

`Nominal_Create_Run_on_Asset` · Calls [`create run for specific asset.vi`](https://github.com/nominal-io/ni-teststand-nominal-client/blob/HEAD/teststand%20steps%20support/create%20run%20for%20specific%20asset.vi)

![](https://dev.nominal.io/ni-teststand/_images/9a1c20395264a218d7907b3fcb91f1e9_viicon.png)

Creates a run associated with a specific asset. Runs represent a time range and are required to have a start time.

Inputs

**asset** required
:   `Object Reference` (`asset.lvclass`)

**Title** required
:   `ASCII String`

    Name of the run.

**Start Time (now)**
:   `Timestamp`

    Start time of the run, defaulting to now().

Outputs

**Run**
:   `Object Reference` (`Run.lvclass`)

**error out**
:   `Error cluster`

### Update Run Metadata

`Nominal_Update_Run_Metadata` · Calls [`update run metadata.vi`](https://github.com/nominal-io/ni-teststand-nominal-client/blob/HEAD/teststand%20steps%20support/update%20run%20metadata.vi)

![](https://dev.nominal.io/ni-teststand/_images/57191a02765c24444ae656eb825fb9c6_viicon.png)

Updates the properties of a run, returning an updated run object. Only fields that are populated are used.

Inputs

**run** required
:   `Object Reference` (`Run.lvclass`)

**Title**
:   `ASCII String`

    If populated, update the run name to this.

**Description**
:   `ASCII String`

    If populated, update the run description to this.

**Labels**
:   `1D Array (ASCII String)`

    If populated, update the run labels to this.

**links**
:   `1D Array (Container)`

    - `title` String
    - `url` String

    If populated, update the run links to this.

**property key-value pairs**
:   `1D Array (Container)`

    - `key` String
    - `value` String

    If populated, update the run properties to this.

Outputs

**updated run**
:   `Object Reference` (`Run.lvclass`)

**error out**
:   `Error cluster`

### Update Run Start Time

`Nominal_Update_Run_Start` · Calls [`update run start time.vi`](https://github.com/nominal-io/ni-teststand-nominal-client/blob/HEAD/teststand%20steps%20support/update%20run%20start%20time.vi)

![](https://dev.nominal.io/ni-teststand/_images/fe9c2407ae08a2fe97c7a72f32697bcd_viicon.png)

Change the start time of a run.

Inputs

**run** required
:   `Object Reference` (`Run.lvclass`)

**Start Time**
:   `Timestamp`

    The new start time to use.

**set to now**
:   `Boolean` · default `FALSE`

    If set to true, ignore the start time field and use now().

Outputs

**updated run**
:   `Object Reference` (`Run.lvclass`)

**error out**
:   `Error cluster`

### Update Run Stop Time

`Nominal_Update_Run_Stop` · Calls [`update run end time.vi`](https://github.com/nominal-io/ni-teststand-nominal-client/blob/HEAD/teststand%20steps%20support/update%20run%20end%20time.vi)

![](https://dev.nominal.io/ni-teststand/_images/3114f0b3ddf950b8ff889d0cddd96b33_viicon.png)

Change the end time of a run.

Inputs

**run** required
:   `Object Reference` (`Run.lvclass`)

**End Time**
:   `Timestamp`

    The new end time to use.

**set to now**
:   `Boolean` · default `FALSE`

    If set to true, ignore the end time field and use now().

Outputs

**updated run**
:   `Object Reference` (`Run.lvclass`)

**error out**
:   `Error cluster`

## Events

### Create Event on Run

`Nominal_Create_Event_on_Run` · Calls [`create event from run.vi`](https://github.com/nominal-io/ni-teststand-nominal-client/blob/HEAD/teststand%20steps%20support/create%20event%20from%20run.vi)

![](https://dev.nominal.io/ni-teststand/_images/fa9060ab8c91a1ef90397e6751f4536c_viicon.png)

Creates an event which flags a time range in Nominal.

Inputs

**run** required
:   `Object Reference` (`Run.lvclass`)

**Name** required
:   `ASCII String`

    Name of the event to be created.

**Type** required
:   `Enumeration (U16)`

    One of `INFO`, `FLAG`, `ERROR`, `SUCCESS`.

    Type of the event to be created. This is used by Nominal to present different severity levels to the user when viewed through the web interface.

**Time Stamp (now)**
:   `Timestamp`

    Start time for the event. Set the duration once created.

Outputs

**event**
:   `Object Reference` (`event.lvclass`)

**error out**
:   `Error cluster`

### Create Event on Asset

`Nominal_Create_Event_on_Asset` · Calls [`create event from asset.vi`](https://github.com/nominal-io/ni-teststand-nominal-client/blob/HEAD/teststand%20steps%20support/create%20event%20from%20asset.vi)

![](https://dev.nominal.io/ni-teststand/_images/475078846bee3629c02c1a442c2b845f_viicon.png)

Creates a named event associated with a specific asset.

Inputs

**asset** required
:   `Object Reference` (`asset.lvclass`)

**Name** required
:   `ASCII String`

    Name of the event to be created.

**Type** required
:   `Enumeration (U16)`

    One of `INFO`, `FLAG`, `ERROR`, `SUCCESS`.

    Type of the event to be created. This is used by Nominal to present different severity levels to the user when viewed through the web interface.

**Time Stamp (now)**
:   `Timestamp`

    Start time for the event. Set the duration once created.

Outputs

**event**
:   `Object Reference` (`event.lvclass`)

**error out**
:   `Error cluster`

### Update Event Metadata

`Nominal_Update_Event_Metadata` · Calls [`update event metadata.vi`](https://github.com/nominal-io/ni-teststand-nominal-client/blob/HEAD/teststand%20steps%20support/update%20event%20metadata.vi)

![](https://dev.nominal.io/ni-teststand/_images/565cca7dca50e4ee7df9127458b82706_viicon.png)

Updates an event with additional metadata. Only populated labels and properties are used, and `type update` and `update duration` must be set to command this function to update those fields.

Inputs

**event** required
:   `Object Reference` (`event.lvclass`)

**Name**
:   `ASCII String`

    New name to apply. Ignored if empty.

**Description**
:   `ASCII String`

    New description to apply, ignored if empty.

**Labels**
:   `1D Array (ASCII String)`

    New labels to apply, ignored if empty.

**Type**
:   `Enumeration (U16)` · default `ERROR`

    One of `ERROR`, `FLAG`, `INFO`, `SUCCESS`.

    Type to change the event to if `type update` is true.

**Duration (s)**
:   `Number (DBL)` · default `0`

    Duration to set the event to if `update duration` is true.

**type update**
:   `Boolean` · default `FALSE`

    Commands this function to update the type of the event.

**update duration**
:   `Boolean` · default `FALSE`

    Commands this function to use the duration field to update the event duration.

Outputs

**updated event**
:   `Object Reference` (`event.lvclass`)

**error out**
:   `Error cluster`

### Update Event Timing

`Nominal_Update_Event_Timing` · Calls [`update event timing.vi`](https://github.com/nominal-io/ni-teststand-nominal-client/blob/HEAD/teststand%20steps%20support/update%20event%20timing.vi)

![](https://dev.nominal.io/ni-teststand/_images/3438a57bbb6a787d8194e28140385c76_viicon.png)

Change the start time and duration of the event. Use flags to indicate which actions to take.

Inputs

**event** required
:   `Object Reference` (`event.lvclass`)

**update start**
:   `Boolean` · default `FALSE`

    Commands this function to update the start time. Not required for `set start to now`.

**set start to now**
:   `Boolean` · default `FALSE`

    Overrides the start time parameter, setting the start time to now(). Setting `update start` to true is not needed if this is set to true.

**Start Time**
:   `Timestamp`

    Start time to update the event to if `update start` is true.

**Duration (s)**
:   `Number (DBL)` · default `0`

    Duration to use if `update duration` is true.

**update duration**
:   `Boolean` · default `FALSE`

    Commands this function to update the event duration.

Outputs

**updated event**
:   `Object Reference` (`event.lvclass`)

**error out**
:   `Error cluster`
