PageSourceSearch

https://robotiq.github.io/assets/js/05c68786.7300bc34.js

js robotiq.github.io collected 2026-10-03 09:53:06 UTC 56,316 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([["785"],{9684(e,s,a){a.r(s),a.d(s,{metadata:()=>r,default:()=>x,frontMatter:()=>i,contentTitle:()=>c,toc:()=>t,assets:()=>l});var r=JSON.parse('{"id":"Adaptive grippers/Libraries/C++/API/classes/robotiq-gripper","title":"Robotiq::Gripper Class","description":"The Robotiq gripper Class.","source":"@site/software-tools/Adaptive grippers/Libraries/C++/API/classes/robotiq-gripper.md","sourceDirName":"Adaptive grippers/Libraries/C++/API/classes","slug":"/Adaptive grippers/Libraries/C++/API/classes/robotiq/gripper","permalink":"/docs/drivers/next/Adaptive grippers/Libraries/C++/API/classes/robotiq/gripper","draft":false,"unlisted":false,"editUrl":null,"tags":[],"version":"current","frontMatter":{"slug":"/Adaptive grippers/Libraries/C++/API/classes/robotiq/gripper","custom_edit_url":null,"toc_max_heading_level":4,"keywords":["doxygen","reference","class"],"title":"Robotiq::Gripper Class"},"sidebar":"softwareToolsSidebar","previous":{"title":"Wait","permalink":"/docs/drivers/next/Adaptive grippers/Libraries/C++/API/groups/wait"},"next":{"title":"Testing & CI Utilities","permalink":"/docs/drivers/next/Adaptive grippers/Libraries/C++/API/groups/testing"}}'),d=a(4848),n=a(8453);let i={slug:"/Adaptive grippers/Libraries/C++/API/classes/robotiq/gripper",custom_edit_url:null,toc_max_heading_level:4,keywords:["doxygen","reference","class"],title:"Robotiq::Gripper Class"},c="Robotiq::Gripper Class",l={},t=[{value:"Included Headers",id:"included-headers",level:2},{value:"Members",id:"members",level:2},{value:"Public Constructors",id:"public-constructors",level:2},{value:"Gripper()",id:"a5eb9ff806f95b4897ac2a84c7ab5cd5b",level:3},{value:"Gripper()",id:"adfc96636a8bbf607500bd336084718cd",level:3},{value:"Gripper()",id:"af3dbe64d7c85194155d544613c9fb014",level:3},{value:"Public Destructor",id:"public-destructor",level:2},{value:"~Gripper()",id:"a7f84674c3e5268aab43d36b2f745b906",level:3},{value:"Public Operators",id:"public-operators",level:2},{value:"operator=()",id:"a2130edf90ce255dfc008558ec5d9e4b8",level:3},{value:"Public Member Functions",id:"public-member-functions",level:2},{value:"connectionState()",id:"a26937bade9fda6e393bdcc12c1029702",level:3},{value:"getCommand()",id:"a1e4f1d956171dff3727eafe325c25dcd",level:3},{value:"getMostRecentStampedExchange()",id:"ab7f0df773bc64a33ec81f79bd1a8e611",level:3},{value:"getStatus()",id:"a9b1120dc938148af2e7804db99a2e1ce",level:3},{value:"platform()",id:"a621c9be0227bd1c96ce1cae3bb77326c",level:3},{value:"setCommand()",id:"a19a4d81095d3b24cd56c0688bc589498",level:3},{value:"waitForExchange()",id:"a1dc8ef868f0e55238c174a0bcf490187",level:3},{value:"waitForExchangeCount()",id:"ac3edf9957f44b45845f63d88d4483d50",level:3}];function o(e){let s={a:"a",b:"b",dd:"dd",div:"div",dl:"dl",dt:"dt",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",li:"li",p:"p",span:"span",table:"table",tbody:"tbody",td:"td",tr:"tr",ul:"ul",...(0,n.R)(),...e.components};return(0,d.jsxs)(s.div,{className:"doxyPage",children:["\n",(0,d.jsx)(s.header,{children:(0,d.jsx)(s.h1,{id:"robotiqgripper-class",children:"Robotiq::Gripper Class"})}),"\n",(0,d.jsx)(s.p,{children:(0,d.jsx)(s.a,{id:"details"})}),"\n",(0,d.jsx)(s.p,{children:"The Robotiq gripper Class."}),"\n",(0,d.jsxs)(s.p,{children:["Construction opens the link, reads the gripper \u2014 failing like a dead serial link when it does not answer \u2014 and starts the exchange cycle; destruction stops it. Control is instant: ",(0,d.jsx)(s.a,{href:"#a19a4d81095d3b24cd56c0688bc589498",children:"setCommand()"})," and ",(0,d.jsx)(s.a,{href:"#a9b1120dc938148af2e7804db99a2e1ce",children:"getStatus()"})," access an internal process image and never touch the bus. The control image seeds from the gripper's own status echoes, so connecting never disturbs a gripper that is already running."]}),"\n",(0,d.jsxs)(s.p,{children:[(0,d.jsx)(s.b,{children:"Concurrency model:"})," one commander, any number of observers. A single thread calls ",(0,d.jsx)(s.a,{href:"#a19a4d81095d3b24cd56c0688bc589498",children:"setCommand()"}),"; any thread may read status, take exchange records and wait on them, while a background exchange thread runs the wire. Several uncoordinated commanders are undefined behaviour: there is one command image. Reads are whole snapshots and writes are whole commands \u2014 no per-field accessors, deliberately: every transmitted frame is a command the application composed, and two fields never come from different exch
1ange cycles. The blocking calls are ",(0,d.jsx)(s.a,{href:"#a1dc8ef868f0e55238c174a0bcf490187",children:"waitForExchange()"})," and ",(0,d.jsx)(s.a,{href:"#ac3edf9957f44b45845f63d88d4483d50",children:"waitForExchangeCount()"}),"."]}),"\n",(0,d.jsx)(s.h2,{id:"included-headers",children:"Included Headers"}),"\n",(0,d.jsx)(s.div,{className:"doxyIncludesList",children:"#include <gripper.hpp>\n"}),"\n",(0,d.jsx)(s.h2,{id:"members",children:"Members"}),"\n",(0,d.jsxs)(s.div,{className:"doxyMembersIndexScroll",children:["\n",(0,d.jsx)(s.table,{className:"doxyMembersIndex",children:(0,d.jsxs)(s.tbody,{children:[(0,d.jsx)(s.tr,{className:"doxyMemberIndexHeading",children:(0,d.jsx)(s.td,{colSpan:"2",children:"Public Constructors"})}),(0,d.jsxs)(s.tr,{className:"doxyMemberIndexItem",children:[(0,d.jsx)(s.td,{className:"doxyMemberIndexItemType",vAlign:"top",style:{textAlign:"left"}}),(0,d.jsxs)(s.td,{className:"doxyMemberIndexItemName",vAlign:"top",style:{textAlign:"left"},children:[(0,d.jsx)(s.a,{href:"#a5eb9ff806f95b4897ac2a84c7ab5cd5b",children:"Gripper"})," (const ConnectionConfig &config, std::shared_ptr< Logger > logger=nullptr)"]})]}),(0,d.jsxs)(s.tr,{className:"doxyMemberIndexDescription",children:[(0,d.jsx)(s.td,{className:"doxyMemberIndexDescriptionLeft"}),(0,d.jsxs)(s.td,{className:"doxyMemberIndexDescriptionRight",children:["\n",(0,d.jsxs)(s.p,{children:["The common-case constructor: create a gripper object and start communication over the built-in serial transport and the default platform. ",(0,d.jsx)(s.a,{href:"#a5eb9ff806f95b4897ac2a84c7ab5cd5b",children:"More..."})]}),"\n"]})]}),(0,d.jsxs)(s.tr,{className:"doxyMemberIndexItem",children:[(0,d.jsx)(s.td,{className:"doxyMemberIndexItemType",vAlign:"top",style:{textAlign:"left"}}),(0,d.jsxs)(s.td,{className:"doxyMemberIndexItemName",vAlign:"top",style:{textAlign:"left"},children:[(0,d.jsx)(s.a,{href:"#adfc96636a8bbf607500bd336084718cd",children:"Gripper"})," (std::unique_ptr< Serial > serial, uint8_t slaveAddress, std::chrono::microseconds exchangePeriod, std::shared_ptr< Platform > platform, std::shared_ptr< Logger > logger=nullptr)"]})]}),(0,d.jsxs)(s.tr,{className:"doxyMemberIndexDescription",children:[(0,d.jsx)(s.td,{className:"doxyMemberIndexDescriptionLeft"}),(0,d.jsxs)(s.td,{className:"doxyMemberIndexDescriptionRight",children:["\n",(0,d.jsxs)(s.p,{children:["A general-purpose constructor for cases where the common-case constructor does not apply. Start communication over a caller-supplied transport and platform. ",(0,d.jsx)(s.a,{href:"#adfc96636a8bbf607500bd336084718cd",children:"More..."})]}),"\n"]})]}),(0,d.jsxs)(s.tr,{className:"doxyMemberIndexItem",children:[(0,d.jsx)(s.td,{className:"doxyMemberIndexItemType",vAlign:"top",style:{textAlign:"left"}}),(0,d.jsxs)(s.td,{className:"doxyMemberIndexItemName",vAlign:"top",style:{textAlign:"left"},children:[(0,d.jsx)(s.a,{href:"#af3dbe64d7c85194155d544613c9fb014",children:"Gripper"})," (const Gripper &)=delete"]})]}),(0,d.jsx)(s.tr,{className:"doxyMemberIndexHeading",children:(0,d.jsx)(s.td,{colSpan:"2",children:"Public Destructor"})}),(0,d.jsxs)(s.tr,{className:"doxyMemberIndexItem",children:[(0,d.jsx)(s.td,{className:"doxyMemberIndexItemType",vAlign:"top",style:{textAlign:"left"}}),(0,d.jsxs)(s.td,{className:"doxyMemberIndexItemName",vAlign:"top",style:{textAlign:"left"},children:[(0,d.jsx)(s.a,{href:"#a7f84674c3e5268aab43d36b2f745b906",children:"~Gripper"})," ()"]})]}),(0,d.jsxs)(s.tr,{className:"doxyMemberIndexDescription",children:[(0,d.jsx)(s.td,{className:"doxyMemberIndexDescriptionLeft"}),(0,d.jsxs)(s.td,{className:"doxyMemberIndexDescriptionRight",children:["\n",(0,d.jsxs)(s.p,{children:["Stops the exchange cycle and closes the link. ",(0,d.jsx)(s.a,{href:"#a7f84674c3e5268aab43d36b2f745b906",children:"More..."})]}),"\n"]})]}),(0,d.jsx)(s.tr,{className:"doxyMemberIndexHeading",children:(0,d.jsx)(s.td,{colSpan:"2",children:"Public Operators"})}),(0,d.jsxs)(s.tr,{className:"doxyMemberIndexItem",children:[(0,d.jsxs)(s.td,{className:"doxyMemberIndexItemType",vAlign:"top",style:{textAlign:"left"},children:[(0,d.jsx)(s.a,{href:"/docs/drivers/next/Adaptive grippers/Libraries/C++/API/classes/robotiq/gripper",children:"Gripper"})," &"]}),(0,d.jsxs)(s.td,{className:"doxyMemberIndexItemName",vAlign:"top",style:{textAlign:"left"},children:[(0,d.jsx)(s.a,{href:"#a2130edf90ce255dfc008558ec5d9e4b8",children:"operator="})," (const Gripper &)=delete"]})]}),(0,d.jsx)(s.tr,{className:"doxyMemberIndexHeading",children:(0,d.jsx)(s.td,{colSpan:"2",children:"Public Member Functions"})}),(0,d.jsxs)(s.tr,{className:"doxyMemberIndexItem",children:[(0,d.jsx)(s.td,{className:"doxyMemberIndexItemType",vAlign:"top",style:{textAlign:"left"},children:"void"}),(0,d.jsxs)(s.td,{className:"doxyMemberIndexItemName",vAlign:"top",style:{textAlign:"left"},children:[(0,d.jsx)(s.a,{href:"#a19a4d81095d3b24cd56c0688bc589498",children:"setCommand"})," (const GripperCommand &command)"]})]}),(0,d.jsxs)(s.tr,{className:"doxyMemberIndexDescription",children:[(0,d.jsx)(s.td,{className:"doxyMemberIndexDescriptionLeft"}),(0,d.jsxs)(s.td,{className:"doxyMemberIndexDescriptionRight",children:["\n",(0,d.jsxs)(s.p,{children:["Hand a new command block to the exchange cycle. ",(0,d.jsx)(s.a,{href:"#a19a4d81095d3b24cd56c0688bc589498",children:"More..."})]}),"\n"]})]}),(0,d.jsxs)(s.tr,{className:"doxyMemberIndexItem",children:[(0,d.jsx)(s.td,{className:"doxyMemberIndexItemType",vAlign:"top",style:{textAlign:"left"},children:(0,d.jsx)(s.a,{href:"/docs/drivers/next/Adaptive grippers/Libraries/C++/API/structs/robotiq/grippercommand",children:"GripperCommand"})}),(0,d.jsxs)(s.td,{className:"doxyMemberIndexItemName",vAlign:"top",style:{textAlign:"left"},children:[(0,d.jsx)(s.a,{href:"#a1e4f1d956171dff3727eafe325c25dcd",children:"getCommand"})," () const"]})]}),(0,d.jsxs)(s.tr,{className:"doxyMemberIndexItem",children:[(0,d.jsx)(s.td,{className:"doxyMemberIndexItemType",vAlign:"top",style:{textAlign:"left"},children:(0,d.jsx)(s.a,{href:"/docs/drivers/next/Adaptive grippers/Libraries/C++/API/structs/robotiq/gripperstatus",children:"GripperStatus"})}),(0,d.jsxs)(s.td,{className:"doxyMemberIndexItemName",vAlign:"top",style:{textAlign:"left"},children:[(0,d.jsx)(s.a,{href:"#a9b1120dc938148af2e7804db99a2e1ce",children:"getStatus"})," () const"]})]}),(0,d.jsxs)(s.tr,{className:"doxyMemberIndexItem",children:[(0,d.jsx)(s.td,{className:"doxyMemberIndexItemType",vAlign:"top",style:{textAlign:"left"},children:(0,d.jsx)(s.a,{href:"/docs/drivers/next/Adaptive grippers/Libraries/C++/API/structs/robotiq/stampedexchange",children:"StampedExchange"})}),(0,d.jsxs)(s.td,{className:"doxyMemberIndexItemName",vAlign:"top",style:{textAlign:"left"},children:[(0,d.jsx)(s.a,{href:"#ab7f0df773bc64a33ec81f79bd1a8e611",children:"getMostRecentStampedExchange"})," () const"]})]}),(0,d.jsxs)(s.tr,{className:"doxyMemberIndexItem",children:[(0,d.jsxs)(s.td,{className:"doxyMemberIndexItemType",vAlign:"top",style:{textAlign:"left"},children:["std::optional< ",(0,d.jsx)(s.a,{href:"/docs/drivers/next/Adaptive grippers/Libraries/C++/API/structs/robotiq/stampedexchange",children:"StampedExchange"})," >"]}),(0,d.jsxs)(s.td,{className:"doxyMemberIndexItemName",vAlign:"top",style:{textAlign:"left"},children:[(0,d.jsx)(s.a,{href:"#a1dc8ef868f0e55238c174a0bcf490187",children:"waitForExchange"})," (std::chrono::milliseconds timeout=std::chrono::seconds(30)) const"]})]}),(0,d.jsxs)(s.tr,{className:"doxyMemberIndexDescription",children:[(0,d.jsx)(s.td,{className:"doxyMemberIndexDescriptionLeft"}),(0,d.jsxs)(s.td,{className:"doxyMemberIndexDescriptionRight",children:["\n",(0,d.jsxs)(s.p,{children:["Block until an exchange completes or a timeout occurs. ",(0,d.jsx)(s.a,{href:"#a1dc8ef868f0e55238c174a0bcf490187",children:"More..."})]}),"\n"]})]}),(0,d.jsxs)(s.tr,{className:"doxyMemberIndexItem",children:[(0,d.jsxs)(s.td,{className:"doxyMemberIndexItemType",vAlign:"top",style:{textAlign:"left"},children:["std::optional< ",(0,d.jsx)(s.a,{href:"/docs/drivers/next/Adaptive grippers/Libraries/C++/API/structs/robotiq/stampedexchange",children:"StampedExchange"})," >"]}),(0,d.jsxs)(s.td,{className:"doxyMemberIndexItemName",vAlign:"top",style:{textAlign:"left"},children:[(0,d.jsx)(s.a,{href:"#ac3edf9957f44b45845f63d88d4483d50",children:"waitForExchangeCount"})," (uint64_t desiredExchangeCount, std::chrono::milliseconds timeout=std::chrono::seconds(30)) const"]})]}),(0,d.jsxs)(s.tr,{className:"doxyMemberIndexDescription",children:[(0,d.jsx)(s.td,{className:"doxyMemberIndexDescriptionLeft"}),(0,d.jsxs)(s.td,{className:"doxyMemberIndexDescriptionRight",children:["\n",(0,d.jsxs)(s.p,{children:["Block until the exchange count reaches a value or a t
1imeout occurs. ",(0,d.jsx)(s.a,{href:"#ac3edf9957f44b45845f63d88d4483d50",children:"More..."})]}),"\n"]})]}),(0,d.jsxs)(s.tr,{className:"doxyMemberIndexItem",children:[(0,d.jsx)(s.td,{className:"doxyMemberIndexItemType",vAlign:"top",style:{textAlign:"left"},children:(0,d.jsx)(s.a,{href:"/docs/drivers/next/Adaptive grippers/Libraries/C++/API/groups/connection/#gacadb5863845c2aaae67c1ebefc5e0bff",children:"ConnectionState"})}),(0,d.jsxs)(s.td,{className:"doxyMemberIndexItemName",vAlign:"top",style:{textAlign:"left"},children:[(0,d.jsx)(s.a,{href:"#a26937bade9fda6e393bdcc12c1029702",children:"connectionState"})," () const"]})]}),(0,d.jsxs)(s.tr,{className:"doxyMemberIndexItem",children:[(0,d.jsxs)(s.td,{className:"doxyMemberIndexItemType",vAlign:"top",style:{textAlign:"left"},children:[(0,d.jsx)(s.a,{href:"/docs/drivers/next/Adaptive grippers/Libraries/C++/API/classes/robotiq/platform",children:"Platform"})," &"]}),(0,d.jsxs)(s.td,{className:"doxyMemberIndexItemName",vAlign:"top",style:{textAlign:"left"},children:[(0,d.jsx)(s.a,{href:"#a621c9be0227bd1c96ce1cae3bb77326c",children:"platform"})," () const noexcept"]})]}),(0,d.jsxs)(s.tr,{className:"doxyMemberIndexDescription",children:[(0,d.jsx)(s.td,{className:"doxyMemberIndexDescriptionLeft"}),(0,d.jsxs)(s.td,{className:"doxyMemberIndexDescriptionRight",children:["\n",(0,d.jsxs)(s.p,{children:["Return the runtime ",(0,d.jsx)(s.a,{href:"/docs/drivers/next/Adaptive grippers/Libraries/C++/API/classes/robotiq/platform",children:"Platform"})," used by this gripper. ",(0,d.jsx)(s.a,{href:"#a621c9be0227bd1c96ce1cae3bb77326c",children:"More..."})]}),"\n"]})]})]})}),"\n"]}),"\n",(0,d.jsxs)(s.div,{className:"doxySectionDef",children:["\n",(0,d.jsx)(s.h2,{id:"public-constructors",children:"Public Constructors"}),"\n",(0,d.jsx)(s.h3,{id:"a5eb9ff806f95b4897ac2a84c7ab5cd5b",children:"Gripper()"}),"\n",(0,d.jsxs)(s.div,{className:"doxyMemberItem",children:["\n",(0,d.jsxs)(s.div,{className:"doxyMemberProto",children:["\n",(0,d.jsx)(s.table,{className:"doxyMemberLabels",children:(0,d.jsx)(s.tbody,{children:(0,d.jsxs)(s.tr,{className:"doxyMemberLabels",children:[(0,d.jsxs)(s.td,{className:"doxyMemberLabelsLeft",children:["\n",(0,d.jsx)(s.table,{className:"doxyMemberName",children:(0,d.jsxs)(s.tbody,{children:[(0,d.jsxs)(s.tr,{children:[(0,d.jsx)(s.td,{className:"doxyMemberNamePrefix",children:"Robotiq::Gripper::Gripper"}),(0,d.jsx)(s.td,{className:"doxyMemberNameParen",children:"("}),(0,d.jsxs)(s.td,{className:"doxyMemberNameParamType",children:["const ",(0,d.jsx)(s.a,{href:"/docs/drivers/next/Adaptive grippers/Libraries/C++/API/structs/robotiq/connectionconfig",children:"ConnectionConfig"})," &"]}),(0,d.jsx)(s.td,{className:"doxyMemberNameParamName",children:"config,"})]}),(0,d.jsxs)(s.tr,{children:[(0,d.jsx)(s.td,{className:"doxyMemberNamePrefix"}),(0,d.jsx)(s.td,{className:"doxyMemberNameParen"}),(0,d.jsxs)(s.td,{className:"doxyMemberNameParamType",children:["std::shared_ptr< ",(0,d.jsx)(s.a,{href:"/docs/drivers/next/Adaptive grippers/Libraries/C++/API/classes/robotiq/logger",children:"Logger"})," >"]}),(0,d.jsx)(s.td,{className:"doxyMemberNameParamName",children:"logger = nullptr"})]}),(0,d.jsxs)(s.tr,{children:[(0,d.jsx)(s.td,{className:"doxyMemberNamePrefix"}),(0,d.jsx)(s.td,{className:"doxyMemberNameParen",children:")"}),(0,d.jsx)(s.td,{className:"doxyMemberNameParamType"}),(0,d.jsx)(s.td,{className:"doxyMemberNameParamName"})]})]})}),"\n"]}),(0,d.jsxs)(s.td,{className:"doxyMemberLabelsRight",children:["\n",(0,d.jsxs)(s.span,{className:"doxyMemberLabels",children:["\n",(0,d.jsx)(s.span,{className:"doxyMemberLabel explicit",children:"explicit"}),"\n"]}),"\n"]})]})})}),"\n"]}),"\n",(0,d.jsxs)(s.div,{className:"doxyMemberDoc",children:["\n",(0,d.jsx)(s.p,{children:"The common-case constructor: create a gripper object and start communication over the built-in serial transport and the default platform."}),"\n",(0,d.jsxs)(s.dl,{className:"doxyParamsList",children:["\n",(0,d.jsx)(s.dt,{className:"doxyParamsTableTitle",children:"Parameters"}),"\n",(0,d.jsxs)(s.dd,{children:["\n",(0,d.jsx)(s.table,{className:"doxyParamsTable",children:(0,d.jsxs)(s.tbody,{children:[(0,d.jsxs)(s.tr,{className:"doxyParamItem",children:[(0,d.jsx)(s.td,{className:"doxyParamItemName",children:"config"}),(0,d.jsx)(s.td,{className:"doxyParamItemDescription",children:(0,d.jsxs)(s.p,{children:["see ",(0,d.jsx)(s.a,{href:"/docs/drivers/next/Adaptive grippers/Libraries/C++/API/structs/robotiq/connectionconfig",children:"ConnectionConfig"}),"."]})})]}),(0,d.jsxs)(s.tr,{className:"doxyParamItem",children:[(0,d.jsx)(s.td,{className:"doxyParamItemName",children:"logger"}),(0,d.jsx)(s.td,{className:"doxyParamItemDescription",children:(0,d.jsx)(s.p,{children:"Log sink; pass null to use the default stderr logger."})})]})]})}),"\n"]}),"\n"]}),"\n",(0,d.jsxs)(s.dl,{className:"doxyParamsList",children:["\n",(0,d.jsx)(s.dt,{className:"doxyParamsTableTitle",children:"Exceptions"}),"\n",(0,d.jsxs)(s.dd,{children:["\n",(0,d.jsx)(s.table,{className:"doxyParamsTable",children:(0,d.jsxs)(s.tbody,{children:[(0,d.jsxs)(s.tr,{className:"doxyParamItem",children:[(0,d.jsx)(s.td,{className:"doxyParamItemName",children:'<a href="/docs/drivers/next/Adaptive grippers/Libraries/C++/API/classes/robotiq/serialioexception">SerialIOException</a>'}),(0,d.jsx)(s.td,{className:"doxyParamItemDescription",children:(0,d.jsx)(s.p,{children:"when the port cannot be opened/configured."})})]}),(0,d.jsxs)(s.tr,{className:"doxyParamItem",children:[(0,d.jsx)(s.td,{className:"doxyParamItemName",children:'<a href="/docs/drivers/next/Adaptive grippers/Libraries/C++/API/classes/robotiq/driverexception">DriverException</a>'}),(0,d.jsx)(s.td,{className:"doxyParamItemDescription",children:(0,d.jsx)(s.p,{children:"when no gripper answers the initial read, or when config.connectionFrequency is invali
1d."})})]})]})}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,d.jsx)(s.h3,{id:"adfc96636a8bbf607500bd336084718cd",children:"Gripper()"}),"\n",(0,d.jsxs)(s.div,{className:"doxyMemberItem",children:["\n",(0,d.jsxs)(s.div,{className:"doxyMemberProto",children:["\n",(0,d.jsx)(s.table,{className:"doxyMemberLabels",children:(0,d.jsx)(s.tbody,{children:(0,d.jsx)(s.tr,{className:"doxyMemberLabels",children:(0,d.jsxs)(s.td,{className:"doxyMemberLabelsLeft",children:["\n",(0,d.jsx)(s.table,{className:"doxyMemberName",children:(0,d.jsxs)(s.tbody,{children:[(0,d.jsxs)(s.tr,{children:[(0,d.jsx)(s.td,{className:"doxyMemberNamePrefix",children:"Robotiq::Gripper::Gripper"}),(0,d.jsx)(s.td,{className:"doxyMemberNameParen",children:"("}),(0,d.jsxs)(s.td,{className:"doxyMemberNameParamType",children:["std::unique_ptr< ",(0,d.jsx)(s.a,{href:"/docs/drivers/next/Adaptive grippers/Libraries/C++/API/classes/robotiq/serial",children:"Serial"})," >"]}),(0,d.jsx)(s.td,{className:"doxyMemberNameParamName",children:"serial,"})]}),(0,d.jsxs)(s.tr,{children:[(0,d.jsx)(s.td,{className:"doxyMemberNamePrefix"}),(0,d.jsx)(s.td,{className:"doxyMemberNameParen"}),(0,d.jsx)(s.td,{className:"doxyMemberNameParamType",children:"uint8_t"}),(0,d.jsx)(s.td,{className:"doxyMemberNameParamName",children:"slaveAddress,"})]}),(0,d.jsxs)(s.tr,{children:[(0,d.jsx)(s.td,{className:"doxyMemberNamePrefix"}),(0,d.jsx)(s.td,{className:"doxyMemberNameParen"}),(0,d.jsx)(s.td,{className:"doxyMemberNameParamType",children:"std::chrono::microseconds"}),(0,d.jsx)(s.td,{className:"doxyMemberNameParamName",children:"exchangePeriod,"})]}),(0,d.jsxs)(s.tr,{children:[(0,d.jsx)(s.td,{className:"doxyMemberNamePrefix"}),(0,d.jsx)(s.td,{className:"doxyMemberNameParen"}),(0,d.jsxs)(s.td,{className:"doxyMemberNameParamType",children:["std::shared_ptr< ",(0,d.jsx)(s.a,{href:"/docs/drivers/next/Adaptive grippers/Libraries/C++/API/classes/robotiq/platform",children:"Platform"})," >"]}),(0,d.jsx)(s.td,{className:"doxyMemberNameParamName",children:"platform,"})]}),(0,d.jsxs)(s.tr,{children:[(0,d.jsx)(s.td,{className:"doxyMemberNamePrefix"}),(0,d.jsx)(s.td,{className:"doxyMemberNameParen"}),(0,d.jsxs)(s.td,{className:"doxyMemberNameParamType",children:["std::shared_ptr< ",(0,d.jsx)(s.a,{href:"/docs/drivers/next/Adaptive grippers/Libraries/C++/API/classes/robotiq/logger",children:"Logger"})," >"]}),(0,d.jsx)(s.td,{className:"doxyMemberNameParamName",children:"logger = nullptr"})]}),(0,d.jsxs)(s.tr,{children:[(0,d.jsx)(s.td,{className:"doxyMemberNamePrefix"}),(0,d.jsx)(s.td,{className:"doxyMemberNameParen",children:")"}),(0,d.jsx)(s.td,{className:"doxyMemberNameParamType"}),(0,d.jsx)(s.td,{className:"doxyMemberNameParamName"})]})]})}),"\n"]})})})}),"\n"]}),"\n",(0,d.jsxs)(s.div,{className:"doxyMemberDoc",children:["\n",(0,d.jsx)(s.p,{children:"A general-purpose constructor for cases where the common-case constructor does not apply. Start communication over a caller-supplied transport and platform."}),"\n",(0,d.jsxs)(s.dl,{className:"doxyParamsList",children:["\n",(0,d.jsx)(s.dt,{className:"doxyParamsTableTitle",children:"Parameters"}),"\n",(0,d.jsxs)(s.dd,{children:["\n",(0,d.jsx)(s.table,{className:"doxyParamsTable",children:(0,d.jsxs)(s.tbody,{children:[(0,d.jsxs)(s.tr,{className:"doxyParamItem",children:[(0,d.jsx)(s.td,{className:"doxyParamItemName",children:"serial"}),(0,d.jsx)(s.td,{className:"doxyParamItemDescription",children:(0,d.jsx)(s.p,{children:"The transport to exchange over; must not be null."})})]}),(0,d.jsxs)(s.tr,{className:"doxyParamItem",children:[(0,d.jsx)(s.td,{className:"doxyParamItemName",children:"slaveAddress"}),(0,d.jsx)(s.td,{className:"doxyParamItemDescription",children:(0,d.jsx)(s.p,{children:"The gripper's Modbus slave address."})})]}),(0,d.jsxs)(s.tr,{className:"doxyParamItem",children:[(0,d.jsx)(s.td,{className:"doxyParamItemName",children:"exchangePeriod"}),(0,d.jsx)(s.td,{className:"doxyParamItemDescription",children:(0,d.jsx)(s.p,{children:"Period of the background exchange cycle."})})]}),(0,d.jsxs)(s.tr,{className:"doxyParamItem",children:[(0,d.jsx)(s.td,{className:"doxyParamItemName",children:"platform"}),(0,d.jsx)(s.td,{className:"doxyParamItemDescription",children:(0,d.jsx)(s.p,{children:"Runtime services (thread, lock, sleep) for the exchange to run on; must not be null."})})]}),(0,d.jsxs)(s.tr,{className:"doxyParamItem",children:[(0,d.jsx)(s.td,{className:"doxyParamItemName",children:"logger"}),(0,d.jsx)(s.td,{className:"doxyParamItemDescription",children:(0,d.jsx)(s.p,{children:"Log sink; pass null to use the build's default logger."})})]})]})}),"\n"]}),"\n"]}),"\n",(0,d.jsxs)(s.dl,{className:"doxyParamsList",children:["\n",(0,d.jsx)(s.dt,{className:"doxyParamsTableTitle",children:"Exceptions"}),"\n",(0,d.jsxs)(s.dd,{children:["\n",(0,d.jsx)(s.table,{className:"doxyParamsTable",children:(0,d.jsxs)(s.tbody,{children:[(0,d.jsxs)(s.tr,{className:"doxyParamItem",children:[(0,d.jsx)(s.td,{className:"doxyParamItemName",children:'<a href="/docs/drivers/next/Adaptive grippers/Libraries/C++/API/classes/robotiq/serialioexception">SerialIOException</a>'}),(0,d.jsx)(s.td,{className:"doxyParamItemDescription",children:(0,d.jsx)(s.p,{children:"when the port cannot be opened/configured."})})]}),(0,d.jsxs)(s.tr,{className:"doxyParamItem",children:[(0,d.jsx)(s.td,{className:"doxyParamItemName",children:'<a href="/docs/drivers/next/Adaptive grippers/Libraries/C++/API/classes/robotiq/driverexception">DriverException</a>'}),(0,d.jsx)(s.td,{className:"doxyParamItemDescription",children:(0,d.jsx)(s.p,{children:"when no gripper answers the initial read, when exchangePerio
1d is invalid, or when platform is null."})})]})]})}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,d.jsx)(s.h3,{id:"af3dbe64d7c85194155d544613c9fb014",children:"Gripper()"}),"\n",(0,d.jsxs)(s.div,{className:"doxyMemberItem",children:["\n",(0,d.jsxs)(s.div,{className:"doxyMemberProto",children:["\n",(0,d.jsx)(s.table,{className:"doxyMemberLabels",children:(0,d.jsx)(s.tbody,{children:(0,d.jsxs)(s.tr,{className:"doxyMemberLabels",children:[(0,d.jsxs)(s.td,{className:"doxyMemberLabelsLeft",children:["\n",(0,d.jsx)(s.table,{className:"doxyMemberName",children:(0,d.jsxs)(s.tbody,{children:[(0,d.jsxs)(s.tr,{children:[(0,d.jsx)(s.td,{className:"doxyMemberNamePrefix",children:"Robotiq::Gripper::Gripper"}),(0,d.jsx)(s.td,{className:"doxyMemberNameParen",children:"("}),(0,d.jsxs)(s.td,{className:"doxyMemberNameParamType",children:["const ",(0,d.jsx)(s.a,{href:"/docs/drivers/next/Adaptive grippers/Libraries/C++/API/classes/robotiq/gripper",children:"Gripper"})," &"]}),(0,d.jsx)(s.td,{className:"doxyMemberNameParamName"})]}),(0,d.jsxs)(s.tr,{children:[(0,d.jsx)(s.td,{className:"doxyMemberNamePrefix"}),(0,d.jsx)(s.td,{className:"doxyMemberNameParen",children:")"}),(0,d.jsx)(s.td,{className:"doxyMemberNameParamType"}),(0,d.jsx)(s.td,{className:"doxyMemberNameParamName"})]})]})}),"\n"]}),(0,d.jsxs)(s.td,{className:"doxyMemberLabelsRight",children:["\n",(0,d.jsxs)(s.span,{className:"doxyMemberLabels",children:["\n",(0,d.jsx)(s.span,{className:"doxyMemberLabel delete",children:"delete"}),"\n"]}),"\n"]})]})})}),"\n"]}),"\n",(0,d.jsx)(s.div,{className:"doxyMemberDoc",children:"\n"}),"\n"]}),"\n"]}),"\n",(0,d.jsxs)(s.div,{className:"doxySectionDef",children:["\n",(0,d.jsx)(s.h2,{id:"public-destructor",children:"Public Destructor"}),"\n",(0,d.jsx)(s.h3,{id:"a7f84674c3e5268aab43d36b2f745b906",children:"~Gripper()"}),"\n",(0,d.jsxs)(s.div,{className:"doxyMemberItem",children:["\n",(0,d.jsxs)(s.div,{className:"doxyMemberProto",children:["\n",(0,d.jsx)(s.table,{className:"doxyMemberLabels",children:(0,d.jsx)(s.tbody,{children:(0,d.jsx)(s.tr,{className:"doxyMemberLabels",children:(0,d.jsxs)(s.td,{className:"doxyMemberLabelsLeft",children:["\n",(0,d.jsx)(s.table,{className:"doxyMemberName",children:(0,d.jsx)(s.tbody,{children:(0,d.jsx)(s.tr,{children:(0,d.jsx)(s.td,{className:"doxyMemberName",children:"Robotiq::Gripper::~Gripper ()"})})})}),"\n"]})})})}),"\n"]}),"\n",(0,d.jsxs)(s.div,{className:"doxyMemberDoc",children:["\n",(0,d.jsx)(s.p,{children:"Stops the exchange cycle and closes the link."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,d.jsxs)(s.div,{className:"doxySectionDef",children:["\n",(0,d.jsx)(s.h2,{id:"public-operators",children:"Public Operators"}),"\n",(0,d.jsx)(s.h3,{id:"a2130edf90ce255dfc008558ec5d9e4b8",children:"operator=()"}),"\n",(0,d.jsxs)(s.div,{className:"doxyMemberItem",children:["\n",(0,d.jsxs)(s.div,{className:"doxyMemberProto",children:["\n",(0,d.jsx)(s.table,{className:"doxyMemberLabels",children:(0,d.jsx)(s.tbody,{children:(0,d.jsxs)(s.tr,{className:"doxyMemberLabels",children:[(0,d.jsxs)(s.td,{className:"doxyMemberLabelsLeft",children:["\n",(0,d.jsx)(s.table,{className:"doxyMemberName",children:(0,d.jsxs)(s.tbody,{children:[(0,d.jsxs)(s.tr,{children:[(0,d.jsxs)(s.td,{className:"doxyMemberNamePrefix",children:[(0,d.jsx)(s.a,{href:"/docs/drivers/next/Adaptive grippers/Libraries/C++/API/classes/robotiq/gripper",children:"Gripper"})," & Robotiq::Gripper::operator="]}),(0,d.jsx)(s.td,{className:"doxyMemberNameParen",children:"("}),(0,d.jsxs)(s.td,{className:"doxyMemberNameParamType",children:["const ",(0,d.jsx)(s.a,{href:"/docs/drivers/next/Adaptive grippers/Libraries/C++/API/classes/robotiq/gripper",children:"Gripper"})," &"]}),(0,d.jsx)(s.td,{className:"doxyMemberNameParamName"})]}),(0,d.jsxs)(s.tr,{children:[(0,d.jsx)(s.td,{className:"doxyMemberNamePrefix"}),(0,d.jsx)(s.td,{className:"doxyMemberNameParen",children:")"}),(0,d.jsx)(s.td,{className:"doxyMemberNameParamType"}),(0,d.jsx)(s.td,{className:"doxyMemberNameParamName"})]})]})}),"\n"]}),(0,d.jsxs)(s.td,{className:"doxyMemberLabelsRight",children:["\n",(0,d.jsxs)(s.span,{className:"doxyMemberLabels",children:["\n",(0,d.jsx)(s.span,{className:"doxyMemberLabel delete",children:"delete"}),"\n"]}),"\n"]})]})})}),"\n"]}),"\n",(0,d.jsx)(s.div,{className:"doxyMemberDoc",children:"\n"}),"\n"]}),"\n"]}),"\n",(0,d.jsxs)(s.div,{className:"doxySectionDef",children:["\n",(0,d.jsx)(s.h2,{id:"public-member-functions",children:"Public Member Functions"}),"\n",(0,d.jsx)(s.h3,{id:"a26937bade9fda6e393bdcc12c1029702",children:"connectionState()"}),"\n",(0,d.jsxs)(s.div,{className:"doxyMemberItem",children:["\n",(0,d.jsxs)(s.div,{className:"doxyMemberProto",children:["\n",(0,d.jsx)(s.table,{className:"doxyMemberLabels",children:(0,d.jsx)(s.tbody,{children:(0,d.jsx)(s.tr,{className:"doxyMemberLabels",children:(0,d.jsxs)(s.td,{className:"doxyMemberLabelsLeft",children:["\n",(0,d.jsx)(s.table,{className:"doxyMemberName",children:(0,d.jsx)(s.tbody,{children:(0,d.jsx)(s.tr,{children:(0,d.jsxs)(s.td,{className:"doxyMemberName",children:[(0,d.jsx)(s.a,{href:"/docs/drivers/next/Adaptive grippers/Libraries/C++/API/groups/connection#gacadb5863845c2aaae67c1ebefc5e0bff",children:"ConnectionState"})," Robotiq::Gripper::connectionState ()"]})})})}),"\n"]})})})}),"\n"]}),"\n",(0,d.jsxs)(s.div,{className:"doxyMemberDoc",children:["\n",(0,d.jsxs)(s.dl,{className:"doxySectionUser",children:["\n",(0,d.jsx)(s.dt,{children:"Returns"}),"\n",(0,d.jsx)(s.dd,{children:(0,d.jsx)(s.p,{children:"The current state of the background exchange; see ConnectionState."})}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,d.jsx)(s.h3,{id:"a1e4f1d956171dff3727eafe325c25dcd",children:"getCommand()"}),"\n",(0,d.jsxs)(s.div,{className:"doxyMemberItem",children:["\n",(0,d.jsxs)(s.div,{className:"doxyMemberProto",children:["\n",(0,d.jsx)(s.table,{className:"doxyMemberLabels",children:(0,d.jsx)(s.tbody,{children:(0,d.jsx)(s.tr,{className:"doxyMemberLabels",children:(0,d.jsxs)(s.td,{className:"doxyMemberLabelsLeft",children:["\n",(0,d.jsx)(s.table,{className:"doxyMemberName",children:(0,d.jsx)(s.tbody,{children:(0,d.jsx)(s.tr,{children:(0,d.jsxs)(s.td,{className:"doxyMemberName",children:[(0,d.jsx)(s.a,{href:"/docs/drivers/next/Adaptive grippers/Libraries/C++/API/structs/robotiq/grippercommand",children:"GripperCommand"})," Robotiq::Gripper::getCommand ()"]})})})}),"\n"]})})})}),"\n"]}),"\n",(0,d.jsxs)(s.div,{className:"doxyMemberDoc",children:["\n",(0,d.jsxs)(s.dl,{className:"doxySectionUser",children:["\n",(0,d.jsx)(s.dt,{children:"Returns"}),"\n",(0,d.jsx)(s.dd,{children:(0,d.jsxs)(s.p,{children:["The last command block passed to ",(0,d.jsx)(s.a,{href:"#a19a4d81095d3b24cd56c0688bc589498",children:"setCommand()"})," \u2014 or the gripper's own echoed state, before the first call."]})}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,d.jsx)(s.h3,{id:"ab7f0df773bc64a33ec81f79bd1a8e611",children:"getMostRecentStampedExchange()"}),"\n",(0,d.jsxs)(s.div,{className:"doxyMemberItem",children:["\n",(0,d.jsxs)(s.div,{className:"doxyMemberProto",children:["\n",(0,d.jsx)(s.table,{className:"doxyMemberLabels",children:(0,d.jsx)(s.tbody,{children:(0,d.jsx)(s.tr,{className:"doxyMemberLabels",children:(0,d.jsxs)(s.td,{className:"doxyMemberLabelsLeft",children:["\n",(0,d.jsx)(s.table,{className:"doxyMemberName",children:(0,d.jsx)(s.tbody,{children:(0,d.jsx)(s.tr,{children:(0,d.jsxs)(s.td,{className:"doxyMemberName",children:[(0,d.jsx)(s.a,{href:"/docs/drivers/next/Adaptive grippers/Libraries/C++/API/structs/robotiq/stampedexchange",children:"StampedExchange"})," Robotiq::Gripper::getMostRecentStampedExchange ()"]})})})}),"\n"]})})})}),"\n"]}),"\n",(0,d.jsxs)(s.div,{className:"doxyMemberDoc",children:["\n",(0,d.jsxs)(s.dl,{className:"doxySectionUser",children:["\n",(0,d.jsx)(s.dt,{children:"Returns"}),"\n",(0,d.jsx)(s.dd,{children:(0,d.jsx)(s.p,{children:"The most recent stamped exchange."})}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,d.jsx)(s.h3,{id:"a9b1120dc938148af2e7804db99a2e1ce",children:"getStatus()"}),"\n",(0,d.jsxs)(s.div,{className:"doxyMemberItem",children:["\n",(0,d.jsxs)(s.div,{className:"doxyMemberProto",children:["\n",(0,d.jsx)(s.table,{className:"doxyMemberLabels",children:(0,d.jsx)(s.tbody,{children:(0,d.jsx)(s.tr,{className:"doxyMemberLabels",children:(0,d.jsxs)(s.td,{className:"doxyMemberLabelsLeft",children:["\n",(0,d.jsx)(s.table,{className:"doxyMemberName",children:(0,d.jsx)(s.tbody,{children:(0,d.jsx)(s.tr,{children:(0,d.jsxs)(s.td,{className:"doxyMemberName",children:[(0,d.jsx)(s.a,{href:"/docs/drivers/next/Adaptive grippers/Libraries/C++/API/structs/robotiq/gripperstatus",children:"GripperStatus"})," Robotiq::Gripper::getStatus ()"]})})})}),"\n"]})})})}),"\n"]}),"\n",(0,d.jsxs)(s.div,{className:"doxyMemberDoc",children:["\n",(0,d.jsxs)(s.dl,{className:"doxySectionUser",children:["\n",(0,d.jsx)(s.dt,{children:"Returns"}),"\n",(0,d.jsx)(s.dd,{children:(0,d.jsx)(s.p,{children:"A snapshot of the gripper's last received status block."})}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,d.jsx)(s.h3,{id:"a621c9be0227bd1c96ce1cae3bb77326c",children:"platform()"}),"\n",(0,d.jsxs)(s.div,{className:"doxyMemberItem",children:["\n",(0,d.jsxs)(s.div,{className:"doxyMemberProto",children:["\n",(0,d.jsx)(s.table,{className:"doxyMemberLabels",children:(0,d.jsx)(s.tbody,{children:(0,d.jsxs)(s.tr,{className:"doxyMemberLabels",children:[(0,d.jsxs)(s.td,{className:"doxyMemberLabelsLeft",children:["\n",(0,d.jsx)(s.table,{className:"doxyMemberName",children:(0,d.jsx)(s.tbody,{children:(0,d.jsx)(s.tr,{children:(0,d.jsxs)(s.td,{className:"doxyMemberName",children:[(0,d.jsx)(s.a,{href:"/docs/drivers/next/Adaptive grippers/Libraries/C++/API/classes/robotiq/platform",children:"Platform"})," & Robotiq::Gripper::platform ()"]})})})}),"\n"]}),(0,d.jsxs)(s.td,{className:"doxyMemberLabelsRight",children:["\n",(0,d.jsxs)(s.span,{className:"doxyMemberLabels",children:["\n",(0,d.jsx)(s.span,{className:"doxyMemberLabel noexcept",children:"noexcept"}),"\n"]}),"\n"]})]})})}),"\n"]}),"\n",(0,d.jsxs)(s.div,{className:"doxyMemberDoc",children:["\n",(0,d.jsxs)(s.p,{children:["Return the runtime ",(0,d.jsx)(s.a,{href:"/docs/drivers/next/Adaptive grippers/Libraries/C++/API/classes/robotiq/platform",children:"Platform"})," used by this gripper."]}),"\n",(0,d.jsxs)(s.div,{className:"doxyXrefSect",children:["\n",(0,d.jsxs)(s.dl,{className:"doxyXrefSectList",children:["\n",(0,d.jsx)(s.dt,{className:"doxyXrefSectTitle",children:(0,d.jsx)(s.a,{href:"/docs/drivers/next/Adaptive grippers/Libraries/C++/API/pages/deprecated/#_deprecated000001",children:"Deprecated"})}),"\n",(0,d.jsxs)(s.dd,{className:"doxyXrefSectDescription",children:["\n",(0,d.jsxs)(s.p,{children:["It served the polling waits, which took a ",(0,d.jsx)(s.a,{href:"/docs/drivers/next/Adaptive grippers/Libraries/C++/API/classes/robotiq/platform",children:"Platform"})," to sleep on; the waits on the exchange cycle need none. Removed in the next major release."]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,d.jsx)(s.h3,{id:"a19a4d81095d3b24cd56c0688bc589498",children:"setCommand()"}),"\n",(0,d.jsxs)(s.div,{className:"doxyMemberItem",children:["\n",(0,d.jsxs)(s.div,{className:"doxyMemberProto",children:["\n",(0,d.jsx)(s.table,{className:"doxyMemberLabels",children:(0,d.jsx)(s.tbody,{children:(0,d.jsx)(s.tr,{className:"doxyMemberLabels",children:(0,d.jsxs)(s.td,{className:"doxyMemberLabelsLeft",children:["\n",(0,d.jsx)(s.table,{className:"doxyMemberName",children:(0,d.jsxs)(s.tbody,{children:[(0,d.jsxs)(s.tr,{children:[(0,d.jsx)(s.td,{className:"doxyMemberNamePrefix",children:"void Robotiq::Gripper::setCommand"}),(0,d.jsx)(s.td,{className:"doxyMemberNameParen",children:"("}),(0,d.jsxs)(s.td,{className:"doxyMemberNameParamType",children:["const ",(0,d.jsx)(s.a,{href:"/docs/drivers/next/Adaptive grippers/Libraries/C++/API/structs/robotiq/grippercommand",children:"GripperCommand"})," &"]}),(0,d.jsx)(s.td,{className:"doxyMemberNameParamName",children:"command"})]}),(0,d.jsxs)(s.tr,{children:[(0,d.jsx)(s.td,{className:"doxyMemberNamePrefix"}),(0,d.jsx)(s.td,{className:"doxyMemberNameParen",children:")"}),(0,d.jsx)(s.td,{className:"doxyMemberNameParamType"}),(0,d.jsx)(s.td,{className:"doxyMemberNameParamName"})]})]})}),"\n"]})})})}),"\n"]}),"\n",(0,d.jsxs)(s.div,{className:"doxyMemberDoc",children:["\n",(0,d.jsx)(s.p,{children:"Hand a new command block to the exchange cycle."}),"\n",(0,d.jsxs)(s.p,{children:["The block goes out on the next cycle to ",(0,d.jsx)(s.em,{children:"start"}),", which is not always the next to complete: a cycle already on the wire carries the previous block. Waiting one cycle is therefore not proof of transmission \u2014 ",(0,d.jsx)(s.a,{href:"/docs/drivers/next/Adaptive grippers/Libraries/C++/API/groups/wait/#ga1ac0f029
1029d1f7ea6d4c1d43184e90e",children:"setCommandAndWaitForExchange()"})," is."]}),"\n",(0,d.jsxs)(s.dl,{className:"doxyParamsList",children:["\n",(0,d.jsx)(s.dt,{className:"doxyParamsTableTitle",children:"Parameters"}),"\n",(0,d.jsxs)(s.dd,{children:["\n",(0,d.jsx)(s.table,{className:"doxyParamsTable",children:(0,d.jsx)(s.tbody,{children:(0,d.jsxs)(s.tr,{className:"doxyParamItem",children:[(0,d.jsx)(s.td,{className:"doxyParamItemName",children:"command"}),(0,d.jsx)(s.td,{className:"doxyParamItemDescription",children:(0,d.jsxs)(s.p,{children:["The whole command block to transmit; see ",(0,d.jsx)(s.a,{href:"/docs/drivers/next/Adaptive grippers/Libraries/C++/API/structs/robotiq/grippercommand",children:"GripperCommand"}),"."]})})]})})}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,d.jsx)(s.h3,{id:"a1dc8ef868f0e55238c174a0bcf490187",children:"waitForExchange()"}),"\n",(0,d.jsxs)(s.div,{className:"doxyMemberItem",children:["\n",(0,d.jsxs)(s.div,{className:"doxyMemberProto",children:["\n",(0,d.jsx)(s.table,{className:"doxyMemberLabels",children:(0,d.jsx)(s.tbody,{children:(0,d.jsx)(s.tr,{className:"doxyMemberLabels",children:(0,d.jsxs)(s.td,{className:"doxyMemberLabelsLeft",children:["\n",(0,d.jsx)(s.table,{className:"doxyMemberName",children:(0,d.jsxs)(s.tbody,{children:[(0,d.jsxs)(s.tr,{children:[(0,d.jsxs)(s.td,{className:"doxyMemberNamePrefix",children:["std::optional< ",(0,d.jsx)(s.a,{href:"/docs/drivers/next/Adaptive grippers/Libraries/C++/API/structs/robotiq/stampedexchange",children:"StampedExchange"})," > Robotiq::Gripper::waitForExchange"]}),(0,d.jsx)(s.td,{className:"doxyMemberNameParen",children:"("}),(0,d.jsx)(s.td,{className:"doxyMemberNameParamType",children:"std::chrono::milliseconds"}),(0,d.jsx)(s.td,{className:"doxyMemberNameParamName",children:"timeout = std::chrono::seconds(30)"})]}),(0,d.jsxs)(s.tr,{children:[(0,d.jsx)(s.td,{className:"doxyMemberNamePrefix"}),(0,d.jsx)(s.td,{className:"doxyMemberNameParen",children:")"}),(0,d.jsx)(s.td,{className:"doxyMemberNameParamType"}),(0,d.jsx)(s.td,{className:"doxyMemberNameParamName"})]})]})}),"\n"]})})})}),"\n"]}),"\n",(0,d.jsxs)(s.div,{className:"doxyMemberDoc",children:["\n",(0,d.jsx)(s.p,{children:"Block until an exchange completes or a timeout occurs."}),"\n",(0,d.jsxs)(s.p,{children:["This form is typically used to wait for an event to occur, such as a desired status. Exchanges that complete between two calls are not returned; a loop that must see every exchange uses ",(0,d.jsx)(s.a,{href:"#ac3edf9957f44b45845f63d88d4483d50",children:"waitForExchangeCount()"}),"."]}),"\n",(0,d.jsxs)(s.dl,{className:"doxyParamsList",children:["\n",(0,d.jsx)(s.dt,{className:"doxyParamsTableTitle",children:"Parameters"}),"\n",(0,d.jsxs)(s.dd,{children:["\n",(0,d.jsx)(s.table,{className:"doxyParamsTable",children:(0,d.jsx)(s.tbody,{children:(0,d.jsxs)(s.tr,{className:"doxyParamItem",children:[(0,d.jsx)(s.td,{className:"doxyParamItemName",children:"timeout"}),(0,d.jsx)(s.td,{className:"doxyParamItemDescription",children:(0,d.jsx)(s.p,{children:"How long to wait; 30 s by default."})})]})})}),"\n"]}),"\n"]}),"\n",(0,d.jsxs)(s.dl,{className:"doxySectionUser",children:["\n",(0,d.jsx)(s.dt,{children:"Returns"}),"\n",(0,d.jsx)(s.dd,{children:(0,d.jsxs)(s.p,{children:["The first exchange completed after the call \u2014 the latest, if several did; empty when ",(0,d.jsx)(s.span,{className:"doxyComputerOutput",children:"timeout"})," elapsed first."]})}),"\n"]}),"\n",(0,d.jsxs)(s.dl,{className:"doxySectionUser",children:["\n",(0,d.jsx)(s.dt,{children:"Example"}),"\n",(0,d.jsxs)(s.dd,{children:["\n",(0,d.jsxs)(s.div,{className:"doxyProgramListing",children:["\n",(0,d.jsxs)(s.div,{className:"doxyCodeLine",children:[(0,d.jsx)(s.span,{className:"doxyNoLineNumber",children:"\xa0"}),(0,d.jsxs)(s.span,{className:"doxyLineContent",children:[(0,d.jsx)(s.span,{className:"doxyHighlightKeywordType",children:"bool"}),(0,d.jsxs)(s.span,{className:"doxyHighlight",children:[" waitForMotionEndByHand(",(0,d.jsx)(s.a,{href:"/docs/drivers/next/Adaptive grippers/Libraries/C++/API/classes/robotiq/gripper",children:"Robotiq::Gripper"}),"& gripper)"]})]})]}),"\n",(0,d.jsxs)(s.div,{className:"doxyCodeLine",children:[(0,d.jsx)(s.span,{className:"doxyNoLineNumber",children:"\xa0"}),(0,d.jsx)(s.span,{className:"doxyLineContent",children:(0,d.jsx)(s.span,{className:"doxyHighlight",children:"{"})})]}),"\n",(0,d.jsxs)(s.div,{className:"doxyCodeLine",children:[(0,d.jsx)(s.span,{className:"doxyNoLineNumber",children:"\xa0"}),(0,d.jsxs)(s.span,{className:"doxyLineContent",children:[(0,d.jsx)(s.span,{className:"doxyHighlight",children:"   "}),(0,d.jsx)(s.span,{className:"doxyHighlightComment",children:"// Each wake-up sees the newest exchange; the ones in between are not needed here."})]})]}),"\n",(0,d.jsxs)(s.div,{className:"doxyCodeLine",children:[(0,d.jsx)(s.span,{className:"doxyNoLineNumber",children:"\xa0"}),(0,d.jsxs)(s.span,{className:"doxyLineContent",children:[(0,d.jsx)(s.span,{className:"doxyHighlight",children:"   "}),(0,d.jsx)(s.span,{className:"doxyHighlightKeywordFlow",children:"while"}),(0,d.jsxs)(s.span,{className:"doxyHighlight",children:["(std::optional<Robotiq::StampedExchange> exchange = gripper.",(0,d.jsx)(s.a,{href:"#a1dc8ef868f0e55238c174a0bcf490187",children:"waitForExchange"}),"(1s))"]})]})]}),"\n",(0,d.jsxs)(s.div,{className:"doxyCodeLine",children:[(0,d.jsx)(s.span,{className:"doxyNoLineNumber",children:"\xa0"}),(0,d.jsx)(s.span,{className:"doxyLineContent",children:(0,d.jsx)(s.span,{className:"doxyHighlight",children:"   {"})})]}),"\n",(0,d.jsxs)(s.div,{className:"doxyCodeLine",children:[(0,d.jsx)(s.span,{className:"doxyNoLineNumber",children:"\xa0"}),(0,d.jsxs)(s.span,{className:"doxyLineContent",children:[(0,d.jsx)(s.span,{className:"doxyHighlight",children:"      "}),(0,d.jsx)(s.span,{className:"doxyHighlightKeywordFlow",children:"if"}),(0,d.jsxs)(s.span,{className:"doxyHighlight",children:["(exchange->status.gripperStatus.objectDetection() != ",(0,d.jsx)(s.a,{href:"/docs/drivers/next/Adaptive grippers/Libraries/C++/API/groups/gripper-status/#ggae19b25a943ee0a74a74c9438308c5be0adefe967ad0373b2274fc298f19125ca7",children:"Robotiq::ObjectDetection::Moving"}),")"]})]})]}),"\n",(0,d.jsxs)(s.div,{className:"doxyCodeLine",children:[(0,d.jsx)(s.span,{className:"doxyNoLineNumber",children:"\xa0"}),(0,d.jsx)(s.span,{className:"doxyLineContent",children:(0,d.jsx)(s.span,{className:"doxyHighlight",children:"      {"})})]}),"\n",(0,d.jsxs)(s.div,{className:"doxyCodeLine",children:[(0,d.jsx)(s.span,{className:"doxyNoLineNumber",children:"\xa0"}),(0,d.jsxs)(s.span,{className:"doxyLineContent",children:[(0,d.jsx)(s.span,{className:"doxyHighlight",children:"         "}),(0,d.jsx)(s.span,{className:"doxyHighlightKeywordFlow",children:"return"}),(0,d.jsx)(s.span,{className:"doxyHighlight",children:" "}),(0,d.jsx)(s.span,{className:"doxyHighlightKeyword",children:"true"}),(0,d.jsx)(s.span,{className:"doxyHighlight",children:";"})]})]}),"\n",(0,d.jsxs)(s.div,{className:"doxyCodeLine",children:[(0,d.jsx)(s.span,{className:"doxyNoLineNumber",children:"\xa0"}),(0,d.jsx)(s.span,{className:"doxyLineContent",children:(0,d.jsx)(s.span,{className:"doxyHighlight",children:"      }"})})]}),"\n",(0,d.jsxs)(s.div,{className:"doxyCodeLine",children:[(0,d.jsx)(s.span,{className:"doxyNoLineNumber",children:"\xa0"}),(0,d.jsx)(s.span,{className:"doxyLineContent",children:(0,d.jsx)(s.span,{className:"doxyHighlight",children:"   }"})})]}),"\n",(0,d.jsxs)(s.div,{className:"doxyCodeLine",children:[(0,d.jsx)(s.span,{className:"doxyNoLineNumber",children:"\xa0"}),(0,d.jsxs)(s.span,{className:"doxyLineContent",children:[(0,d.jsx)(s.span,{className:"doxyHighlight",children:"   "}),(0,d.jsx)(s.span,{className:"doxyHighlightKeywordFlow",children:"return"}),(0,d.jsx)(s.span,{className:"doxyHighlight",children:" "}),(0,d.jsx)(s.span,{className:"doxyHighlightKeyword",children:"false"}),(0,d.jsx)(s.span,{className:"doxyHighlight",children:"; "}),(0,d.jsx)(s.span,{className:"doxyHighlightComment",children:"// no exchange completed within the timeout"})]})]}),"\n",(0,d.jsxs)(s.div,{className:"doxyCodeLine",children:[(0,d.jsx)(s.span,{className:"doxyNoLineNumber",children:"\xa0"}),(0,d.jsx)(s.span,{className:"doxyLineContent",children:(0,d.jsx)(s.span,{className:"doxyHighlight",children:"}"})})]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,d.jsx)(s.h3,{id:"ac3edf9957f44b45845f63d88d4483d50",children:"waitForExchangeCount()"}),"\n",(0,d.jsxs)(s.div,{className:"doxyMemberItem",children:["\n",(0,d.jsxs)(s.div,{className:"doxyMemberProto",children:["\n",(0,d.jsx)(s.table,{className:"doxyMemberLabels",children:(0,d.jsx)(s.tbody,{children:(0,d.jsx)(s.tr,{className:"doxyMemberLabels",children:(0,d.jsxs)(s.td,{className:"doxyMemberLabelsLeft",children:["\n",(0,d.jsx)(s.table,{className:"doxyMemberName",children:(0,d.jsxs)(s.tbody,{children:[(0,d.jsxs)(s.tr,{children:[(0,d.jsxs)(s.td,{className:"doxyMemberNamePrefix",children:["std::optional< ",(0,d.jsx)(s.a,{href:"/docs/drivers/next/Adaptive grippers/Libraries/C++/API/structs/robotiq/stampedexchange",children:"StampedExchange"})," > Robotiq::Gripper::waitForExchangeCount"]}),(0,d.jsx)(s.td,{className:"doxyMemberNameParen",children:"("}),(0,d.jsx)(s.td,{className:"doxyMemberNameParamType",children:"uint64_t"}),(0,d.jsx)(s.td,{className:"doxyMemberNameParamName",children:"desiredExchangeCount,"})]}),(0,d.jsxs)(s.tr,{children:[(0,d.jsx)(s.td,{className:"doxyMemberNamePrefix"}),(0,d.jsx)(s.td,{className:"doxyMemberNameParen"}),(0,d.jsx)(s.td,{className:"doxyMemberNameParamType",children:"std::chrono::milliseconds"}),(0,d.jsx)(s.td,{className:"doxyMemberNameParamName",children:"timeout = std::chrono::seconds(30)"})]}),(0,d.jsxs)(s.tr,{children:[(0,d.jsx)(s.td,{className:"doxyMemberNamePrefix"}),(0,d.jsx)(s.td,{className:"doxyMemberNameParen",children:")"}),(0,d.jsx)(s.td,{className:"doxyMemberNameParamType"}),(0,d.jsx)(s.td,{className:"doxyMemberNameParamName"})]})]})}),"\n"]})})})}),"\n"]}),"\n",(0,d.jsxs)(s.div,{className:"doxyMemberDoc",children:["\n",(0,d.jsx)(s.p,{children:"Block until the exchange count reaches a value or a t
1imeout occurs."}),"\n",(0,d.jsx)(s.p,{children:"This form is typically used for control loop synchronization: a loop asks for one past the exchange it last acted on, so it sees every exchange exactly once, and one that fell behind gets the newest at once instead of waiting a cycle."}),"\n",(0,d.jsxs)(s.dl,{className:"doxyParamsList",children:["\n",(0,d.jsx)(s.dt,{className:"doxyParamsTableTitle",children:"Parameters"}),"\n",(0,d.jsxs)(s.dd,{children:["\n",(0,d.jsx)(s.table,{className:"doxyParamsTable",children:(0,d.jsxs)(s.tbody,{children:[(0,d.jsxs)(s.tr,{className:"doxyParamItem",children:[(0,d.jsx)(s.td,{className:"doxyParamItemName",children:"desiredExchangeCount"}),(0,d.jsx)(s.td,{className:"doxyParamItemDescription",children:(0,d.jsx)(s.p,{children:"Wait until at least this many exchanges have completed since the connection to the gripper."})})]}),(0,d.jsxs)(s.tr,{className:"doxyParamItem",children:[(0,d.jsx)(s.td,{className:"doxyParamItemName",children:"timeout"}),(0,d.jsx)(s.td,{className:"doxyParamItemDescription",children:(0,d.jsx)(s.p,{children:"How long to wait; 30 s by default."})})]})]})}),"\n"]}),"\n"]}),"\n",(0,d.jsxs)(s.dl,{className:"doxySectionUser",children:["\n",(0,d.jsx)(s.dt,{children:"Returns"}),"\n",(0,d.jsx)(s.dd,{children:(0,d.jsxs)(s.p,{children:["The latest exchange once the count is reached; empty when ",(0,d.jsx)(s.span,{className:"doxyComputerOutput",children:"timeout"})," elapsed first."]})}),"\n"]}),"\n",(0,d.jsxs)(s.dl,{className:"doxySectionUser",children:["\n",(0,d.jsx)(s.dt,{children:"Example"}),"\n",(0,d.jsxs)(s.dd,{children:["\n",(0,d.jsxs)(s.div,{className:"doxyProgramListing",children:["\n",(0,d.jsxs)(s.div,{className:"doxyCodeLine",children:[(0,d.jsx)(s.span,{className:"doxyNoLineNumber",children:"\xa0"}),(0,d.jsxs)(s.span,{className:"doxyLineContent",children:[(0,d.jsx)(s.span,{className:"doxyHighlight",children:"         "}),(0,d.jsx)(s.span,{className:"doxyHighlightKeyword",children:"const"}),(0,d.jsx)(s.span,{className:"doxyHighlight",children:" std::optional<StampedExchange> exchange = _gripper.waitForExchangeCount(written + 1, kCycleTimeout);"})]})]}),"\n",(0,d.jsxs)(s.div,{className:"doxyCodeLine",children:[(0,d.jsx)(s.span,{className:"doxyNoLineNumber",children:"\xa0"}),(0,d.jsxs)(s.span,{className:"doxyLineContent",children:[(0,d.jsx)(s.span,{className:"doxyHighlight",children:"         "}),(0,d.jsx)(s.span,{className:"doxyHighlightKeywordFlow",children:"if"}),(0,d.jsx)(s.span,{className:"doxyHighlight",children:"(!exchange)"})]})]}),"\n",(0,d.jsxs)(s.div,{className:"doxyCodeLine",children:[(0,d.jsx)(s.span,{className:"doxyNoLineNumber",children:"\xa0"}),(0,d.jsx)(s.span,{className:"doxyLineContent",children:(0,d.jsx)(s.span,{className:"doxyHighlight",children:"         {"})})]}),"\n",(0,d.jsxs)(s.div,{className:"doxyCodeLine",children:[(0,d.jsx)(s.span,{className:"doxyNoLineNumber",children:"\xa0"}),(0,d.jsxs)(s.span,{className:"doxyLineContent",children:[(0,d.jsx)(s.span,{className:"doxyHighlight",children:"            "}),(0,d.jsx)(s.span,{className:"doxyHighlightKeywordFlow",children:"continue"}),(0,d.jsx)(s.span,{className:"doxyHighlight",children:"; "}),(0,d.jsx)(s.span,{className:"doxyHighlightComment",children:"// a stalled link: nothing landed, so nothing to log"})]})]}),"\n",(0,d.jsxs)(s.div,{className:"doxyCodeLine",children:[(0,d.jsx)(s.span,{className:"doxyNoLineNumber",children:"\xa0"}),(0,d.jsx)(s.span,{className:"doxyLineContent",children:(0,d.jsx)(s.span,{className:"doxyHighlight",children:"         }"})})]}),"\n",(0,d.jsxs)(s.div,{className:"doxyCodeLine",children:[(0,d.jsx)(s.span,{className:"doxyNoLineNumber",children:"\xa0"}),(0,d.jsxs)(s.span,{className:"doxyLineContent",children:[(0,d.jsx)(s.span,{className:"doxyHighlight",children:"         "}),(0,d.jsx)(s.span,{className:"doxyHighlightKeyword",children:"const"}),(0,d.jsx)(s.span,{className:"doxyHighlight",children:" uint64_t count = exchange->metadata.exchangeCount;"})]})]}),"\n",(0,d.jsxs)(s.div,{className:"doxyCodeLine",children:[(0,d.jsx)(s.span,{className:"doxyNoLineNumber",children:"\xa0"}),(0,d.jsxs)(s.span,{className:"doxyLineContent",children:[(0,d.jsx)(s.span,{className:"doxyHighlight",children:"         "}),(0,d.jsx)(s.span,{className:"doxyHighlightKeywordFlow",children:"if"}),(0,d.jsx)(s.span,{className:"doxyHighlight",children:"(count != written + 1)"})]})]}),"\n",(0,d.jsxs)(s.div,{className:"doxyCodeLine",children:[(0,d.jsx)(s.span,{className:"doxyNoLineNumber",children:"\xa0"}),(0,d.jsx)(s.span,{className:"doxyLineContent",children:(0,d.jsx)(s.span,{className:"doxyHighlight",children:"         {"})})]}),"\n",(0,d.jsxs)(s.div,{className:"doxyCodeLine",children:[(0,d.jsx)(s.span,{className:"doxyNoLineNumber",children:"\xa0"}),(0,d.jsxs)(s.span,{className:"doxyLineContent",children:[(0,d.jsx)(s.span,{className:"doxyHighlight",children:"            "}),(0,d.jsx)(s.span,{className:"doxyHighlightComment",children:"// The count reached is the newest, not the next: the loop fell behind."})]})]}),"\n",(0,d.jsxs)(s.div,{className:"doxyCodeLine",children:[(0,d.jsx)(s.span,{className:"doxyNoLineNumber",children:"\xa0"}),(0,d.jsx)(s.span,{className:"doxyLineContent",children:(0,d.jsx)(s.span,{className:"doxyHighlight",children:"            _skipped += count - written - 1;"})})]}),"\n",(0,d.jsxs)(s.div,{className:"doxyCodeLine",children:[(0,d.jsx)(s.span,{className:"doxyNoLineNumber",children:"\xa0"}),(0,d.jsx)(s.span,{className:"doxyLineContent",children:(0,d.jsxs)(s.span,{className:"doxyHighlight",children:["            _logger.log(",(0,d.jsx)(s.a,{href:"/docs/drivers/next/Adaptive grippers/Libraries/C++/API/classes/robotiq/logger/#a6e34d31103f1219b1a7aaa78d51daa32a56525ae64d370c0b448ac0d60710ef17",children:"Logger::Level::Warn"}),","]})})]}),"\n",(0,d.jsxs)(s.div,{className:"doxyCodeLine",children:[(0,d.jsx)(s.span,{className:"doxyNoLineNumber",children:"\xa0"}),(0,d.jsxs)(s.span,{className:"doxyLineContent",children:[(0,d.jsx)(s.span,{className:"doxyHighlight",children:"                        "}),(0,d.jsx)(s.span,{className:"doxyHighlightStringLiteral",children:'"fell behind: exchanges "'}),(0,d.jsx)(s.span,{className:"doxyHighlight",children:" + std::to_string(written + 1) + "}),(0,d.jsx)(s.span,{className:"doxyHighlightStringLiteral",children:'" to "'}),(0,d.jsx)(s.span,{className:"doxyHighlight",children:" + std::to_string(count - 1)"})]})]}),"\n",(0,d.jsxs)(s.div,{className:"doxyCodeLine",children:[(0,d.jsx)(s.span,{className:"doxyNoLineNumber",children:"\xa0"}),(0,d.jsxs)(s.span,{className:"doxyLineContent",children:[(0,d.jsx)(s.span,{className:"doxyHighlight",children:"                           + "}),(0,d.jsx)(s.span,{className:"doxyHighlightStringLiteral",children:'" not logged"'}),(0,d.jsx)(s.span,{className:"doxyHighlight",children:");"})]})]}),"\n",(0,d.jsxs)(s.div,{className:"doxyCodeLine",children:[(0,d.jsx)(s.span,{className:"doxyNoLineNumber",children:"\xa0"}),(0,d.jsx)(s.span,{className:"doxyLineContent",children:(0,d.jsx)(s.span,{className:"doxyHighlight",children:"         }"})})]}),"\n",(0,d.jsxs)(s.div,{className:"doxyCodeLine",children:[(0,d.jsx)(s.span,{className:"doxyNoLineNumber",children:"\xa0"}),(0,d.jsx)(s.span,{className:"doxyLineContent",children:(0,d.jsx)(s.span,{className:"doxyHighlight",children:"         writeRow(_csv, start, *exchange);"})})]}),"\n",(0,d.jsxs)(s.div,{className:"doxyCodeLine",children:[(0,d.jsx)(s.span,{className:"doxyNoLineNumber",children:"\xa0"}),(0,d.jsx)(s.span,{className:"doxyLineContent",children:(0,d.jsx)(s.span,{className:"doxyHighlight",children:"         written = count;"})})]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,d.jsx)(s.hr,{}),"\n",(0,d.jsx)(s.p,{children:"The documentation for this class was generated from the following file:"}),"\n",(0,d.jsxs)(s.ul,{children:["\n",(0,d.jsx)(s.li,{children:"gripper.hpp"}),"\n"]}),"\n",(0,d.jsx)(s.hr,{}),"\n",(0,d.jsxs)(s.p,{className:"doxyGeneratedBy",children:["Generated via ",(0,d.jsx)(s.a,{href:"https://xpack.github.io/doxygen2docusaurus",target:"_blank",rel:"noopener noreferrer",children:"doxygen2docusaurus"})," 2.2.2 by ",(0,d.jsx)(s.a,{href:"https://www.doxygen.nl",target:"_blank",rel:"noopener noreferrer",children:"Doxygen"})," 1.9.8."]}),"\n"]})}function x(e={}){let{wrapper:s}={...(0,n.R)(),...e.components};return s?(0,d.jsx)(s,{...e,children:(0,d.jsx)(o,{...e})}):o(e)}},8453(e,s,a){a.d(s,{R:()=>i,x:()=>c});var r=a(6540);let d={},n=r.createContext(d);function i(e){let s=r.useContext(n);return r.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:i(e.components),r.createElement(n.Provider,{value:s},e.children)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.