Subversion Repositories NaviCtrl

Rev

Rev 485 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 485 Rev 489
Line 5... Line 5...
5
// + www.MikroKopter.com
5
// + www.MikroKopter.com
6
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
7
// + Software Nutzungsbedingungen (english version: see below)
7
// + Software Nutzungsbedingungen (english version: see below)
8
// + der Fa. HiSystems GmbH, Flachsmeerstrasse 2, 26802 Moormerland - nachfolgend Lizenzgeber genannt -
8
// + der Fa. HiSystems GmbH, Flachsmeerstrasse 2, 26802 Moormerland - nachfolgend Lizenzgeber genannt -
9
// + Der Lizenzgeber räumt dem Kunden ein nicht-ausschließliches, zeitlich und räumlich* unbeschränktes Recht ein, die im den
9
// + Der Lizenzgeber räumt dem Kunden ein nicht-ausschließliches, zeitlich und räumlich* unbeschränktes Recht ein, die im den
10
// + Mikrocontroller verwendete Firmware für die Hardware Flight-Ctrl, Navi-Ctrl, BL-Ctrl, MK3Mag & PC-Programm MikroKopter-Tool 
10
// + Mikrocontroller verwendete Firmware für die Hardware Flight-Ctrl, Navi-Ctrl, BL-Ctrl, MK3Mag & PC-Programm MikroKopter-Tool
11
// + - nachfolgend Software genannt - nur für private Zwecke zu nutzen.
11
// + - nachfolgend Software genannt - nur für private Zwecke zu nutzen.
12
// + Der Einsatz dieser Software ist nur auf oder mit Produkten des Lizenzgebers zulässig.
12
// + Der Einsatz dieser Software ist nur auf oder mit Produkten des Lizenzgebers zulässig.
13
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
13
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
14
// + Die vom Lizenzgeber gelieferte Software ist urheberrechtlich geschützt. Alle Rechte an der Software sowie an sonstigen im
14
// + Die vom Lizenzgeber gelieferte Software ist urheberrechtlich geschützt. Alle Rechte an der Software sowie an sonstigen im
15
// + Rahmen der Vertragsanbahnung und Vertragsdurchführung überlassenen Unterlagen stehen im Verhältnis der Vertragspartner ausschließlich dem Lizenzgeber zu.
15
// + Rahmen der Vertragsanbahnung und Vertragsdurchführung überlassenen Unterlagen stehen im Verhältnis der Vertragspartner ausschließlich dem Lizenzgeber zu.
16
// + Die in der Software enthaltenen Copyright-Vermerke, Markenzeichen, andere Rechtsvorbehalte, Seriennummern sowie
16
// + Die in der Software enthaltenen Copyright-Vermerke, Markenzeichen, andere Rechtsvorbehalte, Seriennummern sowie
17
// + sonstige der Programmidentifikation dienenden Merkmale dürfen vom Kunden nicht verändert oder unkenntlich gemacht werden.
17
// + sonstige der Programmidentifikation dienenden Merkmale dürfen vom Kunden nicht verändert oder unkenntlich gemacht werden.
18
// + Der Kunde trifft angemessene Vorkehrungen für den sicheren Einsatz der Software. Er wird die Software gründlich auf deren
18
// + Der Kunde trifft angemessene Vorkehrungen für den sicheren Einsatz der Software. Er wird die Software gründlich auf deren
19
// + Verwendbarkeit zu dem von ihm beabsichtigten Zweck testen, bevor er diese operativ einsetzt.
19
// + Verwendbarkeit zu dem von ihm beabsichtigten Zweck testen, bevor er diese operativ einsetzt.
20
// + Die Haftung des Lizenzgebers wird - soweit gesetzlich zulässig - begrenzt in Höhe des typischen und vorhersehbaren
20
// + Die Haftung des Lizenzgebers wird - soweit gesetzlich zulässig - begrenzt in Höhe des typischen und vorhersehbaren
21
// + Schadens. Die gesetzliche Haftung bei Personenschäden und nach dem Produkthaftungsgesetz bleibt unberührt. Dem Lizenzgeber steht jedoch der Einwand 
21
// + Schadens. Die gesetzliche Haftung bei Personenschäden und nach dem Produkthaftungsgesetz bleibt unberührt. Dem Lizenzgeber steht jedoch der Einwand
22
// + des Mitverschuldens offen.
22
// + des Mitverschuldens offen.
23
// + Der Kunde trifft angemessene Vorkehrungen für den Fall, dass die Software ganz oder teilweise nicht ordnungsgemäß arbeitet.
23
// + Der Kunde trifft angemessene Vorkehrungen für den Fall, dass die Software ganz oder teilweise nicht ordnungsgemäß arbeitet.
24
// + Er wird die Software gründlich auf deren Verwendbarkeit zu dem von ihm beabsichtigten Zweck testen, bevor er diese operativ einsetzt.
24
// + Er wird die Software gründlich auf deren Verwendbarkeit zu dem von ihm beabsichtigten Zweck testen, bevor er diese operativ einsetzt.
25
// + Der Kunde wird er seine Daten vor Einsatz der Software nach dem Stand der Technik sichern.
25
// + Der Kunde wird er seine Daten vor Einsatz der Software nach dem Stand der Technik sichern.
26
// + Der Kunde ist darüber unterrichtet, dass der Lizenzgeber seine Daten im zur Vertragsdurchführung erforderlichen Umfang
26
// + Der Kunde ist darüber unterrichtet, dass der Lizenzgeber seine Daten im zur Vertragsdurchführung erforderlichen Umfang
Line 30... Line 30...
30
// +  Hinweis: Informationen über erweiterte Nutzungsrechte (wie z.B. Nutzung für nicht-private Zwecke) sind auf Anfrage per Email an info(@)hisystems.de verfügbar.
30
// +  Hinweis: Informationen über erweiterte Nutzungsrechte (wie z.B. Nutzung für nicht-private Zwecke) sind auf Anfrage per Email an info(@)hisystems.de verfügbar.
31
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
31
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
32
// + Software LICENSING TERMS
32
// + Software LICENSING TERMS
33
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
33
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
34
// + of HiSystems GmbH, Flachsmeerstrasse 2, 26802 Moormerland, Germany - the Licensor -
34
// + of HiSystems GmbH, Flachsmeerstrasse 2, 26802 Moormerland, Germany - the Licensor -
35
// + The Licensor grants the customer a non-exclusive license to use the microcontroller firmware of the Flight-Ctrl, Navi-Ctrl, BL-Ctrl, and MK3Mag hardware 
35
// + The Licensor grants the customer a non-exclusive license to use the microcontroller firmware of the Flight-Ctrl, Navi-Ctrl, BL-Ctrl, and MK3Mag hardware
36
// + (the Software) exclusively for private purposes. The License is unrestricted with respect to time and territory*.
36
// + (the Software) exclusively for private purposes. The License is unrestricted with respect to time and territory*.
37
// + The Software may only be used with the Licensor's products.
37
// + The Software may only be used with the Licensor's products.
38
// + The Software provided by the Licensor is protected by copyright. With respect to the relationship between the parties to this
38
// + The Software provided by the Licensor is protected by copyright. With respect to the relationship between the parties to this
39
// + agreement, all rights pertaining to the Software and other documents provided during the preparation and execution of this
39
// + agreement, all rights pertaining to the Software and other documents provided during the preparation and execution of this
40
// + agreement shall be the property of the Licensor.
40
// + agreement shall be the property of the Licensor.
Line 85... Line 85...
85
// logger handler prototypes
85
// logger handler prototypes
86
logfilestate_t Logging_KML(u32 LogDelay);
86
logfilestate_t Logging_KML(u32 LogDelay);
87
logfilestate_t Logging_GPX(u32 LogDelay);
87
logfilestate_t Logging_GPX(u32 LogDelay);
Line 88... Line 88...
88
 
