test
Dependencies: SDFileSystem TextLCD mbed
Fork of A_BJ_FRDMK64_SDCard_LCD by
Revision 0:5a5a9b0a96db, committed 2018-01-11
- Comitter:
- bjadhav76
- Date:
- Thu Jan 11 07:12:32 2018 +0000
- Commit message:
- test
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SDFileSystem.lib Thu Jan 11 07:12:32 2018 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/SDFileSystem/#8db0d3b02cec
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TextLCD.lib Thu Jan 11 07:12:32 2018 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/simon/code/TextLCD/#308d188a2d3a
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Thu Jan 11 07:12:32 2018 +0000 @@ -0,0 +1,198 @@ +#include "mbed.h" +#include "SDFileSystem.h" +#include "TextLCD.h" + +SDFileSystem sd(PTE3, PTE1, PTE2, PTE4, "sd"); // MOSI, MISO, SCK, CS +Serial pc(PTC17,PTC16); +FILE *fp; + +//New Declarations +DigitalOut myled(LED1); +InterruptIn sw2(SW2); + +typedef struct temp{ + unsigned int DateTime; + float temp1; + float temp2; + float temp3; + float temp4; + char In0; + char In1; + char In2; + char In3; + char Out0; + char Out1; + char Out2; + char Out3; + }TEMP_T; +#define TARGET_K64F 1 + +#ifdef TARGET_K64F + TextLCD lcd(PTC12, PTC4, PTB23, PTA2, PTC2, PTC3); + //TextLCD lcd( PTB9, PTA1, PTB23, PTA2, PTC2, PTC3); // LCD Shield for Arduino (DFR00009) + AnalogIn button(PTB2); // board button + //PwmOut backlight(PTD0); + DigitalOut backlight(PTD0); +#endif + +void sw2_release(void) +{ + myled = !myled; + lcd.cls(); + lcd.printf("button SW2 released."); +} + + +int file_copy(const char *src, const char *dst) +{ + int retval = 0; + int ch; + int count = 0; + + + FILE *fpsrc = fopen(src, "r"); // src file + FILE *fpdst = fopen(dst, "w"); // dest file + + while (1) { // Copy src to dest + ch = fgetc(fpsrc); // until src EOF read. + if (ch == EOF) break; + fputc(ch, fpdst); + } + fclose(fpsrc); + fclose(fpdst); + + fpdst = fopen(dst, "r"); // Reopen dest to insure + if (fpdst == NULL) { // that it was created. + retval = -1; // Return error. + } else { + fclose(fpdst); + retval = 0; // Return success. + } + return retval; +} + +uint32_t do_list(const char *fsrc) +{ + DIR *d = opendir(fsrc); + struct dirent *p; + uint32_t counter = 0; + + while ((p = readdir(d)) != NULL) { + counter++; + lcd.cls(); + lcd.printf("%s\r\n", p->d_name); + wait(2); + } + closedir(d); + return counter; +} + +// bool is_folder(const char *fdir) +// { +// DIR *dir = opendir(fdir); +// if (dir) { +// closedir(dir); +// } +// return (dir != NULL); + +// } + +// bool is_file(const char *ffile) +// { +// FILE *fp = fopen(ffile, "r"); +// if (fp) { +// fclose(fp); +// } +// return (fp != NULL); +// } + +void do_remove(const char *fsrc) +{ + DIR *d = opendir(fsrc); + // uint32_t ctr = 0; + struct dirent *p = NULL; + char path[30] = {0}; + + + if( d == NULL){ + return; + } + while((p = readdir(d)) != NULL) { + strcpy(path, fsrc); + strcat(path, "/"); + strcat(path, p->d_name); + remove(path); + } + closedir(d); + remove(fsrc); +} + + #define MAX_LOG_LINES 1000 + TEMP_T tmp_m; + int curr_log_lines = 0; + + + int Add_Log_to_file(TEMP_T *tmp) + { + + fprintf(fp," %10u,%4.1f,%4.1f,%4.1f,%4.1f, %c, %c, %c, %c, %c, %c, %c, %c, \r\n",tmp->DateTime, \ + tmp->temp1, \ + tmp->temp2, \ + tmp->temp3, \ + tmp->temp4, \ + tmp->In0,\ + tmp->In1,\ + tmp->In2,\ + tmp->In3,\ + tmp->Out0,\ + tmp->Out1,\ + tmp->Out2,\ + tmp->Out3); + if (curr_log_lines > MAX_LOG_LINES ){ + fclose(fp); + wait(0.1); + fp = fopen("/sd/bmek/log.txt", "w"); + if (fp == NULL) { + pc.printf("\r\nUnable to write the file \r\n"); + return -1; + } else { + fprintf(fp, "DateTime,Temp1,Temp2,Temp3,Temp4,In0,In1,In2,Out1,Out2,Out3,Out4,,\r\n"); + } + } + + return 0; + } +int main() +{ + backlight = 1; // ON: 1, OFF: 0 + sw2.rise(&sw2_release); + lcd.cls(); + lcd.printf("HEllo B-MeK"); + wait(3.5); + pc.printf("\r\nInitializing \r\n"); + wait(2); + + + if (do_list("/sd") == 0) { + pc.printf("\r\nNo files/directories on the sd card.\r\n"); + } + + pc.printf("\r\nCreating test folder. \r\n"); + mkdir("/sd/bmek", 0777); + + + fp = fopen("/sd/bmek/log.txt", "w"); + if (fp == NULL) { + pc.printf("\r\nUnable to write the file \r\n"); + } else { + fprintf(fp, "DateTime,Temp1,Temp2,Temp3,Temp4,In0,In1,In2,Out1,Out2,Out3,Out4,,\r\n"); + Add_Log_to_file(&tmp_m); + Add_Log_to_file(&tmp_m); + wait(5); + fclose(fp); + return 1; + } + + //Display analogue and digital values on LCD + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Thu Jan 11 07:12:32 2018 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/176b8275d35d \ No newline at end of file