test

Dependencies:   Hepta9axis HeptaBattery HeptaCamera_GPS HeptaTemp HeptaXbee SDFileSystem mbed

Fork of HEPTA_assembly by CLTP 8

Committer:
umeume
Date:
Sat Sep 02 22:01:18 2017 +0000
Revision:
5:13baaa9f5eb1
Parent:
2:1c5cdb2c3e0f
test

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 0:bdbd3d6fc5d5 1 #include "mbed.h"
mbed_official 0:bdbd3d6fc5d5 2 #include "SDFileSystem.h"
umeume 2:1c5cdb2c3e0f 3 #include "HeptaXbee.h"
umeume 2:1c5cdb2c3e0f 4 #include "HeptaCamera_GPS.h"
umeume 2:1c5cdb2c3e0f 5 #include "Hepta9axis.h"
umeume 2:1c5cdb2c3e0f 6 #include "HeptaTemp.h"
umeume 2:1c5cdb2c3e0f 7 #include "HeptaBattery.h"
umeume 2:1c5cdb2c3e0f 8
umeume 2:1c5cdb2c3e0f 9 Serial pc(USBTX,USBRX);
umeume 2:1c5cdb2c3e0f 10 SDFileSystem sd(p5, p6, p7, p8, "fs");
umeume 2:1c5cdb2c3e0f 11 HeptaXbee xbee(p9,p10);
umeume 2:1c5cdb2c3e0f 12 HeptaCamera_GPS cam_gps(p13, p14,p25,p24);
umeume 2:1c5cdb2c3e0f 13 Hepta9axis _9axis(p28,p27,0xD0,0x18);//sda,scl,acc&gyro_address,mag_gyro
umeume 2:1c5cdb2c3e0f 14 HeptaTemp heptatemp(p17);
umeume 2:1c5cdb2c3e0f 15 HeptaBattery bat(p16,p26);
umeume 2:1c5cdb2c3e0f 16
umeume 2:1c5cdb2c3e0f 17 int main()
umeume 2:1c5cdb2c3e0f 18 {
umeume 5:13baaa9f5eb1 19 int i=0,rcmd=0,cmdflag=0;
umeume 5:13baaa9f5eb1 20 //char xdata[500];
umeume 5:13baaa9f5eb1 21 //xbee.printf("Count Up!\r");
umeume 2:1c5cdb2c3e0f 22 while(1) {
umeume 5:13baaa9f5eb1 23 //xbee.printf("num = %d\r",i);
umeume 5:13baaa9f5eb1 24 i++;
umeume 5:13baaa9f5eb1 25 wait(1.0);
umeume 5:13baaa9f5eb1 26 xbee.xbee_recieve(&rcmd,&cmdflag);
umeume 5:13baaa9f5eb1 27 pc.printf("rcmd=%d, cmdflag=%d\r\n",rcmd, cmdflag);
umeume 5:13baaa9f5eb1 28 if (cmdflag == 1) {
umeume 5:13baaa9f5eb1 29 pc.printf("Command Get %d\r\n",rcmd);
umeume 5:13baaa9f5eb1 30 pc.printf("HEPTA Uplink OK\r");
umeume 2:1c5cdb2c3e0f 31
umeume 5:13baaa9f5eb1 32 switch(rcmd) {
umeume 5:13baaa9f5eb1 33 case'a': {
umeume 5:13baaa9f5eb1 34 char bt[4];
umeume 5:13baaa9f5eb1 35 int dsize[1];
umeume 5:13baaa9f5eb1 36 for(int j = 0;j <= 50; j++){
umeume 5:13baaa9f5eb1 37 bat.vol_u16(bt,&dsize[1]);
umeume 5:13baaa9f5eb1 38 xbee.putc('A');
umeume 5:13baaa9f5eb1 39 for(int k = 0; k<=3; k++) {
umeume 5:13baaa9f5eb1 40 xbee.putc(bt[k]);
umeume 5:13baaa9f5eb1 41 }
umeume 5:13baaa9f5eb1 42 xbee.printf("\n");
umeume 5:13baaa9f5eb1 43 wait(0.5);
umeume 5:13baaa9f5eb1 44 }
umeume 5:13baaa9f5eb1 45 break;
umeume 5:13baaa9f5eb1 46 //*/
umeume 2:1c5cdb2c3e0f 47 }
umeume 2:1c5cdb2c3e0f 48
umeume 5:13baaa9f5eb1 49 case'b': {
umeume 5:13baaa9f5eb1 50
umeume 5:13baaa9f5eb1 51 break;
umeume 5:13baaa9f5eb1 52 }//case'c'
umeume 5:13baaa9f5eb1 53
umeume 5:13baaa9f5eb1 54 case'c': {
umeume 5:13baaa9f5eb1 55
umeume 5:13baaa9f5eb1 56 break;
umeume 5:13baaa9f5eb1 57 }//case'd'
umeume 2:1c5cdb2c3e0f 58
umeume 5:13baaa9f5eb1 59 case'd': {
umeume 5:13baaa9f5eb1 60
umeume 5:13baaa9f5eb1 61 }//case'e'
umeume 2:1c5cdb2c3e0f 62
umeume 5:13baaa9f5eb1 63 case'e': {
umeume 5:13baaa9f5eb1 64 cam_gps.gps_setting();
umeume 5:13baaa9f5eb1 65 cam_gps.flushSerialBuffer();
umeume 5:13baaa9f5eb1 66
umeume 5:13baaa9f5eb1 67 break;
umeume 5:13baaa9f5eb1 68 }//case'g'
umeume 2:1c5cdb2c3e0f 69
umeume 2:1c5cdb2c3e0f 70
umeume 5:13baaa9f5eb1 71 case'f': {
umeume 5:13baaa9f5eb1 72
umeume 5:13baaa9f5eb1 73 break;
umeume 5:13baaa9f5eb1 74 }//case'l'
umeume 2:1c5cdb2c3e0f 75
umeume 5:13baaa9f5eb1 76 case'g': {
umeume 5:13baaa9f5eb1 77 // pc.printf("CAM snapshot Mode\r\n");
umeume 5:13baaa9f5eb1 78 cam_gps.Sync();
umeume 5:13baaa9f5eb1 79 cam_gps.initialize(HeptaCamera_GPS::Baud115200, HeptaCamera_GPS::JpegResolution320x240);
umeume 5:13baaa9f5eb1 80 cam_gps.test_jpeg_snapshot_picture(1);
umeume 5:13baaa9f5eb1 81 break;
umeume 5:13baaa9f5eb1 82 }//case'h'
umeume 2:1c5cdb2c3e0f 83
umeume 5:13baaa9f5eb1 84 case'h': {
umeume 5:13baaa9f5eb1 85 cam_gps.gps_setting();
umeume 5:13baaa9f5eb1 86 cam_gps.flushSerialBuffer();
umeume 5:13baaa9f5eb1 87 //pc.printf("All Transmitting Mode\r\n");
umeume 5:13baaa9f5eb1 88 //char iii = pc.getc();
umeume 5:13baaa9f5eb1 89 char gx[4],gy[4],gz[4],ax[4],ay[4],az[4],mx[4],my[4],mz[4],lad[8],log[8],height[4],bt[4],temp[4];
umeume 5:13baaa9f5eb1 90 char ddata[64];
umeume 5:13baaa9f5eb1 91 int dsize[7];
umeume 5:13baaa9f5eb1 92 int Count = 0;
umeume 5:13baaa9f5eb1 93 char fname[64];
umeume 5:13baaa9f5eb1 94 while(1) {
umeume 5:13baaa9f5eb1 95 snprintf(fname, sizeof(fname), "/fs/telemetry.txt");
umeume 5:13baaa9f5eb1 96 FILE*fpx = fopen(fname, "a");
umeume 5:13baaa9f5eb1 97 _9axis.sen_gyro_u16(gx,gy,gz,&dsize[0]);
umeume 5:13baaa9f5eb1 98 _9axis.sen_acc_u16(ax,ay,az,&dsize[1]);
umeume 5:13baaa9f5eb1 99 _9axis.sen_mag_u16(mx,my,mz,&dsize[2]);
umeume 5:13baaa9f5eb1 100 bat.vol_u16(bt,&dsize[5]);
umeume 5:13baaa9f5eb1 101 heptatemp.temp_sense_u16(temp,&dsize[6]);
umeume 5:13baaa9f5eb1 102 cam_gps.lat_log_sensing_u16(lad,log,height,&dsize[3],&dsize[4]);
umeume 5:13baaa9f5eb1 103 //xbee.printf("DN:%d",Count);
umeume 5:13baaa9f5eb1 104 xbee.putc('H');
umeume 5:13baaa9f5eb1 105 xbee.xbee_transmit(ddata,64,gx,gy,gz,ax,ay,az,mx,my,mz,lad,log,height,bt,temp,dsize[0],dsize[0],dsize[0],dsize[1],dsize[1],dsize[1],dsize[2],dsize[2],dsize[2],dsize[3],dsize[3],dsize[4],dsize[5],dsize[6],14);
umeume 5:13baaa9f5eb1 106 fprintf(fpx,"DN%d:",Count);
umeume 5:13baaa9f5eb1 107 for(int ii = 0; ii<64; ii++) {
umeume 5:13baaa9f5eb1 108 fprintf(fpx,"%c",ddata[ii]);
umeume 2:1c5cdb2c3e0f 109 }
umeume 5:13baaa9f5eb1 110 fprintf(fpx,"\r\n");
umeume 5:13baaa9f5eb1 111 fclose(fpx);
umeume 5:13baaa9f5eb1 112 Count++;
umeume 2:1c5cdb2c3e0f 113 }
umeume 5:13baaa9f5eb1 114 break;
umeume 5:13baaa9f5eb1 115 }//case'9'
umeume 2:1c5cdb2c3e0f 116
umeume 5:13baaa9f5eb1 117 default:
umeume 5:13baaa9f5eb1 118 break;
umeume 2:1c5cdb2c3e0f 119
umeume 2:1c5cdb2c3e0f 120
umeume 5:13baaa9f5eb1 121 }//switch
umeume 5:13baaa9f5eb1 122 xbee.initialize();
umeume 5:13baaa9f5eb1 123 }//if(cmdflag)
umeume 5:13baaa9f5eb1 124 }//while
umeume 5:13baaa9f5eb1 125 }//main