/trunk/main.h |
---|
17,6 → 17,7 |
// 6 = G |
// 7 = H |
// 8 = I |
// 9 = J |
#define VERSION_SERIAL_MAJOR 11 |
#define VERSION_SERIAL_MINOR 0 |
/trunk/mk3mag.c |
---|
261,6 → 261,7 |
void MK3MAG_UpdateCompass(void) |
{ |
static u32 TimerCompassUpdate = 0; |
static s32 x_max,y_max,z_max,x_min,y_min,z_min; |
if( (I2C_State == I2C_STATE_OFF) || !MK3MAG_Present ) return; |
273,7 → 274,23 |
if(MK3MAG_ReadCal.CalByte != MK3MAG_WriteCal.CalByte) |
{ |
MK3MAG_SendCommand(MK3MAG_CMD_WRITE_CAL); |
x_max = -30000; y_max = -30000; z_max = -30000; |
x_min = 30000; y_min = 30000; z_min = 30000; |
} |
if(MK3MAG_WriteCal.CalByte == 2) |
{ |
Compass_UpdateMagVector(); |
if(MagVector.X > x_max) { x_max = MagVector.X; BeepTime = 30; }; |
if(MagVector.Y > y_max) { y_max = MagVector.Y; BeepTime = 30; }; |
if(MagVector.X < x_min) { x_min = MagVector.X; BeepTime = 30; }; |
if(MagVector.Y < y_min) { y_min = MagVector.Y; BeepTime = 30; }; |
} |
if(MK3MAG_WriteCal.CalByte == 4) |
{ |
Compass_UpdateMagVector(); |
if(MagVector.Z > z_max) { z_max = MagVector.Z; BeepTime = 30; }; |
if(MagVector.Z < z_min) { z_min = MagVector.Z; BeepTime = 30; }; |
} |
else // request current heading |
{ |
MK3MAG_SendCommand(MK3MAG_CMD_READ_HEADING); |
/trunk/ncmag.c |
---|
614,7 → 614,7 |
u8 msg[64]; |
static u8 done = 0; |
if(done) return(1); |
if(done) return(1); // just make it once |
#define LIMITS(value, min, max) {min = (80 * value)/100; max = (120 * value)/100;} |
u32 time; |
/trunk/spi_slave.c |
---|
432,8 → 432,8 |
} |
Parameter.NaviPH_LoginTime = FromFlightCtrl.Param.Byte[1]; |
NaviData.Variometer = (NaviData.Variometer + 2 * (FromFlightCtrl.Param.sInt[1] - NaviData.Altimeter)) / 2; // provisorisch |
NaviData.Altimeter = FromFlightCtrl.Param.sInt[1]; // is located at byte 2 and 3 |
NaviData.SetpointAltitude = FromFlightCtrl.Param.sInt[2]; // is located at byte 4 and 5 |
NaviData.Altimeter = FromFlightCtrl.Param.sInt[1]; // in 5cm |
NaviData.SetpointAltitude = FromFlightCtrl.Param.sInt[2]; // in 5cm |
CHK_POTI_MM(Parameter.NaviGpsPLimit,FromFlightCtrl.Param.Byte[6],0,255); |
CHK_POTI_MM(Parameter.NaviGpsILimit,FromFlightCtrl.Param.Byte[7],0,255); |
CHK_POTI_MM(Parameter.NaviGpsDLimit,FromFlightCtrl.Param.Byte[8],0,255); |