SPIKE-RT C API Reference [English]
An RTOS-based software platform for LEGO® Education SPIKE™.
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 <cstdint>
11extern "C" {
13}
14
15#include <libcpp/spike/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 {
68 }
69
74 void lightOff() const {
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_
Definition UltrasonicSensor.h:22
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
pbio_error_t pup_ultrasonic_sensor_light_on(pup_device_t *pdev)
Set the four light brightneses of the ultrasonic sensor.
Definition ultrasonicsensor.c:53
pbio_error_t pup_ultrasonic_sensor_light_set(pup_device_t *pdev, int32_t bv1, int32_t bv2, int32_t bv3, int32_t bv4)
Set the four light brightneses of the ultrasonic sensor.
Definition ultrasonicsensor.c:46
bool pup_ultrasonic_sensor_presence(pup_device_t *pdev)
Check a ultrasonic signal by a ultrasonic sensor.
Definition ultrasonicsensor.c:33
pbio_error_t pup_ultrasonic_sensor_light_off(pup_device_t *pdev)
Set the four light brightneses of the ultrasonic sensor.
Definition ultrasonicsensor.c:57
int32_t pup_ultrasonic_sensor_distance(pup_device_t *pdev)
Get the distance by a ultrasonic sensor.
Definition ultrasonicsensor.c:19
pup_device_t * pup_ultrasonic_sensor_get_device(pbio_port_id_t port)
Get the PUP device pointer of the ultrasonic sensor specified with the port ID.
Definition ultrasonicsensor.c:14
Definition pup_device.c:21
API for ultrasonic sensors.