yarp-devices
Loading...
Searching...
No Matches
Jr3Pci.hpp
1// -*- mode:C++; tab-width:4; c-basic-offset:4; indent-tabs-mode:nil -*-
2
3#ifndef __JR3_PCI_HPP__
4#define __JR3_PCI_HPP__
5
6#include <yarp/dev/DeviceDriver.h>
7#include <yarp/dev/MultipleAnalogSensorsInterfaces.h>
8
9#include <jr3pci-ioctl.h>
10
11#include "Jr3Pci_ParamsParser.h"
12
23class Jr3Pci : public yarp::dev::DeviceDriver,
24 public yarp::dev::ISixAxisForceTorqueSensors,
26{
27public:
28 // --------- DeviceDriver Declarations. Implementation in DeviceDriverImpl.cpp ---------
29 bool open(yarp::os::Searchable& config) override;
30 bool close() override;
31
32 // --------- ISixAxisForceTorqueSensors Declarations. Implementation in ISixAxisForceTorqueSensorsImpl.cpp ---------
33 std::size_t getNrOfSixAxisForceTorqueSensors() const override;
34 yarp::dev::MAS_status getSixAxisForceTorqueSensorStatus(std::size_t sens_index) const override;
35 bool getSixAxisForceTorqueSensorName(std::size_t sens_index, std::string & name) const override;
36 bool getSixAxisForceTorqueSensorFrameName(std::size_t sens_index, std::string & name) const override;
37 bool getSixAxisForceTorqueSensorMeasure(std::size_t sens_index, yarp::sig::Vector & out, double & timestamp) const override;
38
39private:
40 void loadFilters(int id);
41 bool calibrateSensor();
42 bool calibrateChannel(int ch);
43
44 int fd {0};
45 force_array fs[4];
46 unsigned long int filters[4];
47};
48
49#endif // __JR3_PCI_HPP__
Definition Jr3Pci_ParamsParser.h:44
Implementation for the JR3 sensor (PCi board).
Definition Jr3Pci.hpp:26