주요 콘텐츠로 건너뛰기
버전: 0.1.5

Inverse3

Haply::하드웨어API::디바이스::인버스3

Inverse3 디바이스와 상호 작용하는 데 필요한 로직을 캡슐화합니다.

생성자의 파라미터로 Inverse3의 직렬 포트를 나타내는 SerialStream 클래스 인스턴스가 필요합니다. 생성되고 나면 DeviceWakeup 명령으로 디바이스를 깨우고 전송 메서드를 활성화할 수 있습니다. 모든 전송 메서드 뒤에는 장치의 응답을 처리하기 위한 각각의 수신 메서드가 뒤따라야 합니다.

이 클래스는 엔드 이펙터라는 용어를 사용하여 디바이스의 커서를 나타냅니다.

이 클래스 내의 모든 메서드는 IO 작업이 완료될 때까지 차단됩니다. Inverse3 디바이스는 최대 8kHz의 주파수를 작동할 수 있으며, 원활한 햅틱 경험을 보장하기 위해 최소 1kHz가 권장됩니다. 여러 디바이스가 동일한 스레드로 관리되는 경우 전체 처리 주파수는 모든 디바이스의 가장 낮은 주파수에서 제한됩니다. 따라서 동일한 스레드 내에서 핸들과 Inverse3를 혼합하는 것은 권장되지 않습니다.

색인

클래스

회원

이름유형설명
NUM_JOINTSstatic constexpr uint8_t인버스3 디바이스의 모터/조인트 수입니다.
LEFT_HANDEDstatic constexpr uint8_t왼손잡이 장치와 함께 사용할 수 있는 상수 ...
RIGHT_HANDEDstatic constexpr uint8_t오른손잡이 기기에서 사용할 수 있는 상수 ...

방법

이름유형설명
Inverse3(std::iostream *)다음에서 Inverse3 객체를 생성합니다...
디바이스 깨우기DeviceInfoResponse(...)추가 명령을 허용하려면 디바이스를 깨우세요.
SendDeviceWakeupvoid()추가 명령을 허용하려면 디바이스를 깨우세요.
수신 디바이스 정보int()다음에서 응답 받기 ...
수신 디바이스 정보int(uint16_t *, uint8_t *, uint8_t *, ...)다음에서 응답 받기 ...
DeviceIdExtQueryDeviceIdExtResponse(...)디바이스의 UUID를 쿼리합니다.
SendDeviceIdExtQueryvoid()디바이스의 UUID를 쿼리합니다.
ReceiveDeviceIdExtint()다음에서 응답 받기 ...
ReceiveDeviceIdExtint(UUID *)다음에서 응답 받기 ...
펌웨어 버전 확장 쿼리펌웨어 버전 익스텐션 응답(...)장치에서 확장 펌웨어 버전을 쿼리합니다.
SendFirmwareVersionExtQueryvoid()장치에서 확장 펌웨어 버전을 쿼리합니다.
수신 펌웨어 버전 익스포트int()다음에서 응답 받기 ...
수신 펌웨어 버전 익스포트int(UUID *)다음에서 응답 받기 ...
조인트 토크조인트 상태 응답(...)제공된 토크를 디바이스의 모터에 적용합니다.
SendJointTorquesvoid()디바이스 모터의 토크 발생을 중지합니다.
SendJointTorquesvoid(const float)제공된 토크를 디바이스의 모터에 적용합니다.
조인트 앵글조인트 상태 응답(...)디바이스 조인트의 각도를 설정합니다.
SendJointAnglesvoid()디바이스 모터의 토크 발생을 중지합니다.
SendJointAnglesvoid(const float)디바이스 조인트의 각도를 설정합니다.
수신 조인트 상태int()다음에서 응답 받기 ...
수신 조인트 상태int(float *, float *)다음에서 응답 받기 ...
엔드이펙터포스엔드이펙터 상태 응답(...)기기의 커서에 제공된 힘을 가합니다.
SendEndEffectorForcevoid()장치의 커서에 대한 힘 생성을 중지합니다.
SendEndEffectorForcevoid(const float)기기의 커서에 제공된 힘을 가합니다.
엔드이펙터 위치엔드이펙터 상태 응답(...)디바이스의 커서 위치를 설정합니다.
SendEndEffectorPositionvoid()장치의 커서에 대한 힘 생성을 중지합니다.
SendEndEffectorPositionvoid(const float)디바이스의 커서 위치를 설정합니다.
수신 엔드 이펙터 상태int()다음에서 응답 받기 ...
수신 엔드 이펙터 상태int(float *, float *)다음에서 응답 받기 ...
장치 방향 쿼리디바이스 오리엔테이션 응답(...)디바이스 본체의 방향을 쿼리합니다.
SendDeviceOrientationQueryvoid()디바이스 본체의 방향을 쿼리합니다.
수신 장치 오리엔테이션int()다음에서 응답 받기 ...
수신 장치 오리엔테이션int(float)다음에서 응답 받기 ...
장치 전원 쿼리DevicePowerResponse(...)디바이스의 전원 상태를 조회합니다.
SendDevicePowerQueryvoid()디바이스의 전원 상태를 조회합니다.
수신 디바이스 전원int()다음에서 응답 받기 ...
수신 디바이스 전원int(bool *)다음에서 응답 받기 ...
장치 온도 쿼리DeviceTemperatureResponse(...)디바이스의 온도를 조회합니다.
SendDeviceTemperatureQueryvoid()디바이스의 온도를 조회합니다.
수신 장치 온도int()다음에서 응답 받기 ...
수신 장치 온도int(float *)다음에서 응답 받기 ...
모터 커런트 쿼리모터 전류 응답(...)디바이스의 모터에 적용되는 전류를 쿼리합니다.
모터 전류 쿼리 보내기void()디바이스의 모터에 적용되는 전류를 쿼리합니다.
모터 전류 수신int()다음에서 응답 받기 ...
모터 전류 수신int(float *)다음에서 응답 받기 ...
GetDeviceHandednessDeviceHandednessPayload(...)디바이스의 핸드헬드 여부를 조회합니다.
SendGetDeviceHandednessvoid()디바이스의 핸드헬드 여부를 조회합니다.
SetDeviceHandednessDeviceHandednessPayload(...)디바이스의 손맛을 설정합니다.
SendSetDeviceHandednessvoid(const uint8_t &)디바이스의 손맛을 설정합니다.
수신 디바이스 핸드드니스int()다음에서 응답 받기 ...
수신 디바이스 핸드드니스int(uint8_t *)다음에서 응답 받기 ...
GetTorqueScaling토크 스케일링 페이로드(...)디바이스의 토크 스케일링 상태를 쿼리합니다.
SendGetTorqueScalingvoid()디바이스의 토크 스케일링 상태를 쿼리합니다.
SetTorqueScaling토크 스케일링 페이로드(...)장치의 토크 스케일링 상태를 제공된 ...로 설정합니다.
SendSetTorqueScalingvoid(const bool &)장치의 토크 스케일링 상태를 제공된 ...로 설정합니다.
수신 토크 스케일링int()다음에서 응답 받기 ...
수신 토크 스케일링int(bool *)다음에서 응답 받기 ...
GetGravityCompensation중력 보상 페이로드(...)디바이스의 중력 보정 상태를 조회합니다.
SendGetGravityCompensationvoid()디바이스의 중력 보정 상태를 조회합니다.
SetGravityCompensation중력 보상 페이로드(...)장치의 중력 보정 상태를 제공된 ...로 설정합니다.
SendSetGravityCompensationvoid(const bool &, const float &)장치의 중력 보정 상태를 제공된 ...로 설정합니다.
중력 보상 받기int()다음에서 응답 받기 ...
중력 보상 받기int(bool *, float *)다음에서 응답 받기 ...
SaveConfigSaveConfigResponse(...)수정된 구성 매개변수를 영구적으로 유지합니다.
SendSaveConfigvoid()수정된 구성 매개변수를 영구적으로 유지합니다.
ReceiveSaveConfigint(uint8_t *)다음에서 응답 받기 ...

