SPIKE-RT C++ API Reference
Loading...
Searching...
No Matches
ForceSensor.h
1//
2// ForceSensor.h
3//
4// Copyright (c) 2025 Embedded Technology Software Design Robot Contest
5//
6
7#ifndef SPIKE_CPP_API_FORCE_SENSOR_H_
8#define SPIKE_CPP_API_FORCE_SENSOR_H_
9
10#include <stdint.h>
11extern "C" {
12#include "pup/forcesensor.h"
13}
14
15#include "Port.h"
16
17namespace spikeapi {
22{
23public:
24
29 ForceSensor(EPort port) {
30 /* エラー時にはNULLが設定される */
31 mDevice = pup_force_sensor_get_device(static_cast<pbio_port_id_t>(port));
32 }
33
38 float getForce() const {
39 return pup_force_sensor_force(mDevice);
40 }
41
46 float getDistance() const {
47 return pup_force_sensor_distance(mDevice);
48 }
49
56 bool isPressed(float force) const {
57 return pup_force_sensor_pressed(mDevice, force);
58 }
59
65 bool isTouched() const {
66 return pup_force_sensor_touched(mDevice);
67 }
68
73 bool hasError() { return mDevice == 0; }
74
75private:
76 pup_device_t *mDevice;
77}; // class ForceSensor
78} // namespace spikeapi
79
80#endif // !SPIKE_CPP_API_FORCE_SENSOR_H_
bool isPressed(float force) const
Definition ForceSensor.h:56
bool hasError()
Definition ForceSensor.h:73
float getDistance() const
Definition ForceSensor.h:46
bool isTouched() const
Definition ForceSensor.h:65
float getForce() const
Definition ForceSensor.h:38
ForceSensor(EPort port)
Definition ForceSensor.h:29