More HACMan stuff

Dependencies:   FatFileSystem SDFileSystem mbed

Committer:
TBSliver
Date:
Thu Jun 11 13:49:01 2015 +0000
Revision:
0:f433ff34d66b
Initial no idea whats here commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
TBSliver 0:f433ff34d66b 1 #include "txtFile.h"
TBSliver 0:f433ff34d66b 2
TBSliver 0:f433ff34d66b 3 /**
TBSliver 0:f433ff34d66b 4 * Constructor when called opens a file
TBSliver 0:f433ff34d66b 5 *
TBSliver 0:f433ff34d66b 6 * @param fileAddr
TBSliver 0:f433ff34d66b 7 * the address of the file, either local, sd or whatever
TBSliver 0:f433ff34d66b 8 * @param readWrite
TBSliver 0:f433ff34d66b 9 * whether reading or writing to the file
TBSliver 0:f433ff34d66b 10 */
TBSliver 0:f433ff34d66b 11 TxtFile::TxtFile(char fileAddr[], char *readWrite) {
TBSliver 0:f433ff34d66b 12
TBSliver 0:f433ff34d66b 13
TBSliver 0:f433ff34d66b 14 if ((fp = fopen(fileAddr, readWrite)) == NULL) {
TBSliver 0:f433ff34d66b 15 isFileOpen = false;
TBSliver 0:f433ff34d66b 16 } else {
TBSliver 0:f433ff34d66b 17 isFileOpen = true;
TBSliver 0:f433ff34d66b 18 }
TBSliver 0:f433ff34d66b 19 }
TBSliver 0:f433ff34d66b 20
TBSliver 0:f433ff34d66b 21 /**
TBSliver 0:f433ff34d66b 22 * Destructor when called closes the open file
TBSliver 0:f433ff34d66b 23 */
TBSliver 0:f433ff34d66b 24 TxtFile::~TxtFile() {
TBSliver 0:f433ff34d66b 25 closeFile();
TBSliver 0:f433ff34d66b 26 }
TBSliver 0:f433ff34d66b 27
TBSliver 0:f433ff34d66b 28 /**
TBSliver 0:f433ff34d66b 29 * Returns true if the file is open
TBSliver 0:f433ff34d66b 30 *
TBSliver 0:f433ff34d66b 31 * @returns isFileOpen
TBSliver 0:f433ff34d66b 32 */
TBSliver 0:f433ff34d66b 33 bool TxtFile::isOpen() {
TBSliver 0:f433ff34d66b 34 return isFileOpen;
TBSliver 0:f433ff34d66b 35 }
TBSliver 0:f433ff34d66b 36
TBSliver 0:f433ff34d66b 37 /**
TBSliver 0:f433ff34d66b 38 * Checks if the file is open, and closes it if it is
TBSliver 0:f433ff34d66b 39 *
TBSliver 0:f433ff34d66b 40 * @returns isClosed
TBSliver 0:f433ff34d66b 41 * returns true if a file was closed, false if not
TBSliver 0:f433ff34d66b 42 */
TBSliver 0:f433ff34d66b 43 bool TxtFile::closeFile() {
TBSliver 0:f433ff34d66b 44 if (isOpen()) {
TBSliver 0:f433ff34d66b 45 fclose(fp);
TBSliver 0:f433ff34d66b 46 return true;
TBSliver 0:f433ff34d66b 47 } else
TBSliver 0:f433ff34d66b 48 return false;
TBSliver 0:f433ff34d66b 49 }
TBSliver 0:f433ff34d66b 50
TBSliver 0:f433ff34d66b 51 int TxtFile::frameTime(int frame) { //a frame is 5 digits of timer, 128x32 bytes of data, with 33 line ends
TBSliver 0:f433ff34d66b 52 fseek(fp, (frame * 4167), SEEK_SET);
TBSliver 0:f433ff34d66b 53 char numberIn[5];
TBSliver 0:f433ff34d66b 54 for (int i=0;i<5;i++)
TBSliver 0:f433ff34d66b 55 {
TBSliver 0:f433ff34d66b 56 numberIn[i] = fgetc(fp);
TBSliver 0:f433ff34d66b 57 }
TBSliver 0:f433ff34d66b 58 return atoi(numberIn);
TBSliver 0:f433ff34d66b 59 }
TBSliver 0:f433ff34d66b 60
TBSliver 0:f433ff34d66b 61 int TxtFile::totalFrames() {
TBSliver 0:f433ff34d66b 62 fseek(fp, 0, SEEK_END); // seek to end of file
TBSliver 0:f433ff34d66b 63 int size = ftell(fp); // get current file pointer
TBSliver 0:f433ff34d66b 64 fseek(fp, 0, SEEK_SET); // seek back to beginning of file
TBSliver 0:f433ff34d66b 65 return (size + 2)/4167;
TBSliver 0:f433ff34d66b 66 }
TBSliver 0:f433ff34d66b 67
TBSliver 0:f433ff34d66b 68 char TxtFile::getChar(int seek) {
TBSliver 0:f433ff34d66b 69 fseek(fp, seek, SEEK_SET);
TBSliver 0:f433ff34d66b 70 return fgetc(fp);
TBSliver 0:f433ff34d66b 71 }