회원

NUM_JOINTS

static constexpr uint8_t NUM_JOINTS = 3

인버스3 디바이스의 모터/조인트 수입니다.

LEFT_HANDED

static constexpr uint8_t LEFT_HANDED = 0x00

왼손잡이 디바이스가 DeviceHandednessPayload와 함께 사용할 수 있는 상수입니다.

RIGHT_HANDED

static constexpr uint8_t RIGHT_HANDED = 0x01

오른손잡이 디바이스가 DeviceHandednessPayload와 함께 사용할 수 있는 상수입니다.

방법

Inverse3

Inverse3(std::iostream * stream)

제공된 스트림에서 Inverse3 객체를 생성합니다.

매개변수

  • 스트림 디바이스와 연결된 직렬 포트를 나타내는 스트림 객체입니다. 스트림의 수명은 Inverse3 객체의 수명과 일치하거나 초과해야 합니다. 이 스트림은 SerialStream 클래스를 사용하여 구성하는 것이 좋습니다.

디바이스 깨우기

디바이스 정보 응답 디바이스 웨이크업()

추가 명령을 허용하려면 디바이스를 깨우세요.

이 명령은 다른 명령을 전송하기 전에 장치로 보내야 합니다. 이 명령은 장치의 내부 상태(예: 시뮬레이션 모드)를 초기화하는 부작용도 있습니다.

장치에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다. 오류가 발생하면 stderr에 오류가 인쇄되고 거짓을 반환할 수 있습니다.

기능적으로 SendDeviceWakeup과 동일하지만 오류 처리 메커니즘을 제공하지 않습니다.

반환

장치에 대한 기본 정보입니다.

SendDeviceWakeup

void SendDeviceWakeup()

추가 명령을 허용하려면 디바이스를 깨우세요.

이 명령은 다른 명령을 전송하기 전에 장치로 보내야 합니다. 이 명령은 장치의 내부 상태(예: 시뮬레이션 모드)를 재설정하는 부작용도 있습니다. 디바이스의 응답을 처리하려면 반드시 ReceiveDeviceInfo를 호출해야 합니다.

기능적으로는 DeviceWakeup과 동일하지만 기본적인 오류 처리 메커니즘을 제공합니다.

수신 디바이스 정보

int ReceiveDeviceInfo()

결과를 폐기하는 SendDeviceWakeup의 응답을 수신합니다.

디바이스에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다.

반환

작업이 성공적으로 완료되면 0을 반환합니다. 스트림을 통해 장치와 통신하는 동안 오류가 발생한 경우 메서드는 음수 값을 반환하고, 오류는 stderr에 인쇄되며 거짓을 반환할 수 있습니다.

수신 디바이스 정보

