# fuchsia.hardware.google.nanohub

<br />

The `fuchsia.hardware.google.nanohub` library defines the display protocol for
interacting with a display driver connected to a microcontroller unit (MCU).
This interface targets a specific piece of hardware, and may be revised in the future,
and aims to be an exact translation of an existing API.

This protocol provides methods to:

- Query the current operational mode and state of the display.
- Retrieve synchronization information, including brightness levels for different modes.
- Select the active display from a predefined set of options.

Added: HEAD

## **PROTOCOLS**

## DataChannel

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

DataChannel Implementation

<br />

### GetIdentifier

Returns the identifier associated with this connection.

#### Request

\<EMPTY\>

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#DataChannel_GetIdentifier_Result` |

### Read

The call will return the next datagram to be read from the channel.
If there is more data to be read, SIGNAL_READABLE will remain asserted
after this call returns.

#### Request

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#DataChannelReadRequest` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#DataChannel_Read_Result` |

### Register

Set event used to signal device state. Discards existing event
after having transferred device state to the new event.
This must be called before invoking Read or Write, and can fail with
ZX_ERR_NO_RESOURCES if the underlying channel is busy.

#### Request

| Name | Type |
|---|---|
| `event` | `handle<event>` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#DataChannel_Register_Result` |

### Write

The call will return once the data is fully committed.

If the driver is not ready for a write, it will return
ZX_ERR_NO_RESOURCES and the caller should await SIGNAL_WRITABLE to be
asserted.

#### Request

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#DataChannelWriteRequest` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#DataChannel_Write_Result` |

## Device

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

Client is expected to pass the vmo handle to nanohub when issuing a DownloadFirmware request.

<br />

### DownloadFirmware

Request to sent to nanohub to load the firmware.

#### Request

| Name | Type |
|---|---|
| `firmware` | `handle<vmo>` |
| `offset` | `uint64` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#Device_DownloadFirmware_Result` |

### GetFirmwareName

The name of the firmware binary running on the MCU.

#### Request

\<EMPTY\>

#### Response

| Name | Type |
|---|---|
| `firmware_name` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#FirmwareName` |

### GetFirmwareVersion

The version of the firmware binary running on the MCU.

#### Request

\<EMPTY\>

#### Response

| Name | Type |
|---|---|
| `version_info` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#McuVersionInfo` |

### GetTimeSync

The time since boot recorded by the AP and the MCU.

#### Request

\<EMPTY\>

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#Device_GetTimeSync_Result` |

### GetWakeUpEventDuration

Get the current duration of time the MCU will remain awake.

#### Request

\<EMPTY\>

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#Device_GetWakeUpEventDuration_Result` |

### HardwareReset

Initiates a hardware reset.

#### Request

| Name | Type |
|---|---|
| `isp_pin_0` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#PinState` |
| `isp_pin_1` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#PinState` |
| `isp_pin_2` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#PinState` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#Device_HardwareReset_Result` |

### SetWakeLock

Set an MCU wake lock request to prevent the MCU from entering a low-power state.

#### Request

| Name | Type |
|---|---|
| `value` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#McuWakeLockValue` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#Device_SetWakeLock_Result` |

### SetWakeUpEventDuration

Set a duration of time for the MCU to remain awake.

#### Request

| Name | Type |
|---|---|
| `duration` | `https://fuchsia.dev/reference/zx//https://fuchsia.dev/reference/zx#Duration` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#Device_SetWakeUpEventDuration_Result` |

## DisplayDevice

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

Protocol for interacting with the Google-specific display hardware.

<br />

### GetDisplayInfo

Gets synchronization information for the display. This can include
the display's mode, panel mode, and brightness levels.

#### Request

\<EMPTY\>

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#DisplayDevice_GetDisplayInfo_Result` |

### GetDisplaySelect

Gets the current display owner, which is either the AP (Application
Processor) or the MCU (Microcontroller Unit).

#### Request

\<EMPTY\>

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#DisplayDevice_GetDisplaySelect_Result` |

