Buat agip

Dependencies:   Motor_1 encoderKRAI mbed millis

Fork of Robo_Taker_Nasional_2018 by KRAI 2018

Revision:
3:b1403fcdaeb1
Parent:
0:22acd37ed695
--- a/JoystickPS3.h	Thu Mar 01 06:39:48 2018 +0000
+++ b/JoystickPS3.h	Thu Mar 01 11:02:03 2018 +0000
@@ -1,11 +1,15 @@
-#ifndef JOYSTICK_NUCLEO_H
-#define JOYSTICK_NUCLEO_H
-
+#ifndef MBED_H
 #include "mbed.h"
+#endif
+ 
+#ifndef JoystickPS3__serialDEFAULT_BAUD
 #define JoystickPS3__serialDEFAULT_BAUD       115200
-
+#endif
+ 
+//Serial debug(USBTX,USBRX);
+ 
 namespace JoystickPS3 {
-
+ 
 class joysticknucleo {
 public:
     joysticknucleo(PinName tx, PinName rx) : _serial(tx, rx)
@@ -23,8 +27,9 @@
     
     void setup(){
         _serial.baud(JoystickPS3__serialDEFAULT_BAUD);
+  //      debug.baud(9600);
         }
-
+ 
     /*********************************************************************************************/
     /**                                                                                         **/
     /** FUNGSI PEMBACAAN DATA                                                                   **/
@@ -53,7 +58,8 @@
     /**                                                                                         **/
     /*********************************************************************************************/
     
-    void olah_data(){
+    void olah_data()
+    {
         // Pengolahan data dari data "button" 
         segitiga = (bool)((button >> 0) & 0x1);
         lingkaran = (bool)((button >> 1) & 0x1);
@@ -73,6 +79,23 @@
         SELECT = (bool)((RL >> 5) & 0x1);
         PS = (bool)((RL >> 6) & 0x1);
     
+        // R2 click dan L2 click
+        if (R2 > 100) {
+            if ( R2sebelum) { R2_click = false;
+                } else { R2_click = true;}   
+            R2sebelum = true; 
+        }else { 
+            R2sebelum = false;
+            R2_click = false;
+        }            
+        if (L2 > 100) {
+            if ( L2sebelum) { L2_click = false;
+                } else { L2_click = true;}   
+            L2sebelum = true; 
+        }else { L2sebelum = false;
+                L2_click = false;
+            }            
+    
         segitiga_click = (bool)((button_click >> 0) & 0x1);
         lingkaran_click = (bool)((button_click >> 1) & 0x1);
         silang_click = (bool)((button_click >> 2) & 0x1);
@@ -107,6 +130,8 @@
         RL = 0;
         button_click = 0;
         RL_click = 0;
+        R2_click =0;
+        L2_click =0;
         R2 = 0;
         L2 = 0;
         RX = 0;
@@ -116,7 +141,6 @@
     
     }
     
-    
     /*********************************************************************************************/
     /**                                                                                         **/
     /** FUNGSI PEMBACAAN DATA                                                                   **/
@@ -136,7 +160,8 @@
     /**                                                                                         **/
     /*********************************************************************************************/
     
-    void baca_data(){
+    void baca_data()
+    {
         // Interrupt Serial
         if(_serial.readable()&&(_serial.getc()==0x88)) {
             // Pembacaan data dilakukan jika data awal yang diterima adalah 0x88 kemudian 0x08
@@ -156,16 +181,17 @@
                 // PS3 Disconnected
                 idle();
             } else {
-                idle(); 
-            }
+                idle(); }
+            // Indikator - Print data pada monitor PC
+        // debug.printf("%2x %2x %2x %2x %3d %3d %3d %3d %3d %3d\n\r",button, RL, button_click, RL_click, R2, L2, RX, RY, LX, LY);
         }   
     }
-
-
-    
+ 
+   
     int readable(){
         return _serial.readable();
     }
+    
 public:
     // Deklarasi variabel tombol joystik
     bool kiri, kanan, atas, bawah;
@@ -174,16 +200,15 @@
     
     bool kiri_click, kanan_click, atas_click, bawah_click;
     bool segitiga_click, lingkaran_click, kotak_click, silang_click;
-    bool L1_click, R1_click, L3_click, R3_click;
+    bool L1_click, R1_click, L3_click, R3_click, R2_click, L2_click;
+    bool R2sebelum,L2sebelum;
     bool START_click, SELECT_click, PS_click;
   
 protected:  
     virtual int _getc(){return _serial.getc();}
     Serial _serial;
 };
-
+ 
 };
-
-using namespace JoystickPS3;
-
-#endif
\ No newline at end of file
+ 
+using namespace JoystickPS3;
\ No newline at end of file