New work version with additional functions

Dependencies:   4DGL-UC ConfigFile MODSERIAL mbed mbos

Fork of CDU_Mbed_35 by Engravity-CDU

Committer:
WillemBraat
Date:
Wed Oct 08 14:14:52 2014 +0000
Revision:
20:2d6ac4577e68
New release with additional new functions.
; * File handling for config files
; * CDU setup & test screens
; * External power monitoring

Who changed what in which revision?

UserRevisionLine numberNew contents of line
WillemBraat 20:2d6ac4577e68 1 /**
WillemBraat 20:2d6ac4577e68 2 * Test program for configuration file interface class (Version 0.0.1)
WillemBraat 20:2d6ac4577e68 3 *
WillemBraat 20:2d6ac4577e68 4 * Copyright (C) 2010 Shinichiro Nakamura (CuBeatSystems)
WillemBraat 20:2d6ac4577e68 5 * http://shinta.main.jp/
WillemBraat 20:2d6ac4577e68 6 */
WillemBraat 20:2d6ac4577e68 7 #include "mbed.h"
WillemBraat 20:2d6ac4577e68 8 #include "ConfigFile.h"
WillemBraat 20:2d6ac4577e68 9
WillemBraat 20:2d6ac4577e68 10 ConfigFile cfg;
WillemBraat 20:2d6ac4577e68 11 LocalFileSystem local("local");
WillemBraat 20:2d6ac4577e68 12 //Serial pc(USBTX, USBRX); // tx, rx
WillemBraat 20:2d6ac4577e68 13
WillemBraat 20:2d6ac4577e68 14 /**
WillemBraat 20:2d6ac4577e68 15 * View the list.
WillemBraat 20:2d6ac4577e68 16 */
WillemBraat 20:2d6ac4577e68 17 void viewlist(void) {
WillemBraat 20:2d6ac4577e68 18 /*
WillemBraat 20:2d6ac4577e68 19 * If you need to check all parameters.
WillemBraat 20:2d6ac4577e68 20 */
WillemBraat 20:2d6ac4577e68 21 const int cnt = cfg.getCount();
WillemBraat 20:2d6ac4577e68 22 char buf_key[BUFSIZ];
WillemBraat 20:2d6ac4577e68 23 char buf_value[BUFSIZ];
WillemBraat 20:2d6ac4577e68 24 for (int i = 0; i < cnt; i++) {
WillemBraat 20:2d6ac4577e68 25 if (cfg.getKeyAndValue(i, buf_key, sizeof(buf_key), buf_value, sizeof(buf_value))) {
WillemBraat 20:2d6ac4577e68 26 printf("No.%3d:'%s'='%s'\n", i, buf_key, buf_value);
WillemBraat 20:2d6ac4577e68 27 } else {
WillemBraat 20:2d6ac4577e68 28 printf("No.%3d:Failure to get a configuration.\n", i);
WillemBraat 20:2d6ac4577e68 29 }
WillemBraat 20:2d6ac4577e68 30 }
WillemBraat 20:2d6ac4577e68 31 }
WillemBraat 20:2d6ac4577e68 32
WillemBraat 20:2d6ac4577e68 33 /**
WillemBraat 20:2d6ac4577e68 34 * ==================================================
WillemBraat 20:2d6ac4577e68 35 * Input file (input.cfg)
WillemBraat 20:2d6ac4577e68 36 * ==================================================
WillemBraat 20:2d6ac4577e68 37 * #
WillemBraat 20:2d6ac4577e68 38 * # Configuration file for mbed.
WillemBraat 20:2d6ac4577e68 39 * #
WillemBraat 20:2d6ac4577e68 40 *
WillemBraat 20:2d6ac4577e68 41 * MyKey1=This is a value for key1.
WillemBraat 20:2d6ac4577e68 42 * MyKey2=Value 2
WillemBraat 20:2d6ac4577e68 43 *
WillemBraat 20:2d6ac4577e68 44 * Message1 = This is a test message no.1
WillemBraat 20:2d6ac4577e68 45 * Message2 = This is a test message no.2
WillemBraat 20:2d6ac4577e68 46 * Message3 = This is a test message no.3
WillemBraat 20:2d6ac4577e68 47 *
WillemBraat 20:2d6ac4577e68 48 * ==================================================
WillemBraat 20:2d6ac4577e68 49 * Output file (output1.cfg)
WillemBraat 20:2d6ac4577e68 50 * ==================================================
WillemBraat 20:2d6ac4577e68 51 * MyKey1=This is a value for key1.
WillemBraat 20:2d6ac4577e68 52 * MyKey2=Value 2
WillemBraat 20:2d6ac4577e68 53 * Message1 = This is a test message no.1
WillemBraat 20:2d6ac4577e68 54 * Message2 = This is a test message no.2
WillemBraat 20:2d6ac4577e68 55 * Message3 = This is a test message no.3
WillemBraat 20:2d6ac4577e68 56 *
WillemBraat 20:2d6ac4577e68 57 * ==================================================
WillemBraat 20:2d6ac4577e68 58 * Output file (output2.txt)
WillemBraat 20:2d6ac4577e68 59 * ==================================================
WillemBraat 20:2d6ac4577e68 60 * # This is a configuration file for my application.
WillemBraat 20:2d6ac4577e68 61 * ABC=123
WillemBraat 20:2d6ac4577e68 62 * DEF=456
WillemBraat 20:2d6ac4577e68 63 *
WillemBraat 20:2d6ac4577e68 64 * ==================================================
WillemBraat 20:2d6ac4577e68 65 * Console output
WillemBraat 20:2d6ac4577e68 66 * ==================================================
WillemBraat 20:2d6ac4577e68 67 * 'MyKey1'='This is a value for key1.'
WillemBraat 20:2d6ac4577e68 68 * 'MyKey2'='Value 2'
WillemBraat 20:2d6ac4577e68 69 * 'Message1 '=' This is a test message no.1'
WillemBraat 20:2d6ac4577e68 70 * ' Message2 '=' This is a test message no.2'
WillemBraat 20:2d6ac4577e68 71 * ' Message3 '=' This is a test message no.3'
WillemBraat 20:2d6ac4577e68 72 *
WillemBraat 20:2d6ac4577e68 73 */
WillemBraat 20:2d6ac4577e68 74 int ReadConfig() {
WillemBraat 20:2d6ac4577e68 75
WillemBraat 20:2d6ac4577e68 76 char *key1 = "Baudrate";
WillemBraat 20:2d6ac4577e68 77 char *key2 = "Databits";
WillemBraat 20:2d6ac4577e68 78 char *key3 = "Parity ";
WillemBraat 20:2d6ac4577e68 79 char *key4 = "Stopbit";
WillemBraat 20:2d6ac4577e68 80
WillemBraat 20:2d6ac4577e68 81 char *key5 = "USB-Ethernet";
WillemBraat 20:2d6ac4577e68 82
WillemBraat 20:2d6ac4577e68 83
WillemBraat 20:2d6ac4577e68 84 char value[BUFSIZ];
WillemBraat 20:2d6ac4577e68 85
WillemBraat 20:2d6ac4577e68 86 /*
WillemBraat 20:2d6ac4577e68 87 * Read a configuration file from a mbed.
WillemBraat 20:2d6ac4577e68 88 */
WillemBraat 20:2d6ac4577e68 89 cfg.read("/local/input.cfg");
WillemBraat 20:2d6ac4577e68 90
WillemBraat 20:2d6ac4577e68 91 /*
WillemBraat 20:2d6ac4577e68 92 * Read a configuration value.
WillemBraat 20:2d6ac4577e68 93 */
WillemBraat 20:2d6ac4577e68 94 if (cfg.getValue(key1, &value[0], sizeof(value))) {
WillemBraat 20:2d6ac4577e68 95 printf("'%s'='%s'\n", key1, value);
WillemBraat 20:2d6ac4577e68 96 }
WillemBraat 20:2d6ac4577e68 97
WillemBraat 20:2d6ac4577e68 98 if (cfg.getValue(key2, &value[0], sizeof(value))) {
WillemBraat 20:2d6ac4577e68 99 printf("'%s'='%s'\n", key2, value);
WillemBraat 20:2d6ac4577e68 100 }
WillemBraat 20:2d6ac4577e68 101
WillemBraat 20:2d6ac4577e68 102 if (cfg.getValue(key3, &value[0], sizeof(value))) {
WillemBraat 20:2d6ac4577e68 103 printf("'%s'='%s'\n", key3, value);
WillemBraat 20:2d6ac4577e68 104 }
WillemBraat 20:2d6ac4577e68 105
WillemBraat 20:2d6ac4577e68 106 if (cfg.getValue(key4, &value[0], sizeof(value))) {
WillemBraat 20:2d6ac4577e68 107 printf("'%s'='%s'\n", key4, value);
WillemBraat 20:2d6ac4577e68 108 }
WillemBraat 20:2d6ac4577e68 109
WillemBraat 20:2d6ac4577e68 110 if (cfg.getValue(key5, &value[0], sizeof(value))) {
WillemBraat 20:2d6ac4577e68 111 printf("'%s'='%s'\n", key5, value);
WillemBraat 20:2d6ac4577e68 112 }
WillemBraat 20:2d6ac4577e68 113
WillemBraat 20:2d6ac4577e68 114 /*
WillemBraat 20:2d6ac4577e68 115 * Write a configuration file to a mbed.
WillemBraat 20:2d6ac4577e68 116 */
WillemBraat 20:2d6ac4577e68 117 cfg.write("/local/output1.cfg");
WillemBraat 20:2d6ac4577e68 118
WillemBraat 20:2d6ac4577e68 119 /*
WillemBraat 20:2d6ac4577e68 120 * Remove all configurations.
WillemBraat 20:2d6ac4577e68 121 */
WillemBraat 20:2d6ac4577e68 122 cfg.removeAll();
WillemBraat 20:2d6ac4577e68 123
WillemBraat 20:2d6ac4577e68 124 /*
WillemBraat 20:2d6ac4577e68 125 * Write a configuration value.
WillemBraat 20:2d6ac4577e68 126 */
WillemBraat 20:2d6ac4577e68 127 cfg.setValue("ABC", "123");
WillemBraat 20:2d6ac4577e68 128 cfg.setValue("DEF", "456");
WillemBraat 20:2d6ac4577e68 129
WillemBraat 20:2d6ac4577e68 130 /*
WillemBraat 20:2d6ac4577e68 131 * Write a configuration file to a mbed.
WillemBraat 20:2d6ac4577e68 132 */
WillemBraat 20:2d6ac4577e68 133 cfg.write("/local/output2.cfg", "# This is a configuration file for my application.");
WillemBraat 20:2d6ac4577e68 134
WillemBraat 20:2d6ac4577e68 135 while (1) {
WillemBraat 20:2d6ac4577e68 136 }
WillemBraat 20:2d6ac4577e68 137 }