Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: ds3_si mbed omuni solenoid
Fork of 2017_Robocon_mother by
main.cpp@5:d5aa02f1acbb, 2017-10-11 (annotated)
- Committer:
- gaku_sigu
- Date:
- Wed Oct 11 04:33:26 2017 +0000
- Revision:
- 5:d5aa02f1acbb
- Parent:
- 3:2d189409c3c3
- Child:
- 6:f5f0b60cd380
2017/10/11;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
gaku_sigu | 0:f2830b957dea | 1 | #include "mbed.h" |
gaku_sigu | 1:88d73fd8099a | 2 | #include "omuni.h" |
gaku_sigu | 1:88d73fd8099a | 3 | #include "solenoid.h" |
gaku_sigu | 0:f2830b957dea | 4 | |
gaku_sigu | 5:d5aa02f1acbb | 5 | //#define DEBUG |
gaku_sigu | 5:d5aa02f1acbb | 6 | |
gaku_sigu | 0:f2830b957dea | 7 | I2C i2c(p28, p27); |
gaku_sigu | 3:2d189409c3c3 | 8 | omuni omu(&i2c, 0x10, 0x14, 0x16); |
gaku_sigu | 3:2d189409c3c3 | 9 | solenoid sol(&i2c, 0x20); |
gaku_sigu | 0:f2830b957dea | 10 | |
gaku_sigu | 0:f2830b957dea | 11 | Serial con(p9, p10); |
gaku_sigu | 0:f2830b957dea | 12 | Serial master(p13,p14); |
gaku_sigu | 0:f2830b957dea | 13 | Serial pc(USBTX, USBRX); |
gaku_sigu | 0:f2830b957dea | 14 | |
gaku_sigu | 5:d5aa02f1acbb | 15 | char ConData[2][12]; |
gaku_sigu | 1:88d73fd8099a | 16 | |
gaku_sigu | 1:88d73fd8099a | 17 | |
gaku_sigu | 0:f2830b957dea | 18 | void GetData() |
gaku_sigu | 0:f2830b957dea | 19 | { |
gaku_sigu | 1:88d73fd8099a | 20 | if ( con.getc() == 'H' ) { |
gaku_sigu | 0:f2830b957dea | 21 | ConData[0][0] = 'H'; |
gaku_sigu | 0:f2830b957dea | 22 | for (int i = 1; i < 12; i++) |
gaku_sigu | 0:f2830b957dea | 23 | { |
gaku_sigu | 0:f2830b957dea | 24 | char t = (char)con.getc(); |
gaku_sigu | 0:f2830b957dea | 25 | ConData[0][i] = t; |
gaku_sigu | 0:f2830b957dea | 26 | } |
gaku_sigu | 0:f2830b957dea | 27 | for (int i = 0; i < 12; i++) |
gaku_sigu | 0:f2830b957dea | 28 | { |
gaku_sigu | 0:f2830b957dea | 29 | char t = (char)con.getc(); |
gaku_sigu | 0:f2830b957dea | 30 | ConData[1][i] = t; |
gaku_sigu | 0:f2830b957dea | 31 | } |
gaku_sigu | 1:88d73fd8099a | 32 | for(int i = 0; i < 12; i++) |
gaku_sigu | 1:88d73fd8099a | 33 | { |
gaku_sigu | 1:88d73fd8099a | 34 | master.putc(ConData[0][i]); |
gaku_sigu | 1:88d73fd8099a | 35 | } |
gaku_sigu | 1:88d73fd8099a | 36 | for(int i = 0; i < 12; i++) |
gaku_sigu | 1:88d73fd8099a | 37 | { |
gaku_sigu | 1:88d73fd8099a | 38 | master.putc(ConData[1][i]); |
gaku_sigu | 1:88d73fd8099a | 39 | } |
gaku_sigu | 0:f2830b957dea | 40 | } |
gaku_sigu | 0:f2830b957dea | 41 | } |
gaku_sigu | 0:f2830b957dea | 42 | |
gaku_sigu | 0:f2830b957dea | 43 | int main() { |
gaku_sigu | 0:f2830b957dea | 44 | con.baud(115200); |
gaku_sigu | 0:f2830b957dea | 45 | master.baud(115200); |
gaku_sigu | 0:f2830b957dea | 46 | pc.baud(115200); |
gaku_sigu | 0:f2830b957dea | 47 | con.attach(&GetData,Serial::RxIrq); |
gaku_sigu | 0:f2830b957dea | 48 | |
gaku_sigu | 0:f2830b957dea | 49 | while(1){ |
gaku_sigu | 0:f2830b957dea | 50 | |
gaku_sigu | 1:88d73fd8099a | 51 | char MotorData[] = {'H', ConData[0][1]-1, ConData[0][2]-6, ConData[1][1]+1, ConData[1][2]-8}; |
gaku_sigu | 0:f2830b957dea | 52 | omu.out(MotorData); |
gaku_sigu | 5:d5aa02f1acbb | 53 | |
gaku_sigu | 5:d5aa02f1acbb | 54 | char soldata = ((ConData[0][3] << 2) + ConData[1][3]) << 4; |
gaku_sigu | 5:d5aa02f1acbb | 55 | sol = soldata; |
gaku_sigu | 5:d5aa02f1acbb | 56 | |
gaku_sigu | 5:d5aa02f1acbb | 57 | #ifdef DEBUG |
gaku_sigu | 0:f2830b957dea | 58 | for(int i = 0; i < 12; i++) |
gaku_sigu | 0:f2830b957dea | 59 | { |
gaku_sigu | 1:88d73fd8099a | 60 | pc.printf("%3d ",ConData[0][i]); |
gaku_sigu | 0:f2830b957dea | 61 | } |
gaku_sigu | 0:f2830b957dea | 62 | for(int i = 0; i < 12; i++) |
gaku_sigu | 0:f2830b957dea | 63 | { |
gaku_sigu | 1:88d73fd8099a | 64 | pc.printf("%3d ",ConData[1][i]); |
gaku_sigu | 0:f2830b957dea | 65 | } |
gaku_sigu | 1:88d73fd8099a | 66 | pc.printf("\n\r"); |
gaku_sigu | 3:2d189409c3c3 | 67 | |
gaku_sigu | 5:d5aa02f1acbb | 68 | printf("%d\n",soldata); |
gaku_sigu | 5:d5aa02f1acbb | 69 | #endif |
gaku_sigu | 5:d5aa02f1acbb | 70 | |
gaku_sigu | 1:88d73fd8099a | 71 | } |
gaku_sigu | 0:f2830b957dea | 72 | } |