Project

General

Profile

Statistics
| Revision:

root / branches / rbom / code / projects / colonet / utilities / robot_wireless_relay / firefly+_lib.c @ 1390

History | View | Annotate | Download (2.45 KB)

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

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

    
14
void adc_gain_test(void)
15
{
16
  analog_init();
17
  lcd_init();
18
  
19
  while(1)
20
  {
21
    
22
    lcd_putint(ADCH);
23
    delay_ms(100);
24
    lcd_clear_screen();
25
  }
26
}
27

    
28

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

    
40
}
41

    
42
void button_test ( void) 
43
{
44

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

    
59

    
60

    
61
}
62
void motor_test (void) {
63

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

    
78

    
79

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

    
96
        return;
97

    
98
}
99

    
100

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

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

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

    
130
        return;
131
}
132

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

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

    
169
        analog_init();
170

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

    
178