Inverse3
Haply::HardwareAPI::Devices::Inverse3
Encapsule la logique requise pour interagir avec un dispositif Inverse3.
Une instance de la classe SerialStream représentant le port série de l'Inverse3 est requise comme paramètre du constructeur. Une fois construit, la commande DeviceWakeup réveille l'appareil et permet d'activer les méthodes d'envoi. Toutes les méthodes d'envoi doivent être suivies de leurs méthodes de réception respectives pour traiter la réponse de l'appareil.
Cette classe utilise le terme "effecteur" pour désigner le curseur de l'appareil.
Toutes les méthodes de cette classe se bloquent jusqu'à ce que les opérations d'entrée-sortie soient terminées. Un dispositif Inverse3 peut fonctionner à des fréquences allant jusqu'à 8kHz, alors qu'un minimum recommandé de 1kHz est nécessaire pour garantir une expérience haptique fluide. Si plusieurs dispositifs sont gérés par le même thread, la fréquence de traitement globale sera plafonnée à la fréquence la plus basse de tous les dispositifs. Il n'est donc pas recommandé de mélanger les poignées et Inverse3 au sein d'un même thread.
Index
Classes
- DispositifHandednessPayload
- DeviceIdExtResponse
- DeviceInfoResponse
- DeviceOrientationResponse
- DevicePowerResponse
- DeviceTemperatureResponse
- Demande de force de l'effecteur
- Demande de position de l'effecteur
- EndEffectorStateResponse
- FirmwareVersionExtResponse
- GravityCompensationPayload
- JointAnglesRequest
- Réponse conjointe des États
- JointTorquesRequest
- MotorCurrentsResponse
- SaveConfigResponse
- Charge de paiement pour la mise à l'échelle du couple
Membres
Nom | Type | Description |
---|---|---|
NUM_JOINTS | static constexpr uint8_t | Nombre de moteurs/articulations dans un dispositif inverse3. |
MANCHE GAUCHE | static constexpr uint8_t | Constante pour un dispositif pour gauchers à utiliser en conjonction ... |
DROITIER | static constexpr uint8_t | Constante pour un dispositif pour droitiers à utiliser dans ... |
Méthodes
Nom | Type | Description |
---|---|---|
Inverse3 | (std::iostream *) | Construit un objet Inverse3 à partir de ... |
Réveil de l'appareil | DeviceInfoResponse(...) | Réveiller un appareil pour permettre des commandes supplémentaires. |
Envoyer le réveil de l'appareil | void() | Réveiller un appareil pour permettre des commandes supplémentaires. |
ReceiveDeviceInfo | int() | Recevoir la réponse de ... |
ReceiveDeviceInfo | int(uint16_t *, uint8_t *, uint8_t *, ...) | Recevoir la réponse de ... |
DeviceIdExtQuery | DeviceIdExtResponse(...) | Demande l'UUID de l'appareil. |
SendDeviceIdExtQuery (Requête sur l'appareil) | void() | Demande l'UUID de l'appareil. |
ReceiveDeviceIdExt | int() | Recevoir la réponse de ... |
ReceiveDeviceIdExt | int(UUID *) | Recevoir la réponse de ... |
FirmwareVersionExtQuery | FirmwareVersionExtResponse(...) | Interroger l'appareil pour connaître la version étendue de son micrologiciel. |
SendFirmwareVersionExtQuery (Requête sur la version du micrologiciel) | void() | Interroger l'appareil pour connaître la version étendue de son micrologiciel. |
ReceiveFirmwareVersionExt | int() | Recevoir la réponse de ... |
ReceiveFirmwareVersionExt | int(UUID *) | Recevoir la réponse de ... |
Couples d'articulation | JointStatesResponse(...) | Appliquer le couple fourni aux moteurs de l'appareil. |
Envoyer des couples de joints | void() | Arrête la génération de couple par les moteurs de l'appareil. |
Envoyer des couples de joints | void(const float) | Appliquer le couple fourni aux moteurs de l'appareil. |
Angles d'articulation | JointStatesResponse(...) | Définir l'angle des articulations de l'appareil. |
Envoyer les angles de jonction | void() | Arrête la génération de couple par les moteurs de l'appareil. |
Envoyer les angles de jonction | void(const float) | Définir l'angle des articulations de l'appareil. |
Recevoir des états conjoints | int() | Recevoir la réponse de ... |
Recevoir des états conjoints | int(float *, float *) | Recevoir la réponse de ... |
Force de l'effecteur | EndEffectorStateResponse(...) | Appliquer la force fournie au curseur de l'appareil. |
Envoyer la force de l'effecteur | void() | Arrête la génération de forces sur le curseur de l'appareil. |
Envoyer la force de l'effecteur | void(const float) | Appliquer la force fournie au curseur de l'appareil. |
Position de l'effecteur | EndEffectorStateResponse(...) | Définit la position du curseur de l'appareil. |
SendEndEffectorPosition | void() | Arrête la génération de forces sur le curseur de l'appareil. |
SendEndEffectorPosition | void(const float) | Définit la position du curseur de l'appareil. |
ReceiveEndEffectorState (état de l'effecteur) | int() | Recevoir la réponse de ... |
ReceiveEndEffectorState (état de l'effecteur) | int(float *, float *) | Recevoir la réponse de ... |
Requête sur l'orientation de l'appareil | DeviceOrientationResponse(...) | Demande l'orientation du corps de l'appareil. |
Demande d'orientation de l'appareil | void() | Demande l'orientation du corps de l'appareil. |
ReceiveDeviceOrientation | int() | Recevoir la réponse de ... |
ReceiveDeviceOrientation | int(float) | Recevoir la réponse de ... |
Requête sur la puissance des appareils | DevicePowerResponse(...) | Demande l'état d'alimentation de l'appareil. |
Envoi d'une requête sur l'alimentation de l'appareil | void() | Demande l'état d'alimentation de l'appareil. |
Recevoir l'alimentation de l'appareil | int() | Recevoir la réponse de ... |
Recevoir l'alimentation de l'appareil | int(bool *) | Recevoir la réponse de ... |
DeviceTemperatureQuery | DeviceTemperatureResponse(...) | Demande la température de l'appareil. |
Envoi d'une requête sur la température de l'appareil | void() | Demande la température de l'appareil. |
ReceiveDeviceTemperature | int() | Recevoir la réponse de ... |
ReceiveDeviceTemperature | int(float *) | Recevoir la réponse de ... |
Requête sur les courants moteurs | MotorCurrentsResponse(...) | Demande le courant appliqué aux moteurs de l'appareil. |
Demande d'envoi de courant moteur | void() | Demande le courant appliqué aux moteurs de l'appareil. |
Recevoir les courants du moteur | int() | Recevoir la réponse de ... |
Recevoir les courants du moteur | int(float *) | Recevoir la réponse de ... |
GetDeviceHandedness | Chargement de l'appareil(...) | Interroger la main de l'appareil. |
SendGetDeviceHandedness | void() | Interroger la main de l'appareil. |
SetDeviceHandedness | Chargement de l'appareil(...) | Définir la main de l'appareil. |
EnvoyerSetDeviceHandedness | void(const uint8_t &) | Définir la main de l'appareil. |
Recevoir la main de l'appareil | int() | Recevoir la réponse de ... |
Recevoir la main de l'appareil | int(uint8_t *) | Recevoir la réponse de ... |
GetTorqueScaling | TorqueScalingPayload(...) | Demande l'état de la mise à l'échelle du couple de l'appareil. |
SendGetTorqueScaling | void() | Demande l'état de la mise à l'échelle du couple de l'appareil. |
SetTorqueScaling | TorqueScalingPayload(...) | Régler l'état de la mise à l'échelle du couple de l'appareil à la valeur ... |
SendSetTorqueScaling | void(const bool &) | Régler l'état de la mise à l'échelle du couple de l'appareil à la valeur ... |
ReceiveTorqueScaling | int() | Recevoir la réponse de ... |
ReceiveTorqueScaling | int(bool *) | Recevoir la réponse de ... |
GetGravityCompensation | GravityCompensationPayload(...) | Demande l'état de la compensation de la gravité de l'appareil. |
SendGetGravityCompensation | void() | Demande l'état de la compensation de la gravité de l'appareil. |
SetGravityCompensation | GravityCompensationPayload(...) | Réglez l'état de compensation de la gravité de l'appareil sur le ... |
SendSetGravityCompensation | void(const bool &, const float &) | Réglez l'état de compensation de la gravité de l'appareil sur le ... |
Recevoir une indemnité de gravité | int() | Recevoir la réponse de ... |
Recevoir une indemnité de gravité | int(bool *, float *) | Recevoir la réponse de ... |
SaveConfig | SaveConfigResponse(...) | Maintient en permanence tout paramètre de configuration modifié. |
SendSaveConfig | void() | Maintient en permanence tout paramètre de configuration modifié. |
ReceiveSaveConfig | int(uint8_t *) | Recevoir la réponse de ... |
Membres
NUM_JOINTS
static constexpr uint8_t NUM_JOINTS = 3
Nombre de moteurs/articulations dans un dispositif inverse3.
MANCHE GAUCHE
static constexpr uint8_t LEFT_HANDED = 0x00
Constante pour un appareil pour gauchers à utiliser en conjonction avec DeviceHandednessPayload.
DROITIER
static constexpr uint8_t RIGHT_HANDED = 0x01
Constante pour un appareil de droitier à utiliser en conjonction avec DeviceHandednessPayload.
Méthodes
Inverse3
Inverse3(std::iostream * stream)
Construit un objet Inverse3 à partir du flux fourni.
Paramètres
- stream Objet stream représentant le port série associé à l'appareil. La durée de vie du flux doit être égale ou supérieure à la durée de vie de l'objet Inverse3. Il est recommandé de construire ce flux à l'aide de la classe SerialStream.
Réveil de l'appareil
DeviceInfoResponse DeviceWakeup()
Réveiller un appareil pour permettre des commandes supplémentaires.
Cette commande doit être envoyée à l'appareil avant toute autre commande. Cette commande a également pour effet secondaire de réinitialiser l'état interne de l'appareil (c'est-à-dire le mode simulation).
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée. Si une erreur survient, elle sera imprimée sur stderr et peut renvoyer false.
Fonctionnellement équivalent à SendDeviceWakeup mais sans mécanisme de gestion des erreurs.
Retours
Informations de base sur l'appareil.
Envoyer le réveil de l'appareil
void SendDeviceWakeup()
Réveiller un appareil pour permettre des commandes supplémentaires.
Cette commande doit être envoyée à l'appareil avant toute autre commande. Cette commande a également pour effet secondaire de réinitialiser l'état interne de l'appareil (c'est-à-dire le mode simulation). Elle doit être suivie d'un appel à ReceiveDeviceInfo pour traiter la réponse de l'appareil.
Fonctionnellement équivalent à DeviceWakeup, mais fournit un mécanisme de gestion des erreurs de base.
ReceiveDeviceInfo
int ReceiveDeviceInfo()
Recevoir la réponse de SendDeviceWakeup en écartant les résultats.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée.
Retours
Renvoie 0 si l'opération s'est terminée avec succès. Si une erreur s'est produite lors de la communication avec le périphérique via le flux, la méthode renvoie une valeur négative, une erreur est imprimée sur stderr et peut renvoyer false.
ReceiveDeviceInfo
int ReceiveDeviceInfo( uint16_t * device_id, uint8_t * device_model_number, uint8_t * hardware_version, uint8_t * firmware_version, UUID * device_id_ext)
Recevoir la réponse de SendDeviceWakeup en stockant le résultat dans les arguments fournis.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée.
Retours
Renvoie 0 si l'opération s'est terminée avec succès. Si une erreur s'est produite lors de la communication avec le périphérique via le flux, la méthode renvoie une valeur négative, une erreur est imprimée sur stderr et peut renvoyer false.
Voir aussi
DeviceInfoResponse pour une description des paramètres.
DeviceIdExtQuery
DeviceIdExtResponse DeviceIdExtQuery()
Demande l'UUID de l'appareil.
Renvoie le même UUID que celui fourni dans la réponse à la méthode DeviceWakeup.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée. Si une erreur survient, elle sera imprimée sur stderr et peut renvoyer false.
Fonctionnellement équivalent à SendDeviceIdExtQuery mais sans mécanisme de gestion des erreurs.
Retours
L'UUID de l'appareil.
SendDeviceIdExtQuery (Requête sur l'appareil)
void SendDeviceIdExtQuery()
Demande l'UUID de l'appareil.
Renvoie le même UUID que celui fourni dans la réponse à la méthode DeviceWakeup. Doit être suivi d'un appel à ReceiveDeviceIdExt pour traiter la réponse du périphérique.
Fonctionnellement équivalent à DeviceIdExtQuery mais fournit un mécanisme basique de gestion des erreurs.
ReceiveDeviceIdExt
int ReceiveDeviceIdExt()
Recevoir la réponse de SendDeviceIdExtQuery en écartant les résultats.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée.
Retours
Renvoie 0 si l'opération s'est terminée avec succès. Si une erreur s'est produite lors de la communication avec le périphérique via le flux, la méthode renvoie une valeur négative, une erreur est imprimée sur stderr et peut renvoyer false.
ReceiveDeviceIdExt
int ReceiveDeviceIdExt(UUID * device_id)
Recevoir la réponse de SendDeviceIdExtQuery en stockant le résultat dans l'argument fourni.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée.
Retours
Renvoie 0 si l'opération s'est terminée avec succès. Si une erreur s'est produite lors de la communication avec le périphérique via le flux, la méthode renvoie une valeur négative, une erreur est imprimée sur stderr et peut renvoyer false.
Voir aussi
DeviceIdExtResponse pour une description des paramètres.
FirmwareVersionExtQuery
FirmwareVersionExtResponse FirmwareVersionExtQuery()
Interroger l'appareil pour connaître la version étendue de son micrologiciel.
AVERTISSEMENT Cette commande est encore en cours d'examen et il ne faut pas se fier à son comportement.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée. Si une erreur survient, elle sera imprimée sur stderr et peut renvoyer false.
Fonctionnellement équivalent à SendFirmwareVersionExtQuery mais sans mécanisme de gestion des erreurs.
Retours
La version du micrologiciel de l'appareil.
SendFirmwareVersionExtQuery (Requête sur la version du micrologiciel)
void SendFirmwareVersionExtQuery()
Interroger l'appareil pour connaître la version étendue de son micrologiciel.
Doit être suivi d'un appel à ReceiveFirmwareVersionExt pour traiter la réponse de l'appareil.
Fonctionnellement équivalent à FirmwareVersionExtResponse, mais fournit un mécanisme de gestion des erreurs de base.
ReceiveFirmwareVersionExt
int ReceiveFirmwareVersionExt()
Recevoir la réponse de SendFirmwareVersionExtQuery en écartant les résultats.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée.
Retours
Renvoie 0 si l'opération s'est terminée avec succès. Si une erreur s'est produite lors de la communication avec le périphérique via le flux, la méthode renvoie une valeur négative, une erreur est imprimée sur stderr et peut renvoyer false.
ReceiveFirmwareVersionExt
int ReceiveFirmwareVersionExt(UUID * firmware_version_id)
Recevoir la réponse de SendFirmwareVersionExtQuery en stockant le résultat dans les arguments fournis.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée.
Retours
Renvoie 0 si l'opération s'est terminée avec succès. Si une erreur s'est produite lors de la communication avec le périphérique via le flux, la méthode renvoie une valeur négative, une erreur est imprimée sur stderr et peut renvoyer false.
Voir aussi
FirmwareVersionExtResponse pour une description des paramètres.
Couples d'articulation
JointStatesResponse JointTorques(const JointTorquesRequest & request)
Appliquer le couple fourni aux moteurs de l'appareil.
Cette commande fait passer l'appareil en mode de simulation des articulations et maintient le couple fourni jusqu'à ce qu'il soit remplacé par une nouvelle valeur de couple ou un nouveau mode de simulation.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée. Si une erreur survient, elle sera imprimée sur stderr et peut renvoyer false.
Fonctionnellement équivalent à SendJointTorques mais sans mécanisme de gestion des erreurs.
Paramètres
- demande Le couple à appliquer aux moteurs.
Retours
L'état actuel des articulations de l'appareil.
Envoyer des couples de joints
void SendJointTorques()
Arrête la génération de couple par les moteurs de l'appareil.
Envoyer des couples de joints
void SendJointTorques(const float torques)
Appliquer le couple fourni aux moteurs de l'appareil.
Cette commande fait passer l'appareil en mode de simulation des articulations et maintient le couple fourni jusqu'à ce qu'il soit remplacé par une nouvelle valeur de couple ou un nouveau mode de simulation.
Doit être suivi d'un appel à ReceiveJointStates pour traiter la réponse du dispositif.
Fonctionnellement équivalent à JointTorques mais fournit un mécanisme de gestion des erreurs de base.
Angles d'articulation
JointStatesResponse JointAngles(const JointAnglesRequest & request)
Définir l'angle des articulations de l'appareil.
Cette commande fait passer l'appareil en mode de simulation des articulations et maintient les angles fournis jusqu'à ce qu'ils soient remplacés par de nouveaux angles ou un nouveau mode de simulation.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée. Si une erreur survient, elle sera imprimée sur stderr et peut renvoyer false.
Fonctionnellement équivalent à SendJointAngles mais sans mécanisme de gestion des erreurs.
Paramètres
- demande Les angles à appliquer aux moteurs.
Retours
L'état actuel des articulations de l'appareil.
Envoyer les angles de jonction
void SendJointAngles()
Arrête la génération de couple par les moteurs de l'appareil.
Envoyer les angles de jonction
void SendJointAngles(const float angles)
Définir l'angle des articulations de l'appareil.
Cette commande fait passer l'appareil en mode de simulation des articulations et maintient les angles fournis jusqu'à ce qu'ils soient remplacés par de nouveaux angles ou un nouveau mode de simulation.
Doit être suivi d'un appel à ReceiveJointStates pour traiter la réponse du dispositif.
Fonctionnellement équivalent à JointAngles mais fournit un mécanisme basique de gestion des erreurs.
Recevoir des états conjoints
int ReceiveJointStates()
Recevoir la réponse de SendJointTorques ou SendJointAngles en rejetant les résultats.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée.
Retours
Renvoie 0 si l'opération s'est terminée avec succès. Si une erreur s'est produite lors de la communication avec le périphérique via le flux, la méthode renvoie une valeur négative, une erreur est imprimée sur stderr et peut renvoyer false.
Recevoir des états conjoints
int ReceiveJointStates( float * angles, float * angularVelocities)
Recevoir la réponse de SendJointTorques ou SendJointAngles en stockant les résultats dans les paramètres fournis.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée.
Retours
Renvoie 0 si l'opération s'est terminée avec succès. Si une erreur s'est produite lors de la communication avec le périphérique via le flux, la méthode renvoie une valeur négative, une erreur est imprimée sur stderr et peut renvoyer false.
Voir aussi
JointStatesResponse pour une description des paramètres.
Force de l'effecteur
EndEffectorStateResponse EndEffectorForce(const EndEffectorForceRequest & request)
Appliquer la force fournie au curseur de l'appareil.
Cette commande fait passer l'appareil en mode de simulation du curseur et maintient la force fournie jusqu'à ce qu'elle soit remplacée par une nouvelle force ou un nouveau mode de simulation.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée. Si une erreur survient, elle sera imprimée sur stderr et peut renvoyer false.
Fonctionnellement équivalent à xSendEndEffectorForce mais sans mécanisme de gestion des erreurs.
Paramètres
- demande La force à appliquer au curseur.
Retours
L'état actuel du curseur de l'appareil.
Envoyer la force de l'effecteur
void SendEndEffectorForce()
Arrête la génération de forces sur le curseur de l'appareil.
Envoyer la force de l'effecteur
void SendEndEffectorForce(const float force)
Appliquer la force fournie au curseur de l'appareil.
Cette commande fait passer l'appareil en mode de simulation du curseur et maintient la force fournie jusqu'à ce qu'elle soit remplacée par une nouvelle force ou un nouveau mode de simulation.
Doit être suivi d'un appel à ReceiveEndEffectorState pour traiter la réponse de l'appareil.
Fonctionnellement équivalent à EndEffectorForce mais fournit un mécanisme de gestion des erreurs de base.
Position de l'effecteur
EndEffectorStateResponse EndEffectorPosition(const EndEffectorPositionRequest & request)
Définit la position du curseur de l'appareil.
Cette commande fait passer l'appareil en mode de simulation du curseur et maintient la position fournie jusqu'à ce qu'elle soit remplacée par une nouvelle position ou un nouveau mode de simulation.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée. Si une erreur survient, elle sera imprimée sur stderr et peut renvoyer false.
Fonctionnellement équivalent à xSendEndEffectorPosition mais sans mécanisme de gestion des erreurs.
Paramètres
- demande La position souhaitée pour le curseur.
Retours
L'état actuel du curseur de l'appareil.
SendEndEffectorPosition
void SendEndEffectorPosition()
Arrête la génération de forces sur le curseur de l'appareil.
SendEndEffectorPosition
void SendEndEffectorPosition(const float position)
Définit la position du curseur de l'appareil.
Cette commande fait passer l'appareil en mode de simulation du curseur et maintient la position fournie jusqu'à ce qu'elle soit remplacée par une nouvelle position ou un nouveau mode de simulation.
Doit être suivi d'un appel à ReceiveEndEffectorState pour traiter la réponse de l'appareil.
Fonctionnellement équivalent à EndEffectorPosition mais fournit un mécanisme de gestion des erreurs de base.
ReceiveEndEffectorState (état de l'effecteur)
int ReceiveEndEffectorState()
Recevoir la réponse de SendEndEffectorForce ou SendEndEffectorPosition en écartant les résultats.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée.
Retours
Renvoie 0 si l'opération s'est terminée avec succès. Si une erreur s'est produite lors de la communication avec le périphérique via le flux, la méthode renvoie une valeur négative, une erreur est imprimée sur stderr et peut renvoyer false.
ReceiveEndEffectorState (état de l'effecteur)
int ReceiveEndEffectorState( float * position, float * velocity)
Recevoir la réponse de SendEndEffectorForce ou SendEndEffectorPosition en stockant les résultats dans les arguments fournis.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée.
Retours
Renvoie 0 si l'opération s'est terminée avec succès. Si une erreur s'est produite lors de la communication avec le périphérique via le flux, la méthode renvoie une valeur négative, une erreur est imprimée sur stderr et peut renvoyer false.
Voir aussi
EndEffetorStatesResponse pour une description des paramètres.
Requête sur l'orientation de l'appareil
DeviceOrientationResponse DeviceOrientationQuery()
Demande l'orientation du corps de l'appareil.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée. Si une erreur survient, elle sera imprimée sur stderr et peut renvoyer false.
Fonctionnellement équivalent à SendDeviceOrientationQuery mais sans mécanisme de gestion des erreurs.
Retours
L'orientation du corps de l'appareil.
Demande d'orientation de l'appareil
void SendDeviceOrientationQuery()
Demande l'orientation du corps de l'appareil.
Doit être suivi d'un appel à ReceiveDeviceOrientation pour traiter la réponse de l'appareil.
Fonctionnellement équivalent à DeviceOrientationQuery mais fournit un mécanisme basique de gestion des erreurs.
ReceiveDeviceOrientation
int ReceiveDeviceOrientation()
Recevoir la réponse de SendDeviceOrientationQuery en rejetant les résultats.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée.
Retours
Renvoie 0 si l'opération s'est terminée avec succès. Si une erreur s'est produite lors de la communication avec le périphérique via le flux, la méthode renvoie une valeur négative, une erreur est imprimée sur stderr et peut renvoyer false.
ReceiveDeviceOrientation
int ReceiveDeviceOrientation(float quaternion)
Recevoir la réponse de SendDeviceOrientationQuery en stockant le résultat dans les arguments fournis.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée.
Retours
Renvoie 0 si l'opération s'est terminée avec succès. Si une erreur s'est produite lors de la communication avec le périphérique via le flux, la méthode renvoie une valeur négative, une erreur est imprimée sur stderr et peut renvoyer false.
Voir aussi
DeviceOrientationResponse pour une description des paramètres.
Requête sur la puissance des appareils
DevicePowerResponse DevicePowerQuery()
Demande l'état d'alimentation de l'appareil.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée. Si une erreur survient, elle sera imprimée sur stderr et peut renvoyer false.
Fonctionnellement équivalent à SendDevicePowerQuery mais sans mécanisme de gestion des erreurs.
Retours
L'état d'alimentation de l'appareil.
Envoi d'une requête sur l'alimentation de l'appareil
void SendDevicePowerQuery()
Demande l'état d'alimentation de l'appareil.
Doit être suivi d'un appel à ReceiveDevicePower pour traiter la réponse de l'appareil.
Fonctionnellement équivalent à DevicePowerQuery mais fournit un mécanisme de gestion des erreurs de base.
Recevoir l'alimentation de l'appareil
int ReceiveDevicePower()
Recevoir la réponse de SendDevicePowerQuery en rejetant les résultats.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée.
Retours
Renvoie 0 si l'opération s'est terminée avec succès. Si une erreur s'est produite lors de la communication avec le périphérique via le flux, la méthode renvoie une valeur négative, une erreur est imprimée sur stderr et peut renvoyer false.
Recevoir l'alimentation de l'appareil
int ReceiveDevicePower(bool * powered)
Recevoir la réponse de SendDevicePowerQuery en stockant le résultat dans les arguments fournis.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée.
Retours
Renvoie 0 si l'opération s'est terminée avec succès. Si une erreur s'est produite lors de la communication avec le périphérique via le flux, la méthode renvoie une valeur négative, une erreur est imprimée sur stderr et peut renvoyer false.
Voir aussi
DevicePowerResponse pour une description des paramètres.
DeviceTemperatureQuery
DeviceTemperatureResponse DeviceTemperatureQuery()
Demande la température de l'appareil.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée. Si une erreur s'est produite, elle sera imprimée sur stderr et peut renvoyer false.
Fonctionnellement équivalent à SendDeviceTemperatureQuery mais sans mécanisme de gestion des erreurs.
Retours
La température de l'appareil.
Envoi d'une requête sur la température de l'appareil
void SendDeviceTemperatureQuery()
Demande la température de l'appareil.
Doit être suivi d'un appel à ReceiveDeviceTemperature pour traiter la réponse de l'appareil.
Fonctionnellement équivalent à DeviceTemperatureQuery mais fournit un mécanisme de gestion des erreurs de base.
ReceiveDeviceTemperature
int ReceiveDeviceTemperature()
Recevoir la réponse de SendDeviceTemperatureQuery en écartant les résultats.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée.
Retours
Renvoie 0 si l'opération s'est terminée avec succès. Si une erreur s'est produite lors de la communication avec le périphérique via le flux, la méthode renvoie une valeur négative, une erreur est imprimée sur stderr et peut renvoyer false.
ReceiveDeviceTemperature
int ReceiveDeviceTemperature(float * temperature)
Recevoir la réponse de SendDeviceTemperatureQuery en stockant le résultat dans les arguments fournis.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée.
Retours
Renvoie 0 si l'opération s'est terminée avec succès. Si une erreur s'est produite lors de la communication avec le périphérique via le flux, la méthode renvoie une valeur négative, une erreur est imprimée sur stderr et peut renvoyer false.
Voir aussi
DeviceTemperatureResponse pour une description des paramètres.
Requête sur les courants moteurs
MotorCurrentsResponse MotorCurrentsQuery()
Demande le courant appliqué aux moteurs de l'appareil.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée. Si une erreur survient, elle sera imprimée sur stderr et peut renvoyer false.
Fonctionnellement équivalent à SendMotorCurrentsQuery mais sans mécanisme de gestion des erreurs.
Retours
Le courant pour chacun des moteurs de l'appareil.
Demande d'envoi de courant moteur
void SendMotorCurrentsQuery()
Demande le courant appliqué aux moteurs de l'appareil.
Doit être suivi d'un appel à ReceiveMotorCurrents pour traiter la réponse de l'appareil.
Fonctionnellement équivalent à MotorCurrentsQuery mais fournit un mécanisme de gestion des erreurs de base.
Recevoir les courants du moteur
int ReceiveMotorCurrents()
Recevoir la réponse de SendMotorCurrentsQuery en rejetant les résultats.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée.
Retours
Renvoie 0 si l'opération s'est terminée avec succès. Si une erreur s'est produite lors de la communication avec le périphérique via le flux, la méthode renvoie une valeur négative, une erreur est imprimée sur stderr et peut renvoyer false.
Recevoir les courants du moteur
int ReceiveMotorCurrents(float * currents)
Recevoir la réponse de SendMotorCurrentsQuery en stockant le résultat dans les arguments fournis.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée.
Retours
Renvoie 0 si l'opération s'est terminée avec succès. Si une erreur s'est produite lors de la communication avec le périphérique via le flux, la méthode renvoie une valeur négative, une erreur est imprimée sur stderr et peut renvoyer false.
Voir aussi
MotorCurrentsResponse pour une description des paramètres.
GetDeviceHandedness
DeviceHandednessPayload GetDeviceHandedness()
Interroger la main de l'appareil.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée. Si une erreur survient, elle sera imprimée sur stderr et peut renvoyer false.
Fonctionnellement équivalent à SendGetDeviceHandedness mais sans mécanisme de gestion des erreurs.
Retours
La main de l'appareil.
SendGetDeviceHandedness
void SendGetDeviceHandedness()
Interroger la main de l'appareil.
Doit être suivi d'un appel à ReceiveDeviceHandedness pour traiter la réponse de l'appareil.
Fonctionnellement équivalent à GetDeviceHandedness mais fournit un mécanisme basique de gestion des erreurs.
SetDeviceHandedness
DeviceHandednessPayload SetDeviceHandedness(const DeviceHandednessPayload & payload)
Définir la main de l'appareil.
La modification de la main entraîne un changement de cadre de référence et une réinitialisation de l'état interne de l'appareil. Cela comprend l'étalonnage de l'appareil, les valeurs de couple/angle/force/position et le mode de simulation. Toute modification de l'orientation de la main nécessitera également une modification physique des bras de l'appareil. Consultez le centre de documentation Haply pour trouver un guide sur la façon d'effectuer ce changement.
La modification apportée par cette méthode ne persistera que jusqu'au prochain cycle d'alimentation de l'appareil. SaveConfig peut être utilisé pour maintenir la modification de manière permanente.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée. Si une erreur survient, elle sera imprimée sur stderr et peut renvoyer false.
Fonctionnellement équivalent à SendSetDeviceHandedness mais sans mécanisme de gestion des erreurs.
Retours
La main de l'appareil.
EnvoyerSetDeviceHandedness
void SendSetDeviceHandedness(const uint8_t & handedness)
Définir la main de l'appareil.
La modification de la main entraîne un changement de cadre de référence et une réinitialisation de l'état interne de l'appareil. Cela comprend l'étalonnage de l'appareil, les valeurs de couple/angle/force/position et le mode de simulation. Toute modification de l'orientation de la main nécessitera également une modification physique des bras de l'appareil. Consultez le centre de documentation Haply pour trouver un guide sur la façon d'effectuer ce changement.
La modification apportée par cette méthode ne persistera que jusqu'au prochain cycle d'alimentation de l'appareil. SaveConfig peut être utilisé pour maintenir la modification de manière permanente.
La modification apportée par cette méthode ne persistera que jusqu'au prochain cycle d'alimentation de l'appareil. SaveConfig peut être utilisé pour maintenir la modification de manière permanente.
Doit être suivi d'un appel à ReceiveDeviceHandedness pour traiter la réponse de l'appareil.
Fonctionnellement équivalent à SetDeviceHandedness mais fournit un mécanisme basique de gestion des erreurs.
Recevoir la main de l'appareil
int ReceiveDeviceHandedness()
Recevoir la réponse de SendGetDeviceHandedness ou SendSetDeviceHandedness en écartant les résultats.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée.
Retours
Renvoie 0 si l'opération s'est terminée avec succès. Si une erreur s'est produite lors de la communication avec le périphérique via le flux, la méthode renvoie une valeur négative, une erreur est imprimée sur stderr et peut renvoyer false.
Recevoir la main de l'appareil
int ReceiveDeviceHandedness(uint8_t * handedness)
Recevoir la réponse de SendGetDeviceHandedness ou SendSetDeviceHandedness en stockant le résultat dans les arguments fournis.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée.
Retours
Renvoie 0 si l'opération s'est terminée avec succès. Si une erreur s'est produite lors de la communication avec le périphérique via le flux, la méthode renvoie une valeur négative, une erreur est imprimée sur stderr et peut renvoyer false.
Voir aussi
DeviceHandednessResponse pour une description des paramètres.
GetTorqueScaling
TorqueScalingPayload GetTorqueScaling()
Demande l'état de la mise à l'échelle du couple de l'appareil.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée. Si une erreur survient, elle sera imprimée sur stderr et peut renvoyer false.
Fonctionnellement équivalent à SendGetTorqueScaling mais sans mécanisme de gestion des erreurs.
Retours
L'état de la mise à l'échelle du couple de l'appareil.
SendGetTorqueScaling
void SendGetTorqueScaling()
Demande l'état de la mise à l'échelle du couple de l'appareil.
Doit être suivi d'un appel à ReceiveTorqueScaling pour traiter la réponse de l'appareil.
Fonctionnellement équivalent à GetTorqueScaling mais fournit un mécanisme basique de gestion des erreurs.
SetTorqueScaling
TorqueScalingPayload SetTorqueScaling(const TorqueScalingPayload & payload)
Régler l'état de la mise à l'échelle du couple de l'appareil à la valeur fournie.
La modification apportée par cette méthode ne persistera que jusqu'au prochain cycle d'alimentation de l'appareil. SaveConfig peut être utilisé pour maintenir la modification de manière permanente.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée. Si une erreur survient, elle sera imprimée sur stderr et peut renvoyer false.
Fonctionnellement équivalent à SendGetTorqueScaling mais sans mécanisme de gestion des erreurs.
Retours
L'état de la mise à l'échelle du couple de l'appareil.
SendSetTorqueScaling
void SendSetTorqueScaling(const bool & enabled)
Régler l'état de la mise à l'échelle du couple de l'appareil à la valeur fournie.
La modification apportée par cette méthode ne persistera que jusqu'au prochain cycle d'alimentation de l'appareil. SaveConfig peut être utilisé pour maintenir la modification de manière permanente.
Doit être suivi d'un appel à ReceiveTorqueScaling pour traiter la réponse de l'appareil.
Fonctionnellement équivalent à SetTorqueScaling mais fournit un mécanisme de gestion des erreurs de base.
ReceiveTorqueScaling
int ReceiveTorqueScaling()
Recevoir la réponse de SendGetTorqueScaling ou SendSetTorqueScaling en écartant les résultats.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée.
Retours
Renvoie 0 si l'opération s'est terminée avec succès. Si une erreur s'est produite lors de la communication avec le périphérique via le flux, la méthode renvoie une valeur négative, une erreur est imprimée sur stderr et peut renvoyer false.
ReceiveTorqueScaling
int ReceiveTorqueScaling(bool * enabled)
Recevoir la réponse de SendGetTorqueScaling ou SendSetTorqueScaling en stockant le résultat dans les arguments fournis.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée.
Retours
Renvoie 0 si l'opération s'est terminée avec succès. Si une erreur s'est produite lors de la communication avec le périphérique via le flux, la méthode renvoie une valeur négative, une erreur est imprimée sur stderr et peut renvoyer false.
Voir aussi
TorqueScalingPayload pour une description des paramètres.
GetGravityCompensation
GravityCompensationPayload GetGravityCompensation()
Demande l'état de la compensation de la gravité de l'appareil.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée. Si une erreur survient, elle sera imprimée sur stderr et peut renvoyer false.
Fonctionnellement équivalent à SendGetGravityCompensation mais sans mécanisme de gestion des erreurs.
Retours
État de la compensation de la gravité de l'appareil.
SendGetGravityCompensation
void SendGetGravityCompensation()
Demande l'état de la compensation de la gravité de l'appareil.
Doit être suivi d'un appel à ReceiveGravityCompensation pour traiter la réponse de l'appareil.
Fonctionnellement équivalent à GetGravityCompensation mais fournit un mécanisme basique de gestion des erreurs.
SetGravityCompensation
GravityCompensationPayload SetGravityCompensation(const GravityCompensationPayload & payload)
Régler l'état de compensation de la gravité de l'appareil sur la valeur fournie.
La modification apportée par cette méthode ne persistera que jusqu'au prochain cycle d'alimentation de l'appareil. SaveConfig peut être utilisé pour maintenir la modification de manière permanente.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée. Si une erreur survient, elle sera imprimée sur stderr et peut renvoyer false.
Fonctionnellement équivalent à SendSetGravityCompensation mais sans mécanisme de gestion des erreurs.
Retours
L'état de compensation de la gravité de l'appareil.
SendSetGravityCompensation
void SendSetGravityCompensation( const bool & enabled, const float & gravity_scale_factor)
Régler l'état de compensation de la gravité de l'appareil sur la valeur fournie.
La modification apportée par cette méthode ne persistera que jusqu'au prochain cycle d'alimentation de l'appareil. SaveConfig peut être utilisé pour maintenir la modification de manière permanente.
Doit être suivi d'un appel à ReceiveGravityCompensation pour traiter la réponse de l'appareil.
Fonctionnellement équivalent à GetGravityCompensation mais fournit un mécanisme basique de gestion des erreurs.
Recevoir une indemnité de gravité
int ReceiveGravityCompensation()
Recevoir la réponse de SendGetGravityCompensation ou SendSetGravityCompensation en rejetant les résultats.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée.
Retours
Renvoie 0 si l'opération s'est terminée avec succès. Si une erreur s'est produite lors de la communication avec le périphérique via le flux, la méthode renvoie une valeur négative, une erreur est imprimée sur stderr et peut renvoyer false.
Recevoir une indemnité de gravité
int ReceiveGravityCompensation( bool * enabled, float * facteur_échelle_de_gravité)
Recevoir la réponse de SendGetGravityCompensation ou SendSetGravityCompensation en stockant le résultat dans les arguments fournis.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée.
Retours
Renvoie 0 si l'opération s'est terminée avec succès. Si une erreur s'est produite lors de la communication avec le périphérique via le flux, la méthode renvoie une valeur négative, une erreur est imprimée sur stderr et peut renvoyer false.
Voir aussi
GravityCompensationPayload pour une description des paramètres.
SaveConfig
SaveConfigResponse SaveConfig()
Maintient en permanence tout paramètre de configuration modifié.
La mémoire persistante de l'appareil a une limite d'écriture qui est consommée à chaque invocation de cette méthode. Par conséquent, cette méthode ne doit être utilisée que rarement.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée. Si une erreur survient, elle sera imprimée sur stderr et peut renvoyer false.
Fonctionnellement équivalent à SendSaveConfig mais sans mécanisme de gestion des erreurs.
Retours
Le résultat de la commande.
SendSaveConfig
void SendSaveConfig()
Maintient en permanence tout paramètre de configuration modifié.
La mémoire persistante de l'appareil a une limite d'écriture qui est consommée à chaque invocation de cette méthode. Par conséquent, cette méthode ne doit être utilisée que rarement.
Doit être suivi d'un appel à ReceiveSaveConfig pour traiter la réponse de l'appareil.
Fonctionnellement équivalent à SaveConfig, mais fournit un mécanisme de gestion des erreurs de base.
ReceiveSaveConfig
int ReceiveSaveConfig(uint8_t * parameters_updated)
Reçoit la réponse de SendSaveConfig et stocke les résultats dans l'argument fourni.
Bloque jusqu'à ce qu'un message soit reçu de l'appareil ou qu'une erreur soit rencontrée.
Retours
Renvoie 0 si l'opération s'est terminée avec succès. Si une erreur s'est produite lors de la communication avec le périphérique via le flux, la méthode renvoie une valeur négative, une erreur est imprimée sur stderr et peut renvoyer false.
Voir aussi
SaveConfigResponse pour une description des paramètres.