Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
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();