int ReceiveDeviceInfo( uint16_t * device_id, uint8_t * 장치_모델_번호, uint8_t * 하드웨어_버전, uint8_t * 펌웨어_버전, UUID * device_id_ext)

제공된 인수에 결과를 저장하는 SendDeviceWakeup의 응답을 수신합니다.

디바이스에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다.

반환

작업이 성공적으로 완료되면 0을 반환합니다. 스트림을 통해 장치와 통신하는 동안 오류가 발생한 경우 메서드는 음수 값을 반환하고, 오류는 stderr에 인쇄되며 거짓을 반환할 수 있습니다.

참고 항목

매개변수에 대한 설명은 DeviceInfoResponse를 참조하세요.

DeviceIdExtQuery

DeviceIdExtResponse DeviceIdExtQuery()

디바이스의 UUID를 쿼리합니다.

DeviceWakeup 메서드에 대한 응답에 제공된 것과 동일한 UUID를 반환합니다.

장치에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다. 오류가 발생하면 stderr에 오류가 인쇄되고 거짓을 반환할 수 있습니다.

기능적으로 SendDeviceIdExtQuery와 동일하지만 오류 처리 메커니즘을 제공하지 않습니다.

반환

디바이스의 UUID입니다.

SendDeviceIdExtQuery

void SendDeviceIdExtQuery()

디바이스의 UUID를 쿼리합니다.

DeviceWakeup 메서드에 대한 응답에 제공된 것과 동일한 UUID를 반환합니다. 디바이스의 응답을 처리하려면 반드시 ReceiveDeviceIdExt를 호출해야 합니다.

기능적으로는 DeviceIdExtQuery와 동일하지만 기본적인 오류 처리 메커니즘을 제공합니다.

ReceiveDeviceIdExt

int ReceiveDeviceIdExt()

SendDeviceIdExtQuery에서 결과를 삭제하는 응답을 수신합니다.

디바이스에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다.

반환

작업이 성공적으로 완료되면 0을 반환합니다. 스트림을 통해 장치와 통신하는 동안 오류가 발생한 경우 메서드는 음수 값을 반환하고, 오류는 stderr에 인쇄되며 거짓을 반환할 수 있습니다.

ReceiveDeviceIdExt

int ReceiveDeviceIdExt(UUID * device_id)

제공된 인수에 결과를 저장하는 SendDeviceIdExtQuery의 응답을 수신합니다.

디바이스에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다.

반환

작업이 성공적으로 완료되면 0을 반환합니다. 스트림을 통해 장치와 통신하는 동안 오류가 발생한 경우 메서드는 음수 값을 반환하고, 오류는 stderr에 인쇄되며 거짓을 반환할 수 있습니다.

참고 항목

매개변수에 대한 설명은 DeviceIdExtResponse를 참조하세요.

펌웨어 버전 확장 쿼리

펌웨어 버전 익스텐션 응답 펌웨어 버전 익스텐션 쿼리()

장치에서 확장 펌웨어 버전을 쿼리합니다.

경고 이 명령은 아직 검토 중이므로 그 동작에 의존해서는 안 됩니다.

장치에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다. 오류가 발생하면 stderr에 오류가 인쇄되고 거짓을 반환할 수 있습니다.

기능적으로 SendFirmwareVersionExtQuery와 동일하지만 오류 처리 메커니즘을 제공하지 않습니다.

반환

장치의 펌웨어 버전입니다.

SendFirmwareVersionExtQuery

void SendFirmwareVersionExtQuery()

장치에서 확장 펌웨어 버전을 쿼리합니다.

디바이스의 응답을 처리하려면 ReceiveFirmwareVersionExt 호출이 뒤따라야 합니다.

기능적으로는 FirmwareVersionExtResponse와 동일하지만 기본적인 오류 처리 메커니즘을 제공합니다.

수신 펌웨어 버전 익스포트

int ReceiveFirmwareVersionExt()

SendFirmwareVersionExtQuery에서 결과를 삭제하는 응답을 받습니다.

디바이스에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다.

반환

작업이 성공적으로 완료되면 0을 반환합니다. 스트림을 통해 장치와 통신하는 동안 오류가 발생한 경우 메서드는 음수 값을 반환하고, 오류는 stderr에 인쇄되며 거짓을 반환할 수 있습니다.

수신 펌웨어 버전 익스포트

int ReceiveFirmwareVersionExt(UUID * 펌웨어_버전_id)

제공된 인수에 결과를 저장하는 SendFirmwareVersionExtQuery의 응답을 받습니다.

디바이스에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다.

반환

작업이 성공적으로 완료되면 0을 반환합니다. 스트림을 통해 장치와 통신하는 동안 오류가 발생한 경우 메서드는 음수 값을 반환하고, 오류는 stderr에 인쇄되며 거짓을 반환할 수 있습니다.

참고 항목

매개 변수에 대한 설명은 FirmwareVersionExtResponse를 참조하세요.

조인트 토크

합동 상태 응답 합동 토크(const 합동 토크 요청 & 요청)

제공된 토크를 디바이스의 모터에 적용합니다.

이 명령은 장치를 조인트 시뮬레이션 모드로 전환하고 새 토크 값 또는 새 시뮬레이션 모드로 재정의할 때까지 제공된 토크를 유지합니다.

장치에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다. 오류가 발생하면 stderr에 오류가 인쇄되고 거짓을 반환할 수 있습니다.

기능적으로 SendJointTorques와 동일하지만 오류 처리 메커니즘을 제공하지 않습니다.

