SPIKE-RT C API Reference [Japanese]
An RTOS-based software platform for LEGO® Education SPIKE™.
読み取り中…
検索中…
一致する文字列を見つけられません
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)
超音波センサのライトを点灯させる.
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)
超音波センサ内臓の4つのライトの輝度をセットする.
Definition ultrasonicsensor.c:46
bool pup_ultrasonic_sensor_presence(pup_device_t *pdev)
超音波センサで超音波信号を検出する.
Definition ultrasonicsensor.c:33
pbio_error_t pup_ultrasonic_sensor_light_off(pup_device_t *pdev)
超音波センサのライトを消灯させる.
Definition ultrasonicsensor.c:57
int32_t pup_ultrasonic_sensor_distance(pup_device_t *pdev)
超音波センサで距離を測定する.
Definition ultrasonicsensor.c:19
pup_device_t * pup_ultrasonic_sensor_get_device(pbio_port_id_t port)
ポート ID で指定された超音波センサへの PUP デバイスポインタを取得する.
Definition ultrasonicsensor.c:14
Definition pup_device.c:21
API for ultrasonic sensors