Subversion Repositories FlightCtrl

Compare Revisions

Ignore whitespace Rev 1446 → Rev 1447

/beta/Code Redesign killagreg/libfc.a
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/beta/Code Redesign killagreg/spi.c
139,7 → 139,7
ToNaviCtrl_t ToNaviCtrl;
FromNaviCtrl_t FromNaviCtrl;
 
SPI_VersionInfo_t SPI_VersionInfo;
SPI_VersionInfo_t NC_Version;
 
// rx packet buffer
#define SPI_RXBUFFER_LEN sizeof(FromNaviCtrl)
158,7 → 158,7
uint8_t NCSerialDataOkay = 0;
int8_t NCGpsZ = 0;
 
uint8_t SPI_CommandSequence[] = { SPI_CMD_USER, SPI_CMD_STICK, SPI_CMD_PARAMETER1, SPI_CMD_STICK, SPI_CMD_MISC, SPI_CMD_VERSION, SPI_CMD_SERVOS};
uint8_t SPI_CommandSequence[] = { SPI_FCCMD_USER, SPI_FCCMD_STICK, SPI_FCCMD_PARAMETER1, SPI_FCCMD_STICK, SPI_FCCMD_MISC, SPI_FCCMD_VERSION, SPI_FCCMD_SERVOS};
uint8_t SPI_CommandCounter = 0;
 
/*********************************************/
180,7 → 180,7
ToNaviCtrl.Sync1 = SPI_TXSYNCBYTE1;
ToNaviCtrl.Sync2 = SPI_TXSYNCBYTE2;
 
ToNaviCtrl.Command = SPI_CMD_USER;
ToNaviCtrl.Command = SPI_FCCMD_USER;
ToNaviCtrl.IntegralNick = 0;
ToNaviCtrl.IntegralRoll = 0;
NCSerialDataOkay = 0;
187,11 → 187,6
NCDataOkay = 0;
 
SPI_RxDataValid = 0;
 
SPI_VersionInfo.Major = VERSION_MAJOR;
SPI_VersionInfo.Minor = VERSION_MINOR;
SPI_VersionInfo.Patch = VERSION_PATCH;
SPI_VersionInfo.Compatible = NC_SPI_COMPATIBLE;
}
 
 
215,7 → 210,7
 
