Subversion Repositories NaviCtrl

Compare Revisions

Ignore whitespace Rev 499 → Rev 500

/trunk/main.c
93,7 → 93,7
u8 NCFlags = 0;
s16 GeoMagDec = 0; // local magnetic declination in 0.1 deg
u8 ErrorGpsFixLost = 0;
 
u8 FromFC_LoadWP_List = 0;
u8 ClearFCStatusFlags = 0;
u8 StopNavigation = 0;
volatile u32 PollingTimeout = 10000;
589,6 → 589,20
{
PollingTimeout = 5;
Polling();
// ++++++++++++++++++++++++++++++++++++++++++++++
if(FromFC_LoadWP_List)
{
//if(FromFC_LoadWP_List & 0x80) -> load relative
WPL_Store.Index = FromFC_LoadWP_List;
if(PointList_ReadFromFile(&WPL_Store) == WPL_OK)
{
if(FC.StatusFlags & FC_STATUS_FLY) PointList_WPActive(TRUE);
GPS_pWaypoint = PointList_WPBegin(); // updates POI index
BeepTime = 150;
}
FromFC_LoadWP_List = 0;
}
// ++++++++++++++++++++++++++++++++++++++++++++++
 
// ---------------- Logging ---------------------------------------
if(SD_WatchDog)
/trunk/main.h
14,7 → 14,7
 
#define VERSION_MAJOR 2
#define VERSION_MINOR 3
#define VERSION_PATCH 0
#define VERSION_PATCH 4
// 0 = A
// 1 = B
// 2 = C
39,7 → 39,7
#define VERSION_SERIAL_MINOR 0
 
#ifndef FOLLOW_ME
#define FC_SPI_COMPATIBLE 58
#define FC_SPI_COMPATIBLE 59
#else
#define FC_SPI_COMPATIBLE 0xFF
#endif
206,6 → 206,7
extern u8 ErrorCode;
extern u8 StopNavigation;
extern u8 ErrorGpsFixLost;
extern u8 FromFC_LoadWP_List;
extern volatile u32 SPIWatchDog; // stop Navigation if this goes to zero
extern volatile u32 SD_WatchDog; // stop Logging if this goes to zero
extern volatile u32 PollingTimeout;
/trunk/menu.c
497,7 → 497,12
if(Keys & KEY4)
{
WPL_Store.Index = index;
ret = PointList_ReadFromFile(&WPL_Store);
if(PointList_ReadFromFile(&WPL_Store) == WPL_OK)
{
if(FC.StatusFlags & FC_STATUS_FLY) PointList_WPActive(TRUE);
GPS_pWaypoint = PointList_WPBegin(); // updates POI index
BeepTime = 150;
}
}
LCD_printfxy(0,0,"Load WPL" );
LCD_printfxy(0,1,"Name: %s", WPL_Store.Name);
/trunk/ncmag.c
86,7 → 86,7
#define EEPROM_ADR_MAG_CALIBRATION_EXTERN 70
 
#define CALIBRATION_VERSION 1
#define MAG_CALIBRATION_COMPATIBLE 0xA2
#define MAG_CALIBRATION_COMPATIBLE 0xA3
 
#define NCMAG_MIN_RAWVALUE -2047
#define NCMAG_MAX_RAWVALUE 2047
195,9 → 195,9
// bit mask for gain
#define LSM303DLH_CRB_GAIN_XXGA 0x00
#define LSM303DLH_CRB_GAIN_13GA 0x20 //default
#define LSM303DLH_CRB_GAIN_19GA 0x40 // <--- we use this
#define LSM303DLH_CRB_GAIN_19GA 0x40
#define LSM303DLH_CRB_GAIN_25GA 0x60
#define LSM303DLH_CRB_GAIN_40GA 0x80
#define LSM303DLH_CRB_GAIN_40GA 0x80 // <--- we use this (Since V2.03)
#define LSM303DLH_CRB_GAIN_47GA 0xA0
#define LSM303DLH_CRB_GAIN_56GA 0xC0
#define LSM303DLH_CRB_GAIN_81GA 0xE0
226,11 → 226,11
volatile MagConfig_t MagConfig;
 
// self test value
#define LSM303DLH_TEST_XSCALE 495
#define LSM303DLH_TEST_YSCALE 495
#define LSM303DLH_TEST_ZSCALE 470
#define LSM303DLH_TEST_XSCALE 245
#define LSM303DLH_TEST_YSCALE 245
#define LSM303DLH_TEST_ZSCALE 235
// clibration range
#define LSM303_CALIBRATION_RANGE 550
#define LSM303_CALIBRATION_RANGE 300 // War bis V2.02: 550 -> Auflösung von 19Ga auf 40GA reduziert
 
// the i2c ACC interface
#define ACC_SLAVE_ADDRESS 0x30 // i2c slave for acc. sensor registers
380,6 → 380,9
Ymax = -10000;
Zmin = 10000;
Zmax = -10000;
Zmin2 = 10000;
Zmax2 = -10000;
X = 0; Y = 0; Z = 0;
speak = 1;
CompassValueErrorCount = 0;
if(Compass_CalState != OldCalState) // only once per state
827,7 → 830,6
u8 NCMAG_ConfigureSensor(void)
{
u8 crb_gain, cra_rate;
 
switch(NCMAG_SensorType)
{
case TYPE_HMC5843:
837,7 → 839,8
 
case TYPE_LSM303DLH:
case TYPE_LSM303DLM:
crb_gain = LSM303DLH_CRB_GAIN_19GA;
// crb_gain = LSM303DLH_CRB_GAIN_19GA;
crb_gain = LSM303DLH_CRB_GAIN_40GA; // seit 2.03 -> 2.2014
cra_rate = LSM303DLH_CRA_RATE_75HZ;
break;
 
951,7 → 954,8
break;
 
case TYPE_LSM303DLH:
crb_gain = LSM303DLH_CRB_GAIN_19GA;
// crb_gain = LSM303DLH_CRB_GAIN_19GA;
crb_gain = LSM303DLH_CRB_GAIN_40GA; // seit 2.03 -> 2.2014
cra_rate = LSM303DLH_CRA_RATE_75HZ;
xscale = LSM303DLH_TEST_XSCALE;
yscale = LSM303DLH_TEST_YSCALE;
/trunk/spi_slave.c
651,6 → 651,7
NaviData.UBat = FC.BAT_Voltage;
NaviData.Current = FC.BAT_Current;
NaviData.UsedCapacity = FC.BAT_UsedCapacity;
 
break;
case SPI_FCCMD_PARAMETER1:
Parameter.LowVoltageWarning = FromFlightCtrl.Param.Byte[0];
672,6 → 673,7
Parameter.FromFC_LandingSpeed = FromFlightCtrl.Param.Byte[2];
Parameter.ComingHomeAltitude = FromFlightCtrl.Param.Byte[3];
Parameter.FromFC_LowVoltageHomeActive = FromFlightCtrl.Param.Byte[4];
if(FromFlightCtrl.Param.Byte[5]) FromFC_LoadWP_List = FromFlightCtrl.Param.Byte[5];
break;
case SPI_FCCMD_STICK:
FC.StickGas = FromFlightCtrl.Param.sByte[0];