etrobocon2019 feat.KatLab  ece30a9a007fff7d3ad48592c0d09a74643377bb
公開メンバ関数 | 全メンバ一覧
Calibrator クラス

#include <Calibrator.h>

Calibrator 連携図
Collaboration graph

公開メンバ関数

 Calibrator (Controller &controller_)
 
bool calibration ()
 falseが返ってきた場合、エラーメッセージがLCDに出ます。スタートを取りやめ、原因をさぐってください。 [詳解]
 
bool getCameraMode () const
 
bool isLeftCourse () const
 
int getWhiteBrightness () const
 
int getBlackBrightness () const
 
bool setCameraMode ()
 
bool setLRCourse ()
 
bool setBrightness (Brightness brightness)
 

詳解

Calibrator.h15 行目に定義があります。

構築子と解体子

◆ Calibrator()

Calibrator::Calibrator ( Controller controller_)
explicit

Calibrator.cpp8 行目に定義があります。

9  : controller(controller_),
10  isCameraMode(true),
11  isLeft(true),
12  brightnessOfWhite(0),
13  brightnessOfBlack(0)
14 {
15 }

関数詳解

◆ calibration()

bool Calibrator::calibration ( )

falseが返ってきた場合、エラーメッセージがLCDに出ます。スタートを取りやめ、原因をさぐってください。

キャリブレーションを行う。

戻り値
キャリブレーションが成功したかどうかの真理値(Trueなら正常終了)

Calibrator.cpp17 行目に定義があります。

18 {
19  Display::print(2, "now calibration...");
20 
21  if(!setCameraMode()) {
22  Display::print(2, "Error setCameraMode!");
23  return false;
24  }
25 
26  if(!setLRCourse()) {
27  Display::print(2, "Error setLRCourse!");
28  return false;
29  }
30 
32  Display::print(2, "Error setBrightness White!");
33  return false;
34  }
35 
37  Display::print(2, "Error setBrightness Black!");
38  return false;
39  }
40 
41  Display::print(5, "White: %3d", brightnessOfWhite);
42  Display::print(6, "Black: %3d", brightnessOfBlack);
43 
44  return true;
45 }
bool setLRCourse()
Definition: Calibrator.cpp:73
static void print(int row, const char *format,...)
Definition: Display.cpp:3
bool setBrightness(Brightness brightness)
Definition: Calibrator.cpp:99
bool setCameraMode()
Definition: Calibrator.cpp:47
呼び出し関係図:
被呼び出し関係図:

◆ getBlackBrightness()

int Calibrator::getBlackBrightness ( ) const

黒色の値を取得する。

戻り値
明るさ

Calibrator.cpp165 行目に定義があります。

166 {
167  return brightnessOfBlack;
168 };
被呼び出し関係図:

◆ getCameraMode()

bool Calibrator::getCameraMode ( ) const

カメラシステムを使用するかどうかを判断する。

戻り値
Lカメラシステムを使用するかどうかの真偽値(Trueなら使用する)

Calibrator.cpp150 行目に定義があります。

151 {
152  return isCameraMode;
153 }

◆ getWhiteBrightness()

int Calibrator::getWhiteBrightness ( ) const

白色の値を取得する。

戻り値
明るさ

Calibrator.cpp160 行目に定義があります。

161 {
162  return brightnessOfWhite;
163 };
被呼び出し関係図:

◆ isLeftCourse()

bool Calibrator::isLeftCourse ( ) const

Leftコースであるかどうかを判断する。

戻り値
Leftコースであるかどうかの真偽値(TrueならLeftコース)

Calibrator.cpp155 行目に定義があります。

156 {
157  return isLeft;
158 }
被呼び出し関係図:

◆ setBrightness()

bool Calibrator::setBrightness ( Brightness  brightness)

明るさを設定する。

引数
brightness白か黒かの明るさ
戻り値
正常終了したかどうかの真偽値(Trueなら正常終了)

Calibrator.cpp99 行目に定義があります。

