通訊協定
充電器
定義於 fuchsia.hardware.power.charger/charger.fidl
充電硬體的診斷和遙測介面。
這項通訊協定僅供讀取,支援多個用戶端同時存取。
ConfigureWatch
設定這個用戶端連線的感興趣欄位和喚醒觸發條件。
驅動程式會根據硬體功能篩選要求的遮罩,並在 effective_options 中傳回有效設定。
- 部分支援的選項:如果部分要求的欄位支援,其他欄位不支援 (例如要求不支援主動中斷通知的被動欄位,例如
input_voltage_uv或input_current_ua),驅動程式庫會啟用支援的欄位,並在effective_options中傳回主動子集。呼叫成功 (Ok)。 - 完全不支援的選項:如果指定了非空白遮罩,但「不支援」任何要求的欄位,驅動程式庫會傳回
NOT_SUPPORTED。
如果從未呼叫 ConfigureWatch,Watch 預設會在任何支援的欄位變更時傳回。驅動程式會匯總所有用戶端的限制,決定硬體回報率。
在 Watch 呼叫已待處理時呼叫 ConfigureWatch 會立即生效:如果目前的硬體狀態與新啟用欄位上最後傳送的快照不同,待處理的 Watch 會立即解析;否則,它會在更新的遮罩下保持待處理狀態。
如果 ConfigureWatch 傳回錯誤,連線先前的監控設定會維持不變。
參數:
options:要求的觀看選項。interest和wake_on都是選用欄位。
傳回值:
effective_options:驅動程式庫支援並啟用的要求選項子集。
錯誤:
NOT_SUPPORTED:要求非空白選項,但驅動程式庫不支援任何要求的興趣/喚醒欄位。
要求
| 名稱 | 類型 |
|---|---|
options |
WatchOptions
|
回應
| 名稱 | 類型 |
|---|---|
payload |
Charger_ConfigureWatch_Result
|
GetSpec
擷取充電器的靜態規格。
傳回值:
spec:充電器的靜態硬體特性和驅動程式庫功能。
錯誤:
NOT_SUPPORTED:硬體不提供靜態規格。IO:與充電器硬體通訊失敗 (例如 SPMI 傳輸失敗)。INTERNAL:內部驅動程式庫錯誤。
要求
<EMPTY>
回應
| 名稱 | 類型 |
|---|---|
payload |
Charger_GetSpec_Result
|
GetStatus
擷取充電器狀態的即時快照。
傳回值:
status:充電調節器及其輸入內容的完整目前遙測快照。
錯誤:
IO:與充電器硬體通訊失敗 (例如 SPMI 傳輸失敗)。INTERNAL:內部驅動程式庫錯誤。
要求
<EMPTY>
回應
| 名稱 | 類型 |
|---|---|
payload |
Charger_GetStatus_Result
|
智慧手錶
使用 hanging-get 模式監控充電器狀態變化。
第一次呼叫會立即傳回完整的目前硬體狀態。後續呼叫會遭到封鎖,直到狀態變更與 ConfigureWatch 中的遮罩相符為止。每次傳回的資料都是所有目前充電器欄位的完整遙測快照,而非稀疏差異。
每個連線最多只能有一個未完成的 Watch 呼叫;並行呼叫會失敗,並傳回 ALREADY_WATCHING。
參數:
lease:選用的電源租約權杖,用於協調用戶端和伺服器之間的交接,防止系統在處理重要充電器事件前暫停。如果省略,或驅動程式庫不支援任何wake_on欄位,則不會執行租約協調,且任何提供的權杖都會遭到捨棄,不會傳回wake_lease。
傳回值:
status:充電器的完整目前遙測快照。wake_lease:如果變更觸發wake_on條件,系統會提供選用的租約權杖。如果變更未觸發喚醒條件,或暫停協調功能未啟用,則會省略。
錯誤:
ALREADY_WATCHING:這個連線已有待處理的Watch呼叫。IO:與充電器硬體通訊失敗 (例如 SPMI 傳輸失敗)。INTERNAL:內部驅動程式庫錯誤。
要求
| 名稱 | 類型 |
|---|---|
lease |
fuchsia.power.system/LeaseToken
|
回應
| 名稱 | 類型 |
|---|---|
payload |
Charger_Watch_Result
|
控場
定義於 fuchsia.hardware.power.charger/charger.fidl
控制介面,用於變更充電器硬體狀態。
單一用戶端專屬 (硬體驅動程式) 與政策仲裁者
在硬體充電器驅動程式庫上,這項通訊協定會改變共用硬體狀態,並允許單一有效用戶端:當一個用戶端連線時,第二次連線嘗試會在任何要求獲得服務前,立即關閉並顯示 ZX_ERR_ALREADY_BOUND 墓誌銘。由使用者空間政策仲裁者 (例如 battery-manager) 提供服務時,多個政策用戶端可能會同時連線;每個連線都有獨立的投票,並使用限制欄位上的最小選取項目和 operating_mode 上的 Discharging > Passthrough > Charging 優先順序進行匯總。
連線範圍生命週期 (關閉時還原)
Controller 管道會對透過該管道套用的限制生命週期進行編碼。用戶端關閉管道 (或意外中斷連線) 時,系統會撤銷在該工作階段期間設定的所有限制 (等同於使用空白 ControlOptions 呼叫 ClearControl)。
偵錯覆寫
透過「偵錯」覆寫的欄位優先於這項通訊協定。設定覆寫欄位的要求會照常驗證並接受,但只有在覆寫清除後,新的限制 (例如 ClearControl 或關閉時還原) 才會套用至硬體。請參閱「偵錯」。
ClearControl
撤銷透過這個連線套用至 options 中欄位的限制。
options 會做為欄位遮罩:系統只會檢查欄位是否存在 (已設定與未設定),並忽略欄位值本身。
- 如果
options為空白 (未設定任何欄位),系統會撤銷透過這個連線套用的「所有」限制。 - 如果在
options中設定一或多個欄位,系統只會撤銷與這些欄位對應的限制,其他欄位則不受影響。
每個清除的欄位都會還原至下一個有效限制 (如有),否則會還原至 Controller 在關閉時還原的自主硬體 / 主機板設定預設值。如果指定欄位目前不受限制,則會成功執行,但不會產生任何效果。
參數:
options:應撤銷限制的ControlOptions欄位遮罩,或空白資料表,用於撤銷此連線的所有限制。
錯誤:
IO:與充電器硬體通訊失敗。無法還原的欄位會保留限制,因此可以重試呼叫。INTERNAL:內部驅動程式庫錯誤。
要求
| 名稱 | 類型 |
|---|---|
options |
ControlOptions
|
回應
| 名稱 | 類型 |
|---|---|
payload |
Controller_ClearControl_Result
|
SetControl
對充電器轉換器套用運作和電力限制。
驗證是不可分割的:如果要求遭拒並傳回 NOT_SUPPORTED 或 INVALID_ARGS,硬體和工作階段狀態會維持不變。只有在所有對應的硬體暫存器寫入作業完成,並由充電器 IC 確認後,系統才會傳回回應。
參數:
options:要套用的限制。現有欄位會覆寫先前為這個連線設定的限制;省略的欄位則會保留這個連線先前的限制。
錯誤:
NOT_SUPPORTED:一或多項要求的限制無法在這個硬體/仲裁器上調整,或Spec.supported_modes中缺少要求的operating_mode。INVALID_ARGS:要求的值超出硬體可程式化的範圍,或要求的operating_mode與有效電源路徑狀態衝突 (例如,在同一通訊埠上外部輸入電源連線時要求OperatingMode::OTG)。IO:與充電器硬體通訊失敗 (例如 SPMI 傳輸失敗)。INTERNAL:內部驅動程式庫錯誤。
要求
| 名稱 | 類型 |
|---|---|
options |
ControlOptions
|
回應
| 名稱 | 類型 |
|---|---|
payload |
Controller_SetControl_Result
|
偵錯
定義於 fuchsia.hardware.power.charger/charger.fidl
硬體電池充電器的偵錯控制介面。
組成 Controller,但不具備單一用戶端專屬性或關閉時還原生命週期,因此在正式政策用戶端與 Controller 保持連線時,指令列診斷公用程式 (例如 batteryutil) 和整合測試可以套用黏性充電器覆寫。只能透過 DebugService 存取。
覆寫優先順序
透過 SetControl 設定的每個欄位都會成為覆寫值,無論要求順序為何,其優先順序都高於控制器:設定覆寫欄位的控制器要求會經過驗證並接受,但只有在覆寫值清除後才會生效,且關閉時控制器還原會保留覆寫欄位。未覆寫的欄位仍由控制器控制。
固定效期 (關閉時不還原)
覆寫設定與套用設定的連線無關:關閉管道後,覆寫設定仍會生效,因此公用程式可以套用覆寫設定並結束。這些設定會持續生效,直到在 Debug 連線上呼叫 ClearControl 為止。
多個連線
Debug 連線可同時開啟任意數量,連線絕不會遭到 ZX_ERR_ALREADY_BOUND 拒絕。所有 Debug 連線都會共用一組 Debug 覆寫:每個欄位都以最新的 SetControl 為準,而 ClearControl 會撤回指定的 Debug 覆寫。
ClearControl
撤銷透過這個連線套用至 options 中欄位的限制。
options 會做為欄位遮罩:系統只會檢查欄位是否存在 (已設定與未設定),並忽略欄位值本身。
- 如果
options為空白 (未設定任何欄位),系統會撤銷透過這個連線套用的「所有」限制。 - 如果在
options中設定一或多個欄位,系統只會撤銷與這些欄位對應的限制,其他欄位則不受影響。
每個清除的欄位都會還原至下一個有效限制 (如有),否則會還原至 Controller 在關閉時還原的自主硬體 / 主機板設定預設值。如果指定欄位目前不受限制,則會成功執行,但不會產生任何效果。
參數:
options:應撤銷限制的ControlOptions欄位遮罩,或空白資料表,用於撤銷此連線的所有限制。
錯誤:
IO:與充電器硬體通訊失敗。無法還原的欄位會保留限制,因此可以重試呼叫。INTERNAL:內部驅動程式庫錯誤。
要求
| 名稱 | 類型 |
|---|---|
options |
ControlOptions
|
回應
| 名稱 | 類型 |
|---|---|
payload |
Controller_ClearControl_Result
|
SetControl
對充電器轉換器套用運作和電力限制。
驗證是不可分割的:如果要求遭拒並傳回 NOT_SUPPORTED 或 INVALID_ARGS,硬體和工作階段狀態會維持不變。只有在所有對應的硬體暫存器寫入作業完成,並由充電器 IC 確認後,系統才會傳回回應。
參數:
options:要套用的限制。現有欄位會覆寫先前為這個連線設定的限制;省略的欄位則會保留這個連線先前的限制。
錯誤:
NOT_SUPPORTED:一或多項要求的限制無法在這個硬體/仲裁器上調整,或Spec.supported_modes中缺少要求的operating_mode。INVALID_ARGS:要求的值超出硬體可程式化的範圍,或要求的operating_mode與有效電源路徑狀態衝突 (例如,在同一通訊埠上外部輸入電源連線時要求OperatingMode::OTG)。IO:與充電器硬體通訊失敗 (例如 SPMI 傳輸失敗)。INTERNAL:內部驅動程式庫錯誤。
要求
| 名稱 | 類型 |
|---|---|
options |
ControlOptions
|
回應
| 名稱 | 類型 |
|---|---|
payload |
Controller_SetControl_Result
|
STRUCTS
Charger_ConfigureWatch_Response
定義於 fuchsia.hardware.power.charger/charger.fidl
| 欄位 | 類型 | 說明 | 預設 |
|---|---|---|---|
effective_options |
WatchOptions
|
無預設值 |
Charger_GetSpec_Response
定義於 fuchsia.hardware.power.charger/charger.fidl
| 欄位 | 類型 | 說明 | 預設 |
|---|---|---|---|
spec |
Spec
|
無預設值 |
Charger_GetStatus_Response
定義於 fuchsia.hardware.power.charger/charger.fidl
| 欄位 | 類型 | 說明 | 預設 |
|---|---|---|---|
status |
Status
|
無預設值 |
Charger_Watch_Response 資源
定義於 fuchsia.hardware.power.charger/charger.fidl
| 欄位 | 類型 | 說明 | 預設 |
|---|---|---|---|
status |
Status
|
無預設值 | |
wake_lease |
fuchsia.power.system/LeaseToken
|
無預設值 |
Controller_ClearControl_Response
定義於 fuchsia.hardware.power.charger/charger.fidl
<EMPTY>
Controller_SetControl_Response
定義於 fuchsia.hardware.power.charger/charger.fidl
<EMPTY>
列舉
彈性充電階段
類型:uint32
定義於 fuchsia.hardware.power.charger/charger.fidl
說明充電器硬體的主動充電階段。
鋰離子電池充電通常會經歷不同階段:預先調節/涓流充電 -> 恆定電流 (快速) -> 恆定電壓 (漸減) -> 充飽電 -> 完成。
| 名稱 | 值 | 說明 |
|---|---|---|
無 |
1 |
充電器處於閒置、關閉或未供電給電池的狀態 (包括在直通、旁路或禁止充電模式下)。 |
TRICKLE |
2 |
預先判定 / 涓流充電階段。當電池電量嚴重耗盡,低於預充電壓門檻時,系統會將電流限制在安全的小範圍內,先恢復電池電壓,再進行快速充電。 |
快速 |
3 |
定電流 (CC) 快速充電階段。充電器會做為穩壓電流來源,提供最大程式化快速充電電流。 |
TAPER |
4 |
恆定電壓 (CV) 漸減階段。 電池電壓已達調節目標上限;隨著電池飽和,電流會自然下降。 |
TOP_OFF |
5 |
涓流充電階段。 達到 CV 終止門檻後,立即進入低電流充電階段,在停止前提供定時飽和。 |
完成 |
6 |
充電終止完成。
充電器已完成充電週期 (例如達到充飽計時器或終止電流門檻),並已切斷電池的充電電流,同時繼續供應系統負載。如果電池電壓低於充電門檻,充電器可能會自動重新進入 |
錯誤彈性
類型:uint32
定義於 fuchsia.hardware.power.charger/charger.fidl
充電器通訊協定傳回的錯誤。
| 名稱 | 值 | 說明 |
|---|---|---|
內部 |
1 |
驅動程式庫發生未預期的錯誤。 |
NOT_SUPPORTED |
2 |
這個硬體不支援要求的作業、欄位或模式。 |
INVALID_ARGS |
3 |
提供給方法的一或多個引數無效,或要求的值超出硬體可程式化的範圍。 |
IO |
4 |
無法與充電器硬體通訊 (例如匯流排傳輸錯誤)。 |
ALREADY_WATCHING |
5 |
這個連線已有待處理的 |
健康彈性
類型:uint32
定義於 fuchsia.hardware.power.charger/charger.fidl
充電轉換器的硬體健康狀態和故障情況。
| 名稱 | 值 | 說明 |
|---|---|---|
佳 |
1 |
正常運作;未偵測到故障或轉換器熱調節。 |
INPUT_OVER_VOLTAGE |
2 |
充電器供電軌的輸入電壓超過過電壓鎖定 (OVLO) 限制。 |
INPUT_UNDER_VOLTAGE |
3 |
充電器電源軌上的輸入電壓低於欠壓鎖定 (UVLO) 運作下限。 |
THERMAL_WARNING |
4 |
內部充電器晶粒溫度達到熱調節 (TREG) 門檻;轉換器仍在運作,但會主動降低電流,限制晶粒發熱。 |
THERMAL_SHUTDOWN |
5 |
內部充電器晶粒或輸入連接器溫度超過熱關機 (TSHDN) 保護限制,轉換器已暫停運作。 |
SAFETY_TIMER_EXPIRED |
6 |
硬體充電安全計時器在達到目標充電狀態前已逾時。 |
BATTERY_OVER_VOLTAGE |
7 |
充電器輸出軌感應到的電壓超過轉換器的過電壓門檻。 |
WATCHDOG_TIMER_EXPIRED |
8 |
硬體監控計時器已逾時 ( |
UNSPECIFIED_FAILURE |
9 |
未指定的充電器硬體錯誤。 |
OperatingMode flexible
類型:uint32
定義於 fuchsia.hardware.power.charger/charger.fidl
說明電源路徑和電池介面的主要電源轉換器運作狀態。
在 Status 中回報為狀態,並在 ControlOptions 中要求為目標。要求的模式會選取轉換器設定;隨後回報的狀態也會考量是否實際存在外部電源,因此在輸入消失後,留在 CHARGING 中的充電器會回報 DISCHARGING。
| 名稱 | 值 | 說明 |
|---|---|---|
充電 |
1 |
正常運作:外部電源供應系統軌並為電池充電。
要求這個模式後,會在 |
PASSTHROUGH |
2 |
禁止充電 / 直通:外部電源供應系統軌,但電池充電功能已停用 (電池處於目前的充電狀態)。 |
放電中 |
3 |
要求:強制放電。外部電源供應會暫停,系統完全由電池供電,但外部通訊 (例如 USB 資料) 仍會保持啟用。 回報狀態:電池正在為系統供電,原因可能是系統要求放電,或沒有外部電源。請使用 |
OTG |
4 |
OTG / 反向升壓:電力從電池向外輸出至外部連接埠。 |
SourceType flexible
類型:uint32
定義於 fuchsia.hardware.power.charger/charger.fidl
說明為充電器供電的外部電源類型。
| 名稱 | 值 | 說明 |
|---|---|---|
AC |
1 |
標準壁插式轉接器或專用充電器 (例如 BC1.2 DCP)。 |
USB |
2 |
標準 USB 主機或充電下游連接埠 (例如 BC1.2 SDP / CDP)。 |
無線網路 |
3 |
感應式或磁共振無線充電板 (例如 WCIN / Qi)。 |
TABLES
ControlOptions
定義於 fuchsia.hardware.power.charger/charger.fidl
充電器轉換器適用的操作和電氣限制。
這是部分更新:系統只會套用現有欄位,任何省略的欄位都會保留對應的硬體設定。Controller 連線保持開啟時,如要放寬或撤銷先前套用的限制,請再次將欄位設為所需的值,並使用要撤銷的欄位遮罩呼叫 Controller.ClearControl,或關閉 Controller 管道以撤銷所有限制並還原驅動程式庫預設值。
離散硬體暫存器步驟之間的值會朝符合限制的方向四捨五入。上限 (電流和電壓限制) 會無條件捨去,因此低於最低可程式化步階的值會遭到拒絕,並傳回 Error::INVALID_ARGS;input_voltage_limit_uv 下限會無條件進位,因此低於最低可程式化步階的值會限制為該值。
| 序數 | 欄位 | 類型 | 說明 |
|---|---|---|---|
1 |
operating_mode |
OperatingMode
|
電源轉換器的所需運作模式。 |
2 |
input_current_limit_ua |
uint32
|
輸入電源路徑中設定的有效輸入電流限制 (ICL),以微安為單位。離散硬體暫存器步階之間的值會無條件捨去至最接近的可程式化步階,因此絕對不會超過要求的上限。 |
3 |
charge_current_limit_ua |
uint32
|
電池的主動快速充電電流 (FCC) 調節限制,以微安培為單位。離散硬體暫存器步階之間的值會無條件捨去至最接近的可程式化步階,因此絕對不會超過要求的上限。 |
4 |
float_voltage_uv |
uint32
|
電池的主動浮動 (恆定電壓 / CV) 調節目標,以微伏為單位 (受 |
5 |
charge_term_current_ua |
uint32
|
主動充電終止 (充飽 / 逐漸減少) 電流門檻,以微安為單位。離散硬體暫存器步階之間的值,會無條件捨去至最接近的可程式化步階。 |
6 |
input_voltage_limit_uv |
uint32
|
最低輸入電壓調節下限 (VINDPM),單位為微伏特。如果低於這個值,轉換器會限制輸入電流,防止來源崩潰。離散硬體暫存器步階之間的值會四捨五入至最接近的可程式化步階,因此輸入電壓絕不會低於要求的下限。 |
規格
定義於 fuchsia.hardware.power.charger/charger.fidl
靜態硬體特性和驅動程式庫功能。
| 序數 | 欄位 | 類型 | 說明 |
|---|---|---|---|
1 |
max_charge_current_ua |
uint32
|
選用。充電器硬體可供應給電池的最大電流,以微安培為單位。如果硬體不支援,則會省略。 |
2 |
max_charge_voltage_uv |
uint32
|
選用。充電器硬體可調節的電池最大電壓,以微伏為單位。如果硬體不支援,則會省略。 |
3 |
max_input_current_ua |
uint32
|
選用。充電器輸入電源路徑可汲取的最大輸入電流,以微安培為單位。如果硬體不支援,則會省略。 |
4 |
model |
string:128
|
選用。充電器型號字串或製造商零件編號。如果硬體不明或未經程式設計,則會省略。 |
5 |
supported_modes |
vector<OperatingMode>:16
|
選用。這個充電器硬體實作支援的作業模式清單。如果硬體不支援或無法設定,則會省略。 |
6 |
supported_options |
WatchOptions
|
此為必要項目。這個驅動程式庫/硬體支援的興趣和喚醒選項。 驅動程式必須填入這個表格,用戶端才能知道哪些欄位支援主動變更通知。如果驅動程式庫省略這個欄位,用戶端應假設不支援主動中斷監控。
|
7 |
precharge_current_ua |
uint32
|
選用。電池電壓低於快速充電門檻時,提供的涓流/預充電電流,以微安為單位。如果硬體不支援,則會省略。 |
8 |
charge_term_current_ua |
uint32
|
選用。預設或最低充電終止 (頂端 / 錐形截止) 電流門檻,以微安為單位。如果硬體不支援,則會省略。 |
9 |
recharge_voltage_uv |
uint32
|
選用。電池電壓門檻 (或低於浮動電壓),充電器達到 |
10 |
min_input_voltage_uv |
uint32
|
選用。可程式輸入電壓調節下限 (VINDPM),單位為微伏。如果硬體不支援,則會省略。 |
11 |
max_input_voltage_uv |
uint32
|
選用。可程式化輸入電壓調節下限 (VINDPM) 最大值,以微伏為單位。如果硬體不支援,則會省略。 |
狀態
定義於 fuchsia.hardware.power.charger/charger.fidl
充電調節器及其電源輸入的主要遙測快照。
| 序數 | 欄位 | 類型 | 說明 |
|---|---|---|---|
1 |
online |
bool
|
外接電源供應器或轉接頭 (例如 VBUS / USB-C / 無線) 是否已實際連接並提供有效電源。如果為 false,則未偵測到外部來源。如果附件狀態不確定,則會省略。 |
2 |
input_voltage_uv |
uint32
|
從外部電源測得的輸入電壓,以微伏為單位。如果硬體不支援或無法使用,則會省略。 |
3 |
input_current_ua |
int32
|
從外部電源測得的輸入電流,以微安培為單位。正值 (+) 表示從外部電源流入充電器的電流;負值 (-) 表示流向外部連接埠的電流 (例如在 |
4 |
operating_mode |
OperatingMode
|
電源轉換器和電池介面的有效運作模式。如果無法確定或硬體不支援,則會省略。 |
5 |
charge_phase |
ChargePhase
|
目前的充電階段。如果無法確定或硬體不支援,則會省略。 |
6 |
input_current_limit_ua |
uint32
|
輸入電源路徑中設定的有效輸入電流限制 (ICL),以微安為單位。代表充電器可從外部輸入端汲取的最大電流。如果無法確定或硬體不支援,則會省略。 |
7 |
charge_current_limit_ua |
uint32
|
為電池設定的有效快速充電電流 (FCC) 調節限制,以微安為單位。代表快速充電期間,傳送至電池端子的目標恆定電流。如果無法確定或硬體不支援,則會省略。 |
8 |
float_voltage_uv |
uint32
|
為電池設定的主動浮動 (恆定電壓 / CV) 調節目標,以微伏為單位。代表電池組的最大端電壓 (與靜態硬體上限 |
9 |
source_type |
SourceType
|
偵測到的外部電源供應器類型,用於為充電器供電。如果狀態不確定或已中斷連線,則會省略。 |
10 |
health |
Health
|
充電轉換器的硬體健康狀態和故障情況。 如果無法確定或硬體不支援,則會省略。 |
11 |
charge_term_current_ua |
uint32
|
充電器中設定的主動充電終止 (充飽 / 逐漸減少截止) 電流門檻,以微安為單位。如果無法確定或硬體不支援,則會省略。 |
12 |
input_voltage_limit_uv |
uint32
|
輸入電源路徑中設定的主動式最低輸入電壓調節下限 (VINDPM),以微伏為單位。如果無法確定或硬體不支援,則會省略。 |
WatchOptions
定義於 fuchsia.hardware.power.charger/charger.fidl
充電器狀態監控的設定選項。
這兩個欄位都是選用遮罩。在 interest 和 wake_on 中,系統會忽略 Status 資料表中的實際欄位值,只根據欄位是否存在 (已設定與未設定) 來決定遮罩。
如果沒有遮罩,代表「使用這個欄位的預設值」;如果遮罩存在但空白,則代表「沒有欄位」。這兩個預設值之所以不同,是因為安全選擇不同:interest 預設為驅動程式庫支援監控的所有項目,因此即使用戶端從未設定任何項目,仍會繼續進行,而 wake_on 預設為不監控任何項目,因為喚醒系統是用戶端必須選擇加入的成本。
| 序數 | 欄位 | 類型 | 說明 |
|---|---|---|---|
1 |
interest |
Status
|
用戶端想接收變更通知的欄位。預設為 |
2 |
wake_on |
Status
|
應主動將系統從暫停狀態喚醒的欄位。 |
UNIONS
Charger_ConfigureWatch_Result strict
定義於 fuchsia.hardware.power.charger/charger.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
Charger_ConfigureWatch_Response
|
|
2 |
err |
Error
|
|
3 |
framework_err |
internal
|
Charger_GetSpec_Result strict
定義於 fuchsia.hardware.power.charger/charger.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
Charger_GetSpec_Response
|
|
2 |
err |
Error
|
|
3 |
framework_err |
internal
|
Charger_GetStatus_Result strict
定義於 fuchsia.hardware.power.charger/charger.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
Charger_GetStatus_Response
|
|
2 |
err |
Error
|
|
3 |
framework_err |
internal
|
Charger_Watch_Result strict resource
定義於 fuchsia.hardware.power.charger/charger.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
Charger_Watch_Response
|
|
2 |
err |
Error
|
|
3 |
framework_err |
internal
|
Controller_ClearControl_Result strict
定義於 fuchsia.hardware.power.charger/charger.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
Controller_ClearControl_Response
|
|
2 |
err |
Error
|
|
3 |
framework_err |
internal
|
Controller_SetControl_Result strict
定義於 fuchsia.hardware.power.charger/charger.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
Controller_SetControl_Response
|
|
2 |
err |
Error
|
|
3 |
framework_err |
internal
|
服務
DebugService
定義於 fuchsia.hardware.power.charger/charger.fidl
| 名稱 | 類型 | 傳輸 |
|---|---|---|
| debug |
fuchsia.hardware.power.charger/Debug
|
版本 |
服務
定義於 fuchsia.hardware.power.charger/charger.fidl
| 名稱 | 類型 | 傳輸 |
|---|---|---|
| 充電器 |
fuchsia.hardware.power.charger/Charger
|
版本 |
| 控制器 |
fuchsia.hardware.power.charger/Controller
|
版本 |