root / branches / library_refactor / behaviors / library_test / main.c @ 1102
History | View | Annotate | Download (2.11 KB)
1 |
#include <dragonfly_lib.h> |
---|---|
2 |
//#include "smart_run_around_fsm.h"
|
3 |
|
4 |
// Martin "deffi" Herrmann Test
|
5 |
|
6 |
static void color_circle () |
7 |
{ |
8 |
while(1) |
9 |
{ |
10 |
for (uint8_t part=0; part<6; ++part) |
11 |
{ |
12 |
for (uint8_t up=0; up<255; ++up) |
13 |
{ |
14 |
uint8_t dn=255-up;
|
15 |
uint8_t on=255;
|
16 |
uint8_t of=0;
|
17 |
|
18 |
if (1) |
19 |
{ |
20 |
// Maximum brightness mode
|
21 |
switch (part)
|
22 |
{ |
23 |
case 0: orb_set (on, up, of); break; |
24 |
case 1: orb_set (dn, on, of); break; |
25 |
case 2: orb_set (of, on, up); break; |
26 |
case 3: orb_set (of, dn, on); break; |
27 |
case 4: orb_set (up, of, on); break; |
28 |
case 5: orb_set (on, of, dn); break; |
29 |
} |
30 |
} |
31 |
else
|
32 |
{ |
33 |
// Constant brightness mode (not very constant though)
|
34 |
switch (part%3) |
35 |
{ |
36 |
case 0: orb_set (dn, up, of); break; |
37 |
case 1: orb_set (of, dn, up); break; |
38 |
case 2: orb_set (up, of, dn); break; |
39 |
} |
40 |
} |
41 |
|
42 |
delay_ms (2);
|
43 |
} |
44 |
} |
45 |
} |
46 |
} |
47 |
|
48 |
static void acl() |
49 |
{ |
50 |
#define redval 255 |
51 |
#define greenval 150 |
52 |
#define interval 1300 |
53 |
#define flash 20 |
54 |
#define pause 200 |
55 |
|
56 |
#define def do { orb1_set(redval,0,0); orb2_set(0,greenval,0); } while (0) |
57 |
#define wht do { orb_set(255,255,255); } while (0) |
58 |
|
59 |
while (1) |
60 |
{ |
61 |
wht; delay_ms (flash); |
62 |
def; delay_ms (pause-flash); |
63 |
wht; delay_ms (flash); |
64 |
def; delay_ms (pause-flash); |
65 |
def; delay_ms (interval-2*pause-2*flash); |
66 |
} |
67 |
} |
68 |
|
69 |
|
70 |
int main(void) { |
71 |
// dragonfly_init(ALL_ON);
|
72 |
dragonfly_init(0);
|
73 |
|
74 |
//encoders_init ();
|
75 |
//analog_init(ADC_START);
|
76 |
//analog_init(0);
|
77 |
//range_init();
|
78 |
|
79 |
//DDRF=2;
|
80 |
|
81 |
//motors_init ();
|
82 |
//motor2_set (FORWARD, 64);
|
83 |
|
84 |
//orb_init ();
|
85 |
//orb_enable ();
|
86 |
|
87 |
orb_init (); |
88 |
//delay_ms (1000);
|
89 |
while (1) |
90 |
{ |
91 |
delay_ms (1000);
|
92 |
} |
93 |
|
94 |
{ |
95 |
orb1_set (1,0,0); |
96 |
orb2_set (0,1,0); |
97 |
delay_ms (1000);
|
98 |
orb1_set (0,24,0); |
99 |
orb2_set (1,0,0); |
100 |
delay_ms (1000);
|
101 |
} |
102 |
|
103 |
orb_set(0,0,0); delay_ms (1000); |
104 |
|
105 |
usb_init (); |
106 |
|
107 |
usb_puts ("Startup\r\n");
|
108 |
usb_puth (0x1234); usb_puts ("\r\n"); |
109 |
usb_puth (0xFFFF); usb_puts ("\r\n"); |
110 |
usb_puth (0); usb_puts ("\r\n"); |
111 |
usb_puth (0x12345); usb_puts ("\r\n"); |
112 |
|
113 |
|
114 |
// Do some lighting and wheel controlled motors on BTN1
|
115 |
if (!button2_read ())
|
116 |
acl (); |
117 |
else
|
118 |
color_circle (); |
119 |
|
120 |
} |