New work version with additional functions

Dependencies:   4DGL-UC ConfigFile MODSERIAL mbed mbos

Fork of CDU_Mbed_35 by Engravity-CDU

CDU_Config.cpp

Committer:
WillemBraat
Date:
2014-10-08
Revision:
20:2d6ac4577e68

File content as of revision 20:2d6ac4577e68:

/**
 * Test program for configuration file interface class (Version 0.0.1)
 *
 * Copyright (C) 2010 Shinichiro Nakamura (CuBeatSystems)
 * http://shinta.main.jp/
 */
#include "mbed.h"
#include "ConfigFile.h"

ConfigFile cfg;
LocalFileSystem local("local");
//Serial pc(USBTX, USBRX); // tx, rx

/**
 * View the list.
 */
void viewlist(void) {
    /*
     * If you need to check all parameters.
     */
    const int cnt = cfg.getCount();
    char buf_key[BUFSIZ];
    char buf_value[BUFSIZ];
    for (int i = 0; i < cnt; i++) {
        if (cfg.getKeyAndValue(i, buf_key, sizeof(buf_key), buf_value, sizeof(buf_value))) {
            printf("No.%3d:'%s'='%s'\n", i, buf_key, buf_value);
        } else {
            printf("No.%3d:Failure to get a configuration.\n", i);
        }
    }
}

/**
 * ==================================================
 * Input file (input.cfg)
 * ==================================================
 * #
 * # Configuration file for mbed.
 * #
 *
 * MyKey1=This is a value for key1.
 * MyKey2=Value 2
 *
 * Message1 = This is a test message no.1
 *  Message2 = This is a test message no.2
 *   Message3 = This is a test message no.3
 *
 * ==================================================
 * Output file (output1.cfg)
 * ==================================================
 * MyKey1=This is a value for key1.
 * MyKey2=Value 2
 * Message1 = This is a test message no.1
 *  Message2  =  This is a test message no.2
 *   Message3   =   This is a test message no.3
 *
 * ==================================================
 * Output file (output2.txt)
 * ==================================================
 * # This is a configuration file for my application.
 * ABC=123
 * DEF=456
 *
 * ==================================================
 * Console output
 * ==================================================
 * 'MyKey1'='This is a value for key1.'
 * 'MyKey2'='Value 2'
 * 'Message1 '=' This is a test message no.1'
 * ' Message2  '='  This is a test message no.2'
 * '  Message3   '='   This is a test message no.3'
 *
 */
int ReadConfig() {

    char *key1 = "Baudrate";
    char *key2 = "Databits";
    char *key3 = "Parity ";
    char *key4 = "Stopbit";
    
    char *key5 = "USB-Ethernet";
    
    
    char value[BUFSIZ];

    /*
     * Read a configuration file from a mbed.
     */
    cfg.read("/local/input.cfg");

    /*
     * Read a configuration value.
     */
    if (cfg.getValue(key1, &value[0], sizeof(value))) {
        printf("'%s'='%s'\n", key1, value);
    }

    if (cfg.getValue(key2, &value[0], sizeof(value))) {
        printf("'%s'='%s'\n", key2, value);
    }

    if (cfg.getValue(key3, &value[0], sizeof(value))) {
        printf("'%s'='%s'\n", key3, value);
    }

    if (cfg.getValue(key4, &value[0], sizeof(value))) {
        printf("'%s'='%s'\n", key4, value);
    }

    if (cfg.getValue(key5, &value[0], sizeof(value))) {
        printf("'%s'='%s'\n", key5, value);
    }

    /*
     * Write a configuration file to a mbed.
     */
    cfg.write("/local/output1.cfg");

    /*
     * Remove all configurations.
     */
    cfg.removeAll();

    /*
     * Write a configuration value.
     */
    cfg.setValue("ABC", "123");
    cfg.setValue("DEF", "456");

    /*
     * Write a configuration file to a mbed.
     */
    cfg.write("/local/output2.cfg", "# This is a configuration file for my application.");

    while (1) {
    }
}