From b2f16f1393b91812cde0908608c9887bbfcf858c Mon Sep 17 00:00:00 2001 From: ladyada Date: Sat, 16 Aug 2025 08:07:52 -0400 Subject: [PATCH] add BMP585 support --- src/bmp5.c | 6 +++--- src/bmp5_defs.h | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/bmp5.c b/src/bmp5.c index 2c53f96..0404eaf 100644 --- a/src/bmp5.c +++ b/src/bmp5.c @@ -425,8 +425,8 @@ int8_t bmp5_soft_reset(struct bmp5_dev* dev) { rslt = bmp5_set_regs(BMP5_REG_CMD, &data, 1, dev); if (rslt == BMP5_OK) { - /* Soft-reset execution takes 2 ms */ - dev->delay_us(BMP5_DELAY_US_SOFT_RESET, dev->intf_ptr); + /* Soft-reset execution takes 2 ms, we'll wait a little longer */ + dev->delay_us(BMP5_DELAY_US_SOFT_RESET * 3, dev->intf_ptr); if (dev->intf == BMP5_SPI_INTF) { /* Performing a single read via SPI of registers, @@ -1367,7 +1367,7 @@ static int8_t null_ptr_check(const struct bmp5_dev* dev) { static int8_t validate_chip_id(uint8_t chip_id, struct bmp5_dev* dev) { int8_t rslt; - if (chip_id == BMP5_CHIP_ID) { + if (chip_id == BMP5_CHIP_ID || chip_id == BMP585_CHIP_ID) { /* Updating chip_id in device structure */ dev->chip_id = chip_id; rslt = BMP5_OK; diff --git a/src/bmp5_defs.h b/src/bmp5_defs.h index 2ae931b..c52a5ef 100644 --- a/src/bmp5_defs.h +++ b/src/bmp5_defs.h @@ -200,6 +200,7 @@ /*! @name Chip id of BMP5 */ #define BMP5_CHIP_ID UINT8_C(0x50) +#define BMP585_CHIP_ID UINT8_C(0x51) /*! @name API success code */ #define BMP5_OK INT8_C(0)