switch(ToNaviCtrl.Command)
{
case SPI_CMD_USER:
case SPI_FCCMD_USER:
ToNaviCtrl.Param.Byte[0] = FCParam.UserParam1;
ToNaviCtrl.Param.Byte[1] = FCParam.UserParam2;
ToNaviCtrl.Param.Byte[2] = FCParam.UserParam3;
231,7 → 226,7
ToNaviCtrl.Param.Byte[11] = GetActiveParamSet();
break;
 
case SPI_CMD_PARAMETER1:
case SPI_FCCMD_PARAMETER1:
ToNaviCtrl.Param.Byte[0] = ParamSet.NaviGpsModeControl; // Parameters for the Naviboard
ToNaviCtrl.Param.Byte[1] = ParamSet.NaviGpsGain;
ToNaviCtrl.Param.Byte[2] = ParamSet.NaviGpsP;
247,7 → 242,7
break;
 
 
case SPI_CMD_STICK:
case SPI_FCCMD_STICK:
cli();
tmp = PPM_in[ParamSet.ChannelAssignment[CH_GAS]]; if(tmp > 127) tmp = 127; else if(tmp < -128) tmp = -128;
ToNaviCtrl.Param.Byte[0] = (int8_t) tmp;
268,7 → 263,7
ToNaviCtrl.Param.Byte[11] = (uint8_t) Poti[7];
break;
 
case SPI_CMD_MISC:
case SPI_FCCMD_MISC:
ToNaviCtrl.Param.Byte[0] = CompassCalState;
if(CompassCalState > 4)
{ // jump from 5 to 0
285,15 → 280,15
ToNaviCtrl.Param.Byte[11] = DebugOut.Analog[7] / 4; // gasmixfraction
break;
 
case SPI_CMD_VERSION:
ToNaviCtrl.Param.Byte[0] = SPI_VersionInfo.Major;
ToNaviCtrl.Param.Byte[1] = SPI_VersionInfo.Minor;
ToNaviCtrl.Param.Byte[2] = SPI_VersionInfo.Patch;
ToNaviCtrl.Param.Byte[3] = SPI_VersionInfo.Compatible;
case SPI_FCCMD_VERSION:
ToNaviCtrl.Param.Byte[0] = VERSION_MAJOR;
ToNaviCtrl.Param.Byte[1] = VERSION_MINOR;
ToNaviCtrl.Param.Byte[2] = VERSION_PATCH;
ToNaviCtrl.Param.Byte[3] = NC_SPI_COMPATIBLE;
ToNaviCtrl.Param.Byte[4] = BoardRelease;
break;
 
case SPI_CMD_SERVOS:
case SPI_FCCMD_SERVOS:
ToNaviCtrl.Param.Byte[0] = ParamSet.ServoRefresh; // Parameters for the Servo Control
ToNaviCtrl.Param.Byte[1] = ParamSet.ServoCompInvert;
ToNaviCtrl.Param.Byte[2] = FCParam.ServoNickControl;
333,7 → 328,7
switch (FromNaviCtrl.Command)
{
 
case SPI_KALMAN:
case SPI_NCCMD_KALMAN:
FCParam.KalmanK = FromNaviCtrl.Param.sByte[0];
FCParam.KalmanMaxFusion = FromNaviCtrl.Param.sByte[1];
FCParam.KalmanMaxDrift = FromNaviCtrl.Param.sByte[2];
341,6 → 336,14
NCGpsZ = FromNaviCtrl.Param.sByte[4];
break;
 
case SPI_NCCMD_VERSION:
NC_Version.Major = FromNaviCtrl.Param.Byte[0];
NC_Version.Minor = FromNaviCtrl.Param.Byte[1];
NC_Version.Patch = FromNaviCtrl.Param.Byte[2];
NC_Version.Compatible = FromNaviCtrl.Param.Byte[3];
NC_Version.Hardware = FromNaviCtrl.Param.Byte[4];
break;
 
default:
break;
}
/beta/Code Redesign killagreg/spi.h
6,16 → 6,13
#include <inttypes.h>
 
 
#define SPI_PROTOCOL_COMP 1
#define SPI_FCCMD_USER 10
#define SPI_FCCMD_STICK 11
#define SPI_FCCMD_MISC 12
#define SPI_FCCMD_PARAMETER1 13
#define SPI_FCCMD_VERSION 14
#define SPI_FCCMD_SERVOS 15
 
 
#define SPI_CMD_USER 10
#define SPI_CMD_STICK 11
#define SPI_CMD_MISC 12
#define SPI_CMD_PARAMETER1 13
#define SPI_CMD_VERSION 14
#define SPI_CMD_SERVOS 15
 
typedef struct
{
uint8_t Sync1;
42,10 → 39,11
 
 
 
#define SPI_CMD_OSD_DATA 100
#define SPI_CMD_GPS_POS 101
#define SPI_CMD_GPS_TARGET 102
#define SPI_KALMAN 103
#define SPI_NCCMD_OSD_DATA 100
#define SPI_NCCMD_GPS_POS 101
#define SPI_NCCMD_GPS_TARGET 102
#define SPI_NCCMD_KALMAN 103
#define SPI_NCCMD_VERSION 104
 
typedef struct
{
74,9 → 72,12
uint8_t Minor;
uint8_t Patch;
uint8_t Compatible;
uint8_t Hardware;
} __attribute__((packed)) SPI_VersionInfo_t;
 
extern SPI_VersionInfo_t NC_Version;
 
 
extern ToNaviCtrl_t ToNaviCtrl;
extern FromNaviCtrl_t FromNaviCtrl;