### GetDisplayState

Gets the current state of the display.

#### Request

\<EMPTY\>

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#DisplayDevice_GetDisplayState_Result` |

### SetDisplaySelect

Sets the display owner to be either the AP (Application Processor) or
the MCU (Microcontroller Unit).

#### Request

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#DisplayDeviceSetDisplaySelectRequest` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#DisplayDevice_SetDisplaySelect_Result` |

## HangingDataChannel

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

Provides a bound / connected session to a particular DataChannel. New connections should use the
UnboundHangingDataChannel to open a session of this procotol.
Calls to Read() on a HangingDataChannel will operate as a Hanging-Get, only returning once data
becomes available.

<br />

### Read

The call will return the next datagram to be read from the channel.
This call has hanging get semantics and will return once data is available.

#### Request

\<EMPTY\>

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#HangingDataChannel_Read_Result` |

### Write

The call will return once the data is fully committed.

If the driver is not ready for a write, it will return
ZX_ERR_NO_RESOURCES

#### Request

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#HangingDataChannelWriteRequest` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#HangingDataChannel_Write_Result` |

## LifecycleObserver

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

Observer interface for lifecycle events.

<br />

### OnLifecycleChange

Called when the lifecycle state changes.

#### Response

| Name | Type |
|---|---|
| `event` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#LifecycleEvent` |

## UnboundHangingDataChannel

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

### Bind

Returns a bound client
Will return ZX_ERR_ALREADY_BOUND if no instances are available

#### Request

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#UnboundHangingDataChannelBindRequest` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#UnboundHangingDataChannel_Bind_Result` |

### GetIdentifier

Returns the identifier associated with this connection.

#### Request

\<EMPTY\>

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#UnboundHangingDataChannel_GetIdentifier_Result` |

## UnboundWaitableDataChannel

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

Provides both service instance disambiguation as well as a notion of a disconnected data channel
via bind interface. Callers should use this protocol to acquire a bound WaitableDataChannel.

<br />

### Bind

Set event used to signal device state, using the signals above,
and returns a bound client.
Will return ZX_ERR_ALREADY_BOUND if no instances are available.

#### Request

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#UnboundWaitableDataChannelBindRequest` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#UnboundWaitableDataChannel_Bind_Result` |

### GetIdentifier

Returns the identifier associated with this connection.

#### Request

\<EMPTY\>

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#UnboundWaitableDataChannel_GetIdentifier_Result` |

## WaitableDataChannel

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

Provides a bound / connected session to a particular DataChannel. New connections should use the
UnboundWaitableDataChannel to open a session of this procotol.
Calls to Read() on a WaitableDataChannel will operate as a non-blocking operation. Callers
will need to use the event exchanged in the Bind() call to flag when data is available to read

<br />

### Read

The call will return the next datagram to be read from the channel.
If there is more data to be read, SIGNAL_READABLE will remain asserted
after this call returns.
If there is no data to be read, this call will return ZX_ERR_SHOULD_WAIT

#### Request

\<EMPTY\>

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#WaitableDataChannel_Read_Result` |

### Write

The call will return once the data is fully committed.

If the driver is not ready for a write, it will return
ZX_ERR_NO_RESOURCES and the caller should await SIGNAL_WRITABLE to be
asserted.

#### Request

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#WaitableDataChannelWriteRequest` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#WaitableDataChannel_Write_Result` |

## **STRUCTS**

### DataChannel_Register_Response

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

\<EMPTY\>

### DataChannel_Write_Response

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

\<EMPTY\>

### Device_DownloadFirmware_Response

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

\<EMPTY\>

### Device_GetWakeUpEventDuration_Response

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

| Field | Type | Description | Default |
|---|---|---|---|
| `duration` | `https://fuchsia.dev/reference/zx//https://fuchsia.dev/reference/zx#Duration` |   | No default |

### Device_HardwareReset_Response

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

\<EMPTY\>

### Device_SetWakeLock_Response

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

