New work version with additional functions
Dependencies: 4DGL-UC ConfigFile MODSERIAL mbed mbos
Fork of CDU_Mbed_35 by
CDU_Config.cpp@20:2d6ac4577e68, 2014-10-08 (annotated)
- 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?
User | Revision | Line number | New 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 | } |