Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: EthernetInterface SDFileSystem mbed-rtos mbed
file_manager.cpp@1:58d2021e301d, 2016-12-05 (annotated)
- Committer:
- micbio
- Date:
- Mon Dec 05 01:07:30 2016 +0000
- Revision:
- 1:58d2021e301d
- Child:
- 2:e699312248f3
aa
Who changed what in which revision?
| User | Revision | Line number | New 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 | } |