
Xbee UplinkData
Dependencies: mbed PowerControl SDFileSystem
Revision 1:2a3dc618aef7, committed 2016-12-13
- Comitter:
- tomoya123
- Date:
- Tue Dec 13 09:47:15 2016 +0000
- Parent:
- 0:b96079b7d167
- Commit message:
- Xbee DataUplink
Changed in this revision
--- 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)
--- 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();
--- 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];
--- 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
--- 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();