\<EMPTY\>

### Device_SetWakeUpEventDuration_Response

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

\<EMPTY\>

### DisplayDevice_SetDisplaySelect_Response

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

\<EMPTY\>

### HangingDataChannel_Write_Response

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

\<EMPTY\>

### HardwareResetPinStates

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

| Field | Type | Description | Default |
|---|---|---|---|
| `isp_pin_0` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#PinState` |   | No default |
| `isp_pin_1` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#PinState` |   | No default |
| `isp_pin_2` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#PinState` |   | No default |

### McuVersionInfo

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

| Field | Type | Description | Default |
|---|---|---|---|
| `hardware_type` | `uint16` |   | No default |
| `hardware_version` | `uint16` |   | No default |
| `bootloader_version` | `uint16` |   | No default |
| `os_version` | `uint16` |   | No default |
| `variant_version` | `uint32` |   | No default |

### UnboundHangingDataChannel_Bind_Response

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

\<EMPTY\>

### UnboundWaitableDataChannel_Bind_Response

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

\<EMPTY\>

### WaitableDataChannel_Write_Response

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

\<EMPTY\>

## **ENUMS**

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

Type: `uint8`

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

Represents the various modes the MCU display can be in.

<br />

| Name | Value | Description |
|---|---|---|
| ### NONE | `0` | The display is not in a known state. |
| ### INIT | `1` | The MCU stack is driving the display initializing. |
| ### OFF | `2` | The display is off. |
| ### IDLE | `3` | The display is in an idle, low-power state. |
| ### ON | `4` | The display is on. |
| ### HIGH_BRIGHTNESS | `5` | The display is in a high-brightness mode. |

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

Type: `int64`

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

Selects which processor has ownership of the display.

<br />

| Name | Value | Description |
|---|---|---|
| ### MCU | `0` | The MCU (Microcontroller Unit) has control of the display. |
| ### AP | `1` | The AP (Application Processor) has control of the display. |

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

Type: `uint32`

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

Events related to the lifecycle of the MCU.

<br />

| Name | Value | Description |
|---|---|---|
| ### UNCONFIGURED | `0` | Indicates the MCU is not currently configured. |
| ### START | `1` | Indicates the MCU is starting up. |
| ### READY | `2` | Indicates the MCU is ready to accept commands and data. |
| ### SHUTDOWN | `3` | Indicates the MCU is shutting down. |

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

Type: `uint8`

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

| Name | Value | Description |
|---|---|---|
| ### RELEASE | `0` |   |
| ### ACQUIRE | `1` |   |

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

Type: `uint32`

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

| Name | Value | Description |
|---|---|---|
| ### LOW | `0` |   |
| ### HIGH | `1` |   |

## **TABLES**

### DataChannelReadRequest

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

| Ordinal | Field | Type | Description |
|---|---|---|---|
| ### 1 | `blocking` | `bool` | If specified and set to false, then the call will return immediately if there is no data to read with ZX_ERR_SHOULD_WAIT. Otherwise the call has hanging get semantics and will return once data is available. |

### DataChannelWriteRequest

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

| Ordinal | Field | Type | Description |
|---|---|---|---|
| ### 1 | `data` | `vector<uint8>:255` |   |

### DataChannel_GetIdentifier_Response

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

| Ordinal | Field | Type | Description |
|---|---|---|---|
| ### 1 | `name` | `string:100` |   |

### DataChannel_Read_Response [resource](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#value-vs-resource)

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

| Ordinal | Field | Type | Description |
|---|---|---|---|
| ### 1 | `data` | `vector<uint8>:255` |   |
| ### 2 | `wake_lease` | `handle<eventpair>` |   |

### DisplayDeviceSetDisplaySelectRequest

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

| Ordinal | Field | Type | Description |
|---|---|---|---|
| ### 1 | `display_select` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#DisplaySelect` |   |

### DisplayDevice_GetDisplaySelect_Response

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

