4-Axisと同じラインセンサのライブラリ

Dependents:   00_yotsuba 10_motor-test 00_yotsuba 200_yotsuba_21

Committer:
THtakahiro702286
Date:
Sat Mar 06 07:25:53 2021 +0000
Revision:
2:fb0d0bb8fc5b
Parent:
1:2d25db124969
digitalIn

Who changed what in which revision?

UserRevisionLine numberNew contents of line
THtakahiro702286 0:058a2a20c0d1 1 #include "line.h"
THtakahiro702286 0:058a2a20c0d1 2
THtakahiro702286 0:058a2a20c0d1 3 Line::Line(PinName line_):linesensor(line_)
THtakahiro702286 0:058a2a20c0d1 4 {
THtakahiro702286 0:058a2a20c0d1 5 lineborder = DEFAULT_LINESENSOR_JUDGVALUE;
THtakahiro702286 0:058a2a20c0d1 6 thread.start(callback(this, &Line::lineassemble));
THtakahiro702286 0:058a2a20c0d1 7 }
THtakahiro702286 0:058a2a20c0d1 8 Line::Line(PinName line_, float border_):linesensor(line_)
THtakahiro702286 0:058a2a20c0d1 9 {
THtakahiro702286 0:058a2a20c0d1 10 thread.start(callback(this, &Line::lineassemble));
THtakahiro702286 0:058a2a20c0d1 11 lineborder = border_;
THtakahiro702286 0:058a2a20c0d1 12 }
THtakahiro702286 0:058a2a20c0d1 13
THtakahiro702286 0:058a2a20c0d1 14 void Line::border(float border_)
THtakahiro702286 0:058a2a20c0d1 15 {
THtakahiro702286 0:058a2a20c0d1 16 lineborder = border_;
THtakahiro702286 0:058a2a20c0d1 17 }
THtakahiro702286 0:058a2a20c0d1 18
THtakahiro702286 0:058a2a20c0d1 19
THtakahiro702286 0:058a2a20c0d1 20 void Line::lineassemble()
THtakahiro702286 0:058a2a20c0d1 21 {
THtakahiro702286 0:058a2a20c0d1 22 while(true) {
THtakahiro702286 2:fb0d0bb8fc5b 23 // linevalue = 3300 * linesensor.read();
THtakahiro702286 2:fb0d0bb8fc5b 24 // if(/*linevalue > lineborder*/linesensor) judgvalue = true;
THtakahiro702286 2:fb0d0bb8fc5b 25 // else judgvalue = false;
THtakahiro702286 2:fb0d0bb8fc5b 26 judgvalue = linesensor;
THtakahiro702286 2:fb0d0bb8fc5b 27 thread_sleep_for(1);
THtakahiro702286 0:058a2a20c0d1 28 }
THtakahiro702286 0:058a2a20c0d1 29 }
THtakahiro702286 0:058a2a20c0d1 30
THtakahiro702286 0:058a2a20c0d1 31 Line::operator bool(){
THtakahiro702286 0:058a2a20c0d1 32 return judgvalue;
THtakahiro702286 0:058a2a20c0d1 33 }
THtakahiro702286 0:058a2a20c0d1 34
THtakahiro702286 0:058a2a20c0d1 35 float Line::value()
THtakahiro702286 0:058a2a20c0d1 36 {
THtakahiro702286 0:058a2a20c0d1 37 return linevalue;
THtakahiro702286 0:058a2a20c0d1 38 }
THtakahiro702286 0:058a2a20c0d1 39
THtakahiro702286 0:058a2a20c0d1 40 bool Line::judg()
THtakahiro702286 0:058a2a20c0d1 41 {
THtakahiro702286 0:058a2a20c0d1 42 return judgvalue;
THtakahiro702286 0:058a2a20c0d1 43 }