Skip to main content
Version : la plus récente

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

Membres

NomTypeDescription
NUM_JOINTSstatic constexpr uint8_tNombre de moteurs/articulations dans un dispositif inverse3.
MANCHE GAUCHEstatic constexpr uint8_tConstante pour un dispositif pour gauchers à utiliser en conjonction ...
DROITIERstatic constexpr uint8_tConstante pour un dispositif pour droitiers à utiliser dans ...

Méthodes

NomTypeDescription
Inverse3(...)Construit un objet Inverse3 à partir de ...
Réveil de l'appareilDeviceInfoResponse(...)Réveiller un appareil pour permettre des commandes supplémentaires.
Envoyer le réveil de l'appareilvoid()Réveiller un appareil pour permettre des commandes supplémentaires.
ReceiveDeviceInfoint()Recevoir la réponse de ...
ReceiveDeviceInfoint(uint16_t *, uint8_t *, uint8_t *, ...)Recevoir la réponse de ...
DeviceIdExtQueryDeviceIdExtResponse(...)Demande l'UUID de l'appareil.
SendDeviceIdExtQuery (Requête sur l'appareil)void()Demande l'UUID de l'appareil.
ReceiveDeviceIdExtint()Recevoir la réponse de ...
ReceiveDeviceIdExtint(UUID *)Recevoir la réponse de ...
FirmwareVersionExtQueryFirmwareVersionExtResponse(...)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.
ReceiveFirmwareVersionExtint()Recevoir la réponse de ...
ReceiveFirmwareVersionExtint(UUID *)Recevoir la réponse de ...
Couples d'articulationJointStatesResponse(...)Appliquer le couple fourni aux moteurs de l'appareil.
Envoyer des couples de jointsvoid()Arrête la génération de couple par les moteurs de l'appareil.
Envoyer des couples de jointsvoid(const float)Appliquer le couple fourni aux moteurs de l'appareil.
Angles d'articulationJointStatesResponse(...)Définir l'angle des articulations de l'appareil.
Envoyer les angles de jonctionvoid()Arrête la génération de couple par les moteurs de l'appareil.
Envoyer les angles de jonctionvoid(const float)Définir l'angle des articulations de l'appareil.
Recevoir des états conjointsint()Recevoir la réponse de ...
Recevoir des états conjointsint(float *, float *)Recevoir la réponse de ...
Force de l'effecteurEndEffectorStateResponse(...)Appliquer la force fournie au curseur de l'appareil.
Envoyer la force de l'effecteurvoid()Arrête la génération de forces sur le curseur de l'appareil.
Envoyer la force de l'effecteurvoid(const float)Appliquer la force fournie au curseur de l'appareil.
Position de l'effecteurEndEffectorStateResponse(...)Définit la position du curseur de l'appareil.
SendEndEffectorPositionvoid()Arrête la génération de forces sur le curseur de l'appareil.
SendEndEffectorPositionvoid(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'appareilDeviceOrientationResponse(...)Demande l'orientation du corps de l'appareil.
Demande d'orientation de l'appareilvoid()Demande l'orientation du corps de l'appareil.
ReceiveDeviceOrientationint()Recevoir la réponse de ...
ReceiveDeviceOrientationint(float)Recevoir la réponse de ...
Requête sur la puissance des appareilsDevicePowerResponse(...)Demande l'état d'alimentation de l'appareil.
Envoi d'une requête sur l'alimentation de l'appareilvoid()Demande l'état d'alimentation de l'appareil.
Recevoir l'alimentation de l'appareilint()Recevoir la réponse de ...
Recevoir l'alimentation de l'appareilint(bool *)Recevoir la réponse de ...
DeviceTemperatureQueryDeviceTemperatureResponse(...)Demande la température de l'appareil.
Envoi d'une requête sur la température de l'appareilvoid()Demande la température de l'appareil.
ReceiveDeviceTemperatureint()Recevoir la réponse de ...
ReceiveDeviceTemperatureint(float *)Recevoir la réponse de ...
Requête sur les courants moteursMotorCurrentsResponse(...)Demande le courant appliqué aux moteurs de l'appareil.
Demande d'envoi de courant moteurvoid()Demande le courant appliqué aux moteurs de l'appareil.
Recevoir les courants du moteurint()Recevoir la réponse de ...
Recevoir les courants du moteurint(float *)Recevoir la réponse de ...
GetDeviceHandednessChargement de l'appareil(...)Interroger la main de l'appareil.
SendGetDeviceHandednessvoid()Interroger la main de l'appareil.
SetDeviceHandednessChargement de l'appareil(...)Définir la main de l'appareil.
EnvoyerSetDeviceHandednessvoid(const uint8_t &)Définir la main de l'appareil.
Recevoir la main de l'appareilint()Recevoir la réponse de ...
Recevoir la main de l'appareilint(uint8_t *)Recevoir la réponse de ...
GetTorqueScalingTorqueScalingPayload(...)Demande l'état de la mise à l'échelle du couple de l'appareil.
SendGetTorqueScalingvoid()Demande l'état de la mise à l'échelle du couple de l'appareil.
SetTorqueScalingTorqueScalingPayload(...)Régler l'état de la mise à l'échelle du couple de l'appareil à la valeur ...
SendSetTorqueScalingvoid(const bool &)Régler l'état de la mise à l'échelle du couple de l'appareil à la valeur ...
ReceiveTorqueScalingint()Recevoir la réponse de ...
ReceiveTorqueScalingint(bool *)Recevoir la réponse de ...
GetGravityCompensationGravityCompensationPayload(...)Demande l'état de la compensation de la gravité de l'appareil.
SendGetGravityCompensationvoid()Demande l'état de la compensation de la gravité de l'appareil.
SetGravityCompensationGravityCompensationPayload(...)Réglez l'état de compensation de la gravité de l'appareil sur le ...
SendSetGravityCompensationvoid(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 ...
SaveConfigSaveConfigResponse(...)Maintient en permanence tout paramètre de configuration modifié.
SendSaveConfigvoid()Maintient en permanence tout paramètre de configuration modifié.
ReceiveSaveConfigint(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( Haply::HardwareAPI::IO::SerialStream * stream, float timeout)

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.

  • timeout Durée maximale d'attente d'une réponse de l'appareil. Si l'appareil ne répond pas dans ce délai, l'opération échoue et une erreur est imprimée sur stderr.

Le délai d'attente par défaut est de 5 secondes. Une valeur négative désactive le délai d'attente.

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.