逆 3
Haply::HardwareAPI::Devices::Inverse3
封装了与Inverse3设备交互所需的逻辑。
构造函数需要一个代表Inverse3串行端口的SerialStream类实例作为参数。构建完成后,DeviceWakeup命令将唤醒设备并启用发送方法。所有发送方法之后都必须有相应的接收方法来处理设备的响应。
该类使用终端执行器一词来指设备的光标。
该类中的所有方法都将阻塞,直至其 IO 操作完成。Inverse3设备的工作频率最高可达 8kHz,为确保流畅的触觉体验,建议最低频率为 1kHz。如果多个设备由同一线程管理,整体处理频率将以所有设备的最低频率为上限。因此不建议在同一线程中混合使用手柄和Inverse3。
索引
班级
- 设备手持载荷
- DeviceIdExtResponse
- 设备信息响应
- 设备方位响应
- 设备电源响应
- 设备温度响应
- EndEffectorForceRequest
- EndEffectorPositionRequest
- EndEffectorStateResponse
- 固件版本扩展响应
- 重力补偿载荷
- 联合角度请求
- 联合国家回应
- 联合扭矩请求
- 电机电流响应
- 保存配置响应
- 扭矩缩放载荷
成员
名称 | 类型 | 说明 |
---|---|---|
枚数 | static constexpr uint8_t | 反向3 设备中的电机/关节数量。 |
左手 | static constexpr uint8_t | 与左撇子装置配合使用的恒定... |
右手 | static constexpr uint8_t | 恒定的右手设备用于... |
方法
名称 | 类型 | 说明 |
---|---|---|
逆 3 | (...) | 从...构建一个Inverse3对象 |
设备唤醒 | DeviceInfoResponse(...) | 唤醒设备,允许执行其他命令。 |
发送设备唤醒 | void() | 唤醒设备,允许执行其他命令。 |
接收设备信息 | int() | 接收来自... |
接收设备信息 | int(uint16_t *, uint8_t *, uint8_t *, ...) | 接收来自... |
设备 IDExtQuery | DeviceIdExtResponse(...) | 查询设备的UUID。 |
发送设备 IDExtQuery | void() | 查询设备的UUID。 |
接收设备 IDExt | int() | 接收来自... |
接收设备 IDExt | int(UUID*) | 接收来自... |
固件版本扩展查询 | FirmwareVersionExtResponse(...) | 查询设备的扩展固件版本。 |
SendFirmwareVersionExtQuery | void() | 查询设备的扩展固件版本。 |
接收固件版本扩展 | int() | 接收来自... |
接收固件版本扩展 | int(UUID*) | 接收来自... |
关节扭矩 | 联合状态响应(...) | 给设备的电机施加规定的扭矩。 |
发送关节扭矩 | void() | 停止设备电机产生扭矩。 |
发送关节扭矩 | void(const float) | 给设备的电机施加规定的扭矩。 |
关节角度 | 联合状态响应(...) | 设置设备关节的角度。 |
发送关节角度 | void() | 停止设备电机产生扭矩。 |
发送关节角度 | void(const float) | 设置设备关节的角度。 |
接收联合状态 | int() | 接收来自... |
接收联合状态 | int(float *, float *) | 接收来自... |
EndEffectorForce | EndEffectorStateResponse(...) | 对设备的光标施加所提供的力。 |
发送结束效果器力 | void() | 停止对设备光标产生力。 |
发送结束效果器力 | void(const float) | 对设备的光标施加所提供的力。 |
EndEffectorPosition | EndEffectorStateResponse(...) | 设置设备光标的位置。 |
发送结束效果器位置 | void() | 停止对设备光标产生力。 |
发送结束效果器位置 | void(const float) | 设置设备光标的位置。 |
接收结束效果器状态 | int() | 接收来自... |
接收结束效果器状态 | int(float *, float *) | 接收来自... |
设备方位查询 | 设备方位响应(...) | 查询设备机身的方向。 |
发送设备方位查询 | void() | 查询设备机身的方向。 |
接收设备方向 | int() | 接收来自... |
接收设备方向 | int(float) | 接收来自... |
设备电源查询 | 设备电源响应(...) | 查询设备的供电状态。 |
发送设备电源查询 | void() | 查询设备的供电状态。 |
接收设备电源 | int() | 接收来自... |
接收设备电源 | int(bool *) | 接收来自... |
设备温度查询 | 设备温度响应(...) | 查询设备温度。 |
发送设备温度查询 | void() | 查询设备温度。 |
接收设备温度 | int() | 接收来自... |
接收设备温度 | int(float *) | 接收来自... |
电机电流查询 | 电机电流响应(...) | 查询设备电机的电流。 |
发送电机电流查询 | void() | 查询设备电机的电流。 |
接收电机电流 | int() | 接收来自... |
接收电机电流 | int(float *) | 接收来自... |
获取设备手度 | 设备手感负载(......) | 查询设备的手势。 |
发送获取设备手度 | void() | 查询设备的手势。 |
设置设备手度 | 设备手感负载(......) | 设置设备的手势。 |
发送设置设备手度 | void(const uint8_t &) | 设置设备的手势。 |
接收设备手度 | int() | 接收来自... |
接收设备手度 | int(uint8_t *) | 接收来自... |
获取扭矩缩放 | TorqueScalingPayload(...) | 查询设备的扭矩缩放状态。 |
发送获取扭矩缩放 | void() | 查询设备的扭矩缩放状态。 |
设置扭矩缩放 | TorqueScalingPayload(...) | 将设备的扭矩缩放状态设置为所提供的 ... |
发送设置扭矩缩放 | void(const bool &) | 将设备的扭矩缩放状态设置为所提供的 ... |
接收扭矩缩放 | int() | 接收来自... |
接收扭矩缩放 | int(bool *) | 接收来自... |
获取重力补偿 | GravityCompensationPayload(...) | 查询设备的重力补偿状态。 |
发送获取重力补偿 | void() | 查询设备的重力补偿状态。 |
设置重力补偿 | GravityCompensationPayload(...) | 将设备的重力补偿状态设置为所提供的 ... |
发送设置重力补偿 | void(const bool &, const float &) | 将设备的重力补偿状态设置为所提供的 ... |
接收重力补偿 | int() | 接收来自... |
接收重力补偿 | int(bool *, float *) | 接收来自... |
保存配置 | SaveConfigResponse(...) | 永久保存任何已修改的配置参数。 |
发送保存配置 | void() | 永久保存任何已修改的配置参数。 |
接收保存配置 | int(uint8_t *) | 接收来自... |
成员
枚数
static constexpr uint8_t NUM_JOINTS = 3
反向3 设备中的电机/关节数量。
左手
static constexpr uint8_t LEFT_HANDED = 0x00
左撇子设备的常量,与DeviceHandednessPayload 结合使用。
右手
静态 constexpr uint8_t RIGHT_HANDED = 0x01
右手设备的常量,与DeviceHandednessPayload 结合使用。
方法
逆 3
Inverse3( Haply::HardwareAPI::IO::SerialStream* stream、 float timeout)
根据提供的数据流构造一个Inverse3对象。
参数
-
代表与设备关联的串行端口的数据流对象。数据流的生命周期必须与Inverse3对象的生命周期一致或更长。建议使用SerialStream类构建该数据流。
-
等待设备响应的最长时间。如果设备在此时间内未响应,操作将失败,并将错误信息打印到 stderr。
默认超时为 5 秒,负值将禁用超时。
设备唤醒
DeviceInfoResponseDeviceWakeup()
唤醒设备,允许执行其他命令。
在发送任何其他命令之前,必须先向设备发送该命令。该命令还具有重置设备内部状态(即模拟模式)的副作用。
将阻塞,直到收到来自设备的信息或遇到错误。如果发生错误,则会将错误信息打印到 stderr,并可能返回 false。
功能等同于SendDeviceWakeup,但不提供错误处理机制。
返回
设备的基本信息。
发送设备唤醒
void SendDeviceWakeup()
唤醒设备,允许执行其他命令。
在发送任何其他命令之前,必须先向设备发送该命令。该命令还有重置设备内部状态(即模拟模式)的副作用。之后必须调用ReceiveDeviceInfo来处理设备的响应。
功能等同于DeviceWakeup,但提供了基本的错误处理机制。
接收设备信息
int ReceiveDeviceInfo()
接收SendDeviceWakeup的响应,丢弃结果。
将阻塞,直到收到设备发送的信息或遇到错误。
返回
如果操作成功完成,则返回 0。如果通过数据流与设备通信时发生错误,该方法将返回负值,错误信息将打印到 stderr,并可能返回 false。
接收设备信息
int ReceiveDeviceInfo( uint16_t * device_id、 uint8_t * device_model_number、 uint8_t * 硬件版本、 uint8_t * 固件版本、 UUID* device_id_ext)
接收SendDeviceWakeup的响应,并将结果存储在提供的参数中。
将阻塞,直到收到设备发送的信息或遇到错误。
返回
如果操作成功完成,则返回 0。如果通过数据流与设备通信时发生错误,该方法将返回负值,错误信息将打印到 stderr,并可能返回 false。
另请参见
DeviceInfoResponse获取参数说明。
设备 IDExtQuery
DeviceIdExtResponseDeviceIdExtQuery()
查询设备的UUID。
将阻塞,直到收到来自设备的信息或遇到错误。如果发生错误,则会将错误信息打印到 stderr,并可能返回 false。
功能等同于SendDeviceIdExtQuery,但不提供错误处理机制。
返回
设备的UUID。
发送设备 IDExtQuery
void SendDeviceIdExtQuery()
查询设备的UUID。
返回与DeviceWakeup方法响应中提供的相同的UUID。之后必须调用ReceiveDeviceIdExt来处理设备的响应。
功能等同于DeviceIdExtQuery,但提供了基本的错误处理机制。
接收设备 IDExt
int ReceiveDeviceIdExt()
接收SendDeviceIdExtQuery的响应,丢弃结果。
将阻塞,直到收到设备发送的信息或遇到错误。
返回
如果操作成功完成,则返回 0。如果通过数据流与设备通信时发生错误,该方法将返回负值,错误信息将打印到 stderr,并可能返回 false。
接收设备 IDExt
int ReceiveDeviceIdExt(UUID* device_id)
接收SendDeviceIdExtQuery的响应,并将结果存储在提供的参数中。
将阻塞,直到收到设备发送的信息或遇到错误。
返回
如果操作成功完成,则返回 0。如果通过数据流与设备通信时发生错误,该方法将返回负值,错误信息将打印到 stderr,并可能返回 false。
另请参见
DeviceIdExtResponse获取参数说明。
固件版本扩展查询
FirmwareVersionExtResponseFirmwareVersionExtQuery()
查询设备的扩展固件版本。
警告此命令仍在审核中,不应依赖其行为。
将阻塞,直到收到来自设备的信息或遇到错误。如果发生错误,则会将错误信息打印到 stderr,并可能返回 false。
功能等同于SendFirmwareVersionExtQuery,但不提供错误处理机制。
返回
设备的固件版本。
SendFirmwareVersionExtQuery
void SendFirmwareVersionExtQuery()
查询设备的扩展固件版本。
之后必须调用ReceiveFirmwareVersionExt来处理设备的响应。
功能等同于FirmwareVersionExtResponse,但提供基本的错误处理机制。
接收固件版本扩展
int ReceiveFirmwareVersionExt()
接收SendFirmwareVersionExtQuery的响应,丢弃结果。
将阻塞,直到收到设备发送的信息或遇到错误。
返回
如果操作成功完成,则返回 0。如果通过数据流与设备通信时发生错误,该方法将返回负值,错误信息将打印到 stderr,并可能返回 false。
接收固件版本扩展
int ReceiveFirmwareVersionExt(UUID* firmware_version_id)
接收SendFirmwareVersionExtQuery的响应,并将结果存储在提供的参数中。
将阻塞,直到收到设备发送的信息或遇到错误。
返回
如果操作成功完成,则返回 0。如果通过数据流与设备通信时发生错误,该方法将返回负值,错误信息将打印到 stderr,并可能返回 false。
另请参见
FirmwareVersionExtResponse的参数说明。
关节扭矩
联合状态响应JointTorques(constJointTorquesRequest& request)
给设备的电机施加规定的扭矩。
该命令将把设备切换到关节模拟模式,并保持所提供的扭矩,直到被新的扭矩值或新的模拟模式覆盖。
将阻塞,直到收到来自设备的信息或遇到错误。如果发生错误,则会将错误信息打印到 stderr,并可能返回 false。
功能等同于SendJointTorques,但不提供错误处理机制。
参数
- 要求给电机施加的扭矩。
返回
设备关节的当前状态。
发送关节扭矩
void SendJointTorques()
停止设备电机产生扭矩。
发送关节扭矩
void SendJointTorques(const float torques)
给设备的电机施加规定的扭矩。
该命令将把设备切换到关节模拟模式,并保持所提供的扭矩,直到被新的扭矩值或新的模拟模式覆盖。
之后必须调用ReceiveJointStates来处理设备的响应。
功能等同于JointTorques,但提供了基本的错误处理机制。
关节角度
联合状态响应JointAngles(constJointAnglesRequest& request)
设置设备关节的角度。
该命令将把设备切换到关节模拟模式,并保持所提供的角度,直到被新角度或新模拟模式覆盖。
将阻塞,直到收到来自设备的信息或遇到错误。如果发生错误,则会将错误信息打印到 stderr,并可能返回 false。
功能等同于SendJointAngles,但不提供错误处理机制。
参数
- 请求应用于电机的角度。
返回
设备关节的当前状态。
发送关节角度
void SendJointAngles()
停止设备电机产生扭矩。
发送关节角度
void SendJointAngles(const float angles)
设置设备关节的角度。
该命令将把设备切换到关节模拟模式,并保持所提供的角度,直到被新角度或新模拟模式覆盖。
之后必须调用ReceiveJointStates来处理设备的响应。
功能等同于JointAngles,但提供了基本的错误处理机制。
接收联合状态
int ReceiveJointStates()
接收SendJointTorques或SendJointAngles的响应,丢弃结果。
将阻塞,直到收到设备发送的信息或遇到错误。
返回
如果操作成功完成,则返回 0。如果通过数据流与设备通信时发生错误,该方法将返回负值,错误信息将打印到 stderr,并可能返回 false。
接收联合状态
int ReceiveJointStates( float * angles、 浮点 * 角位置)
接收SendJointTorques或SendJointAngles的响应,并将结果存储在提供的参数中。
将阻塞,直到收到设备发送的信息或遇到错误。
返回
如果操作成功完成,则返回 0。如果通过数据流与设备通信时发生错误,该方法将返回负值,错误信息将打印到 stderr,并可能返回 false。
另请参见
JointStatesResponse获取参数说明。
EndEffectorForce
EndEffectorStateResponseEndEffectorForce(constEndEffectorForceRequest& request)
对设备的光标施加所提供的力。
该命令将把设备切换到光标模拟模式,并保持所提供的力,直到被新的力或新的模拟模式覆盖。
将阻塞,直到收到来自设备的信息或遇到错误。如果发生错误,则会将错误信息打印到 stderr,并可能返回 false。
功能等同于xSendEndEffectorForce,但不提供错误处理机制。
参数
- 请求对光标施加的力。
返回
设备光标的当前状态。
发送结束效果器力
void SendEndEffectorForce()
停止对设备光标产生力。
发送结束效果器力
void SendEndEffectorForce(常量浮力)
对设备的光标施加所提供的力。
该命令将把设备切换到光标模拟模式,并保持所提供的力,直到被新的力或新的模拟模式覆盖。
之后必须调用ReceiveEndEffectorState来处理设备的响应。
功能等同于EndEffectorForce,但提供了基本的错误处理机制。
EndEffectorPosition
EndEffectorStateResponseEndEffectorPosition(constEndEffectorPositionRequest& request)
设置设备光标的位置。
该命令将把设备切换到光标模拟模式,并保持所提供的位置,直到被新位置或新模拟模式覆盖。
将阻塞,直到收到来自设备的信息或遇到错误。如果发生错误,则会将错误信息打印到 stderr,并可能返回 false。
功能等同于xSendEndEffectorPosition,但不提供错误处理机制。
参数
- 请求光标所需的位置。
返回
设备光标的当前状态。
发送结束效果器位置
void SendEndEffectorPosition()
停止对设备光标产生力。
发送结束效果器位置
void SendEndEffectorPosition(常量浮点位置)
设置设备光标的位置。
该命令将把设备切换到光标模拟模式,并保持所提供的位置,直到被新位置或新模拟模式覆盖。
之后必须调用ReceiveEndEffectorState来处理设备的响应。
功能等同于EndEffectorPosition,但提供了基本的错误处理机制。
接收结束效果器状态
int ReceiveEndEffectorState()
接收SendEndEffectorForce或SendEndEffectorPosition的响应,丢弃结果。
将阻塞,直到收到设备发送的信息或遇到错误。
返回
如果操作成功完成,则返回 0。如果通过数据流与设备通信时发生错误,该方法将返回负值,错误信息将打印到 stderr,并可能返回 false。
接收结束效果器状态
int ReceiveEndEffectorState( 浮点 * 位置 速度)
接收SendEndEffectorForce或SendEndEffectorPosition的响应,并将结果存储在提供的参数中。
将阻塞,直到收到设备发送的信息或遇到错误。
返回
如果操作成功完成,则返回 0。如果通过数据流与设备通信时发生错误,该方法将返回负值,错误信息将打印到 stderr,并可能返回 false。
另请参见
EndEffetorStatesResponse 的参数说明。
设备方位查询
DeviceOrientationResponseDeviceOrientationQuery()
查询设备机身的方向。
将阻塞,直到收到来自设备的信息或遇到错误。如果发生错误,则会将错误信息打印到 stderr,并可能返回 false。
功能等同于SendDeviceOrientationQuery,但不提供错误处理机制。
返回
设备机身的方向。
发送设备方位查询
void SendDeviceOrientationQuery()
查询设备机身的方向。
之后必须调用ReceiveDeviceOrientation来处理设备的响应。
功能等同于DeviceOrientationQuery,但提供了基本的错误处理机制。
接收设备方向
int ReceiveDeviceOrientation()
接收SendDeviceOrientationQuery的响应,丢弃结果。
将阻塞,直到收到设备发送的信息或遇到错误。
返回
如果操作成功完成,则返回 0。如果通过数据流与设备通信时发生错误,该方法将返回负值,错误信息将打印到 stderr,并可能返回 false。
接收设备方向
int ReceiveDeviceOrientation(浮点四元数)
接收SendDeviceOrientationQuery的响应,并将结果存储在提供的参数中。
将阻塞,直到收到设备发送的信息或遇到错误。
返回
如果操作成功完成,则返回 0。如果通过数据流与设备通信时发生错误,该方法将返回负值,错误信息将打印到 stderr,并可能返回 false。
另请参见
DeviceOrientationResponse的参数说明。
设备电源查询
DevicePowerResponseDevicePowerQuery()
查询设备的供电状态。
将阻塞,直到收到来自设备的信息或遇到错误。如果发生错误,则会将错误信息打印到 stderr,并可能返回 false。
功能等同于SendDevicePowerQuery,但不提供错误处理机制。
返回
设备的供电状态。
发送设备电源查询
void SendDevicePowerQuery()
查询设备的供电状态。
之后必须调用ReceiveDevicePower来处理设备的响应。
功能等同于DevicePowerQuery,但提供基本的错误处理机制。
接收设备电源
int ReceiveDevicePower()
接收SendDevicePowerQuery的响应,丢弃结果。
将阻塞,直到收到设备发送的信息或遇到错误。
返回
如果操作成功完成,则返回 0。如果通过数据流与设备通信时发生错误,该方法将返回负值,错误信息将打印到 stderr,并可能返回 false。
接收设备电源
int ReceiveDevicePower(bool * powered)
接收SendDevicePowerQuery的响应,并将结果存储在提供的参数中。
将阻塞,直到收到设备发送的信息或遇到错误。
返回
如果操作成功完成,则返回 0。如果通过数据流与设备通信时发生错误,该方法将返回负值,错误信息将打印到 stderr,并可能返回 false。
另请参见
设备电源响应的参数说明。
设备温度查询
查询设备温度。
将阻塞,直到收到来自设备的信息或遇到错误。如果发生错误,则会将错误信息打印到 stderr,并可能返回 false。
功能等同于SendDeviceTemperatureQuery,但不提供错误处理机制。
返回
设备的温度。
发送设备温度查询
void SendDeviceTemperatureQuery()
查询设备温度。
之后必须调用ReceiveDeviceTemperature来处理设备的响应。
功能等同于DeviceTemperatureQuery,但提供基本的错误处理机制。
接收设备温度
int ReceiveDeviceTemperature()
接收SendDeviceTemperatureQuery的响应,丢弃结果。
将阻塞,直到收到设备发送的信息或遇到错误。
返回
如果操作成功完成,则返回 0。如果通过数据流与设备通信时发生错误,该方法将返回负值,错误信息将打印到 stderr,并可能返回 false。
接收设备温度
int ReceiveDeviceTemperature(浮点 * 温度)
接收SendDeviceTemperatureQuery的响应,并将结果存储在提供的参数中。
将阻塞,直到收到设备发送的信息或遇到错误。
返回
如果操作成功完成,则返回 0。如果通过数据流与设备通信时发生错误,该方法将返回负值,错误信息将打印到 stderr,并可能返回 false。
另请参见
设备温度响应的参数说明。
电机电流查询
MotorCurrentsResponseMotorCurrentsQuery()
查询设备电机的电流。
将阻塞,直到收到来自设备的信息或遇到错误。如果发生错误,则会将错误信息打印到 stderr,并可能返回 false。
功能等同于SendMotorCurrentsQuery,但不提供错误处理机制。
返回
设备每个电机的电流。
发送电机电流查询
void SendMotorCurrentsQuery()
查询设备电机的电流。
之后必须调用ReceiveMotorCurrents来处理设备的响应。
功能等同于MotorCurrentsQuery,但提供了基本的错误处理机制。
接收电机电流
int ReceiveMotorCurrents()
接收SendMotorCurrentsQuery的响应,丢弃结果。
将阻塞,直到收到设备发送的信息或遇到错误。
返回
如果操作成功完成,则返回 0。如果通过数据流与设备通信时发生错误,该方法将返回负值,错误信息将打印到 stderr,并可能返回 false。
接收电机电流
int ReceiveMotorCurrents(浮点 * 电流)
接收SendMotorCurrentsQuery的响应,并将结果存储在提供的参数中。
将阻塞,直到收到设备发送的信息或遇到错误。
返回
如果操作成功完成,则返回 0。如果通过数据流与设备通信时发生错误,该方法将返回负值,错误信息将打印到 stderr,并可能返回 false。
另请参见
MotorCurrentsResponse的参数说明。
获取设备手度
设备手度支付负载GetDeviceHandedness()
查询设备的手势。
将阻塞,直到收到来自设备的信息或遇到错误。如果发生错误,则会将错误信息打印到 stderr,并可能返回 false。
功能等同于SendGetDeviceHandedness,但不提供错误处理机制。
返回
设备的手势。
发送获取设备手度
void SendGetDeviceHandedness()
查询设备的手势。
之后必须调用ReceiveDeviceHandedness来处理设备的响应。
功能等同于GetDeviceHandedness,但提供了基本的错误处理机制。
设置设备手度
DeviceHandednessPayloadSetDeviceHandedness(constDeviceHandednessPayload& payload)
设置设备的手势。
改变手度将导致设备改变其参照系并重置其内部状态。这包括设备的校准、扭矩/角度/力/位置值和模拟模式。手性的任何改变也会导致设备手臂的物理改变。请查阅 Haply 文档中心,了解如何进行更改。
该方法所做的更改只会持续到设备下一次电源循环。SaveConfig可用于永久保留更改。
将阻塞,直到收到来自设备的信息或遇到错误。如果发生错误,则会将错误信息打印到 stderr,并可能返回 false。
功能等同于SendSetDeviceHandedness,但不提供错误处理机制。
返回
设备的手势。
发送设置设备手度
void SendSetDeviceHandedness(const uint8_t & handedness)
设置设备的手势。
改变手度将导致设备改变其参照系并重置其内部状态。这包括设备的校准、扭矩/角度/力/位置值和模拟模式。手性的任何改变也会导致设备手臂的物理改变。请查阅 Haply 文档中心,了解如何进行更改。
该方法所做的更改只会持续到设备下一次电源循环。SaveConfig可用于永久保留更改。
该方法所做的更改只会持续到设备下一次电源循环。SaveConfig可用于永久保留更改。
之后必须调用ReceiveDeviceHandedness来处理设备的响应。
功能等同于SetDeviceHandedness,但提供了基本的错误处理机制。
接收设备手度
int ReceiveDeviceHandedness()
接收SendGetDeviceHandedness或SendSetDeviceHandedness的响应,丢弃结果。
将阻塞,直到收到设备发送的信息或遇到错误。
返回
如果操作成功完成,则返回 0。如果通过数据流与设备通信时发生错误,该方法将返回负值,错误信息将打印到 stderr,并可能返回 false。
接收设备手度
int ReceiveDeviceHandedness(uint8_t * Handness)
接收SendGetDeviceHandedness或SendSetDeviceHandedness的响应,并将结果存储在提供的参数中。
将阻塞,直到收到设备发送的信息或遇到错误。
返回
如果操作成功完成,则返回 0。如果通过数据流与设备通信时发生错误,该方法将返回负值,错误信息将打印到 stderr,并可能返回 false。
另请参见
DeviceHandednessResponse 的参数说明。
获取扭矩缩放
查询设备的扭矩缩放状态。
将阻塞,直到收到来自设备的信息或遇到错误。如果发生错误,则会将错误信息打印到 stderr,并可能返回 false。
功能等同于SendGetTorqueScaling,但不提供错误处理机制。
返回
设备的扭矩缩放状态。
发送获取扭矩缩放
void SendGetTorqueScaling()
查询设备的扭矩缩放状态。
之后必须调用ReceiveTorqueScaling来处理设备的响应。
功能等同于GetTorqueScaling,但提供了基本的错误处理机制。
设置扭矩缩放
TorqueScalingPay load SetTorqueScaling(constTorqueScalingPayload& payload)
将设备的扭矩缩放状态设置为所提供的值。
该方法所做的更改只会持续到设备下一次电源循环。SaveConfig可用于永久保留更改。
将阻塞,直到收到来自设备的信息或遇到错误。如果发生错误,则会将错误信息打印到 stderr,并可能返回 false。
功能等同于SendGetTorqueScaling,但不提供错误处理机制。
返回
设备的扭矩缩放状态。
发送设置扭矩缩放
void SendSetTorqueScaling(const bool & enabled)
将设备的扭矩缩放状态设置为所提供的值。
该方法所做的更改只会持续到设备下一次电源循环。SaveConfig可用于永久保留更改。
之后必须调用ReceiveTorqueScaling来处理设备的响应。
功能等同于SetTorqueScaling,但提供了基本的错误处理机制。
接收扭矩缩放
int ReceiveTorqueScaling()
接收SendGetTorqueScaling或SendSetTorqueScaling的响应,丢弃结果。
将阻塞,直到收到设备发送的信息或遇到错误。
返回
如果操作成功完成,则返回 0。如果通过数据流与设备通信时发生错误,该方法将返回负值,错误信息将打印到 stderr,并可能返回 false。
接收扭矩缩放
int ReceiveTorqueScaling(bool * enabled)
接收SendGetTorqueScaling或SendSetTorqueScaling的响应,并将结果存储在提供的参数中。
将阻塞,直到收到设备发送的信息或遇到错误。
返回
如果操作成功完成,则返回 0。如果通过数据流与设备通信时发生错误,该方法将返回负值,错误信息将打印到 stderr,并可能返回 false。
另请参见
的参数描述。
获取重力补偿
查询设备的重力补偿状态。
将阻塞,直到收到来自设备的信息或遇到错误。如果发生错误,则会将错误信息打印到 stderr,并可能返回 false。
功能等同于SendGetGravityCompensation,但不提供错误处理机制。
返回
设备的重力补偿状态。
发送获取重力补偿
void SendGetGravityCompensation()
查询设备的重力补偿状态。
之后必须调用ReceiveGravityCompensation来处理设备的响应。
功能等同于GetGravityCompensation,但提供了基本的错误处理机制。
设置重力补偿
重力补偿载荷SetGravityCompensation(constGravityCompensationPayload& payload)
将设备的重力补偿状态设置为所提供的值。
该方法所做的更改只会持续到设备下一次电源循环。SaveConfig可用于永久保留更改。
将阻塞,直到收到来自设备的信息或遇到错误。如果发生错误,则会将错误信息打印到 stderr,并可能返回 false。
功能等同于SendSetGravityCompensation,但不提供错误处理机制。
返回
设备的重力补偿状态。
发送设置重力补偿
void SendSetGravityCompensation( const bool & enabled、 const float & gravity_scale_factor)
将设备的重力补偿状态设置为所提供的值。
该方法所做的更改只会持续到设备下一次电源循环。SaveConfig可用于永久保留更改。
之后必须调用ReceiveGravityCompensation来处理设备的响应。
功能等同于GetGravityCompensation,但提供了基本的错误处理机制。
接收重力补偿
int ReceiveGravityCompensation()
接收SendGetGravityCompensation或SendSetGravityCompensation的响应,丢弃结果。
将阻塞,直到收到设备发送的信息或遇到错误。
返回
如果操作成功完成,则返回 0。如果通过数据流与设备通信时发生错误,该方法将返回负值,错误信息将打印到 stderr,并可能返回 false。
接收重力补偿
int ReceiveGravityCompensation( bool * enabled、 浮点 * 重力比例系数)
接收SendGetGravityCompensation或SendSetGravityCompensation的响应,并将结果存储在提供的参数中。
将阻塞,直到收到设备发送的信息或遇到错误。
返回
如果操作成功完成,则返回 0。如果通过数据流与设备通信时发生错误,该方法将返回负值,错误信息将打印到 stderr,并可能返回 false。
另请参见
GravityCompensationPayload获取参数说明。
保存配置
SaveConfigResponseSaveConfig()
永久保存任何已修改的配置参数。
设备的持久存储有写入限制,每次调用该方法都会消耗该限制。因此,只能很少使用该方法。
将阻塞,直到收到来自设备的信息或遇到错误。如果发生错误,则会将错误信息打印到 stderr,并可能返回 false。
功能等同于SendSaveConfig,但不提供错误处理机制。
返回
命令的结果。
发送保存配置
void SendSaveConfig()
永久保存任何已修改的配置参数。
设备的持久存储有写入限制,每次调用该方法都会消耗该限制。因此,只能很少使用该方法。
之后必须调用ReceiveSaveConfig来处理设备的响应。
功能等同于SaveConfig,但提供了基本的错误处理机制。
接收保存配置
int ReceiveSaveConfig(uint8_t * parameters_updated)
接收SendSaveConfig的响应,并将结果存储在提供的参数中。
将阻塞,直到收到设备发送的信息或遇到错误。
返回
如果操作成功完成,则返回 0。如果通过数据流与设备通信时发生错误,该方法将返回负值,错误信息将打印到 stderr,并可能返回 false。
另请参见
SaveConfigResponse获取参数说明。