Project

General

Profile

Statistics
| Revision:

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
}