0,0 → 1,95 |
//void NC_update(void); |
//int16_t* NC_getPRTY(void); |
//uint8_t NC_getArgument(void); |
//uint8_t NC_getCommand(void); |
//int16_t NC_getVariable(uint8_t varNum); |
//void NC_calibrate(void); |
//uint8_t NC_getSignalQuality (void); |
//void NC_setNeutral(void); |
|
// ######################## SPI - FlightCtrl ################### |
#ifndef _NAVICONTROL_H |
#define _NAVICONTROL_H |
|
//#include <util/delay.h> |
#include <inttypes.h> |
#define SPI_PROTOCOL_COMP 1 |
|
#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 |
|
typedef struct { |
uint8_t Sync1; |
uint8_t Sync2; |
uint8_t Command; |
int16_t IntegralPitch; |
int16_t IntegralRoll; |
int16_t AccPitch; |
int16_t AccRoll; |
int16_t GyroHeading; |
int16_t GyroPitch; |
int16_t GyroRoll; |
int16_t GyroYaw; |
union { |
int8_t sByte[12]; |
uint8_t Byte[12]; |
int16_t Int[6]; |
int32_t Long[3]; |
float Float[3]; |
} Param; |
uint8_t Chksum; |
} __attribute__((packed)) ToNaviCtrl_t; |
|
#define SPI_CMD_OSD_DATA 100 |
#define SPI_CMD_GPS_POS 101 |
#define SPI_CMD_GPS_TARGET 102 |
#define SPI_KALMAN 103 |
|
typedef struct { |
uint8_t Command; |
int16_t GPSStickPitch; |
int16_t GPSStickRoll; |
int16_t GPS_Yaw; |
int16_t CompassHeading; |
int16_t Status; |
uint16_t BeepTime; |
union { |
int8_t Byte[12]; |
int16_t Int[6]; |
int32_t Long[3]; |
float Float[3]; |
} Param; |
uint8_t Chksum; |
} __attribute__((packed)) FromNaviCtrl_t; |
|
typedef struct { |
uint8_t Major; |
uint8_t Minor; |
uint8_t Patch; |
uint8_t Compatible; |
// unsigned char Hardware; |
} __attribute__((packed)) SPI_VersionInfo_t; |
|
extern ToNaviCtrl_t toNaviCtrl; |
extern FromNaviCtrl_t fromNaviCtrl; |
|
typedef struct { |
int8_t KalmanK; |
int8_t KalmanMaxDrift; |
int8_t KalmanMaxFusion; |
uint8_t SerialDataOkay; |
} __attribute__((packed)) NCData_t; |
|
extern uint8_t NCDataOkay; |
extern uint8_t NCSerialDataOkay; |
|
void SPI_MasterInit(void); |
void SPI_StartTransmitPacket(void); |
void SPI_TransmitByte(void); |
// new: |
// extern void UpdateSPI_Buffer(void); |
|
#endif //_NAVICONTROL_H |