Rev 362 | Rev 382 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 362 | Rev 381 | ||
---|---|---|---|
Line 66... | Line 66... | ||
66 | 66 | ||
67 | typedef struct |
67 | typedef struct |
68 | { |
68 | { |
69 | ParamId_t ParamId; |
69 | ParamId_t ParamId; |
- | 70 | s8 Name[17]; // 0 terminator is the last byte |
|
70 | s8 Name[17]; // 0 terminator is the last byte |
71 | s8 Comment[60]; |
71 | u8 Group; // 0 = reserved 1,2,3,4 |
72 | u8 Group; // 0 = reserved 1,2,3,4 |
72 | u16 Value; |
73 | u16 Value; |
73 | u16 Default; |
74 | u16 Default; |
74 | u16 Min; |
75 | u16 Min; |
75 | u16 Max; |
76 | u16 Max; |
Line -... | Line 77... | ||
- | 77 | } __attribute__((packed)) Parameter_t; |
|
- | 78 | ||
- | 79 | ||
- | 80 | ||
76 | } __attribute__((packed)) Parameter_t; |
81 | |
77 | 82 | ||
78 | Parameter_t CFG_Parameter[] = |
83 | Parameter_t CFG_Parameter[] = |
79 | { |
84 | { |
80 | //{PID , "1234567890123456" , Group, Value, Default, Min, Max }, |
85 | //{PID , "1234567890123456" , Comment, Group, Value, Default, Min, Max }, |
81 | {PID_KML_LOGGING , "KMLLOGGING " , 1, 500, 500, 0, 60000}, // the log interval for KML logging, 0 = off |
86 | {PID_KML_LOGGING , "KMLLOGGING " ,"KML logging interval in ms (0 = disabled) ", 1, 500, 500, 0, 60000}, // the log interval for KML logging, 0 = off |
82 | {PID_GPX_LOGGING , "GPXLOGGING " , 1, 1000, 1000, 0, 60000}, // the log interval for GPX logging, 0 = off |
87 | {PID_GPX_LOGGING , "GPXLOGGING " ,"GPX logging interval in ms (0 = disabled) ", 1, 1000, 1000, 0, 60000}, // the log interval for GPX logging, 0 = off |
83 | {PID_ABSOLUTE_FLYING_ALT , "MAX_FLYING_ALT " , 1, 0, 0, 0, 30000}, // in [m] |
88 | {PID_ABSOLUTE_FLYING_ALT , "MAX_FLYING_ALT " ,"max. altitude in m ", 1, 0, 0, 0, 30000}, // in [m] |
84 | {PID_ABSOLUTE_FLYING_RANGE , "MAX_FLYING_RANGE" , 1, 0, 0, 0, 60000}, // in [m] |
89 | {PID_ABSOLUTE_FLYING_RANGE , "MAX_FLYING_RANGE" ,"max. range in m ", 1, 0, 0, 0, 60000}, // in [m] |
85 | {PID_AUTO_DESCEND_RANGE , "DESCEND_RANGE " , 1, 0, 0, 0, 60000}, // in [m] |
90 | {PID_AUTO_DESCEND_RANGE , "DESCEND_RANGE " ,"range in m ", 1, 0, 0, 0, 60000}, // in [m] |
86 | {PID_GPS_SBAS_CONFIG , "GPS_SBAS_DGPS_ON" , 1, 1, 1, 0, 1}, |
91 | {PID_GPS_SBAS_CONFIG , "GPS_SBAS_DGPS_ON" ,"GPS SBAS mode (0 = off, 1 = on) ", 1, 1, 1, 0, 1}, |
87 | {PID_MIN_EVENT_TIME , "MIN_EVENT_TIME " , 1, 2, 2, 0, 600}, // in seconds |
92 | {PID_MIN_EVENT_TIME , "MIN_EVENT_TIME " ,"in seconds ", 1, 2, 2, 0, 600}, // in seconds |
Line 88... | Line 93... | ||
88 | {PID_GPS_AUTOCONFIG , "GPSAUTOCONFIG " , 1, 1, 1, 0, 1} |
93 | {PID_GPS_AUTOCONFIG , "GPSAUTOCONFIG " ,"GPS configmode (0 = off, 1 = on) ", 1, 1, 1, 0, 1} |
89 | }; |
94 | }; |
Line 142... | Line 147... | ||
142 | 147 | ||
143 | //---------------------------------------------------------------------------------- |
148 | //---------------------------------------------------------------------------------- |
144 | // read settings from file on sd-card |
149 | // read settings from file on sd-card |
145 | void Settings_Init(void) |
150 | void Settings_Init(void) |
146 | { |
151 | { |
147 | #define LINE_MAX 32 |
152 | #define LINE_MAX 70 |
148 | File_t *fp; |
153 | File_t *fp; |
149 | s8 settingsline[LINE_MAX]; |
154 | s8 settingsline[LINE_MAX]; |
150 | s8 *name, *value; |
155 | s8 *name, *value; |
151 | u8 i; |
156 | u8 i; |
Line 196... | Line 201... | ||
196 | { |
201 | { |
197 | UART1_PutString("ERROR: Creating default settings file!"); |
202 | UART1_PutString("ERROR: Creating default settings file!"); |
198 | return; |
203 | return; |
199 | } |
204 | } |
200 | // run thrue all parameters and set value to default |
205 | // run thrue all parameters and set value to default |
- | 206 | fputs_("######## MikroKopter configuration file ########\r\n", fp); // write to file |
|
- | 207 | fputs_("#------------------------------------------------------\r\n\r\n", fp); // write to file |
|
201 | for (i = 0; i < sizeof(CFG_Parameter) / sizeof(Parameter_t); i++) |
208 | for (i = 0; i < sizeof(CFG_Parameter) / sizeof(Parameter_t); i++) |
202 | { |
209 | { |
- | 210 | s8 tmp_comment[61]; |
|
- | 211 | tmp_comment[60] = '\0'; |
|
- | 212 | ||
- | 213 | memcpy(tmp_comment,CFG_Parameter[i].Comment , 60); |
|
- | 214 | ||
- | 215 | sprintf(settingsline, "\r\n# %s\r\n", tmp_comment); |
|
- | 216 | fputs_(settingsline, fp); // write to file |
|
- | 217 | ||
203 | sprintf(settingsline, "%s = %d\r\n", CFG_Parameter[i].Name, CFG_Parameter[i].Default); |
218 | sprintf(settingsline, "%s = %d\r\n", CFG_Parameter[i].Name, CFG_Parameter[i].Default); |
204 | fputs_(settingsline, fp); // write to file |
219 | fputs_(settingsline, fp); // write to file |
205 | } |
220 | } |
206 | fputs_("\r\n", fp); // newline at the end of file |
221 | fputs_("\r\n", fp); // newline at the end of file |
207 | fclose_(fp); |
222 | fclose_(fp); |