Subversion Repositories NaviCtrl

Rev

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);