SPIKE-RT C++ API Reference
Loading...
Searching...
No Matches
UltrasonicSensor.h
1//
2// UltrasonicSensor.h
3//
4// Copyright (c) 2025 Embedded Technology Software Design Robot Contest
5//
6
7#ifndef SPIKE_CPP_API_ULTRASONIC_SENSOR_H_
8#define SPIKE_CPP_API_ULTRASONIC_SENSOR_H_
9
10#include <stdint.h>
11extern "C" {
12#include <pup/ultrasonicsensor.h>
13}
14
15#include "Port.h"
16
17namespace spikeapi {
22{
23public:
24
29 UltrasonicSensor(EPort port) {
30 mDevice = pup_ultrasonic_sensor_get_device(static_cast<pbio_port_id_t>(port));
31 }
32
37 int32_t getDistance() const {
38 return pup_ultrasonic_sensor_distance(mDevice);
39 }
40
46 bool isPresence() const {
47 return pup_ultrasonic_sensor_presence(mDevice);
48 }
49
58 void setLight(int32_t bv1, int32_t bv2, int32_t bv3, int32_t bv4) const {
59 pup_ultrasonic_sensor_light_set(mDevice, bv1, bv2, bv3, bv4);
60 }
61
66 void lightOn() const {
67 pup_ultrasonic_sensor_light_on(mDevice);
68 }
69
74 void lightOff() const {
75 pup_ultrasonic_sensor_light_off(mDevice);
76 }
77
82 bool hasError() { return mDevice == 0; }
83
84
85private:
86 pup_device_t *mDevice;
87}; // class UltrasonicSensor
88} // namespace spikeapi
89
90#endif // !SPIKE_CPP_API_ULTRASONIC_SENSOR_H_
UltrasonicSensor(EPort port)
Definition UltrasonicSensor.h:29
int32_t getDistance() const
Definition UltrasonicSensor.h:37
void lightOn() const
Definition UltrasonicSensor.h:66
bool hasError()
Definition UltrasonicSensor.h:82
void lightOff() const
Definition UltrasonicSensor.h:74
bool isPresence() const
Definition UltrasonicSensor.h:46
void setLight(int32_t bv1, int32_t bv2, int32_t bv3, int32_t bv4) const
Definition UltrasonicSensor.h:58