4-Axisと同じラインセンサのライブラリ
Dependents: 00_yotsuba 10_motor-test 00_yotsuba 200_yotsuba_21
line.cpp@2:fb0d0bb8fc5b, 2021-03-06 (annotated)
- Committer:
- THtakahiro702286
- Date:
- Sat Mar 06 07:25:53 2021 +0000
- Revision:
- 2:fb0d0bb8fc5b
- Parent:
- 1:2d25db124969
digitalIn
Who changed what in which revision?
User | Revision | Line number | New 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 | } |