88
 
89
LogCfg_t LogCfg = {500 , 1000};
89
LogCfg_t LogCfg = {500 , 1000};
Line 90... Line 90...
90
u32 Logged_GPX_Counter = 0, Logged_KML_Counter = 0;
90
u32 Logged_GPX_Counter = 0, Logged_KML_Counter = 0;
91
 
91
 
92
 
92
 
Line 175... Line 175...
175
        // no init
175
        // no init
176
        if(CheckDelay(logtimer))
176
        if(CheckDelay(logtimer))
177
        {
177
        {
178
                logtimer = SetDelay(LogDelay);  // standard interval
178
                logtimer = SetDelay(LogDelay);  // standard interval
Line 179... Line 179...
179
 
179
 
180
                if(FC.StatusFlags & FC_STATUS_MOTOR_RUN)
180
                if(FC.StatusFlags & FC_STATUS_MOTOR_RUN)
181
                 {
181
                 {
182
                  logging_active = 1;
182
                  logging_active = 1;
183
                  appendtimer = SetDelay(APPEND_LOG_TIME_MS);
183
                  appendtimer = SetDelay(APPEND_LOG_TIME_MS);
184
                 }
184
                 }
185
                else
185
                else
186
                 {
186
                 {
187
                  if(CheckDelay(appendtimer)) logging_active = 0;
187
                  if(CheckDelay(appendtimer)) logging_active = 0;
Line 188... Line 188...
188
                 }
188
                 }
Line 319... Line 319...
319
        // no init
319
        // no init
320
        if(CheckDelay(logtimer) || part)
320
        if(CheckDelay(logtimer) || part)
321
        {
321
        {
322
                if(!part) logtimer = SetDelay(LogDelay);        // standard interval
322
                if(!part) logtimer = SetDelay(LogDelay);        // standard interval
Line 323... Line 323...
323
 
323
 
324
                if(FC.StatusFlags & FC_STATUS_MOTOR_RUN)
324
                if(FC.StatusFlags & FC_STATUS_MOTOR_RUN)
325
                 {
325
                 {
326
                  logging_active = 1;
326
                  logging_active = 1;
327
                  appendtimer = SetDelay(APPEND_LOG_TIME_MS);
327
                  appendtimer = SetDelay(APPEND_LOG_TIME_MS);
328
                 }
328
                 }
329
                else
329
                else
330
                 {
330
                 {
331
                  if(CheckDelay(appendtimer)) logging_active = 0;
331
                  if(CheckDelay(appendtimer)) logging_active = 0;
Line 332... Line 332...
332
                 }
332
                 }
Line 395... Line 395...
395
                                                }
395
                                                }
396
                                                else // successful log
396
                                                else // successful log
397
                                                {
397
                                                {
398
                                                        if(ErrorCode != old_errorcode || CheckDelay(flushtimer))
398
                                                        if(ErrorCode != old_errorcode || CheckDelay(flushtimer))
399
                                                        {
399
                                                        {
400
                                                            if(ErrorCode != old_errorcode) flushtimer = SetDelay(1000);
400
                                                                if(ErrorCode != old_errorcode) flushtimer = SetDelay(1000);
401
                                                                else flushtimer = SetDelay(LOG_FLUSH_INTERVAL);
401
                                                                else flushtimer = SetDelay(LOG_FLUSH_INTERVAL);
402
                                                                fflush_(logfile.file);
402
                                                                fflush_(logfile.file);
403
                                                                old_errorcode = ErrorCode;
403
                                                                old_errorcode = ErrorCode;
404
                                                        }
404
                                                        }
405
                                                }
405
                                                }
Line 488... Line 488...
488
                                                logmodule = 0;
488
                                                logmodule = 0;
489
                                                break;
489
                                                break;
490
                                }
490
                                }
491
                        }
491
                        }
492
                        else // a logging error has occured
492
                        else // a logging error has occured
493
                        {      
493
                        {
494
//                              /*
494
//                              /*
495
                                // try to reinitialize sd-card when motors are not running
495
                                // try to reinitialize sd-card when motors are not running
496
                                if(!(FC.StatusFlags & FC_STATUS_MOTOR_RUN))
496
                                if(!(FC.StatusFlags & FC_STATUS_MOTOR_RUN))
497
                                {
497
                                {
498
                                        if(Fat16_IsValid()) // wait for reinizialization of fat16 from outside
498
                                        if(Fat16_IsValid()) // wait for reinizialization of fat16 from outside