Subversion Repositories NaviCtrl

Rev

Rev 1 | Blame | Compare with Previous | Last modification | View Log | RSS feed

#ifndef _UART_H
 #define _UART_H

#define MAX_SENDE_BUFF     150
#define MAX_EMPFANGS_BUFF  150
extern u8 DebugGetAnforderung;
extern unsigned volatile char SendeBuffer[MAX_SENDE_BUFF];
extern unsigned volatile char RxdBuffer[MAX_EMPFANGS_BUFF];
extern unsigned volatile char UebertragungAbgeschlossen;
extern unsigned volatile char PC_DebugTimeout;
extern unsigned volatile char NeueKoordinateEmpfangen;
extern unsigned volatile char AnzahlEmpfangsBytes;
extern unsigned volatile char SendGPSPosAnforderung;
extern u8 MeineSlaveAdresse;
extern u8 PcZugriff;
extern s32 Debug_Timer;
extern void UART1_Init(void);
extern s16 uart_putchar (char c);
extern void DatenUebertragung(void);
extern void DecodeNMEA(void);
extern u8 MotorTest[4];

extern UART_TypeDef *DebugUART;

struct str_DebugOut
{
 u8 Digital[2];
 u16 Analog[32];    // Debugwerte
} __attribute__((packed));

extern volatile struct str_DebugOut    DebugOut;

struct str_ExternControl
{
 unsigned char Digital[2];
 unsigned char RemoteTasten;
 signed char   Nick;
 signed char   Roll;
 signed char   Gier;
 unsigned char Gas;
 signed char   Hight;
 unsigned char free;
 unsigned char Frame;
 unsigned char Config;
} __attribute__((packed));
 
extern struct str_ExternControl   ExternControl;

struct str_GPSPosition
{
        s32                     Longitude;             
        s32                     Latitude;              
        s32                     TargetLongitude;               
        s32                     TargetLatitude;                
        s32         Distance2Target;
        s32         Angle2Target;
        u8          Used_Sat;
}  __attribute__((packed));

extern struct str_GPSPosition  GPS_Position;

struct str_PCTargetGPSPosition
{
   signed long  Longitude;
   signed long  Latitude;
};
struct str_PCTargetGPSPosition PCTargetGPSPosition;

struct str_VersionInfo
{
  u8 Hauptversion;
  u8 Nebenversion;
  u8 PCKompatibel;
  u8 Rserved[7];
} __attribute__((packed));  
extern struct str_VersionInfo VersionInfo;

extern unsigned volatile char NeuerDatensatzEmpfangen;


extern void BearbeiteRxDaten(void);
extern void UART1_IRQHandler_Fkt(void);
extern void UART1_Transmit(void);
extern void Debug_UART1_Init(void);
extern void SerialPutString(u8 *s);

#define BAUD_RATE 57600         //Baud Rate für die Serielle Schnittstelle     



#endif //_UART_H