매개변수

  • 모터에 적용할 토크를 요청합니다.

반환

장치의 현재 조인트 상태입니다.

SendJointTorques

void SendJointTorques()

디바이스 모터의 토크 발생을 중지합니다.

SendJointTorques

void SendJointTorques(const float torques)

제공된 토크를 디바이스의 모터에 적용합니다.

이 명령은 장치를 조인트 시뮬레이션 모드로 전환하고 새 토크 값 또는 새 시뮬레이션 모드로 재정의할 때까지 제공된 토크를 유지합니다.

디바이스의 응답을 처리하기 위해 ReceiveJointStates 호출이 뒤따라야 합니다.

조인트토크와 기능적으로 동일하지만 기본적인 오류 처리 메커니즘을 제공합니다.

조인트 앵글

합동 상태 응답 합동 각도(const 합동 각도 요청 & 요청)

디바이스 조인트의 각도를 설정합니다.

이 명령은 장치를 조인트 시뮬레이션 모드로 전환하고 새 각도 또는 새 시뮬레이션 모드로 재정의할 때까지 제공된 각도를 유지합니다.

장치에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다. 오류가 발생하면 stderr에 오류가 인쇄되고 거짓을 반환할 수 있습니다.

기능적으로 SendJointAngles와 동일하지만 오류 처리 메커니즘을 제공하지 않습니다.

매개변수

  • 모터에 적용할 각도를 요청합니다.

반환

장치의 현재 조인트 상태입니다.

SendJointAngles

void SendJointAngles()

디바이스 모터의 토크 발생을 중지합니다.

SendJointAngles

void SendJointAngles(const float angles)

디바이스 조인트의 각도를 설정합니다.

이 명령은 장치를 조인트 시뮬레이션 모드로 전환하고 새 각도 또는 새 시뮬레이션 모드로 재정의할 때까지 제공된 각도를 유지합니다.

디바이스의 응답을 처리하기 위해 ReceiveJointStates 호출이 뒤따라야 합니다.

기능적으로 조인트앵글과 동일하지만 기본적인 오류 처리 메커니즘을 제공합니다.

수신 조인트 상태

int ReceiveJointStates()

결과를 폐기하는 SendJointTorques 또는 SendJointAngles의 응답을 받습니다.

디바이스에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다.

반환

작업이 성공적으로 완료되면 0을 반환합니다. 스트림을 통해 장치와 통신하는 동안 오류가 발생한 경우 메서드는 음수 값을 반환하고, 오류는 stderr에 인쇄되며 거짓을 반환할 수 있습니다.

수신 조인트 상태

int ReceiveJointStates( float * 각도, float * 각속도)

제공된 파라미터에 결과를 저장하는 SendJointTorques 또는 SendJointAngles의 응답을 받습니다.

디바이스에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다.

반환

작업이 성공적으로 완료되면 0을 반환합니다. 스트림을 통해 장치와 통신하는 동안 오류가 발생한 경우 메서드는 음수 값을 반환하고, 오류는 stderr에 인쇄되며 거짓을 반환할 수 있습니다.

참고 항목

매개변수에 대한 설명은 JointStatesResponse를 참조하세요.

엔드이펙터포스

EndEffectorStateResponse EndEffectorForce (const EndEffectorForceRequest & request)

기기의 커서에 제공된 힘을 가합니다.

이 명령은 장치를 커서 시뮬레이션 모드로 전환하고 새로운 힘 또는 새로운 시뮬레이션 모드로 재정의될 때까지 제공된 힘을 유지합니다.

장치에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다. 오류가 발생하면 stderr에 오류가 인쇄되고 거짓을 반환할 수 있습니다.

기능적으로는 xSendEndEffectorForce와 동일하지만 오류 처리 메커니즘은 제공하지 않습니다.

매개변수

  • 요청 커서에 적용할 힘입니다.

반환

디바이스 커서의 현재 상태입니다.

SendEndEffectorForce

void SendEndEffectorForce()

장치의 커서에 대한 힘 생성을 중지합니다.

SendEndEffectorForce

void SendEndEffectorForce(const float force)

기기의 커서에 제공된 힘을 가합니다.

이 명령은 장치를 커서 시뮬레이션 모드로 전환하고 새로운 힘 또는 새로운 시뮬레이션 모드로 재정의될 때까지 제공된 힘을 유지합니다.

디바이스의 응답을 처리하기 위해 ReceiveEndEffectorState 호출이 뒤따라야 합니다.

기능적으로 EndEffectorForce와 동일하지만 기본적인 오류 처리 메커니즘을 제공합니다.

엔드이펙터 위치

EndEffectorStateResponse EndEffectorPosition (const EndEffectorPositionRequest & request)

디바이스의 커서 위치를 설정합니다.

이 명령은 장치를 커서 시뮬레이션 모드로 전환하고 새 위치 또는 새 시뮬레이션 모드로 재정의할 때까지 제공된 위치를 유지합니다.

장치에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다. 오류가 발생하면 stderr에 오류가 인쇄되고 거짓을 반환할 수 있습니다.

기능적으로는 xSendEndEffectorPosition과 동일하지만 오류 처리 메커니즘은 제공하지 않습니다.

매개변수

  • 요청 커서의 원하는 위치를 지정합니다.

반환

디바이스 커서의 현재 상태입니다.

SendEndEffectorPosition

void SendEndEffectorPosition()

