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: mbed MODSERIAL FATFileSystem
System/config_functions.cpp@10:085ab7328054, 2017-10-23 (annotated)
- Committer:
- danstrider
- Date:
- Mon Oct 23 12:50:53 2017 +0000
- Revision:
- 10:085ab7328054
- Parent:
- 9:d5fcdcb3c89d
- Child:
- 11:3b241ecb75ed
checked out on the hardware
Who changed what in which revision?
| User | Revision | Line number | New 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; |
| danstrider | 10:085ab7328054 | 8 | if (!cfg.read("/local/bce.txt")) { |
| mkelly10 | 9:d5fcdcb3c89d | 9 | error("File Read Error"); |
| danstrider | 10:085ab7328054 | 10 | } |
| mkelly10 | 9:d5fcdcb3c89d | 11 | char value[BUFSIZ]; |
| mkelly10 | 9:d5fcdcb3c89d | 12 | |
| mkelly10 | 9:d5fcdcb3c89d | 13 | if (cfg.getValue("PGain", &value[0] , sizeof(value))) { |
| mkelly10 | 9:d5fcdcb3c89d | 14 | bce().setControllerP(atof(value)); |
| mkelly10 | 9:d5fcdcb3c89d | 15 | count++; |
| mkelly10 | 9:d5fcdcb3c89d | 16 | } |
| mkelly10 | 9:d5fcdcb3c89d | 17 | if (cfg.getValue("IGain", &value[0] ,sizeof(value))) { |
| mkelly10 | 9:d5fcdcb3c89d | 18 | bce().setControllerI(atof(value)); |
| mkelly10 | 9:d5fcdcb3c89d | 19 | count++; |
| mkelly10 | 9:d5fcdcb3c89d | 20 | } |
| mkelly10 | 9:d5fcdcb3c89d | 21 | if (cfg.getValue("DGain", &value[0] , sizeof(value))) { |
| mkelly10 | 9:d5fcdcb3c89d | 22 | bce().setControllerD(atof(value)); |
| mkelly10 | 9:d5fcdcb3c89d | 23 | count++; |
| mkelly10 | 9:d5fcdcb3c89d | 24 | } |
| mkelly10 | 9:d5fcdcb3c89d | 25 | if (cfg.getValue("zeroCounts", &value[0],sizeof(value))) { |
| mkelly10 | 9:d5fcdcb3c89d | 26 | bce().setZeroCounts(atoi(value)); |
| mkelly10 | 9:d5fcdcb3c89d | 27 | count++; |
| mkelly10 | 9:d5fcdcb3c89d | 28 | } |
| mkelly10 | 9:d5fcdcb3c89d | 29 | if (cfg.getValue("PistonTravelLimit", &value[0], sizeof(value))) { |
| mkelly10 | 9:d5fcdcb3c89d | 30 | bce().setTravelLimit(atof(value)); |
| mkelly10 | 9:d5fcdcb3c89d | 31 | count++; |
| mkelly10 | 9:d5fcdcb3c89d | 32 | } |
| mkelly10 | 9:d5fcdcb3c89d | 33 | if (cfg.getValue("slope", &value[0], sizeof(value))) { |
| mkelly10 | 9:d5fcdcb3c89d | 34 | bce().setPotSlope(atof(value)); |
| mkelly10 | 9:d5fcdcb3c89d | 35 | count++; |
| mkelly10 | 9:d5fcdcb3c89d | 36 | } |
| mkelly10 | 9:d5fcdcb3c89d | 37 | if (cfg.getValue("filterWn", &value[0], sizeof(value))) { |
| mkelly10 | 9:d5fcdcb3c89d | 38 | bce().setFilterFrequency(atof(value)); |
| mkelly10 | 9:d5fcdcb3c89d | 39 | count++; |
| mkelly10 | 9:d5fcdcb3c89d | 40 | } |
| mkelly10 | 9:d5fcdcb3c89d | 41 | if (cfg.getValue("deadband", &value[0], sizeof(value))) { |
| mkelly10 | 9:d5fcdcb3c89d | 42 | bce().setDeadband(atof(value)); |
| mkelly10 | 9:d5fcdcb3c89d | 43 | count++; |
| mkelly10 | 9:d5fcdcb3c89d | 44 | } |
| mkelly10 | 9:d5fcdcb3c89d | 45 | |
| mkelly10 | 9:d5fcdcb3c89d | 46 | return count; |
| mkelly10 | 9:d5fcdcb3c89d | 47 | } |
| mkelly10 | 9:d5fcdcb3c89d | 48 | |
| mkelly10 | 9:d5fcdcb3c89d | 49 | int load_BATT_config() |
| mkelly10 | 9:d5fcdcb3c89d | 50 | { |
| mkelly10 | 9:d5fcdcb3c89d | 51 | ConfigFile cfg; |
| mkelly10 | 9:d5fcdcb3c89d | 52 | int count = 0; |
| danstrider | 10:085ab7328054 | 53 | if (!cfg.read("/local/batt.txt")) { |
| mkelly10 | 9:d5fcdcb3c89d | 54 | error("File Read Error"); |
| danstrider | 10:085ab7328054 | 55 | } |
| mkelly10 | 9:d5fcdcb3c89d | 56 | char value[BUFSIZ]; |
| mkelly10 | 9:d5fcdcb3c89d | 57 | |
| mkelly10 | 9:d5fcdcb3c89d | 58 | |
| mkelly10 | 9:d5fcdcb3c89d | 59 | if (cfg.getValue("PGain", &value[0] , sizeof(value))) { |
| mkelly10 | 9:d5fcdcb3c89d | 60 | batt().setControllerP(atof(value)); |
| mkelly10 | 9:d5fcdcb3c89d | 61 | count++; |
| mkelly10 | 9:d5fcdcb3c89d | 62 | } |
| mkelly10 | 9:d5fcdcb3c89d | 63 | if (cfg.getValue("IGain", &value[0] ,sizeof(value))) { |
| mkelly10 | 9:d5fcdcb3c89d | 64 | batt().setControllerI(atof(value)); |
| mkelly10 | 9:d5fcdcb3c89d | 65 | count++; |
| mkelly10 | 9:d5fcdcb3c89d | 66 | } |
| mkelly10 | 9:d5fcdcb3c89d | 67 | if (cfg.getValue("DGain", &value[0] , sizeof(value))) { |
| mkelly10 | 9:d5fcdcb3c89d | 68 | batt().setControllerD(atof(value)); |
| mkelly10 | 9:d5fcdcb3c89d | 69 | count++; |
| mkelly10 | 9:d5fcdcb3c89d | 70 | } |
| mkelly10 | 9:d5fcdcb3c89d | 71 | if (cfg.getValue("zeroCounts", &value[0],sizeof(value))) { |
| mkelly10 | 9:d5fcdcb3c89d | 72 | batt().setZeroCounts(atoi(value)); |
| mkelly10 | 9:d5fcdcb3c89d | 73 | count++; |
| mkelly10 | 9:d5fcdcb3c89d | 74 | } |
| mkelly10 | 9:d5fcdcb3c89d | 75 | if (cfg.getValue("PistonTravelLimit", &value[0], sizeof(value))) { |
| mkelly10 | 9:d5fcdcb3c89d | 76 | batt().setTravelLimit(atof(value)); |
| mkelly10 | 9:d5fcdcb3c89d | 77 | count++; |
| mkelly10 | 9:d5fcdcb3c89d | 78 | } |
| mkelly10 | 9:d5fcdcb3c89d | 79 | if (cfg.getValue("slope", &value[0], sizeof(value))) { |
| mkelly10 | 9:d5fcdcb3c89d | 80 | batt().setPotSlope(atof(value)); |
| mkelly10 | 9:d5fcdcb3c89d | 81 | count++; |
| mkelly10 | 9:d5fcdcb3c89d | 82 | } |
| mkelly10 | 9:d5fcdcb3c89d | 83 | if (cfg.getValue("filterWn", &value[0], sizeof(value))) { |
| mkelly10 | 9:d5fcdcb3c89d | 84 | batt().setFilterFrequency(atof(value)); |
| mkelly10 | 9:d5fcdcb3c89d | 85 | count++; |
| mkelly10 | 9:d5fcdcb3c89d | 86 | } |
| mkelly10 | 9:d5fcdcb3c89d | 87 | if (cfg.getValue("deadband", &value[0], sizeof(value))) { |
| mkelly10 | 9:d5fcdcb3c89d | 88 | batt().setDeadband(atof(value)); |
| mkelly10 | 9:d5fcdcb3c89d | 89 | count++; |
| mkelly10 | 9:d5fcdcb3c89d | 90 | } |
| mkelly10 | 9:d5fcdcb3c89d | 91 | |
| danstrider | 10:085ab7328054 | 92 | return count; |
| danstrider | 10:085ab7328054 | 93 | } |
| danstrider | 10:085ab7328054 | 94 | |
| danstrider | 10:085ab7328054 | 95 | int load_DEPTH_config() |
| danstrider | 10:085ab7328054 | 96 | { |
| danstrider | 10:085ab7328054 | 97 | ConfigFile cfg; |
| danstrider | 10:085ab7328054 | 98 | int count = 0; |
| danstrider | 10:085ab7328054 | 99 | if (!cfg.read("/local/depth.txt")) { |
| danstrider | 10:085ab7328054 | 100 | error("File Read Error"); |
| danstrider | 10:085ab7328054 | 101 | } |
| danstrider | 10:085ab7328054 | 102 | char value[BUFSIZ]; |
| mkelly10 | 9:d5fcdcb3c89d | 103 | |
| danstrider | 10:085ab7328054 | 104 | if (cfg.getValue("PGain", &value[0] , sizeof(value))) { |
| danstrider | 10:085ab7328054 | 105 | depthLoop().setControllerP(atof(value)); |
| danstrider | 10:085ab7328054 | 106 | count++; |
| danstrider | 10:085ab7328054 | 107 | } |
| danstrider | 10:085ab7328054 | 108 | if (cfg.getValue("IGain", &value[0] ,sizeof(value))) { |
| danstrider | 10:085ab7328054 | 109 | depthLoop().setControllerI(atof(value)); |
| danstrider | 10:085ab7328054 | 110 | count++; |
| danstrider | 10:085ab7328054 | 111 | } |
| danstrider | 10:085ab7328054 | 112 | if (cfg.getValue("DGain", &value[0] , sizeof(value))) { |
| danstrider | 10:085ab7328054 | 113 | depthLoop().setControllerD(atof(value)); |
| danstrider | 10:085ab7328054 | 114 | count++; |
| danstrider | 10:085ab7328054 | 115 | } |
| danstrider | 10:085ab7328054 | 116 | if (cfg.getValue("filterWn", &value[0], sizeof(value))) { |
| danstrider | 10:085ab7328054 | 117 | depthLoop().setFilterFrequency(atof(value)); |
| danstrider | 10:085ab7328054 | 118 | count++; |
| danstrider | 10:085ab7328054 | 119 | } |
| danstrider | 10:085ab7328054 | 120 | if (cfg.getValue("deadband", &value[0], sizeof(value))) { |
| danstrider | 10:085ab7328054 | 121 | depthLoop().setDeadband(atof(value)); |
| danstrider | 10:085ab7328054 | 122 | count++; |
| danstrider | 10:085ab7328054 | 123 | } |
| danstrider | 10:085ab7328054 | 124 | |
| danstrider | 10:085ab7328054 | 125 | return count; |
| danstrider | 10:085ab7328054 | 126 | } |
| danstrider | 10:085ab7328054 | 127 | |
| danstrider | 10:085ab7328054 | 128 | int load_PITCH_config() |
| danstrider | 10:085ab7328054 | 129 | { |
| danstrider | 10:085ab7328054 | 130 | ConfigFile cfg; |
| danstrider | 10:085ab7328054 | 131 | int count = 0; |
| danstrider | 10:085ab7328054 | 132 | if (!cfg.read("/local/pitch.txt")){ |
| danstrider | 10:085ab7328054 | 133 | error("File Read Error"); |
| danstrider | 10:085ab7328054 | 134 | } |
| danstrider | 10:085ab7328054 | 135 | char value[BUFSIZ]; |
| danstrider | 10:085ab7328054 | 136 | |
| danstrider | 10:085ab7328054 | 137 | if (cfg.getValue("PGain", &value[0] , sizeof(value))) { |
| danstrider | 10:085ab7328054 | 138 | pitchLoop().setControllerP(atof(value)); |
| danstrider | 10:085ab7328054 | 139 | count++; |
| danstrider | 10:085ab7328054 | 140 | } |
| danstrider | 10:085ab7328054 | 141 | if (cfg.getValue("IGain", &value[0] ,sizeof(value))) { |
| danstrider | 10:085ab7328054 | 142 | pitchLoop().setControllerI(atof(value)); |
| danstrider | 10:085ab7328054 | 143 | count++; |
| danstrider | 10:085ab7328054 | 144 | } |
| danstrider | 10:085ab7328054 | 145 | if (cfg.getValue("DGain", &value[0] , sizeof(value))) { |
| danstrider | 10:085ab7328054 | 146 | pitchLoop().setControllerD(atof(value)); |
| danstrider | 10:085ab7328054 | 147 | count++; |
| danstrider | 10:085ab7328054 | 148 | } |
| danstrider | 10:085ab7328054 | 149 | if (cfg.getValue("filterWn", &value[0], sizeof(value))) { |
| danstrider | 10:085ab7328054 | 150 | pitchLoop().setFilterFrequency(atof(value)); |
| danstrider | 10:085ab7328054 | 151 | count++; |
| danstrider | 10:085ab7328054 | 152 | } |
| danstrider | 10:085ab7328054 | 153 | if (cfg.getValue("deadband", &value[0], sizeof(value))) { |
| danstrider | 10:085ab7328054 | 154 | pitchLoop().setDeadband(atof(value)); |
| danstrider | 10:085ab7328054 | 155 | count++; |
| danstrider | 10:085ab7328054 | 156 | } |
| danstrider | 10:085ab7328054 | 157 | |
| danstrider | 10:085ab7328054 | 158 | return count; |
| mkelly10 | 9:d5fcdcb3c89d | 159 | } |