| Ordinal | Field | Type | Description |
|---|---|---|---|
| ### 1 | `display_select` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#DisplaySelect` |   |

### DisplayState

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

Represents the current state of the MCU display.

<br />

| Ordinal | Field | Type | Description |
|---|---|---|---|
| ### 1 | `mode` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#DisplayMode` | The current mode of the display. |

### DisplaySyncInfo

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

Contains synchronization information for the MCU display.

<br />

| Ordinal | Field | Type | Description |
|---|---|---|---|
| ### 1 | `display_mode` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#DisplayMode` | The current mode of the display. |
| ### 2 | `panel_mode` | `uint8` | The current panel mode. |
| ### 3 | `normal_brightness` | `uint16` | The normal brightness mode brightness level. |
| ### 4 | `always_on_display_brightness` | `uint16` | The always-on-display brightness level. |

### HangingDataChannelWriteRequest

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

| Ordinal | Field | Type | Description |
|---|---|---|---|
| ### 1 | `data` | `vector<uint8>:255` |   |

### HangingDataChannel_Read_Response [resource](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#value-vs-resource)

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

| Ordinal | Field | Type | Description |
|---|---|---|---|
| ### 1 | `data` | `vector<uint8>:255` |   |
| ### 2 | `wake_lease` | `handle<eventpair>` |   |

### McuTimeSyncInfo

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

| Ordinal | Field | Type | Description |
|---|---|---|---|
| ### 1 | `ap_boot_time` | `https://fuchsia.dev/reference/zx//https://fuchsia.dev/reference/zx#Time` |   |
| ### 2 | `mcu_boot_time` | `https://fuchsia.dev/reference/zx//https://fuchsia.dev/reference/zx#Time` |   |

### UnboundHangingDataChannelBindRequest [resource](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#value-vs-resource)

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

| Ordinal | Field | Type | Description |
|---|---|---|---|
| ### 1 | `server` | `server_end:https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#HangingDataChannel` |   |

### UnboundHangingDataChannel_GetIdentifier_Response

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

| Ordinal | Field | Type | Description |
|---|---|---|---|
| ### 1 | `name` | `string:100` |   |

### UnboundWaitableDataChannelBindRequest [resource](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#value-vs-resource)

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

| Ordinal | Field | Type | Description |
|---|---|---|---|
| ### 1 | `event` | `handle<event>` |   |
| ### 2 | `server` | `server_end:https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#WaitableDataChannel` |   |

### UnboundWaitableDataChannel_GetIdentifier_Response

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

| Ordinal | Field | Type | Description |
|---|---|---|---|
| ### 1 | `name` | `string:100` |   |

### WaitableDataChannelWriteRequest

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

| Ordinal | Field | Type | Description |
|---|---|---|---|
| ### 1 | `data` | `vector<uint8>:255` |   |

### WaitableDataChannel_Read_Response [resource](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#value-vs-resource)

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

| Ordinal | Field | Type | Description |
|---|---|---|---|
| ### 1 | `data` | `vector<uint8>:255` |   |

## **UNIONS**

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

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

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#DataChannel_GetIdentifier_Response` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

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

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

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

<br />

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

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

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

<br />

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

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

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

<br />

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

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

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#Device_DownloadFirmware_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/zx//https://fuchsia.dev/reference/zx#Status` |   |

<br />

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

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

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#McuTimeSyncInfo` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/zx//https://fuchsia.dev/reference/zx#Status` |   |

<br />

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

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

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#Device_GetWakeUpEventDuration_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/zx//https://fuchsia.dev/reference/zx#Status` |   |

<br />

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

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

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#Device_HardwareReset_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/zx//https://fuchsia.dev/reference/zx#Status` |   |

<br />

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

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

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#Device_SetWakeLock_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/zx//https://fuchsia.dev/reference/zx#Status` |   |

<br />

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

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

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#Device_SetWakeUpEventDuration_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/zx//https://fuchsia.dev/reference/zx#Status` |   |

