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.
ConfigManager.c@0:70e79ca6391c, 2011-03-16 (annotated)
- Committer:
- gvloch
- Date:
- Wed Mar 16 10:20:41 2011 +0000
- Revision:
- 0:70e79ca6391c
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| gvloch | 0:70e79ca6391c | 1 | #include "ConfigFile.h" |
| gvloch | 0:70e79ca6391c | 2 | #include "mbed.h" |
| gvloch | 0:70e79ca6391c | 3 | #include <string.h> |
| gvloch | 0:70e79ca6391c | 4 | #include "header.h" |
| gvloch | 0:70e79ca6391c | 5 | extern float InputLightLevelM; |
| gvloch | 0:70e79ca6391c | 6 | extern float OutputLightLevelM; |
| gvloch | 0:70e79ca6391c | 7 | extern float ReflectedLightLevelM; |
| gvloch | 0:70e79ca6391c | 8 | extern float PumpLightLevel1M; |
| gvloch | 0:70e79ca6391c | 9 | extern float PumpLightLevel2M; |
| gvloch | 0:70e79ca6391c | 10 | extern float AmplifierGain; //in dB |
| gvloch | 0:70e79ca6391c | 11 | extern float AmplifierPower; //in dBm |
| gvloch | 0:70e79ca6391c | 12 | extern char AmplifierMode; // CC = Constant Current, CG = Constant Gain, CP = constant output power |
| gvloch | 0:70e79ca6391c | 13 | extern float PumpCurrent1; // mA |
| gvloch | 0:70e79ca6391c | 14 | extern float PumpCurrent2; // mA |
| gvloch | 0:70e79ca6391c | 15 | extern float CurrentSource1MAX; |
| gvloch | 0:70e79ca6391c | 16 | extern float CurrentSource2MAX; |
| gvloch | 0:70e79ca6391c | 17 | extern char SerialControl; |
| gvloch | 0:70e79ca6391c | 18 | extern int DebugLevel; |
| gvloch | 0:70e79ca6391c | 19 | LocalFileSystem local("local"); |
| gvloch | 0:70e79ca6391c | 20 | ConfigFile cfg; |
| gvloch | 0:70e79ca6391c | 21 | |
| gvloch | 0:70e79ca6391c | 22 | void ReadConfigFile(void) { |
| gvloch | 0:70e79ca6391c | 23 | char *cfg1 = "DebugLevel"; |
| gvloch | 0:70e79ca6391c | 24 | char *cfg2 = "InputLightLevelM"; |
| gvloch | 0:70e79ca6391c | 25 | char *cfg3 = "OutputLightLevelM"; |
| gvloch | 0:70e79ca6391c | 26 | char *cfg4 = "ReflectedLightLevelM"; |
| gvloch | 0:70e79ca6391c | 27 | char *cfg5 = "PumpLightLevel1M"; |
| gvloch | 0:70e79ca6391c | 28 | char *cfg6 = "PumpLightLevel2M"; |
| gvloch | 0:70e79ca6391c | 29 | char *cfg7 = "DefaultAmplifierGain"; |
| gvloch | 0:70e79ca6391c | 30 | char *cfg8 = "DefaultAmplifierPower"; |
| gvloch | 0:70e79ca6391c | 31 | char *cfg9 = "DefaultAmplifierMode"; |
| gvloch | 0:70e79ca6391c | 32 | char *cfg10 = "DefaultPumpCurrent1"; |
| gvloch | 0:70e79ca6391c | 33 | char *cfg11 = "DefaultPumpCurrent2"; |
| gvloch | 0:70e79ca6391c | 34 | char *cfg12 = "CurrentSource1MAX"; |
| gvloch | 0:70e79ca6391c | 35 | char *cfg13 = "CurrentSource2MAX"; |
| gvloch | 0:70e79ca6391c | 36 | char *cfg14 = "SerialControl"; |
| gvloch | 0:70e79ca6391c | 37 | char value[BUFSIZ]; |
| gvloch | 0:70e79ca6391c | 38 | /* |
| gvloch | 0:70e79ca6391c | 39 | * Read a configuration file from a mbed. |
| gvloch | 0:70e79ca6391c | 40 | */ |
| gvloch | 0:70e79ca6391c | 41 | printf("\n\rReading Config File:\n\r"); |
| gvloch | 0:70e79ca6391c | 42 | if (!cfg.read("/local/config.txt")) { |
| gvloch | 0:70e79ca6391c | 43 | printf("Failure to read a configuration file.\n"); |
| gvloch | 0:70e79ca6391c | 44 | } |
| gvloch | 0:70e79ca6391c | 45 | |
| gvloch | 0:70e79ca6391c | 46 | /* |
| gvloch | 0:70e79ca6391c | 47 | * Get a configuration value. |
| gvloch | 0:70e79ca6391c | 48 | */ |
| gvloch | 0:70e79ca6391c | 49 | if (cfg.getValue(cfg1, &value[0], sizeof(value))) { |
| gvloch | 0:70e79ca6391c | 50 | printf("%s = %i\n\r", cfg1, atoi(value)); |
| gvloch | 0:70e79ca6391c | 51 | DebugLevel = atoi(value); |
| gvloch | 0:70e79ca6391c | 52 | } |
| gvloch | 0:70e79ca6391c | 53 | if (cfg.getValue(cfg2, &value[0], sizeof(value))) { |
| gvloch | 0:70e79ca6391c | 54 | printf("%s = %3.4f\n\r", cfg2, atof(value)); |
| gvloch | 0:70e79ca6391c | 55 | InputLightLevelM = atof(value); |
| gvloch | 0:70e79ca6391c | 56 | } |
| gvloch | 0:70e79ca6391c | 57 | if (cfg.getValue(cfg3, &value[0], sizeof(value))) { |
| gvloch | 0:70e79ca6391c | 58 | printf("%s = %3.4f\n\r", cfg3, atof(value)); |
| gvloch | 0:70e79ca6391c | 59 | OutputLightLevelM = atof(value); |
| gvloch | 0:70e79ca6391c | 60 | } |
| gvloch | 0:70e79ca6391c | 61 | if (cfg.getValue(cfg4, &value[0], sizeof(value))) { |
| gvloch | 0:70e79ca6391c | 62 | printf("%s = %3.4f\n\r", cfg4, atof(value)); |
| gvloch | 0:70e79ca6391c | 63 | ReflectedLightLevelM = atof(value); |
| gvloch | 0:70e79ca6391c | 64 | } |
| gvloch | 0:70e79ca6391c | 65 | if (cfg.getValue(cfg5, &value[0], sizeof(value))) { |
| gvloch | 0:70e79ca6391c | 66 | printf("%s = %3.4f\n\r", cfg5, atof(value)); |
| gvloch | 0:70e79ca6391c | 67 | PumpLightLevel1M = atof(value); |
| gvloch | 0:70e79ca6391c | 68 | } |
| gvloch | 0:70e79ca6391c | 69 | if (cfg.getValue(cfg6, &value[0], sizeof(value))) { |
| gvloch | 0:70e79ca6391c | 70 | printf("%s = %3.4f\n\r", cfg6, atof(value)); |
| gvloch | 0:70e79ca6391c | 71 | PumpLightLevel2M = atof(value); |
| gvloch | 0:70e79ca6391c | 72 | } |
| gvloch | 0:70e79ca6391c | 73 | if (cfg.getValue(cfg7, &value[0], sizeof(value))) { |
| gvloch | 0:70e79ca6391c | 74 | printf("%s = %3.4f\n\r", cfg7, atof(value)); |
| gvloch | 0:70e79ca6391c | 75 | AmplifierGain = atof(value); |
| gvloch | 0:70e79ca6391c | 76 | } |
| gvloch | 0:70e79ca6391c | 77 | if (cfg.getValue(cfg8, &value[0], sizeof(value))) { |
| gvloch | 0:70e79ca6391c | 78 | printf("%s = %3.4f\n\r", cfg8, atof(value)); |
| gvloch | 0:70e79ca6391c | 79 | AmplifierPower = atof(value); |
| gvloch | 0:70e79ca6391c | 80 | } |
| gvloch | 0:70e79ca6391c | 81 | if (cfg.getValue(cfg9, &value[0], sizeof(value))) { |
| gvloch | 0:70e79ca6391c | 82 | printf("%s = %s\n\r", cfg9, value); |
| gvloch | 0:70e79ca6391c | 83 | AmplifierMode = value[1]; |
| gvloch | 0:70e79ca6391c | 84 | } |
| gvloch | 0:70e79ca6391c | 85 | if (cfg.getValue(cfg10, &value[0], sizeof(value))) { |
| gvloch | 0:70e79ca6391c | 86 | printf("%s = %3.4f\n\r", cfg10, atof(value)); |
| gvloch | 0:70e79ca6391c | 87 | PumpCurrent1 = atof(value); |
| gvloch | 0:70e79ca6391c | 88 | } |
| gvloch | 0:70e79ca6391c | 89 | if (cfg.getValue(cfg11, &value[0], sizeof(value))) { |
| gvloch | 0:70e79ca6391c | 90 | printf("%s = %3.4f\n\r", cfg11, atof(value)); |
| gvloch | 0:70e79ca6391c | 91 | PumpCurrent2 = atof(value); |
| gvloch | 0:70e79ca6391c | 92 | } |
| gvloch | 0:70e79ca6391c | 93 | if (cfg.getValue(cfg12, &value[0], sizeof(value))) { |
| gvloch | 0:70e79ca6391c | 94 | printf("%s = %3.4f\n\r", cfg12, atof(value)); |
| gvloch | 0:70e79ca6391c | 95 | CurrentSource1MAX = atof(value); |
| gvloch | 0:70e79ca6391c | 96 | } |
| gvloch | 0:70e79ca6391c | 97 | if (cfg.getValue(cfg13, &value[0], sizeof(value))) { |
| gvloch | 0:70e79ca6391c | 98 | printf("%s = %3.4f\n\r", cfg13, atof(value)); |
| gvloch | 0:70e79ca6391c | 99 | CurrentSource2MAX = atof(value); |
| gvloch | 0:70e79ca6391c | 100 | } |
| gvloch | 0:70e79ca6391c | 101 | if (cfg.getValue(cfg14, &value[0], sizeof(value))) { |
| gvloch | 0:70e79ca6391c | 102 | printf("%s = %c\n\r", cfg14, value[0]); |
| gvloch | 0:70e79ca6391c | 103 | SerialControl = value[0]; |
| gvloch | 0:70e79ca6391c | 104 | } |
| gvloch | 0:70e79ca6391c | 105 | |
| gvloch | 0:70e79ca6391c | 106 | |
| gvloch | 0:70e79ca6391c | 107 | printf("\n\r\n\r>"); |
| gvloch | 0:70e79ca6391c | 108 | |
| gvloch | 0:70e79ca6391c | 109 | } |
| gvloch | 0:70e79ca6391c | 110 |