2019NHK_A_sensor board
Dependencies: SerialMultiByte QEI TFmini IRsensor
main.cpp@2:4466f57c9e43, 2019-09-05 (annotated)
- Committer:
- ec30109b
- Date:
- Thu Sep 05 07:31:12 2019 +0000
- Revision:
- 2:4466f57c9e43
- Parent:
- 1:6ae7ff29d054
rename
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
highfieldsnj | 0:d789af71fbc6 | 1 | #include "mbed.h" |
highfieldsnj | 0:d789af71fbc6 | 2 | #include "IRsensor.h" |
highfieldsnj | 0:d789af71fbc6 | 3 | #include "TFmini.h" |
highfieldsnj | 0:d789af71fbc6 | 4 | #include "QEI.h" |
highfieldsnj | 0:d789af71fbc6 | 5 | #include "SerialMultiByte.h" |
highfieldsnj | 0:d789af71fbc6 | 6 | #include "pinconfig.h" |
highfieldsnj | 0:d789af71fbc6 | 7 | |
highfieldsnj | 0:d789af71fbc6 | 8 | union UnionBytes{ |
highfieldsnj | 0:d789af71fbc6 | 9 | uint8_t bytes[28]; |
highfieldsnj | 0:d789af71fbc6 | 10 | float IRdistance[7]; //0~1 |
highfieldsnj |
1:6ae7ff29d054 | 11 | int32_t TFdistance[7]; //2~3 |
highfieldsnj |
1:6ae7ff29d054 | 12 | int32_t pulses[7]; //4~6 |
highfieldsnj | 0:d789af71fbc6 | 13 | }; |
highfieldsnj | 0:d789af71fbc6 | 14 | |
highfieldsnj | 0:d789af71fbc6 | 15 | IRsensor ir[] = { |
highfieldsnj | 0:d789af71fbc6 | 16 | IRsensor(IR_0), |
highfieldsnj | 0:d789af71fbc6 | 17 | IRsensor(IR_1) |
highfieldsnj | 0:d789af71fbc6 | 18 | }; |
highfieldsnj | 0:d789af71fbc6 | 19 | |
highfieldsnj | 0:d789af71fbc6 | 20 | TFmini tf[] = { |
highfieldsnj | 0:d789af71fbc6 | 21 | TFmini(TF0_TX, TF0_RX), |
highfieldsnj |
1:6ae7ff29d054 | 22 | TFmini(TF1_TX, TF1_RX) |
highfieldsnj | 0:d789af71fbc6 | 23 | }; |
highfieldsnj | 0:d789af71fbc6 | 24 | |
highfieldsnj | 0:d789af71fbc6 | 25 | QEI loli[] = { |
highfieldsnj | 0:d789af71fbc6 | 26 | QEI(encoder_1A, encoder_1B, NC, 100, QEI::X4_ENCODING), |
highfieldsnj |
1:6ae7ff29d054 | 27 | QEI(encoder_4A, encoder_4B, NC, 100, QEI::X4_ENCODING), |
highfieldsnj |
1:6ae7ff29d054 | 28 | QEI(encoder_3A, encoder_3B, NC, 100, QEI::X4_ENCODING) |
highfieldsnj | 0:d789af71fbc6 | 29 | }; |
highfieldsnj | 0:d789af71fbc6 | 30 | |
highfieldsnj | 0:d789af71fbc6 | 31 | SerialMultiByte serial(mainTX, mainRX); |
highfieldsnj | 0:d789af71fbc6 | 32 | |
highfieldsnj |
1:6ae7ff29d054 | 33 | Serial pc(USBTX, USBRX, 115200); |
highfieldsnj |
1:6ae7ff29d054 | 34 | |
highfieldsnj | 0:d789af71fbc6 | 35 | int main() |
highfieldsnj | 0:d789af71fbc6 | 36 | { |
highfieldsnj |
1:6ae7ff29d054 | 37 | //pc.printf("hello\r\n"); |
highfieldsnj | 0:d789af71fbc6 | 38 | UnionBytes bytedata; |
highfieldsnj |
1:6ae7ff29d054 | 39 | uint8_t sendbytes[28]; |
highfieldsnj | 0:d789af71fbc6 | 40 | for(int i=0; i<28; i++){ |
highfieldsnj | 0:d789af71fbc6 | 41 | bytedata.bytes[i] = 0; |
highfieldsnj | 0:d789af71fbc6 | 42 | } |
highfieldsnj | 0:d789af71fbc6 | 43 | for(int i=0; i<2; i++){ |
highfieldsnj | 0:d789af71fbc6 | 44 | ir[i].startAveraging(10); |
highfieldsnj | 0:d789af71fbc6 | 45 | } |
highfieldsnj |
1:6ae7ff29d054 | 46 | while (1) { |
highfieldsnj | 0:d789af71fbc6 | 47 | for(int i=0; i<2; i++){ |
highfieldsnj | 0:d789af71fbc6 | 48 | bytedata.IRdistance[i] = ir[i].get_Averagingdistance(); |
highfieldsnj |
1:6ae7ff29d054 | 49 | pc.printf("%f ", bytedata.IRdistance[i]); |
highfieldsnj | 0:d789af71fbc6 | 50 | } |
highfieldsnj | 0:d789af71fbc6 | 51 | for(int i=0; i<2; i++){ |
highfieldsnj |
1:6ae7ff29d054 | 52 | bytedata.TFdistance[i+2] = (int32_t)tf[i].getDistance(); |
highfieldsnj |
1:6ae7ff29d054 | 53 | pc.printf("%d ", bytedata.TFdistance[i+2]); |
highfieldsnj | 0:d789af71fbc6 | 54 | } |
highfieldsnj | 0:d789af71fbc6 | 55 | for(int i=0; i<3; i++){ |
highfieldsnj |
1:6ae7ff29d054 | 56 | bytedata.pulses[i+4] = (int32_t)loli[i].getPulses(); |
highfieldsnj |
1:6ae7ff29d054 | 57 | pc.printf("%d ", bytedata.pulses[i+4]); |
highfieldsnj | 0:d789af71fbc6 | 58 | } |
highfieldsnj |
1:6ae7ff29d054 | 59 | for(int i=0; i<28; i++){ |
highfieldsnj |
1:6ae7ff29d054 | 60 | sendbytes[i] = bytedata.bytes[i]; |
highfieldsnj |
1:6ae7ff29d054 | 61 | } |
highfieldsnj |
1:6ae7ff29d054 | 62 | serial.sendData(sendbytes, 28); |
highfieldsnj |
1:6ae7ff29d054 | 63 | pc.printf("a\r\n"); |
highfieldsnj | 0:d789af71fbc6 | 64 | } |
highfieldsnj | 0:d789af71fbc6 | 65 | } |