sdcard

Dependencies:   SDFileSystem mbed

Fork of rtcfinalcodeyuppie by Pradeep Kotipalli

Committer:
cholletisaik777
Date:
Thu Jun 04 10:46:25 2015 +0000
Revision:
6:31a33cbe6cdb
Parent:
5:3979ca24777a
sd card

Who changed what in which revision?

UserRevisionLine numberNew contents of line
pradeepvk2208 3:6cde88f8c50f 1 #include "rtsc.h"
pradeepvk2208 3:6cde88f8c50f 2 SPI spi(PTD6, PTD7, PTD5);
cholletisaik777 6:31a33cbe6cdb 3 //DigitalOut cs(PTD2);
pradeepvk2208 3:6cde88f8c50f 4
cholletisaik777 6:31a33cbe6cdb 5 SDFileSystem sd(PTD6, PTD7, PTD5, PTD2,"sd");
pradeepvk2208 4:374c51671a69 6
cholletisaik777 6:31a33cbe6cdb 7 /*void spiwrite(int a)
pradeepvk2208 3:6cde88f8c50f 8 {
pradeepvk2208 3:6cde88f8c50f 9 cs=1;
pradeepvk2208 3:6cde88f8c50f 10 cs=0;
pradeepvk2208 3:6cde88f8c50f 11 spi.write(a);
pradeepvk2208 3:6cde88f8c50f 12 spi.write(0x01);
pradeepvk2208 3:6cde88f8c50f 13 }
pradeepvk2208 3:6cde88f8c50f 14
pradeepvk2208 3:6cde88f8c50f 15 int spiread(int a)
pradeepvk2208 3:6cde88f8c50f 16 {
pradeepvk2208 3:6cde88f8c50f 17 cs=1;
pradeepvk2208 3:6cde88f8c50f 18 cs=0;
pradeepvk2208 3:6cde88f8c50f 19 spi.write(a);
pradeepvk2208 3:6cde88f8c50f 20 return(spi.write(0x00));
pradeepvk2208 3:6cde88f8c50f 21 }
pradeepvk2208 3:6cde88f8c50f 22 char* getname(int year1,int month1,int date1,int day1,int hours1,int minutes1,int seconds1)
pradeepvk2208 3:6cde88f8c50f 23 {
pradeepvk2208 3:6cde88f8c50f 24 year1= hexint(year1);
pradeepvk2208 3:6cde88f8c50f 25 month1=hexint(month1);
pradeepvk2208 3:6cde88f8c50f 26 date1=hexint(date1);
pradeepvk2208 3:6cde88f8c50f 27 day1=hexint(day1);
pradeepvk2208 3:6cde88f8c50f 28 hours1=hexint(hours1);
pradeepvk2208 3:6cde88f8c50f 29 minutes1=hexint(minutes1);
pradeepvk2208 3:6cde88f8c50f 30 seconds1=hexint(seconds1);
pradeepvk2208 3:6cde88f8c50f 31 char time[15];
pradeepvk2208 4:374c51671a69 32 sprintf(time,"%02d%02d%02d%02d%02d%02d%02d",year1,month1,date1,day1,hours1,minutes1,seconds1);
pradeepvk2208 5:3979ca24777a 33
pradeepvk2208 3:6cde88f8c50f 34 return(time);
pradeepvk2208 3:6cde88f8c50f 35
cholletisaik777 6:31a33cbe6cdb 36 }*/
pradeepvk2208 3:6cde88f8c50f 37
pradeepvk2208 3:6cde88f8c50f 38 int hexint(int a)
pradeepvk2208 3:6cde88f8c50f 39 {
pradeepvk2208 3:6cde88f8c50f 40 a=(a/16)*10+(a%16);
pradeepvk2208 3:6cde88f8c50f 41 return a;
pradeepvk2208 3:6cde88f8c50f 42 }
pradeepvk2208 5:3979ca24777a 43 //storedata stores the dummy structure in the file with timestamp as the filename in HK directory
pradeepvk2208 5:3979ca24777a 44 void storedata(void)
pradeepvk2208 3:6cde88f8c50f 45 {
cholletisaik777 6:31a33cbe6cdb 46 /*spi.format(8,3);
pradeepvk2208 3:6cde88f8c50f 47 spi.frequency(1000000);
pradeepvk2208 5:3979ca24777a 48 spiwrite(0x80); //write seconds to 01
pradeepvk2208 5:3979ca24777a 49 spiwrite(0x81); //write minutes t0 01
pradeepvk2208 5:3979ca24777a 50 spiwrite(0x82); //write hours to 01
pradeepvk2208 5:3979ca24777a 51 spiwrite(0x83); //write day of week to 01
pradeepvk2208 5:3979ca24777a 52 spiwrite(0x84); //write day of month to 01
pradeepvk2208 5:3979ca24777a 53 spiwrite(0x85); //write month to 01
pradeepvk2208 5:3979ca24777a 54 spiwrite(0x86); //write year to 01
pradeepvk2208 3:6cde88f8c50f 55 for(int i=0;i<1000000;i++){
pradeepvk2208 5:3979ca24777a 56 int seconds=spiread(0x00); //read seconds
pradeepvk2208 5:3979ca24777a 57 int minutes =spiread(0x01); //read minutes
pradeepvk2208 5:3979ca24777a 58 int hours =spiread(0x02); //read hours
pradeepvk2208 5:3979ca24777a 59 int day =spi.write(0x03); //read day of the week
pradeepvk2208 5:3979ca24777a 60 int date =spiread(0x04); //read day of the month
pradeepvk2208 5:3979ca24777a 61 int month =spiread(0x05); //read month
pradeepvk2208 5:3979ca24777a 62 int year =spiread(0x06); //read year
cholletisaik777 6:31a33cbe6cdb 63 cs = 1; */
cholletisaik777 6:31a33cbe6cdb 64
cholletisaik777 6:31a33cbe6cdb 65
cholletisaik777 6:31a33cbe6cdb 66 mkdir("/sd/TIME", 0777);
cholletisaik777 6:31a33cbe6cdb 67 FILE*fp1= fopen("/sd/TIME/timer.txt", "w");
cholletisaik777 6:31a33cbe6cdb 68 if(fp1 == NULL) {
cholletisaik777 6:31a33cbe6cdb 69 error("Could not open file for write\n");
cholletisaik777 6:31a33cbe6cdb 70 }
cholletisaik777 6:31a33cbe6cdb 71 fclose(fp1);
pradeepvk2208 3:6cde88f8c50f 72
pradeepvk2208 5:3979ca24777a 73 //Assigning dummy values to the structure
cholletisaik777 6:31a33cbe6cdb 74 for(int i=0;i<1000000;i++){
pradeepvk2208 4:374c51671a69 75 SensorData Sensor;
pradeepvk2208 4:374c51671a69 76
pradeepvk2208 4:374c51671a69 77 printf("Writing dummy values\n");
pradeepvk2208 4:374c51671a69 78 strcpy( Sensor.Voltage, "49");
pradeepvk2208 4:374c51671a69 79 strcpy( Sensor.Current, "83");
pradeepvk2208 5:3979ca24777a 80 Sensor.Temperature ='5';
pradeepvk2208 5:3979ca24777a 81 strcpy( Sensor.PanelTemperature, "4");
pradeepvk2208 4:374c51671a69 82 Sensor.Vcell_soc='9';
pradeepvk2208 4:374c51671a69 83 Sensor.alerts= '4';
pradeepvk2208 4:374c51671a69 84 Sensor.crate='7';
pradeepvk2208 4:374c51671a69 85 Sensor.BatteryTemperature='6';
pradeepvk2208 4:374c51671a69 86 Sensor.faultpoll='4';
pradeepvk2208 4:374c51671a69 87 Sensor.faultir='g';
pradeepvk2208 4:374c51671a69 88 Sensor.power_mode='k';
pradeepvk2208 5:3979ca24777a 89 strcpy( Sensor.AngularSpeed, "9");
pradeepvk2208 5:3979ca24777a 90 strcpy(Sensor.Bnewvalue,"6");
pradeepvk2208 4:374c51671a69 91 printf("Done writing dummy values\n");
pradeepvk2208 4:374c51671a69 92 mkdir("/sd/hk", 0777);
pradeepvk2208 4:374c51671a69 93 char date2[100]="/sd/hk/";
cholletisaik777 6:31a33cbe6cdb 94 char str[15];
cholletisaik777 6:31a33cbe6cdb 95 sprintf(str, "%d", i);
cholletisaik777 6:31a33cbe6cdb 96 strcat(date2,str);
pradeepvk2208 4:374c51671a69 97 strcat(date2,".txt");
cholletisaik777 6:31a33cbe6cdb 98
cholletisaik777 6:31a33cbe6cdb 99 if(i%20==0)
cholletisaik777 6:31a33cbe6cdb 100 {FILE *fp ;
cholletisaik777 6:31a33cbe6cdb 101 Timer t1;
cholletisaik777 6:31a33cbe6cdb 102 t1.start();
pradeepvk2208 4:374c51671a69 103 fp= fopen(date2, "w");
pradeepvk2208 4:374c51671a69 104 if(fp == NULL) {
pradeepvk2208 4:374c51671a69 105 error("Could not open file for write\n");
pradeepvk2208 3:6cde88f8c50f 106 }
pradeepvk2208 4:374c51671a69 107 else
pradeepvk2208 4:374c51671a69 108 {
cholletisaik777 6:31a33cbe6cdb 109 int p;
cholletisaik777 6:31a33cbe6cdb 110 for(p=0;p<20;p++)
cholletisaik777 6:31a33cbe6cdb 111 {fprintf(fp, "%s -", Sensor.Voltage);
pradeepvk2208 5:3979ca24777a 112 fprintf(fp,"%s -",Sensor.Current);
pradeepvk2208 5:3979ca24777a 113 fprintf(fp,"%c -",Sensor.Temperature);
pradeepvk2208 5:3979ca24777a 114 fprintf(fp,"%s -",Sensor.PanelTemperature);
pradeepvk2208 5:3979ca24777a 115 fprintf(fp,"%c -",Sensor.Vcell_soc); //printing the contents of the strucure in a single line in the file
pradeepvk2208 5:3979ca24777a 116 fprintf(fp,"%c -",Sensor.alerts);
pradeepvk2208 5:3979ca24777a 117 fprintf(fp,"%c -",Sensor.crate);
pradeepvk2208 5:3979ca24777a 118 fprintf(fp,"%c -",Sensor.BatteryTemperature);
pradeepvk2208 5:3979ca24777a 119 fprintf(fp,"%c -",Sensor.faultpoll);
pradeepvk2208 5:3979ca24777a 120 fprintf(fp,"%c -",Sensor.faultir);
pradeepvk2208 5:3979ca24777a 121 fprintf(fp,"%c -",Sensor.power_mode);
pradeepvk2208 5:3979ca24777a 122 fprintf(fp,"%s -",Sensor.AngularSpeed);
cholletisaik777 6:31a33cbe6cdb 123 fprintf(fp,"%s\n",Sensor.Bnewvalue);}
pradeepvk2208 4:374c51671a69 124 fclose(fp);
cholletisaik777 6:31a33cbe6cdb 125 t1.stop();
cholletisaik777 6:31a33cbe6cdb 126 float timesd=t1.read();
cholletisaik777 6:31a33cbe6cdb 127 printf("The time taken for writing 5 hk data was %f seconds\n", timesd);
cholletisaik777 6:31a33cbe6cdb 128 //printf("%s",getname(year,month,date,day,hours,minutes,seconds));
cholletisaik777 6:31a33cbe6cdb 129 FILE *fp2=fopen("/sd/TIME/timer.txt", "a");
cholletisaik777 6:31a33cbe6cdb 130 if(fp2 == NULL) {
cholletisaik777 6:31a33cbe6cdb 131 error("Could not open file for write\n");
cholletisaik777 6:31a33cbe6cdb 132 }
cholletisaik777 6:31a33cbe6cdb 133 else
cholletisaik777 6:31a33cbe6cdb 134 {
cholletisaik777 6:31a33cbe6cdb 135 fprintf(fp2,"%f \n",timesd);
cholletisaik777 6:31a33cbe6cdb 136
cholletisaik777 6:31a33cbe6cdb 137 }
cholletisaik777 6:31a33cbe6cdb 138 fclose(fp2);
cholletisaik777 6:31a33cbe6cdb 139 wait(3);
pradeepvk2208 5:3979ca24777a 140
pradeepvk2208 5:3979ca24777a 141
cholletisaik777 6:31a33cbe6cdb 142 }}
pradeepvk2208 4:374c51671a69 143 }}