Gerhard van Lochem / Mbed 2 deprecated AmpCon
Committer:
gvloch
Date:
Wed Mar 16 10:20:41 2011 +0000
Revision:
0:70e79ca6391c

        

Who changed what in which revision?

UserRevisionLine numberNew 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