Subversion Repositories FlightCtrl

Rev

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

Rev 1805 Rev 1842
1
#ifndef _OUTPUT_H
1
#ifndef _OUTPUT_H
2
#define _OUTPUT_H
2
#define _OUTPUT_H
3
 
3
 
4
#include <avr/io.h>
4
#include <avr/io.h>
5
 
5
 
6
// This is for LEDs connected directly between +5V and the AVR port, without transistors.
6
// This is for LEDs connected directly between +5V and the AVR port, without transistors.
7
// PORTbit = 0 --> LED on.
7
// PORTbit = 0 --> LED on.
8
// To use the normal transistor set-up where 1 --> transistor conductive, reverse the 
8
// To use the normal transistor set-up where 1 --> transistor conductive, reverse the 
9
// ON and OFF statements.
9
// ON and OFF statements.
10
 
10
 
11
// invert means: An "1" bit in digital debug data make a LOW on the output.
11
// invert means: An "1" bit in digital debug data make a LOW on the output.
12
#define DIGITAL_DEBUG_INVERT 1
12
#define DIGITAL_DEBUG_INVERT 1
13
#define OUTPUT_HIGH(num)        {PORTC |=  (4 << (num));}
13
#define OUTPUT_HIGH(num)        {PORTC |=  (4 << (num));}
14
#define OUTPUT_LOW(num)         {PORTC &= ~(4 << (num));}
14
#define OUTPUT_LOW(num)         {PORTC &= ~(4 << (num));}
15
#define OUTPUT_SET(num, state)  {if (DIGITAL_DEBUG_INVERT){if(state) OUTPUT_LOW(num) else OUTPUT_HIGH(num)} else {if(state) OUTPUT_HIGH(num) else OUTPUT_LOW(num)}}
15
#define OUTPUT_SET(num, state)  {if (DIGITAL_DEBUG_INVERT){if(state) OUTPUT_LOW(num) else OUTPUT_HIGH(num)} else {if(state) OUTPUT_HIGH(num) else OUTPUT_LOW(num)}}
16
#define OUTPUT_TOGGLE(num) (    {PORTC ^=  (4 << (num));}
16
#define OUTPUT_TOGGLE(num) (    {PORTC ^=  (4 << (num));}
17
 
17
 
18
#define DEBUG_LEDTEST 256
18
#define DEBUG_LEDTEST 256
19
#define DEBUG_HEIGHT_SWITCH 1
19
#define DEBUG_HEIGHT_SWITCH 1
20
#define DEBUG_HEIGHT_DIFF 2
20
#define DEBUG_HEIGHT_DIFF 2
21
#define DEBUG_HOVERTHROTTLE 4
21
#define DEBUG_HOVERTHROTTLE 4
22
#define DEBUG_ACC0THORDER 8
22
#define DEBUG_ACC0THORDER 8
23
#define DEBUG_COMMANDREPEATED 16
23
#define DEBUG_COMMANDREPEATED 16
24
#define DEBUG_PRESSURERANGE 32
24
#define DEBUG_PRESSURERANGE 32
25
#define DEBUG_MK3MAG 64
25
#define DEBUG_CLIP 64
26
 
26
 
27
void output_init(void);
27
void output_init(void);
28
void output_update(void);
28
void output_update(void);
29
 
29
 
30
#endif //_output_H
30
#endif //_output_H
31
 
31