| /* Bosch BMP180 pressure sensor |
| * |
| * Copyright (c) 2024 Chris Ruehl |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| * |
| * Datasheet: |
| * https://www.mouser.hk/datasheet/2/783/BST-BMP180-DS000-1509579.pdf |
| */ |
| #ifndef ZEPHYR_DRIVER_SENSORS_BMP180_H |
| #define ZEPHYR_DRIVER_SENSORS_BMP180_H |
| |
| /* Registers */ |
| #define BMP180_REG_CHIPID 0xD0 |
| #define BMP180_REG_CMD 0xE0 |
| #define BMP180_REG_MEAS_CTRL 0xF4 |
| #define BMP180_REG_MSB 0xF6 |
| #define BMP180_REG_LSB 0xF7 |
| #define BMP180_REG_XLSB 0xF8 |
| #define BMP180_REG_CALIB0 0xAA |
| #define BMP180_REG_CALIB21 0xBF |
| |
| /* BMP180_REG_CHIPID */ |
| #define BMP180_CHIP_ID 0x55 |
| |
| /* BMP180_REG_STATUS */ |
| #define BMP180_STATUS_CMD_RDY BIT(5) |
| |
| /* BMP180_REG_CMD */ |
| #define BMP180_CMD_SOFT_RESET 0xB6 |
| #define BMP180_CMD_GET_TEMPERATURE 0x2E |
| #define BMP180_CMD_GET_OSS0_PRESS 0x34 |
| #define BMP180_CMD_GET_OSS1_PRESS 0x74 /* 0x34 | OSR<<6 */ |
| #define BMP180_CMD_GET_OSS2_PRESS 0xB4 |
| #define BMP180_CMD_GET_OSS3_PRESS 0xF4 |
| |
| /* command result waiting time in ms */ |
| #define BMP180_CMD_GET_TEMP_DELAY 3 |
| #define BMP180_CMD_GET_OSS0_DELAY 3 |
| #define BMP180_CMD_GET_OSS1_DELAY 6 |
| #define BMP180_CMD_GET_OSS2_DELAY 12 |
| #define BMP180_CMD_GET_OSS3_DELAY 24 |
| |
| #define BMP180_ULTRALOWPOWER 0x00 /* oversampling 1x */ |
| #define BMP180_STANDARD 0x01 /* oversampling 2x */ |
| #define BMP180_HIGHRES 0x02 /* oversampling 4x */ |
| #define BMP180_ULTRAHIGH 0x03 /* oversampling 8x */ |
| |
| #endif /* ZEPHYR_DRIVER_SENSORS_BMP180_H */ |