Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
838879d5
D
Docs
项目概览
OpenHarmony
/
Docs
大约 1 年 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
838879d5
编写于
4月 06, 2023
作者:
L
luo-wei246
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix:Remove obsolete interfaces
Signed-off-by:
N
luo-wei246
<
luowei137@huawei.com
>
上级
f013f53d
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
0 addition
and
954 deletion
+0
-954
zh-cn/application-dev/reference/apis/Readme-CN.md
zh-cn/application-dev/reference/apis/Readme-CN.md
+0
-1
zh-cn/application-dev/reference/apis/js-apis-usb.md
zh-cn/application-dev/reference/apis/js-apis-usb.md
+0
-953
未找到文件。
zh-cn/application-dev/reference/apis/Readme-CN.md
浏览文件 @
838879d5
...
...
@@ -413,7 +413,6 @@
-
[
@ohos.systemParameter (系统属性)
](
js-apis-system-parameter.md
)
-
[
@ohos.systemTime (系统时间、时区)
](
js-apis-system-time.md
)
-
[
@ohos.usb (USB管理)
](
js-apis-usb-deprecated.md
)
-
[
@ohos.usbV9 (USB管理)
](
js-apis-usb.md
)
-
[
@system.app (应用上下文)
](
js-apis-system-app.md
)
-
[
@system.battery (电量信息)
](
js-apis-system-battery.md
)
-
[
@system.bluetooth (蓝牙)
](
js-apis-system-bluetooth.md
)
...
...
zh-cn/application-dev/reference/apis/js-apis-usb.md
已删除
100644 → 0
浏览文件 @
f013f53d
# @ohos.usbV9 (USB管理)
本模块主要提供管理USB设备的相关功能,包括主设备上查询USB设备列表、批量数据传输、控制命令传输、权限控制等;从设备上端口管理、功能切换及查询等。
> **说明:**
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
>
> 从API version 9开始,该接口不再维护,推荐使用新接口[`@ohos.usbManager`](js-apis-usbManager.md)。
## 导入模块
```
js
import
usb
from
"
@ohos.usbV9
"
;
```
## usb.getDevices
getDevices(): Array
<
Readonly
<
USBDevice
>>
获取接入主设备的USB设备列表。如果没有设备接入,那么将会返回一个空的列表。
**系统能力:**
SystemCapability.USB.USBManager
**返回值:**
| 类型 | 说明 |
| ---------------------------------------------------- | ------- |
| Array
<
Readonly
<
[USBDevice](#usbdevice)
>>
| 设备信息列表。 |
**示例:**
```
js
let
devicesList
=
usb
.
getDevices
();
console
.
log
(
`devicesList =
${
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
connectDevice(device: USBDevice): Readonly
<
USBDevicePipe
>
根据getDevices()返回的设备信息打开USB设备。
需要调用
[
usb.getDevices
](
#usbgetdevices
)
获取设备信息以及device,再调用
[
usb.requestRight
](
#usbrequestright
)
请求使用该设备的权限。
**系统能力:**
SystemCapability.USB.USBManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| device |
[
USBDevice
](
#usbdevice
)
| 是 | USB设备信息。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Readonly
<
[USBDevicePipe](#usbdevicepipe)
>
| 指定的传输通道对象。 |
**错误码:**
以下错误码的详细介绍参见
[
USB错误码
](
../errorcodes/errorcode-usb.md
)
。
| 错误码ID | 错误信息 |
| -------- | -------- |
| 14400001 |Permission denied. Need call requestRight to get permission. |
**示例:**
```
js
let
devicesList
=
usb
.
getDevices
();
if
(
devicesList
.
length
==
0
)
{
console
.
log
(
`device list is empty`
);
}
let
device
=
devicesList
[
0
];
usb
.
requestRight
(
device
.
name
);
let
devicepipe
=
usb
.
connectDevice
(
device
);
console
.
log
(
`devicepipe =
${
devicepipe
}
`
);
```
## usb.hasRight
hasRight(deviceName: string): boolean
判断是否有权访问该设备。
如果“使用者”(如各种App或系统)有权访问设备则返回true;无权访问设备则返回false。
**系统能力:**
SystemCapability.USB.USBManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| deviceName | string | 是 | 设备名称。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| boolean | true表示有访问设备的权限,false表示没有访问设备的权限。 |
**示例:**
```
js
let
devicesName
=
"
1-1
"
;
let
bool
=
usb
.
hasRight
(
devicesName
);
console
.
log
(
bool
);
```
## usb.requestRight
requestRight(deviceName: string): Promise
<
boolean
>
请求软件包的临时权限以访问设备。使用Promise异步回调。
**系统能力:**
SystemCapability.USB.USBManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| deviceName | string | 是 | 设备名称。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise
<
boolean
>
| Promise对象,返回临时权限的申请结果。返回true表示临时权限申请成功;返回false则表示临时权限申请失败。 |
**示例:**
```
js
let
devicesName
=
"
1-1
"
;
usb
.
requestRight
(
devicesName
).
then
((
ret
)
=>
{
console
.
log
(
`requestRight =
${
ret
}
`
);
});
```
## usb.removeRight
removeRight(deviceName: string): boolean
移除软件包访问设备的权限。
**系统能力:**
SystemCapability.USB.USBManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| deviceName | string | 是 | 设备名称。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| boolean | 返回权限移除结果。返回true表示权限移除成功;返回false则表示权限移除失败。 |
**示例:**
```
js
let
devicesName
=
"
1-1
"
;
if
usb
.
removeRight
(
devicesName
)
{
console
.
log
(
`Succeed in removing right`
);
}
```
## usb.addRight
addRight(bundleName: string, deviceName: string): boolean
添加软件包访问设备的权限。
[
requestRight
](
#usbrequestright
)
会触发弹框请求用户授权;addRight不会触发弹框,而是直接添加软件包访问设备的权限。
**系统接口:**
此接口为系统接口。
**系统能力:**
SystemCapability.USB.USBManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| deviceName | string | 是 | 设备名称。 |
| bundleName | string | 是 | 软件包名称。|
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| boolean | 返回权限添加结果。返回true表示权限添加成功;返回false则表示权限添加失败。 |
**示例:**
```
js
let
devicesName
=
"
1-1
"
;
let
bundleName
=
"
com.example.hello
"
;
if
usb
.
addRight
(
bundleName
,
devicesName
)
{
console
.
log
(
`Succeed in adding right`
);
}
```
## usb.claimInterface
claimInterface(pipe: USBDevicePipe, iface: USBInterface, force ?: boolean): number
注册通信接口。
需要调用
[
usb.getDevices
](
#usbgetdevices
)
获取设备信息以及interfaces;调用
[
usb.requestRight
](
#usbrequestright
)
获取设备请求权限;调用
[
usb.connectDevice
](
#usbconnectdevice
)
接口得到devicepipe作为参数。
**系统能力:**
SystemCapability.USB.USBManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| pipe |
[
USBDevicePipe
](
#usbdevicepipe
)
| 是 | 用于确定总线号和设备地址。 |
| iface |
[
USBInterface
](
#usbinterface
)
| 是 | 用于确定需要获取接口的索引。 |
| force | boolean | 否 | 可选参数,是否强制获取。默认值为false
,表示不强制获取。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| number | 注册通信接口成功返回0;注册通信接口失败返回其他错误码。 |
**示例:**
```
js
let
ret
=
usb
.
claimInterface
(
devicepipe
,
interfaces
);
console
.
log
(
`claimInterface =
${
ret
}
`
);
```
## usb.releaseInterface
releaseInterface(pipe: USBDevicePipe, iface: USBInterface): number
释放注册过的通信接口。
需要调用
[
usb.claimInterface
](
#usbclaiminterface
)
先获取接口,才能使用此方法释放接口。
**系统能力:**
SystemCapability.USB.USBManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| pipe |
[
USBDevicePipe
](
#usbdevicepipe
)
| 是 | 用于确定总线号和设备地址。 |
| iface |
[
USBInterface
](
#usbinterface
)
| 是 | 用于确定需要释放接口的索引。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| number | 释放接口成功返回0;释放接口失败返回其他错误码。 |
**示例:**
```
js
let
ret
=
usb
.
releaseInterface
(
devicepipe
,
interfaces
);
console
.
log
(
`releaseInterface =
${
ret
}
`
);
```
## usb.setConfiguration
setConfiguration(pipe: USBDevicePipe, config: USBConfig): number
设置设备配置。
需要调用
[
usb.getDevices
](
#usbgetdevices
)
获取设备信息以及config;调用
[
usb.requestRight
](
#usbrequestright
)
获取设备请求权限;调用
[
usb.connectDevice
](
#usbconnectdevice
)
得到devicepipe作为参数。
**系统能力:**
SystemCapability.USB.USBManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| pipe |
[
USBDevicePipe
](
#usbdevicepipe
)
| 是 | 用于确定总线号和设备地址。 |
| config |
[
USBConfig
](
#usbconfig
)
| 是 | 用于确定需要设置的配置。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| number | 设置设备配置成功返回0;设置设备配置失败返回其他错误码。 |
**示例:**
```
js
let
ret
=
usb
.
setConfiguration
(
devicepipe
,
config
);
console
.
log
(
`setConfiguration =
${
ret
}
`
);
```
## usb.setInterface
setInterface(pipe: USBDevicePipe, iface: USBInterface): number
设置设备接口。
需要调用
[
usb.getDevices
](
#usbgetdevices
)
获取设备列表以及interfaces;调用
[
usb.requestRight
](
#usbrequestright
)
获取设备请求权限;调用
[
usb.connectDevice
](
#usbconnectdevice
)
得到devicepipe作为参数;调用
[
usb.claimInterface
](
#usbclaiminterface
)
注册通信接口。
**系统能力:**
SystemCapability.USB.USBManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ----- | ------------------------------- | --- | ------------- |
| pipe |
[
USBDevicePipe
](
#usbdevicepipe
)
| 是 | 用于确定总线号和设备地址。 |
| iface |
[
USBInterface
](
#usbinterface
)
| 是 | 用于确定需要设置的接口。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| number | 设置设备接口成功返回0;设置设备接口失败返回其他错误码。 |
**示例:**
```
js
let
ret
=
usb
.
setInterface
(
devicepipe
,
interfaces
);
console
.
log
(
`setInterface =
${
ret
}
`
);
```
## usb.getRawDescriptor
getRawDescriptor(pipe: USBDevicePipe): Uint8Array
获取原始的USB描述符。
需要调用
[
usb.getDevices
](
#usbgetdevices
)
获取设备列表;调用
[
usb.requestRight
](
#usbrequestright
)
获取设备请求权限;调用
[
usb.connectDevice
](
#usbconnectdevice
)
接口得到devicepipe作为参数。
**系统能力:**
SystemCapability.USB.USBManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| pipe |
[
USBDevicePipe
](
#usbdevicepipe
)
| 是 | 用于确定总线号和设备地址。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Uint8Array | 返回获取的原始数据;失败返回undefined。 |
**示例:**
```
js
let
ret
=
usb
.
getRawDescriptor
(
devicepipe
);
```
## usb.getFileDescriptor
getFileDescriptor(pipe: USBDevicePipe): number
获取文件描述符。
需要调用
[
usb.getDevices
](
#usbgetdevices
)
获取设备列表;调用
[
usb.requestRight
](
#usbrequestright
)
获取设备请求权限;调用
[
usb.connectDevice
](
#usbconnectdevice
)
接口得到devicepipe作为参数。
**系统能力:**
SystemCapability.USB.USBManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| pipe |
[
USBDevicePipe
](
#usbdevicepipe
)
| 是 | 用于确定总线号和设备地址。 |
**返回值:**
| 类型 | 说明 |
| ------ | -------------------- |
| number | 返回设备对应的文件描述符;失败返回-1。 |
**示例:**
```
js
let
ret
=
usb
.
getFileDescriptor
(
devicepipe
);
```
## usb.controlTransfer
controlTransfer(pipe: USBDevicePipe, controlparam: USBControlParams, timeout ?: number): Promise
<
number
>
控制传输。
需要调用
[
usb.getDevices
](
#usbgetdevices
)
获取设备列表;调用
[
usb.requestRight
](
#usbrequestright
)
获取设备请求权限;调用
[
usb.connectDevice
](
#usbconnectdevice
)
接口得到devicepipe作为参数。
**系统能力:**
SystemCapability.USB.USBManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| pipe |
[
USBDevicePipe
](
#usbdevicepipe
)
| 是 | 用于确定设备。 |
| controlparam |
[
USBControlParams
](
#usbcontrolparams
)
| 是 | 控制传输参数。 |
| timeout | number | 否 | 超时时间(单位:ms),可选参数,默认为0不超时。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise
<
number
>
| Promise对象,获取传输或接收到的数据块大小。失败返回-1。 |
**示例:**
```
js
let
param
=
new
usb
.
USBControlParams
();
usb
.
controlTransfer
(
devicepipe
,
param
).
then
((
ret
)
=>
{
console
.
log
(
`controlTransfer =
${
ret
}
`
);
})
```
## usb.bulkTransfer
bulkTransfer(pipe: USBDevicePipe, endpoint: USBEndpoint, buffer: Uint8Array, timeout ?: number): Promise
<
number
>
批量传输。
需要调用
[
usb.getDevices
](
#usbgetdevices
)
获取设备信息列表以及endpoint;再调用
[
usb.requestRight
](
#usbrequestright
)
获取设备请求权限;然后调用
[
usb.connectDevice
](
#usbconnectdevice
)
接口得到返回数据devicepipe之后,再次获取接口
[
usb.claimInterface
](
#usbclaiminterface
)
;再调用usb.bulkTransfer接口。
**系统能力:**
SystemCapability.USB.USBManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| pipe |
[
USBDevicePipe
](
#usbdevicepipe
)
| 是 | 用于确定设备。 |
| endpoint |
[
USBEndpoint
](
#usbendpoint
)
| 是 | 用于确定传输的端口。 |
| buffer | Uint8Array | 是 | 用于写入或读取的缓冲区。 |
| timeout | number | 否 | 超时时间(单位:ms),可选参数,默认为0不超时。|
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise
<
number
>
| Promise对象,获取传输或接收到的数据块大小。失败返回-1。 |
**示例:**
```
js
//usb.getDevices 接口返回数据集合,取其中一个设备对象,并获取权限 。
//把获取到的设备对象作为参数传入usb.connectDevice;当usb.connectDevice接口成功返回之后;
//才可以调用第三个接口usb.claimInterface.当usb.claimInterface 调用成功以后,再调用该接口。
usb
.
bulkTransfer
(
devicepipe
,
endpoint
,
buffer
).
then
((
ret
)
=>
{
console
.
log
(
`bulkTransfer =
${
ret
}
`
);
});
```
## usb.closePipe
closePipe(pipe: USBDevicePipe): number
关闭设备消息控制通道。
需要调用
[
usb.getDevices
](
#usbgetdevices
)
获取设备列表;调用
[
usb.requestRight
](
#usbrequestright
)
获取设备请求权限;调用
[
usb.connectDevice
](
#usbconnectdevice
)
得到devicepipe作为参数。
**系统能力:**
SystemCapability.USB.USBManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| pipe |
[
USBDevicePipe
](
#usbdevicepipe
)
| 是 | 用于确定USB设备消息控制通道。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| number | 关闭设备消息控制通道成功返回0;关闭设备消息控制通道失败返回其他错误码。 |
**示例:**
```
js
let
ret
=
usb
.
closePipe
(
devicepipe
);
console
.
log
(
`closePipe =
${
ret
}
`
);
```
## usb.usbFunctionsFromString
usbFunctionsFromString(funcs: string): number
在设备模式下,将字符串形式的USB功能列表转化为数字掩码。
**系统接口:**
此接口为系统接口。
**系统能力:**
SystemCapability.USB.USBManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ---------------------- |
| funcs | string | 是 | 字符串形式的功能列表。 |
**返回值:**
| 类型 | 说明 |
| ------ | ------------------ |
| number | 转化后的数字掩码。 |
**示例:**
```
js
let
funcs
=
"
acm
"
;
let
ret
=
usb
.
usbFunctionsFromString
(
funcs
);
```
## usb.usbFunctionsToString
usbFunctionsToString(funcs: FunctionType): string
在设备模式下,将数字掩码形式的USB功能列表转化为字符串。
**系统接口:**
此接口为系统接口。
**系统能力:**
SystemCapability.USB.USBManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------------------------------ | ---- | ----------------- |
| funcs |
[
FunctionType
](
#functiontype
)
| 是 | USB功能数字掩码。 |
**返回值:**
| 类型 | 说明 |
| ------ | ------------------------------ |
| string | 转化后的字符串形式的功能列表。 |
**示例:**
```
js
let
funcs
=
usb
.
ACM
|
usb
.
ECM
;
let
ret
=
usb
.
usbFunctionsToString
(
funcs
);
```
## usb.setCurrentFunctions
setCurrentFunctions(funcs: FunctionType): Promise
\<
void
\>
在设备模式下,设置当前的USB功能列表。
**系统接口:**
此接口为系统接口。
**系统能力:**
SystemCapability.USB.USBManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------------------------------ | ---- | ----------------- |
| funcs |
[
FunctionType
](
#functiontype
)
| 是 | USB功能数字掩码。 |
**返回值:**
| 类型 | 说明 |
| --------------- | ------------- |
| Promise
\<
void
\>
| Promise对象。 |
**示例:**
```
js
let
funcs
=
usb
.
HDC
;
usb
.
setCurrentFunctions
(
funcs
).
then
(()
=>
{
console
.
info
(
'
usb setCurrentFunctions successfully.
'
);
}).
catch
(
err
=>
{
console
.
error
(
'
usb setCurrentFunctions failed:
'
+
err
.
code
+
'
message:
'
+
err
.
message
);
});
```
## usb.getCurrentFunctions
getCurrentFunctions(): FunctionType
在设备模式下,获取当前的USB功能列表的数字组合掩码。
**系统接口:**
此接口为系统接口。
**系统能力:**
SystemCapability.USB.USBManager
**返回值:**
| 类型 | 说明 |
| ------------------------------ | --------------------------------- |
|
[
FunctionType
](
#functiontype
)
| 当前的USB功能列表的数字组合掩码。 |
**示例:**
```
js
let
ret
=
usb
.
getCurrentFunctions
();
```
## usb.getPorts
getPorts(): Array
\<
USBPort
\>
获取所有物理USB端口描述信息。
**系统接口:**
此接口为系统接口。
**系统能力:**
SystemCapability.USB.USBManager
**返回值:**
| 类型 | 说明 |
| ----------------------------- | --------------------- |
|
[
Array\<USBPort\>
](
#usbport
)
| USB端口描述信息列表。 |
**示例:**
```
js
let
ret
=
usb
.
getPorts
();
```
## usb.getSupportedModes
getSupportedModes(portId: number): PortModeType
获取指定的端口支持的模式列表的组合掩码。
**系统接口:**
此接口为系统接口。
**系统能力:**
SystemCapability.USB.USBManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------- |
| portId | number | 是 | 端口号。 |
**返回值:**
| 类型 | 说明 |
| ------------------------------ | -------------------------- |
|
[
PortModeType
](
#portmodetype
)
| 支持的模式列表的组合掩码。 |
**示例:**
```
js
let
ret
=
usb
.
getSupportedModes
(
0
);
```
## usb.setPortRoles
setPortRoles(portId: number, powerRole: PowerRoleType, dataRole: DataRoleType): Promise
\<
void
\>
设置指定的端口支持的角色模式,包含充电角色、数据传输角色。
**系统接口:**
此接口为系统接口。
**系统能力:**
SystemCapability.USB.USBManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------- | -------------------------------- | ---- | ---------------- |
| portId | number | 是 | 端口号。 |
| powerRole |
[
PowerRoleType
](
#powerroletype
)
| 是 | 充电的角色。 |
| dataRole |
[
DataRoleType
](
#dataroletype
)
| 是 | 数据传输的角色。 |
**返回值:**
| 类型 | 说明 |
| --------------- | ------------- |
| Promise
\<
void
\>
| Promise对象。 |
**示例:**
```
js
let
portId
=
1
;
usb
.
setPortRoles
(
portId
,
usb
.
PowerRoleType
.
SOURCE
,
usb
.
DataRoleType
.
HOST
).
then
(()
=>
{
console
.
info
(
'
usb setPortRoles successfully.
'
);
}).
catch
(
err
=>
{
console
.
error
(
'
usb setPortRoles failed:
'
+
err
.
code
+
'
message:
'
+
err
.
message
);
});
```
## USBEndpoint
通过USB发送和接收数据的端口。通过
[
USBInterface
](
#usbinterface
)
获取。
**系统能力:**
SystemCapability.USB.USBManager
| 名称 | 类型 | 必填 |说明 |
| ------------- | ------------------------------------------- | ------------- |------------- |
| address | number | 是 |端点地址。 |
| attributes | number | 是 |端点属性。 |
| interval | number | 是 |端点间隔。 |
| maxPacketSize | number | 是 |端点最大数据包大小。 |
| direction |
[
USBRequestDirection
](
#usbrequestdirection
)
| 是 |端点的方向。 |
| number | number | 是 |端点号。 |
| type | number | 是 |端点类型。 |
| interfaceId | number | 是 |端点所属的接口的唯一标识。 |
## USBInterface
一个
[
USBConfig
](
#usbconfig
)
中可以含有多个USBInterface,每个USBInterface提供一个功能。
**系统能力:**
SystemCapability.USB.USBManager
| 名称 | 类型 | 必填 |说明 |
| ---------------- | ---------------------------------------- | ------------- |--------------------- |
| id | number | 是 |接口的唯一标识。 |
| protocol | number | 是 |接口的协议。 |
| clazz | number | 是 |设备类型。 |
| subClass | number | 是 |设备子类。 |
| alternateSetting | number | 是 |在同一个接口中的多个描述符中进行切换设置。 |
| name | string | 是 |接口名称。 |
| endpoints | Array
<
[USBEndpoint](#usbendpoint)
>
| 是 |当前接口所包含的端点。 |
## USBConfig
USB配置,一个
[
USBDevice
](
#usbdevice
)
中可以含有多个配置。
**系统能力:**
SystemCapability.USB.USBManager
| 名称 | 类型 | 必填 |说明 |
| -------------- | ------------------------------------------------ | --------------- |--------------- |
| id | number | 是 |配置的唯一标识。 |
| attributes | number | 是 |配置的属性。 |
| maxPower | number | 是 |最大功耗,以毫安为单位。 |
| name | string | 是 |配置的名称,可以为空。 |
| isRemoteWakeup | boolean | 是 |检查当前配置是否支持远程唤醒。 |
| isSelfPowered | boolean | 是 | 检查当前配置是否支持独立电源。 |
| interfaces | Array
<
[USBInterface](#usbinterface)
>
| 是 |配置支持的接口属性。 |
## USBDevice
USB设备信息。
**系统能力:**
SystemCapability.USB.USBManager
| 名称 | 类型 | 必填 |说明 |
| ---------------- | ------------------------------------ | ---------- |---------- |
| busNum | number | 是 |总线地址。 |
| devAddress | number | 是 |设备地址。 |
| serial | string | 是 |序列号。 |
| name | string | 是 |设备名字。 |
| manufacturerName | string | 是 | 产商信息。 |
| productName | string | 是 |产品信息。 |
| version | string | 是 |版本。 |
| vendorId | number | 是 |厂商ID。 |
| productId | number | 是 |产品ID。 |
| clazz | number | 是 |设备类。 |
| subClass | number | 是 |设备子类。 |
| protocol | number | 是 |设备协议码。 |
| configs | Array
<
[USBConfig](#usbconfig)
>
| 是 |设备配置描述符信息。 |
## USBDevicePipe
USB设备消息传输通道,用于确定设备。
**系统能力:**
SystemCapability.USB.USBManager
| 名称 | 类型 | 必填 |说明 |
| ---------- | ------ | ----- |----- |
| busNum | number |是 | 总线地址。 |
| devAddress | number |是 | 设备地址。 |
## USBControlParams
控制传输参数。
**系统能力:**
SystemCapability.USB.USBManager
| 名称 | 类型 | 必填 |说明 |
| ------- | ----------------------------------------------- | ---------------- |---------------- |
| request | number | 是 |请求类型。 |
| target |
[
USBRequestTargetType
](
#usbrequesttargettype
)
| 是 |请求目标类型。 |
| reqType |
[
USBControlRequestType
](
#usbcontrolrequesttype
)
| 是 |请求控制类型。 |
| value | number | 是 |请求参数。 |
| index | number | 是 |请求参数value对应的索引值。 |
| data | Uint8Array | 是 |用于写入或读取的缓冲区。 |
## USBPort
USB设备端口。
**系统接口:**
此接口为系统接口。
**系统能力:**
SystemCapability.USB.USBManager
| 名称 | 类型 | 必填 |说明 |
| -------------- | ------------------------------- | ------------------- |------------------------ |
| id | number | 是 |USB端口唯一标识。 |
| supportedModes |
[
PortModeType
](
#portmodetype
)
| 是 |USB端口所支持的模式的数字组合掩码。 |
| status |
[
USBPortStatus
](
#usbportstatus
)
| 是 |USB端口角色。 |
## USBPortStatus
USB设备端口角色信息。
**系统接口:**
此接口为系统接口。
**系统能力:**
SystemCapability.USB.USBManager
| 名称 | 类型 | 必填 |说明 |
| ---------------- | -------- | ---------------- |---------------------- |
| currentMode | number | 是 |当前的USB模式。 |
| currentPowerRole | number | 是 |当前设备充电模式。 |
| currentDataRole | number | 是 |当前设备数据传输模式。 |
## USBRequestTargetType
请求目标类型。
**系统能力:**
SystemCapability.USB.USBManager
| 名称 | 值 | 说明 |
| ---------------------------- | ---- | ------ |
| USB_REQUEST_TARGET_DEVICE | 0 | 设备。 |
| USB_REQUEST_TARGET_INTERFACE | 1 | 接口。 |
| USB_REQUEST_TARGET_ENDPOINT | 2 | 端点。 |
| USB_REQUEST_TARGET_OTHER | 3 | 其他。 |
## USBControlRequestType
控制请求类型。
**系统能力:**
SystemCapability.USB.USBManager
| 名称 | 值 | 说明 |
| ------------------------- | ---- | ------ |
| USB_REQUEST_TYPE_STANDARD | 0 | 标准。 |
| USB_REQUEST_TYPE_CLASS | 1 | 类。 |
| USB_REQUEST_TYPE_VENDOR | 2 | 厂商。 |
## USBRequestDirection
请求方向。
**系统能力:**
SystemCapability.USB.USBManager
| 名称 | 值 | 说明 |
| --------------------------- | ---- | ------------------------ |
| USB_REQUEST_DIR_TO_DEVICE | 0 | 写数据,主设备往从设备。 |
| USB_REQUEST_DIR_FROM_DEVICE | 0x80 | 读数据,从设备往主设备。 |
## FunctionType
USB设备侧功能。
**系统接口:**
此接口为系统接口。
**系统能力:**
SystemCapability.USB.USBManager
| 名称 | 值 | 说明 |
| ------------ | ---- | ---------- |
| NONE | 0 | 没有功能。 |
| ACM | 1 | acm功能。 |
| ECM | 2 | ecm功能。 |
| HDC | 4 | hdc功能。 |
| MTP | 8 | 暂不支持。 |
| PTP | 16 | 暂不支持。 |
| RNDIS | 32 | 暂不支持。 |
| MIDI | 64 | 暂不支持。 |
| AUDIO_SOURCE | 128 | 暂不支持。 |
| NCM | 256 | 暂不支持。 |
## PortModeType
USB端口模式类型。
**系统接口:**
此接口为系统接口。
**系统能力:**
SystemCapability.USB.USBManager
| 名称 | 值 | 说明 |
| --------- | ---- | ---------------------------------------------------- |
| NONE | 0 | 无。 |
| UFP | 1 | 数据上行,需要外部供电。 |
| DFP | 2 | 数据下行,对外提供电源。 |
| DRP | 3 | 既可以做DFP(Host),也可以做UFP(Device),当前不支持。 |
| NUM_MODES | 4 | 当前不支持。 |
## PowerRoleType
电源角色类型。
**系统接口:**
此接口为系统接口。
**系统能力:**
SystemCapability.USB.USBManager
| 名称 | 值 | 说明 |
| ------ | ---- | ---------- |
| NONE | 0 | 无。 |
| SOURCE | 1 | 外部供电。 |
| SINK | 2 | 内部供电。 |
## DataRoleType
数据角色类型。
**系统接口:**
此接口为系统接口。
**系统能力:**
SystemCapability.USB.USBManager
| 名称 | 值 | 说明 |
| ------ | ---- | ------------ |
| NONE | 0 | 无。 |
| HOST | 1 | 主设备角色。 |
| DEVICE | 2 | 从设备角色。 |
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录