![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
sdcard
Dependencies: SDFileSystem mbed
Fork of rtcfinalcodeyuppie by
rtsc.cpp
- Committer:
- cholletisaik777
- Date:
- 2015-06-04
- Revision:
- 6:31a33cbe6cdb
- Parent:
- 5:3979ca24777a
File content as of revision 6:31a33cbe6cdb:
#include "rtsc.h" SPI spi(PTD6, PTD7, PTD5); //DigitalOut cs(PTD2); SDFileSystem sd(PTD6, PTD7, PTD5, PTD2,"sd"); /*void spiwrite(int a) { cs=1; cs=0; spi.write(a); spi.write(0x01); } int spiread(int a) { cs=1; cs=0; spi.write(a); return(spi.write(0x00)); } char* getname(int year1,int month1,int date1,int day1,int hours1,int minutes1,int seconds1) { year1= hexint(year1); month1=hexint(month1); date1=hexint(date1); day1=hexint(day1); hours1=hexint(hours1); minutes1=hexint(minutes1); seconds1=hexint(seconds1); char time[15]; sprintf(time,"%02d%02d%02d%02d%02d%02d%02d",year1,month1,date1,day1,hours1,minutes1,seconds1); return(time); }*/ int hexint(int a) { a=(a/16)*10+(a%16); return a; } //storedata stores the dummy structure in the file with timestamp as the filename in HK directory void storedata(void) { /*spi.format(8,3); spi.frequency(1000000); spiwrite(0x80); //write seconds to 01 spiwrite(0x81); //write minutes t0 01 spiwrite(0x82); //write hours to 01 spiwrite(0x83); //write day of week to 01 spiwrite(0x84); //write day of month to 01 spiwrite(0x85); //write month to 01 spiwrite(0x86); //write year to 01 for(int i=0;i<1000000;i++){ int seconds=spiread(0x00); //read seconds int minutes =spiread(0x01); //read minutes int hours =spiread(0x02); //read hours int day =spi.write(0x03); //read day of the week int date =spiread(0x04); //read day of the month int month =spiread(0x05); //read month int year =spiread(0x06); //read year cs = 1; */ mkdir("/sd/TIME", 0777); FILE*fp1= fopen("/sd/TIME/timer.txt", "w"); if(fp1 == NULL) { error("Could not open file for write\n"); } fclose(fp1); //Assigning dummy values to the structure for(int i=0;i<1000000;i++){ SensorData Sensor; printf("Writing dummy values\n"); strcpy( Sensor.Voltage, "49"); strcpy( Sensor.Current, "83"); Sensor.Temperature ='5'; strcpy( Sensor.PanelTemperature, "4"); Sensor.Vcell_soc='9'; Sensor.alerts= '4'; Sensor.crate='7'; Sensor.BatteryTemperature='6'; Sensor.faultpoll='4'; Sensor.faultir='g'; Sensor.power_mode='k'; strcpy( Sensor.AngularSpeed, "9"); strcpy(Sensor.Bnewvalue,"6"); printf("Done writing dummy values\n"); mkdir("/sd/hk", 0777); char date2[100]="/sd/hk/"; char str[15]; sprintf(str, "%d", i); strcat(date2,str); strcat(date2,".txt"); if(i%20==0) {FILE *fp ; Timer t1; t1.start(); fp= fopen(date2, "w"); if(fp == NULL) { error("Could not open file for write\n"); } else { int p; for(p=0;p<20;p++) {fprintf(fp, "%s -", Sensor.Voltage); fprintf(fp,"%s -",Sensor.Current); fprintf(fp,"%c -",Sensor.Temperature); fprintf(fp,"%s -",Sensor.PanelTemperature); fprintf(fp,"%c -",Sensor.Vcell_soc); //printing the contents of the strucure in a single line in the file fprintf(fp,"%c -",Sensor.alerts); fprintf(fp,"%c -",Sensor.crate); fprintf(fp,"%c -",Sensor.BatteryTemperature); fprintf(fp,"%c -",Sensor.faultpoll); fprintf(fp,"%c -",Sensor.faultir); fprintf(fp,"%c -",Sensor.power_mode); fprintf(fp,"%s -",Sensor.AngularSpeed); fprintf(fp,"%s\n",Sensor.Bnewvalue);} fclose(fp); t1.stop(); float timesd=t1.read(); printf("The time taken for writing 5 hk data was %f seconds\n", timesd); //printf("%s",getname(year,month,date,day,hours,minutes,seconds)); FILE *fp2=fopen("/sd/TIME/timer.txt", "a"); if(fp2 == NULL) { error("Could not open file for write\n"); } else { fprintf(fp2,"%f \n",timesd); } fclose(fp2); wait(3); }} }}