PMK_industrija_mikro4
Dependencies: rohm-rpr0521 rohm-sensor-hal Servo TextLCD
color.cpp@1:c49ad58c141d, 2021-07-05 (annotated)
- Committer:
- emilija
- Date:
- Mon Jul 05 12:57:49 2021 +0000
- Revision:
- 1:c49ad58c141d
- Parent:
- 0:c4a5143aeebc
PMK_INDUSTRIJA_MICRO4 VERZIJA2
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
emilija | 0:c4a5143aeebc | 1 | #include "mbed.h" |
emilija | 0:c4a5143aeebc | 2 | #include "color.h" |
emilija | 0:c4a5143aeebc | 3 | ColorSensor::ColorSensor(PinName ss0, PinName ss1, PinName ss2, PinName ss3, PinName sout): |
emilija | 0:c4a5143aeebc | 4 | s0(ss0), s1(ss1), s2(ss2), s3(ss3), _out(sout) |
emilija | 0:c4a5143aeebc | 5 | { |
emilija | 0:c4a5143aeebc | 6 | s0.write(1); |
emilija | 0:c4a5143aeebc | 7 | s1.write(1); |
emilija | 0:c4a5143aeebc | 8 | s2.write(0); |
emilija | 0:c4a5143aeebc | 9 | s3.write(0); |
emilija | 0:c4a5143aeebc | 10 | interrupted = 12345; |
emilija | 0:c4a5143aeebc | 11 | countR = counter; |
emilija | 0:c4a5143aeebc | 12 | countG = counter; |
emilija | 0:c4a5143aeebc | 13 | countB = counter; |
emilija | 0:c4a5143aeebc | 14 | counter = 0; |
emilija | 0:c4a5143aeebc | 15 | flag = 0; |
emilija | 0:c4a5143aeebc | 16 | _out.mode(PullUp); |
emilija | 0:c4a5143aeebc | 17 | _out.rise(this, &ColorSensor::incCount); |
emilija | 0:c4a5143aeebc | 18 | ts.attach(this, &ColorSensor::getReading, .01); |
emilija | 0:c4a5143aeebc | 19 | |
emilija | 0:c4a5143aeebc | 20 | } |
emilija | 0:c4a5143aeebc | 21 | |
emilija | 0:c4a5143aeebc | 22 | int ColorSensor::getRed() |
emilija | 0:c4a5143aeebc | 23 | { |
emilija | 0:c4a5143aeebc | 24 | return countR; |
emilija | 0:c4a5143aeebc | 25 | } |
emilija | 0:c4a5143aeebc | 26 | int ColorSensor::getBlue() |
emilija | 0:c4a5143aeebc | 27 | { |
emilija | 0:c4a5143aeebc | 28 | return countB; |
emilija | 0:c4a5143aeebc | 29 | } |
emilija | 0:c4a5143aeebc | 30 | int ColorSensor::getGreen() |
emilija | 0:c4a5143aeebc | 31 | { |
emilija | 0:c4a5143aeebc | 32 | return countG; |
emilija | 0:c4a5143aeebc | 33 | } |
emilija | 0:c4a5143aeebc | 34 | void ColorSensor::incCount() |
emilija | 0:c4a5143aeebc | 35 | { |
emilija | 0:c4a5143aeebc | 36 | counter++; |
emilija | 0:c4a5143aeebc | 37 | } |
emilija | 0:c4a5143aeebc | 38 | void ColorSensor::getReading() |
emilija | 0:c4a5143aeebc | 39 | { |
emilija | 0:c4a5143aeebc | 40 | |
emilija | 0:c4a5143aeebc | 41 | flag++; |
emilija | 0:c4a5143aeebc | 42 | if(flag == 1) |
emilija | 0:c4a5143aeebc | 43 | { |
emilija | 0:c4a5143aeebc | 44 | countR = counter; |
emilija | 0:c4a5143aeebc | 45 | s2.write(1); |
emilija | 0:c4a5143aeebc | 46 | s3.write(1); |
emilija | 0:c4a5143aeebc | 47 | } |
emilija | 0:c4a5143aeebc | 48 | else if(flag == 2) |
emilija | 0:c4a5143aeebc | 49 | { |
emilija | 0:c4a5143aeebc | 50 | countG = counter; |
emilija | 0:c4a5143aeebc | 51 | s2.write(0); |
emilija | 0:c4a5143aeebc | 52 | s3.write(1); |
emilija | 0:c4a5143aeebc | 53 | } |
emilija | 0:c4a5143aeebc | 54 | else if(flag ==3) |
emilija | 0:c4a5143aeebc | 55 | { |
emilija | 0:c4a5143aeebc | 56 | countB = counter; |
emilija | 0:c4a5143aeebc | 57 | s2.write(0); |
emilija | 0:c4a5143aeebc | 58 | s3.write(0); |
emilija | 0:c4a5143aeebc | 59 | } |
emilija | 0:c4a5143aeebc | 60 | else if(flag == 4) |
emilija | 0:c4a5143aeebc | 61 | { |
emilija | 0:c4a5143aeebc | 62 | flag = 0; |
emilija | 0:c4a5143aeebc | 63 | } |
emilija | 0:c4a5143aeebc | 64 | counter = 0; |
emilija | 0:c4a5143aeebc | 65 | |
emilija | 0:c4a5143aeebc | 66 | } |
emilija | 0:c4a5143aeebc | 67 | |
emilija | 0:c4a5143aeebc | 68 | |
emilija | 0:c4a5143aeebc | 69 | void ColorSensor::poll() |
emilija | 0:c4a5143aeebc | 70 | { |
emilija | 0:c4a5143aeebc | 71 | |
emilija | 0:c4a5143aeebc | 72 | ColorSensor::getReading(); |
emilija | 0:c4a5143aeebc | 73 | |
emilija | 0:c4a5143aeebc | 74 | } |
emilija | 0:c4a5143aeebc | 75 | |
emilija | 0:c4a5143aeebc | 76 |