Flying Sea Glider / Mbed 2 deprecated 2019_19feb19_jcw_noSD

Dependencies:   mbed MODSERIAL FATFileSystem

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

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mkelly10 9:d5fcdcb3c89d 1 #include "config_functions.h"
mkelly10 9:d5fcdcb3c89d 2 #include "StaticDefs.hpp"
mkelly10 9:d5fcdcb3c89d 3
mkelly10 9:d5fcdcb3c89d 4 int load_BCE_config()
mkelly10 9:d5fcdcb3c89d 5 {
mkelly10 9:d5fcdcb3c89d 6 ConfigFile cfg;
mkelly10 9:d5fcdcb3c89d 7 int count = 0;
mkelly10 9:d5fcdcb3c89d 8 if (!cfg.read("/local/bce.txt")){
mkelly10 9:d5fcdcb3c89d 9 error("File Read Error");
mkelly10 9:d5fcdcb3c89d 10 }
mkelly10 9:d5fcdcb3c89d 11 char value[BUFSIZ];
mkelly10 9:d5fcdcb3c89d 12
mkelly10 9:d5fcdcb3c89d 13
mkelly10 9:d5fcdcb3c89d 14 if (cfg.getValue("PGain", &value[0] , sizeof(value))) {
mkelly10 9:d5fcdcb3c89d 15 bce().setControllerP(atof(value));
mkelly10 9:d5fcdcb3c89d 16 count++;
mkelly10 9:d5fcdcb3c89d 17 }
mkelly10 9:d5fcdcb3c89d 18 if (cfg.getValue("IGain", &value[0] ,sizeof(value))) {
mkelly10 9:d5fcdcb3c89d 19 bce().setControllerI(atof(value));
mkelly10 9:d5fcdcb3c89d 20 count++;
mkelly10 9:d5fcdcb3c89d 21 }
mkelly10 9:d5fcdcb3c89d 22 if (cfg.getValue("DGain", &value[0] , sizeof(value))) {
mkelly10 9:d5fcdcb3c89d 23 bce().setControllerD(atof(value));
mkelly10 9:d5fcdcb3c89d 24 count++;
mkelly10 9:d5fcdcb3c89d 25 }
mkelly10 9:d5fcdcb3c89d 26 if (cfg.getValue("zeroCounts", &value[0],sizeof(value))) {
mkelly10 9:d5fcdcb3c89d 27 bce().setZeroCounts(atoi(value));
mkelly10 9:d5fcdcb3c89d 28 count++;
mkelly10 9:d5fcdcb3c89d 29 }
mkelly10 9:d5fcdcb3c89d 30 if (cfg.getValue("PistonTravelLimit", &value[0], sizeof(value))) {
mkelly10 9:d5fcdcb3c89d 31 bce().setTravelLimit(atof(value));
mkelly10 9:d5fcdcb3c89d 32 count++;
mkelly10 9:d5fcdcb3c89d 33 }
mkelly10 9:d5fcdcb3c89d 34 if (cfg.getValue("slope", &value[0], sizeof(value))) {
mkelly10 9:d5fcdcb3c89d 35 bce().setPotSlope(atof(value));
mkelly10 9:d5fcdcb3c89d 36 count++;
mkelly10 9:d5fcdcb3c89d 37 }
mkelly10 9:d5fcdcb3c89d 38 if (cfg.getValue("filterWn", &value[0], sizeof(value))) {
mkelly10 9:d5fcdcb3c89d 39 bce().setFilterFrequency(atof(value));
mkelly10 9:d5fcdcb3c89d 40 count++;
mkelly10 9:d5fcdcb3c89d 41 }
mkelly10 9:d5fcdcb3c89d 42 if (cfg.getValue("deadband", &value[0], sizeof(value))) {
mkelly10 9:d5fcdcb3c89d 43 bce().setDeadband(atof(value));
mkelly10 9:d5fcdcb3c89d 44 count++;
mkelly10 9:d5fcdcb3c89d 45 }
mkelly10 9:d5fcdcb3c89d 46
mkelly10 9:d5fcdcb3c89d 47
mkelly10 9:d5fcdcb3c89d 48 return count;
mkelly10 9:d5fcdcb3c89d 49 }
mkelly10 9:d5fcdcb3c89d 50
mkelly10 9:d5fcdcb3c89d 51 int load_BATT_config()
mkelly10 9:d5fcdcb3c89d 52 {
mkelly10 9:d5fcdcb3c89d 53 ConfigFile cfg;
mkelly10 9:d5fcdcb3c89d 54 int count = 0;
mkelly10 9:d5fcdcb3c89d 55 if (!cfg.read("/local/batt.txt")){
mkelly10 9:d5fcdcb3c89d 56 error("File Read Error");
mkelly10 9:d5fcdcb3c89d 57 }
mkelly10 9:d5fcdcb3c89d 58 char value[BUFSIZ];
mkelly10 9:d5fcdcb3c89d 59
mkelly10 9:d5fcdcb3c89d 60
mkelly10 9:d5fcdcb3c89d 61 if (cfg.getValue("PGain", &value[0] , sizeof(value))) {
mkelly10 9:d5fcdcb3c89d 62 batt().setControllerP(atof(value));
mkelly10 9:d5fcdcb3c89d 63 count++;
mkelly10 9:d5fcdcb3c89d 64 }
mkelly10 9:d5fcdcb3c89d 65 if (cfg.getValue("IGain", &value[0] ,sizeof(value))) {
mkelly10 9:d5fcdcb3c89d 66 batt().setControllerI(atof(value));
mkelly10 9:d5fcdcb3c89d 67 count++;
mkelly10 9:d5fcdcb3c89d 68 }
mkelly10 9:d5fcdcb3c89d 69 if (cfg.getValue("DGain", &value[0] , sizeof(value))) {
mkelly10 9:d5fcdcb3c89d 70 batt().setControllerD(atof(value));
mkelly10 9:d5fcdcb3c89d 71 count++;
mkelly10 9:d5fcdcb3c89d 72 }
mkelly10 9:d5fcdcb3c89d 73 if (cfg.getValue("zeroCounts", &value[0],sizeof(value))) {
mkelly10 9:d5fcdcb3c89d 74 batt().setZeroCounts(atoi(value));
mkelly10 9:d5fcdcb3c89d 75 count++;
mkelly10 9:d5fcdcb3c89d 76 }
mkelly10 9:d5fcdcb3c89d 77 if (cfg.getValue("PistonTravelLimit", &value[0], sizeof(value))) {
mkelly10 9:d5fcdcb3c89d 78 batt().setTravelLimit(atof(value));
mkelly10 9:d5fcdcb3c89d 79 count++;
mkelly10 9:d5fcdcb3c89d 80 }
mkelly10 9:d5fcdcb3c89d 81 if (cfg.getValue("slope", &value[0], sizeof(value))) {
mkelly10 9:d5fcdcb3c89d 82 batt().setPotSlope(atof(value));
mkelly10 9:d5fcdcb3c89d 83 count++;
mkelly10 9:d5fcdcb3c89d 84 }
mkelly10 9:d5fcdcb3c89d 85 if (cfg.getValue("filterWn", &value[0], sizeof(value))) {
mkelly10 9:d5fcdcb3c89d 86 batt().setFilterFrequency(atof(value));
mkelly10 9:d5fcdcb3c89d 87 count++;
mkelly10 9:d5fcdcb3c89d 88 }
mkelly10 9:d5fcdcb3c89d 89 if (cfg.getValue("deadband", &value[0], sizeof(value))) {
mkelly10 9:d5fcdcb3c89d 90 batt().setDeadband(atof(value));
mkelly10 9:d5fcdcb3c89d 91 count++;
mkelly10 9:d5fcdcb3c89d 92 }
mkelly10 9:d5fcdcb3c89d 93
mkelly10 9:d5fcdcb3c89d 94
mkelly10 9:d5fcdcb3c89d 95 return count;
mkelly10 9:d5fcdcb3c89d 96 }