手動機アーム、mbed基盤のspiをおくるだけのプログラムです(9/4)
Dependencies: SPI_master_arm_shudouki mbed
Fork of SPI_master_arm_shudouki2 by
User.cpp@1:5b008a48a49c, 2017-08-23 (annotated)
- Committer:
- yoka06
- Date:
- Wed Aug 23 04:04:15 2017 +0000
- Revision:
- 1:5b008a48a49c
- Parent:
- 0:76d1c7f13415
- Child:
- 2:faa028d2f2f8
?
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
yoka06 | 0:76d1c7f13415 | 1 | #include "Utils.h" |
yoka06 | 0:76d1c7f13415 | 2 | #include "USBHost.h" |
yoka06 | 0:76d1c7f13415 | 3 | #include "hci.h" |
yoka06 | 0:76d1c7f13415 | 4 | #include "ps3.h" |
yoka06 | 0:76d1c7f13415 | 5 | #include "User.h" |
yoka06 | 0:76d1c7f13415 | 6 | |
yoka06 | 0:76d1c7f13415 | 7 | |
yoka06 | 0:76d1c7f13415 | 8 | #include "mbed.h" |
yoka06 | 0:76d1c7f13415 | 9 | int RSX,RSY,LSX,LSY,BSU,BSL; |
yoka06 | 0:76d1c7f13415 | 10 | int a,b,c,d,e,f,g,h; |
yoka06 | 0:76d1c7f13415 | 11 | int send=0; |
yoka06 | 0:76d1c7f13415 | 12 | |
yoka06 | 0:76d1c7f13415 | 13 | |
yoka06 | 0:76d1c7f13415 | 14 | |
yoka06 | 0:76d1c7f13415 | 15 | //これより下に関数外に書く要素を記入する |
yoka06 | 0:76d1c7f13415 | 16 | PwmOut led1(LED1); |
yoka06 | 0:76d1c7f13415 | 17 | PwmOut led2(LED2); |
yoka06 | 0:76d1c7f13415 | 18 | DigitalOut led3(LED3); |
yoka06 | 0:76d1c7f13415 | 19 | DigitalOut led4(LED4); |
yoka06 | 0:76d1c7f13415 | 20 | |
yoka06 | 0:76d1c7f13415 | 21 | SPI spi(p5,p6,p7); |
yoka06 | 0:76d1c7f13415 | 22 | DigitalOut cs(p8); |
yoka06 | 0:76d1c7f13415 | 23 | |
yoka06 | 0:76d1c7f13415 | 24 | void UserLoopSetting() |
yoka06 | 0:76d1c7f13415 | 25 | { |
yoka06 | 0:76d1c7f13415 | 26 | //一度だけ行いたい初期設定をここに書く |
yoka06 | 0:76d1c7f13415 | 27 | led1.period_ms(20); |
yoka06 | 0:76d1c7f13415 | 28 | } |
yoka06 | 0:76d1c7f13415 | 29 | |
yoka06 | 0:76d1c7f13415 | 30 | void UserLoop(char n,const u8* data) |
yoka06 | 0:76d1c7f13415 | 31 | { |
yoka06 | 0:76d1c7f13415 | 32 | u16 ButtonState; |
yoka06 | 0:76d1c7f13415 | 33 | if(n==0) { //有線Ps3USB.cpp |
yoka06 | 0:76d1c7f13415 | 34 | RSX = ((ps3report*)data)->RightStickX; |
yoka06 | 0:76d1c7f13415 | 35 | RSY = ((ps3report*)data)->RightStickY; |
yoka06 | 0:76d1c7f13415 | 36 | LSX = ((ps3report*)data)->LeftStickX; |
yoka06 | 0:76d1c7f13415 | 37 | LSY = ((ps3report*)data)->LeftStickY; |
yoka06 | 0:76d1c7f13415 | 38 | BSU = (u8)(((ps3report*)data)->ButtonState & 0x00ff); |
yoka06 | 0:76d1c7f13415 | 39 | BSL = (u8)(((ps3report*)data)->ButtonState >> 8); |
yoka06 | 0:76d1c7f13415 | 40 | //ボタンの処理 |
yoka06 | 0:76d1c7f13415 | 41 | ButtonState = ((ps3report*)data)->ButtonState; |
yoka06 | 0:76d1c7f13415 | 42 | } else {//無線TestShell.cpp |
yoka06 | 0:76d1c7f13415 | 43 | RSX = ((ps3report*)(data + 1))->RightStickX; |
yoka06 | 0:76d1c7f13415 | 44 | RSY = ((ps3report*)(data + 1))->RightStickY; |
yoka06 | 0:76d1c7f13415 | 45 | LSX = ((ps3report*)(data + 1))->LeftStickX; |
yoka06 | 0:76d1c7f13415 | 46 | LSY = ((ps3report*)(data + 1))->LeftStickY; |
yoka06 | 0:76d1c7f13415 | 47 | BSU = (u8)(((ps3report*)(data + 1))->ButtonState & 0x00ff); |
yoka06 | 0:76d1c7f13415 | 48 | BSL = (u8)(((ps3report*)(data + 1))->ButtonState >> 8); |
yoka06 | 0:76d1c7f13415 | 49 | //ボタンの処理 |
yoka06 | 0:76d1c7f13415 | 50 | ButtonState = ((ps3report*)(data + 1))->ButtonState; |
yoka06 | 0:76d1c7f13415 | 51 | } |
yoka06 | 0:76d1c7f13415 | 52 | //ここより下にプログラムを書く |
yoka06 | 0:76d1c7f13415 | 53 | |
yoka06 | 0:76d1c7f13415 | 54 | spi.format(8,3); |
yoka06 | 0:76d1c7f13415 | 55 | spi.frequency(1000000); |
yoka06 | 0:76d1c7f13415 | 56 | |
yoka06 | 0:76d1c7f13415 | 57 | send =a+b+c+d+e+f+g+h; |
yoka06 | 0:76d1c7f13415 | 58 | |
yoka06 | 0:76d1c7f13415 | 59 | |
yoka06 | 0:76d1c7f13415 | 60 | // a= 0b1 |
yoka06 | 0:76d1c7f13415 | 61 | // b= 0b10 |
yoka06 | 0:76d1c7f13415 | 62 | // c= 0b100 |
yoka06 | 0:76d1c7f13415 | 63 | // d= 0b1000 |
yoka06 | 0:76d1c7f13415 | 64 | // e= 0b10000 |
yoka06 | 0:76d1c7f13415 | 65 | // f= 0b100000 |
yoka06 | 0:76d1c7f13415 | 66 | // g= 0b1000000 |
yoka06 | 0:76d1c7f13415 | 67 | // h= 0b10000000 |
yoka06 | 0:76d1c7f13415 | 68 | |
yoka06 | 1:5b008a48a49c | 69 | |
yoka06 | 0:76d1c7f13415 | 70 | |
yoka06 | 1:5b008a48a49c | 71 | if((ButtonState >> BUTTONUP)&1 == 1) { // ▲で燃料用アーム展開 |
yoka06 | 1:5b008a48a49c | 72 | a= 1; |
yoka06 | 1:5b008a48a49c | 73 | } else { |
yoka06 | 1:5b008a48a49c | 74 | a= 0; |
yoka06 | 1:5b008a48a49c | 75 | } |
yoka06 | 0:76d1c7f13415 | 76 | |
yoka06 | 1:5b008a48a49c | 77 | if((ButtonState >> BUTTONTRIANGEL)&1 == 1) { // △で燃料回収 |
yoka06 | 1:5b008a48a49c | 78 | b= 2; |
yoka06 | 1:5b008a48a49c | 79 | } else { |
yoka06 | 1:5b008a48a49c | 80 | b= 0 ; |
yoka06 | 1:5b008a48a49c | 81 | } |
yoka06 | 0:76d1c7f13415 | 82 | |
yoka06 | 1:5b008a48a49c | 83 | if((ButtonState >> BUTTONLEFT)&1 == 1) { // ◀で燃料掃き出し |
yoka06 | 1:5b008a48a49c | 84 | c= 4; |
yoka06 | 1:5b008a48a49c | 85 | } else { |
yoka06 | 1:5b008a48a49c | 86 | c= 0; |
yoka06 | 1:5b008a48a49c | 87 | } |
yoka06 | 0:76d1c7f13415 | 88 | |
yoka06 | 1:5b008a48a49c | 89 | if((ButtonState >> BUTTONCIRCLE)&1 == 1) { // 〇でタンク回収 |
yoka06 | 1:5b008a48a49c | 90 | d= 8; |
yoka06 | 1:5b008a48a49c | 91 | } else { |
yoka06 | 1:5b008a48a49c | 92 | d= 0; |
yoka06 | 1:5b008a48a49c | 93 | } |
yoka06 | 0:76d1c7f13415 | 94 | |
yoka06 | 1:5b008a48a49c | 95 | if((ButtonState >> BUTTONRIGHT)&1 == 1) { // ‣でタンク掃き出し |
yoka06 | 1:5b008a48a49c | 96 | e= 16; |
yoka06 | 1:5b008a48a49c | 97 | } else { |
yoka06 | 1:5b008a48a49c | 98 | e= 0; |
yoka06 | 1:5b008a48a49c | 99 | } |
yoka06 | 0:76d1c7f13415 | 100 | |
yoka06 | 1:5b008a48a49c | 101 | if((ButtonState >> BUTTONDOWN)&1 == 1) { // ▼で待機 |
yoka06 | 1:5b008a48a49c | 102 | f= 32; |
yoka06 | 1:5b008a48a49c | 103 | } else { |
yoka06 | 1:5b008a48a49c | 104 | f= 0; |
yoka06 | 1:5b008a48a49c | 105 | } |
yoka06 | 0:76d1c7f13415 | 106 | |
yoka06 | 1:5b008a48a49c | 107 | if((ButtonState >> BUTTONCROSS)&1 == 1) { // ×でサンプル受け取り |
yoka06 | 1:5b008a48a49c | 108 | g= 64; |
yoka06 | 1:5b008a48a49c | 109 | } else { |
yoka06 | 1:5b008a48a49c | 110 | g= 0; |
yoka06 | 1:5b008a48a49c | 111 | } |
yoka06 | 0:76d1c7f13415 | 112 | |
yoka06 | 1:5b008a48a49c | 113 | if((ButtonState >> BUTTONSQUARE)&1 == 1) { // □でサンプル設置 |
yoka06 | 1:5b008a48a49c | 114 | h= 128; |
yoka06 | 1:5b008a48a49c | 115 | } else { |
yoka06 | 1:5b008a48a49c | 116 | h= 0; |
yoka06 | 1:5b008a48a49c | 117 | } |
yoka06 | 0:76d1c7f13415 | 118 | |
yoka06 | 1:5b008a48a49c | 119 | cs= 0; |
yoka06 | 1:5b008a48a49c | 120 | spi.write(send); |
yoka06 | 1:5b008a48a49c | 121 | cs= 1; |
yoka06 | 1:5b008a48a49c | 122 | printf("%d\r\n",send); |
yoka06 | 0:76d1c7f13415 | 123 | |
yoka06 | 1:5b008a48a49c | 124 | |
yoka06 | 0:76d1c7f13415 | 125 | } |