Skip to content

Commit

Permalink
Bosch BMP388 Initial Support
Browse files Browse the repository at this point in the history
Functioning BMP388 driver.

Known issues:
- hard coded _max_measure_interval
- uses bmp3_defs.h from Bosch, would like to refactor this
  • Loading branch information
modaltb authored and davids5 committed Aug 9, 2019
1 parent aae16cc commit a05d0e1
Show file tree
Hide file tree
Showing 12 changed files with 2,150 additions and 3 deletions.
4 changes: 3 additions & 1 deletion boards/px4/fmu-v5x/default.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,9 @@ px4_add_board(
GPS2:/dev/ttyS0

DRIVERS
barometer # all available barometer drivers
#barometer # all available barometer drivers
barometer/bmp388
barometer/ms5611
batt_smbus
camera_capture
camera_trigger
Expand Down
2 changes: 1 addition & 1 deletion boards/px4/fmu-v5x/init/rc.board_sensors
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ bmm150 start

# Possible internal Barro
bmp388 -I start
#bmp388 -J start fixme
bmp388 -J start

# Possible pmw3901 optical flow sensor
pmw3901 start
3 changes: 3 additions & 0 deletions boards/px4/fmu-v5x/src/board_config.h
Original file line number Diff line number Diff line change
Expand Up @@ -279,6 +279,9 @@
#define BOARD_NUMBER_I2C_BUSES 4
#define BOARD_I2C_BUS_CLOCK_INIT {100000, 100000, 100000, 100000}

#define PX4_I2C_OBDEV_BMP388 0x76 // On IMU
#define PX4_I2C_OBDEV1_BMP388 0x77 // On FMUM

#define GPIO_I2C4_DRDY1_BMP388 /* PG5 */ (GPIO_INPUT|GPIO_FLOAT|GPIO_EXTI|GPIO_PORTG|GPIO_PIN5)
#define A71CH_nRST /* PG6 */ (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_CLEAR|GPIO_PORTG|GPIO_PIN6)

Expand Down
1 change: 1 addition & 0 deletions src/drivers/barometer/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
############################################################################

add_subdirectory(bmp280)
add_subdirectory(bmp388)
add_subdirectory(lps22hb)
#add_subdirectory(lps25h) # not ready for general inclusion
#add_subdirectory(mpl3115a2) # not ready for general inclusion
Expand Down
48 changes: 48 additions & 0 deletions src/drivers/barometer/bmp388/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
############################################################################
#
# Copyright (c) 2019 PX4 Development Team. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name PX4 nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################

px4_add_module(
MODULE drivers__barometer__bmp388
MAIN bmp388
COMPILE_FLAGS
-Wno-cast-align # TODO: fix and enable
STACK_MAIN
1200
SRCS
bmp388_spi.cpp
bmp388_i2c.cpp
bmp388.cpp
DEPENDS
drivers_barometer
px4_work_queue
)
Loading

0 comments on commit a05d0e1

Please sign in to comment.