root / branches / autonomous_recharging / code / projects / colonet / utilities / dragonfly_wireless_relay / lights.h @ 1390
History | View | Annotate | Download (2.02 KB)
1 | 13 | emarinel | /*
|
---|---|---|---|
2 | lights.h
|
||
3 | |||
4 | Contains function prototypes, variables, and pins used by the Orbs and PWM
|
||
5 | |||
6 | most of this is shamelessly copied from FWR's orb.h (Tom Lauwers and Steven Shamlian)
|
||
7 | |||
8 | author: CMU Robotics Club, Colony Project
|
||
9 | |||
10 | Change Log:
|
||
11 | 1.25.07 - KWoo
|
||
12 | Removed FF+ code. Cleaned up and commented all variables.
|
||
13 | |||
14 | */
|
||
15 | |||
16 | #ifndef _LIGHTS_H_
|
||
17 | #define _LIGHTS_H_
|
||
18 | |||
19 | /***** Port and Pin Definitions ****/
|
||
20 | |||
21 | //Orb Ports and Registers
|
||
22 | #define ORB_PORT PORTC
|
||
23 | #define ORB_DDR DDRC
|
||
24 | |||
25 | //Orb Pins
|
||
26 | #define ORB1_RED 0x00 |
||
27 | #define ORB1_GREEN 0x01 |
||
28 | #define ORB1_BLUE 0x02 |
||
29 | #define ORB2_RED 0x04 |
||
30 | #define ORB2_GREEN 0x05 |
||
31 | #define ORB2_BLUE 0x06 |
||
32 | |||
33 | //ORB Colors
|
||
34 | #define RED 0xE0 |
||
35 | #define ORANGE 0xE4 |
||
36 | #define YELLOW 0xE8 |
||
37 | #define LIME 0x68 |
||
38 | #define GREEN 0x1C |
||
39 | #define CYAN 0x1F |
||
40 | #define BLUE 0x03 |
||
41 | #define PINK 0xA6 |
||
42 | #define PURPLE 0x41 |
||
43 | #define MAGENTA 0xE3 |
||
44 | #define WHITE 0xFE |
||
45 | #define ORB_OFF 0x00 |
||
46 | |||
47 | |||
48 | |||
49 | #include <avr/interrupt.h> |
||
50 | |||
51 | |||
52 | #define ORB_RESET 1025 |
||
53 | |||
54 | #define ORBPORT PORTC
|
||
55 | |||
56 | #define ORBDDR DDRC
|
||
57 | |||
58 | #define ORBMASK 0x77 |
||
59 | |||
60 | |||
61 | |||
62 | /**** Function Prototypes ****/
|
||
63 | //Enables counter and PWM for use with the orb.
|
||
64 | void orb_init(void); |
||
65 | |||
66 | //Sets both orbs to a specified color
|
||
67 | void orb_set(unsigned char red_led, unsigned char green_led, unsigned char blue_led); |
||
68 | //Sets Orb1 to the specified color
|
||
69 | void orb1_set(unsigned char red_led, unsigned char green_led, unsigned char blue_led); |
||
70 | //Sets Orb2 to the specified color
|
||
71 | void orb2_set(unsigned char red_led, unsigned char green_led, unsigned char blue_led); |
||
72 | |||
73 | //Sets both orbs to the same color using a color name
|
||
74 | void orb_set_color(int col); |
||
75 | //Sets orb1 to a color using a color name
|
||
76 | void orb1_set_color(int col); |
||
77 | //Sets orb2 to a color using a color name
|
||
78 | void orb2_set_color(int col); |
||
79 | |||
80 | //Turns off the PWM and thus the Orbs
|
||
81 | void orb_disable(void); |
||
82 | //Turns on the PWM and thus the Orbs
|
||
83 | void orb_enable(void); |
||
84 | |||
85 | //Runs through some colors
|
||
86 | void orb_tester(void); |
||
87 | //Set just one channel
|
||
88 | void orb_set_angle(int servo, int angle); |
||
89 | |||
90 | #endif |