2015/08/14
Dependencies: VNH5019
Fork of cansat by
Diff: cansat.h
- Revision:
- 2:0f76226be922
- Parent:
- 1:6a034792e059
- Child:
- 4:8713fff9e20d
diff -r 6a034792e059 -r 0f76226be922 cansat.h --- 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; //ロボットの速度