Michał Biolik / Mbed 2 deprecated SD_TUT

Dependencies:   EthernetInterface SDFileSystem mbed-rtos mbed

Committer:
micbio
Date:
Mon Dec 05 01:07:30 2016 +0000
Revision:
1:58d2021e301d
Child:
2:e699312248f3
aa

Who changed what in which revision?

UserRevisionLine numberNew contents of line
micbio 1:58d2021e301d 1 #include "file_manager.hpp"
micbio 1:58d2021e301d 2
micbio 1:58d2021e301d 3 extern Serial pc;
micbio 1:58d2021e301d 4
micbio 1:58d2021e301d 5 void file_manager::print_files(void)
micbio 1:58d2021e301d 6 {
micbio 1:58d2021e301d 7 pc.printf("1. %s\n", path_sisk);
micbio 1:58d2021e301d 8 pc.printf("2. %s\n", path_agh);
micbio 1:58d2021e301d 9 pc.printf("3. %s\n", path_krk);
micbio 1:58d2021e301d 10 }
micbio 1:58d2021e301d 11
micbio 1:58d2021e301d 12 void file_manager::get_string(void)
micbio 1:58d2021e301d 13 {
micbio 1:58d2021e301d 14 // char * p_my_//cmd = p_cmd;
micbio 1:58d2021e301d 15 // uint8_t char_counter = 0;
micbio 1:58d2021e301d 16 // static char byte_received;
micbio 1:58d2021e301d 17 //
micbio 1:58d2021e301d 18 // do
micbio 1:58d2021e301d 19 // {
micbio 1:58d2021e301d 20 // byte_received = pc.getc();
micbio 1:58d2021e301d 21 // *p_my_cmd = byte_received;
micbio 1:58d2021e301d 22 // p_my_cmd++;
micbio 1:58d2021e301d 23 // char_counter++;
micbio 1:58d2021e301d 24 // if (char_counter >= CMD_LENGTH)
micbio 1:58d2021e301d 25 // {
micbio 1:58d2021e301d 26 // break; // CMD length reached max length.
micbio 1:58d2021e301d 27 // }
micbio 1:58d2021e301d 28 // pc.putc(byte_received);
micbio 1:58d2021e301d 29 // for (int i = 0; i < len; i++)
micbio 1:58d2021e301d 30 // {
micbio 1:58d2021e301d 31 // pc.putc(*(p_cmd + i));
micbio 1:58d2021e301d 32 // }
micbio 1:58d2021e301d 33 // }while(byte_received != '\r');
micbio 1:58d2021e301d 34 //
micbio 1:58d2021e301d 35 // len = char_counter;
micbio 1:58d2021e301d 36 //
micbio 1:58d2021e301d 37 // pc.printf("\r\n");
micbio 1:58d2021e301d 38 // pc.putc('Y');
micbio 1:58d2021e301d 39 }
micbio 1:58d2021e301d 40
micbio 1:58d2021e301d 41 void file_manager::get_path(void)
micbio 1:58d2021e301d 42 {
micbio 1:58d2021e301d 43 pc.printf("Current file to write to is: %s.\n", current_path);
micbio 1:58d2021e301d 44 }
micbio 1:58d2021e301d 45
micbio 1:58d2021e301d 46 void file_manager::set_path(void)
micbio 1:58d2021e301d 47 {
micbio 1:58d2021e301d 48 char number;
micbio 1:58d2021e301d 49 bool correct_number = false;
micbio 1:58d2021e301d 50
micbio 1:58d2021e301d 51 if (fp != NULL)
micbio 1:58d2021e301d 52 {
micbio 1:58d2021e301d 53 pc.printf("First close the file!\n");
micbio 1:58d2021e301d 54 return;
micbio 1:58d2021e301d 55 }
micbio 1:58d2021e301d 56
micbio 1:58d2021e301d 57 this->get_path();
micbio 1:58d2021e301d 58 pc.printf("Write the number of new file to write to. \n");
micbio 1:58d2021e301d 59 this->print_files();
micbio 1:58d2021e301d 60
micbio 1:58d2021e301d 61 do
micbio 1:58d2021e301d 62 {
micbio 1:58d2021e301d 63 correct_number = true;
micbio 1:58d2021e301d 64 number = pc.getc();
micbio 1:58d2021e301d 65 switch(number)
micbio 1:58d2021e301d 66 {
micbio 1:58d2021e301d 67 case '1':
micbio 1:58d2021e301d 68 current_path = path_sisk;
micbio 1:58d2021e301d 69 break;
micbio 1:58d2021e301d 70 case '2':
micbio 1:58d2021e301d 71 current_path = path_agh;
micbio 1:58d2021e301d 72 break;
micbio 1:58d2021e301d 73 case '3':
micbio 1:58d2021e301d 74 current_path = path_krk;
micbio 1:58d2021e301d 75 break;
micbio 1:58d2021e301d 76 default:
micbio 1:58d2021e301d 77 pc.printf("Incorrect number, try again.\n");
micbio 1:58d2021e301d 78 correct_number = false;
micbio 1:58d2021e301d 79 }
micbio 1:58d2021e301d 80 }while(!correct_number);
micbio 1:58d2021e301d 81
micbio 1:58d2021e301d 82 pc.printf("Setting path to: %s.\n", current_path);
micbio 1:58d2021e301d 83 }
micbio 1:58d2021e301d 84
micbio 1:58d2021e301d 85 bool file_manager::open_file(char option)
micbio 1:58d2021e301d 86 {
micbio 1:58d2021e301d 87 if (fp != NULL)
micbio 1:58d2021e301d 88 {
micbio 1:58d2021e301d 89 pc.printf("File already opened!\n");
micbio 1:58d2021e301d 90 return false;
micbio 1:58d2021e301d 91 }
micbio 1:58d2021e301d 92
micbio 1:58d2021e301d 93 fp = fopen("/a.txt", "w");
micbio 1:58d2021e301d 94
micbio 1:58d2021e301d 95 if (fp != NULL)
micbio 1:58d2021e301d 96 {
micbio 1:58d2021e301d 97 pc.printf("Opened file: %s.\n", this->current_path);
micbio 1:58d2021e301d 98 }
micbio 1:58d2021e301d 99
micbio 1:58d2021e301d 100 return true;
micbio 1:58d2021e301d 101 }
micbio 1:58d2021e301d 102
micbio 1:58d2021e301d 103 bool file_manager::close_file(void)
micbio 1:58d2021e301d 104 {
micbio 1:58d2021e301d 105 if (fp == NULL)
micbio 1:58d2021e301d 106 {
micbio 1:58d2021e301d 107 pc.printf("File already closed!\n");
micbio 1:58d2021e301d 108 return false;
micbio 1:58d2021e301d 109 }
micbio 1:58d2021e301d 110
micbio 1:58d2021e301d 111 fclose(fp);
micbio 1:58d2021e301d 112
micbio 1:58d2021e301d 113 fp = NULL;
micbio 1:58d2021e301d 114
micbio 1:58d2021e301d 115 return true;
micbio 1:58d2021e301d 116 }
micbio 1:58d2021e301d 117
micbio 1:58d2021e301d 118 void file_manager::write_to_file(void)
micbio 1:58d2021e301d 119 {
micbio 1:58d2021e301d 120 this->open_file('w');
micbio 1:58d2021e301d 121
micbio 1:58d2021e301d 122
micbio 1:58d2021e301d 123
micbio 1:58d2021e301d 124 this->close_file();
micbio 1:58d2021e301d 125 }
micbio 1:58d2021e301d 126
micbio 1:58d2021e301d 127
micbio 1:58d2021e301d 128 void file_manager::append_to_file(void)
micbio 1:58d2021e301d 129 {
micbio 1:58d2021e301d 130 this->open_file('a');
micbio 1:58d2021e301d 131
micbio 1:58d2021e301d 132
micbio 1:58d2021e301d 133
micbio 1:58d2021e301d 134 this->close_file();
micbio 1:58d2021e301d 135 }