# fuchsia.hardware.trippoint

<br />

Added: HEAD

## **PROTOCOLS**

## Debug

*Defined in [fuchsia.hardware.trippoint/debug.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.trippoint/debug.fidl;l=10)*

Debug protocol to fake tripping trip points.

<br />

### Trip

Trips the trip point with index if it exists. If not, returns ZX_ERR_NOT_FOUND. Note that
for OneShot trip points, if it is tripped, it gets cleared. Tripping manually with this
method will have the same effect.

#### Request

| Name | Type |
|---|---|
| `index` | `uint32` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.trippoint#Debug_Trip_Result` |

## TripPoint

*Defined in [fuchsia.hardware.trippoint/trippoint.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.trippoint/trippoint.fidl;l=79)*

The server should enforce that only one client may be connected and
configuring trip points at any given time.
If a second client attempts to configure trip points while a client is
already connected, the server should return ZX_ERR_ALREADY_BOUND to indicate
that it is busy.

<br />

### GetTripPointDescriptors

Returns N descriptors. Each descriptor describes one trip point
supported by the hardware.

#### Request

\<EMPTY\>

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.trippoint#TripPoint_GetTripPointDescriptors_Result` |

### SetTripPoints

Configure 0 or more hardware trip points.

#### Request

| Name | Type |
|---|---|
| `descriptors` | `vector<https://fuchsia.dev/reference/fidl/fuchsia.hardware.trippoint#TripPointDescriptor>` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.trippoint#TripPoint_SetTripPoints_Result` |

### WaitForAnyTripPoint

Hanging get API that returns when any configured trip point has been
crossed.
Returns ZX_ERR_BAD_STATE if no trip points have been configured or if
all configured trip points are cleared by a call to SetTripPoints.

#### Request

\<EMPTY\>

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.trippoint#TripPoint_WaitForAnyTripPoint_Result` |

## **STRUCTS**

### ClearedTripPoint

*Defined in [fuchsia.hardware.trippoint/trippoint.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.trippoint/trippoint.fidl;l=45)*

\<EMPTY\>

### Debug_Trip_Response

*Defined in [fuchsia.hardware.trippoint/debug.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.trippoint/debug.fidl;l=16)*

\<EMPTY\>

### OneshotTempAboveTripPoint

*Defined in [fuchsia.hardware.trippoint/trippoint.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.trippoint/trippoint.fidl;l=48)*

See the comment in TripPointType for more information.

<br />

| Field | Type | Description | Default |
|---|---|---|---|
| `critical_temperature_celsius` | `float32` | The temperature at which the trip point activates. | No default |

### OneshotTempBelowTripPoint

*Defined in [fuchsia.hardware.trippoint/trippoint.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.trippoint/trippoint.fidl;l=53)*

| Field | Type | Description | Default |
|---|---|---|---|
| `critical_temperature_celsius` | `float32` | The temperature at which the trip point activates. | No default |

### TripDeviceMetadata

*Defined in [fuchsia.hardware.trippoint/trippoint.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.trippoint/trippoint.fidl;l=10)*

| Field | Type | Description | Default |
|---|---|---|---|
| `critical_temp_celsius` | `float32` | Critical temperature in degrees Celsius. | No default |

### TripPointDescriptor

*Defined in [fuchsia.hardware.trippoint/trippoint.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.trippoint/trippoint.fidl;l=59)*

| Field | Type | Description | Default |
|---|---|---|---|
| `type` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.trippoint#TripPointType` | The type of this trip point as defined by the hardware. | No default |
| `index` | `uint32` | The index of the trip point being configured. Trip points are always numbered 0 to N-1 where N is the number of available hardware trip points. | No default |
| `configuration` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.trippoint#TripPointValue` | If unset the type of this configuration will be `cleared_trip_point` otherwise it will be a TripPointValue that corresponds to the type defined by `type`. | No default |

### TripPointResult

*Defined in [fuchsia.hardware.trippoint/trippoint.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.trippoint/trippoint.fidl;l=34)*

