![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
storing variables in single array for transmission
Dependencies: SDFileSystem dspmodified mbed
Fork of FTPGET_Merged by
Diff: merged_code.cpp
- Revision:
- 23:69ac079fb31e
- Parent:
- 22:4141d6a13488
- Child:
- 24:b09a8907f7f9
--- a/merged_code.cpp Thu Jun 25 06:30:44 2015 +0000 +++ b/merged_code.cpp Fri Jun 26 11:06:54 2015 +0000 @@ -9,7 +9,8 @@ #define freq 1 #define fft_points 16384 #define dur_sec 16.384 -#define module_name "TFT2" //enter module name here +#define module_name "BHJ2" //enter module name here + Serial pc(USBTX, USBRX); Serial gsm(D1, D0); @@ -53,6 +54,7 @@ char timestamppath_old[30]=""; // For sending past hour info file char timestampname[30]=""; char timestamppath[30]=""; +char file_data[1294]; int maxfreq = 0; // For Timestamp Function int m=0,mfinal; @@ -72,6 +74,7 @@ int avg_dc_detect[2]; int avg_temp[2]; + //--------------------------------------------------------------------------------------------------// // Module reset // //--------------------------------------------------------------------------------------------------// @@ -245,7 +248,7 @@ sprintf(hour_dir,"%s/%s%02d%02d%02d%02d",date_dir,sitename,year,month,date,hour); sprintf(filepath,"%s/%s%02d%02d%02d%02d%02d%02d",hour_dir,sitename,year,month,date,hour,minute,second); sprintf(filename,"%s%02d%02d%02d%02d%02d%02d",sitename,year,month,date,hour,minute,second); - sprintf(ftpputpathname,"%s/%02d%02d/%02d/%02d",module_name,year,month,date,hour); // For FTPPUTPATHNAME feature + sprintf(ftpputpathname,"%s/%02d/%02d/%02d/%02d",module_name,year,month,date,hour); // For FTPPUTPATHNAME feature //pc.printf("Ftpputpathname is %s\r\n",ftpputpathname); // For FTPPUTPATHNAME feature gsmerr=0; mkdir(main_dir,0777); @@ -428,7 +431,7 @@ // FFT Array Prepare // //--------------------------------------------------------------------------------------------------// -void prepare_fft_array(int* start_index, int* points_count, int* maximas_required, int segments, int fft_type) +int prepare_fft_array(int* start_index, int* points_count, int* maximas_required, int segments, int fft_type,int count) { int max_points_count=0; for (int i=0; i<segments; i++) @@ -443,30 +446,86 @@ fft_max(start_index[i],points_count[i],maximas_required[i],&index[j],&maxima[j]); j=j+maximas_required[i]; } + + char inde[4]=""; + char maxim[9]=""; + pc.printf("count id=%d",count); + FILE *fp = fopen(pathfft, "a"); + if(fp == NULL) { - pc.printf("Could not open file for write\n\r"); + pc.printf("\r\n Could not open file for write\n\r"); mkdir("/sd/jas",0777); //reset_mod(); } else { //fprintf(fp, "\r\n%s",timestamp); + for(int i=0; i<max_points_count; i++) { fprintf(fp,"\n%d %d",index[i], int(maxima[i])); //pc.printf("\r\n %d %d",index[i], int(maxima[i])); + + pc.printf("\r\n index[i] is=%d %.f",index[i],maxima[i]); + + sprintf(inde,"%d",index[i]); + + int length=0; + length=strlen(inde); + //pc.printf("\r\n length of inde=%d",length); + + for(j=0;j<length;j++) + { + if(j!=0) + { + file_data[count]=inde[j]; + count++; + } + } + strcat(file_data," "); + count++; + + length=0; + sprintf(maxim,"%f",maxima[i]); + pc.printf("\r\n maxim is=%s",maxim); + length=strlen(maxim); + pc.printf("\r\n length of maxim=%d",length); + + for(j=0;j<length;j++) + { + if(j!=0) + { + file_data[count]=maxim[j]; + //pc.printf("\r\nmaxim is=%s",maxim[j]); + count++; + } + } + strcat(file_data,"\r\n"); + count=count+2; + } + //pc.printf("\r\n file_data in fft points is=%s",file_data); + + if(fft_type==0) { fprintf(fp,"\r\n\r\n"); maxfreq= index[1]; + + strcat(file_data,"\n"); + count++; + + } else fprintf(fp,"\r\nEOF"); fclose(fp); + pc.printf("\r\n count before return is=%d",count); + return count; } + } //--------------------------------------------------------------------------------------------------// // Remove File from Directory // @@ -543,30 +602,7 @@ fprintf(fp, "EOF"); fclose(fp); } -//Rushabh: DCD storage deemed unnecessary as avg values stored twice -/* DC Detect storage - sprintf(pathDCdetect,"%sData.txt",hour_dir); - //pc.printf("\r\nFilename-DCD\t%s", pathDCdetect); - fp = fopen(pathDCdetect, "w"); - if(fp == NULL) - { - //pc.printf("Could not open file for write\n\r"); - //reset_mod(); - } - else - { - fprintf(fp, "\r\n%s",time_stamp); - for(int k=0; k<10; k++) - { - fprintf(fp, "\r\nDC-%d",DC_Detect_data[k]); - } - fclose(fp); - } -*/ - -//FFT starts - //pc.printf("\r\nfftstart"); - //pc.printf("\r\nfftstage1"); + sprintf(filenamefft,"%sft.txt",filename); //sprintf(ftp_timestamp,"%s",filename); // For FTP Timestamp sprintf(pathfft,"%sft.txt",filepath); @@ -595,7 +631,43 @@ { AC_rms_value=AC_rms_value+((AC_mean_value-fft_array[i])*(AC_mean_value-fft_array[i])/10000); } -//FFT file write + + + int count=0; + for (int i=0; i<12; i++) + { + file_data[i]= time_stamp[i]; + count=count+1; + } + strcat(file_data,"\r\n"); + count=count+2; + + char AC_rms[10]; + sprintf(AC_rms," %.0f",AC_rms_value); + pc.printf("\r\n AC_rms is=%.f",AC_rms); + + int length=0; + length=strlen(AC_rms); + length=length; + pc.printf("\r\n length=%d",length); + + + for (int i=0; i<length; i++) + { + if(i!=0) + { + file_data[count]= AC_rms[i]; + count++; + } + + } + strcat(file_data,"\r\n"); + count=count+2; + + pc.printf("\r\nfile_data is=%s",file_data); + + +//FFT file write fp = fopen(pathfft, "w"); //pc.printf("\r\nopened path fft\r\n"); if(fp == NULL) @@ -613,10 +685,13 @@ fprintf(fp, " %.0f",AC_rms_value); fclose(fp); } + fft(fft_points,0,1,1); maxfreq=0; - prepare_fft_array(fft_start_index,fft_points_count,fft_maximas_required,fft_segments,0); - + int X; + X= prepare_fft_array(fft_start_index,fft_points_count,fft_maximas_required,fft_segments,0,count); + pc.printf("x is=%s",X); + //TIME STAMP FILE WRITE FUNCTION if(gsmerr==0) { @@ -675,7 +750,40 @@ } fft(fft_points,0,1,1); - prepare_fft_array(fft_start_index,fft_points_count,fft_maximas_required,fft_segments,1); + prepare_fft_array(fft_start_index,fft_points_count,fft_maximas_required,fft_segments,1,count); + + + char avg_dc_detect1[10]=""; + char avg_dc_detect2[10]=""; + char avg_temp1[10]=""; + char avg_temp2[10]=""; + + char DC_rms[10]=""; + + //sprintf(avg_dc_detect1,"%d\r\n",avg_dc_detect[0]); + //sprintf(avg_dc_detect2,"%d\r\n",avg_dc_detect[1]); + //sprintf(avg_temp1,"%d\r\n",avg_temp[0]); + //sprintf(avg_temp2,"%d\r\n",avg_temp[1]); + + sprintf(DC_rms," %.0f\r\n",DC_rms_value); + length=0; + length=strlen(DC_rms); + length=length-2; + pc.printf("\r\nlength=%d",length); + + pc.printf("\r\n DC_rms_value is=%.f\n",DC_rms_value); + + for (int i=0; i<length; i++) + { + + if(i!=0) + { + file_data[count]= DC_rms[i]; + count=count+1; + } + + } + pc.printf("\r\n file_data is=%s\n",file_data); } //--------------------------------------------------------------------------------------------------// @@ -737,11 +845,11 @@ wait(3); if(sendATcommand("AT+FTPTYPE=\"I\"", "OK", 5,0)) { - if(sendATcommand("AT+FTPSERV=\"ftp.panchsheel.biz\"", "OK", 10,0)) + if(sendATcommand("AT+FTPSERV=\"ftp.magnetsnmiracles.com\"", "OK", 10,0)) { - if(sendATcommand("AT+FTPUN=\"hardware@panchsheel.biz\"", "OK\r", 10,0)) + if(sendATcommand("AT+FTPUN=\"rjsmstrial@magnetsnmiracles.com\"", "OK\r", 10,0)) { - if(sendATcommand("AT+FTPPW=\"DAStest123\"", "OK\r", 10,0)) return 1; + if(sendATcommand("AT+FTPPW=\"Krliu@3i\"", "OK\r", 10,0)) return 1; } } } @@ -782,14 +890,17 @@ char result1[20]; char command2 [100]; //char result2 [20]; + + //pc.printf("\n file_data is=%s\n",file_data); sprintf(command1,"%s\"%s\"", "AT+FTPPUTNAME=", ftpfilename); sprintf(result1,"%s", "OK"); - pc.printf("ftpfilepath is \n\r %s \n\r",ftpfilepath); + //pc.printf("ftpfilepath is \n\r %s \n\r",ftpfilepath); + int char_cnt=500; + //int char_cnt=sizeof(file_data); - //sd card - int char_cnt=0; - char file_data[1294]; + + /* FILE *fp8 = fopen(ftpfilepath, "r"); if(fp8==NULL) { @@ -808,7 +919,8 @@ } }//size calculation loop ends fclose(fp8); - } + }*/ + for(int putname_attempt=0; putname_attempt<2; putname_attempt++) { //pc.printf("\r\nftp_put attempt\n\r");