/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]; |