Flying Sea Glider / Mbed 2 deprecated 2019_13sep_jcw_nosd

Dependencies:   mbed MODSERIAL FATFileSystem

Committer:
mkelly10
Date:
Fri Oct 20 11:41:22 2017 +0000
Revision:
9:d5fcdcb3c89d
Tested 10/19/17 Folders

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mkelly10 9:d5fcdcb3c89d 1 #include "Course.hpp"
mkelly10 9:d5fcdcb3c89d 2 #include "StaticDefs.hpp"
mkelly10 9:d5fcdcb3c89d 3
mkelly10 9:d5fcdcb3c89d 4 Course::Course()
mkelly10 9:d5fcdcb3c89d 5 {
mkelly10 9:d5fcdcb3c89d 6 counter = 0;
mkelly10 9:d5fcdcb3c89d 7 getFromFile();
mkelly10 9:d5fcdcb3c89d 8 //eventually want to grab everything from the file
mkelly10 9:d5fcdcb3c89d 9 }
mkelly10 9:d5fcdcb3c89d 10
mkelly10 9:d5fcdcb3c89d 11 int Course::increment()
mkelly10 9:d5fcdcb3c89d 12 {
mkelly10 9:d5fcdcb3c89d 13 counter++;
mkelly10 9:d5fcdcb3c89d 14 return counter;
mkelly10 9:d5fcdcb3c89d 15 }
mkelly10 9:d5fcdcb3c89d 16
mkelly10 9:d5fcdcb3c89d 17 int Course::decrement()
mkelly10 9:d5fcdcb3c89d 18 {
mkelly10 9:d5fcdcb3c89d 19 counter--;
mkelly10 9:d5fcdcb3c89d 20 return counter;
mkelly10 9:d5fcdcb3c89d 21 }
mkelly10 9:d5fcdcb3c89d 22
mkelly10 9:d5fcdcb3c89d 23 int Course::jumpto(int jump)
mkelly10 9:d5fcdcb3c89d 24 {
mkelly10 9:d5fcdcb3c89d 25 if (jump > total_legs) {
mkelly10 9:d5fcdcb3c89d 26 jump = total_legs-1;
mkelly10 9:d5fcdcb3c89d 27 }
mkelly10 9:d5fcdcb3c89d 28 counter = jump;
mkelly10 9:d5fcdcb3c89d 29 return counter;
mkelly10 9:d5fcdcb3c89d 30 }
mkelly10 9:d5fcdcb3c89d 31
mkelly10 9:d5fcdcb3c89d 32 float Course::readDepth()
mkelly10 9:d5fcdcb3c89d 33 {
mkelly10 9:d5fcdcb3c89d 34 return course[counter].depth;
mkelly10 9:d5fcdcb3c89d 35 }
mkelly10 9:d5fcdcb3c89d 36
mkelly10 9:d5fcdcb3c89d 37 float Course::readThrottle()
mkelly10 9:d5fcdcb3c89d 38 {
mkelly10 9:d5fcdcb3c89d 39 return course[counter].throttle;
mkelly10 9:d5fcdcb3c89d 40 }
mkelly10 9:d5fcdcb3c89d 41
mkelly10 9:d5fcdcb3c89d 42 float Course::readHeading()
mkelly10 9:d5fcdcb3c89d 43 {
mkelly10 9:d5fcdcb3c89d 44 return course[counter].heading;
mkelly10 9:d5fcdcb3c89d 45 }
mkelly10 9:d5fcdcb3c89d 46
mkelly10 9:d5fcdcb3c89d 47 float Course::readTime()
mkelly10 9:d5fcdcb3c89d 48 {
mkelly10 9:d5fcdcb3c89d 49 return course[counter].time;
mkelly10 9:d5fcdcb3c89d 50 }
mkelly10 9:d5fcdcb3c89d 51
mkelly10 9:d5fcdcb3c89d 52 int Course::readFinal()
mkelly10 9:d5fcdcb3c89d 53 {
mkelly10 9:d5fcdcb3c89d 54 return course[counter].final;
mkelly10 9:d5fcdcb3c89d 55 }
mkelly10 9:d5fcdcb3c89d 56
mkelly10 9:d5fcdcb3c89d 57 int Course::readTotalLegs()
mkelly10 9:d5fcdcb3c89d 58 {
mkelly10 9:d5fcdcb3c89d 59 return total_legs;
mkelly10 9:d5fcdcb3c89d 60 }
mkelly10 9:d5fcdcb3c89d 61
mkelly10 9:d5fcdcb3c89d 62 bool Course::getFromFile()
mkelly10 9:d5fcdcb3c89d 63 {
mkelly10 9:d5fcdcb3c89d 64 ;//open file and read the stuff
mkelly10 9:d5fcdcb3c89d 65 FILE *fp = fopen("/local/course.txt", "r");
mkelly10 9:d5fcdcb3c89d 66
mkelly10 9:d5fcdcb3c89d 67 char line[MAXLINEWIDTH];
mkelly10 9:d5fcdcb3c89d 68
mkelly10 9:d5fcdcb3c89d 69 while ( fgets( line, sizeof line, fp ) != NULL ) { /* read a line */
mkelly10 9:d5fcdcb3c89d 70 if (( sscanf(line,"%f %f %f %f %i",&course[counter].depth, &course[counter].throttle, &course[counter].heading, &course[counter].time, &course[counter].final)) == 5) {
mkelly10 9:d5fcdcb3c89d 71 counter++;
mkelly10 9:d5fcdcb3c89d 72 }
mkelly10 9:d5fcdcb3c89d 73 }
mkelly10 9:d5fcdcb3c89d 74 total_legs = counter;
mkelly10 9:d5fcdcb3c89d 75 counter--; //rewind 1 click
mkelly10 9:d5fcdcb3c89d 76 fclose(fp); //close the file
mkelly10 9:d5fcdcb3c89d 77
mkelly10 9:d5fcdcb3c89d 78 if (course[counter].final) {
mkelly10 9:d5fcdcb3c89d 79 counter = 0; //rewind everything
mkelly10 9:d5fcdcb3c89d 80 return true;
mkelly10 9:d5fcdcb3c89d 81 } else {
mkelly10 9:d5fcdcb3c89d 82 // something was fubared along the way
mkelly10 9:d5fcdcb3c89d 83 return false;
mkelly10 9:d5fcdcb3c89d 84 }
mkelly10 9:d5fcdcb3c89d 85
mkelly10 9:d5fcdcb3c89d 86 //returned = fscanf(pfile, "%f %f %f %f %i", &d, &s, &h, &t, &last) ;
mkelly10 9:d5fcdcb3c89d 87 //pc().printf("\n\r%f %f %f %f %i %i\n\r",d,s,h,t,last,returned);
mkelly10 9:d5fcdcb3c89d 88 //fclose(pfile);
mkelly10 9:d5fcdcb3c89d 89
mkelly10 9:d5fcdcb3c89d 90 }