Subversion Repositories FlightCtrl

Compare Revisions

Ignore whitespace Rev 1113 → Rev 1114

/branches/thjac/V1_10/fc.c
610,7 → 610,7
if(PPM_in[EE_Parameter.Kanalbelegung[K_GAS]] < 35-120)
{
// Starten
if(PPM_in[EE_Parameter.Kanalbelegung[K_GIER]] < -75)
if( !MotorenEin && PPM_in[EE_Parameter.Kanalbelegung[K_GIER]] < -75 )
{
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Einschalten
/branches/thjac/V1_10/led.c
2,23 → 2,42
#include "main.h"
#include "parameter.h"
 
uint16_t LED1_Timing = 0;
uint16_t LED2_Timing = 0;
uint16_t LED1_Timing = 0;
uint16_t LED2_Timing = 0;
 
unsigned char J16Blinkcount = 0, J16Mask = 1;
unsigned char J17Blinkcount = 0, J17Mask = 1;
 
unsigned char lightsEnabled = 0;
unsigned char forceEnabled = 0;
 
extern char MotorenEin;
 
 
void setJ16( char enabled ) {
if( PARAM_LED_NEGATE )
enabled = !enabled;
if( enabled && forceEnabled )
J16_ON;
else
J16_OFF;
}
 
void setJ17( char enabled ) {
if( PARAM_LED_NEGATE )
enabled = !enabled;
if( enabled && forceEnabled )
J17_ON;
else
J17_OFF;
}
 
// initializes the LED control outputs J16, J17
void LED_Init( void ) {
// set PC2 & PC3 as output (control of J16 & J17)
DDRC |= (1<<DDC2)|(1<<DDC3);
J16_OFF;
J17_OFF;
setJ16( 0 );
setJ17( 0 );
J16Blinkcount = 0; J16Mask = 128;
J17Blinkcount = 0; J17Mask = 128;
}
27,8 → 46,8
// called in UpdateMotors() every 2ms
void LED_Update( void ) {
 
static char delay = 0;
static char delay = 0;
if( !MotorenEin ) {
/* Mit dem Gier-Stick links lassen sich die LED's ein- und ausschalten.
54,7 → 73,9
if( PARAM_LED_ENGINE_ENABLED ) {
lightsEnabled = MotorenEin;
}
 
forceEnabled = lightsEnabled;
if( !delay-- ) {
 
delay = 4; // 10ms Intervall
65,7 → 86,15
// Grenze für Unterspannungswarnung erreicht?
if( UBat < EE_Parameter.UnterspannungsWarnung ) {
delay = 2; // 5ms Intervall
// Erzwingt die Aktivierung der Ausgänge
if( PARAM_LED_FORCE_WARNING_ENABLED )
forceEnabled = 1;
if( PARAM_LED_WARNING_FAST_ENABLED ) {
delay = 1; // 2,5ms Intervall
} else {
delay = 2; // 5ms Intervall
}
}
}
72,15 → 101,9
/* J16
*/
if( ( EE_Parameter.J16Timing > 250 ) && ( Parameter_J16Timing > 230 ) ) {
if( EE_Parameter.J16Bitmask & 128 )
J16_ON;
else
J16_OFF;
setJ16( EE_Parameter.J16Bitmask & 128 );
} else if( ( EE_Parameter.J16Timing > 250 ) && ( Parameter_J16Timing < 10 ) ) {
if( EE_Parameter.J16Bitmask & 128 )
J16_OFF;
else
J16_ON;
setJ16( !( EE_Parameter.J16Bitmask & 128 ) );
} else if( !J16Blinkcount-- ) {
J16Blinkcount = Parameter_J16Timing-1;
89,24 → 112,15
J16Mask = 128;
else
J16Mask /= 2;
if( J16Mask & EE_Parameter.J16Bitmask )
J16_ON;
else
J16_OFF;
setJ16( J16Mask & EE_Parameter.J16Bitmask );
}
/* J17
*/
if( ( EE_Parameter.J17Timing > 250 ) && ( Parameter_J17Timing > 230 ) ) {
if( EE_Parameter.J17Bitmask & 128 )
J17_ON;
else
J17_OFF;
setJ17( EE_Parameter.J17Bitmask & 128 );
} else if( ( EE_Parameter.J17Timing > 250 ) && ( Parameter_J17Timing < 10 ) ) {
if( EE_Parameter.J17Bitmask & 128 )
J17_OFF;
else
J17_ON;
setJ17( !( EE_Parameter.J17Bitmask & 128 ) );
} else if( !J17Blinkcount-- ) {
J17Blinkcount = Parameter_J17Timing-1;
115,16 → 129,7
J17Mask = 128;
else
J17Mask /= 2;
if( J17Mask & EE_Parameter.J17Bitmask )
J17_ON;
else
J17_OFF;
setJ17( J17Mask & EE_Parameter.J17Bitmask );
}
}
if( !lightsEnabled ) {
J16_OFF;
J17_OFF;
}
}
/branches/thjac/V1_10/makefile
5,7 → 5,7
#-------------------------------------------------------------------
VERSION_MAJOR = 1
VERSION_MINOR = 10
VERSION_PATCH = 0
VERSION_PATCH = 1
 
VERSION_SERIAL_MAJOR = 10 # Serial Protocol
VERSION_SERIAL_MINOR = 0 # Serial Protocol
/branches/thjac/V1_10/parameter.h
54,6 → 54,19
*/
#define PARAM_LED_WARNING_ENABLED ( EE_Parameter.UserParam8 & 0x10 ) // 0=deaktiviert 1=Schnelles Blinken
 
/* Erzwingt die Aktivierung der LED-Ausgänge im Fall einer
* Unterspannungswarnung.
*/
#define PARAM_LED_FORCE_WARNING_ENABLED ( EE_Parameter.UserParam6 & 0x01 )
 
/* Wenn gesetzt, wird der Pegel der Ausgänge J16/J17 vertauscht.
*/
#define PARAM_LED_NEGATE ( EE_Parameter.UserParam6 & 0x02 )
 
/* Erhöht die Blinkfrequenz für die Unterspannungswarnung.
*/
#define PARAM_LED_WARNING_FAST_ENABLED ( EE_Parameter.UserParam6 & 0x04 )
 
/* Wenn gesetzt, dann wird mit neutralisiertem Pitch-Stick und automatisch
* zugeschalteter Höhenregelung geflogen. Damit bei versehentlich falscher
* Konfiguration kein Schaden entsteht, muß zusätzlich beim Einschalten
69,4 → 82,5
*/
#define PARAM_PITCH_RESTART_ENABLED ( EE_Parameter.UserParam8 & 0x40 ) // 0=deaktiviert 1=aktiviert
 
 
#endif // PARAMETER_H
/branches/thjac/V1_10/version.txt
157,7 → 157,7
 
Baseline V0.70d
 
V0_10 T. Jachmann
V1_10a T. Jachmann
- Neutralstellung des Gasknüppels mit autom. Aktivierung der Höhenregelung in Neutralstellung
- Automatische Kalibrierung (Ermittlung der Neutralstellung) des Gas-Sticks beim Einschalten der FC
- Bleibt der Knüppel für ca. 0,5 in Neutralstellung, wird die autom. Höhenregelung aktiviert
170,13 → 170,8
- Einschalten der LED-Ausgänge beim Starten der Motoren
- Einführung eines zweiten MinGas-Parameters für Leerlaufgas nach Einschalten der Motoren
 
V1_10a T. Jachmann
- Baseline V0.71h
- Alle Änderungen gegenüber der Original-SW sind jetzt per UserParameter konfigurierbar
- Zwei Pitch-Modi; Es kann auch mit der Original-Pitch-Steuerung geflogen werden
- Automatische Erkennung des Pitch-Modus beim Einschalten der FC oder per Konfiguration
- Optimierter (weicherer) Übergang von autom. Höhenregelung auf manuelle Steuerung
- Looping-Funktion wieder drin (jedoch nur für "+"-Formationsflug)
- Signalisierung der Unterspannungswarnung über LED-Ausgänge
- Möglichkeit des Schaltens der LED-Ausgänge über den Sender
- Simulationsmodus: Deaktivieren der Motoren (wird später wieder entfernt!)
V1_10b T. Jachmann
- MK wird bei eingeschalteten Motoren mit Stick rechts unten nicht kalibriert
- Die J16/J17-Frequenz kann bei Unterspannungswarnung erhöht werden
- Die Pegel von J16/J17 lassen sich invertieren
- Auch bei ausgeschalteten LED's können diese im Unterspannungsfall zwanghaft aktiviert werden