장치의 커서에 대한 힘 생성을 중지합니다.

SendEndEffectorPosition

void SendEndEffectorPosition(const float position)

디바이스의 커서 위치를 설정합니다.

이 명령은 장치를 커서 시뮬레이션 모드로 전환하고 새 위치 또는 새 시뮬레이션 모드로 재정의할 때까지 제공된 위치를 유지합니다.

디바이스의 응답을 처리하기 위해 ReceiveEndEffectorState 호출이 뒤따라야 합니다.

기능적으로는 EndEffectorPosition과 동일하지만 기본적인 오류 처리 메커니즘을 제공합니다.

수신 엔드 이펙터 상태

int ReceiveEndEffectorState()

결과를 폐기하는 SendEndEffectorForce 또는 SendEndEffectorPosition의 응답을 받습니다.

디바이스에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다.

반환

작업이 성공적으로 완료되면 0을 반환합니다. 스트림을 통해 장치와 통신하는 동안 오류가 발생한 경우 메서드는 음수 값을 반환하고, 오류는 stderr에 인쇄되며 거짓을 반환할 수 있습니다.

수신 엔드 이펙터 상태

int ReceiveEndEffectorState( float * 위치, float * 속도)

제공된 인수에 결과를 저장하는 SendEndEffectorForce 또는 SendEndEffectorPosition의 응답을 받습니다.

디바이스에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다.

반환

작업이 성공적으로 완료되면 0을 반환합니다. 스트림을 통해 장치와 통신하는 동안 오류가 발생한 경우 메서드는 음수 값을 반환하고, 오류는 stderr에 인쇄되며 거짓을 반환할 수 있습니다.

참고 항목

매개 변수에 대한 설명은 EndEffetorStatesResponse를 참조하세요.

장치 방향 쿼리

디바이스 오리엔테이션 응답 디바이스 오리엔테이션 쿼리()

디바이스 본체의 방향을 쿼리합니다.

장치에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다. 오류가 발생하면 stderr에 오류가 인쇄되고 거짓을 반환할 수 있습니다.

기능적으로 SendDeviceOrientationQuery와 동일하지만 오류 처리 메커니즘을 제공하지 않습니다.

반환

디바이스 본체의 방향입니다.

SendDeviceOrientationQuery

void SendDeviceOrientationQuery()

디바이스 본체의 방향을 쿼리합니다.

디바이스의 응답을 처리하기 위해 ReceiveDeviceOrientation 호출이 뒤따라야 합니다.

기능적으로는 DeviceOrientationQuery와 동일하지만 기본적인 오류 처리 메커니즘을 제공합니다.

수신 장치 오리엔테이션

int ReceiveDeviceOrientation()

결과를 폐기하는 SendDeviceOrientationQuery의 응답을 수신합니다.

디바이스에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다.

반환

작업이 성공적으로 완료되면 0을 반환합니다. 스트림을 통해 장치와 통신하는 동안 오류가 발생한 경우 메서드는 음수 값을 반환하고, 오류는 stderr에 인쇄되며 거짓을 반환할 수 있습니다.

수신 장치 오리엔테이션

int ReceiveDeviceOrientation(float 쿼터니언)

제공된 인수에 결과를 저장하는 SendDeviceOrientationQuery의 응답을 수신합니다.

디바이스에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다.

반환

작업이 성공적으로 완료되면 0을 반환합니다. 스트림을 통해 장치와 통신하는 동안 오류가 발생한 경우 메서드는 음수 값을 반환하고, 오류는 stderr에 인쇄되며 거짓을 반환할 수 있습니다.

참고 항목

매개변수에 대한 설명은 DeviceOrientationResponse를 참조하세요.

장치 전원 쿼리

장치 전원 응답 장치 전원 쿼리()

디바이스의 전원 상태를 조회합니다.

장치에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다. 오류가 발생하면 stderr에 오류가 인쇄되고 거짓을 반환할 수 있습니다.

기능적으로 SendDevicePowerQuery와 동일하지만 오류 처리 메커니즘을 제공하지 않습니다.

반환

디바이스의 전원 상태입니다.

SendDevicePowerQuery

void SendDevicePowerQuery()

디바이스의 전원 상태를 조회합니다.

디바이스의 응답을 처리하려면 ReceiveDevicePower 호출이 뒤따라야 합니다.

기능적으로는 DevicePowerQuery와 동일하지만 기본적인 오류 처리 메커니즘을 제공합니다.

수신 디바이스 전원

int ReceiveDevicePower()

결과를 폐기하는 SendDevicePowerQuery의 응답을 수신합니다.

디바이스에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다.

반환

작업이 성공적으로 완료되면 0을 반환합니다. 스트림을 통해 장치와 통신하는 동안 오류가 발생한 경우 메서드는 음수 값을 반환하고, 오류는 stderr에 인쇄되며 거짓을 반환할 수 있습니다.

수신 디바이스 전원

int ReceiveDevicePower(bool * powered)

제공된 인수에 결과를 저장하는 SendDevicePowerQuery의 응답을 받습니다.

디바이스에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다.

반환

작업이 성공적으로 완료되면 0을 반환합니다. 스트림을 통해 장치와 통신하는 동안 오류가 발생한 경우 메서드는 음수 값을 반환하고, 오류는 stderr에 인쇄되며 거짓을 반환할 수 있습니다.

참고 항목

매개변수에 대한 설명은 DevicePowerResponse를 참조하세요.

