2015/08/14

Dependencies:   VNH5019

Dependents:   Cansat_program4_1

Fork of cansat by Mami Yokokawa

Revision:
2:0f76226be922
Parent:
1:6a034792e059
Child:
4:8713fff9e20d
--- a/cansat.h	Thu Jul 16 07:56:54 2015 +0000
+++ b/cansat.h	Thu Jul 23 08:16:33 2015 +0000
@@ -5,13 +5,19 @@
  * Includes
  */
 #include "mbed.h"
-
+#include "VNH5019.h"
+enum STATUS {GPS_AVAIL = 0, GPS_UNAVAIL = 1,GPS_OUT_AREA = 2};
 
-
-const int distance_threshold[2]={0.1,0.5}
+const int distance_threshold[2]={0.1,0.5};
 
 class CanSat{
     public:
+        STATUS nowStatus;
+    
+        char motor_command;
+        void control_Motor(int,int);//動き、スピード
+    
+        CanSat(VNH5019 agzSheild);
         //ロボットとターゲットの方角からロボットの動きを決める
         char get_moving_angle(int robot_angle,int target_angle);
         //ロボットとターゲットの距離の計算
@@ -24,20 +30,43 @@
         bool is_stack();
         //ログデータの送信
         void log_send();
+        
+        //get関数
+        double get_robot_x();
+        double get_robot_y();
+        double get_robotKalman_x();
+        double get_robotKalman_y();
+        
+        //set関数
+        void set_robot_x(double);
+        void set_robot_y(double);   
+        void set_robotKalman_x(double);
+        void set_robotKalman_y(double);
     
+        void set_gyro(double x, double y, double z);
+        void set_compass(double x, double y, double z);
+        void set_pressure(double p);
+        void set_temperature(double t);
+        void set_humidity(double h);
+        void set_acceleration(double x, double y, double z);
+
     private:
         //モータ
-        //VNH5019 _agzSheild;
+        VNH5019 _agzSheild;
         //ロボットのスピード:32,64,128の3つ?
         int speed;
         //ロボットとターゲットの座標(緯度と経度)を表す
-        double robot_x,robot_y,target_x,target_y;
+        double robot_x,robot_y;
+        double robotK_x,robotK_y;//kalman filter
+        double target_x,target_y;
         //ロボットとターゲットの方角を表す。北を1として北東:2、東:3、南東4のように1~8の値を持つ
         int robot_angle,target_angle;
         //ジャイロ
-        double gyro_x,gyro_y,gyro_z;
+        int gyro_x,gyro_y,gyro_z;
         //コンパス
-        double compass_x,compass_y,compass_z;
+        int compass_x,compass_y,compass_z;
+        //加速度
+        double acceleration_x,acceleration_y,acceleration_z;
         //気圧計の気圧、気温、湿度
         double pressure,temperature,humidity;
         //ロボットの速度