Xbee UplinkData

Dependencies:   mbed PowerControl SDFileSystem

Files at this revision

API Documentation at this revision

Comitter:
tomoya123
Date:
Tue Dec 13 09:47:15 2016 +0000
Parent:
0:b96079b7d167
Commit message:
Xbee DataUplink

Changed in this revision

hepta_sat/HeptaAccel.cpp Show annotated file Show diff for this revision Revisions of this file
hepta_sat/HeptaAccel.h Show annotated file Show diff for this revision Revisions of this file
hepta_sat/HeptaXbee.cpp Show annotated file Show diff for this revision Revisions of this file
hepta_sat/HeptaXbee.h 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
diff -r b96079b7d167 -r 2a3dc618aef7 hepta_sat/HeptaAccel.cpp
--- a/hepta_sat/HeptaAccel.cpp	Tue Dec 13 08:03:46 2016 +0000
+++ b/hepta_sat/HeptaAccel.cpp	Tue Dec 13 09:47:15 2016 +0000
@@ -170,7 +170,7 @@
     return(az);
 }
     
-void HeptaAccel::sensing_u16(char* ax_u16,char* ay_u16,char* az_u16, int *dsize)
+void HeptaAccel::sensing_u16(char* ax_u16,char* ay_u16,char* az_u16)
 {
     char a1[8]={0x00},a2[8]={0x00};
     accel.start();
@@ -235,7 +235,7 @@
     az_u16[1]=a1[1];
     az_u16[2]=a2[0];
     az_u16[3]=a2[1];
-    *dsize = 4;
+    //*dsize = 4;
 }
         
 void HeptaAccel::x_u16(char* a_u16, int *dsize)
diff -r b96079b7d167 -r 2a3dc618aef7 hepta_sat/HeptaAccel.h
--- a/hepta_sat/HeptaAccel.h	Tue Dec 13 08:03:46 2016 +0000
+++ b/hepta_sat/HeptaAccel.h	Tue Dec 13 09:47:15 2016 +0000
@@ -15,7 +15,7 @@
     );
     void setup();
     void sensing(float *ax,float *ay,float *az);
-    void sensing_u16(char* ax_u16,char* ay_u16,char* az_u16, int *dsize);
+    void sensing_u16(char* ax_u16,char* ay_u16,char* az_u16);
     float x();
     float y();
     float z();
diff -r b96079b7d167 -r 2a3dc618aef7 hepta_sat/HeptaXbee.cpp
--- a/hepta_sat/HeptaXbee.cpp	Tue Dec 13 08:03:46 2016 +0000
+++ b/hepta_sat/HeptaXbee.cpp	Tue Dec 13 09:47:15 2016 +0000
@@ -98,10 +98,15 @@
         xbee.puts( s );
 }
 
-void HeptaXbee::xbee_s_transmit(char* OutputData,size_t output_num,
-                          char dataA[],char dataB[],char dataC[],char dataD[],
-                           int numA,int numB,int numC,int numD)
+void HeptaXbee::xbee_s_transmit(char dataA[],char dataB[],char dataC[],char dataD[])
 {
+    char OutputData[255];
+    int output_num,numA,numB,numC,numD;
+    numA = sizeof(dataA) / sizeof(dataA[0]);
+    numB = sizeof(dataB) / sizeof(dataB[0]);
+    numC = sizeof(dataC) / sizeof(dataC[0]);
+    numD = sizeof(dataD) / sizeof(dataD[0]);
+    output_num=numA+numB+numC+numD;
     int N=0,i=0,ii;
        for(i = 0; i <= numA-1; i++){
            OutputData[N+i] = dataA[i];
diff -r b96079b7d167 -r 2a3dc618aef7 hepta_sat/HeptaXbee.h
--- a/hepta_sat/HeptaXbee.h	Tue Dec 13 08:03:46 2016 +0000
+++ b/hepta_sat/HeptaXbee.h	Tue Dec 13 09:47:15 2016 +0000
@@ -23,9 +23,7 @@
                             int n1,int n2,int n3,int n4,int n5,int n6,int n7,int n8,int n9);
     void puts( char *s );
     void printf(char *format, ... );
-    void xbee_s_transmit(char* OutputData,size_t output_num,
-                          char dataA[],char dataB[],char dataC[],char dataD[],
-                           int numA,int numB,int numC,int numD);
+    void xbee_s_transmit(char dataA[],char dataB[],char dataC[],char dataD[]);
 private:
 };
 #endif
\ No newline at end of file
diff -r b96079b7d167 -r 2a3dc618aef7 main.cpp
--- a/main.cpp	Tue Dec 13 08:03:46 2016 +0000
+++ b/main.cpp	Tue Dec 13 09:47:15 2016 +0000
@@ -7,27 +7,25 @@
 HeptaXbee xbee(p9, p10);//(tx,rx)=(Din,Dout)
 HeptaBattery battery(p16,p29,p26);
 HeptaAccel accel(p28,p27,0x38);
-//ピンアサイン読み込み、オブジェクトの生成
 
 int main() {
     pc.baud(9600);
     xbee.baud(9600);
     xbee.printf("Xbee Uplink Ok Mode\r\n");
     int rcmd=0,cmdflag=0;
-    char ddata[16],acx[4],acy[4],acz[4],bat[4];//変数の定義
-    int dsize[2]; 
+    char acx[4],acy[4],acz[4],bat[4];
     for(int i=1;i<10;i++){
         xbee.printf("num = %d\r\n",i);
         xbee.xbee_recieve(&rcmd,&cmdflag);
         pc.printf("rcmd=%d,cmdflag=%d\r\n",rcmd,cmdflag);
         if(cmdflag==1){
             if(rcmd=='a'){
-               xbee.printf("Command Get%d\r\n");
+               xbee.printf("Command Get\r\n");
                for(int j=1;j<10;j++){
-                  accel.sensing_u16(acx,acy,acz,&dsize[0]);
+                  accel.sensing_u16(acx,acy,acz);
                   battery.vol_u16(bat,&dsize[1]);
-                  xbee.xbee_s_transmit(ddata,16,acx,acy,acz,bat,
-                  dsize[0],dsize[0],dsize[0],dsize[1]);
+                  xbee.xbee_s_transmit(acx,acy,acz,bat);
+                  wait(1.0);
                }
             }
         xbee.initialize();