100 {
101  char name[8] = "none";
102 
103  if(brightness == Brightness::WHITE) {
104  std::strcpy(name, "White");
105  } else if(brightness == Brightness::BLACK) {
106  std::strcpy(name, "Black");
107  } else {
108  return false;
109  }
110 
111  controller.tslpTsk(500);
112 
113  while(1) {
114  // ENTERボタンが押されたらループを抜ける
115  if(controller.buttonIsPressedEnter()) {
116  controller.speakerPlayToneFS6(100);
117  break;
118  }
119 
120  int tmpColor = controller.getBrightness();
121  Display::print(5, "Set brightness of %s: %3d ?", name, tmpColor);
122 
123  controller.tslpTsk(4);
124  }
125 
126  controller.speakerPlayToneFS6(200);
127 
128  if(brightness == Brightness::WHITE) {
129  brightnessOfWhite = averageBrightness();
130  } else {
131  brightnessOfBlack = averageBrightness();
132  }
133 
134  return true;
135 }
static void print(int row, const char *format,...)
Definition: Display.cpp:3
static void speakerPlayToneFS6(int duration)
Definition: Controller.cpp:21
int getBrightness()
Definition: Controller.cpp:71
static void tslpTsk(int time)
Definition: Controller.cpp:163
bool buttonIsPressedEnter()
Definition: Controller.cpp:41
呼び出し関係図:
被呼び出し関係図:

◆ setCameraMode()

bool Calibrator::setCameraMode ( )

カメラシステムを使用するかどうかを設定する

戻り値
正常終了したかどうかの真偽値(Trueなら正常終了)

Calibrator.cpp47 行目に定義があります。

48 {
49  char cameraMode[8] = "ON";
50 
51  controller.tslpTsk(500);
52  while(!controller.buttonIsPressedEnter()) {
53  if(isCameraMode) {
54  std::strcpy(cameraMode, "ON");
55  } else {
56  std::strcpy(cameraMode, "OFF");
57  }
58  Display::print(3, "camera system: %s ?", cameraMode);
59 
60  if(controller.buttonIsPressedLeft() || controller.buttonIsPressedRight()) {
61  isCameraMode = !isCameraMode;
62  controller.speakerPlayToneFS6(50);
63  controller.tslpTsk(500);
64  }
65  controller.tslpTsk(4);
66  }
67  Display::print(3, "camera system: %s", cameraMode);
68 
69  controller.speakerPlayToneFS6(100);
70  return true;
71 }
bool buttonIsPressedLeft()
Definition: Controller.cpp:61
static void print(int row, const char *format,...)
Definition: Display.cpp:3
bool buttonIsPressedRight()
Definition: Controller.cpp:56
static void speakerPlayToneFS6(int duration)
Definition: Controller.cpp:21
static void tslpTsk(int time)
Definition: Controller.cpp:163
bool buttonIsPressedEnter()
Definition: Controller.cpp:41
呼び出し関係図:
被呼び出し関係図:

◆ setLRCourse()

bool Calibrator::setLRCourse ( )

LコースかRコースかを設定する。

戻り値
正常終了したかどうかの真偽値(Trueなら正常終了)

Calibrator.cpp73 行目に定義があります。

74 {
75  char course[8] = "Left";
76 
77  controller.tslpTsk(500);
78  while(!controller.buttonIsPressedEnter()) {
79  if(isLeft) {
80  std::strcpy(course, "Left");
81  } else {
82  std::strcpy(course, "Right");
83  }
84  Display::print(4, "Set LRCourse: %s ?", course);
85 
86  if(controller.buttonIsPressedLeft() || controller.buttonIsPressedRight()) {
87  isLeft = !isLeft;
88  controller.speakerPlayToneFS6(50);
89  controller.tslpTsk(500);
90  }
91  controller.tslpTsk(4);
92  }
93  Display::print(4, "course: %s", course);
94 
95  controller.speakerPlayToneFS6(100);
96  return true;
97 }
bool buttonIsPressedLeft()
Definition: Controller.cpp:61
static void print(int row, const char *format,...)
Definition: Display.cpp:3
bool buttonIsPressedRight()
Definition: Controller.cpp:56
static void speakerPlayToneFS6(int duration)
Definition: Controller.cpp:21
static void tslpTsk(int time)
Definition: Controller.cpp:163
bool buttonIsPressedEnter()
Definition: Controller.cpp:41
呼び出し関係図:
被呼び出し関係図:

このクラス詳解は次のファイルから抽出されました: