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

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

Committer:
THtakahiro702286
Date:
Mon Jan 27 09:14:17 2020 +0000
Revision:
0:058a2a20c0d1
Child:
1:2d25db124969
same 4-Axis

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 0:058a2a20c0d1 23 linevalue = 3300 * linesensor.read();
THtakahiro702286 0:058a2a20c0d1 24 if(linevalue > lineborder) judgvalue = true;
THtakahiro702286 0:058a2a20c0d1 25 else judgvalue = false;
THtakahiro702286 0:058a2a20c0d1 26 thread.wait(1.0);
THtakahiro702286 0:058a2a20c0d1 27 }
THtakahiro702286 0:058a2a20c0d1 28 }
THtakahiro702286 0:058a2a20c0d1 29
THtakahiro702286 0:058a2a20c0d1 30 Line::operator bool(){
THtakahiro702286 0:058a2a20c0d1 31 return judgvalue;
THtakahiro702286 0:058a2a20c0d1 32 }
THtakahiro702286 0:058a2a20c0d1 33
THtakahiro702286 0:058a2a20c0d1 34 float Line::value()
THtakahiro702286 0:058a2a20c0d1 35 {
THtakahiro702286 0:058a2a20c0d1 36 return linevalue;
THtakahiro702286 0:058a2a20c0d1 37 }
THtakahiro702286 0:058a2a20c0d1 38
THtakahiro702286 0:058a2a20c0d1 39 bool Line::judg()
THtakahiro702286 0:058a2a20c0d1 40 {
THtakahiro702286 0:058a2a20c0d1 41 return judgvalue;
THtakahiro702286 0:058a2a20c0d1 42 }