提交 3bd42008 编写于 作者: W wu-chengwen

fix(usb):add system api reference

Signed-off-by: Nwu-chengwen <wuchengwen4@huawei.com>
上级 56e37f66
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
本模块主要提供管理USB设备的相关功能,包括查询USB设备列表、批量数据传输、控制命令传输、权限控制等。 本模块主要提供管理USB设备的相关功能,包括查询USB设备列表、批量数据传输、控制命令传输、权限控制等。
> **说明:** > **说明:**
> >
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 > 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块 ## 导入模块
...@@ -22,66 +22,66 @@ getDevices(): Array&lt;Readonly&lt;USBDevice&gt;&gt; ...@@ -22,66 +22,66 @@ getDevices(): Array&lt;Readonly&lt;USBDevice&gt;&gt;
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | ---------------------------------------------------- | ------- |
| Array&lt;Readonly&lt;[USBDevice](#usbdevice)&gt;&gt; | 设备信息列表。 | | Array&lt;Readonly&lt;[USBDevice](#usbdevice)&gt;&gt; | 设备信息列表。 |
**示例:** **示例:**
```js
let devicesList = usb.getDevices();
console.log(`devicesList = ${JSON.stringify(devicesList)}`);
//devicesList 返回的数据结构
//此处提供一个简单的示例,如下
[
{
name: "1-1",
serial: "",
manufacturerName: "",
productName: "",
version: "",
vendorId: 7531,
productId: 2,
clazz: 9,
subclass: 0,
protocol: 1,
devAddress: 1,
busNum: 1,
configs: [
{
id: 1,
attributes: 224,
isRemoteWakeup: true,
isSelfPowered: true,
maxPower: 0,
name: "1-1",
interfaces: [
{
id: 0,
protocol: 0,
clazz: 9,
subclass: 0,
alternateSetting: 0,
name: "1-1",
endpoints: [
{
address: 129,
attributes: 3,
interval: 12,
maxPacketSize: 4,
direction: 128,
number: 1,
type: 3,
interfaceId: 0,
},
],
},
],
},
],
},
]
```
```js
let devicesList = usb.getDevices();
console.log(`devicesList = ${JSON.stringify(devicesList)}`);
//devicesList 返回的数据结构
//此处提供一个简单的示例,如下
[
{
name: "1-1",
serial: "",
manufacturerName: "",
productName: "",
version: "",
vendorId: 7531,
productId: 2,
clazz: 9,
subclass: 0,
protocol: 1,
devAddress: 1,
busNum: 1,
configs: [
{
id: 1,
attributes: 224,
isRemoteWakeup: true,
isSelfPowered: true,
maxPower: 0,
name: "1-1",
interfaces: [
{
id: 0,
protocol: 0,
clazz: 9,
subclass: 0,
alternateSetting: 0,
name: "1-1",
endpoints: [
{
address: 129,
attributes: 3,
interval: 12,
maxPacketSize: 4,
direction: 128,
number: 1,
type: 3,
interfaceId: 0,
},
],
},
],
},
],
},
]
```
## usb.connectDevice ## usb.connectDevice
...@@ -104,11 +104,11 @@ connectDevice(device: USBDevice): Readonly&lt;USBDevicePipe&gt; ...@@ -104,11 +104,11 @@ connectDevice(device: USBDevice): Readonly&lt;USBDevicePipe&gt;
| Readonly&lt;[USBDevicePipe](#usbdevicepipe)&gt; | 指定的传输通道对象。 | | Readonly&lt;[USBDevicePipe](#usbdevicepipe)&gt; | 指定的传输通道对象。 |
**示例:** **示例:**
```js
let devicepipe= usb.connectDevice(device);
console.log(`devicepipe = ${JSON.stringify(devicepipe)}`);
```
```js
let devicepipe= usb.connectDevice(device);
console.log(`devicepipe = ${JSON.stringify(devicepipe)}`);
```
## usb.hasRight ## usb.hasRight
...@@ -129,12 +129,12 @@ hasRight(deviceName: string): boolean ...@@ -129,12 +129,12 @@ hasRight(deviceName: string): boolean
| boolean | true表示有访问设备的权限,false表示没有访问设备的权限。 | | boolean | true表示有访问设备的权限,false表示没有访问设备的权限。 |
**示例:** **示例:**
```js
let devicesName="1-1";
let bool = usb.hasRight(devicesName);
console.log(bool);
```
```js
let devicesName="1-1";
let bool = usb.hasRight(devicesName);
console.log(bool);
```
## usb.requestRight ## usb.requestRight
...@@ -155,12 +155,13 @@ requestRight(deviceName: string): Promise&lt;boolean&gt; ...@@ -155,12 +155,13 @@ requestRight(deviceName: string): Promise&lt;boolean&gt;
| Promise&lt;boolean&gt; | 获取到true则表示软件包的临时权限已访问成功,&nbsp;获取到false则表示软件包的临时权限已访问失败。 | | Promise&lt;boolean&gt; | 获取到true则表示软件包的临时权限已访问成功,&nbsp;获取到false则表示软件包的临时权限已访问失败。 |
**示例:** **示例:**
```js
let devicesName="1-1"; ```js
usb.requestRight(devicesName).then((ret) => { let devicesName="1-1";
console.log(`requestRight = ${JSON.stringify(ret)}`); usb.requestRight(devicesName).then((ret) => {
}); console.log(`requestRight = ${JSON.stringify(ret)}`);
``` });
```
## usb.claimInterface ## usb.claimInterface
...@@ -185,11 +186,11 @@ claimInterface(pipe: USBDevicePipe, iface: USBInterface, force?: boolean): numbe ...@@ -185,11 +186,11 @@ claimInterface(pipe: USBDevicePipe, iface: USBInterface, force?: boolean): numbe
| number | 注册通信接口成功返回0;注册通信接口失败返回其他错误码。 | | number | 注册通信接口成功返回0;注册通信接口失败返回其他错误码。 |
**示例:** **示例:**
```js
let ret = usb.claimInterface(devicepipe, interfaces);
console.log(`claimInterface = ${ret}`);
```
```js
let ret = usb.claimInterface(devicepipe, interfaces);
console.log(`claimInterface = ${ret}`);
```
## usb.releaseInterface ## usb.releaseInterface
...@@ -213,11 +214,11 @@ releaseInterface(pipe: USBDevicePipe, iface: USBInterface): number ...@@ -213,11 +214,11 @@ releaseInterface(pipe: USBDevicePipe, iface: USBInterface): number
| number | 释放接口成功返回0;释放接口失败返回其他错误码。 | | number | 释放接口成功返回0;释放接口失败返回其他错误码。 |
**示例:** **示例:**
```js
let ret = usb.releaseInterface(devicepipe, interfaces);
console.log(`releaseInterface = ${ret}`);
```
```js
let ret = usb.releaseInterface(devicepipe, interfaces);
console.log(`releaseInterface = ${ret}`);
```
## usb.setConfiguration ## usb.setConfiguration
...@@ -241,10 +242,11 @@ setConfiguration(pipe: USBDevicePipe, config: USBConfig): number ...@@ -241,10 +242,11 @@ setConfiguration(pipe: USBDevicePipe, config: USBConfig): number
| number | 设置设备配置成功返回0;设置设备配置失败返回其他错误码。 | | number | 设置设备配置成功返回0;设置设备配置失败返回其他错误码。 |
**示例:** **示例:**
```js
let ret = usb.setConfiguration(devicepipe, config); ```js
console.log(`setConfiguration = ${ret}`); let ret = usb.setConfiguration(devicepipe, config);
``` console.log(`setConfiguration = ${ret}`);
```
## usb.setInterface ## usb.setInterface
...@@ -258,10 +260,10 @@ setInterface(pipe: USBDevicePipe, iface: USBInterface): number ...@@ -258,10 +260,10 @@ setInterface(pipe: USBDevicePipe, iface: USBInterface): number
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | ----- | ------------------------------- | --- | ------------- |
| pipe | [USBDevicePipe](#usbdevicepipe) | 是 | 用于确定总线号和设备地址。 | | pipe | [USBDevicePipe](#usbdevicepipe) | 是 | 用于确定总线号和设备地址。 |
| iface | [USBInterface](#usbinterface) | 是 | 用于确定需要设置的接口。 | | iface | [USBInterface](#usbinterface) | 是 | 用于确定需要设置的接口。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
...@@ -269,10 +271,11 @@ setInterface(pipe: USBDevicePipe, iface: USBInterface): number ...@@ -269,10 +271,11 @@ setInterface(pipe: USBDevicePipe, iface: USBInterface): number
| number | 设置设备接口成功返回0;设置设备接口失败返回其他错误码。 | | number | 设置设备接口成功返回0;设置设备接口失败返回其他错误码。 |
**示例:** **示例:**
```js
let ret = usb.setInterface(devicepipe, interfaces); ```js
console.log(`setInterface = ${ret}`); let ret = usb.setInterface(devicepipe, interfaces);
``` console.log(`setInterface = ${ret}`);
```
## usb.getRawDescriptor ## usb.getRawDescriptor
...@@ -285,6 +288,7 @@ getRawDescriptor(pipe: USBDevicePipe): Uint8Array ...@@ -285,6 +288,7 @@ getRawDescriptor(pipe: USBDevicePipe): Uint8Array
**系统能力:** SystemCapability.USB.USBManager **系统能力:** SystemCapability.USB.USBManager
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| pipe | [USBDevicePipe](#usbdevicepipe) | 是 | 用于确定总线号和设备地址。 | | pipe | [USBDevicePipe](#usbdevicepipe) | 是 | 用于确定总线号和设备地址。 |
...@@ -295,10 +299,10 @@ getRawDescriptor(pipe: USBDevicePipe): Uint8Array ...@@ -295,10 +299,10 @@ getRawDescriptor(pipe: USBDevicePipe): Uint8Array
| Uint8Array | 返回获取的原始数据;失败返回undefined。 | | Uint8Array | 返回获取的原始数据;失败返回undefined。 |
**示例:** **示例:**
```js
let ret = usb.getRawDescriptor(devicepipe);
```
```js
let ret = usb.getRawDescriptor(devicepipe);
```
## usb.getFileDescriptor ## usb.getFileDescriptor
...@@ -317,15 +321,15 @@ getFileDescriptor(pipe: USBDevicePipe): number ...@@ -317,15 +321,15 @@ getFileDescriptor(pipe: USBDevicePipe): number
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | ------ | -------------------- |
| number | 返回设备对应的文件描述符;失败返回-1。 | | number | 返回设备对应的文件描述符;失败返回-1。 |
**示例:** **示例:**
```js
let ret = usb.getFileDescriptor(devicepipe);
```
```js
let ret = usb.getFileDescriptor(devicepipe);
```
## usb.controlTransfer ## usb.controlTransfer
...@@ -350,12 +354,12 @@ controlTransfer(pipe: USBDevicePipe, contrlparam: USBControlParams, timeout?: nu ...@@ -350,12 +354,12 @@ controlTransfer(pipe: USBDevicePipe, contrlparam: USBControlParams, timeout?: nu
| Promise&lt;number&gt; | 获取传输或接收到的数据块大小,&nbsp;获取到-1则表示异常。 | | Promise&lt;number&gt; | 获取传输或接收到的数据块大小,&nbsp;获取到-1则表示异常。 |
**示例:** **示例:**
```js
usb.controlTransfer(devicepipe, USBControlParams).then((ret) => {
console.log(`controlTransfer = ${JSON.stringify(ret)}`);
})
```
```js
usb.controlTransfer(devicepipe, USBControlParams).then((ret) => {
console.log(`controlTransfer = ${JSON.stringify(ret)}`);
})
```
## usb.bulkTransfer ## usb.bulkTransfer
...@@ -381,15 +385,15 @@ bulkTransfer(pipe: USBDevicePipe, endpoint: USBEndpoint, buffer: Uint8Array, tim ...@@ -381,15 +385,15 @@ bulkTransfer(pipe: USBDevicePipe, endpoint: USBEndpoint, buffer: Uint8Array, tim
| Promise&lt;number&gt; | 获取传输或接收到的数据块大小,&nbsp;获取到-1则表示异常。 | | Promise&lt;number&gt; | 获取传输或接收到的数据块大小,&nbsp;获取到-1则表示异常。 |
**示例:** **示例:**
```js
//usb.getDevices 接口返回数据集合,取其中一个设备对象,并获取权限 。
//把获取到的设备对象作为参数传入usb.connectDevice;当usb.connectDevice接口成功返回之后;
//才可以调用第三个接口usb.claimInterface.当usb.claimInterface 调用成功以后,再调用该接口。
usb.bulkTransfer(devicepipe, endpoint, buffer).then((ret) => {
console.log(`bulkTransfer = ${JSON.stringify(ret)}`);
});
```
```js
//usb.getDevices 接口返回数据集合,取其中一个设备对象,并获取权限 。
//把获取到的设备对象作为参数传入usb.connectDevice;当usb.connectDevice接口成功返回之后;
//才可以调用第三个接口usb.claimInterface.当usb.claimInterface 调用成功以后,再调用该接口。
usb.bulkTransfer(devicepipe, endpoint, buffer).then((ret) => {
console.log(`bulkTransfer = ${JSON.stringify(ret)}`);
});
```
## usb.closePipe ## usb.closePipe
...@@ -412,149 +416,417 @@ closePipe(pipe: USBDevicePipe): number ...@@ -412,149 +416,417 @@ closePipe(pipe: USBDevicePipe): number
| number | 关闭设备消息控制通道成功返回0;关闭设备消息控制通道失败返回其他错误码。 | | number | 关闭设备消息控制通道成功返回0;关闭设备消息控制通道失败返回其他错误码。 |
**示例:** **示例:**
```js
let ret = usb.closePipe(devicepipe);
console.log(`closePipe = ${ret}`);
```
```js
let ret = usb.closePipe(devicepipe);
console.log(`closePipe = ${ret}`);
```
## usb.usbFunctionsFromString<sup>9+</sup>
usbFunctionsFromString(funcs: string): number
在设备模式下,将字符串形式的usb功能列表转化为数字掩码。
此接口为系统接口。
**系统能力:** SystemCapability.USB.USBManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ---------------------- |
| funcs | string | 是 | 字符串形式的功能列表。 |
**返回值:**
| 类型 | 说明 |
| ------ | ------------------ |
| number | 转化后的数字掩码。 |
**示例:**
```js
let funcs = "acm";
let ret = usb.usbFunctionsFromString(funcs);
```
## usb.usbFunctionsToString<sup>9+</sup>
usbFunctionsToString(funcs: FunctionType): string
在设备模式下,将数字掩码形式的usb功能列表转化为字符串。
此接口为系统接口。
**系统能力:** SystemCapability.USB.USBManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------------------------------ | ---- | ----------------- |
| funcs | [FunctionType](#functiontype9) | 是 | usb功能数字掩码。 |
**返回值:**
| 类型 | 说明 |
| ------ | ------------------------------ |
| string | 转化后的字符串形式的功能列表。 |
**示例:**
```js
let funcs = ACM | ECM;
let ret = usb.usbFunctionsToString(funcs);
```
## usb.setCurrentFunctions<sup>9+</sup>
setCurrentFunctions(funcs: FunctionType): Promise\<boolean\>
在设备模式下,设置当前的USB功能列表。
此接口为系统接口。
**系统能力:** SystemCapability.USB.USBManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------------------------------ | ---- | ----------------- |
| funcs | [FunctionType](#functiontype9) | 是 | USB功能数字掩码。 |
**返回值:**
| 类型 | 说明 |
| ------------------ | ------------------------------------------------------ |
| Promise\<boolean\> | 设置USB功能列表是否成功,true表示成功,false表示失败。 |
**示例:**
```js
let funcs = HDC;
let ret = usb.setCurrentFunctions(funcs);
```
## usb.getCurrentFunctions<sup>9+</sup>
getCurrentFunctions(): FunctionType
在设备模式下,获取当前的USB功能列表的数字组合掩码。
此接口为系统接口。
**系统能力:** SystemCapability.USB.USBManager
**返回值:**
| 类型 | 说明 |
| ------------------------------ | --------------------------------- |
| [FunctionType](#functiontype9) | 当前的USB功能列表的数字组合掩码。 |
**示例:**
```js
let ret = usb.getCurrentFunctions();
```
## usb.getPorts<sup>9+</sup>
getPorts(): Array\<USBPort\>
获取所有物理USB端口描述信息。
此接口为系统接口。
**系统能力:** SystemCapability.USB.USBManager
**返回值:**
| 类型 | 说明 |
| ----------------------------- | --------------------- |
| [Array\<USBPort\>](#usbport9) | USB端口描述信息列表。 |
**示例:**
```js
let ret = usb.getPorts();
```
## usb.getSupportedModes<sup>9+</sup>
getSupportedModes(portId: number): PortModeType
获取指定的端口支持的模式列表的组合掩码。
此接口为系统接口。
**系统能力:** SystemCapability.USB.USBManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------- |
| portId | number | 是 | 端口号。 |
**返回值:**
| 类型 | 说明 |
| ------------------------------ | -------------------------- |
| [PortModeType](#portmodetype9) | 支持的模式列表的组合掩码。 |
**示例:**
```js
let ret = usb.getSupportedModes(0);
```
## usb.setPortRoles<sup>9+</sup>
setPortRoles(portId: number, powerRole: PowerRoleType, dataRole: DataRoleType): Promise\<boolean\>
设置指定的端口支持的角色模式,包含充电角色、数据传输角色。
此接口为系统接口。
**系统能力:** SystemCapability.USB.USBManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------- | -------------------------------- | ---- | ---------------- |
| portId | number | 是 | 端口号。 |
| powerRole | [PowerRoleType](#powerroletype9) | 是 | 充电的角色。 |
| dataRole | [DataRoleType](#dataroletype9) | 是 | 数据传输的角色。 |
**返回值:**
| 类型 | 说明 |
| ------------------ | -------------- |
| Promise\<boolean\> | 设置是否成功。 |
**示例:**
```js
let ret = usb.getSupportedModes(0);
```
## USBEndpoint ## USBEndpoint
通过USB发送和接收数据的端口。通过[USBInterface](#usbinterface)获取。 通过USB发送和接收数据的端口。通过[USBInterface](#usbinterface)获取。
**系统能力**:以下各项对应的系统能力均为 SystemCapability.USB.USBManager。 **系统能力**:SystemCapability.USB.USBManager
| 名称 | 参数类型 | 说明 |
| -------- | -------- | -------- |
| address | number | 端点地址。|
| attributes | number | 端点属性。|
| interval | number | 端点间隔。|
| maxPacketSize | number | 端点最大数据包大小。|
| direction | [USBRequestDirection](#usbrequestdirection) | 端点的方向。|
| number | number | 端点号。|
| type | number | 端点类型。|
| interfaceId | number | 端点所属的接口的唯一标识。|
| 名称 | 参数类型 | 说明 |
| ------------- | ------------------------------------------- | ------------- |
| address | number | 端点地址。 |
| attributes | number | 端点属性。 |
| interval | number | 端点间隔。 |
| maxPacketSize | number | 端点最大数据包大小。 |
| direction | [USBRequestDirection](#usbrequestdirection) | 端点的方向。 |
| number | number | 端点号。 |
| type | number | 端点类型。 |
| interfaceId | number | 端点所属的接口的唯一标识。 |
## USBInterface ## USBInterface
一个[USBConfig](#usbconfig)中可以含有多个USBInterface,每个USBInterface提供一个功能。 一个[USBConfig](#usbconfig)中可以含有多个USBInterface,每个USBInterface提供一个功能。
**系统能力**:以下各项对应的系统能力均为 SystemCapability.USB.USBManager。 **系统能力**:SystemCapability.USB.USBManager
| 名称 | 参数类型 | 说明 |
| -------- | -------- | -------- |
| id | number | 接口的唯一标识。|
| protocol | number | 接口的协议。|
| clazz | number | 设备类型。|
| subClass | number | 设备子类。|
| alternateSetting | number | 在同一个接口中的多个描述符中进行切换设置。|
| name | string | 接口名称。|
| endpoints | Array&lt;[USBEndpoint](#usbendpoint)&gt; | 当前接口所包含的端点。|
| 名称 | 参数类型 | 说明 |
| ---------------- | ---------------------------------------- | --------------------- |
| id | number | 接口的唯一标识。 |
| protocol | number | 接口的协议。 |
| clazz | number | 设备类型。 |
| subClass | number | 设备子类。 |
| alternateSetting | number | 在同一个接口中的多个描述符中进行切换设置。 |
| name | string | 接口名称。 |
| endpoints | Array&lt;[USBEndpoint](#usbendpoint)&gt; | 当前接口所包含的端点。 |
## USBConfig ## USBConfig
USB配置,一个[USBDevice](#usbdevice)中可以含有多个配置。 USB配置,一个[USBDevice](#usbdevice)中可以含有多个配置。
**系统能力**:以下各项对应的系统能力均为 SystemCapability.USB.USBManager。 **系统能力**:SystemCapability.USB.USBManager
| 名称 | 参数类型 | 说明 |
| -------- | -------- | -------- |
| id | number | 配置的唯一标识。|
| attributes | number | 配置的属性。|
| maxPower | number | 最大功耗,以毫安为单位。|
| name | string | 配置的名称,可以为空。|
| isRemoteWakeup | boolean | 检查当前配置是否支持远程唤醒。|
| isSelfPowered | boolean | 检查当前配置是否支持独立电源。|
| interfaces | Array&nbsp;&lt;[USBInterface](#usbinterface)&gt; | 配置支持的接口属性。|
| 名称 | 参数类型 | 说明 |
| -------------- | ------------------------------------------------ | --------------- |
| id | number | 配置的唯一标识。 |
| attributes | number | 配置的属性。 |
| maxPower | number | 最大功耗,以毫安为单位。 |
| name | string | 配置的名称,可以为空。 |
| isRemoteWakeup | boolean | 检查当前配置是否支持远程唤醒。 |
| isSelfPowered | boolean | 检查当前配置是否支持独立电源。 |
| interfaces | Array&nbsp;&lt;[USBInterface](#usbinterface)&gt; | 配置支持的接口属性。 |
## USBDevice ## USBDevice
USB设备信息。 USB设备信息。
**系统能力**:以下各项对应的系统能力均为 SystemCapability.USB.USBManager。 **系统能力**:SystemCapability.USB.USBManager
| 名称 | 参数类型 | 说明 | | 名称 | 参数类型 | 说明 |
| -------- | -------- | -------- | | ---------------- | ------------------------------------ | ---------- |
| busNum | number | 总线地址。| | busNum | number | 总线地址。 |
| devAddress | number | 设备地址。| | devAddress | number | 设备地址。 |
| serial | string | 序列号。| | serial | string | 序列号。 |
| name | string | 设备名字。| | name | string | 设备名字。 |
| manufacturerName | string | 产商信息。| | manufacturerName | string | 产商信息。 |
| productName | string | 产品信息。| | productName | string | 产品信息。 |
| version | string | 版本。| | version | string | 版本。 |
| vendorId | number | 厂商ID。| | vendorId | number | 厂商ID。 |
| productId | number | 产品ID。| | productId | number | 产品ID。 |
| clazz | number | 设备类。| | clazz | number | 设备类。 |
| subClass | number | 设备子类。| | subClass | number | 设备子类。 |
| protocol | number | 设备协议码。| | protocol | number | 设备协议码。 |
| configs | Array&lt;[USBConfig](#usbconfig)&gt; | 设备配置描述符信息。| | configs | Array&lt;[USBConfig](#usbconfig)&gt; | 设备配置描述符信息。 |
## USBDevicePipe ## USBDevicePipe
USB设备消息传输通道,用于确定设备。 USB设备消息传输通道,用于确定设备。
**系统能力**:以下各项对应的系统能力均为 SystemCapability.USB.USBManager。 **系统能力**:SystemCapability.USB.USBManager
| 名称 | 参数类型 | 说明 |
| -------- | -------- | -------- |
| busNum | number | 总线地址。|
| devAddress | number | 设备地址。|
| 名称 | 参数类型 | 说明 |
| ---------- | ------ | ----- |
| busNum | number | 总线地址。 |
| devAddress | number | 设备地址。 |
## USBControlParams ## USBControlParams
控制传输参数。 控制传输参数。
**系统能力**:以下各项对应的系统能力均为 SystemCapability.USB.USBManager。 **系统能力**:SystemCapability.USB.USBManager
| 名称 | 参数类型 | 说明 |
| ------- | ----------------------------------------------- | ---------------- |
| request | number | 请求类型。 |
| target | [USBRequestTargetType](#usbrequesttargettype) | 请求目标类型。 |
| reqType | [USBControlRequestType](#usbcontrolrequesttype) | 请求控制类型。 |
| value | number | 请求参数。 |
| index | number | 请求参数value对应的索引值。 |
| data | Uint8Array | 用于写入或读取的缓冲区。 |
## USBPort<sup>9+</sup>
USB设备端口。
此接口为系统接口。
**系统能力**:SystemCapability.USB.USBManager
| 名称 | 参数类型 | 说明 |
| -------------- | -------------------------------- | ----------------------------------- |
| id | number | USB端口唯一标识。 |
| supportedModes | [PortModeType](#portmodetype9) | USB端口所支持的模式的数字组合掩码。 |
| status | [USBPortStatus](#usbportstatus9) | USB端口角色。 |
## USBPortStatus<sup>9+</sup>
USB设备端口角色信息。
| 名称 | 参数类型 | 说明 | 此接口为系统接口。
| -------- | -------- | -------- |
| request | number | 请求类型。 |
| target | [USBRequestTargetType](#usbrequesttargettype) | 请求目标类型。|
| reqType | [USBControlRequestType](#usbcontrolrequesttype) | 请求控制类型。|
| value | number | 请求参数。|
| index | number | 请求参数value对应的索引值。|
| data | Uint8Array | 用于写入或读取的缓冲区。|
**系统能力**:SystemCapability.USB.USBManager
| 名称 | 参数类型 | 说明 |
| ---------------- | -------- | ---------------------- |
| currentMode | number | 当前的USB模式。 |
| currentPowerRole | number | 当前设备充电模式。 |
| currentDataRole | number | 当前设备数据传输模式。 |
## USBRequestTargetType ## USBRequestTargetType
请求目标类型。 请求目标类型。
**系统能力**:以下各项对应的系统能力均为 SystemCapability.USB.USBManager。 **系统能力**:SystemCapability.USB.USBManager
| 名称 | 默认值 | 说明 |
| -------- | -------- | -------- |
| USB_REQUEST_TARGET_DEVICE | 0 | 设备。|
| USB_REQUEST_TARGET_INTERFACE | 1 | 接口。|
| USB_REQUEST_TARGET_ENDPOINT | 2 | 端点。|
| USB_REQUEST_TARGET_OTHER | 3 | 其他。|
| 名称 | 值 | 说明 |
| ---------------------------- | ---- | ------ |
| USB_REQUEST_TARGET_DEVICE | 0 | 设备。 |
| USB_REQUEST_TARGET_INTERFACE | 1 | 接口。 |
| USB_REQUEST_TARGET_ENDPOINT | 2 | 端点。 |
| USB_REQUEST_TARGET_OTHER | 3 | 其他。 |
## USBControlRequestType ## USBControlRequestType
控制请求类型。 控制请求类型。
**系统能力**:以下各项对应的系统能力均为 SystemCapability.USB.USBManager。 **系统能力**:SystemCapability.USB.USBManager
| 名称 | 默认值 | 说明 |
| -------- | -------- | -------- |
| USB_REQUEST_TYPE_STANDARD | 0 | 标准。|
| USB_REQUEST_TYPE_CLASS | 1 | 类。|
| USB_REQUEST_TYPE_VENDOR | 2 | 厂商。|
| 名称 | 值 | 说明 |
| ------------------------- | ---- | ------ |
| USB_REQUEST_TYPE_STANDARD | 0 | 标准。 |
| USB_REQUEST_TYPE_CLASS | 1 | 类。 |
| USB_REQUEST_TYPE_VENDOR | 2 | 厂商。 |
## USBRequestDirection ## USBRequestDirection
请求方向。 请求方向。
**系统能力**:以下各项对应的系统能力均为 SystemCapability.USB.USBManager。 **系统能力**:SystemCapability.USB.USBManager
| 名称 | 值 | 说明 |
| --------------------------- | ---- | ------------------------ |
| USB_REQUEST_DIR_TO_DEVICE | 0 | 写数据,主设备往从设备。 |
| USB_REQUEST_DIR_FROM_DEVICE | 0x80 | 读数据,从设备往主设备。 |
## FunctionType<sup>9+</sup>
USB设备侧功能。
此接口为系统接口。
**系统能力**:SystemCapability.USB.USBManager
| 名称 | 值 | 说明 |
| ---- | ---- | ---------- |
| NONE | 0 | 没有功能。 |
| ACM | 1 | acm功能。 |
| ECM | 2 | ecm功能。 |
| HDC | 4 | hdc功能。 |
## PortModeType<sup>9+</sup>
USB端口模式类型。
此接口为系统接口。
**系统能力**:SystemCapability.USB.USBManager
| 名称 | 值 | 说明 |
| --------- | ---- | ---------------------------------------------------- |
| NONE | 0 | 无。 |
| UFP | 1 | 数据上行,需要外部供电。 |
| DFP | 2 | 数据下行,对外提供电源。 |
| DRP | 3 | 既可以做DFP(Host),也可以做UFP(Device),当前不支持。 |
| NUM_MODES | 4 | 当前不支持。 |
## PowerRoleType<sup>9+</sup>
电源角色类型。
此接口为系统接口。
**系统能力**:SystemCapability.USB.USBManager
| 名称 | 值 | 说明 |
| ------ | ---- | ---------- |
| NONE | 0 | 无。 |
| SOURCE | 1 | 外部供电。 |
| SINK | 2 | 内部供电。 |
## DataRoleType<sup>9+</sup>
数据角色类型。
此接口为系统接口。
**系统能力**:SystemCapability.USB.USBManager
| 名称 | 默认值 | 说明 | | 名称 | 值 | 说明 |
| -------- | -------- | -------- | | ------ | ---- | ------------ |
| USB_REQUEST_DIR_TO_DEVICE | 0 | 写数据,主设备往从设备。| | NONE | 0 | 无。 |
| USB_REQUEST_DIR_FROM_DEVICE | 0x80 | 读数据,从设备往主设备。| | HOST | 1 | 主设备角色。 |
| DEVICE | 2 | 从设备角色。 |
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册