Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
ms5611_regs.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2012 Piotr Esden-Tempski
3  *
4  * This file is part of paparazzi.
5  *
6  * paparazzi is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2, or (at your option)
9  * any later version.
10  *
11  * paparazzi is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with paparazzi; see the file COPYING. If not, write to
18  * the Free Software Foundation, 59 Temple Place - Suite 330,
19  * Boston, MA 02111-1307, USA.
20  */
21 
27 #ifndef MS5611_REGS_H
28 #define MS5611_REGS_H
29 
34 #define MS5611_I2C_SLAVE_ADDR 0xEE
35 #define MS5611_I2C_SLAVE_ADDR_ALT 0xEC
36 
37 /* Number of 16bit calibration coefficients */
38 #define PROM_NB 8
39 
40 /* OSR definitions */
41 #define MS5611_OSR256 0x02
42 #define MS5611_OSR512 0x02
43 #define MS5611_OSR1024 0x04
44 #define MS5611_OSR2048 0x06
45 #define MS5611_OSR4096 0x08
46 
47 /* D1 Register defines */
48 #define MS5611_REG_D1R 0x40 // Request D1 (pressure) conversion
49 #define MS5611_REG_D1(_osr) (MS5611_REG_D1R | _osr)
50 #define MS5611_REG_D1OSR256 MS5611_REG_D1(MS5611_ORS256)
51 #define MS5611_REG_D1OSR512 MS5611_REG_D1(MS5611_OSR512)
52 #define MS5611_REG_D1OSR1024 MS5611_REG_D1(MS5611_OSR1024)
53 #define MS5611_REG_D1OSR2048 MS5611_REG_D1(MS5611_OSR2048)
54 #define MS5611_REG_D1OSR4096 MS5611_REG_D1(MS5611_OSR4096)
55 
56 /* D2 register defines */
57 #define MS5611_REG_D2R 0x50 // Request D2 (temperature) conversion
58 #define MS5611_REG_D2(_osr) (MS5611_REG_D2R | _osr)
59 #define MS5611_REG_D2OSR256 MS5611_REG_D2(MS5611_ORS256)
60 #define MS5611_REG_D2OSR512 MS5611_REG_D2(MS5611_OSR512)
61 #define MS5611_REG_D2OSR1024 MS5611_REG_D2(MS5611_OSR1024)
62 #define MS5611_REG_D2OSR2048 MS5611_REG_D2(MS5611_OSR2048)
63 #define MS5611_REG_D2OSR4096 MS5611_REG_D2(MS5611_OSR4096)
64 
65 /* Commands */
66 #define MS5611_ADC_READ 0x00 // Read converted value
67 #define MS5611_SOFT_RESET 0x1E // Reset command
68 #define MS5611_PROM_READ 0xA0 // Start reading PROM
69 #define MS5611_START_CONV_D1 MS5611_REG_D1OSR4096 /* we use OSR=4096 for maximum resolution */
70 #define MS5611_START_CONV_D2 MS5611_REG_D2OSR4096 /* we use OSR=4096 for maximum resolution */
71 
72 #endif /* MS5611_REGS_H */