Subversion Repositories FlightCtrl

Rev

Rev 885 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 885 Rev 886
1
#ifndef _MAIN_H
1
#ifndef _MAIN_H
2
 #define _MAIN_H
2
#define _MAIN_H
-
 
3
 
-
 
4
#include <avr/io.h>
3
 
5
 
4
//Hier die Quarz Frequenz einstellen
6
//Hier die Quarz Frequenz einstellen
5
#if defined (__AVR_ATmega32__)
7
#if defined (__AVR_ATmega32__)
6
#define SYSCLK  20000000L       //Quarz Frequenz in Hz
8
#define SYSCLK  20000000L       //Quarz Frequenz in Hz
7
#endif
9
#endif
8
 
10
 
9
#if defined (__AVR_ATmega644__)
11
#if defined (__AVR_ATmega644__)
10
#define SYSCLK  20000000L       //Quarz Frequenz in Hz
12
#define SYSCLK  20000000L       //Quarz Frequenz in Hz
11
//#define SYSCLK        16000000L       //Quarz Frequenz in Hz
-
 
12
#endif
13
#endif
13
 
-
 
14
// neue Hardware
-
 
15
#define ROT_OFF   {if(PlatinenVersion == 10) PORTB &=~0x01; else  PORTB |= 0x01;}
-
 
16
#define ROT_ON    {if(PlatinenVersion == 10) PORTB |= 0x01; else  PORTB &=~0x01;}
14
 
17
#define ROT_FLASH PORTB ^= 0x01
-
 
18
#define GRN_OFF   PORTB &=~0x02 
15
#if defined (__AVR_ATmega644P__)
19
#define GRN_ON    PORTB |= 0x02 
16
#define SYSCLK  20000000L       //Quarz Frequenz in Hz
20
#define GRN_FLASH PORTB ^= 0x02
17
#endif
21
 
-
 
22
#define F_CPU SYSCLK
-
 
23
//#ifndef F_CPU
-
 
24
//#error ################## F_CPU nicht definiert oder ungültig #############
-
 
25
//#endif
-
 
26
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
 
27
 
-
 
28
#define EEPROM_ADR_VALID            1
-
 
29
#define EEPROM_ADR_ACTIVE_SET       2
-
 
30
#define EEPROM_ADR_LAST_OFFSET      3
-
 
31
 
-
 
32
#define EEPROM_ADR_ACC_NICK         4
-
 
33
#define EEPROM_ADR_ACC_ROLL         6
-
 
34
#define EEPROM_ADR_ACC_Z            8
-
 
35
 
-
 
36
#define EEPROM_ADR_PARAM_BEGIN      100
-
 
37
 
-
 
38
#define CFG_HOEHENREGELUNG       0x01
-
 
39
#define CFG_HOEHEN_SCHALTER      0x02
-
 
40
#define CFG_HEADING_HOLD         0x04
-
 
41
#define CFG_KOMPASS_AKTIV        0x08
-
 
42
#define CFG_KOMPASS_FIX          0x10
-
 
43
#define CFG_GPS_AKTIV            0x20
-
 
44
#define CFG_ACHSENKOPPLUNG_AKTIV 0x40
-
 
45
#define CFG_DREHRATEN_BEGRENZER  0x80
-
 
46
 
-
 
47
#define CFG_LOOP_OBEN       0x01
-
 
48
#define CFG_LOOP_UNTEN      0x02
-
 
49
#define CFG_LOOP_LINKS      0x04
-
 
50
#define CFG_LOOP_RECHTS     0x08
-
 
51
 
-
 
52
//#define  SYSCLK  
-
 
53
//extern unsigned long SYSCLK;
-
 
54
extern volatile int i_Nick[20],i_Roll[20],DiffNick,DiffRoll;
-
 
55
extern volatile unsigned char SenderOkay;
-
 
56
extern unsigned char CosinusNickWinkel, CosinusRollWinkel;
-
 
57
extern unsigned char PlatinenVersion;
-
 
58
extern unsigned char SendVersionToNavi;
-
 
59
void ReadParameterSet (unsigned char number, unsigned char *buffer, unsigned char length);
-
 
60
void WriteParameterSet(unsigned char number, unsigned char *buffer, unsigned char length);
-
 
61
extern unsigned char GetActiveParamSetNumber(void);
-
 
62
extern unsigned char EEPromArray[];
-
 
63
 
-
 
64
#include <stdlib.h>
-
 
65
#include <string.h>
-
 
66
#include <avr/io.h>
-
 
67
#include <avr/pgmspace.h>
-
 
68
#include <avr/interrupt.h>
-
 
69
#include <avr/eeprom.h>
-
 
70
#include <avr/boot.h>
-
 
71
#include <avr/wdt.h>
-
 
72
 
-
 
73
#include "old_macros.h"
-
 
74
 
-
 
75
#include "_Settings.h"
-
 
76
#include "printf_P.h"
-
 
77
#include "timer0.h"
-
 
78
#include "uart.h"
-
 
79
#include "analog.h"
-
 
80
#include "twimaster.h"
-
 
81
#include "menu.h"
-
 
82
#include "rc.h"
-
 
83
#include "fc.h"
-
 
84
#include "gps.h"
18
 
-
 
19
#define F_CPU SYSCLK
-
 
20
 
85
#include "spi.h"
21
 
-
 
22
// neue Hardware
-
 
23
#define ROT_OFF   {if(BoardRelease == 10) PORTB &=~(1<<PORTB0); else  PORTB |= (1<<PORTB0);}
86
 
24
#define ROT_ON    {if(BoardRelease == 10) PORTB |= (1<<PORTB0); else  PORTB &=~(1<<PORTB0);}
87
 
25
#define ROT_FLASH PORTB ^= (1<<PORTB0)
-
 
26
#define GRN_OFF   PORTB &=~(1<<PORTB1)
88
#ifndef EEMEM
-
 
89
#define EEMEM __attribute__ ((section (".eeprom")))
-
 
90
#endif
27
#define GRN_ON    PORTB |= (1<<PORTB1)
91
 
28
#define GRN_FLASH PORTB ^= (1<<PORTB1)
92
#define DEBUG_DISPLAY_INTERVALL  123 // in ms
29
 
93
 
30
#include <inttypes.h>
94
 
31
 
95
#define DELAY_US(x)     ((unsigned int)( (x) * 1e-6 * F_CPU ))
32
extern uint8_t BoardRelease;
96
       
33
 
97
#endif //_MAIN_H
34
#endif //_MAIN_H
98
 
35
 
99
 
36
 
100
 
37
 
101
 
38
 
102
 
39
 
103
 
40
 
104
 
41