Subversion Repositories NaviCtrl

Rev

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;