Fuchsia.thermal

新增:7

通訊協定

ClientStateConnector

定義於 fuchsia.thermal/client_state.fidl

允許用戶端將 ClientStateWatcher 連線至特定 ClientType 的熱狀態。

連線

將 ClientStateWatcher 連線至指定 ClientType 的熱狀態。

用戶端可以呼叫這個方法,並立即開始使用 ClientStateWatcher 用戶端端點。

如果 client_type 與中央散熱設定中的用戶端項目不完全相符 (區分大小寫),要求就會失敗。如果失敗,watcher 伺服器端點和目前的 ClientStateConnector 連線都會終止。

  • client_type 指定應連線至 watcher 的用戶端專屬散熱狀態。只有在與中央散熱設定中找到的用戶端項目相符時,該值才有效。

  • watcher 是 ClientStateWatcher 管道的伺服器端點,會連線至 client_type 的熱狀態。

要求

名稱類型
client_type ClientType
watcher server_end:ClientStateWatcher

ClientStateWatcher

定義於 fuchsia.thermal/client_state.fidl

允許用戶端監控熱力狀態變化。

這項通訊協定無法直接連線至服務。相反地,ClientStateWatcher 管道的伺服器端點必須使用 [ClientStateConnector.Connect'] method. The client endpoint of a ClientStateWatcher` 管道連線至所需用戶端類型的熱狀態,只有在以這種方式連線後,該管道才有用。

智慧手錶

監控用戶端的熱力狀態變化。

用戶端的熱狀態取決於其特定類型的中央熱設定。詳情請參閱 README.md。

在特定連線上,第一次呼叫會立即傳回用戶端目前的溫度狀態。只有在用戶端的溫度狀態變更時,後續的 Watch 要求才會傳回新的 state。這會遵循懸置 get 模式。

  • state 是無正負號的整數,代表用戶端的熱狀態。

要求

<EMPTY>

回應

名稱類型
state uint64

SensorManager

定義於 fuchsia.thermal/sensor_manager.fidl

管理熱感應器互動和運作狀態的介面。

新增:HEAD

ClearTemperatureOverride

清除 SetTemperatureOverride 設定的溫度覆寫。如果未設定溫度覆寫值,這項互動就不會執行任何動作。

如果找不到具有指定 name 的感應器,則會傳回 ClearTemperatureOverrideError.SENSOR_NOT_FOUND。

要求

名稱類型
name fuchsia.hardware.temperature/SensorName

回應

名稱類型
payload SensorManager_ClearTemperatureOverride_Result

連線

使用指定的 name 連線至熱感應器。

如果未提供任何必要引數,系統會傳回 ConnectError.INVALID_ARGUMENTS。

如果找不到具有指定 name 的感應器,則會傳回 ConnectError.SENSOR_NOT_FOUND。

要求

名稱類型
payload SensorManagerConnectRequest

回應

名稱類型
payload SensorManager_Connect_Result

ListSensors

列出用戶端可控制及連結的感應器。

要求

<EMPTY>

回應

名稱類型
payload SensorManager_ListSensors_Result

SetTemperatureOverride

為感應器設定覆寫溫度,並使用 name。

設定覆寫溫度後,內部散熱政策會使用覆寫溫度。從 Connect 提供的感應器連線擷取的溫度值,也會收到覆寫溫度。

這項互動不會影響熱感應器本身。如果用戶端直接連線至感應器,而未使用 Connect,則會收到實際的感應器值。

如果找不到具有指定 name 的感應器,則會傳回 SetTemperatureOverrideError.SENSOR_NOT_FOUND。

要求

名稱類型
name fuchsia.hardware.temperature/SensorName
override_temperature float32

回應

名稱類型
payload SensorManager_SetTemperatureOverride_Result

STRUCTS

SensorManager_ClearTemperatureOverride_Response

定義於 fuchsia.thermal/sensor_manager.fidl

<EMPTY>

SensorManager_Connect_Response

定義於 fuchsia.thermal/sensor_manager.fidl

<EMPTY>

SensorManager_ListSensors_Response

定義於 fuchsia.thermal/sensor_manager.fidl

欄位類型說明預設
sensors vector<SensorInfo> 無預設值

SensorManager_SetTemperatureOverride_Response

定義於 fuchsia.thermal/sensor_manager.fidl

<EMPTY>

ENUMS

ClearTemperatureOverrideError 彈性

類型:uint32

定義於 fuchsia.thermal/sensor_manager.fidl

呼叫 SensorManager.ClearTemperatureOverrideError 時傳回的錯誤。

新增:HEAD

名稱值說明
1
2

ConnectError 彈性

類型:uint32

定義於 fuchsia.thermal/sensor_manager.fidl

呼叫 SensorManager.ConnectError 時傳回的錯誤。

新增:HEAD

名稱值說明
1
2
3

SetTemperatureOverrideError 彈性

類型:uint32

定義於 fuchsia.thermal/sensor_manager.fidl

呼叫 SensorManager.SetTemperatureOverride 時傳回的錯誤。

新增:HEAD

名稱值說明
1
2

TABLES

SensorInfo

定義於 fuchsia.thermal/sensor_manager.fidl

感應器相關資訊。

新增:HEAD

序數欄位類型說明
name fuchsia.hardware.temperature/SensorName

不重複的主機板層級感應器名稱/類型 ID (例如,由用戶端散熱設定比對,並在 Starnix 中公開為 thermal_zone<N>/type)。

SensorManagerConnectRequest 資源

定義於 fuchsia.thermal/sensor_manager.fidl

序數欄位類型說明
name fuchsia.hardware.temperature/SensorName

必填。

server_end SensorServer

必要。 選取要連線至感應器的通訊協定介面 (temperature 或 trippoint)。

UNIONS

SensorManager_ClearTemperatureOverride_Result strict

定義於 fuchsia.thermal/sensor_manager.fidl

序數Variant類型說明
response SensorManager_ClearTemperatureOverride_Response
err ClearTemperatureOverrideError
framework_err internal

SensorManager_Connect_Result strict

定義於 fuchsia.thermal/sensor_manager.fidl

序數Variant類型說明
response SensorManager_Connect_Response
err ConnectError
framework_err internal

SensorManager_ListSensors_Result strict

定義於 fuchsia.thermal/sensor_manager.fidl

序數Variant類型說明
response SensorManager_ListSensors_Response
framework_err internal

SensorManager_SetTemperatureOverride_Result strict

定義於 fuchsia.thermal/sensor_manager.fidl

序數Variant類型說明
response SensorManager_SetTemperatureOverride_Response
err SetTemperatureOverrideError
framework_err internal

SensorServer 彈性 資源

定義於 fuchsia.thermal/sensor_manager.fidl

溫度感應器連線的伺服器端。

新增:HEAD
序數Variant類型說明
temperature server_end:fuchsia.hardware.temperature/Device

連線至感應器的 fuchsia.hardware.temperature.Device 通訊協定。

trippoint server_end:fuchsia.hardware.trippoint/TripPoint

連線至感應器的 fuchsia.hardware.trippoint.TripPoint 通訊協定。

所有連接到同一個感應器的用戶端,都會共用觸發點設定 (SetTripPoints、GetTripPointDescriptors 和 WaitForAnyTripPoint)。

常數

名稱值類型說明
MAX_THERMAL_LOAD 100 uint32

正規化熱負荷的最大值。這個值會限制正規化熱限制範圍的寬度 (以及精確度),從 0 開始。行程點必須在這個範圍內指定。

別名

名稱值說明
ClientType string[8]

代表使用通訊協定的用戶端類型。

ClientType 會做為 ClientStateConnector.Connect 的參數,將 ClientStateWatcher 連線至所需用戶端類型的散熱狀態。

ClientType 值應描述用戶端代表的子系統類型,且必須與中央散熱設定中的用戶端項目完全相符 (區分大小寫)。常見的例子包括「audio」、「wifi」等。