2018 revision to classic DataBus AVC code.

Dependencies:   LSM303DLM Servo SerialGraphicLCD L3G4200D IncrementalEncoder SimpleShell

Committer:
shimniok
Date:
Mon Dec 03 21:51:14 2018 +0000
Revision:
4:de7feb458652
Child:
5:eff573d4ede7
implemented part of config read/parse

Who changed what in which revision?

UserRevisionLine numberNew contents of line
shimniok 4:de7feb458652 1 #include "Config.h"
shimniok 4:de7feb458652 2
shimniok 4:de7feb458652 3
shimniok 4:de7feb458652 4 int Config::load(char *filename)
shimniok 4:de7feb458652 5 {
shimniok 4:de7feb458652 6 char buf[MAXBUF];
shimniok 4:de7feb458652 7 char *key;
shimniok 4:de7feb458652 8 char *value;
shimniok 4:de7feb458652 9 int status=0;
shimniok 4:de7feb458652 10 FILE *fp;
shimniok 4:de7feb458652 11
shimniok 4:de7feb458652 12 fp = fopen(filename, "r");
shimniok 4:de7feb458652 13 if (fp == NULL) {
shimniok 4:de7feb458652 14 status = -1;
shimniok 4:de7feb458652 15 } else {
shimniok 4:de7feb458652 16 while (!feof(fp)) {
shimniok 4:de7feb458652 17 fgets(buf, MAXBUF-1, fp);
shimniok 4:de7feb458652 18 if (buf[0] != '#') {
shimniok 4:de7feb458652 19 key = strtok(buf, ":");
shimniok 4:de7feb458652 20 value = strtok(NULL, ":");
shimniok 4:de7feb458652 21 if (*key && *value) {
shimniok 4:de7feb458652 22 printf("<%s>=<%s>\n", key, value);
shimniok 4:de7feb458652 23 // look for key
shimniok 4:de7feb458652 24 // parse value
shimniok 4:de7feb458652 25 // set options
shimniok 4:de7feb458652 26 }
shimniok 4:de7feb458652 27 }
shimniok 4:de7feb458652 28 }
shimniok 4:de7feb458652 29 fclose(fp);
shimniok 4:de7feb458652 30 };
shimniok 4:de7feb458652 31
shimniok 4:de7feb458652 32 return status;
shimniok 4:de7feb458652 33 }
shimniok 4:de7feb458652 34
shimniok 4:de7feb458652 35
shimniok 4:de7feb458652 36 /** Attach a setter for each key. The type of the setter's arg will be
shimniok 4:de7feb458652 37 * enforced by the parser when the config file is loaded.
shimniok 4:de7feb458652 38 */
shimniok 4:de7feb458652 39 void Config::attach(Callback<void(char *)> set, char *key) {
shimniok 4:de7feb458652 40 }
shimniok 4:de7feb458652 41
shimniok 4:de7feb458652 42
shimniok 4:de7feb458652 43 void Config::attach(Callback<void(int)> set, char *key) {
shimniok 4:de7feb458652 44 }
shimniok 4:de7feb458652 45
shimniok 4:de7feb458652 46 void Config::attach(Callback<void(float)> set, char *key) {
shimniok 4:de7feb458652 47 }
shimniok 4:de7feb458652 48
shimniok 4:de7feb458652 49 void Config::attach(Callback<void(double)> set, char *key) {
shimniok 4:de7feb458652 50 }