Rev 90 | Rev 101 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 90 | Rev 92 | ||
---|---|---|---|
Line 97... | Line 97... | ||
97 | // set parameter from string based name and value |
97 | // set parameter from string based name and value |
98 | u8 Settings_SetParameterFromString(s8 *name, s8 *value) |
98 | u8 Settings_SetParameterFromString(s8 *name, s8 *value) |
99 | { |
99 | { |
100 | u8 i, retval = 0; |
100 | u8 i, retval = 0; |
101 | s8 string[] = " \0"; // null terminated string of 16 characters |
101 | s8 string[] = " \0"; // null terminated string of 16 characters |
102 | s8 text[64]; |
- | |
Line 103... | Line 102... | ||
103 | 102 | ||
Line 104... | Line 103... | ||
104 | if((name == NULL) || (value == NULL)) return(retval); |
103 | if((name == NULL) || (value == NULL)) return(retval); |
105 | 104 | ||
Line 106... | Line 105... | ||
106 | i = strlen(name); // lenght of the parameter name |
105 | i = strlen(name); // lenght of the parameter name |
107 | if (i > 16) i = 16; // cut off at 16 |
- | |
Line 108... | Line 106... | ||
108 | 106 | if (i > 16) i = 16; // cut off at 16 |
|
109 | memcpy(string, name, i); // copy name to local buffer |
107 | |
110 | //sprintf(text,"#%s#%s#\n\r", name, string); SerialPutString(text); |
108 | memcpy(string, name, i); // copy name to local buffer |
111 | 109 | ||
Line 138... | Line 136... | ||
138 | // read settings from file on sd-card |
136 | // read settings from file on sd-card |
139 | void Settings_Init(void) |
137 | void Settings_Init(void) |
140 | { |
138 | { |
141 | #define LINE_MAX 32 |
139 | #define LINE_MAX 32 |
142 | File_t *fp; |
140 | File_t *fp; |
143 | s8 text[LINE_MAX]; |
141 | s8 settingsline[LINE_MAX]; |
144 | s8 *name, *value; |
142 | s8 *name, *value; |
145 | u8 i; |
143 | u8 i; |
Line 146... | Line 144... | ||
146 | 144 | ||
147 | SerialPutString("\n\rSettings init..."); |
145 | SerialPutString("\n\rSettings init..."); |
Line 156... | Line 154... | ||
156 | { |
154 | { |
157 | SerialPutString("ERROR: Opening settings file!"); |
155 | SerialPutString("ERROR: Opening settings file!"); |
158 | return; |
156 | return; |
159 | } |
157 | } |
160 | // read all lines from file |
158 | // read all lines from file |
161 | while(fgets_(text, LINE_MAX, fp) != 0) |
159 | while(fgets_(settingsline, LINE_MAX, fp) != 0) |
162 | { |
160 | { |
163 | if ( // ignorelines starting with \r,\n,' ',';','#' |
161 | if ( // ignorelines starting with \r,\n,' ',';','#' |
164 | (text[0] != '\n') && |
162 | (settingsline[0] != '\n') && |
165 | (text[0] != '\r') && |
163 | (settingsline[0] != '\r') && |
166 | (text[0] != ' ' ) && |
164 | (settingsline[0] != ' ' ) && |
167 | (text[0] != ';' ) && |
165 | (settingsline[0] != ';' ) && |
168 | (text[0] != '#' ) |
166 | (settingsline[0] != '#' ) |
169 | ) |
167 | ) |
170 | { |
168 | { |
171 | name = strtok(text, "="); // get name |
169 | name = strtok(settingsline, "="); // get name |
172 | value = strtok(NULL, "="); // get value |
170 | value = strtok(NULL, "="); // get value |
173 | if ((name != NULL) && (value != NULL)) |
171 | if ((name != NULL) && (value != NULL)) |
174 | { |
172 | { |
175 | Settings_SetParameterFromString(name, value); |
173 | Settings_SetParameterFromString(name, value); |
176 | } |
174 | } |
Line 189... | Line 187... | ||
189 | return; |
187 | return; |
190 | } |
188 | } |
191 | // run thrue all parameters and set value to default |
189 | // run thrue all parameters and set value to default |
192 | for (i = 0; i < sizeof(CFG_Parameter) / sizeof(Parameter_t); i++) |
190 | for (i = 0; i < sizeof(CFG_Parameter) / sizeof(Parameter_t); i++) |
193 | { |
191 | { |
194 | sprintf(text, "%s = %d\r\n", CFG_Parameter[i].Name, CFG_Parameter[i].Default); |
192 | sprintf(settingsline, "%s = %d\r\n", CFG_Parameter[i].Name, CFG_Parameter[i].Default); |
195 | fputs_(text, fp); // write to file |
193 | fputs_(settingsline, fp); // write to file |
196 | } |
194 | } |
197 | fputs_("\r\n", fp); // newline at the end of file |
195 | fputs_("\r\n", fp); // newline at the end of file |
198 | fclose_(fp); |
196 | fclose_(fp); |
199 | SerialPutString("Default settings file created!"); |
197 | SerialPutString("Default settings file created!"); |
200 | return; |
198 | return; |