Project

General

Profile

Statistics
| Revision:

root / trunk / code / projects / colonet / testing / dongle / robot_receiver / firefly+_lib.c @ 13

History | View | Annotate | Download (2.49 KB)

1
#include <firefly+_lib.h>
2
#include <rangefinder.h>
3

    
4
void button_test ( void);
5
void motor_test (void);
6
void serial_test( void );
7
void lcd_test(void);
8
void orb_test( void );
9
void batt_test(void);
10
void pullup_test(void);
11
void ranger_test(void);
12

    
13
/*
14
int main( void ) {
15
//        orb_init();
16
        //motors_init();
17
        tlc5940test();
18
        //ranger_test();
19
        //pullup_test();
20
        //serial_test();
21
        //lcd_test();
22
        
23
 orb_set_num(2, 255,0,0);
24
        motor_test();
25
 orb_set_num(3, 255,0,0);
26
        return 0;
27
}*/
28

    
29

    
30
void ranger_test( void )
31
{
32
        lcd_init();
33
        
34
        while(1) {
35
                lcd_clear_screen();
36
                lcd_putint(linearize_distance(read_distance(PIN_C0)));
37
                delay_ms(100);
38
        
39
        }
40

    
41
}
42

    
43
void button_test ( void) 
44
{
45

    
46
        lcd_init();
47
        
48
        while(1) {
49
        
50
        
51
                if(button1_read())
52
                        lcd_putchar('1');
53
                if(button2_read())
54
                        lcd_putchar('2');
55
                        
56
                delay_ms(100);
57
                
58
        }
59

    
60

    
61

    
62
}
63
void motor_test (void) {
64

    
65
        motors_init();
66
        //led_init();
67
        
68
        motor1_set(1, 255);
69
        motor2_set(1, 255);
70
        
71
        delay_ms(10000);
72
        
73
        motors_off();
74
        led_user(1);
75
        
76
        
77
        while(1);
78

    
79

    
80

    
81
}
82
void orb_test( void ) {
83
        int orbs[13] = { ORB_OFF, RED, ORANGE, YELLOW, LIME, GREEN, CYAN, BLUE, PURPLE, PINK, PURPLE, MAGENTA, WHITE };
84
        int orb_select = 0;
85
        
86
        orb_init();
87
        
88
        
89
        while(1) {
90
                orb_set_color(orbs[orb_select]);
91
                delay_ms(1000);
92
                orb_select++;
93
                if(orb_select == 14)
94
                        orb_select = 0;
95
        }
96

    
97
        return;
98

    
99
}
100

    
101

    
102
void lcd_test(void) {
103
        int i;
104
        lcd_init();
105
        
106
        for(i = 32; i <= 126; i++) {
107
                lcd_putchar(i);
108
                delay_ms(250);
109
        }
110
        
111
        
112
        return;
113
        
114
}
115

    
116
/*
117
prints all printable characters to the serial
118

119
baud rate is 115200
120
*/
121
void serial_test( void ) {
122
        int i;
123
        
124
        serial1_init(BAUD115200);
125
        fdevopen(&serial1_putchar,&serial1_getchar);
126
        for(i = 32; i <= 126; i++) {
127
                printf("%d",i);
128
                delay_ms(250);
129
        }
130

    
131
        return;
132
}
133

    
134
void pullup_test()
135
{
136
        lcd_init();
137
        lcd_putstr("pullup test");
138
        delay_ms(100);
139
        
140
        digital_pull_up(PIN_A4);
141
        digital_pull_up(PIN_A5);
142
        digital_pull_up(PIN_A6);
143
        digital_pull_up(PIN_A7);
144
        while(1){
145
                lcd_clear_screen();
146
                if(!digital_input(PIN_A4))
147
                        lcd_putchar('0');
148
                else
149
                        lcd_putchar(' ');
150
                if(!digital_input(PIN_A5))
151
                        lcd_putchar('1');
152
                else
153
                        lcd_putchar(' ');
154
                if(!digital_input(PIN_A6))
155
                        lcd_putchar('2');
156
                else
157
                        lcd_putchar(' ');
158
                if(!digital_input(PIN_A7))
159
                        lcd_putchar('3');
160
                else
161
                        lcd_putchar(' ');
162
                delay_ms(100);
163
        }
164
}
165

    
166
void batt_test()
167
{
168
        lcd_init();
169

    
170
        analog_init();
171

    
172
        while(1){
173
                lcd_clear_screen();
174
                lcd_putint(battery());
175
                delay_ms(1000);
176
        }
177
}
178

    
179