etrobocon2018 feat.KatLab  770af34cce41ae9c30c41303275e1add2daae0c3 (with uncommitted changes)
 全て クラス 名前空間 ファイル 関数 変数 列挙型 列挙値 フレンド マクロ定義 ページ
GyroSensor.cpp
[詳解]
1 //
2 // GyroSensor.cpp
3 //
4 // Copyright (c) 2015-2016 Embedded Technology Software Design Robot Contest
5 //
6 
7 #include "GyroSensor.h"
8 using namespace ev3api;
9 
10 
11 //=============================================================================
12 // Constructor
14 :
15 Sensor(port, GYRO_SENSOR),
16 mOffset(DEFAULT_OFFSET)
17 {
18  ev3_gyro_sensor_reset(getPort());
19  (void)ev3_gyro_sensor_get_rate(getPort());
20 }
21 
22 //=============================================================================
23 // set sensor offset data at 0 [deg/sec]
24 void GyroSensor::setOffset(int16_t offset)
25 {
26  mOffset = offset;
27 }
28 
29 
30 //=============================================================================
31 // Reset gyro sensor.
33 {
34  ev3_gyro_sensor_reset(getPort());
35 }
36 
37 //=============================================================================
38 // get anguler velocity [deg/sec]
39 int16_t GyroSensor::getAnglerVelocity(void) const
40 {
41  return ev3_gyro_sensor_get_rate(getPort()) - mOffset;
42 }
43 
44 //=============================================================================
45 // get angule [deg]
46 int16_t GyroSensor::getAngle(void) const
47 {
48  return ev3_gyro_sensor_get_angle(getPort());
49 }
50 
GyroSensor(ePortS port)
Definition: GyroSensor.cpp:13
int16_t getAnglerVelocity(void) const
Definition: GyroSensor.cpp:39
ePortS
Definition: Port.h:18
void setOffset(int16_t offset)
Definition: GyroSensor.cpp:24
sensor_port_t getPort(void) const
Definition: Sensor.h:26
void reset(void)
Definition: GyroSensor.cpp:32
int16_t getAngle(void) const
Definition: GyroSensor.cpp:46