Update 18 Februari 2017, PID laucnher dan Base sudah diperbarui
Dependencies: Motor PID Joystick_OrdoV5 mbed millis
Fork of MainProgram_BaseBaru_otomatis-reloader by
PS3Arduino.txt@12:e07c59c28c29, 2016-12-03 (annotated)
- Committer:
- franshendri
- Date:
- Sat Dec 03 05:43:10 2016 +0000
- Revision:
- 12:e07c59c28c29
- Parent:
- 2:ac21a024ac80
tes H
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
fanny868 | 0:9072e932503c | 1 | /*********************************************************************************************/ |
fanny868 | 0:9072e932503c | 2 | /** **/ |
fanny868 | 0:9072e932503c | 3 | /** PROGRAM KOMUNIKASI DATA JOYSTIK PS3 **/ |
fanny868 | 0:9072e932503c | 4 | /** **/ |
fanny868 | 0:9072e932503c | 5 | /** Joystik PS3 -> Arduino -> STM32Nucleo **/ |
fanny868 | 0:9072e932503c | 6 | /** **/ |
fanny868 | 0:9072e932503c | 7 | /** Fanny Achmad Hindrarta **/ |
fanny868 | 0:9072e932503c | 8 | /** EL'12 - 13212076 **/ |
fanny868 | 0:9072e932503c | 9 | /** **/ |
fanny868 | 2:ac21a024ac80 | 10 | /** Last Update : 01 Februar1 2015, 20.30 **/ |
fanny868 | 0:9072e932503c | 11 | /*********************************************************************************************/ |
franshendri | 12:e07c59c28c29 | 12 | |
fanny868 | 0:9072e932503c | 13 | #include <PS3BT.h> |
fanny868 | 0:9072e932503c | 14 | #include <usbhub.h> |
fanny868 | 2:ac21a024ac80 | 15 | //#include <PS3USB.h> |
fanny868 | 0:9072e932503c | 16 | #include "Arduino.h" |
fanny868 | 0:9072e932503c | 17 | // Satisfy IDE, which only needs to see the include statment in the ino. |
fanny868 | 0:9072e932503c | 18 | #ifdef dobogusinclude |
fanny868 | 0:9072e932503c | 19 | #include <spi4teensy3.h> |
fanny868 | 0:9072e932503c | 20 | #endif |
franshendri | 12:e07c59c28c29 | 21 | |
franshendri | 12:e07c59c28c29 | 22 | |
fanny868 | 0:9072e932503c | 23 | USB Usb; |
franshendri | 12:e07c59c28c29 | 24 | |
fanny868 | 2:ac21a024ac80 | 25 | // Bluetooth |
fanny868 | 2:ac21a024ac80 | 26 | // You can create the instance of the class in two ways |
fanny868 | 0:9072e932503c | 27 | BTD Btd(&Usb); // You have to create the Bluetooth Dongle instance like so |
fanny868 | 2:ac21a024ac80 | 28 | //You can create the instance of the class in two ways |
fanny868 | 0:9072e932503c | 29 | PS3BT PS3(&Btd); // This will just create the instance |
fanny868 | 0:9072e932503c | 30 | //PS3BT PS3(&Btd, 0x00, 0x15, 0x83, 0x3D, 0x0A, 0x57); // This will also store the bluetooth address - this can be obtained from the dongle when running the sketch |
fanny868 | 2:ac21a024ac80 | 31 | /* |
fanny868 | 2:ac21a024ac80 | 32 | // USB |
fanny868 | 2:ac21a024ac80 | 33 | // You can create the instance of the class in two ways |
fanny868 | 2:ac21a024ac80 | 34 | PS3USB PS3(&Usb); // This will just create the instance |
fanny868 | 2:ac21a024ac80 | 35 | //PS3USB PS3(&Btd, 0x00, 0x15, 0x83, 0x3D, 0x0A, 0x57); // This will also store the bluetooth address - this can be obtained from the dongle when running the sketch |
fanny868 | 2:ac21a024ac80 | 36 | */ |
franshendri | 12:e07c59c28c29 | 37 | |
fanny868 | 0:9072e932503c | 38 | boolean printAngle; |
fanny868 | 0:9072e932503c | 39 | uint8_t state = 0; |
franshendri | 12:e07c59c28c29 | 40 | |
fanny868 | 0:9072e932503c | 41 | // Deklarasi tombol |
fanny868 | 0:9072e932503c | 42 | boolean kiri_click=0, kanan_click=0, atas_click=0, bawah_click=0; |
fanny868 | 0:9072e932503c | 43 | boolean segitiga_click=0, lingkaran_click=0, kotak_click=0, silang_click=0; |
fanny868 | 0:9072e932503c | 44 | boolean L1_click=0, R1_click=0, L3_click=0, R3_click=0; |
fanny868 | 0:9072e932503c | 45 | boolean START_click=0, SELECT_click=0, PS_click=0; |
franshendri | 12:e07c59c28c29 | 46 | |
fanny868 | 0:9072e932503c | 47 | // Deklarasi variabel tombol analog |
fanny868 | 0:9072e932503c | 48 | unsigned char LX, LY, RX, RY, aL2, aR2; |
franshendri | 12:e07c59c28c29 | 49 | |
fanny868 | 0:9072e932503c | 50 | // Deklarasi varibel data yang dikirim |
fanny868 | 0:9072e932503c | 51 | unsigned char button; |
fanny868 | 0:9072e932503c | 52 | unsigned char RL; |
fanny868 | 0:9072e932503c | 53 | unsigned int button_click; |
fanny868 | 0:9072e932503c | 54 | unsigned int RL_click; |
franshendri | 12:e07c59c28c29 | 55 | |
fanny868 | 0:9072e932503c | 56 | void setup_joystik() |
fanny868 | 0:9072e932503c | 57 | { |
fanny868 | 2:ac21a024ac80 | 58 | while (!Serial) // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection |
fanny868 | 2:ac21a024ac80 | 59 | { |
fanny868 | 2:ac21a024ac80 | 60 | Serial.write(0x88); |
fanny868 | 2:ac21a024ac80 | 61 | Serial.write(0x09); |
fanny868 | 2:ac21a024ac80 | 62 | } |
fanny868 | 0:9072e932503c | 63 | if (Usb.Init() == -1) { |
fanny868 | 2:ac21a024ac80 | 64 | //Serial.print(F("\r\nOSC did not start")); |
fanny868 | 2:ac21a024ac80 | 65 | while (1) //halt |
fanny868 | 2:ac21a024ac80 | 66 | { |
fanny868 | 2:ac21a024ac80 | 67 | Serial.write(0x88); |
fanny868 | 2:ac21a024ac80 | 68 | Serial.write(0x09); |
fanny868 | 2:ac21a024ac80 | 69 | } |
fanny868 | 0:9072e932503c | 70 | } |
fanny868 | 2:ac21a024ac80 | 71 | //Serial.print(F("\r\nPS3 USB Library Started")); |
fanny868 | 0:9072e932503c | 72 | } |
franshendri | 12:e07c59c28c29 | 73 | |
fanny868 | 0:9072e932503c | 74 | /*********************************************************************************************/ |
fanny868 | 0:9072e932503c | 75 | /** **/ |
fanny868 | 0:9072e932503c | 76 | /** FUNGSI PENGIRIMAN DATA **/ |
fanny868 | 0:9072e932503c | 77 | /** - Data yang akan dikirim adalah paket data 8-bit dengan urutan sebagai berikut **/ |
fanny868 | 0:9072e932503c | 78 | /** |------|------|--------|----|--------------|----------|----|----|----|----|----|----| **/ |
fanny868 | 0:9072e932503c | 79 | /** | 0x88 | 0x08 | button | RL | button_click | RL_click | R2 | L2 | RX | RY | LX | LY | **/ |
fanny868 | 0:9072e932503c | 80 | /** |------|------|--------|----|--------------|----------|----|----|----|----|----|----| **/ |
fanny868 | 0:9072e932503c | 81 | /** **/ |
fanny868 | 0:9072e932503c | 82 | /*********************************************************************************************/ |
franshendri | 12:e07c59c28c29 | 83 | |
fanny868 | 0:9072e932503c | 84 | void kirimdatajoystik() |
fanny868 | 0:9072e932503c | 85 | { |
fanny868 | 0:9072e932503c | 86 | |
fanny868 | 0:9072e932503c | 87 | Serial.write(0x88); |
fanny868 | 0:9072e932503c | 88 | Serial.write(0x08); |
fanny868 | 0:9072e932503c | 89 | Serial.write(button); |
fanny868 | 0:9072e932503c | 90 | Serial.write(RL); |
fanny868 | 0:9072e932503c | 91 | Serial.write(button_click); |
fanny868 | 0:9072e932503c | 92 | Serial.write(RL_click); |
fanny868 | 0:9072e932503c | 93 | Serial.write(aR2); |
fanny868 | 0:9072e932503c | 94 | Serial.write(aL2); |
fanny868 | 0:9072e932503c | 95 | Serial.write(RX); |
fanny868 | 0:9072e932503c | 96 | Serial.write(RY); |
fanny868 | 0:9072e932503c | 97 | Serial.write(LX); |
fanny868 | 0:9072e932503c | 98 | Serial.write(LY); |
franshendri | 12:e07c59c28c29 | 99 | |
fanny868 | 0:9072e932503c | 100 | // Debug |
franshendri | 12:e07c59c28c29 | 101 | |
fanny868 | 0:9072e932503c | 102 | /* |
fanny868 | 0:9072e932503c | 103 | Serial.print(millis()); |
fanny868 | 0:9072e932503c | 104 | Serial.print("\t"); |
fanny868 | 0:9072e932503c | 105 | Serial.print(button); |
fanny868 | 0:9072e932503c | 106 | Serial.print("\t"); |
fanny868 | 0:9072e932503c | 107 | Serial.print(RL); |
fanny868 | 0:9072e932503c | 108 | Serial.print("\t"); |
fanny868 | 0:9072e932503c | 109 | Serial.print(button_click); |
fanny868 | 0:9072e932503c | 110 | Serial.print("\t"); |
fanny868 | 0:9072e932503c | 111 | Serial.print(RL_click); |
fanny868 | 0:9072e932503c | 112 | Serial.print("\t"); |
fanny868 | 0:9072e932503c | 113 | Serial.print(aR2); |
fanny868 | 0:9072e932503c | 114 | Serial.print("\t"); |
fanny868 | 0:9072e932503c | 115 | Serial.print(aL2); |
fanny868 | 0:9072e932503c | 116 | Serial.print("\t"); |
fanny868 | 0:9072e932503c | 117 | Serial.print(RX); |
fanny868 | 0:9072e932503c | 118 | Serial.print("\t"); |
fanny868 | 0:9072e932503c | 119 | Serial.print(RY); |
fanny868 | 0:9072e932503c | 120 | Serial.print("\t"); |
fanny868 | 0:9072e932503c | 121 | Serial.print(LX); |
fanny868 | 0:9072e932503c | 122 | Serial.print("\t"); |
fanny868 | 0:9072e932503c | 123 | Serial.println(LY); |
fanny868 | 0:9072e932503c | 124 | */ |
fanny868 | 0:9072e932503c | 125 | } |
franshendri | 12:e07c59c28c29 | 126 | |
fanny868 | 0:9072e932503c | 127 | /*****************************************************************************************/ |
fanny868 | 0:9072e932503c | 128 | /** SETUP REGISTER dan INISIALISASI **/ |
fanny868 | 0:9072e932503c | 129 | /** - Setup Joystik **/ |
fanny868 | 0:9072e932503c | 130 | /** - Baud Rate Serial 115200, 8-bit, 1 stop, 0 parity **/ |
fanny868 | 0:9072e932503c | 131 | /*****************************************************************************************/ |
franshendri | 12:e07c59c28c29 | 132 | |
fanny868 | 0:9072e932503c | 133 | void setup() { |
fanny868 | 0:9072e932503c | 134 | Serial.begin(115200); |
franshendri | 12:e07c59c28c29 | 135 | |
fanny868 | 0:9072e932503c | 136 | setup_joystik(); |
fanny868 | 0:9072e932503c | 137 | } |
franshendri | 12:e07c59c28c29 | 138 | |
franshendri | 12:e07c59c28c29 | 139 | |
fanny868 | 0:9072e932503c | 140 | /*****************************************************************************************/ |
fanny868 | 0:9072e932503c | 141 | /** **/ |
fanny868 | 0:9072e932503c | 142 | /** FUNGSI PEMBACAAN DATA JOYSTIK **/ |
fanny868 | 0:9072e932503c | 143 | /** - Data dari Joystik dikirim melalui Bluetooth. **/ |
fanny868 | 0:9072e932503c | 144 | /** Lihat Library "PS3BT.h" **/ |
fanny868 | 0:9072e932503c | 145 | /** - Data tombol dari joystik adalah data 1-bit. Pengiriman data melalui USART **/ |
fanny868 | 0:9072e932503c | 146 | /** adalah 8-bit. Agar pengiriman data efisien, maka data 1-bit digabungkan **/ |
fanny868 | 0:9072e932503c | 147 | /** agar terbentuk data 8-bit **/ |
fanny868 | 0:9072e932503c | 148 | /** - Penggabungan data segitiga, longkaran, silang, kotak, arah atas, arah kanan, **/ |
fanny868 | 0:9072e932503c | 149 | /** arah bawah, arah kiri disimpan dalam variabel "button" **/ |
fanny868 | 0:9072e932503c | 150 | /** - Urutan data pada variabel "button" dan "button_click" **/ |
fanny868 | 0:9072e932503c | 151 | /** adalah sebagai berikut **/ |
fanny868 | 0:9072e932503c | 152 | /** **/ |
fanny868 | 0:9072e932503c | 153 | /** |------|-------|-------|------|-------|--------|-----------|----------| **/ |
fanny868 | 0:9072e932503c | 154 | /** Bit Ke | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | **/ |
fanny868 | 0:9072e932503c | 155 | /** |------|-------|-------|------|-------|--------|-----------|----------| **/ |
fanny868 | 0:9072e932503c | 156 | /** Data | kiri | bawah | kanan | atas | kotak | silang | lingkaran | segitiga | **/ |
fanny868 | 0:9072e932503c | 157 | /** |------|-------|-------|------|-------|--------|-----------|----------| **/ |
fanny868 | 0:9072e932503c | 158 | /** **/ |
fanny868 | 0:9072e932503c | 159 | /** - Penggabungan data R1, R2, L1, L2, R3, L3, START, dan SELECT disimpan dalam **/ |
fanny868 | 0:9072e932503c | 160 | /** variabel "RL" **/ |
fanny868 | 0:9072e932503c | 161 | /** - Urutan data pada variabel "RL" dan "RL_click" adalah **/ |
fanny868 | 0:9072e932503c | 162 | /** sebagai berikut **/ |
fanny868 | 0:9072e932503c | 163 | /** **/ |
fanny868 | 0:9072e932503c | 164 | /** |----|--------|-------|----|----|----|----| **/ |
fanny868 | 0:9072e932503c | 165 | /** Bit Ke | 6 | 5 | 4 | 3 | 2 | 1 | 0 | **/ |
fanny868 | 0:9072e932503c | 166 | /** |----|--------|-------|----|----|----|----| **/ |
fanny868 | 0:9072e932503c | 167 | /** Data | PS | SELECT | START | L3 | L1 | R3 | R1 | **/ |
fanny868 | 0:9072e932503c | 168 | /** |----|--------|-------|----|----|----|----| **/ |
fanny868 | 0:9072e932503c | 169 | /** **/ |
fanny868 | 0:9072e932503c | 170 | /*****************************************************************************************/ |
franshendri | 12:e07c59c28c29 | 171 | |
fanny868 | 0:9072e932503c | 172 | void loop() { |
fanny868 | 0:9072e932503c | 173 | button = 0; |
fanny868 | 0:9072e932503c | 174 | RL = 0; |
fanny868 | 2:ac21a024ac80 | 175 | button_click=0; |
fanny868 | 2:ac21a024ac80 | 176 | RL_click=0; |
fanny868 | 0:9072e932503c | 177 | Usb.Task(); |
franshendri | 12:e07c59c28c29 | 178 | |
fanny868 | 0:9072e932503c | 179 | // Pembacaan data joystik dilakukan jika PS3 tersambung ke Arduino |
fanny868 | 0:9072e932503c | 180 | if (PS3.PS3Connected || PS3.PS3NavigationConnected) { |
fanny868 | 0:9072e932503c | 181 | // Pembacaan dan penggabungan data segitiga, lingkaran, silang, kotak, atas, kanan, bawah, kiri |
fanny868 | 0:9072e932503c | 182 | // Data bernilai '1' jika tombol ditekan |
fanny868 | 0:9072e932503c | 183 | if(PS3.getButtonPress(TRIANGLE)){ |
fanny868 | 0:9072e932503c | 184 | button = button + (0x1 << 0); |
fanny868 | 0:9072e932503c | 185 | } |
fanny868 | 0:9072e932503c | 186 | if(PS3.getButtonPress(CIRCLE)){ |
fanny868 | 0:9072e932503c | 187 | button = button + (0x1 << 1); |
fanny868 | 0:9072e932503c | 188 | } |
fanny868 | 0:9072e932503c | 189 | if(PS3.getButtonPress(CROSS)){ |
fanny868 | 0:9072e932503c | 190 | button = button + (0x1 << 2); |
fanny868 | 0:9072e932503c | 191 | } |
fanny868 | 0:9072e932503c | 192 | if(PS3.getButtonPress(SQUARE)){ |
fanny868 | 0:9072e932503c | 193 | button = button + (0x1 << 3); |
fanny868 | 0:9072e932503c | 194 | } |
fanny868 | 0:9072e932503c | 195 | if(PS3.getButtonPress(UP)){ |
fanny868 | 0:9072e932503c | 196 | button = button + (0x1 << 4); |
fanny868 | 0:9072e932503c | 197 | } |
fanny868 | 0:9072e932503c | 198 | if(PS3.getButtonPress(RIGHT)){ |
fanny868 | 0:9072e932503c | 199 | button = button + (0x1 << 5); |
fanny868 | 0:9072e932503c | 200 | } |
fanny868 | 0:9072e932503c | 201 | if(PS3.getButtonPress(DOWN)){ |
fanny868 | 0:9072e932503c | 202 | button = button + (0x1 << 6); |
fanny868 | 0:9072e932503c | 203 | } |
fanny868 | 0:9072e932503c | 204 | if(PS3.getButtonPress(LEFT)){ |
fanny868 | 0:9072e932503c | 205 | button = button + (0x1 << 7); |
fanny868 | 0:9072e932503c | 206 | } |
franshendri | 12:e07c59c28c29 | 207 | |
fanny868 | 0:9072e932503c | 208 | // Pembacaan dan penggabungan data R1, R3, L1, L3, START, SELECT, dan PS |
fanny868 | 0:9072e932503c | 209 | // Data bernilai '1' jika tombol ditekan |
fanny868 | 0:9072e932503c | 210 | if(PS3.getButtonPress(R1)){ |
fanny868 | 0:9072e932503c | 211 | RL = RL + (0x1 << 0); |
fanny868 | 0:9072e932503c | 212 | } |
fanny868 | 0:9072e932503c | 213 | if(PS3.getButtonPress(R3)){ |
fanny868 | 0:9072e932503c | 214 | RL = RL + (0x1 << 1); |
fanny868 | 0:9072e932503c | 215 | } |
fanny868 | 0:9072e932503c | 216 | if(PS3.getButtonPress(L1)){ |
fanny868 | 0:9072e932503c | 217 | RL = RL + (0x1 << 2); |
fanny868 | 0:9072e932503c | 218 | } |
fanny868 | 0:9072e932503c | 219 | if(PS3.getButtonPress(L3)){ |
fanny868 | 0:9072e932503c | 220 | RL = RL + (0x1 << 3); |
fanny868 | 0:9072e932503c | 221 | } |
fanny868 | 0:9072e932503c | 222 | if(PS3.getButtonPress(START)){ |
fanny868 | 0:9072e932503c | 223 | RL = RL + (0x1 << 4); |
fanny868 | 0:9072e932503c | 224 | } |
fanny868 | 0:9072e932503c | 225 | if(PS3.getButtonPress(SELECT)){ |
fanny868 | 0:9072e932503c | 226 | RL = RL + (0x1 << 5); |
fanny868 | 0:9072e932503c | 227 | } |
fanny868 | 0:9072e932503c | 228 | if(PS3.getButtonPress(PS)){ |
fanny868 | 0:9072e932503c | 229 | RL = RL + (0x1 << 6); |
fanny868 | 0:9072e932503c | 230 | } |
franshendri | 12:e07c59c28c29 | 231 | |
fanny868 | 0:9072e932503c | 232 | // Pembacaan dan penggabungan data segitiga, lingkaran, silang, kotak, atas, kanan, bawah, kiri |
fanny868 | 0:9072e932503c | 233 | // Data bernilai '1' hanya saat tombol pertama kali ditekan |
fanny868 | 0:9072e932503c | 234 | if(PS3.getButtonClick(TRIANGLE)){ |
fanny868 | 2:ac21a024ac80 | 235 | button_click = button_click + (0x1 << 0); |
fanny868 | 0:9072e932503c | 236 | } |
fanny868 | 0:9072e932503c | 237 | if(PS3.getButtonClick(CIRCLE)){ |
fanny868 | 2:ac21a024ac80 | 238 | button_click = button_click + (0x1 << 1); |
fanny868 | 0:9072e932503c | 239 | } |
fanny868 | 0:9072e932503c | 240 | if(PS3.getButtonClick(CROSS)){ |
fanny868 | 2:ac21a024ac80 | 241 | button_click = button_click + (0x1 << 2); |
fanny868 | 0:9072e932503c | 242 | } |
fanny868 | 0:9072e932503c | 243 | if(PS3.getButtonClick(SQUARE)){ |
fanny868 | 2:ac21a024ac80 | 244 | button_click = button_click + (0x1 << 3); |
fanny868 | 0:9072e932503c | 245 | } |
fanny868 | 0:9072e932503c | 246 | if(PS3.getButtonClick(UP)){ |
fanny868 | 2:ac21a024ac80 | 247 | button_click = button_click + (0x1 << 4); |
fanny868 | 0:9072e932503c | 248 | } |
fanny868 | 0:9072e932503c | 249 | if(PS3.getButtonClick(RIGHT)){ |
fanny868 | 2:ac21a024ac80 | 250 | button_click = button_click + (0x1 << 5); |
fanny868 | 0:9072e932503c | 251 | } |
fanny868 | 0:9072e932503c | 252 | if(PS3.getButtonClick(DOWN)){ |
fanny868 | 2:ac21a024ac80 | 253 | button_click = button_click + (0x1 << 6); |
fanny868 | 0:9072e932503c | 254 | } |
fanny868 | 0:9072e932503c | 255 | if(PS3.getButtonClick(LEFT)){ |
fanny868 | 2:ac21a024ac80 | 256 | button_click = button_click + (0x1 << 7); |
fanny868 | 0:9072e932503c | 257 | } |
franshendri | 12:e07c59c28c29 | 258 | |
fanny868 | 0:9072e932503c | 259 | if(PS3.getButtonClick(R1)){ |
fanny868 | 2:ac21a024ac80 | 260 | RL_click = RL_click + (0x1 << 0); |
fanny868 | 0:9072e932503c | 261 | } |
fanny868 | 0:9072e932503c | 262 | if(PS3.getButtonClick(R3)){ |
fanny868 | 2:ac21a024ac80 | 263 | RL_click = RL_click + (0x1 << 1); |
fanny868 | 0:9072e932503c | 264 | } |
fanny868 | 0:9072e932503c | 265 | if(PS3.getButtonClick(L1)){ |
fanny868 | 2:ac21a024ac80 | 266 | RL_click = RL_click + (0x1 << 2); |
fanny868 | 0:9072e932503c | 267 | } |
fanny868 | 0:9072e932503c | 268 | if(PS3.getButtonClick(L3)){ |
fanny868 | 2:ac21a024ac80 | 269 | RL_click = RL_click + (0x1 << 3); |
fanny868 | 0:9072e932503c | 270 | } |
fanny868 | 0:9072e932503c | 271 | if(PS3.getButtonClick(START)){ |
fanny868 | 2:ac21a024ac80 | 272 | RL_click = RL_click + (0x1 << 4); |
fanny868 | 0:9072e932503c | 273 | } |
fanny868 | 0:9072e932503c | 274 | if(PS3.getButtonClick(SELECT)){ |
fanny868 | 2:ac21a024ac80 | 275 | RL_click = RL_click + (0x1 << 5); |
fanny868 | 0:9072e932503c | 276 | } |
fanny868 | 0:9072e932503c | 277 | if(PS3.getButtonClick(PS)){ |
fanny868 | 2:ac21a024ac80 | 278 | RL_click = RL_click + (0x1 << 6); |
fanny868 | 0:9072e932503c | 279 | } |
franshendri | 12:e07c59c28c29 | 280 | |
fanny868 | 0:9072e932503c | 281 | // Tombol Analog |
fanny868 | 0:9072e932503c | 282 | LX = PS3.getAnalogHat(LeftHatX); |
fanny868 | 0:9072e932503c | 283 | LY = PS3.getAnalogHat(LeftHatY); |
fanny868 | 0:9072e932503c | 284 | RX = PS3.getAnalogHat(RightHatX); |
fanny868 | 0:9072e932503c | 285 | RY = PS3.getAnalogHat(RightHatY); |
fanny868 | 0:9072e932503c | 286 | |
fanny868 | 0:9072e932503c | 287 | aL2 = PS3.getAnalogButton(L2); |
fanny868 | 0:9072e932503c | 288 | aR2 = PS3.getAnalogButton(R2); |
fanny868 | 2:ac21a024ac80 | 289 | |
fanny868 | 2:ac21a024ac80 | 290 | kirimdatajoystik(); |
fanny868 | 0:9072e932503c | 291 | } else { |
fanny868 | 0:9072e932503c | 292 | // PS3 Disconnected |
fanny868 | 0:9072e932503c | 293 | Serial.write(0x88); |
fanny868 | 0:9072e932503c | 294 | Serial.write(0x09); |
fanny868 | 0:9072e932503c | 295 | } |
fanny868 | 2:ac21a024ac80 | 296 | delay(3); |
fanny868 | 2:ac21a024ac80 | 297 | } |
franshendri | 12:e07c59c28c29 | 298 | |
franshendri | 12:e07c59c28c29 | 299 |