Project

General

Profile

Statistics
| Revision:

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

History | View | Annotate | Download (2.45 KB)

1 13 emarinel
#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