Subversion Repositories FlightCtrl

Compare Revisions

Ignore whitespace Rev 2724 → Rev 2725

/trunk/spi.c
25,9 → 25,9
unsigned char SPITransferCompleted, SPI_ChkSum;
unsigned char SPI_RxDataValid,NaviDataOkay = 250;
 
unsigned char SPI_CommandSequence[] = { SPI_FCCMD_STICK, SPI_FCCMD_USER, SPI_FCCMD_SLOW,SPI_FCCMD_BL_ACCU,
unsigned char SPI_CommandSequence[] = { SPI_FCCMD_STICK, SPI_FCCMD_SLOW,SPI_FCCMD_BL_ACCU,
SPI_FCCMD_STICK2, SPI_FCCMD_MISC, SPI_FCCMD_BL_ACCU,
SPI_FCCMD_STICK, SPI_FCCMD_USER, SPI_FCCMD_BL_ACCU,
SPI_FCCMD_STICK, SPI_FCCMD_STATUSTEXT, SPI_FCCMD_BL_ACCU,
SPI_FCCMD_STICK2, SPI_FCCMD_PARAMETER2, SPI_FCCMD_BL_ACCU
};
unsigned char SPI_CommandCounter = 0;
69,7 → 69,7
ToNaviCtrl.Sync1 = SPI_FCSYNCBYTE1;
ToNaviCtrl.Sync2 = SPI_FCSYNCBYTE2;
 
ToNaviCtrl.Command = SPI_FCCMD_USER;
ToNaviCtrl.Command = SPI_FCCMD_STATUSTEXT;
ToNaviCtrl.IntegralNick = 0;
ToNaviCtrl.IntegralRoll = 0;
FromNaviCtrl_Value.SerialDataOkay = 0;
227,23 → 227,9
// ToNaviCtrl.CalState = WinkelOut.CalcState;
switch(ToNaviCtrl.Command) //
{
case SPI_FCCMD_USER:
ToNaviCtrl.Param.Byte[0] = Parameter_UserParam1;
ToNaviCtrl.Param.Byte[1] = Parameter_UserParam2;
ToNaviCtrl.Param.Byte[2] = Parameter_UserParam3;
ToNaviCtrl.Param.Byte[3] = Parameter_UserParam4;
ToNaviCtrl.Param.Byte[4] = Parameter_UserParam5;
ToNaviCtrl.Param.Byte[5] = Parameter_UserParam6;
ToNaviCtrl.Param.Byte[6] = Parameter_UserParam7;
ToNaviCtrl.Param.Byte[7] = Parameter_UserParam8;
ToNaviCtrl.Param.Byte[8] = FC_StatusFlags;
ToNaviCtrl.Param.Byte[9] = FC_StatusFlags2;
//if(FC_StatusFlags2 & FC_STATUS2_WAIT_FOR_TAKEOFF) ToNaviCtrl.Param.Byte[8] &= ~FC_STATUS_FLY;
FC_StatusFlags &= ~(FC_STATUS_CALIBRATE | FC_STATUS_START);
ToNaviCtrl.Param.Int[5] = UBat; // 10 & 11
if(!(PORTC & (1<<PORTC2))) FC_StatusFlags2 &= ~FC_STATUS2_OUT1_ACTIVE; // Out1 (J16)
// 8 = 16,17
// 9 = 18,19
case SPI_FCCMD_STATUSTEXT:
memcpy((unsigned char *)&ToNaviCtrl.Param.Byte[0], (unsigned char *)&VarioPacket.Text[0], 21); // 21 Bytes HoTT-Statustext
ToNaviCtrl.Param.Byte[21] = HoTT_TextLevel;
break;
case SPI_FCCMD_BL_ACCU:
ToNaviCtrl.Param.Int[0] = Capacity.ActualCurrent; // 0.1A
262,8 → 248,15
Out1ChangedFlag = 0;
ToNaviCtrl.Param.sInt[6] = Mittelwert_AccNick/4; // ToNaviCtrl.AccNick
ToNaviCtrl.Param.sInt[7] = Mittelwert_AccRoll/4; // ToNaviCtrl.AccRoll
ToNaviCtrl.Param.Int[8] = UBat; // 16 & 17
 
//ToNaviCtrl.Param.sInt[8] = DebugOut.Analog[16];
ToNaviCtrl.Param.Byte[18] = FC_StatusFlags;
ToNaviCtrl.Param.Byte[19] = FC_StatusFlags2;
//if(FC_StatusFlags2 & FC_STATUS2_WAIT_FOR_TAKEOFF) ToNaviCtrl.Param.Byte[8] &= ~FC_STATUS_FLY;
FC_StatusFlags &= ~(FC_STATUS_CALIBRATE | FC_STATUS_START);
if(!(PORTC & (1<<PORTC2))) FC_StatusFlags2 &= ~FC_STATUS2_OUT1_ACTIVE; // Out1 (J16)
 
 
//ToNaviCtrl.Param.sInt[9] = DebugOut.Analog[17];
// 8 = 16,17
// 9 = 18,19
410,14 → 403,19
ToNaviCtrl.Param.Byte[9] = (unsigned char) Poti[5];
ToNaviCtrl.Param.Byte[10] = (unsigned char) Poti[6];
ToNaviCtrl.Param.Byte[11] = (unsigned char) Poti[7];
//ToNaviCtrl.Param.Byte[12]
//ToNaviCtrl.Param.Byte[13]
//ToNaviCtrl.Param.Byte[14]
//ToNaviCtrl.Param.Byte[15]
//ToNaviCtrl.Param.Byte[16]
//ToNaviCtrl.Param.Byte[17]
//ToNaviCtrl.Param.Byte[18]
//ToNaviCtrl.Param.Byte[19]
 
ToNaviCtrl.Param.Byte[12] = Parameter_UserParam1;
ToNaviCtrl.Param.Byte[13] = Parameter_UserParam2;
ToNaviCtrl.Param.Byte[14] = Parameter_UserParam3;
ToNaviCtrl.Param.Byte[15] = Parameter_UserParam4;
ToNaviCtrl.Param.Byte[16] = Parameter_UserParam5;
ToNaviCtrl.Param.Byte[17] = Parameter_UserParam6;
ToNaviCtrl.Param.Byte[18] = Parameter_UserParam7;
ToNaviCtrl.Param.Byte[19] = Parameter_UserParam8;
 
ToNaviCtrl.Param.Byte[20] = Parameter_ServoRollControl;
ToNaviCtrl.Param.Byte[21] = Parameter_ServoNickControl;
 
break;
case SPI_FCCMD_STICK2:
ToNaviCtrl.Param.Byte[0] = ChannelGas;
/trunk/spi.h
56,7 → 56,6
#endif
// -------------------------
 
#define SPI_FCCMD_USER 10
#define SPI_FCCMD_STICK 11
#define SPI_FCCMD_MISC 12
#define SPI_FCCMD_PARAMETER1 13
68,6 → 67,7
#define SPI_FCCMD_SLOW 19
#define SPI_FCCMD_SLOW2 20
#define SPI_FCCMD_STICK2 21
#define SPI_FCCMD_STATUSTEXT 22
 
 
#define SPI_FCSYNCBYTE1 0xAA
142,16 → 142,12
signed int IntegralRoll;
signed int GyroCompass;
signed int GyroGier;
unsigned int FCStatus;
union
{
unsigned char Byte[20];
char sByte[20];
unsigned int Int[10];
int sInt[10];
unsigned long Long[5];
long sLong[5];
float Float[5];
unsigned char Byte[22];
char sByte[22];
unsigned int Int[11];
int sInt[11];
} Param;
unsigned char Chksum;
};