Project

General

Profile

Statistics
| Revision:

root / branches / library_refactor / projects / test / test_rangefinders.c @ 1366

History | View | Annotate | Download (1.29 KB)

1
#include <dragonfly_lib.h>
2

    
3

    
4
/**
5
 * RangeFinder Rules
6
 * - analog_init() is needed
7
 * - value 100 - under 5cm is not detected
8
 * - value 800 - over ~30cm is not detected
9
 * - at ~20cm values become increasingly erroneous
10
 *
11
 */
12
 
13
int to_mm(int rangeFinder) 
14
{
15

    
16
        if(rangeFinder != -1)
17
                return (int)(rangeFinder/15.112*10);
18
        else
19
                return -1;
20

    
21
}
22

    
23
int testrangefinders(void) {
24
  usb_init();
25
        usb_puts("usb turned on\r\n");
26
  range_init();
27
  usb_puts("rangefinders turned on\r\n");
28
  int d1,d2,d3,d4,d5;
29
  delay_ms(1000);
30
  
31
  //int sum = 0;
32
  //int count = 0;
33
  //int average = 0;
34
  
35
  // start testing rangefinders
36
  while(1) {
37
        //if(count == 10000)
38
        //{
39
        //        average = sum/count;
40
        //        count = 0;
41
        //}
42
        
43
    // get ranges
44
    //d1 = range_read_distance(IR1);
45
    d2 = range_read_distance(IR2);
46
    //d3 = range_read_distance(IR3);
47
    //d4 = range_read_distance(IR4);
48
    //d5 = range_read_distance(IR5);
49
    //usb_puts("d1=");
50
    //usb_puti(d1);
51
        
52
        //sum += d2;
53
        
54
    //usb_puts("\taverage of 10000=");
55
    //usb_puti(d2);
56
        
57
    //usb_puts("\td3=");
58
    //usb_puti(d3);
59
    //usb_puts("\td4=");
60
    //usb_puti(d4);
61
    //usb_puts("\td5=");
62
    //usb_puti(d5);
63
        
64
        usb_puts("\tIn mm=");
65
        usb_puti(to_mm(d2));
66
    usb_puts("\r\n");   
67
        
68
        //count++;
69
        
70
    delay_ms(100);
71
  }
72
  
73
  // end testing rangefinders
74
        return 0;
75
}
76

    
77