장치 온도 쿼리

장치 온도 응답 장치 온도 쿼리()

디바이스의 온도를 조회합니다.

장치에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다. 그 동안 오류가 발생하면 stderr에 오류가 인쇄되고 거짓을 반환할 수 있습니다.

기능적으로 SendDeviceTemperatureQuery와 동일하지만 오류 처리 메커니즘을 제공하지 않습니다.

반환

장치의 온도입니다.

SendDeviceTemperatureQuery

void SendDeviceTemperatureQuery()

디바이스의 온도를 조회합니다.

디바이스의 응답을 처리하려면 ReceiveDeviceTemperature 호출이 뒤따라야 합니다.

기능적으로는 DeviceTemperatureQuery와 동일하지만 기본적인 오류 처리 메커니즘을 제공합니다.

수신 장치 온도

int ReceiveDeviceTemperature()

결과를 폐기하는 SendDeviceTemperatureQuery의 응답을 수신합니다.

디바이스에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다.

반환

작업이 성공적으로 완료되면 0을 반환합니다. 스트림을 통해 장치와 통신하는 동안 오류가 발생한 경우 메서드는 음수 값을 반환하고, 오류는 stderr에 인쇄되며 거짓을 반환할 수 있습니다.

수신 장치 온도

int ReceiveDeviceTemp(float * 온도)

제공된 인수에 결과를 저장하는 SendDeviceTemperatureQuery의 응답을 받습니다.

디바이스에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다.

반환

작업이 성공적으로 완료되면 0을 반환합니다. 스트림을 통해 장치와 통신하는 동안 오류가 발생한 경우 메서드는 음수 값을 반환하고, 오류는 stderr에 인쇄되며 거짓을 반환할 수 있습니다.

참고 항목

매개변수에 대한 설명은 DeviceTemperatureResponse를 참조하세요.

모터 커런트 쿼리

모터 커런트 응답 모터 커런트 쿼리()

디바이스의 모터에 적용되는 전류를 쿼리합니다.

장치에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다. 오류가 발생하면 stderr에 오류가 인쇄되고 거짓을 반환할 수 있습니다.

기능적으로 SendMotorCurrentsQuery와 동일하지만 오류 처리 메커니즘을 제공하지 않습니다.

반환

각 디바이스의 모터에 대한 전류입니다.

모터 전류 쿼리 보내기

void SendMotorCurrentsQuery()

디바이스의 모터에 적용되는 전류를 쿼리합니다.

디바이스의 응답을 처리하려면 ReceiveMotorCurrents 호출이 뒤따라야 합니다.

모터커런트 쿼리와 기능적으로 동일하지만 기본적인 오류 처리 메커니즘을 제공합니다.

모터 전류 수신

int ReceiveMotorCurrents()

결과를 폐기하는 SendMotorCurrentsQuery의 응답을 수신합니다.

디바이스에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다.

반환

작업이 성공적으로 완료되면 0을 반환합니다. 스트림을 통해 장치와 통신하는 동안 오류가 발생한 경우 메서드는 음수 값을 반환하고, 오류는 stderr에 인쇄되며 거짓을 반환할 수 있습니다.

모터 전류 수신

int ReceiveMotorCurrents(float * currents)

제공된 인수에 결과를 저장하는 SendMotorCurrentsQuery의 응답을 받습니다.

디바이스에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다.

반환

작업이 성공적으로 완료되면 0을 반환합니다. 스트림을 통해 장치와 통신하는 동안 오류가 발생한 경우 메서드는 음수 값을 반환하고, 오류는 stderr에 인쇄되며 거짓을 반환할 수 있습니다.

참고 항목

매개변수에 대한 설명을 보려면 MotorCurrentsResponse를 참조하세요.

GetDeviceHandedness

디바이스핸디드페이로드 GetDeviceHandedness()

디바이스의 핸드헬드 여부를 조회합니다.

장치에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다. 오류가 발생하면 stderr에 오류가 인쇄되고 거짓을 반환할 수 있습니다.

기능적으로는 SendGetDeviceHandedness와 동일하지만 오류 처리 메커니즘을 제공하지 않습니다.

반환

기기의 휴대성.

SendGetDeviceHandedness

void SendGetDeviceHandedness()

디바이스의 핸드헬드 여부를 조회합니다.

디바이스의 응답을 처리하려면 ReceiveDeviceHandedness 호출이 뒤따라야 합니다.

기능적으로는 GetDeviceHandedness와 동일하지만 기본적인 오류 처리 메커니즘을 제공합니다.

SetDeviceHandedness

디바이스핸디드 페이로드 설정 디바이스핸디드(const 디바이스핸디드 페이 로드 & 페이로드)

디바이스의 손맛을 설정합니다.

양손잡이를 변경하면 디바이스의 기준 프레임이 변경되고 내부 상태가 초기화됩니다. 여기에는 디바이스의 캘리브레이션, 토크/각도/힘/위치 값 및 시뮬레이션 모드가 포함됩니다. 또한 손맛을 변경하려면 디바이스의 팔을 물리적으로 변경해야 합니다. 이러한 변경을 적용하는 방법에 대한 가이드는 Haply 문서 허브를 참조하세요.

이 방법으로 변경한 내용은 디바이스의 다음 전원 주기까지만 유지됩니다. SaveConfig를 사용하여 변경 사항을 영구적으로 유지할 수 있습니다.

장치에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다. 오류가 발생하면 stderr에 오류가 인쇄되고 거짓을 반환할 수 있습니다.

