專家
裝置
定義於 fuchsia.hardware.i2c/i2c.fidl
取得名稱
取得這部 I2C 裝置的名稱。如未指定名稱或空白字串,系統會傳回 ZX_ERR_NOT_SUPPORTED。
要求
<空白>
回應
名稱 | 類型 |
---|---|
payload |
Device_GetName_Result
|
轉移
針對特定 I2C 裝置核發一或多項交易。
每個 Transaction
都會依照 transactions
中顯示的順序執行。如有讀取移轉作業的資料,系統會透過 read_data
傳回,後者會針對 transactions
中的每項讀取轉移提供一個項目。交易處理作業會持續執行,直到所有移轉作業都完成、發生錯誤,或目標發出 NACK 回應寫入移轉作業為止。
可能的錯誤值為 ZX_ERR_INVALID_ARGS:transactions
沒有任何元素、Transaction
未指定 data_transfer
,或者長度為零的 DataTransfer
。ZX_ERR_OUT_OF_RANGE:DataTransfer
過大,無法由這個 I2C 控制器處理。
ZX_ERR_IO_NOT_PRESENT:裝置未回應其 I2C 地址。
ZX_ERR_IO_REFUSED:裝置在寫入傳輸結束前核發了 NACK。
要求
名稱 | 類型 |
---|---|
transactions |
vector<Transaction>[256]
|
回應
名稱 | 類型 |
---|---|
payload |
Device_Transfer_Result
|
結構
裝置取得名稱回應
定義於 fuchsia.hardware.i2c/i2c.fidl
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
name |
string[64]
|
無預設 |
裝置轉移_回應
定義於 fuchsia.hardware.i2c/i2c.fidl
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
read_data |
vector<vector<uint8>>[256]
|
無預設 |
資料表
交易
定義於 fuchsia.hardware.i2c/i2c.fidl
data_transfer
是必要項目,並指定這筆交易屬於讀取或寫入傳輸 (請參閱上文)。stop
是選用項目,用於指定交易是由停止條件 (如果是 true) 或重複開始 (如果為 false 或未指定) 終止。如果此交易是清單中的最後一個交易,則無論 stop
的值為何,系統都會產生停止條件。
序數 | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
data_transfer |
DataTransfer
|
|
2 |
stop |
bool
|
聯合國
資料移轉彈性
定義於 fuchsia.hardware.i2c/i2c.fidl
如果已設定 read_size
:這是讀取移轉,而且會從目標讀取 read_size
個位元組。如果已設定 write_data
:這是寫入轉移,且 write_data
會寫入目標。
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
read_size |
uint32
|
|
2 |
write_data |
vector<uint8>[32768]
|
Device_GetName_Result 嚴格
定義於 fuchsia.hardware.i2c/i2c.fidl
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Device_GetName_Response
|
|
2 |
err |
zx/Status
|
Device_Transfer_Result 嚴格
定義於 fuchsia.hardware.i2c/i2c.fidl
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Device_Transfer_Response
|
|
2 |
err |
zx/Status
|
場景
名稱 | 值 | 類型 | 說明 |
---|---|---|---|
MAX_COUNT_TRANSACTIONS 個 |
256
|
uint32 |
可在呼叫 |
MAX_I2C_NAME_LEN |
64
|
uint32 |
I2C 頻道名稱的長度上限。 已新增:11
|
最大傳輸比例 |
32768
|
uint32 |
使用大型傳輸作業或進行多次交易時,用戶端應瞭解管道訊息大小上限。如果產生的訊息值低於下列限制,可能會對管道造成太大影響。 單一 |
別名
名稱 | 值 | 說明 |
---|---|---|
讀取資料 |
vector [MAX_TRANSFER_SIZE ]敬上 |
用於從讀取移轉作業傳回資料。 |
服務
服務
定義於 fuchsia.hardware.i2c/i2c.fidl
名稱 | 類型 | 傳輸 |
---|---|---|
裝置 |
fuchsia.hardware.i2c/Device
|
版本 |