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