기능적으로는 SendSetDeviceHandedness와 동일하지만 오류 처리 메커니즘을 제공하지 않습니다.

반환

기기의 휴대성.

SendSetDeviceHandedness

void SendSetDeviceHandedness(const uint8_t & handedness)

디바이스의 손맛을 설정합니다.

양손잡이를 변경하면 디바이스의 기준 프레임이 변경되고 내부 상태가 초기화됩니다. 여기에는 디바이스의 캘리브레이션, 토크/각도/힘/위치 값 및 시뮬레이션 모드가 포함됩니다. 또한 손맛을 변경하려면 디바이스의 팔을 물리적으로 변경해야 합니다. 이러한 변경을 적용하는 방법에 대한 가이드는 Haply 문서 허브를 참조하세요.

이 방법으로 변경한 내용은 디바이스의 다음 전원 주기까지만 유지됩니다. SaveConfig를 사용하여 변경 사항을 영구적으로 유지할 수 있습니다.

이 방법으로 변경한 내용은 디바이스의 다음 전원 주기까지만 유지됩니다. SaveConfig를 사용하여 변경 사항을 영구적으로 유지할 수 있습니다.

디바이스의 응답을 처리하려면 ReceiveDeviceHandedness 호출이 뒤따라야 합니다.

기능적으로는 SetDeviceHandedness와 동일하지만 기본적인 오류 처리 메커니즘을 제공합니다.

수신 디바이스 핸드드니스

int ReceiveDeviceHandedness()

SendGetDeviceHandedness 또는 SendSetDeviceHandedness에서 결과를 폐기하는 응답을 수신합니다.

디바이스에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다.

반환

작업이 성공적으로 완료되면 0을 반환합니다. 스트림을 통해 장치와 통신하는 동안 오류가 발생한 경우 메서드는 음수 값을 반환하고, 오류는 stderr에 인쇄되며 거짓을 반환할 수 있습니다.

수신 디바이스 핸드드니스

int ReceiveDeviceHandedness(uint8_t * handedness)

제공된 인수에 결과를 저장하는 SendGetDeviceHandedness 또는 SendSetDeviceHandedness의 응답을 수신합니다.

디바이스에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다.

반환

작업이 성공적으로 완료되면 0을 반환합니다. 스트림을 통해 장치와 통신하는 동안 오류가 발생한 경우 메서드는 음수 값을 반환하고, 오류는 stderr에 인쇄되며 거짓을 반환할 수 있습니다.

참고 항목

매개변수에 대한 설명은 DeviceHandednessResponse를 참조하세요.

GetTorqueScaling

토크 스케일링 페이로드 가져오기()

디바이스의 토크 스케일링 상태를 쿼리합니다.

장치에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다. 오류가 발생하면 stderr에 오류가 인쇄되고 거짓을 반환할 수 있습니다.

기능적으로 SendGetTorqueScaling과 동일하지만 오류 처리 메커니즘을 제공하지 않습니다.

반환

장치의 토크 스케일링 상태입니다.

SendGetTorqueScaling

void SendGetTorqueScaling()

디바이스의 토크 스케일링 상태를 쿼리합니다.

디바이스의 응답을 처리하기 위해 ReceiveTorqueScaling 호출이 뒤따라야 합니다.

기능적으로는 GetTorqueScaling과 동일하지만 기본적인 오류 처리 메커니즘을 제공합니다.

SetTorqueScaling

토오크 스케일링 페이로드 세트토크 스케일링(const 토오크 스케 일링 페이로드 & 페이로드)

디바이스의 토크 스케일링 상태를 제공된 값으로 설정합니다.

이 방법으로 변경한 내용은 디바이스의 다음 전원 주기까지만 유지됩니다. SaveConfig를 사용하여 변경 사항을 영구적으로 유지할 수 있습니다.

장치에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다. 오류가 발생하면 stderr에 오류가 인쇄되고 거짓을 반환할 수 있습니다.

기능적으로 SendGetTorqueScaling과 동일하지만 오류 처리 메커니즘을 제공하지 않습니다.

반환

장치의 토크 스케일링 상태입니다.

SendSetTorqueScaling

void SendSetTorqueScaling(const bool & enabled)

디바이스의 토크 스케일링 상태를 제공된 값으로 설정합니다.

이 방법으로 변경한 내용은 디바이스의 다음 전원 주기까지만 유지됩니다. SaveConfig를 사용하여 변경 사항을 영구적으로 유지할 수 있습니다.

디바이스의 응답을 처리하기 위해 ReceiveTorqueScaling 호출이 뒤따라야 합니다.

기능적으로는 SetTorqueScaling과 동일하지만 기본적인 오류 처리 메커니즘을 제공합니다.

수신 토크 스케일링

int ReceiveTorqueScaling()

SendGetTorqueScaling 또는 SendSetTorqueScaling에서 결과를 폐기하는 응답을 받습니다.

디바이스에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다.

반환

작업이 성공적으로 완료되면 0을 반환합니다. 스트림을 통해 장치와 통신하는 동안 오류가 발생한 경우 메서드는 음수 값을 반환하고, 오류는 stderr에 인쇄되며 거짓을 반환할 수 있습니다.

수신 토크 스케일링

int ReceiveTorqueScaling(bool * enabled)

제공된 인수에 결과를 저장하는 SendGetTorqueScaling 또는 SendSetTorqueScaling의 응답을 받습니다.

