通訊協定
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
管理熱感應器互動和運作狀態的介面。
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 時傳回的錯誤。
| 名稱 | 值 | 說明 |
|---|---|---|
內部 |
1 |
|
SENSOR_NOT_FOUND |
2 |
ConnectError 彈性
類型:uint32
定義於 fuchsia.thermal/sensor_manager.fidl
呼叫 SensorManager.ConnectError 時傳回的錯誤。
| 名稱 | 值 | 說明 |
|---|---|---|
內部 |
1 |
|
INVALID_ARGUMENTS |
2 |
|
SENSOR_NOT_FOUND |
3 |
SetTemperatureOverrideError 彈性
類型:uint32
定義於 fuchsia.thermal/sensor_manager.fidl
呼叫 SensorManager.SetTemperatureOverride 時傳回的錯誤。
| 名稱 | 值 | 說明 |
|---|---|---|
內部 |
1 |
|
SENSOR_NOT_FOUND |
2 |
TABLES
SensorInfo
定義於 fuchsia.thermal/sensor_manager.fidl
感應器相關資訊。
| 序數 | 欄位 | 類型 | 說明 |
|---|---|---|---|
1 |
name |
fuchsia.hardware.temperature/SensorName
|
不重複的主機板層級感應器名稱/類型 ID (例如,由用戶端散熱設定比對,並在 Starnix 中公開為 |
SensorManagerConnectRequest 資源
定義於 fuchsia.thermal/sensor_manager.fidl
| 序數 | 欄位 | 類型 | 說明 |
|---|---|---|---|
1 |
name |
fuchsia.hardware.temperature/SensorName
|
必填。 |
2 |
server_end |
SensorServer
|
必要。
選取要連線至感應器的通訊協定介面 ( |
UNIONS
SensorManager_ClearTemperatureOverride_Result strict
定義於 fuchsia.thermal/sensor_manager.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
SensorManager_ClearTemperatureOverride_Response
|
|
2 |
err |
ClearTemperatureOverrideError
|
|
3 |
framework_err |
internal
|
SensorManager_Connect_Result strict
定義於 fuchsia.thermal/sensor_manager.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
SensorManager_Connect_Response
|
|
2 |
err |
ConnectError
|
|
3 |
framework_err |
internal
|
SensorManager_ListSensors_Result strict
定義於 fuchsia.thermal/sensor_manager.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
SensorManager_ListSensors_Response
|
|
3 |
framework_err |
internal
|
SensorManager_SetTemperatureOverride_Result strict
定義於 fuchsia.thermal/sensor_manager.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
SensorManager_SetTemperatureOverride_Response
|
|
2 |
err |
SetTemperatureOverrideError
|
|
3 |
framework_err |
internal
|
SensorServer 彈性 資源
定義於 fuchsia.thermal/sensor_manager.fidl
溫度感應器連線的伺服器端。
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
temperature |
server_end:fuchsia.hardware.temperature/Device
|
連線至感應器的 |
2 |
trippoint |
server_end:fuchsia.hardware.trippoint/TripPoint
|
連線至感應器的 所有連接到同一個感應器的用戶端,都會共用觸發點設定 ( |
常數
| 名稱 | 值 | 類型 | 說明 |
|---|---|---|---|
| MAX_THERMAL_LOAD |
100
|
uint32 |
正規化熱負荷的最大值。這個值會限制正規化熱限制範圍的寬度 (以及精確度),從 0 開始。行程點必須在這個範圍內指定。 |
別名
| 名稱 | 值 | 說明 |
|---|---|---|
| ClientType |
string[8] |
代表使用通訊協定的用戶端類型。
|