6#include <viam/api/component/gantry/v1/gantry.grpc.pb.h>
9#include <viam/sdk/rpc/dial.hpp>
27 std::vector<double>
get_position(
const ProtoStruct& extra)
override;
29 const ProtoStruct& extra)
override;
30 bool home(
const ProtoStruct& extra)
override;
31 std::vector<double>
get_lengths(
const ProtoStruct& extra)
override;
33 void stop(
const ProtoStruct& extra)
override;
34 ProtoStruct
do_command(
const ProtoStruct& command)
override;
35 std::vector<GeometryConfig>
get_geometries(
const ProtoStruct& extra)
override;
45 using StubType = viam::component::gantry::v1::GantryService::StubInterface;
46 std::unique_ptr<StubType> stub_;
A Gantry represents a physical gantry and can be used for controlling gantries of N axes.
Definition gantry.hpp:20
std::vector< double > get_position()
Get the positions of the axes of the gantry in millimeters.
Definition gantry.hpp:35
bool home()
Run the homing sequence of the gantry to re-calibrate the axes with respect to the limit switches.
Definition gantry.hpp:62
void move_to_position(const std::vector< movement_coordinate > &coordinates)
Move the axes of the gantry to the desired positions (mm) at the requested speeds (mm/sec).
Definition gantry.hpp:47
std::vector< double > get_lengths()
Get the lengths of the axes of the gantry in millimeters.
Definition gantry.hpp:73
std::vector< GeometryConfig > get_geometries()
Returns GeometryConfigs associated with the calling gantry.
Definition gantry.hpp:90
virtual std::string name() const
Return the resource's name.
void stop()
Stops a resource from running.
Definition stoppable.hpp:16
gRPC client implementation of a Gantry component.
Definition gantry_client.hpp:18
std::vector< GeometryConfig > get_geometries(const ProtoStruct &extra) override
Returns GeometryConfigs associated with the calling gantry.
bool is_moving() override
Reports if the gantry is in motion.
void move_to_position(const std::vector< movement_coordinate > &coordinates, const ProtoStruct &extra) override
Move the axes of the gantry to the desired positions (mm) at the requested speeds (mm/sec).
void stop(const ProtoStruct &extra) override
Stops a resource from running.
bool home(const ProtoStruct &extra) override
Run the homing sequence of the gantry to re-calibrate the axes with respect to the limit switches.
std::vector< double > get_lengths(const ProtoStruct &extra) override
Get the lengths of the axes of the gantry in millimeters.
ProtoStruct do_command(const ProtoStruct &command) override
Send/receive arbitrary commands to the resource.
std::vector< double > get_position(const ProtoStruct &extra) override
Get the positions of the axes of the gantry in millimeters.
Defines a Gantry component.