vr1.1
Dependencies: FreescaleIAP mbed-rtos mbed
Fork of CDMS_RTOS_v1_1 by
Revision 4:cc85cfaa2086, committed 2015-06-16
- Comitter:
- cholletisaik777
- Date:
- Tue Jun 16 13:06:19 2015 +0000
- Parent:
- 3:0c3f7c3fabc9
- Child:
- 5:c77b49508927
- Commit message:
- WROTE SD FUNCTION
Changed in this revision
--- a/SDCard.cpp Tue Jun 16 09:04:53 2015 +0000 +++ b/SDCard.cpp Tue Jun 16 13:06:19 2015 +0000 @@ -6,8 +6,15 @@ int count_bro; int cdv; +uint64_t sectors; -uint64_t sectors; +int *FUNC_INIT_SD() +{ + int sd_response[2] = {initialise_card(),disk_initialize()}; + return sd_response; +} + + int initialise_card() { // Set to 100kHz for initialisation, and clock card with cs_SD = 1 spi_SD.frequency(100000); @@ -288,7 +295,7 @@ return 0; } -int disk_write(const uint8_t *buffer, uint64_t block_number) +int FUNC_WR_SD(const uint8_t *buffer, uint64_t block_number) { // set write address for single block (CMD24) @@ -332,7 +339,7 @@ return 0; } -int disk_read(uint8_t *buffer, uint64_t block_number) { +int FUNC_RD_SD(uint8_t *buffer, uint64_t block_number) { // set read address for single block (CMD17) if (cmd(17, block_number * cdv) != 0) { return 1;
--- a/SDCard.h Tue Jun 16 09:04:53 2015 +0000 +++ b/SDCard.h Tue Jun 16 13:06:19 2015 +0000 @@ -19,12 +19,13 @@ int initialise_card_v1(); int initialise_card_v2(); int disk_initialize(); -int disk_write(const uint8_t *, uint64_t); -int disk_read(uint8_t *, uint64_t); +int FUNC_WR_SD(const uint8_t *, uint64_t); +int FUNC_RD_SD(uint8_t *, uint64_t); int cmd(int, int); int cmd58(); int cmdx(int, int); int cmd8(); +int *FUNC_INIT_SD(); uint64_t sd_sectors();
--- a/TC.cpp Tue Jun 16 09:04:53 2015 +0000 +++ b/TC.cpp Tue Jun 16 13:06:19 2015 +0000 @@ -408,25 +408,18 @@ { sc.printf("%d\r\r\n",telemetry_type2[i]); } - - for(int i=11;i<13;i++){ + for(int i=11;i<13;i++){ telemetry_type2[i]=crc_tm[i-11]; - } - for(int i=0;i<13;i++) - { sd_data[i]=telemetry_type2[i];} - initialise_card(); - int result= initialise_card(); - printf("initialise card result=%d\r\n",result); - disk_initialize(); + } + for(int i=0;i<13;i++) + sd_data[i]=telemetry_type2[i]; for(int i=13;i<512;i++) - { sd_data[i]='f';} - disk_write(sd_data, 1); - disk_read(sd_read_data,1); + sd_data[i]='f'; + FUNC_WR_SD(sd_data, 1); + FUNC_RD_SD(sd_read_data,1); sc.printf("data read from sd card\r\r\n"); for(int i=0;i<512;i++) - sc.printf("%d ",sd_read_data[i]); - TM_SD_BLOCK_NUMBER++; - + sc.printf("%d ",sd_read_data[i]); } else if((appdata[0]&0xF0)==0xF0){ sc.printf("SD_MNGR\r\r\n"); //tm is func_mngmt_service_tm
--- a/main.cpp Tue Jun 16 09:04:53 2015 +0000 +++ b/main.cpp Tue Jun 16 13:06:19 2015 +0000 @@ -2,6 +2,7 @@ #include "rtos.h" #include "func_head.h" #include "i2c.h" +#include "SDCard.h" Serial pc(USBTX,USBRX); @@ -96,6 +97,7 @@ pl_spi.frequency(1000000); FUNC_INIT_RTC(); + int *status_sd = FUNC_INIT_SD(); while(1); } \ No newline at end of file