KRAI 2017 / Mbed 2 deprecated Test_LimitSwitch_Nasional

Dependencies:   Motor mbed

Committer:
MarchioKevin
Date:
Sun Jun 11 09:26:47 2017 +0000
Revision:
1:e8fcbd118f4d
Parent:
0:f510a9c32a2c
Balbla

Who changed what in which revision?

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