<br />

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

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

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#DisplaySyncInfo` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/zx//https://fuchsia.dev/reference/zx#Status` |   |

<br />

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

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

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#DisplayDevice_GetDisplaySelect_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/zx//https://fuchsia.dev/reference/zx#Status` |   |

<br />

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

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

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#DisplayState` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/zx//https://fuchsia.dev/reference/zx#Status` |   |

<br />

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

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

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#DisplayDevice_SetDisplaySelect_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/zx//https://fuchsia.dev/reference/zx#Status` |   |

<br />

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

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

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

<br />

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

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

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

<br />

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

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

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

<br />

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

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

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#UnboundHangingDataChannel_GetIdentifier_Response` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

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

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

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

<br />

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

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

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.hardware.google.nanohub#UnboundWaitableDataChannel_GetIdentifier_Response` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

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

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

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

<br />

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

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

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

<br />

## **CONSTANTS**

| Name | Value | Type | Description |
|---|---|---|---|
| [MAX_ID_NAME_SIZE](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.google.nanohub/datachannel.fidl;l=10) | `100` | `uint32` |   |
| [MAX_MESSAGE_SIZE](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.google.nanohub/datachannel.fidl;l=9) | `255` | `uint32` | Maximum sized message that is supported |
| [SIGNAL_READABLE](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.google.nanohub/datachannel.fidl;l=14) | `16777216` | `uint32` | Signal that will be active on event handle if the Read() method will return data. |
| [SIGNAL_WAKELOCK](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.google.nanohub/datachannel.fidl;l=23) | `67108864` | `uint32` | Signal that will be asserted when SIGNAL_READABLE is set and remains asserted until a driver-defined timeout passes after the call to Read This is primarily intended for integration with Starnix |
| [SIGNAL_WRITABLE](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.google.nanohub/datachannel.fidl;l=18) | `33554432` | `uint32` | Signal that will be active on event handle if the Write() method will accept data. |

## **ALIASES**

| Name | Value | Description |
|---|---|---|
| [FirmwareName](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.google.nanohub/nanohub.fidl;l=8) | `string`\[`64`\] |   |

## **SERVICES**

### DataChannelService

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

| Name | Type | Transport |
|---|---|---|
| [device](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.google.nanohub/datachannel.fidl;l=162) | `fuchsia.hardware.google.nanohub/DataChannel` | Channel |
| [lifecycle](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.google.nanohub/datachannel.fidl;l=163) | `fuchsia.hardware.google.nanohub/LifecycleObserver` | Channel |

<br />

### DisplayService

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

| Name | Type | Transport |
|---|---|---|
| [mcudisplay](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.google.nanohub/nanohubdisplay.fidl;l=73) | `fuchsia.hardware.google.nanohub/DisplayDevice` | Channel |

<br />

### DriverDataChannelService

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

| Name | Type | Transport |
|---|---|---|
| [hanging](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.google.nanohub/datachannel.fidl;l=104) | `fuchsia.hardware.google.nanohub/UnboundHangingDataChannel` | Channel |
| [waitable](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.google.nanohub/datachannel.fidl;l=105) | `fuchsia.hardware.google.nanohub/UnboundWaitableDataChannel` | Channel |
| [lifecycle](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.google.nanohub/datachannel.fidl;l=106) | `fuchsia.hardware.google.nanohub/LifecycleObserver` | Channel |

<br />

### Service

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

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

<br />

### StarnixDataChannelService

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

| Name | Type | Transport |
|---|---|---|
| [hanging](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.google.nanohub/datachannel.fidl;l=112) | `fuchsia.hardware.google.nanohub/UnboundHangingDataChannel` | Channel |
| [waitable](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.google.nanohub/datachannel.fidl;l=113) | `fuchsia.hardware.google.nanohub/UnboundWaitableDataChannel` | Channel |
| [lifecycle](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.google.nanohub/datachannel.fidl;l=114) | `fuchsia.hardware.google.nanohub/LifecycleObserver` | Channel |

<br />