ETrobocon2017 - 片山研究所モデルベース開発推進事業部
RightCourse.cpp
[詳解]
1 
6 #include "RightCourse.h"
7 
9  colorSensor( PORT_3 ), sl(walker.get_count_L(), walker.get_count_R()){}
10 
16  //Sinkansen
17  //Park
18 }
19 
21  RightNormalCourse normalCourse;
22  bool isNormalCourse;
23  // NormalCourseを抜けるまでループする
24  while ( 1 ) {
25  sl.update(walker.get_count_L(), walker.get_count_R());
26  if(normalCourse.statusCheck(walker.get_count_L(), walker.get_count_R())) ev3_speaker_play_tone (NOTE_FS6, 100);
27  isNormalCourse = normalCourse.runNormalCourse();
28  normalCourse.lineTracerWalker.runLine(walker.get_count_L(), walker.get_count_R(), colorSensor.getBrightness());
29 
30  if(normalCourse.lineTracerWalker.getForward() < 0){
31  walker.run(0, 0);
32  }else{
33  walker.run( normalCourse.lineTracerWalker.getForward(), normalCourse.lineTracerWalker.getTurn());
34  }
35  if(! isNormalCourse){
36  walker.run(0, 0);
37  break;
38  }
39  if(ev3_button_is_pressed(BACK_BUTTON)){
40  walker.run(0, 0);
41  break;
42  }
43 
44  tslp_tsk(4); // 4msec周期起動
45  }
46 }
int32_t get_count_L()
Definition: Walker.cpp:48
bool statusCheck(int32_t countL, int32_t countR)
int32_t get_count_R()
Definition: Walker.cpp:52
Definition: Port.h:22
void runLine(int32_t countL, int32_t countR, int8_t light_value)
Rコースを走らせるときに呼び出されるクラス
void update(std::int32_t left_motor_sl, std::int32_t right_motor_sl)
LineTracerWalker lineTracerWalker
Definition: NormalCourse.h:10
void runNormalCourse()
Definition: RightCourse.cpp:20
int8_t getBrightness(void) const
Definition: ColorSensor.cpp:34
void run(int8_t pwm, int8_t turn)
Definition: Walker.cpp:31