2015/05/16

Dependencies:   ADXL345 AigamozuControlPackets HMC5843 ITG3200 MBed_Adafruit-GPS-Library XBee agzIDLIST agz_common mbed

Fork of Aigamozu_collect_data by aigamozu

Files at this revision

API Documentation at this revision

Comitter:
s1200058
Date:
Fri May 15 08:22:51 2015 +0000
Parent:
0:0d2f5546f51a
Child:
2:ed97da657b4b
Commit message:
2015/05/15

Changed in this revision

AigamozuControlPackets.lib Show annotated file Show diff for this revision Revisions of this file
agzIDLIST.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/AigamozuControlPackets.lib	Fri May 15 07:05:06 2015 +0000
+++ b/AigamozuControlPackets.lib	Fri May 15 08:22:51 2015 +0000
@@ -1,1 +1,1 @@
-http://mbed.org/teams/aigamozu/code/AigamozuControlPackets/#4f1516421f02
+http://mbed.org/teams/aigamozu/code/AigamozuControlPackets/#119fd6c9ae80
--- a/agzIDLIST.lib	Fri May 15 07:05:06 2015 +0000
+++ b/agzIDLIST.lib	Fri May 15 08:22:51 2015 +0000
@@ -1,1 +1,1 @@
-http://mbed.org/teams/aigamozu/code/agzIDLIST/#0f026cfcf1bd
+http://mbed.org/teams/aigamozu/code/agzIDLIST/#2aefa61df88d
--- a/main.cpp	Fri May 15 07:05:06 2015 +0000
+++ b/main.cpp	Fri May 15 08:22:51 2015 +0000
@@ -2,20 +2,26 @@
 //  
 //    
 //
-//  Program name: Aigamozu BASE
+//  Program name: Aigamozu_collect_data
 //  Author: Mineta Kizuku
+//
+//  Yokokawa Mami
 //  
 //
 /**********************************************/
 
 /**********************************************/
 //更新情報
-//2015/05/11
-//ベースプログラムの作成
 //
 //2015/05/13
 //カルマンフィルタの共分散の値を0.0001以下にならないようにした
 //共分散の値を10進数に変換するようにした
+//
+//2015/05/15
+//Robot側からのinかoutかの判定を受け取り、それと緯度と経度をprintするようにしました。
+//Robot側のプログラムcreateReceiveStatusCommand()にてstate関連をいじったので必要に応じて直してください。
+//
+//
 /**********************************************/
 
 #include "mbed.h"
@@ -31,7 +37,7 @@
 #define SIGMA_MIN 0.0001
 
 //************ID Number*****************
-const char MyID = 'd';
+const char MyID = 'e';
 //************ID Number*****************
 
 /////////////////////////////////////////
@@ -164,6 +170,38 @@
 }
 
 
+/////////////////////////////////////////
+//
+//Get Status
+//
+/////////////////////////////////////////
+void Get_Status(char SenderIDc,uint8_t *packetdata){
+    
+    //マネージャからデータが来たとき
+    if(SenderIDc == '0'){
+        printf("get manager Status\n");
+    }
+    //他のロボットからデータが来たとき
+    if(SenderIDc >= 'A' && SenderIDc <= 'Z'){
+        printf("Get Robot data\n");
+        int id = SenderIDc - 'A';
+        agz.set_base_status(id, &packetdata[9]);
+        agz.reNewBasePoint(id,&packetdata[13],&packetdata[21]);
+        agz.reNewBasePointKalman(id,&packetdata[29],&packetdata[37]);
+        
+        //debug
+        for(int i = 0; i < 1; i++){
+        printf("ROBOT:%d\n",i);
+        printf("status:%c, latitude:%f,longitude:%f\nlatitudeK:%f,longitudeK:%f\n",
+            agz.get_base_status(i), agz.get_basePoint_lati(i),agz.get_basePoint_longi(i),
+            agz.get_basePointKalman_lati(i),agz.get_basePointKalman_longi(i)
+            );
+        }
+    }
+    //基地局からデータが来たとき
+    if(SenderIDc >= 'a' && SenderIDc <= 'z'){
+    }
+}
 
 /////////////////////////////////////////
 //
@@ -257,9 +295,9 @@
     const int refresh_Time = 1000; //refresh time in ms
     myGPS.begin(GPS_BAUD_RATE);
     Timer collect_Timer;
-    const int collect_Time = 2000; //when we collect 4 GPS point, we use 
+ /*   const int collect_Time = 2000; //when we collect 4 GPS point, we use 
     int collect_flag = 0;
-    char collect_state = 'a';
+    char collect_state = 'a';*/
     
     char SenderIDc;
     //GPS Send Command
@@ -298,6 +336,10 @@
                         Send_Status(SenderIDc);                     
                         break;          
                     }
+                    case RECEIVE_STATUS:{
+                        Get_Status(SenderIDc,buf1);
+                        break;
+                    }
                     default:{
                         break;
                     }
@@ -313,7 +355,7 @@
                 continue;   
             }       
         }
-        
+  /*      
         if( collect_Timer.read_ms() >= collect_Time){
             collect_Timer.reset();   
                      
@@ -328,7 +370,7 @@
             }    
          } 
         
-        
+*/        
         if (refresh_Timer.read_ms() >= refresh_Time) {
             refresh_Timer.reset();
             Get_GPS(&myGPS);