Subversion Repositories FlightCtrl

Compare Revisions

Ignore whitespace Rev 689 → Rev 690

/branches/V0.68d Code Redesign killagreg/eeprom.c
29,15 → 29,15
/***************************************************/
void ParamSet_DefaultSet1(void) // sport
{
ParamSet.Kanalbelegung[K_NICK] = 1;
ParamSet.Kanalbelegung[K_ROLL] = 2;
ParamSet.Kanalbelegung[K_GAS] = 3;
ParamSet.Kanalbelegung[K_GIER] = 4;
ParamSet.Kanalbelegung[K_POTI1] = 5;
ParamSet.Kanalbelegung[K_POTI2] = 6;
ParamSet.Kanalbelegung[K_POTI3] = 7;
ParamSet.Kanalbelegung[K_POTI4] = 8;
ParamSet.GlobalConfig = CFG_ACHSENKOPPLUNG_AKTIV;//CFG_HOEHENREGELUNG | /*CFG_HOEHEN_SCHALTER |*/ CFG_KOMPASS_AKTIV | CFG_KOMPASS_FIX;//0x01;
ParamSet.ChannelAssignment[CH_NICK] = 1;
ParamSet.ChannelAssignment[CH_ROLL] = 2;
ParamSet.ChannelAssignment[CH_GAS] = 3;
ParamSet.ChannelAssignment[CH_GIER] = 4;
ParamSet.ChannelAssignment[CH_POTI1] = 5;
ParamSet.ChannelAssignment[CH_POTI2] = 6;
ParamSet.ChannelAssignment[CH_POTI3] = 7;
ParamSet.ChannelAssignment[CH_POTI4] = 8;
ParamSet.GlobalConfig = CFG_AXIS_COUPLING_ACTIVE;//CFG_HEIGHT_CONTROL | /*CFG_HEIGHT_SWITCH |*/ CFG_COMPASS_ACTIVE | CFG_COMPASS_FIX;//0x01;
ParamSet.Hoehe_MinGas = 30;
ParamSet.MaxHoehe = 251; // Wert : 0-250 251 -> Poti1
ParamSet.Hoehe_P = 10; // Wert : 0-32
53,11 → 53,11
ParamSet.KompassWirkung = 128; // Wert : 0-250
ParamSet.Gyro_P = 80; // Wert : 0-250
ParamSet.Gyro_I = 150; // Wert : 0-250
ParamSet.UnterspannungsWarnung = 94; // Wert : 0-250
ParamSet.NotGas = 35; // Wert : 0-250 // Gaswert bei Empangsverlust
ParamSet.NotGasZeit = 20; // Wert : 0-250 // Zeit bis auf NotGas geschaltet wird, wg. Rx-Problemen
ParamSet.UfoAusrichtung = 0; // X oder + Formation
ParamSet.I_Faktor = 32;
ParamSet.LowVoltageWarning = 94; // Wert : 0-250
ParamSet.EmergencyGas = 35; // Wert : 0-250 // Gaswert bei Empangsverlust
ParamSet.EmergencyGasDuration = 20; // Wert : 0-250 // Zeit bis auf EmergencyGas geschaltet wird, wg. Rx-Problemen
ParamSet.UfoArrangement = 0; // X oder + Formation
ParamSet.I_Factor = 32;
ParamSet.UserParam1 = 32 * 4; //zur freien Verwendung
ParamSet.UserParam2 = 0; //zur freien Verwendung
ParamSet.UserParam3 = 0; //zur freien Verwendung
74,7 → 74,7
ParamSet.ServoNickRefresh = 5;
ParamSet.LoopGasLimit = 50;
ParamSet.LoopThreshold = 90; // Wert: 0-250 Schwelle für Stickausschlag
ParamSet.LoopHysterese = 50;
ParamSet.LoopHysteresis = 50;
ParamSet.LoopConfig = 0; // Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts / wird getrennt behandelt
ParamSet.AchsKopplung1 = 90;
ParamSet.AchsGegenKopplung1 = 5;
81,7 → 81,7
ParamSet.WinkelUmschlagNick = 100;
ParamSet.WinkelUmschlagRoll = 100;
ParamSet.GyroAccAbgleich = 16; // 1/k
ParamSet.Driftkomp = 4;
ParamSet.DriftComp = 4;
ParamSet.DynamicStability = 100;
memcpy(ParamSet.Name, "Sport\0", 12);
}
92,15 → 92,15
/***************************************************/
void ParamSet_DefaultSet2(void) // normal
{
ParamSet.Kanalbelegung[K_NICK] = 1;
ParamSet.Kanalbelegung[K_ROLL] = 2;
ParamSet.Kanalbelegung[K_GAS] = 3;
ParamSet.Kanalbelegung[K_GIER] = 4;
ParamSet.Kanalbelegung[K_POTI1] = 5;
ParamSet.Kanalbelegung[K_POTI2] = 6;
ParamSet.Kanalbelegung[K_POTI3] = 7;
ParamSet.Kanalbelegung[K_POTI4] = 8;
ParamSet.GlobalConfig = CFG_ACHSENKOPPLUNG_AKTIV;//CFG_HOEHENREGELUNG | /*CFG_HOEHEN_SCHALTER |*/ CFG_KOMPASS_AKTIV;//0x01;
ParamSet.ChannelAssignment[CH_NICK] = 1;
ParamSet.ChannelAssignment[CH_ROLL] = 2;
ParamSet.ChannelAssignment[CH_GAS] = 3;
ParamSet.ChannelAssignment[CH_GIER] = 4;
ParamSet.ChannelAssignment[CH_POTI1] = 5;
ParamSet.ChannelAssignment[CH_POTI2] = 6;
ParamSet.ChannelAssignment[CH_POTI3] = 7;
ParamSet.ChannelAssignment[CH_POTI4] = 8;
ParamSet.GlobalConfig = CFG_AXIS_COUPLING_ACTIVE;//CFG_HEIGHT_CONTROL | /*CFG_HEIGHT_SWITCH |*/ CFG_COMPASS_ACTIVE;//0x01;
ParamSet.Hoehe_MinGas = 30;
ParamSet.MaxHoehe = 251; // Wert : 0-250 251 -> Poti1
ParamSet.Hoehe_P = 10; // Wert : 0-32
116,11 → 116,11
ParamSet.KompassWirkung = 128; // Wert : 0-250
ParamSet.Gyro_P = 80; // Wert : 0-250
ParamSet.Gyro_I = 120; // Wert : 0-250
ParamSet.UnterspannungsWarnung = 94; // Wert : 0-250
ParamSet.NotGas = 35; // Wert : 0-250 // Gaswert bei Empangsverlust
ParamSet.NotGasZeit = 20; // Wert : 0-250 // Zeit bis auf NotGas geschaltet wird, wg. Rx-Problemen
ParamSet.UfoAusrichtung = 0; // X oder + Formation
ParamSet.I_Faktor = 32;
ParamSet.LowVoltageWarning = 94; // Wert : 0-250
ParamSet.EmergencyGas = 35; // Wert : 0-250 // Gaswert bei Empangsverlust
ParamSet.EmergencyGasDuration = 20; // Wert : 0-250 // Zeit bis auf EmergencyGas geschaltet wird, wg. Rx-Problemen
ParamSet.UfoArrangement = 0; // X oder + Formation
ParamSet.I_Factor = 32;
ParamSet.UserParam1 = 20 * 4; // zur freien Verwendung
ParamSet.UserParam2 = 0; // zur freien Verwendung
ParamSet.UserParam3 = 0; // zur freien Verwendung
137,7 → 137,7
ParamSet.ServoNickRefresh = 5;
ParamSet.LoopGasLimit = 50;
ParamSet.LoopThreshold = 90; // Wert: 0-250 Schwelle für Stickausschlag
ParamSet.LoopHysterese = 50;
ParamSet.LoopHysteresis = 50;
ParamSet.LoopConfig = 0; // Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts
ParamSet.AchsKopplung1 = 90; // Faktor, mit dem Gier die Achsen Roll und Nick verkoppelt
ParamSet.AchsGegenKopplung1 = 5;
144,7 → 144,7
ParamSet.WinkelUmschlagNick = 100;
ParamSet.WinkelUmschlagRoll = 100;
ParamSet.GyroAccAbgleich = 32; // 1/k
ParamSet.Driftkomp = 4;
ParamSet.DriftComp = 4;
ParamSet.DynamicStability = 75;
memcpy(ParamSet.Name, "Normal\0", 12);
}
155,15 → 155,15
/***************************************************/
void ParamSet_DefaultSet3(void) // beginner
{
ParamSet.Kanalbelegung[K_NICK] = 1;
ParamSet.Kanalbelegung[K_ROLL] = 2;
ParamSet.Kanalbelegung[K_GAS] = 3;
ParamSet.Kanalbelegung[K_GIER] = 4;
ParamSet.Kanalbelegung[K_POTI1] = 5;
ParamSet.Kanalbelegung[K_POTI2] = 6;
ParamSet.Kanalbelegung[K_POTI3] = 7;
ParamSet.Kanalbelegung[K_POTI4] = 8;
ParamSet.GlobalConfig = CFG_DREHRATEN_BEGRENZER | CFG_ACHSENKOPPLUNG_AKTIV;///*CFG_HOEHEN_SCHALTER |*/ CFG_KOMPASS_AKTIV;//0x01;
ParamSet.ChannelAssignment[CH_NICK] = 1;
ParamSet.ChannelAssignment[CH_ROLL] = 2;
ParamSet.ChannelAssignment[CH_GAS] = 3;
ParamSet.ChannelAssignment[CH_GIER] = 4;
ParamSet.ChannelAssignment[CH_POTI1] = 5;
ParamSet.ChannelAssignment[CH_POTI2] = 6;
ParamSet.ChannelAssignment[CH_POTI3] = 7;
ParamSet.ChannelAssignment[CH_POTI4] = 8;
ParamSet.GlobalConfig = CFG_ROTARY_RATE_LIMITER | CFG_AXIS_COUPLING_ACTIVE;///*CFG_HEIGHT_SWITCH |*/ CFG_COMPASS_ACTIVE;//0x01;
ParamSet.Hoehe_MinGas = 30;
ParamSet.MaxHoehe = 251; // Wert : 0-250 251 -> Poti1
ParamSet.Hoehe_P = 10; // Wert : 0-32
179,11 → 179,11
ParamSet.KompassWirkung = 128; // Wert : 0-250
ParamSet.Gyro_P = 100; // Wert : 0-250
ParamSet.Gyro_I = 140; // Wert : 0-250
ParamSet.UnterspannungsWarnung = 94; // Wert : 0-250
ParamSet.NotGas = 35; // Wert : 0-250 // Gaswert bei Empangsverlust
ParamSet.NotGasZeit = 20; // Wert : 0-250 // Zeit bis auf NotGas geschaltet wird, wg. Rx-Problemen
ParamSet.UfoAusrichtung = 0; // X oder + Formation
ParamSet.I_Faktor = 16;
ParamSet.LowVoltageWarning = 94; // Wert : 0-250
ParamSet.EmergencyGas = 35; // Wert : 0-250 // Gaswert bei Empangsverlust
ParamSet.EmergencyGasDuration = 20; // Wert : 0-250 // Zeit bis auf EmergencyGas geschaltet wird, wg. Rx-Problemen
ParamSet.UfoArrangement = 0; // X oder + Formation
ParamSet.I_Factor = 16;
ParamSet.UserParam1 = 20 * 4; // zur freien Verwendung
ParamSet.UserParam2 = 0; // zur freien Verwendung
ParamSet.UserParam3 = 0; // zur freien Verwendung
200,7 → 200,7
ParamSet.ServoNickRefresh = 5;
ParamSet.LoopGasLimit = 50;
ParamSet.LoopThreshold = 90; // Wert: 0-250 Schwelle für Stickausschlag
ParamSet.LoopHysterese = 50;
ParamSet.LoopHysteresis = 50;
ParamSet.LoopConfig = 0; // Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts
ParamSet.AchsKopplung1 = 90; // Faktor, mit dem Gier die Achsen Roll und Nick verkoppelt
ParamSet.AchsGegenKopplung1 = 5;
207,7 → 207,7
ParamSet.WinkelUmschlagNick = 100;
ParamSet.WinkelUmschlagRoll = 100;
ParamSet.GyroAccAbgleich = 32; // 1/k
ParamSet.Driftkomp = 4;
ParamSet.DriftComp = 4;
ParamSet.DynamicStability = 50;
memcpy(ParamSet.Name, "Beginner\0", 12);
}
252,7 → 252,7
void ParamSet_ReadFromEEProm(uint8_t setnumber)
{
if (setnumber > 5) setnumber = 5;
eeprom_read_block((uint8_t *) &ParamSet.Kanalbelegung[0], &EEPromArray[EEPROM_ADR_PARAMSET_BEGIN + PARAMSET_STRUCT_LEN * setnumber], PARAMSET_STRUCT_LEN);
eeprom_read_block((uint8_t *) &ParamSet.ChannelAssignment[0], &EEPromArray[EEPROM_ADR_PARAMSET_BEGIN + PARAMSET_STRUCT_LEN * setnumber], PARAMSET_STRUCT_LEN);
}
 
/***************************************************/
262,7 → 262,7
void ParamSet_WriteToEEProm(uint8_t setnumber)
{
if(setnumber > 5) setnumber = 5;
eeprom_write_block((uint8_t *) &ParamSet.Kanalbelegung[0], &EEPromArray[EEPROM_ADR_PARAMSET_BEGIN + PARAMSET_STRUCT_LEN * setnumber], PARAMSET_STRUCT_LEN);
eeprom_write_block((uint8_t *) &ParamSet.ChannelAssignment[0], &EEPromArray[EEPROM_ADR_PARAMSET_BEGIN + PARAMSET_STRUCT_LEN * setnumber], PARAMSET_STRUCT_LEN);
// set this parameter set to active set
eeprom_write_byte(&EEPromArray[PID_ACTIVE_SET], setnumber);
}