Project

General

Profile

Revision 1154

View differences:

trunk/code/behaviors/library_test/main.c
5 5

  
6 6
static void oset(uint8_t r,uint8_t g,uint8_t b)
7 7
{
8
	orbs_set(r,g,b,255-r,255-g,255-b);
8
    orbs_set(r,g,b,255-r,255-g,255-b);
9 9
}
10 10

  
11 11
static void color_circle (void)
12 12
{
13
   while(1)
14
   {
15
		for (uint8_t part=0; part<6; ++part)
16
		{
17
			for (uint8_t up=0; up<255; ++up)
18
			{
19
				uint8_t dn=255-up;
20
				uint8_t on=255;
21
				uint8_t of=0;
22
				
23
				if (1)
24
				{
25
					// Maximum brightness mode
26
					switch (part)
27
					{
28
						case 0: oset (on, up, of); break;
29
						case 1: oset (dn, on, of); break;
30
						case 2: oset (of, on, up); break;
31
						case 3: oset (of, dn, on); break;
32
						case 4: oset (up, of, on); break;
33
						case 5: oset (on, of, dn); break;
34
					}
35
				}
36
				else
37
				{
38
					// Constant brightness mode (not very constant though)
39
					switch (part%3)
40
					{
41
						case 0: oset (dn, up, of); break;
42
						case 1: oset (of, dn, up); break;
43
						case 2: oset (up, of, dn); break;
44
					}
45
				}
46
				
47
				delay_ms (2);
48
			}
49
		}
50
	}
13
    while(1)
14
    {
15
        for (uint8_t part=0; part<6; ++part)
16
        {
17
            for (uint8_t up=0; up<255; ++up)
18
            {
19
                uint8_t dn=255-up;
20
                uint8_t on=255;
21
                uint8_t of=0;
22

  
23
                if (1)
24
                {
25
                    // Maximum brightness mode
26
                    switch (part)
27
                    {
28
                        case 0: oset (on, up, of); break;
29
                        case 1: oset (dn, on, of); break;
30
                        case 2: oset (of, on, up); break;
31
                        case 3: oset (of, dn, on); break;
32
                        case 4: oset (up, of, on); break;
33
                        case 5: oset (on, of, dn); break;
34
                    }
35
                }
36
                else
37
                {
38
                    // Constant brightness mode (not very constant though)
39
                    switch (part%3)
40
                    {
41
                        case 0: oset (dn, up, of); break;
42
                        case 1: oset (of, dn, up); break;
43
                        case 2: oset (up, of, dn); break;
44
                    }
45
                }
46

  
47
                delay_ms (2);
48
            }
49
        }
50
    }
51 51
}
52 52

  
53 53
static void acl(void)
54 54
{
55
	#define redval 255
56
	#define greenval 150
57
	#define interval 1300
58
	#define flash 20
59
	#define pause 200
55
#define redval 255
56
#define greenval 150
57
#define interval 1300
58
#define flash 20
59
#define pause 200
60 60

  
61
	#define def do { orb1_set(redval,0,0); orb2_set(0,greenval,0); } while (0)
62
	#define wht do { orb_set(255,255,255); } while (0)
61
#define def do { orb1_set(redval,0,0); orb2_set(0,greenval,0); } while (0)
62
#define wht do { orb_set(255,255,255); } while (0)
63 63

  
64
	while (1)
65
	{
66
		wht; delay_ms (flash);
67
		def; delay_ms (pause-flash);
68
		wht; delay_ms (flash);
69
		def; delay_ms (pause-flash);
70
		def; delay_ms (interval-2*pause-2*flash);
71
	}
64
    while (1)
65
    {
66
        wht; delay_ms (flash);
67
        def; delay_ms (pause-flash);
68
        wht; delay_ms (flash);
69
        def; delay_ms (pause-flash);
70
        def; delay_ms (interval-2*pause-2*flash);
71
    }
72 72
}
73 73

  
74 74
int main(void) {
75
//	dragonfly_init(ALL_ON);
76
	dragonfly_init(0);
75
    //  dragonfly_init(ALL_ON);
76
    dragonfly_init(0);
77 77

  
78
	usb_init ();
79
	usb_puts ("Startup\r\n");
78
    usb_init ();
79
    usb_puts ("Startup\r\n");
80 80

  
81 81

  
82
	//encoders_init ();
82
    //encoders_init ();
83 83

  
84 84
    //analog_init(ADC_START);
85
	//analog_init(0);
85
    //analog_init(0);
86 86

  
87 87
    //range_init();
88 88

  
89
	//DDRF=2;
89
    //DDRF=2;
90 90

  
91
	//motors_init ();
92
	//motor2_set (FORWARD, 64);
91
    //motors_init ();
92
    //motor2_set (FORWARD, 64);
93 93

  
94
	//orb_init_binary ();
95
	orb_init_pwm ();
94
    //orb_init_binary ();
95
    orb_init_pwm ();
96 96

  
97
	if (false)
98
	{
99
		orbs_set (255, 0, 0, 0, 0, 0); delay_ms (500);
100
		orbs_set (0, 255, 0, 0, 0, 0); delay_ms (500);
101
		orbs_set (0, 0, 255, 0, 0, 0); delay_ms (500);
102
		orbs_set (0, 0, 0, 255, 0, 0); delay_ms (500);
103
		orbs_set (0, 0, 0, 0, 255, 0); delay_ms (500);
104
		orbs_set (0, 0, 0, 0, 0, 255); delay_ms (500);
105
	}
97
    if (false)
98
    {
99
        orbs_set (255, 0, 0, 0, 0, 0); delay_ms (500);
100
        orbs_set (0, 255, 0, 0, 0, 0); delay_ms (500);
101
        orbs_set (0, 0, 255, 0, 0, 0); delay_ms (500);
102
        orbs_set (0, 0, 0, 255, 0, 0); delay_ms (500);
103
        orbs_set (0, 0, 0, 0, 255, 0); delay_ms (500);
104
        orbs_set (0, 0, 0, 0, 0, 255); delay_ms (500);
105
    }
106 106

  
107
	if (false)
108
	{
109
		orb_set (1,1,1);
110
		while (1)
111
		{
112
			SYNC
113
			{
114
				for (uint8_t m=0; m<100; ++m)
115
				{
116
					_delay_us(10);
117
				}
118
			}
119
		}
120
	}
121
	
122
	if (false)
123
	{
124
		while (1)
125
		{
126
			for (uint8_t x=0; x<255; ++x)
127
			{
128
				orbs_set (x, 1, 2, 3, 4, 5);
129
				
130
				for (uint8_t n=0; n<80; ++n)
131
				{
132
					SYNC
133
					{ for (uint8_t m=0; m<1; ++m) _delay_us(50); }
134
				}
135
			}
107
    if (false)
108
    {
109
        orb_set (1,1,1);
110
        while (1)
111
        {
112
            SYNC
113
            {
114
                for (uint8_t m=0; m<100; ++m)
115
                {
116
                    _delay_us(10);
117
                }
118
            }
119
        }
120
    }
136 121

  
137
			for (uint8_t x=255; x>0; --x)
138
			{
139
				orbs_set (x, 1, 1, 1, 1, 1);
140
				delay_ms (4);
141
			}
142
		}
143
	}
122
    if (false)
123
    {
124
        while (1)
125
        {
126
            for (uint8_t x=0; x<255; ++x)
127
            {
128
                orbs_set (x, 1, 2, 3, 4, 5);
144 129

  
145
	if (false)
146
	{
147
		//orbs_set (2,4,6,8,10,12);
148
		//orbs_set (32, 64, 96, 128, 160, 192);
149
		orbs_set (128,128,128,128,128,128);
150
		while (1);
151
	}
130
                for (uint8_t n=0; n<80; ++n)
131
                {
132
                    SYNC
133
                    { for (uint8_t m=0; m<1; ++m) _delay_us(50); }
134
                }
135
            }
152 136

  
153
	if (false)
154
	{
155
		if (!button2_read ())
156
		{
157
			orb_set_mode (orb_mode_pwm);
158
			orb_disable_timer ();
159
			
160
			while (1)
161
			{
162
				// Continuously call the sorting routine for timing test
163
				for (uint8_t i=0; i<200; ++i)
164
				{
165
					orbs_set (10,20,30,40,50,60);
166
					delay_ms (10);
167
				}
168
					
169
				for (uint8_t i=0; i<200; ++i)
170
				{
171
					orbs_set (60,50,40,30,20,10);
172
					delay_ms (10);
173
				}
174
			}
175
		}
176
		else
177
		{
178
			while (button2_read ());
179
			if (button1_read ())
180
			{
181
				color_circle ();
182
			}
183
			else
184
			{
185
				acl ();
186
			}
187
		}
188
	}
189
	
190
	
137
            for (uint8_t x=255; x>0; --x)
138
            {
139
                orbs_set (x, 1, 1, 1, 1, 1);
140
                delay_ms (4);
141
            }
142
        }
143
    }
191 144

  
192
	// Do some lighting
193
	if (!button2_read ())
194
		color_circle ();
195
	else
196
		acl ();
145
    if (false)
146
    {
147
        //orbs_set (2,4,6,8,10,12);
148
        //orbs_set (32, 64, 96, 128, 160, 192);
149
        orbs_set (128,128,128,128,128,128);
150
        while (1);
151
    }
197 152

  
153
    if (false)
154
    {
155
        if (!button2_read ())
156
        {
157
            orb_set_mode (orb_mode_pwm);
158
            orb_disable_timer ();
159

  
160
            while (1)
161
            {
162
                // Continuously call the sorting routine for timing test
163
                for (uint8_t i=0; i<200; ++i)
164
                {
165
                    orbs_set (10,20,30,40,50,60);
166
                    delay_ms (10);
167
                }
168

  
169
                for (uint8_t i=0; i<200; ++i)
170
                {
171
                    orbs_set (60,50,40,30,20,10);
172
                    delay_ms (10);
173
                }
174
            }
175
        }
176
        else
177
        {
178
            while (button2_read ());
179
            if (button1_read ())
180
            {
181
                color_circle ();
182
            }
183
            else
184
            {
185
                acl ();
186
            }
187
        }
188
    }
189

  
190

  
191

  
192
    // Do some lighting
193
    if (!button2_read ())
194
        color_circle ();
195
    else
196
        acl ();
197

  
198 198
}
199

  
trunk/code/projects/diagnostic_station/station/main.c
76 76

  
77 77
int main (void)
78 78
{
79
#include <dragonfly_lib.h>
80
#include <wireless.h>
81

  
82
//	dragonfly_init(ALL_ON);
83
//	wl_init();
84
//
85
//	while (1)‏
86
//	{
87
//		wl_do();
88
//		do_stuff();
89
//	}
90
//	return 0;
91

  
79 92
	dragonfly_init(0);
80 93
	usb_init ();
81 94
	orb_init ();

Also available in: Unified diff