디바이스에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다.

반환

작업이 성공적으로 완료되면 0을 반환합니다. 스트림을 통해 장치와 통신하는 동안 오류가 발생한 경우 메서드는 음수 값을 반환하고, 오류는 stderr에 인쇄되며 거짓을 반환할 수 있습니다.

참고 항목

매개변수에 대한 설명은 TorqueScalingPayload를 참조하세요.

GetGravityCompensation

중력 보상 페이로드 GetGravityCompensation ()

디바이스의 중력 보정 상태를 조회합니다.

장치에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다. 오류가 발생하면 stderr에 오류가 인쇄되고 거짓을 반환할 수 있습니다.

기능적으로 SendGetGravityCompensation과 동일하지만 오류 처리 메커니즘을 제공하지 않습니다.

반환

장치의 중력 보정 상태입니다.

SendGetGravityCompensation

void SendGetGravityCompensation()

디바이스의 중력 보정 상태를 조회합니다.

디바이스의 응답을 처리하기 위해 ReceiveGravityCompensation 호출이 뒤따라야 합니다.

기능적으로 GetGravityCompensation과 동일하지만 기본적인 오류 처리 메커니즘을 제공합니다.

SetGravityCompensation

GravityCompensationPayload SetGravityCompensation(const GravityCompensationPayload & 페이로드)

기기의 중력 보정 상태를 제공된 값으로 설정합니다.

이 방법으로 변경한 내용은 디바이스의 다음 전원 주기까지만 유지됩니다. SaveConfig를 사용하여 변경 사항을 영구적으로 유지할 수 있습니다.

장치에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다. 오류가 발생하면 stderr에 오류가 인쇄되고 거짓을 반환할 수 있습니다.

기능적으로 SendSetGravityCompensation과 동일하지만 오류 처리 메커니즘을 제공하지 않습니다.

반환

장치의 중력 보정 상태입니다.

SendSetGravityCompensation

void SendSetGravityCompensation( const bool & enabled, const float & gravity_scale_factor)

기기의 중력 보정 상태를 제공된 값으로 설정합니다.

이 방법으로 변경한 내용은 디바이스의 다음 전원 주기까지만 유지됩니다. SaveConfig를 사용하여 변경 사항을 영구적으로 유지할 수 있습니다.

디바이스의 응답을 처리하기 위해 ReceiveGravityCompensation 호출이 뒤따라야 합니다.

기능적으로 GetGravityCompensation과 동일하지만 기본적인 오류 처리 메커니즘을 제공합니다.

중력 보상 받기

int ReceiveGravityCompensation()

SendGetGravityCompensation 또는 SendSetGravityCompensation에서 결과를 폐기하는 응답을 받습니다.

디바이스에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다.

반환

작업이 성공적으로 완료되면 0을 반환합니다. 스트림을 통해 장치와 통신하는 동안 오류가 발생한 경우 메서드는 음수 값을 반환하고, 오류는 stderr에 인쇄되며 거짓을 반환할 수 있습니다.

중력 보상 받기

int ReceiveGravityCompensation( bool * enabled, float * gravity_scale_factor)

제공된 인수에 결과를 저장하는 SendGetGravityCompensation 또는 SendSetGravityCompensation의 응답을 받습니다.

디바이스에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다.

반환

작업이 성공적으로 완료되면 0을 반환합니다. 스트림을 통해 장치와 통신하는 동안 오류가 발생한 경우 메서드는 음수 값을 반환하고, 오류는 stderr에 인쇄되며 거짓을 반환할 수 있습니다.

참고 항목

매개변수에 대한 설명은 GravityCompensationPayload를 참조하세요.

SaveConfig

저장 구성 응답 저장 구성()

수정된 구성 매개변수를 영구적으로 유지합니다.

디바이스의 영구 저장소에는 이 메서드를 호출할 때마다 소모되는 쓰기 제한이 있습니다. 따라서 이 메서드는 드물게만 사용해야 합니다.

장치에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다. 오류가 발생하면 stderr에 오류가 인쇄되고 거짓을 반환할 수 있습니다.

기능적으로는 SendSaveConfig와 동일하지만 오류 처리 메커니즘을 제공하지 않습니다.

반환

명령의 결과입니다.

SendSaveConfig

void SendSaveConfig()

수정된 구성 매개변수를 영구적으로 유지합니다.

디바이스의 영구 저장소에는 이 메서드를 호출할 때마다 소모되는 쓰기 제한이 있습니다. 따라서 이 메서드는 드물게만 사용해야 합니다.

디바이스의 응답을 처리하기 위해 ReceiveSaveConfig 호출이 뒤따라야 합니다.

기능적으로는 SaveConfig와 동일하지만 기본적인 오류 처리 메커니즘을 제공합니다.

ReceiveSaveConfig

int ReceiveSaveConfig(uint8_t * 매개변수_updated)

제공된 인수에 결과를 저장하는 SendSaveConfig의 응답을 받습니다.

디바이스에서 메시지를 수신하거나 오류가 발생할 때까지 차단합니다.

반환

작업이 성공적으로 완료되면 0을 반환합니다. 스트림을 통해 장치와 통신하는 동안 오류가 발생한 경우 메서드는 음수 값을 반환하고, 오류는 stderr에 인쇄되며 거짓을 반환할 수 있습니다.

참고 항목

매개변수에 대한 설명은 SaveConfigResponse를 참조하세요.