Subversion Repositories svnkaklik

Rev

Details | Last modification | View Log

Rev Author Line No. Line
359 kaklik 1
 
2
/****************************************************************************
3
 Title  :   C  include file for the SRF08 FUNCTIONS library (srf08.h)
4
 Author:    Chris efstathiou hendrix@otenet.gr
5
 Date:      13/Jul/2002
6
 Software:  AVR-GCC with AVR-AS
7
 Target:    any AVR device
8
 Comments:  This software is FREE.
9
 
10
*****************************************************************************/
11
 
12
#ifndef SRF08_H
13
#define SRF08_H     1
14
 
15
/*##############################################################################################*/
16
/*                             START OF CONFIGURATION BLOCK                                     */
17
/*##############################################################################################*/
18
/* Normally you shouldn't need to change anything */
19
 
20
#define SRF08_UNIT_0   0xE0  /* the SRF08 MODULE I2C address */
21
#define SRF08_UNIT_1   0xE2  /* the SRF08 MODULE I2C address */
22
#define SRF08_UNIT_2   0xE4  /* the SRF08 MODULE I2C address */
23
#define SRF08_UNIT_3   0xE6  /* the SRF08 MODULE I2C address */
24
#define SRF08_UNIT_4   0xE8  /* the SRF08 MODULE I2C address */
25
#define SRF08_UNIT_5   0xEA  /* the SRF08 MODULE I2C address */
26
#define SRF08_UNIT_6   0xEC  /* the SRF08 MODULE I2C address */
27
#define SRF08_UNIT_7   0xEE  /* the SRF08 MODULE I2C address */
28
#define SRF08_UNIT_8   0xF0  /* the SRF08 MODULE I2C address */
29
#define SRF08_UNIT_9   0xF2  /* the SRF08 MODULE I2C address */
30
#define SRF08_UNIT_10  0xF4  /* the SRF08 MODULE I2C address */
31
#define SRF08_UNIT_11  0xF6  /* the SRF08 MODULE I2C address */
32
#define SRF08_UNIT_12  0xF8  /* the SRF08 MODULE I2C address */
33
#define SRF08_UNIT_13  0xFA  /* the SRF08 MODULE I2C address */
34
#define SRF08_UNIT_14  0xFC  /* the SRF08 MODULE I2C address */
35
#define SRF08_UNIT_15  0xFE  /* the SRF08 MODULE I2C address */
36
 
37
/*##############################################################################################*/
38
/*                              END OF CONFIGURATION BLOCK                                      */
39
/*##############################################################################################*/
40
 
41
#define SRF08_I2C_BROADCAST_ADDRESS   0X00
42
 
43
#define SRF08_MIN_GAIN        0      /* sets gain to 94   */
44
#define SRF08_MAX_GAIN        31     /* sets gain to 1025 */
45
#define SRF08_MIN_RANGE       0      /* in millimeters    */
46
#define SRF08_MAX_RANGE       11008  /* in millimeters    */
47
 
48
#define SRF08_INCHES          0X50
49
#define SRF08_CENTIMETERS     0X51
50
#define SRF08_MICROSECONDS    0X52
51
 
52
/* register positions */
53
#define SRF08_COMMAND         0
54
#define SRF08_LIGHT           1
55
#define SRF08_ECHO_1          2
56
#define SRF08_ECHO_2          4
57
#define SRF08_ECHO_3          6
58
#define SRF08_ECHO_4          8
59
#define SRF08_ECHO_5          10
60
#define SRF08_ECHO_6          12
61
#define SRF08_ECHO_7          14
62
#define SRF08_ECHO_8          16
63
#define SRF08_ECHO_9          18
64
#define SRF08_ECHO_10         20
65
#define SRF08_ECHO_11         22
66
#define SRF08_ECHO_12         24
67
#define SRF08_ECHO_13         26
68
#define SRF08_ECHO_14         28
69
#define SRF08_ECHO_15         30
70
#define SRF08_ECHO_16         32
71
#define SRF08_ECHO_17         34
72
 
73
/* Function Declaration */
74
 
75
extern void          srf08_select_unit(unsigned char srf08_address);
76
extern void          srf08_init(void);
77
 
78
extern void          srf08_set_gain(unsigned char gain);
79
extern void          srf08_set_range(unsigned int millimeters);
80
 
81
extern unsigned int  srf08_ping(unsigned char metric_unit);
82
extern unsigned int  srf08_read_register(unsigned char srf08_register);
83
 
84
extern void          srf08_change_i2c_address(unsigned char new_i2c_address);
85
 
86
 
87
#endif  /* #ifndef SRF08_H */
88
/*######################################################################################################*/
89
/*                                         T H E   E N D                                                */
90
/*######################################################################################################*/
91