Rev 7 | Rev 17 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 7 | Rev 16 | ||
---|---|---|---|
1 | #ifndef _MAIN_H |
1 | #ifndef _MAIN_H |
2 | #define _MAIN_H |
2 | #define _MAIN_H |
3 | 3 | ||
4 | 4 | ||
5 | #include <stdio.h> |
5 | #include <stdio.h> |
6 | #include <math.h> |
6 | #include <math.h> |
7 | #include <stdlib.h> |
7 | #include <stdlib.h> |
8 | #include <string.h> |
8 | #include <string.h> |
9 | #include <avr/io.h> |
9 | #include <avr/io.h> |
10 | #include <avr/pgmspace.h> |
10 | #include <avr/pgmspace.h> |
11 | #include <avr/interrupt.h> |
11 | #include <avr/interrupt.h> |
12 | #include <avr/eeprom.h> |
12 | #include <avr/eeprom.h> |
13 | #include <avr/boot.h> |
13 | #include <avr/boot.h> |
14 | #include <avr/wdt.h> |
14 | #include <avr/wdt.h> |
15 | #include <avr/eeprom.h> |
15 | #include <avr/eeprom.h> |
16 | 16 | ||
17 | #include "twislave.h" |
17 | #include "twislave.h" |
18 | #include "old_macros.h" |
18 | #include "old_macros.h" |
19 | #include "analog.h" |
19 | #include "analog.h" |
20 | #include "uart.h" |
20 | #include "uart.h" |
21 | #include "timer0.h" |
21 | #include "timer0.h" |
22 | 22 | ||
23 | 23 | ||
24 | #if defined(__AVR_ATmega8__) |
24 | #if defined(__AVR_ATmega8__) |
25 | # define OC1 PB1 |
25 | # define OC1 PB1 |
26 | # define DDROC DDRB |
26 | # define DDROC DDRB |
27 | # define OCR OCR1A |
27 | # define OCR OCR1A |
28 | # define PWM10 WGM10 |
28 | # define PWM10 WGM10 |
29 | # define PWM11 WGM11 |
29 | # define PWM11 WGM11 |
30 | #endif |
30 | #endif |
31 | 31 | ||
32 | #define SYSCLK 8000000L //Quarz Frequenz in Hz |
32 | #define SYSCLK 8000000L //Quarz Frequenz in Hz |
33 | 33 | ||
34 | #define INT0_ENABLE GIMSK |= 0x40 |
34 | #define INT0_ENABLE GIMSK |= 0x40 |
35 | #define INT0_DISABLE GIMSK &= ~0x40 |
35 | #define INT0_DISABLE GIMSK &= ~0x40 |
36 | #define TIM0_START TIMSK0 |= _BV(TOIE0) |
36 | #define TIM0_START TIMSK0 |= _BV(TOIE0) |
37 | #define TIM0_STOPP TIMSK0 &= ~_BV(TOIE0) |
37 | #define TIM0_STOPP TIMSK0 &= ~_BV(TOIE0) |
38 | 38 | ||
39 | #define ICP_INT_ENABLE TIMSK0 |= 0x20 |
39 | #define ICP_INT_ENABLE TIMSK0 |= 0x20 |
40 | #define ICP_INT_DISABLE TIMSK0 &= ~0x20 |
40 | #define ICP_INT_DISABLE TIMSK0 &= ~0x20 |
41 | #define TIMER1_INT_ENABLE TIMSK0 |= 0x04 |
41 | #define TIMER1_INT_ENABLE TIMSK0 |= 0x04 |
42 | #define TIMER1_INT_DISABLE TIMSK0 &= ~0x04 |
42 | #define TIMER1_INT_DISABLE TIMSK0 &= ~0x04 |
43 | #define TIMER2_INT_ENABLE TIMSK0 |= 0x40 |
43 | #define TIMER2_INT_ENABLE TIMSK0 |= 0x40 |
44 | #define TIMER2_INT_DISABLE TIMSK0 &= ~0x40 |
44 | #define TIMER2_INT_DISABLE TIMSK0 &= ~0x40 |
45 | #define INT0_POS_FLANKE MCUCR |= 0x01 |
45 | #define INT0_POS_FLANKE MCUCR |= 0x01 |
46 | #define INT0_ANY_FLANKE MCUCR |= 0x01 |
46 | #define INT0_ANY_FLANKE MCUCR |= 0x01 |
47 | #define INT0_NEG_FLANKE MCUCR &= ~0x01 |
47 | #define INT0_NEG_FLANKE MCUCR &= ~0x01 |
48 | #define CLR_INT0_FLAG GIFR &= ~0x40 |
48 | #define CLR_INT0_FLAG GIFR &= ~0x40 |
49 | #define INIT_INT0_FLANKE MCUCR &= ~0x03; MCUCR |= 0x02; |
49 | #define INIT_INT0_FLANKE MCUCR &= ~0x03; MCUCR |= 0x02; |
50 | #define TIMER0_PRESCALER TCCR0 |
50 | #define TIMER0_PRESCALER TCCR0 |
51 | #define ICP_POS_FLANKE TCCR1B |= (1<<ICES1) |
51 | #define ICP_POS_FLANKE TCCR1B |= (1<<ICES1) |
52 | #define ICP_NEG_FLANKE TCCR1B &= ~(1<<ICES1) |
52 | #define ICP_NEG_FLANKE TCCR1B &= ~(1<<ICES1) |
53 | 53 | ||
54 | #define LED_ON PORTD |= 0x80 |
54 | #define LED_ON PORTD |= 0x80 |
55 | #define LED_OFF PORTD &= ~0x80 |
55 | #define LED_OFF PORTD &= ~0x80 |
56 | #define FLIP_HIGH PORTD |= 0x60 |
56 | #define FLIP_HIGH PORTD |= 0x60 |
57 | #define FLIP_LOW PORTD &= ~0x60 |
57 | #define FLIP_LOW PORTD &= ~0x60 |
- | 58 | #define PIN_J3 (PIND & 0x08) |
|
58 | 59 | ||
59 | extern unsigned int PwmHeading; |
60 | extern unsigned int PwmHeading; |
60 | extern unsigned int PC_Connected; |
61 | extern unsigned int PC_Connected; |
61 | extern unsigned int Heading; |
62 | extern unsigned int Heading; |
62 | extern signed int MagnetN,MagnetR,MagnetZ; |
63 | extern signed int MagnetN,MagnetR,MagnetZ; |
63 | - | ||
- | 64 | extern signed int RawAccN, RawAccR, RawAccZ; |
|
- | 65 | extern signed int AccN, AccR, AccZ; |
|
- | 66 | extern signed int OffsetAccN, OffsetAccR, OffsetAccZ; |
|
- | 67 | extern unsigned char AngleSource; |
|
64 | extern uint16_t eeXmin EEMEM; |
68 | extern uint16_t eeXmin EEMEM; |
65 | extern uint16_t eeXmax EEMEM; |
69 | extern uint16_t eeXmax EEMEM; |
66 | extern uint16_t eeYmin EEMEM; |
70 | extern uint16_t eeYmin EEMEM; |
67 | extern uint16_t eeYmax EEMEM; |
71 | extern uint16_t eeYmax EEMEM; |
68 | extern uint16_t eeZmin EEMEM; |
72 | extern uint16_t eeZmin EEMEM; |
69 | extern uint16_t eeZmax EEMEM; |
73 | extern uint16_t eeZmax EEMEM; |
70 | 74 | ||
71 | #endif //_MAIN_H |
75 | #endif //_MAIN_H |
72 | 76 | ||
73 | 77 | ||
74 | 78 | ||
75 | 79 | ||
76 | 80 | ||
77 | 81 |