| Field | Type | Description | Default |
|---|---|---|---|
| `measured_temperature_celsius` | `float32` | The temperature measured by the sensor. NaN if a measurement was not performed. | No default |
| `index` | `uint32` | The index of the trip point that was configured. | No default |

### TripPoint_GetTripPointDescriptors_Response

*Defined in [fuchsia.hardware.trippoint/trippoint.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.trippoint/trippoint.fidl;l=82)*

| Field | Type | Description | Default |
|---|---|---|---|
| `descriptors` | `vector<https://fuchsia.dev/reference/fidl/fuchsia.hardware.trippoint#TripPointDescriptor>` |   | No default |

### TripPoint_SetTripPoints_Response

*Defined in [fuchsia.hardware.trippoint/trippoint.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.trippoint/trippoint.fidl;l=100)*

\<EMPTY\>

### TripPoint_WaitForAnyTripPoint_Response

*Defined in [fuchsia.hardware.trippoint/trippoint.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.trippoint/trippoint.fidl;l=106)*

| Field | Type | Description | Default |
|---|---|---|---|
| `result` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.trippoint#TripPointResult` |   | No default |

## **ENUMS**

### TripPointType [flexible](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

Type: `uint16`

*Defined in [fuchsia.hardware.trippoint/trippoint.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.trippoint/trippoint.fidl;l=16)*

Denotes the type of a particular trip point.

<br />

| Name | Value | Description |
|---|---|---|
| ### ONESHOT_TEMP_ABOVE | `1` | This type of trip point is denoted by a critical temperature at which the trip point triggers and a direction. Once the trip point fires it is no longer configured and must be rearmed before it can fire again. |
| ### ONESHOT_TEMP_BELOW | `2` |   |

## **UNIONS**

### Debug_Trip_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.hardware.trippoint/debug.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.trippoint/debug.fidl;l=16)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.trippoint#Debug_Trip_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/zx//https://fuchsia.dev/reference/zx#Status` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

### TripPointValue [flexible](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.hardware.trippoint/trippoint.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.trippoint/trippoint.fidl;l=25)*

A union that defines all the possible types of trip points.

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `cleared_trip_point` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.trippoint#ClearedTripPoint` | This is a special reserved type of trip point that can be used by clients to clear previously configured trip point. |
| ### 2 | `oneshot_temp_above_trip_point` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.trippoint#OneshotTempAboveTripPoint` |   |
| ### 3 | `oneshot_temp_below_trip_point` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.trippoint#OneshotTempBelowTripPoint` |   |

<br />

### TripPoint_GetTripPointDescriptors_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.hardware.trippoint/trippoint.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.trippoint/trippoint.fidl;l=82)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.trippoint#TripPoint_GetTripPointDescriptors_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/zx//https://fuchsia.dev/reference/zx#Status` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

### TripPoint_SetTripPoints_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.hardware.trippoint/trippoint.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.trippoint/trippoint.fidl;l=100)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.trippoint#TripPoint_SetTripPoints_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/zx//https://fuchsia.dev/reference/zx#Status` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

### TripPoint_WaitForAnyTripPoint_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.hardware.trippoint/trippoint.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.trippoint/trippoint.fidl;l=106)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.trippoint#TripPoint_WaitForAnyTripPoint_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/zx//https://fuchsia.dev/reference/zx#Status` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

## **SERVICES**

### DebugService

*Defined in [fuchsia.hardware.trippoint/debug.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.trippoint/debug.fidl;l=19)*

| Name | Type | Transport |
|---|---|---|
| [debug](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.trippoint/debug.fidl;l=20) | `fuchsia.hardware.trippoint/Debug` | Channel |

<br />

### Service

*Defined in [fuchsia.hardware.trippoint/trippoint.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.trippoint/trippoint.fidl;l=111)*

| Name | Type | Transport |
|---|---|---|
| [trippoint](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.trippoint/trippoint.fidl;l=112) | `fuchsia.hardware.trippoint/TripPoint` | Channel |

<br />