Home | History | Annotate | Line # | Download | only in ic
bmx280reg.h revision 1.1
      1  1.1  brad /*	$NetBSD: bmx280reg.h,v 1.1 2022/12/03 01:04:43 brad Exp $	*/
      2  1.1  brad 
      3  1.1  brad /*
      4  1.1  brad  * Copyright (c) 2022 Brad Spencer <brad (at) anduin.eldar.org>
      5  1.1  brad  *
      6  1.1  brad  * Permission to use, copy, modify, and distribute this software for any
      7  1.1  brad  * purpose with or without fee is hereby granted, provided that the above
      8  1.1  brad  * copyright notice and this permission notice appear in all copies.
      9  1.1  brad  *
     10  1.1  brad  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
     11  1.1  brad  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
     12  1.1  brad  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
     13  1.1  brad  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
     14  1.1  brad  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
     15  1.1  brad  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
     16  1.1  brad  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
     17  1.1  brad  */
     18  1.1  brad 
     19  1.1  brad #ifndef _DEV_IC_BMX280REG_H_
     20  1.1  brad #define _DEV_IC_BMX280REG_H_
     21  1.1  brad 
     22  1.1  brad #define BMX280_TYPICAL_ADDR_1	0x76
     23  1.1  brad #define BMX280_TYPICAL_ADDR_2	0x77
     24  1.1  brad 
     25  1.1  brad #define BMX280_REGISTER_DIG_T1		0x88
     26  1.1  brad #define BMX280_REGISTER_DIG_T2		0x8A
     27  1.1  brad #define BMX280_REGISTER_DIG_T3		0x8C
     28  1.1  brad #define BMX280_REGISTER_DIG_P1		0x8E
     29  1.1  brad #define BMX280_REGISTER_DIG_P2		0x90
     30  1.1  brad #define BMX280_REGISTER_DIG_P3		0x92
     31  1.1  brad #define BMX280_REGISTER_DIG_P4		0x94
     32  1.1  brad #define BMX280_REGISTER_DIG_P5		0x96
     33  1.1  brad #define BMX280_REGISTER_DIG_P6		0x98
     34  1.1  brad #define BMX280_REGISTER_DIG_P7		0x9A
     35  1.1  brad #define BMX280_REGISTER_DIG_P8		0x9C
     36  1.1  brad #define BMX280_REGISTER_DIG_P9		0x9E
     37  1.1  brad #define BMX280_REGISTER_DIG_H1		0xA1
     38  1.1  brad #define BMX280_REGISTER_DIG_H2		0xE1
     39  1.1  brad #define BMX280_REGISTER_DIG_H3		0xE3
     40  1.1  brad #define BMX280_REGISTER_DIG_H4		0xE4
     41  1.1  brad #define BMX280_REGISTER_DIG_H5		0xE5
     42  1.1  brad 
     43  1.1  brad #define BMX280_REGISTER_ID		0xD0
     44  1.1  brad #define BMX280_ID_BMP280		0x58
     45  1.1  brad #define BMX280_ID_BME280		0x60
     46  1.1  brad 
     47  1.1  brad #define BMX280_REGISTER_RESET		0xE0
     48  1.1  brad #define BMX280_TRIGGER_RESET		0xB6
     49  1.1  brad 
     50  1.1  brad #define BMX280_REGISTER_CTRL_HUM	0xF2
     51  1.1  brad 
     52  1.1  brad #define BMX280_REGISTER_STATUS		0xF3
     53  1.1  brad #define BMX280_STATUS_MEASURING_MASK	0x08
     54  1.1  brad #define BMX280_STATUS_IM_UPDATE_MASK	0x01
     55  1.1  brad 
     56  1.1  brad #define BMX280_REGISTER_CTRL_MEAS	0xF4
     57  1.1  brad #define BMX280_CTRL_OSRS_T_MASK		0xE0
     58  1.1  brad #define BMX280_CTRL_OSRS_P_MASK		0x1C
     59  1.1  brad #define BMX280_CTRL_OSRS_T_SHIFT	5
     60  1.1  brad #define BMX280_CTRL_OSRS_P_SHIFT	2
     61  1.1  brad #define BMX280_OSRS_TP_VALUE_SKIPPED	0x00
     62  1.1  brad #define BMX280_OSRS_TP_VALUE_X1		0x01
     63  1.1  brad #define BMX280_OSRS_TP_VALUE_X2		0x02
     64  1.1  brad #define BMX280_OSRS_TP_VALUE_X4		0x03
     65  1.1  brad #define BMX280_OSRS_TP_VALUE_X8		0x04
     66  1.1  brad #define BMX280_OSRS_TP_VALUE_X16	0x05
     67  1.1  brad #define BMX280_CTRL_MODE_MASK		0x03
     68  1.1  brad #define BMX280_MODE_SLEEP		0x00
     69  1.1  brad #define BMX280_MODE_FORCED		0x01
     70  1.1  brad #define BMX280_MODE_NORMAL		0x03
     71  1.1  brad 
     72  1.1  brad #define BMX280_REGISTER_CONFIG		0xF5
     73  1.1  brad #define BMX280_CONFIG_T_SB_MASK		0xE0
     74  1.1  brad #define BMX280_CONFIG_FILTER_MASK	0x1C
     75  1.1  brad #define BMX280_CONFIG_FILTER_SHIFT	2
     76  1.1  brad #define BMX280_FILTER_VALUE_OFF		0x00
     77  1.1  brad #define BMX280_FILTER_VALUE_2		0x01
     78  1.1  brad #define BMX280_FILTER_VALUE_5		0x02
     79  1.1  brad #define BMX280_FILTER_VALUE_11		0x04
     80  1.1  brad #define BMX280_FILTER_VALUE_22		0x05
     81  1.1  brad #define BMX280_CONFIG_SPI3W_EN_MASK	0x01
     82  1.1  brad 
     83  1.1  brad #define BMX280_REGISTER_PRESS_MSB	0xF7
     84  1.1  brad #define BMX280_REGISTER_PRESS_LSB	0xF8
     85  1.1  brad #define BMX280_REGISTER_PRESS_XLSB	0xF9
     86  1.1  brad 
     87  1.1  brad #define BMX280_REGISTER_TEMP_MSB	0xFA
     88  1.1  brad #define BMX280_REGISTER_TEMP_LSB	0xFB
     89  1.1  brad #define BMX280_REGISTER_TEMP_XLSB	0xFC
     90  1.1  brad 
     91  1.1  brad #define BMX280_TEMPPRES_XLSB_MASK	0xF0
     92  1.1  brad 
     93  1.1  brad #define BMX280_REGISTER_HUM_MSB		0xFD
     94  1.1  brad #define BMX280_REGISTER_HUM_LSB		0xFE
     95  1.1  brad 
     96  1.1  brad #endif
     97