| 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 1
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							   1              		.cpu cortex-m0plus
 | 
						
						
						
						
							 | 
							
								 | 
							
							   2              		.eabi_attribute 20, 1
 | 
						
						
						
						
							 | 
							
								 | 
							
							   3              		.eabi_attribute 21, 1
 | 
						
						
						
						
							 | 
							
								 | 
							
							   4              		.eabi_attribute 23, 3
 | 
						
						
						
						
							 | 
							
								 | 
							
							   5              		.eabi_attribute 24, 1
 | 
						
						
						
						
							 | 
							
								 | 
							
							   6              		.eabi_attribute 25, 1
 | 
						
						
						
						
							 | 
							
								 | 
							
							   7              		.eabi_attribute 26, 1
 | 
						
						
						
						
							 | 
							
								 | 
							
							   8              		.eabi_attribute 30, 1
 | 
						
						
						
						
							 | 
							
								 | 
							
							   9              		.eabi_attribute 34, 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							  10              		.eabi_attribute 18, 4
 | 
						
						
						
						
							 | 
							
								 | 
							
							  11              		.file	"bme680.c"
 | 
						
						
						
						
							 | 
							
								 | 
							
							  12              		.text
 | 
						
						
						
						
							 | 
							
								 | 
							
							  13              	.Ltext0:
 | 
						
						
						
						
							 | 
							
								 | 
							
							  14              		.cfi_sections	.debug_frame
 | 
						
						
						
						
							 | 
							
								 | 
							
							  15              		.section	.text.set_mem_page,"ax",%progbits
 | 
						
						
						
						
							 | 
							
								 | 
							
							  16              		.align	1
 | 
						
						
						
						
							 | 
							
								 | 
							
							  17              		.syntax unified
 | 
						
						
						
						
							 | 
							
								 | 
							
							  18              		.code	16
 | 
						
						
						
						
							 | 
							
								 | 
							
							  19              		.thumb_func
 | 
						
						
						
						
							 | 
							
								 | 
							
							  20              		.fpu softvfp
 | 
						
						
						
						
							 | 
							
								 | 
							
							  22              	set_mem_page:
 | 
						
						
						
						
							 | 
							
								 | 
							
							  23              	.LFB21:
 | 
						
						
						
						
							 | 
							
								 | 
							
							  24              		.file 1 "Drivers/BME680/bme680.c"
 | 
						
						
						
						
							 | 
							
								 | 
							
							   1:Drivers/BME680/bme680.c **** /**\mainpage
 | 
						
						
						
						
							 | 
							
								 | 
							
							   2:Drivers/BME680/bme680.c ****  * Copyright (C) 2017 - 2018 Bosch Sensortec GmbH
 | 
						
						
						
						
							 | 
							
								 | 
							
							   3:Drivers/BME680/bme680.c ****  *
 | 
						
						
						
						
							 | 
							
								 | 
							
							   4:Drivers/BME680/bme680.c ****  * Redistribution and use in source and binary forms, with or without
 | 
						
						
						
						
							 | 
							
								 | 
							
							   5:Drivers/BME680/bme680.c ****  * modification, are permitted provided that the following conditions are met:
 | 
						
						
						
						
							 | 
							
								 | 
							
							   6:Drivers/BME680/bme680.c ****  *
 | 
						
						
						
						
							 | 
							
								 | 
							
							   7:Drivers/BME680/bme680.c ****  * Redistributions of source code must retain the above copyright
 | 
						
						
						
						
							 | 
							
								 | 
							
							   8:Drivers/BME680/bme680.c ****  * notice, this list of conditions and the following disclaimer.
 | 
						
						
						
						
							 | 
							
								 | 
							
							   9:Drivers/BME680/bme680.c ****  *
 | 
						
						
						
						
							 | 
							
								 | 
							
							  10:Drivers/BME680/bme680.c ****  * Redistributions in binary form must reproduce the above copyright
 | 
						
						
						
						
							 | 
							
								 | 
							
							  11:Drivers/BME680/bme680.c ****  * notice, this list of conditions and the following disclaimer in the
 | 
						
						
						
						
							 | 
							
								 | 
							
							  12:Drivers/BME680/bme680.c ****  * documentation and/or other materials provided with the distribution.
 | 
						
						
						
						
							 | 
							
								 | 
							
							  13:Drivers/BME680/bme680.c ****  *
 | 
						
						
						
						
							 | 
							
								 | 
							
							  14:Drivers/BME680/bme680.c ****  * Neither the name of the copyright holder nor the names of the
 | 
						
						
						
						
							 | 
							
								 | 
							
							  15:Drivers/BME680/bme680.c ****  * contributors may be used to endorse or promote products derived from
 | 
						
						
						
						
							 | 
							
								 | 
							
							  16:Drivers/BME680/bme680.c ****  * this software without specific prior written permission.
 | 
						
						
						
						
							 | 
							
								 | 
							
							  17:Drivers/BME680/bme680.c ****  *
 | 
						
						
						
						
							 | 
							
								 | 
							
							  18:Drivers/BME680/bme680.c ****  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
 | 
						
						
						
						
							 | 
							
								 | 
							
							  19:Drivers/BME680/bme680.c ****  * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
 | 
						
						
						
						
							 | 
							
								 | 
							
							  20:Drivers/BME680/bme680.c ****  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 | 
						
						
						
						
							 | 
							
								 | 
							
							  21:Drivers/BME680/bme680.c ****  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 | 
						
						
						
						
							 | 
							
								 | 
							
							  22:Drivers/BME680/bme680.c ****  * DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER
 | 
						
						
						
						
							 | 
							
								 | 
							
							  23:Drivers/BME680/bme680.c ****  * OR CONTRIBUTORS BE LIABLE FOR ANY
 | 
						
						
						
						
							 | 
							
								 | 
							
							  24:Drivers/BME680/bme680.c ****  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
 | 
						
						
						
						
							 | 
							
								 | 
							
							  25:Drivers/BME680/bme680.c ****  * OR CONSEQUENTIAL DAMAGES(INCLUDING, BUT NOT LIMITED TO,
 | 
						
						
						
						
							 | 
							
								 | 
							
							  26:Drivers/BME680/bme680.c ****  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 | 
						
						
						
						
							 | 
							
								 | 
							
							  27:Drivers/BME680/bme680.c ****  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 | 
						
						
						
						
							 | 
							
								 | 
							
							  28:Drivers/BME680/bme680.c ****  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 | 
						
						
						
						
							 | 
							
								 | 
							
							  29:Drivers/BME680/bme680.c ****  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 | 
						
						
						
						
							 | 
							
								 | 
							
							  30:Drivers/BME680/bme680.c ****  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
 | 
						
						
						
						
							 | 
							
								 | 
							
							  31:Drivers/BME680/bme680.c ****  * ANY WAY OUT OF THE USE OF THIS
 | 
						
						
						
						
							 | 
							
								 | 
							
							  32:Drivers/BME680/bme680.c ****  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
 | 
						
						
						
						
							 | 
							
								 | 
							
							  33:Drivers/BME680/bme680.c ****  *
 | 
						
						
						
						
							 | 
							
								 | 
							
							  34:Drivers/BME680/bme680.c ****  * The information provided is believed to be accurate and reliable.
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 2
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							  35:Drivers/BME680/bme680.c ****  * The copyright holder assumes no responsibility
 | 
						
						
						
						
							 | 
							
								 | 
							
							  36:Drivers/BME680/bme680.c ****  * for the consequences of use
 | 
						
						
						
						
							 | 
							
								 | 
							
							  37:Drivers/BME680/bme680.c ****  * of such information nor for any infringement of patents or
 | 
						
						
						
						
							 | 
							
								 | 
							
							  38:Drivers/BME680/bme680.c ****  * other rights of third parties which may result from its use.
 | 
						
						
						
						
							 | 
							
								 | 
							
							  39:Drivers/BME680/bme680.c ****  * No license is granted by implication or otherwise under any patent or
 | 
						
						
						
						
							 | 
							
								 | 
							
							  40:Drivers/BME680/bme680.c ****  * patent rights of the copyright holder.
 | 
						
						
						
						
							 | 
							
								 | 
							
							  41:Drivers/BME680/bme680.c ****  *
 | 
						
						
						
						
							 | 
							
								 | 
							
							  42:Drivers/BME680/bme680.c ****  * File		bme680.c
 | 
						
						
						
						
							 | 
							
								 | 
							
							  43:Drivers/BME680/bme680.c ****  * @date	30 Oct 2017
 | 
						
						
						
						
							 | 
							
								 | 
							
							  44:Drivers/BME680/bme680.c ****  * @version	3.5.3
 | 
						
						
						
						
							 | 
							
								 | 
							
							  45:Drivers/BME680/bme680.c ****  *
 | 
						
						
						
						
							 | 
							
								 | 
							
							  46:Drivers/BME680/bme680.c ****  */
 | 
						
						
						
						
							 | 
							
								 | 
							
							  47:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							  48:Drivers/BME680/bme680.c **** /*! @file bme680.c
 | 
						
						
						
						
							 | 
							
								 | 
							
							  49:Drivers/BME680/bme680.c ****  @brief Sensor driver for BME680 sensor */
 | 
						
						
						
						
							 | 
							
								 | 
							
							  50:Drivers/BME680/bme680.c **** #include "bme680.h"
 | 
						
						
						
						
							 | 
							
								 | 
							
							  51:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							  52:Drivers/BME680/bme680.c **** /**static variables */
 | 
						
						
						
						
							 | 
							
								 | 
							
							  53:Drivers/BME680/bme680.c **** /**Look up table for the possible gas range values */
 | 
						
						
						
						
							 | 
							
								 | 
							
							  54:Drivers/BME680/bme680.c **** uint32_t lookupTable1[16] = { UINT32_C(2147483647), UINT32_C(2147483647), UINT32_C(2147483647), UIN
 | 
						
						
						
						
							 | 
							
								 | 
							
							  55:Drivers/BME680/bme680.c **** 	UINT32_C(2147483647), UINT32_C(2126008810), UINT32_C(2147483647), UINT32_C(2130303777), UINT32_C(2
 | 
						
						
						
						
							 | 
							
								 | 
							
							  56:Drivers/BME680/bme680.c **** 	UINT32_C(2147483647), UINT32_C(2143188679), UINT32_C(2136746228), UINT32_C(2147483647), UINT32_C(2
 | 
						
						
						
						
							 | 
							
								 | 
							
							  57:Drivers/BME680/bme680.c **** 	UINT32_C(2147483647), UINT32_C(2147483647) };
 | 
						
						
						
						
							 | 
							
								 | 
							
							  58:Drivers/BME680/bme680.c **** /**Look up table for the possible gas range values */
 | 
						
						
						
						
							 | 
							
								 | 
							
							  59:Drivers/BME680/bme680.c **** uint32_t lookupTable2[16] = { UINT32_C(4096000000), UINT32_C(2048000000), UINT32_C(1024000000), UIN
 | 
						
						
						
						
							 | 
							
								 | 
							
							  60:Drivers/BME680/bme680.c **** 	UINT32_C(255744255), UINT32_C(127110228), UINT32_C(64000000), UINT32_C(32258064), UINT32_C(1601601
 | 
						
						
						
						
							 | 
							
								 | 
							
							  61:Drivers/BME680/bme680.c **** 		8000000), UINT32_C(4000000), UINT32_C(2000000), UINT32_C(1000000), UINT32_C(500000), UINT32_C(250
 | 
						
						
						
						
							 | 
							
								 | 
							
							  62:Drivers/BME680/bme680.c **** 	UINT32_C(125000) };
 | 
						
						
						
						
							 | 
							
								 | 
							
							  63:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							  64:Drivers/BME680/bme680.c **** /*!
 | 
						
						
						
						
							 | 
							
								 | 
							
							  65:Drivers/BME680/bme680.c ****  * @brief This internal API is used to read the calibrated data from the sensor.
 | 
						
						
						
						
							 | 
							
								 | 
							
							  66:Drivers/BME680/bme680.c ****  *
 | 
						
						
						
						
							 | 
							
								 | 
							
							  67:Drivers/BME680/bme680.c ****  * This function is used to retrieve the calibration
 | 
						
						
						
						
							 | 
							
								 | 
							
							  68:Drivers/BME680/bme680.c ****  * data from the image registers of the sensor.
 | 
						
						
						
						
							 | 
							
								 | 
							
							  69:Drivers/BME680/bme680.c ****  *
 | 
						
						
						
						
							 | 
							
								 | 
							
							  70:Drivers/BME680/bme680.c ****  * @note Registers 89h  to A1h for calibration data 1 to 24
 | 
						
						
						
						
							 | 
							
								 | 
							
							  71:Drivers/BME680/bme680.c ****  *        from bit 0 to 7
 | 
						
						
						
						
							 | 
							
								 | 
							
							  72:Drivers/BME680/bme680.c ****  * @note Registers E1h to F0h for calibration data 25 to 40
 | 
						
						
						
						
							 | 
							
								 | 
							
							  73:Drivers/BME680/bme680.c ****  *        from bit 0 to 7
 | 
						
						
						
						
							 | 
							
								 | 
							
							  74:Drivers/BME680/bme680.c ****  * @param[in] dev	:Structure instance of bme680_dev.
 | 
						
						
						
						
							 | 
							
								 | 
							
							  75:Drivers/BME680/bme680.c ****  *
 | 
						
						
						
						
							 | 
							
								 | 
							
							  76:Drivers/BME680/bme680.c ****  * @return Result of API execution status.
 | 
						
						
						
						
							 | 
							
								 | 
							
							  77:Drivers/BME680/bme680.c ****  * @retval zero -> Success / +ve value -> Warning / -ve value -> Error
 | 
						
						
						
						
							 | 
							
								 | 
							
							  78:Drivers/BME680/bme680.c ****  */
 | 
						
						
						
						
							 | 
							
								 | 
							
							  79:Drivers/BME680/bme680.c **** static int8_t get_calib_data(struct bme680_dev *dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							  80:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							  81:Drivers/BME680/bme680.c **** /*!
 | 
						
						
						
						
							 | 
							
								 | 
							
							  82:Drivers/BME680/bme680.c ****  * @brief This internal API is used to set the gas configuration of the sensor.
 | 
						
						
						
						
							 | 
							
								 | 
							
							  83:Drivers/BME680/bme680.c ****  *
 | 
						
						
						
						
							 | 
							
								 | 
							
							  84:Drivers/BME680/bme680.c ****  * @param[in] dev	:Structure instance of bme680_dev.
 | 
						
						
						
						
							 | 
							
								 | 
							
							  85:Drivers/BME680/bme680.c ****  *
 | 
						
						
						
						
							 | 
							
								 | 
							
							  86:Drivers/BME680/bme680.c ****  * @return Result of API execution status.
 | 
						
						
						
						
							 | 
							
								 | 
							
							  87:Drivers/BME680/bme680.c ****  * @retval zero -> Success / +ve value -> Warning / -ve value -> Error
 | 
						
						
						
						
							 | 
							
								 | 
							
							  88:Drivers/BME680/bme680.c ****  */
 | 
						
						
						
						
							 | 
							
								 | 
							
							  89:Drivers/BME680/bme680.c **** static int8_t set_gas_config(struct bme680_dev *dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							  90:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							  91:Drivers/BME680/bme680.c **** /*!
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 3
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							  92:Drivers/BME680/bme680.c ****  * @brief This internal API is used to get the gas configuration of the sensor.
 | 
						
						
						
						
							 | 
							
								 | 
							
							  93:Drivers/BME680/bme680.c ****  *
 | 
						
						
						
						
							 | 
							
								 | 
							
							  94:Drivers/BME680/bme680.c ****  * @param[in] dev	:Structure instance of bme680_dev.
 | 
						
						
						
						
							 | 
							
								 | 
							
							  95:Drivers/BME680/bme680.c ****  *
 | 
						
						
						
						
							 | 
							
								 | 
							
							  96:Drivers/BME680/bme680.c ****  * @return Result of API execution status.
 | 
						
						
						
						
							 | 
							
								 | 
							
							  97:Drivers/BME680/bme680.c ****  * @retval zero -> Success / +ve value -> Warning / -ve value -> Error
 | 
						
						
						
						
							 | 
							
								 | 
							
							  98:Drivers/BME680/bme680.c ****  */
 | 
						
						
						
						
							 | 
							
								 | 
							
							  99:Drivers/BME680/bme680.c **** static int8_t get_gas_config(struct bme680_dev *dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 100:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 101:Drivers/BME680/bme680.c **** /*!
 | 
						
						
						
						
							 | 
							
								 | 
							
							 102:Drivers/BME680/bme680.c ****  * @brief This internal API is used to calculate the Heat duration value.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 103:Drivers/BME680/bme680.c ****  *
 | 
						
						
						
						
							 | 
							
								 | 
							
							 104:Drivers/BME680/bme680.c ****  * @param[in] dur	:Value of the duration to be shared.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 105:Drivers/BME680/bme680.c ****  *
 | 
						
						
						
						
							 | 
							
								 | 
							
							 106:Drivers/BME680/bme680.c ****  * @return uint8_t threshold duration after calculation.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 107:Drivers/BME680/bme680.c ****  */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 108:Drivers/BME680/bme680.c **** static uint8_t calc_heater_dur(uint16_t dur);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 109:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 110:Drivers/BME680/bme680.c **** /*!
 | 
						
						
						
						
							 | 
							
								 | 
							
							 111:Drivers/BME680/bme680.c ****  * @brief This internal API is used to calculate the temperature value.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 112:Drivers/BME680/bme680.c ****  *
 | 
						
						
						
						
							 | 
							
								 | 
							
							 113:Drivers/BME680/bme680.c ****  * @param[in] dev	:Structure instance of bme680_dev.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 114:Drivers/BME680/bme680.c ****  * @param[in] temp_adc	:Contains the temperature ADC value .
 | 
						
						
						
						
							 | 
							
								 | 
							
							 115:Drivers/BME680/bme680.c ****  *
 | 
						
						
						
						
							 | 
							
								 | 
							
							 116:Drivers/BME680/bme680.c ****  * @return uint32_t calculated temperature.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 117:Drivers/BME680/bme680.c ****  */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 118:Drivers/BME680/bme680.c **** static int16_t calc_temperature(uint32_t temp_adc, struct bme680_dev *dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 119:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 120:Drivers/BME680/bme680.c **** /*!
 | 
						
						
						
						
							 | 
							
								 | 
							
							 121:Drivers/BME680/bme680.c ****  * @brief This internal API is used to calculate the pressure value.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 122:Drivers/BME680/bme680.c ****  *
 | 
						
						
						
						
							 | 
							
								 | 
							
							 123:Drivers/BME680/bme680.c ****  * @param[in] dev	:Structure instance of bme680_dev.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 124:Drivers/BME680/bme680.c ****  * @param[in] pres_adc	:Contains the pressure ADC value .
 | 
						
						
						
						
							 | 
							
								 | 
							
							 125:Drivers/BME680/bme680.c ****  *
 | 
						
						
						
						
							 | 
							
								 | 
							
							 126:Drivers/BME680/bme680.c ****  * @return uint32_t calculated pressure.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 127:Drivers/BME680/bme680.c ****  */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 128:Drivers/BME680/bme680.c **** static uint32_t calc_pressure(uint32_t pres_adc, const struct bme680_dev *dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 129:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 130:Drivers/BME680/bme680.c **** /*!
 | 
						
						
						
						
							 | 
							
								 | 
							
							 131:Drivers/BME680/bme680.c ****  * @brief This internal API is used to calculate the humidity value.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 132:Drivers/BME680/bme680.c ****  *
 | 
						
						
						
						
							 | 
							
								 | 
							
							 133:Drivers/BME680/bme680.c ****  * @param[in] dev	:Structure instance of bme680_dev.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 134:Drivers/BME680/bme680.c ****  * @param[in] hum_adc	:Contains the humidity ADC value.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 135:Drivers/BME680/bme680.c ****  *
 | 
						
						
						
						
							 | 
							
								 | 
							
							 136:Drivers/BME680/bme680.c ****  * @return uint32_t calculated humidity.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 137:Drivers/BME680/bme680.c ****  */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 138:Drivers/BME680/bme680.c **** static uint32_t calc_humidity(uint16_t hum_adc, const struct bme680_dev *dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 139:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 140:Drivers/BME680/bme680.c **** /*!
 | 
						
						
						
						
							 | 
							
								 | 
							
							 141:Drivers/BME680/bme680.c ****  * @brief This internal API is used to calculate the Gas Resistance value.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 142:Drivers/BME680/bme680.c ****  *
 | 
						
						
						
						
							 | 
							
								 | 
							
							 143:Drivers/BME680/bme680.c ****  * @param[in] dev		:Structure instance of bme680_dev.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 144:Drivers/BME680/bme680.c ****  * @param[in] gas_res_adc	:Contains the Gas Resistance ADC value.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 145:Drivers/BME680/bme680.c ****  * @param[in] gas_range		:Contains the range of gas values.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 146:Drivers/BME680/bme680.c ****  *
 | 
						
						
						
						
							 | 
							
								 | 
							
							 147:Drivers/BME680/bme680.c ****  * @return uint32_t calculated gas resistance.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 148:Drivers/BME680/bme680.c ****  */
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 4
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 149:Drivers/BME680/bme680.c **** static uint32_t calc_gas_resistance(uint16_t gas_res_adc, uint8_t gas_range, const struct bme680_de
 | 
						
						
						
						
							 | 
							
								 | 
							
							 150:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 151:Drivers/BME680/bme680.c **** /*!
 | 
						
						
						
						
							 | 
							
								 | 
							
							 152:Drivers/BME680/bme680.c ****  * @brief This internal API is used to calculate the Heat Resistance value.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 153:Drivers/BME680/bme680.c ****  *
 | 
						
						
						
						
							 | 
							
								 | 
							
							 154:Drivers/BME680/bme680.c ****  * @param[in] dev	:Structure instance of bme680_dev.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 155:Drivers/BME680/bme680.c ****  * @param[in] temp	:Contains the temporary value.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 156:Drivers/BME680/bme680.c ****  *
 | 
						
						
						
						
							 | 
							
								 | 
							
							 157:Drivers/BME680/bme680.c ****  * @return uint8_t calculated heater resistance.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 158:Drivers/BME680/bme680.c ****  */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 159:Drivers/BME680/bme680.c **** static uint8_t calc_heater_res(uint16_t temp, const struct bme680_dev *dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 160:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 161:Drivers/BME680/bme680.c **** /*!
 | 
						
						
						
						
							 | 
							
								 | 
							
							 162:Drivers/BME680/bme680.c ****  * @brief This internal API is used to calculate the field data of sensor.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 163:Drivers/BME680/bme680.c ****  *
 | 
						
						
						
						
							 | 
							
								 | 
							
							 164:Drivers/BME680/bme680.c ****  * @param[out] data :Structure instance to hold the data
 | 
						
						
						
						
							 | 
							
								 | 
							
							 165:Drivers/BME680/bme680.c ****  * @param[in] dev	:Structure instance of bme680_dev.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 166:Drivers/BME680/bme680.c ****  *
 | 
						
						
						
						
							 | 
							
								 | 
							
							 167:Drivers/BME680/bme680.c ****  *  @return int8_t result of the field data from sensor.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 168:Drivers/BME680/bme680.c ****  */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 169:Drivers/BME680/bme680.c **** static int8_t read_field_data(struct bme680_field_data *data, struct bme680_dev *dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 170:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 171:Drivers/BME680/bme680.c **** /*!
 | 
						
						
						
						
							 | 
							
								 | 
							
							 172:Drivers/BME680/bme680.c ****  * @brief This internal API is used to set the memory page
 | 
						
						
						
						
							 | 
							
								 | 
							
							 173:Drivers/BME680/bme680.c ****  * based on register address.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 174:Drivers/BME680/bme680.c ****  *
 | 
						
						
						
						
							 | 
							
								 | 
							
							 175:Drivers/BME680/bme680.c ****  * The value of memory page
 | 
						
						
						
						
							 | 
							
								 | 
							
							 176:Drivers/BME680/bme680.c ****  *  value  | Description
 | 
						
						
						
						
							 | 
							
								 | 
							
							 177:Drivers/BME680/bme680.c ****  * --------|--------------
 | 
						
						
						
						
							 | 
							
								 | 
							
							 178:Drivers/BME680/bme680.c ****  *   0     | BME680_PAGE0_SPI
 | 
						
						
						
						
							 | 
							
								 | 
							
							 179:Drivers/BME680/bme680.c ****  *   1     | BME680_PAGE1_SPI
 | 
						
						
						
						
							 | 
							
								 | 
							
							 180:Drivers/BME680/bme680.c ****  *
 | 
						
						
						
						
							 | 
							
								 | 
							
							 181:Drivers/BME680/bme680.c ****  * @param[in] dev	:Structure instance of bme680_dev.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 182:Drivers/BME680/bme680.c ****  * @param[in] reg_addr	:Contains the register address array.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 183:Drivers/BME680/bme680.c ****  *
 | 
						
						
						
						
							 | 
							
								 | 
							
							 184:Drivers/BME680/bme680.c ****  * @return Result of API execution status
 | 
						
						
						
						
							 | 
							
								 | 
							
							 185:Drivers/BME680/bme680.c ****  * @retval zero -> Success / +ve value -> Warning / -ve value -> Error
 | 
						
						
						
						
							 | 
							
								 | 
							
							 186:Drivers/BME680/bme680.c ****  */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 187:Drivers/BME680/bme680.c **** static int8_t set_mem_page(uint8_t reg_addr, struct bme680_dev *dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 188:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 189:Drivers/BME680/bme680.c **** /*!
 | 
						
						
						
						
							 | 
							
								 | 
							
							 190:Drivers/BME680/bme680.c ****  * @brief This internal API is used to get the memory page based
 | 
						
						
						
						
							 | 
							
								 | 
							
							 191:Drivers/BME680/bme680.c ****  * on register address.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 192:Drivers/BME680/bme680.c ****  *
 | 
						
						
						
						
							 | 
							
								 | 
							
							 193:Drivers/BME680/bme680.c ****  * The value of memory page
 | 
						
						
						
						
							 | 
							
								 | 
							
							 194:Drivers/BME680/bme680.c ****  *  value  | Description
 | 
						
						
						
						
							 | 
							
								 | 
							
							 195:Drivers/BME680/bme680.c ****  * --------|--------------
 | 
						
						
						
						
							 | 
							
								 | 
							
							 196:Drivers/BME680/bme680.c ****  *   0     | BME680_PAGE0_SPI
 | 
						
						
						
						
							 | 
							
								 | 
							
							 197:Drivers/BME680/bme680.c ****  *   1     | BME680_PAGE1_SPI
 | 
						
						
						
						
							 | 
							
								 | 
							
							 198:Drivers/BME680/bme680.c ****  *
 | 
						
						
						
						
							 | 
							
								 | 
							
							 199:Drivers/BME680/bme680.c ****  * @param[in] dev	:Structure instance of bme680_dev.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 200:Drivers/BME680/bme680.c ****  *
 | 
						
						
						
						
							 | 
							
								 | 
							
							 201:Drivers/BME680/bme680.c ****  * @return Result of API execution status
 | 
						
						
						
						
							 | 
							
								 | 
							
							 202:Drivers/BME680/bme680.c ****  * @retval zero -> Success / +ve value -> Warning / -ve value -> Error
 | 
						
						
						
						
							 | 
							
								 | 
							
							 203:Drivers/BME680/bme680.c ****  */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 204:Drivers/BME680/bme680.c **** static int8_t get_mem_page(struct bme680_dev *dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 205:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 5
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 206:Drivers/BME680/bme680.c **** /*!
 | 
						
						
						
						
							 | 
							
								 | 
							
							 207:Drivers/BME680/bme680.c ****  * @brief This internal API is used to validate the device pointer for
 | 
						
						
						
						
							 | 
							
								 | 
							
							 208:Drivers/BME680/bme680.c ****  * null conditions.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 209:Drivers/BME680/bme680.c ****  *
 | 
						
						
						
						
							 | 
							
								 | 
							
							 210:Drivers/BME680/bme680.c ****  * @param[in] dev	:Structure instance of bme680_dev.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 211:Drivers/BME680/bme680.c ****  *
 | 
						
						
						
						
							 | 
							
								 | 
							
							 212:Drivers/BME680/bme680.c ****  * @return Result of API execution status
 | 
						
						
						
						
							 | 
							
								 | 
							
							 213:Drivers/BME680/bme680.c ****  * @retval zero -> Success / +ve value -> Warning / -ve value -> Error
 | 
						
						
						
						
							 | 
							
								 | 
							
							 214:Drivers/BME680/bme680.c ****  */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 215:Drivers/BME680/bme680.c **** static int8_t null_ptr_check(const struct bme680_dev *dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 216:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 217:Drivers/BME680/bme680.c **** /*!
 | 
						
						
						
						
							 | 
							
								 | 
							
							 218:Drivers/BME680/bme680.c ****  * @brief This internal API is used to check the boundary
 | 
						
						
						
						
							 | 
							
								 | 
							
							 219:Drivers/BME680/bme680.c ****  * conditions.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 220:Drivers/BME680/bme680.c ****  *
 | 
						
						
						
						
							 | 
							
								 | 
							
							 221:Drivers/BME680/bme680.c ****  * @param[in] value	:pointer to the value.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 222:Drivers/BME680/bme680.c ****  * @param[in] min	:minimum value.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 223:Drivers/BME680/bme680.c ****  * @param[in] max	:maximum value.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 224:Drivers/BME680/bme680.c ****  * @param[in] dev	:Structure instance of bme680_dev.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 225:Drivers/BME680/bme680.c ****  *
 | 
						
						
						
						
							 | 
							
								 | 
							
							 226:Drivers/BME680/bme680.c ****  * @return Result of API execution status
 | 
						
						
						
						
							 | 
							
								 | 
							
							 227:Drivers/BME680/bme680.c ****  * @retval zero -> Success / +ve value -> Warning / -ve value -> Error
 | 
						
						
						
						
							 | 
							
								 | 
							
							 228:Drivers/BME680/bme680.c ****  */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 229:Drivers/BME680/bme680.c **** static int8_t boundary_check(uint8_t *value, uint8_t min, uint8_t max, struct bme680_dev *dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 230:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 231:Drivers/BME680/bme680.c **** /****************** Global Function Definitions *******************************/
 | 
						
						
						
						
							 | 
							
								 | 
							
							 232:Drivers/BME680/bme680.c **** /*!
 | 
						
						
						
						
							 | 
							
								 | 
							
							 233:Drivers/BME680/bme680.c ****  *@brief This API is the entry point.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 234:Drivers/BME680/bme680.c ****  *It reads the chip-id and calibration data from the sensor.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 235:Drivers/BME680/bme680.c ****  */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 236:Drivers/BME680/bme680.c **** int8_t bme680_init(struct bme680_dev *dev)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 237:Drivers/BME680/bme680.c **** {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 238:Drivers/BME680/bme680.c **** 	int8_t rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 239:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 240:Drivers/BME680/bme680.c **** 	/* Check for null pointer in the device structure*/
 | 
						
						
						
						
							 | 
							
								 | 
							
							 241:Drivers/BME680/bme680.c **** 	rslt = null_ptr_check(dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 242:Drivers/BME680/bme680.c **** 	if (rslt == BME680_OK) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 243:Drivers/BME680/bme680.c **** 		/* Soft reset to restore it to default values*/
 | 
						
						
						
						
							 | 
							
								 | 
							
							 244:Drivers/BME680/bme680.c **** 		rslt = bme680_soft_reset(dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 245:Drivers/BME680/bme680.c **** 		if (rslt == BME680_OK) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 246:Drivers/BME680/bme680.c **** 			rslt = bme680_get_regs(BME680_CHIP_ID_ADDR, &dev->chip_id, 1, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 247:Drivers/BME680/bme680.c **** 			if (rslt == BME680_OK) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 248:Drivers/BME680/bme680.c **** 				if (dev->chip_id == BME680_CHIP_ID) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 249:Drivers/BME680/bme680.c **** 					/* Get the Calibration data */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 250:Drivers/BME680/bme680.c **** 					rslt = get_calib_data(dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 251:Drivers/BME680/bme680.c **** 				} else {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 252:Drivers/BME680/bme680.c **** 					rslt = BME680_E_DEV_NOT_FOUND;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 253:Drivers/BME680/bme680.c **** 				}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 254:Drivers/BME680/bme680.c **** 			}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 255:Drivers/BME680/bme680.c **** 		}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 256:Drivers/BME680/bme680.c **** 	}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 257:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 258:Drivers/BME680/bme680.c **** 	return rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 259:Drivers/BME680/bme680.c **** }
 | 
						
						
						
						
							 | 
							
								 | 
							
							 260:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 261:Drivers/BME680/bme680.c **** /*!
 | 
						
						
						
						
							 | 
							
								 | 
							
							 262:Drivers/BME680/bme680.c ****  * @brief This API reads the data from the given register address of the sensor.
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 6
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 263:Drivers/BME680/bme680.c ****  */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 264:Drivers/BME680/bme680.c **** int8_t bme680_get_regs(uint8_t reg_addr, uint8_t *reg_data, uint16_t len, struct bme680_dev *dev)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 265:Drivers/BME680/bme680.c **** {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 266:Drivers/BME680/bme680.c **** 	int8_t rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 267:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 268:Drivers/BME680/bme680.c **** 	/* Check for null pointer in the device structure*/
 | 
						
						
						
						
							 | 
							
								 | 
							
							 269:Drivers/BME680/bme680.c **** 	rslt = null_ptr_check(dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 270:Drivers/BME680/bme680.c **** 	if (rslt == BME680_OK) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 271:Drivers/BME680/bme680.c **** 		if (dev->intf == BME680_SPI_INTF) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 272:Drivers/BME680/bme680.c **** 			/* Set the memory page */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 273:Drivers/BME680/bme680.c **** 			rslt = set_mem_page(reg_addr, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 274:Drivers/BME680/bme680.c **** 			if (rslt == BME680_OK)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 275:Drivers/BME680/bme680.c **** 				reg_addr = reg_addr | BME680_SPI_RD_MSK;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 276:Drivers/BME680/bme680.c **** 		}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 277:Drivers/BME680/bme680.c **** 		dev->com_rslt = dev->read(dev->dev_id, reg_addr, reg_data, len);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 278:Drivers/BME680/bme680.c **** 		if (dev->com_rslt != 0)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 279:Drivers/BME680/bme680.c **** 			rslt = BME680_E_COM_FAIL;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 280:Drivers/BME680/bme680.c **** 	}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 281:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 282:Drivers/BME680/bme680.c **** 	return rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 283:Drivers/BME680/bme680.c **** }
 | 
						
						
						
						
							 | 
							
								 | 
							
							 284:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 285:Drivers/BME680/bme680.c **** /*!
 | 
						
						
						
						
							 | 
							
								 | 
							
							 286:Drivers/BME680/bme680.c ****  * @brief This API writes the given data to the register address
 | 
						
						
						
						
							 | 
							
								 | 
							
							 287:Drivers/BME680/bme680.c ****  * of the sensor.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 288:Drivers/BME680/bme680.c ****  */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 289:Drivers/BME680/bme680.c **** int8_t bme680_set_regs(const uint8_t *reg_addr, const uint8_t *reg_data, uint8_t len, struct bme680
 | 
						
						
						
						
							 | 
							
								 | 
							
							 290:Drivers/BME680/bme680.c **** {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 291:Drivers/BME680/bme680.c **** 	int8_t rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 292:Drivers/BME680/bme680.c **** 	/* Length of the temporary buffer is 2*(length of register)*/
 | 
						
						
						
						
							 | 
							
								 | 
							
							 293:Drivers/BME680/bme680.c **** 	uint8_t tmp_buff[BME680_TMP_BUFFER_LENGTH] = { 0 };
 | 
						
						
						
						
							 | 
							
								 | 
							
							 294:Drivers/BME680/bme680.c **** 	uint16_t index;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 295:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 296:Drivers/BME680/bme680.c **** 	/* Check for null pointer in the device structure*/
 | 
						
						
						
						
							 | 
							
								 | 
							
							 297:Drivers/BME680/bme680.c **** 	rslt = null_ptr_check(dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 298:Drivers/BME680/bme680.c **** 	if (rslt == BME680_OK) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 299:Drivers/BME680/bme680.c **** 		if ((len > 0) && (len < BME680_TMP_BUFFER_LENGTH / 2)) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 300:Drivers/BME680/bme680.c **** 			/* Interleave the 2 arrays */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 301:Drivers/BME680/bme680.c **** 			for (index = 0; index < len; index++) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 302:Drivers/BME680/bme680.c **** 				if (dev->intf == BME680_SPI_INTF) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 303:Drivers/BME680/bme680.c **** 					/* Set the memory page */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 304:Drivers/BME680/bme680.c **** 					rslt = set_mem_page(reg_addr[index], dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 305:Drivers/BME680/bme680.c **** 					tmp_buff[(2 * index)] = reg_addr[index] & BME680_SPI_WR_MSK;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 306:Drivers/BME680/bme680.c **** 				} else {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 307:Drivers/BME680/bme680.c **** 					tmp_buff[(2 * index)] = reg_addr[index];
 | 
						
						
						
						
							 | 
							
								 | 
							
							 308:Drivers/BME680/bme680.c **** 				}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 309:Drivers/BME680/bme680.c **** 				tmp_buff[(2 * index) + 1] = reg_data[index];
 | 
						
						
						
						
							 | 
							
								 | 
							
							 310:Drivers/BME680/bme680.c **** 			}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 311:Drivers/BME680/bme680.c **** 			/* Write the interleaved array */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 312:Drivers/BME680/bme680.c **** 			if (rslt == BME680_OK) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 313:Drivers/BME680/bme680.c **** 				dev->com_rslt = dev->write(dev->dev_id, tmp_buff[0], &tmp_buff[1], (2 * len) - 1);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 314:Drivers/BME680/bme680.c **** 				if (dev->com_rslt != 0)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 315:Drivers/BME680/bme680.c **** 					rslt = BME680_E_COM_FAIL;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 316:Drivers/BME680/bme680.c **** 			}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 317:Drivers/BME680/bme680.c **** 		} else {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 318:Drivers/BME680/bme680.c **** 			rslt = BME680_E_INVALID_LENGTH;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 319:Drivers/BME680/bme680.c **** 		}
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 7
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 320:Drivers/BME680/bme680.c **** 	}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 321:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 322:Drivers/BME680/bme680.c **** 	return rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 323:Drivers/BME680/bme680.c **** }
 | 
						
						
						
						
							 | 
							
								 | 
							
							 324:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 325:Drivers/BME680/bme680.c **** /*!
 | 
						
						
						
						
							 | 
							
								 | 
							
							 326:Drivers/BME680/bme680.c ****  * @brief This API performs the soft reset of the sensor.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 327:Drivers/BME680/bme680.c ****  */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 328:Drivers/BME680/bme680.c **** int8_t bme680_soft_reset(struct bme680_dev *dev)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 329:Drivers/BME680/bme680.c **** {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 330:Drivers/BME680/bme680.c **** 	int8_t rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 331:Drivers/BME680/bme680.c **** 	uint8_t reg_addr = BME680_SOFT_RESET_ADDR;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 332:Drivers/BME680/bme680.c **** 	/* 0xb6 is the soft reset command */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 333:Drivers/BME680/bme680.c **** 	uint8_t soft_rst_cmd = BME680_SOFT_RESET_CMD;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 334:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 335:Drivers/BME680/bme680.c **** 	/* Check for null pointer in the device structure*/
 | 
						
						
						
						
							 | 
							
								 | 
							
							 336:Drivers/BME680/bme680.c **** 	rslt = null_ptr_check(dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 337:Drivers/BME680/bme680.c **** 	if (rslt == BME680_OK) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 338:Drivers/BME680/bme680.c **** 		if (dev->intf == BME680_SPI_INTF)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 339:Drivers/BME680/bme680.c **** 			rslt = get_mem_page(dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 340:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 341:Drivers/BME680/bme680.c **** 		/* Reset the device */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 342:Drivers/BME680/bme680.c **** 		if (rslt == BME680_OK) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 343:Drivers/BME680/bme680.c **** 			rslt = bme680_set_regs(®_addr, &soft_rst_cmd, 1, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 344:Drivers/BME680/bme680.c **** 			/* Wait for 5ms */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 345:Drivers/BME680/bme680.c **** 			dev->delay_ms(BME680_RESET_PERIOD);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 346:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 347:Drivers/BME680/bme680.c **** 			if (rslt == BME680_OK) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 348:Drivers/BME680/bme680.c **** 				/* After reset get the memory page */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 349:Drivers/BME680/bme680.c **** 				if (dev->intf == BME680_SPI_INTF)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 350:Drivers/BME680/bme680.c **** 					rslt = get_mem_page(dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 351:Drivers/BME680/bme680.c **** 			}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 352:Drivers/BME680/bme680.c **** 		}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 353:Drivers/BME680/bme680.c **** 	}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 354:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 355:Drivers/BME680/bme680.c **** 	return rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 356:Drivers/BME680/bme680.c **** }
 | 
						
						
						
						
							 | 
							
								 | 
							
							 357:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 358:Drivers/BME680/bme680.c **** /*!
 | 
						
						
						
						
							 | 
							
								 | 
							
							 359:Drivers/BME680/bme680.c ****  * @brief This API is used to set the oversampling, filter and T,P,H, gas selection
 | 
						
						
						
						
							 | 
							
								 | 
							
							 360:Drivers/BME680/bme680.c ****  * settings in the sensor.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 361:Drivers/BME680/bme680.c ****  */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 362:Drivers/BME680/bme680.c **** int8_t bme680_set_sensor_settings(uint16_t desired_settings, struct bme680_dev *dev)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 363:Drivers/BME680/bme680.c **** {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 364:Drivers/BME680/bme680.c **** 	int8_t rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 365:Drivers/BME680/bme680.c **** 	uint8_t reg_addr;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 366:Drivers/BME680/bme680.c **** 	uint8_t data = 0;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 367:Drivers/BME680/bme680.c **** 	uint8_t count = 0;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 368:Drivers/BME680/bme680.c **** 	uint8_t reg_array[BME680_REG_BUFFER_LENGTH] = { 0 };
 | 
						
						
						
						
							 | 
							
								 | 
							
							 369:Drivers/BME680/bme680.c **** 	uint8_t data_array[BME680_REG_BUFFER_LENGTH] = { 0 };
 | 
						
						
						
						
							 | 
							
								 | 
							
							 370:Drivers/BME680/bme680.c **** 	uint8_t intended_power_mode = dev->power_mode; /* Save intended power mode */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 371:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 372:Drivers/BME680/bme680.c **** 	/* Check for null pointer in the device structure*/
 | 
						
						
						
						
							 | 
							
								 | 
							
							 373:Drivers/BME680/bme680.c **** 	rslt = null_ptr_check(dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 374:Drivers/BME680/bme680.c **** 	if (rslt == BME680_OK) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 375:Drivers/BME680/bme680.c **** 		if (desired_settings & BME680_GAS_MEAS_SEL)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 376:Drivers/BME680/bme680.c **** 			rslt = set_gas_config(dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 8
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 377:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 378:Drivers/BME680/bme680.c **** 		dev->power_mode = BME680_SLEEP_MODE;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 379:Drivers/BME680/bme680.c **** 		if (rslt == BME680_OK)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 380:Drivers/BME680/bme680.c **** 			rslt = bme680_set_sensor_mode(dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 381:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 382:Drivers/BME680/bme680.c **** 		/* Selecting the filter */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 383:Drivers/BME680/bme680.c **** 		if (desired_settings & BME680_FILTER_SEL) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 384:Drivers/BME680/bme680.c **** 			rslt = boundary_check(&dev->tph_sett.filter, BME680_FILTER_SIZE_0, BME680_FILTER_SIZE_127, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 385:Drivers/BME680/bme680.c **** 			reg_addr = BME680_CONF_ODR_FILT_ADDR;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 386:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 387:Drivers/BME680/bme680.c **** 			if (rslt == BME680_OK)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 388:Drivers/BME680/bme680.c **** 				rslt = bme680_get_regs(reg_addr, &data, 1, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 389:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 390:Drivers/BME680/bme680.c **** 			if (desired_settings & BME680_FILTER_SEL)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 391:Drivers/BME680/bme680.c **** 				data = BME680_SET_BITS(data, BME680_FILTER, dev->tph_sett.filter);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 392:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 393:Drivers/BME680/bme680.c **** 			reg_array[count] = reg_addr; /* Append configuration */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 394:Drivers/BME680/bme680.c **** 			data_array[count] = data;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 395:Drivers/BME680/bme680.c **** 			count++;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 396:Drivers/BME680/bme680.c **** 		}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 397:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 398:Drivers/BME680/bme680.c **** 		/* Selecting heater control for the sensor */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 399:Drivers/BME680/bme680.c **** 		if (desired_settings & BME680_HCNTRL_SEL) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 400:Drivers/BME680/bme680.c **** 			rslt = boundary_check(&dev->gas_sett.heatr_ctrl, BME680_ENABLE_HEATER,
 | 
						
						
						
						
							 | 
							
								 | 
							
							 401:Drivers/BME680/bme680.c **** 				BME680_DISABLE_HEATER, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 402:Drivers/BME680/bme680.c **** 			reg_addr = BME680_CONF_HEAT_CTRL_ADDR;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 403:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 404:Drivers/BME680/bme680.c **** 			if (rslt == BME680_OK)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 405:Drivers/BME680/bme680.c **** 				rslt = bme680_get_regs(reg_addr, &data, 1, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 406:Drivers/BME680/bme680.c **** 			data = BME680_SET_BITS_POS_0(data, BME680_HCTRL, dev->gas_sett.heatr_ctrl);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 407:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 408:Drivers/BME680/bme680.c **** 			reg_array[count] = reg_addr; /* Append configuration */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 409:Drivers/BME680/bme680.c **** 			data_array[count] = data;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 410:Drivers/BME680/bme680.c **** 			count++;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 411:Drivers/BME680/bme680.c **** 		}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 412:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 413:Drivers/BME680/bme680.c **** 		/* Selecting heater T,P oversampling for the sensor */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 414:Drivers/BME680/bme680.c **** 		if (desired_settings & (BME680_OST_SEL | BME680_OSP_SEL)) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 415:Drivers/BME680/bme680.c **** 			rslt = boundary_check(&dev->tph_sett.os_temp, BME680_OS_NONE, BME680_OS_16X, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 416:Drivers/BME680/bme680.c **** 			reg_addr = BME680_CONF_T_P_MODE_ADDR;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 417:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 418:Drivers/BME680/bme680.c **** 			if (rslt == BME680_OK)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 419:Drivers/BME680/bme680.c **** 				rslt = bme680_get_regs(reg_addr, &data, 1, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 420:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 421:Drivers/BME680/bme680.c **** 			if (desired_settings & BME680_OST_SEL)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 422:Drivers/BME680/bme680.c **** 				data = BME680_SET_BITS(data, BME680_OST, dev->tph_sett.os_temp);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 423:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 424:Drivers/BME680/bme680.c **** 			if (desired_settings & BME680_OSP_SEL)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 425:Drivers/BME680/bme680.c **** 				data = BME680_SET_BITS(data, BME680_OSP, dev->tph_sett.os_pres);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 426:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 427:Drivers/BME680/bme680.c **** 			reg_array[count] = reg_addr;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 428:Drivers/BME680/bme680.c **** 			data_array[count] = data;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 429:Drivers/BME680/bme680.c **** 			count++;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 430:Drivers/BME680/bme680.c **** 		}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 431:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 432:Drivers/BME680/bme680.c **** 		/* Selecting humidity oversampling for the sensor */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 433:Drivers/BME680/bme680.c **** 		if (desired_settings & BME680_OSH_SEL) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 9
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 434:Drivers/BME680/bme680.c **** 			rslt = boundary_check(&dev->tph_sett.os_hum, BME680_OS_NONE, BME680_OS_16X, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 435:Drivers/BME680/bme680.c **** 			reg_addr = BME680_CONF_OS_H_ADDR;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 436:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 437:Drivers/BME680/bme680.c **** 			if (rslt == BME680_OK)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 438:Drivers/BME680/bme680.c **** 				rslt = bme680_get_regs(reg_addr, &data, 1, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 439:Drivers/BME680/bme680.c **** 			data = BME680_SET_BITS_POS_0(data, BME680_OSH, dev->tph_sett.os_hum);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 440:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 441:Drivers/BME680/bme680.c **** 			reg_array[count] = reg_addr; /* Append configuration */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 442:Drivers/BME680/bme680.c **** 			data_array[count] = data;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 443:Drivers/BME680/bme680.c **** 			count++;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 444:Drivers/BME680/bme680.c **** 		}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 445:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 446:Drivers/BME680/bme680.c **** 		/* Selecting the runGas and NB conversion settings for the sensor */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 447:Drivers/BME680/bme680.c **** 		if (desired_settings & (BME680_RUN_GAS_SEL | BME680_NBCONV_SEL)) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 448:Drivers/BME680/bme680.c **** 			rslt = boundary_check(&dev->gas_sett.run_gas, BME680_RUN_GAS_DISABLE,
 | 
						
						
						
						
							 | 
							
								 | 
							
							 449:Drivers/BME680/bme680.c **** 				BME680_RUN_GAS_ENABLE, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 450:Drivers/BME680/bme680.c **** 			if (rslt == BME680_OK) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 451:Drivers/BME680/bme680.c **** 				/* Validate boundary conditions */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 452:Drivers/BME680/bme680.c **** 				rslt = boundary_check(&dev->gas_sett.nb_conv, BME680_NBCONV_MIN,
 | 
						
						
						
						
							 | 
							
								 | 
							
							 453:Drivers/BME680/bme680.c **** 					BME680_NBCONV_MAX, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 454:Drivers/BME680/bme680.c **** 			}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 455:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 456:Drivers/BME680/bme680.c **** 			reg_addr = BME680_CONF_ODR_RUN_GAS_NBC_ADDR;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 457:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 458:Drivers/BME680/bme680.c **** 			if (rslt == BME680_OK)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 459:Drivers/BME680/bme680.c **** 				rslt = bme680_get_regs(reg_addr, &data, 1, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 460:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 461:Drivers/BME680/bme680.c **** 			if (desired_settings & BME680_RUN_GAS_SEL)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 462:Drivers/BME680/bme680.c **** 				data = BME680_SET_BITS(data, BME680_RUN_GAS, dev->gas_sett.run_gas);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 463:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 464:Drivers/BME680/bme680.c **** 			if (desired_settings & BME680_NBCONV_SEL)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 465:Drivers/BME680/bme680.c **** 				data = BME680_SET_BITS_POS_0(data, BME680_NBCONV, dev->gas_sett.nb_conv);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 466:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 467:Drivers/BME680/bme680.c **** 			reg_array[count] = reg_addr; /* Append configuration */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 468:Drivers/BME680/bme680.c **** 			data_array[count] = data;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 469:Drivers/BME680/bme680.c **** 			count++;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 470:Drivers/BME680/bme680.c **** 		}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 471:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 472:Drivers/BME680/bme680.c **** 		if (rslt == BME680_OK)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 473:Drivers/BME680/bme680.c **** 			rslt = bme680_set_regs(reg_array, data_array, count, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 474:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 475:Drivers/BME680/bme680.c **** 		/* Restore previous intended power mode */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 476:Drivers/BME680/bme680.c **** 		dev->power_mode = intended_power_mode;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 477:Drivers/BME680/bme680.c **** 	}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 478:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 479:Drivers/BME680/bme680.c **** 	return rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 480:Drivers/BME680/bme680.c **** }
 | 
						
						
						
						
							 | 
							
								 | 
							
							 481:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 482:Drivers/BME680/bme680.c **** /*!
 | 
						
						
						
						
							 | 
							
								 | 
							
							 483:Drivers/BME680/bme680.c ****  * @brief This API is used to get the oversampling, filter and T,P,H, gas selection
 | 
						
						
						
						
							 | 
							
								 | 
							
							 484:Drivers/BME680/bme680.c ****  * settings in the sensor.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 485:Drivers/BME680/bme680.c ****  */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 486:Drivers/BME680/bme680.c **** int8_t bme680_get_sensor_settings(uint16_t desired_settings, struct bme680_dev *dev)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 487:Drivers/BME680/bme680.c **** {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 488:Drivers/BME680/bme680.c **** 	int8_t rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 489:Drivers/BME680/bme680.c **** 	/* starting address of the register array for burst read*/
 | 
						
						
						
						
							 | 
							
								 | 
							
							 490:Drivers/BME680/bme680.c **** 	uint8_t reg_addr = BME680_CONF_HEAT_CTRL_ADDR;
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 10
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 491:Drivers/BME680/bme680.c **** 	uint8_t data_array[BME680_REG_BUFFER_LENGTH] = { 0 };
 | 
						
						
						
						
							 | 
							
								 | 
							
							 492:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 493:Drivers/BME680/bme680.c **** 	/* Check for null pointer in the device structure*/
 | 
						
						
						
						
							 | 
							
								 | 
							
							 494:Drivers/BME680/bme680.c **** 	rslt = null_ptr_check(dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 495:Drivers/BME680/bme680.c **** 	if (rslt == BME680_OK) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 496:Drivers/BME680/bme680.c **** 		rslt = bme680_get_regs(reg_addr, data_array, BME680_REG_BUFFER_LENGTH, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 497:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 498:Drivers/BME680/bme680.c **** 		if (rslt == BME680_OK) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 499:Drivers/BME680/bme680.c **** 			if (desired_settings & BME680_GAS_MEAS_SEL)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 500:Drivers/BME680/bme680.c **** 				rslt = get_gas_config(dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 501:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 502:Drivers/BME680/bme680.c **** 			/* get the T,P,H ,Filter,ODR settings here */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 503:Drivers/BME680/bme680.c **** 			if (desired_settings & BME680_FILTER_SEL)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 504:Drivers/BME680/bme680.c **** 				dev->tph_sett.filter = BME680_GET_BITS(data_array[BME680_REG_FILTER_INDEX],
 | 
						
						
						
						
							 | 
							
								 | 
							
							 505:Drivers/BME680/bme680.c **** 					BME680_FILTER);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 506:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 507:Drivers/BME680/bme680.c **** 			if (desired_settings & (BME680_OST_SEL | BME680_OSP_SEL)) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 508:Drivers/BME680/bme680.c **** 				dev->tph_sett.os_temp = BME680_GET_BITS(data_array[BME680_REG_TEMP_INDEX], BME680_OST);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 509:Drivers/BME680/bme680.c **** 				dev->tph_sett.os_pres = BME680_GET_BITS(data_array[BME680_REG_PRES_INDEX], BME680_OSP);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 510:Drivers/BME680/bme680.c **** 			}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 511:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 512:Drivers/BME680/bme680.c **** 			if (desired_settings & BME680_OSH_SEL)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 513:Drivers/BME680/bme680.c **** 				dev->tph_sett.os_hum = BME680_GET_BITS_POS_0(data_array[BME680_REG_HUM_INDEX],
 | 
						
						
						
						
							 | 
							
								 | 
							
							 514:Drivers/BME680/bme680.c **** 					BME680_OSH);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 515:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 516:Drivers/BME680/bme680.c **** 			/* get the gas related settings */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 517:Drivers/BME680/bme680.c **** 			if (desired_settings & BME680_HCNTRL_SEL)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 518:Drivers/BME680/bme680.c **** 				dev->gas_sett.heatr_ctrl = BME680_GET_BITS_POS_0(data_array[BME680_REG_HCTRL_INDEX],
 | 
						
						
						
						
							 | 
							
								 | 
							
							 519:Drivers/BME680/bme680.c **** 					BME680_HCTRL);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 520:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 521:Drivers/BME680/bme680.c **** 			if (desired_settings & (BME680_RUN_GAS_SEL | BME680_NBCONV_SEL)) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 522:Drivers/BME680/bme680.c **** 				dev->gas_sett.nb_conv = BME680_GET_BITS_POS_0(data_array[BME680_REG_NBCONV_INDEX],
 | 
						
						
						
						
							 | 
							
								 | 
							
							 523:Drivers/BME680/bme680.c **** 					BME680_NBCONV);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 524:Drivers/BME680/bme680.c **** 				dev->gas_sett.run_gas = BME680_GET_BITS(data_array[BME680_REG_RUN_GAS_INDEX],
 | 
						
						
						
						
							 | 
							
								 | 
							
							 525:Drivers/BME680/bme680.c **** 					BME680_RUN_GAS);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 526:Drivers/BME680/bme680.c **** 			}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 527:Drivers/BME680/bme680.c **** 		}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 528:Drivers/BME680/bme680.c **** 	} else {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 529:Drivers/BME680/bme680.c **** 		rslt = BME680_E_NULL_PTR;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 530:Drivers/BME680/bme680.c **** 	}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 531:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 532:Drivers/BME680/bme680.c **** 	return rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 533:Drivers/BME680/bme680.c **** }
 | 
						
						
						
						
							 | 
							
								 | 
							
							 534:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 535:Drivers/BME680/bme680.c **** /*!
 | 
						
						
						
						
							 | 
							
								 | 
							
							 536:Drivers/BME680/bme680.c ****  * @brief This API is used to set the power mode of the sensor.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 537:Drivers/BME680/bme680.c ****  */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 538:Drivers/BME680/bme680.c **** int8_t bme680_set_sensor_mode(struct bme680_dev *dev)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 539:Drivers/BME680/bme680.c **** {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 540:Drivers/BME680/bme680.c **** 	int8_t rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 541:Drivers/BME680/bme680.c **** 	uint8_t tmp_pow_mode;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 542:Drivers/BME680/bme680.c **** 	uint8_t pow_mode = 0;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 543:Drivers/BME680/bme680.c **** 	uint8_t reg_addr = BME680_CONF_T_P_MODE_ADDR;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 544:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 545:Drivers/BME680/bme680.c **** 	/* Check for null pointer in the device structure*/
 | 
						
						
						
						
							 | 
							
								 | 
							
							 546:Drivers/BME680/bme680.c **** 	rslt = null_ptr_check(dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 547:Drivers/BME680/bme680.c **** 	if (rslt == BME680_OK) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 11
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 548:Drivers/BME680/bme680.c **** 		/* Call recursively until in sleep */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 549:Drivers/BME680/bme680.c **** 		do {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 550:Drivers/BME680/bme680.c **** 			rslt = bme680_get_regs(BME680_CONF_T_P_MODE_ADDR, &tmp_pow_mode, 1, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 551:Drivers/BME680/bme680.c **** 			if (rslt == BME680_OK) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 552:Drivers/BME680/bme680.c **** 				/* Put to sleep before changing mode */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 553:Drivers/BME680/bme680.c **** 				pow_mode = (tmp_pow_mode & BME680_MODE_MSK);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 554:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 555:Drivers/BME680/bme680.c **** 				if (pow_mode != BME680_SLEEP_MODE) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 556:Drivers/BME680/bme680.c **** 					tmp_pow_mode = tmp_pow_mode & (~BME680_MODE_MSK); /* Set to sleep */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 557:Drivers/BME680/bme680.c **** 					rslt = bme680_set_regs(®_addr, &tmp_pow_mode, 1, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 558:Drivers/BME680/bme680.c **** 					dev->delay_ms(BME680_POLL_PERIOD_MS);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 559:Drivers/BME680/bme680.c **** 				}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 560:Drivers/BME680/bme680.c **** 			}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 561:Drivers/BME680/bme680.c **** 		} while (pow_mode != BME680_SLEEP_MODE);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 562:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 563:Drivers/BME680/bme680.c **** 		/* Already in sleep */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 564:Drivers/BME680/bme680.c **** 		if (dev->power_mode != BME680_SLEEP_MODE) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 565:Drivers/BME680/bme680.c **** 			tmp_pow_mode = (tmp_pow_mode & ~BME680_MODE_MSK) | (dev->power_mode & BME680_MODE_MSK);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 566:Drivers/BME680/bme680.c **** 			if (rslt == BME680_OK)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 567:Drivers/BME680/bme680.c **** 				rslt = bme680_set_regs(®_addr, &tmp_pow_mode, 1, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 568:Drivers/BME680/bme680.c **** 		}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 569:Drivers/BME680/bme680.c **** 	}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 570:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 571:Drivers/BME680/bme680.c **** 	return rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 572:Drivers/BME680/bme680.c **** }
 | 
						
						
						
						
							 | 
							
								 | 
							
							 573:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 574:Drivers/BME680/bme680.c **** /*!
 | 
						
						
						
						
							 | 
							
								 | 
							
							 575:Drivers/BME680/bme680.c ****  * @brief This API is used to get the power mode of the sensor.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 576:Drivers/BME680/bme680.c ****  */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 577:Drivers/BME680/bme680.c **** int8_t bme680_get_sensor_mode(struct bme680_dev *dev)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 578:Drivers/BME680/bme680.c **** {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 579:Drivers/BME680/bme680.c **** 	int8_t rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 580:Drivers/BME680/bme680.c **** 	uint8_t mode;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 581:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 582:Drivers/BME680/bme680.c **** 	/* Check for null pointer in the device structure*/
 | 
						
						
						
						
							 | 
							
								 | 
							
							 583:Drivers/BME680/bme680.c **** 	rslt = null_ptr_check(dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 584:Drivers/BME680/bme680.c **** 	if (rslt == BME680_OK) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 585:Drivers/BME680/bme680.c **** 		rslt = bme680_get_regs(BME680_CONF_T_P_MODE_ADDR, &mode, 1, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 586:Drivers/BME680/bme680.c **** 		/* Masking the other register bit info*/
 | 
						
						
						
						
							 | 
							
								 | 
							
							 587:Drivers/BME680/bme680.c **** 		dev->power_mode = mode & BME680_MODE_MSK;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 588:Drivers/BME680/bme680.c **** 	}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 589:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 590:Drivers/BME680/bme680.c **** 	return rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 591:Drivers/BME680/bme680.c **** }
 | 
						
						
						
						
							 | 
							
								 | 
							
							 592:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 593:Drivers/BME680/bme680.c **** /*!
 | 
						
						
						
						
							 | 
							
								 | 
							
							 594:Drivers/BME680/bme680.c ****  * @brief This API is used to set the profile duration of the sensor.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 595:Drivers/BME680/bme680.c ****  */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 596:Drivers/BME680/bme680.c **** void bme680_set_profile_dur(uint16_t duration, struct bme680_dev *dev)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 597:Drivers/BME680/bme680.c **** {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 598:Drivers/BME680/bme680.c **** 	uint32_t tph_dur; /* Calculate in us */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 599:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 600:Drivers/BME680/bme680.c **** 	/* TPH measurement duration */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 601:Drivers/BME680/bme680.c **** 	tph_dur = ((uint32_t) (dev->tph_sett.os_temp + dev->tph_sett.os_pres + dev->tph_sett.os_hum) * UIN
 | 
						
						
						
						
							 | 
							
								 | 
							
							 602:Drivers/BME680/bme680.c **** 	tph_dur += UINT32_C(477 * 4); /* TPH switching duration */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 603:Drivers/BME680/bme680.c **** 	tph_dur += UINT32_C(477 * 5); /* Gas measurement duration */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 604:Drivers/BME680/bme680.c **** 	tph_dur += UINT32_C(500); /* Get it to the closest whole number.*/
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 12
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 605:Drivers/BME680/bme680.c **** 	tph_dur /= UINT32_C(1000); /* Convert to ms */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 606:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 607:Drivers/BME680/bme680.c **** 	tph_dur += UINT32_C(1); /* Wake up duration of 1ms */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 608:Drivers/BME680/bme680.c **** 	/* The remaining time should be used for heating */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 609:Drivers/BME680/bme680.c **** 	dev->gas_sett.heatr_dur = duration - (uint16_t) tph_dur;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 610:Drivers/BME680/bme680.c **** }
 | 
						
						
						
						
							 | 
							
								 | 
							
							 611:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 612:Drivers/BME680/bme680.c **** /*!
 | 
						
						
						
						
							 | 
							
								 | 
							
							 613:Drivers/BME680/bme680.c ****  * @brief This API is used to get the profile duration of the sensor.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 614:Drivers/BME680/bme680.c ****  */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 615:Drivers/BME680/bme680.c **** void bme680_get_profile_dur(uint16_t *duration, const struct bme680_dev *dev)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 616:Drivers/BME680/bme680.c **** {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 617:Drivers/BME680/bme680.c **** 	uint32_t tph_dur; /* Calculate in us */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 618:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 619:Drivers/BME680/bme680.c **** 	/* TPH measurement duration */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 620:Drivers/BME680/bme680.c **** 	tph_dur = ((uint32_t) (dev->tph_sett.os_temp + dev->tph_sett.os_pres + dev->tph_sett.os_hum) * UIN
 | 
						
						
						
						
							 | 
							
								 | 
							
							 621:Drivers/BME680/bme680.c **** 	tph_dur += UINT32_C(477 * 4); /* TPH switching duration */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 622:Drivers/BME680/bme680.c **** 	tph_dur += UINT32_C(477 * 5); /* Gas measurement duration */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 623:Drivers/BME680/bme680.c **** 	tph_dur += UINT32_C(500); /* Get it to the closest whole number.*/
 | 
						
						
						
						
							 | 
							
								 | 
							
							 624:Drivers/BME680/bme680.c **** 	tph_dur /= UINT32_C(1000); /* Convert to ms */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 625:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 626:Drivers/BME680/bme680.c **** 	tph_dur += UINT32_C(1); /* Wake up duration of 1ms */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 627:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 628:Drivers/BME680/bme680.c **** 	*duration = (uint16_t) tph_dur;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 629:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 630:Drivers/BME680/bme680.c **** 	/* Get the gas duration only when the run gas is enabled */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 631:Drivers/BME680/bme680.c **** 	if (dev->gas_sett.run_gas) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 632:Drivers/BME680/bme680.c **** 		/* The remaining time should be used for heating */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 633:Drivers/BME680/bme680.c **** 		*duration += dev->gas_sett.heatr_dur;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 634:Drivers/BME680/bme680.c **** 	}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 635:Drivers/BME680/bme680.c **** }
 | 
						
						
						
						
							 | 
							
								 | 
							
							 636:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 637:Drivers/BME680/bme680.c **** /*!
 | 
						
						
						
						
							 | 
							
								 | 
							
							 638:Drivers/BME680/bme680.c ****  * @brief This API reads the pressure, temperature and humidity and gas data
 | 
						
						
						
						
							 | 
							
								 | 
							
							 639:Drivers/BME680/bme680.c ****  * from the sensor, compensates the data and store it in the bme680_data
 | 
						
						
						
						
							 | 
							
								 | 
							
							 640:Drivers/BME680/bme680.c ****  * structure instance passed by the user.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 641:Drivers/BME680/bme680.c ****  */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 642:Drivers/BME680/bme680.c **** int8_t bme680_get_sensor_data(struct bme680_field_data *data, struct bme680_dev *dev)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 643:Drivers/BME680/bme680.c **** {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 644:Drivers/BME680/bme680.c **** 	int8_t rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 645:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 646:Drivers/BME680/bme680.c **** 	/* Check for null pointer in the device structure*/
 | 
						
						
						
						
							 | 
							
								 | 
							
							 647:Drivers/BME680/bme680.c **** 	rslt = null_ptr_check(dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 648:Drivers/BME680/bme680.c **** 	if (rslt == BME680_OK) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 649:Drivers/BME680/bme680.c **** 		/* Reading the sensor data in forced mode only */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 650:Drivers/BME680/bme680.c **** 		rslt = read_field_data(data, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 651:Drivers/BME680/bme680.c **** 		if (rslt == BME680_OK) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 652:Drivers/BME680/bme680.c **** 			if (data->status & BME680_NEW_DATA_MSK)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 653:Drivers/BME680/bme680.c **** 				dev->new_fields = 1;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 654:Drivers/BME680/bme680.c **** 			else
 | 
						
						
						
						
							 | 
							
								 | 
							
							 655:Drivers/BME680/bme680.c **** 				dev->new_fields = 0;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 656:Drivers/BME680/bme680.c **** 		}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 657:Drivers/BME680/bme680.c **** 	}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 658:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 659:Drivers/BME680/bme680.c **** 	return rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 660:Drivers/BME680/bme680.c **** }
 | 
						
						
						
						
							 | 
							
								 | 
							
							 661:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 13
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 662:Drivers/BME680/bme680.c **** /*!
 | 
						
						
						
						
							 | 
							
								 | 
							
							 663:Drivers/BME680/bme680.c ****  * @brief This internal API is used to read the calibrated data from the sensor.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 664:Drivers/BME680/bme680.c ****  */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 665:Drivers/BME680/bme680.c **** static int8_t get_calib_data(struct bme680_dev *dev)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 666:Drivers/BME680/bme680.c **** {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 667:Drivers/BME680/bme680.c **** 	int8_t rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 668:Drivers/BME680/bme680.c **** 	uint8_t coeff_array[BME680_COEFF_SIZE] = { 0 };
 | 
						
						
						
						
							 | 
							
								 | 
							
							 669:Drivers/BME680/bme680.c **** 	uint8_t temp_var = 0; /* Temporary variable */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 670:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 671:Drivers/BME680/bme680.c **** 	/* Check for null pointer in the device structure*/
 | 
						
						
						
						
							 | 
							
								 | 
							
							 672:Drivers/BME680/bme680.c **** 	rslt = null_ptr_check(dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 673:Drivers/BME680/bme680.c **** 	if (rslt == BME680_OK) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 674:Drivers/BME680/bme680.c **** 		rslt = bme680_get_regs(BME680_COEFF_ADDR1, coeff_array, BME680_COEFF_ADDR1_LEN, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 675:Drivers/BME680/bme680.c **** 		/* Append the second half in the same array */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 676:Drivers/BME680/bme680.c **** 		if (rslt == BME680_OK)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 677:Drivers/BME680/bme680.c **** 			rslt = bme680_get_regs(BME680_COEFF_ADDR2, &coeff_array[BME680_COEFF_ADDR1_LEN]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 678:Drivers/BME680/bme680.c **** 			, BME680_COEFF_ADDR2_LEN, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 679:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 680:Drivers/BME680/bme680.c **** 		/* Temperature related coefficients */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 681:Drivers/BME680/bme680.c **** 		dev->calib.par_t1 = (uint16_t) (BME680_CONCAT_BYTES(coeff_array[BME680_T1_MSB_REG],
 | 
						
						
						
						
							 | 
							
								 | 
							
							 682:Drivers/BME680/bme680.c **** 			coeff_array[BME680_T1_LSB_REG]));
 | 
						
						
						
						
							 | 
							
								 | 
							
							 683:Drivers/BME680/bme680.c **** 		dev->calib.par_t2 = (int16_t) (BME680_CONCAT_BYTES(coeff_array[BME680_T2_MSB_REG],
 | 
						
						
						
						
							 | 
							
								 | 
							
							 684:Drivers/BME680/bme680.c **** 			coeff_array[BME680_T2_LSB_REG]));
 | 
						
						
						
						
							 | 
							
								 | 
							
							 685:Drivers/BME680/bme680.c **** 		dev->calib.par_t3 = (int8_t) (coeff_array[BME680_T3_REG]);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 686:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 687:Drivers/BME680/bme680.c **** 		/* Pressure related coefficients */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 688:Drivers/BME680/bme680.c **** 		dev->calib.par_p1 = (uint16_t) (BME680_CONCAT_BYTES(coeff_array[BME680_P1_MSB_REG],
 | 
						
						
						
						
							 | 
							
								 | 
							
							 689:Drivers/BME680/bme680.c **** 			coeff_array[BME680_P1_LSB_REG]));
 | 
						
						
						
						
							 | 
							
								 | 
							
							 690:Drivers/BME680/bme680.c **** 		dev->calib.par_p2 = (int16_t) (BME680_CONCAT_BYTES(coeff_array[BME680_P2_MSB_REG],
 | 
						
						
						
						
							 | 
							
								 | 
							
							 691:Drivers/BME680/bme680.c **** 			coeff_array[BME680_P2_LSB_REG]));
 | 
						
						
						
						
							 | 
							
								 | 
							
							 692:Drivers/BME680/bme680.c **** 		dev->calib.par_p3 = (int8_t) coeff_array[BME680_P3_REG];
 | 
						
						
						
						
							 | 
							
								 | 
							
							 693:Drivers/BME680/bme680.c **** 		dev->calib.par_p4 = (int16_t) (BME680_CONCAT_BYTES(coeff_array[BME680_P4_MSB_REG],
 | 
						
						
						
						
							 | 
							
								 | 
							
							 694:Drivers/BME680/bme680.c **** 			coeff_array[BME680_P4_LSB_REG]));
 | 
						
						
						
						
							 | 
							
								 | 
							
							 695:Drivers/BME680/bme680.c **** 		dev->calib.par_p5 = (int16_t) (BME680_CONCAT_BYTES(coeff_array[BME680_P5_MSB_REG],
 | 
						
						
						
						
							 | 
							
								 | 
							
							 696:Drivers/BME680/bme680.c **** 			coeff_array[BME680_P5_LSB_REG]));
 | 
						
						
						
						
							 | 
							
								 | 
							
							 697:Drivers/BME680/bme680.c **** 		dev->calib.par_p6 = (int8_t) (coeff_array[BME680_P6_REG]);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 698:Drivers/BME680/bme680.c **** 		dev->calib.par_p7 = (int8_t) (coeff_array[BME680_P7_REG]);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 699:Drivers/BME680/bme680.c **** 		dev->calib.par_p8 = (int16_t) (BME680_CONCAT_BYTES(coeff_array[BME680_P8_MSB_REG],
 | 
						
						
						
						
							 | 
							
								 | 
							
							 700:Drivers/BME680/bme680.c **** 			coeff_array[BME680_P8_LSB_REG]));
 | 
						
						
						
						
							 | 
							
								 | 
							
							 701:Drivers/BME680/bme680.c **** 		dev->calib.par_p9 = (int16_t) (BME680_CONCAT_BYTES(coeff_array[BME680_P9_MSB_REG],
 | 
						
						
						
						
							 | 
							
								 | 
							
							 702:Drivers/BME680/bme680.c **** 			coeff_array[BME680_P9_LSB_REG]));
 | 
						
						
						
						
							 | 
							
								 | 
							
							 703:Drivers/BME680/bme680.c **** 		dev->calib.par_p10 = (uint8_t) (coeff_array[BME680_P10_REG]);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 704:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 705:Drivers/BME680/bme680.c **** 		/* Humidity related coefficients */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 706:Drivers/BME680/bme680.c **** 		dev->calib.par_h1 = (uint16_t) (((uint16_t) coeff_array[BME680_H1_MSB_REG] << BME680_HUM_REG_SHIF
 | 
						
						
						
						
							 | 
							
								 | 
							
							 707:Drivers/BME680/bme680.c **** 			| (coeff_array[BME680_H1_LSB_REG] & BME680_BIT_H1_DATA_MSK));
 | 
						
						
						
						
							 | 
							
								 | 
							
							 708:Drivers/BME680/bme680.c **** 		dev->calib.par_h2 = (uint16_t) (((uint16_t) coeff_array[BME680_H2_MSB_REG] << BME680_HUM_REG_SHIF
 | 
						
						
						
						
							 | 
							
								 | 
							
							 709:Drivers/BME680/bme680.c **** 			| ((coeff_array[BME680_H2_LSB_REG]) >> BME680_HUM_REG_SHIFT_VAL));
 | 
						
						
						
						
							 | 
							
								 | 
							
							 710:Drivers/BME680/bme680.c **** 		dev->calib.par_h3 = (int8_t) coeff_array[BME680_H3_REG];
 | 
						
						
						
						
							 | 
							
								 | 
							
							 711:Drivers/BME680/bme680.c **** 		dev->calib.par_h4 = (int8_t) coeff_array[BME680_H4_REG];
 | 
						
						
						
						
							 | 
							
								 | 
							
							 712:Drivers/BME680/bme680.c **** 		dev->calib.par_h5 = (int8_t) coeff_array[BME680_H5_REG];
 | 
						
						
						
						
							 | 
							
								 | 
							
							 713:Drivers/BME680/bme680.c **** 		dev->calib.par_h6 = (uint8_t) coeff_array[BME680_H6_REG];
 | 
						
						
						
						
							 | 
							
								 | 
							
							 714:Drivers/BME680/bme680.c **** 		dev->calib.par_h7 = (int8_t) coeff_array[BME680_H7_REG];
 | 
						
						
						
						
							 | 
							
								 | 
							
							 715:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 716:Drivers/BME680/bme680.c **** 		/* Gas heater related coefficients */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 717:Drivers/BME680/bme680.c **** 		dev->calib.par_gh1 = (int8_t) coeff_array[BME680_GH1_REG];
 | 
						
						
						
						
							 | 
							
								 | 
							
							 718:Drivers/BME680/bme680.c **** 		dev->calib.par_gh2 = (int16_t) (BME680_CONCAT_BYTES(coeff_array[BME680_GH2_MSB_REG],
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 14
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 719:Drivers/BME680/bme680.c **** 			coeff_array[BME680_GH2_LSB_REG]));
 | 
						
						
						
						
							 | 
							
								 | 
							
							 720:Drivers/BME680/bme680.c **** 		dev->calib.par_gh3 = (int8_t) coeff_array[BME680_GH3_REG];
 | 
						
						
						
						
							 | 
							
								 | 
							
							 721:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 722:Drivers/BME680/bme680.c **** 		/* Other coefficients */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 723:Drivers/BME680/bme680.c **** 		if (rslt == BME680_OK) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 724:Drivers/BME680/bme680.c **** 			rslt = bme680_get_regs(BME680_ADDR_RES_HEAT_RANGE_ADDR, &temp_var, 1, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 725:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 726:Drivers/BME680/bme680.c **** 			dev->calib.res_heat_range = ((temp_var & BME680_RHRANGE_MSK) / 16);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 727:Drivers/BME680/bme680.c **** 			if (rslt == BME680_OK) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 728:Drivers/BME680/bme680.c **** 				rslt = bme680_get_regs(BME680_ADDR_RES_HEAT_VAL_ADDR, &temp_var, 1, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 729:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 730:Drivers/BME680/bme680.c **** 				dev->calib.res_heat_val = (int8_t) temp_var;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 731:Drivers/BME680/bme680.c **** 				if (rslt == BME680_OK)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 732:Drivers/BME680/bme680.c **** 					rslt = bme680_get_regs(BME680_ADDR_RANGE_SW_ERR_ADDR, &temp_var, 1, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 733:Drivers/BME680/bme680.c **** 			}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 734:Drivers/BME680/bme680.c **** 		}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 735:Drivers/BME680/bme680.c **** 		dev->calib.range_sw_err = ((int8_t) temp_var & (int8_t) BME680_RSERROR_MSK) / 16;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 736:Drivers/BME680/bme680.c **** 	}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 737:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 738:Drivers/BME680/bme680.c **** 	return rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 739:Drivers/BME680/bme680.c **** }
 | 
						
						
						
						
							 | 
							
								 | 
							
							 740:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 741:Drivers/BME680/bme680.c **** /*!
 | 
						
						
						
						
							 | 
							
								 | 
							
							 742:Drivers/BME680/bme680.c ****  * @brief This internal API is used to set the gas configuration of the sensor.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 743:Drivers/BME680/bme680.c ****  */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 744:Drivers/BME680/bme680.c **** static int8_t set_gas_config(struct bme680_dev *dev)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 745:Drivers/BME680/bme680.c **** {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 746:Drivers/BME680/bme680.c **** 	int8_t rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 747:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 748:Drivers/BME680/bme680.c **** 	/* Check for null pointer in the device structure*/
 | 
						
						
						
						
							 | 
							
								 | 
							
							 749:Drivers/BME680/bme680.c **** 	rslt = null_ptr_check(dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 750:Drivers/BME680/bme680.c **** 	if (rslt == BME680_OK) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 751:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 752:Drivers/BME680/bme680.c **** 		uint8_t reg_addr[2] = {0};
 | 
						
						
						
						
							 | 
							
								 | 
							
							 753:Drivers/BME680/bme680.c **** 		uint8_t reg_data[2] = {0};
 | 
						
						
						
						
							 | 
							
								 | 
							
							 754:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 755:Drivers/BME680/bme680.c **** 		if (dev->power_mode == BME680_FORCED_MODE) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 756:Drivers/BME680/bme680.c **** 			reg_addr[0] = BME680_RES_HEAT0_ADDR;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 757:Drivers/BME680/bme680.c **** 			reg_data[0] = calc_heater_res(dev->gas_sett.heatr_temp, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 758:Drivers/BME680/bme680.c **** 			reg_addr[1] = BME680_GAS_WAIT0_ADDR;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 759:Drivers/BME680/bme680.c **** 			reg_data[1] = calc_heater_dur(dev->gas_sett.heatr_dur);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 760:Drivers/BME680/bme680.c **** 			dev->gas_sett.nb_conv = 0;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 761:Drivers/BME680/bme680.c **** 		} else {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 762:Drivers/BME680/bme680.c **** 			rslt = BME680_W_DEFINE_PWR_MODE;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 763:Drivers/BME680/bme680.c **** 		}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 764:Drivers/BME680/bme680.c **** 		if (rslt == BME680_OK)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 765:Drivers/BME680/bme680.c **** 			rslt = bme680_set_regs(reg_addr, reg_data, 2, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 766:Drivers/BME680/bme680.c **** 	}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 767:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 768:Drivers/BME680/bme680.c **** 	return rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 769:Drivers/BME680/bme680.c **** }
 | 
						
						
						
						
							 | 
							
								 | 
							
							 770:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 771:Drivers/BME680/bme680.c **** /*!
 | 
						
						
						
						
							 | 
							
								 | 
							
							 772:Drivers/BME680/bme680.c ****  * @brief This internal API is used to get the gas configuration of the sensor.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 773:Drivers/BME680/bme680.c ****  */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 774:Drivers/BME680/bme680.c **** static int8_t get_gas_config(struct bme680_dev *dev)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 775:Drivers/BME680/bme680.c **** {
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 15
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 776:Drivers/BME680/bme680.c **** 	int8_t rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 777:Drivers/BME680/bme680.c **** 	/* starting address of the register array for burst read*/
 | 
						
						
						
						
							 | 
							
								 | 
							
							 778:Drivers/BME680/bme680.c **** 	uint8_t reg_addr1 = BME680_ADDR_SENS_CONF_START;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 779:Drivers/BME680/bme680.c **** 	uint8_t reg_addr2 = BME680_ADDR_GAS_CONF_START;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 780:Drivers/BME680/bme680.c **** 	uint8_t data_array[BME680_GAS_HEATER_PROF_LEN_MAX] = { 0 };
 | 
						
						
						
						
							 | 
							
								 | 
							
							 781:Drivers/BME680/bme680.c **** 	uint8_t index;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 782:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 783:Drivers/BME680/bme680.c **** 	/* Check for null pointer in the device structure*/
 | 
						
						
						
						
							 | 
							
								 | 
							
							 784:Drivers/BME680/bme680.c **** 	rslt = null_ptr_check(dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 785:Drivers/BME680/bme680.c **** 	if (rslt == BME680_OK) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 786:Drivers/BME680/bme680.c **** 		if (BME680_SPI_INTF == dev->intf) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 787:Drivers/BME680/bme680.c **** 			/* Memory page switch the SPI address*/
 | 
						
						
						
						
							 | 
							
								 | 
							
							 788:Drivers/BME680/bme680.c **** 			rslt = set_mem_page(reg_addr1, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 789:Drivers/BME680/bme680.c **** 		}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 790:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 791:Drivers/BME680/bme680.c **** 		if (rslt == BME680_OK) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 792:Drivers/BME680/bme680.c **** 			rslt = bme680_get_regs(reg_addr1, data_array, BME680_GAS_HEATER_PROF_LEN_MAX, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 793:Drivers/BME680/bme680.c **** 			if (rslt == BME680_OK) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 794:Drivers/BME680/bme680.c **** 				for (index = 0; index < BME680_GAS_HEATER_PROF_LEN_MAX; index++)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 795:Drivers/BME680/bme680.c **** 					dev->gas_sett.heatr_temp = data_array[index];
 | 
						
						
						
						
							 | 
							
								 | 
							
							 796:Drivers/BME680/bme680.c **** 			}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 797:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 798:Drivers/BME680/bme680.c **** 			rslt = bme680_get_regs(reg_addr2, data_array, BME680_GAS_HEATER_PROF_LEN_MAX, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 799:Drivers/BME680/bme680.c **** 			if (rslt == BME680_OK) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 800:Drivers/BME680/bme680.c **** 				for (index = 0; index < BME680_GAS_HEATER_PROF_LEN_MAX; index++)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 801:Drivers/BME680/bme680.c **** 					dev->gas_sett.heatr_dur = data_array[index];
 | 
						
						
						
						
							 | 
							
								 | 
							
							 802:Drivers/BME680/bme680.c **** 			}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 803:Drivers/BME680/bme680.c **** 		}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 804:Drivers/BME680/bme680.c **** 	}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 805:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 806:Drivers/BME680/bme680.c **** 	return rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 807:Drivers/BME680/bme680.c **** }
 | 
						
						
						
						
							 | 
							
								 | 
							
							 808:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 809:Drivers/BME680/bme680.c **** /*!
 | 
						
						
						
						
							 | 
							
								 | 
							
							 810:Drivers/BME680/bme680.c ****  * @brief This internal API is used to calculate the temperature value.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 811:Drivers/BME680/bme680.c ****  */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 812:Drivers/BME680/bme680.c **** static int16_t calc_temperature(uint32_t temp_adc, struct bme680_dev *dev)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 813:Drivers/BME680/bme680.c **** {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 814:Drivers/BME680/bme680.c **** 	int64_t var1;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 815:Drivers/BME680/bme680.c **** 	int64_t var2;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 816:Drivers/BME680/bme680.c **** 	int64_t var3;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 817:Drivers/BME680/bme680.c **** 	int16_t calc_temp;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 818:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 819:Drivers/BME680/bme680.c **** 	var1 = ((int32_t) temp_adc >> 3) - ((int32_t) dev->calib.par_t1 << 1);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 820:Drivers/BME680/bme680.c **** 	var2 = (var1 * (int32_t) dev->calib.par_t2) >> 11;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 821:Drivers/BME680/bme680.c **** 	var3 = ((var1 >> 1) * (var1 >> 1)) >> 12;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 822:Drivers/BME680/bme680.c **** 	var3 = ((var3) * ((int32_t) dev->calib.par_t3 << 4)) >> 14;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 823:Drivers/BME680/bme680.c **** 	dev->calib.t_fine = (int32_t) (var2 + var3);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 824:Drivers/BME680/bme680.c **** 	calc_temp = (int16_t) (((dev->calib.t_fine * 5) + 128) >> 8);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 825:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 826:Drivers/BME680/bme680.c **** 	return calc_temp;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 827:Drivers/BME680/bme680.c **** }
 | 
						
						
						
						
							 | 
							
								 | 
							
							 828:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 829:Drivers/BME680/bme680.c **** /*!
 | 
						
						
						
						
							 | 
							
								 | 
							
							 830:Drivers/BME680/bme680.c ****  * @brief This internal API is used to calculate the pressure value.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 831:Drivers/BME680/bme680.c ****  */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 832:Drivers/BME680/bme680.c **** static uint32_t calc_pressure(uint32_t pres_adc, const struct bme680_dev *dev)
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 16
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 833:Drivers/BME680/bme680.c **** {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 834:Drivers/BME680/bme680.c **** 	int32_t var1 = 0;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 835:Drivers/BME680/bme680.c **** 	int32_t var2 = 0;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 836:Drivers/BME680/bme680.c **** 	int32_t var3 = 0;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 837:Drivers/BME680/bme680.c **** 	int32_t var4 = 0;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 838:Drivers/BME680/bme680.c **** 	int32_t pressure_comp = 0;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 839:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 840:Drivers/BME680/bme680.c **** 	var1 = (((int32_t)dev->calib.t_fine) >> 1) - 64000;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 841:Drivers/BME680/bme680.c **** 	var2 = ((((var1 >> 2) * (var1 >> 2)) >> 11) *
 | 
						
						
						
						
							 | 
							
								 | 
							
							 842:Drivers/BME680/bme680.c **** 		(int32_t)dev->calib.par_p6) >> 2;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 843:Drivers/BME680/bme680.c **** 	var2 = var2 + ((var1 * (int32_t)dev->calib.par_p5) << 1);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 844:Drivers/BME680/bme680.c **** 	var2 = (var2 >> 2) + ((int32_t)dev->calib.par_p4 << 16);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 845:Drivers/BME680/bme680.c **** 	var1 = (((((var1 >> 2) * (var1 >> 2)) >> 13) *
 | 
						
						
						
						
							 | 
							
								 | 
							
							 846:Drivers/BME680/bme680.c **** 		((int32_t)dev->calib.par_p3 << 5)) >> 3) +
 | 
						
						
						
						
							 | 
							
								 | 
							
							 847:Drivers/BME680/bme680.c **** 		(((int32_t)dev->calib.par_p2 * var1) >> 1);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 848:Drivers/BME680/bme680.c **** 	var1 = var1 >> 18;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 849:Drivers/BME680/bme680.c **** 	var1 = ((32768 + var1) * (int32_t)dev->calib.par_p1) >> 15;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 850:Drivers/BME680/bme680.c **** 	pressure_comp = 1048576 - pres_adc;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 851:Drivers/BME680/bme680.c **** 	pressure_comp = (int32_t)((pressure_comp - (var2 >> 12)) * ((uint32_t)3125));
 | 
						
						
						
						
							 | 
							
								 | 
							
							 852:Drivers/BME680/bme680.c **** 	var4 = (1 << 31);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 853:Drivers/BME680/bme680.c **** 	if (pressure_comp >= var4)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 854:Drivers/BME680/bme680.c **** 		pressure_comp = ((pressure_comp / (uint32_t)var1) << 1);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 855:Drivers/BME680/bme680.c **** 	else
 | 
						
						
						
						
							 | 
							
								 | 
							
							 856:Drivers/BME680/bme680.c **** 		pressure_comp = ((pressure_comp << 1) / (uint32_t)var1);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 857:Drivers/BME680/bme680.c **** 	var1 = ((int32_t)dev->calib.par_p9 * (int32_t)(((pressure_comp >> 3) *
 | 
						
						
						
						
							 | 
							
								 | 
							
							 858:Drivers/BME680/bme680.c **** 		(pressure_comp >> 3)) >> 13)) >> 12;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 859:Drivers/BME680/bme680.c **** 	var2 = ((int32_t)(pressure_comp >> 2) *
 | 
						
						
						
						
							 | 
							
								 | 
							
							 860:Drivers/BME680/bme680.c **** 		(int32_t)dev->calib.par_p8) >> 13;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 861:Drivers/BME680/bme680.c **** 	var3 = ((int32_t)(pressure_comp >> 8) * (int32_t)(pressure_comp >> 8) *
 | 
						
						
						
						
							 | 
							
								 | 
							
							 862:Drivers/BME680/bme680.c **** 		(int32_t)(pressure_comp >> 8) *
 | 
						
						
						
						
							 | 
							
								 | 
							
							 863:Drivers/BME680/bme680.c **** 		(int32_t)dev->calib.par_p10) >> 17;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 864:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 865:Drivers/BME680/bme680.c **** 	pressure_comp = (int32_t)(pressure_comp) + ((var1 + var2 + var3 +
 | 
						
						
						
						
							 | 
							
								 | 
							
							 866:Drivers/BME680/bme680.c **** 		((int32_t)dev->calib.par_p7 << 7)) >> 4);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 867:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 868:Drivers/BME680/bme680.c **** 	return (uint32_t)pressure_comp;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 869:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 870:Drivers/BME680/bme680.c **** }
 | 
						
						
						
						
							 | 
							
								 | 
							
							 871:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 872:Drivers/BME680/bme680.c **** /*!
 | 
						
						
						
						
							 | 
							
								 | 
							
							 873:Drivers/BME680/bme680.c ****  * @brief This internal API is used to calculate the humidity value.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 874:Drivers/BME680/bme680.c ****  */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 875:Drivers/BME680/bme680.c **** static uint32_t calc_humidity(uint16_t hum_adc, const struct bme680_dev *dev)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 876:Drivers/BME680/bme680.c **** {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 877:Drivers/BME680/bme680.c **** 	int32_t var1;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 878:Drivers/BME680/bme680.c **** 	int32_t var2;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 879:Drivers/BME680/bme680.c **** 	int32_t var3;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 880:Drivers/BME680/bme680.c **** 	int32_t var4;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 881:Drivers/BME680/bme680.c **** 	int32_t var5;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 882:Drivers/BME680/bme680.c **** 	int32_t var6;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 883:Drivers/BME680/bme680.c **** 	int32_t temp_scaled;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 884:Drivers/BME680/bme680.c **** 	int32_t calc_hum;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 885:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 886:Drivers/BME680/bme680.c **** 	temp_scaled = (((int32_t) dev->calib.t_fine * 5) + 128) >> 8;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 887:Drivers/BME680/bme680.c **** 	var1 = (int32_t) (hum_adc - ((int32_t) ((int32_t) dev->calib.par_h1 * 16)))
 | 
						
						
						
						
							 | 
							
								 | 
							
							 888:Drivers/BME680/bme680.c **** 		- (((temp_scaled * (int32_t) dev->calib.par_h3) / ((int32_t) 100)) >> 1);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 889:Drivers/BME680/bme680.c **** 	var2 = ((int32_t) dev->calib.par_h2
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 17
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 890:Drivers/BME680/bme680.c **** 		* (((temp_scaled * (int32_t) dev->calib.par_h4) / ((int32_t) 100))
 | 
						
						
						
						
							 | 
							
								 | 
							
							 891:Drivers/BME680/bme680.c **** 			+ (((temp_scaled * ((temp_scaled * (int32_t) dev->calib.par_h5) / ((int32_t) 100))) >> 6)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 892:Drivers/BME680/bme680.c **** 				/ ((int32_t) 100)) + (int32_t) (1 << 14))) >> 10;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 893:Drivers/BME680/bme680.c **** 	var3 = var1 * var2;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 894:Drivers/BME680/bme680.c **** 	var4 = (int32_t) dev->calib.par_h6 << 7;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 895:Drivers/BME680/bme680.c **** 	var4 = ((var4) + ((temp_scaled * (int32_t) dev->calib.par_h7) / ((int32_t) 100))) >> 4;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 896:Drivers/BME680/bme680.c **** 	var5 = ((var3 >> 14) * (var3 >> 14)) >> 10;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 897:Drivers/BME680/bme680.c **** 	var6 = (var4 * var5) >> 1;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 898:Drivers/BME680/bme680.c **** 	calc_hum = (((var3 + var6) >> 10) * ((int32_t) 1000)) >> 12;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 899:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 900:Drivers/BME680/bme680.c **** 	if (calc_hum > 100000) /* Cap at 100%rH */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 901:Drivers/BME680/bme680.c **** 		calc_hum = 100000;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 902:Drivers/BME680/bme680.c **** 	else if (calc_hum < 0)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 903:Drivers/BME680/bme680.c **** 		calc_hum = 0;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 904:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 905:Drivers/BME680/bme680.c **** 	return (uint32_t) calc_hum;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 906:Drivers/BME680/bme680.c **** }
 | 
						
						
						
						
							 | 
							
								 | 
							
							 907:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 908:Drivers/BME680/bme680.c **** /*!
 | 
						
						
						
						
							 | 
							
								 | 
							
							 909:Drivers/BME680/bme680.c ****  * @brief This internal API is used to calculate the Gas Resistance value.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 910:Drivers/BME680/bme680.c ****  */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 911:Drivers/BME680/bme680.c **** static uint32_t calc_gas_resistance(uint16_t gas_res_adc, uint8_t gas_range, const struct bme680_de
 | 
						
						
						
						
							 | 
							
								 | 
							
							 912:Drivers/BME680/bme680.c **** {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 913:Drivers/BME680/bme680.c **** 	int64_t var1;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 914:Drivers/BME680/bme680.c **** 	uint64_t var2;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 915:Drivers/BME680/bme680.c **** 	int64_t var3;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 916:Drivers/BME680/bme680.c **** 	uint32_t calc_gas_res;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 917:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 918:Drivers/BME680/bme680.c **** 	var1 = (int64_t) ((1340 + (5 * (int64_t) dev->calib.range_sw_err)) *
 | 
						
						
						
						
							 | 
							
								 | 
							
							 919:Drivers/BME680/bme680.c **** 		((int64_t) lookupTable1[gas_range])) >> 16;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 920:Drivers/BME680/bme680.c **** 	var2 = (((int64_t) ((int64_t) gas_res_adc << 15) - (int64_t) (16777216)) + var1);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 921:Drivers/BME680/bme680.c **** 	var3 = (((int64_t) lookupTable2[gas_range] * (int64_t) var1) >> 9);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 922:Drivers/BME680/bme680.c **** 	calc_gas_res = (uint32_t) ((var3 + ((int64_t) var2 >> 1)) / (int64_t) var2);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 923:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 924:Drivers/BME680/bme680.c **** 	return calc_gas_res;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 925:Drivers/BME680/bme680.c **** }
 | 
						
						
						
						
							 | 
							
								 | 
							
							 926:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 927:Drivers/BME680/bme680.c **** /*!
 | 
						
						
						
						
							 | 
							
								 | 
							
							 928:Drivers/BME680/bme680.c ****  * @brief This internal API is used to calculate the Heat Resistance value.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 929:Drivers/BME680/bme680.c ****  */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 930:Drivers/BME680/bme680.c **** static uint8_t calc_heater_res(uint16_t temp, const struct bme680_dev *dev)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 931:Drivers/BME680/bme680.c **** {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 932:Drivers/BME680/bme680.c **** 	uint8_t heatr_res;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 933:Drivers/BME680/bme680.c **** 	int32_t var1;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 934:Drivers/BME680/bme680.c **** 	int32_t var2;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 935:Drivers/BME680/bme680.c **** 	int32_t var3;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 936:Drivers/BME680/bme680.c **** 	int32_t var4;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 937:Drivers/BME680/bme680.c **** 	int32_t var5;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 938:Drivers/BME680/bme680.c **** 	int32_t heatr_res_x100;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 939:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 940:Drivers/BME680/bme680.c **** 	if (temp < 200) /* Cap temperature */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 941:Drivers/BME680/bme680.c **** 		temp = 200;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 942:Drivers/BME680/bme680.c **** 	else if (temp > 400)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 943:Drivers/BME680/bme680.c **** 		temp = 400;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 944:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 945:Drivers/BME680/bme680.c **** 	var1 = (((int32_t) dev->amb_temp * dev->calib.par_gh3) / 1000) * 256;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 946:Drivers/BME680/bme680.c **** 	var2 = (dev->calib.par_gh1 + 784) * (((((dev->calib.par_gh2 + 154009) * temp * 5) / 100) + 3276800
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 18
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 947:Drivers/BME680/bme680.c **** 	var3 = var1 + (var2 / 2);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 948:Drivers/BME680/bme680.c **** 	var4 = (var3 / (dev->calib.res_heat_range + 4));
 | 
						
						
						
						
							 | 
							
								 | 
							
							 949:Drivers/BME680/bme680.c **** 	var5 = (131 * dev->calib.res_heat_val) + 65536;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 950:Drivers/BME680/bme680.c **** 	heatr_res_x100 = (int32_t) (((var4 / var5) - 250) * 34);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 951:Drivers/BME680/bme680.c **** 	heatr_res = (uint8_t) ((heatr_res_x100 + 50) / 100);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 952:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 953:Drivers/BME680/bme680.c **** 	return heatr_res;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 954:Drivers/BME680/bme680.c **** }
 | 
						
						
						
						
							 | 
							
								 | 
							
							 955:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 956:Drivers/BME680/bme680.c **** /*!
 | 
						
						
						
						
							 | 
							
								 | 
							
							 957:Drivers/BME680/bme680.c ****  * @brief This internal API is used to calculate the Heat duration value.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 958:Drivers/BME680/bme680.c ****  */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 959:Drivers/BME680/bme680.c **** static uint8_t calc_heater_dur(uint16_t dur)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 960:Drivers/BME680/bme680.c **** {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 961:Drivers/BME680/bme680.c **** 	uint8_t factor = 0;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 962:Drivers/BME680/bme680.c **** 	uint8_t durval;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 963:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 964:Drivers/BME680/bme680.c **** 	if (dur >= 0xfc0) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 965:Drivers/BME680/bme680.c **** 		durval = 0xff; /* Max duration*/
 | 
						
						
						
						
							 | 
							
								 | 
							
							 966:Drivers/BME680/bme680.c **** 	} else {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 967:Drivers/BME680/bme680.c **** 		while (dur > 0x3F) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 968:Drivers/BME680/bme680.c **** 			dur = dur / 4;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 969:Drivers/BME680/bme680.c **** 			factor += 1;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 970:Drivers/BME680/bme680.c **** 		}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 971:Drivers/BME680/bme680.c **** 		durval = (uint8_t) (dur + (factor * 64));
 | 
						
						
						
						
							 | 
							
								 | 
							
							 972:Drivers/BME680/bme680.c **** 	}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 973:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 974:Drivers/BME680/bme680.c **** 	return durval;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 975:Drivers/BME680/bme680.c **** }
 | 
						
						
						
						
							 | 
							
								 | 
							
							 976:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 977:Drivers/BME680/bme680.c **** /*!
 | 
						
						
						
						
							 | 
							
								 | 
							
							 978:Drivers/BME680/bme680.c ****  * @brief This internal API is used to calculate the field data of sensor.
 | 
						
						
						
						
							 | 
							
								 | 
							
							 979:Drivers/BME680/bme680.c ****  */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 980:Drivers/BME680/bme680.c **** static int8_t read_field_data(struct bme680_field_data *data, struct bme680_dev *dev)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 981:Drivers/BME680/bme680.c **** {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 982:Drivers/BME680/bme680.c **** 	int8_t rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 983:Drivers/BME680/bme680.c **** 	uint8_t buff[BME680_FIELD_LENGTH] = { 0 };
 | 
						
						
						
						
							 | 
							
								 | 
							
							 984:Drivers/BME680/bme680.c **** 	uint8_t gas_range;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 985:Drivers/BME680/bme680.c **** 	uint32_t adc_temp;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 986:Drivers/BME680/bme680.c **** 	uint32_t adc_pres;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 987:Drivers/BME680/bme680.c **** 	uint16_t adc_hum;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 988:Drivers/BME680/bme680.c **** 	uint16_t adc_gas_res;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 989:Drivers/BME680/bme680.c **** 	uint8_t tries = 10;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 990:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 991:Drivers/BME680/bme680.c **** 	/* Check for null pointer in the device structure*/
 | 
						
						
						
						
							 | 
							
								 | 
							
							 992:Drivers/BME680/bme680.c **** 	rslt = null_ptr_check(dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 993:Drivers/BME680/bme680.c **** 	do {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 994:Drivers/BME680/bme680.c **** 		if (rslt == BME680_OK) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 995:Drivers/BME680/bme680.c **** 			rslt = bme680_get_regs(((uint8_t) (BME680_FIELD0_ADDR)), buff, (uint16_t) BME680_FIELD_LENGTH,
 | 
						
						
						
						
							 | 
							
								 | 
							
							 996:Drivers/BME680/bme680.c **** 				dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 997:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 998:Drivers/BME680/bme680.c **** 			data->status = buff[0] & BME680_NEW_DATA_MSK;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 999:Drivers/BME680/bme680.c **** 			data->gas_index = buff[0] & BME680_GAS_INDEX_MSK;
 | 
						
						
						
						
							 | 
							
								 | 
							
							1000:Drivers/BME680/bme680.c **** 			data->meas_index = buff[1];
 | 
						
						
						
						
							 | 
							
								 | 
							
							1001:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							1002:Drivers/BME680/bme680.c **** 			/* read the raw data from the sensor */
 | 
						
						
						
						
							 | 
							
								 | 
							
							1003:Drivers/BME680/bme680.c **** 			adc_pres = (uint32_t) (((uint32_t) buff[2] * 4096) | ((uint32_t) buff[3] * 16)
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 19
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							1004:Drivers/BME680/bme680.c **** 				| ((uint32_t) buff[4] / 16));
 | 
						
						
						
						
							 | 
							
								 | 
							
							1005:Drivers/BME680/bme680.c **** 			adc_temp = (uint32_t) (((uint32_t) buff[5] * 4096) | ((uint32_t) buff[6] * 16)
 | 
						
						
						
						
							 | 
							
								 | 
							
							1006:Drivers/BME680/bme680.c **** 				| ((uint32_t) buff[7] / 16));
 | 
						
						
						
						
							 | 
							
								 | 
							
							1007:Drivers/BME680/bme680.c **** 			adc_hum = (uint16_t) (((uint32_t) buff[8] * 256) | (uint32_t) buff[9]);
 | 
						
						
						
						
							 | 
							
								 | 
							
							1008:Drivers/BME680/bme680.c **** 			adc_gas_res = (uint16_t) ((uint32_t) buff[13] * 4 | (((uint32_t) buff[14]) / 64));
 | 
						
						
						
						
							 | 
							
								 | 
							
							1009:Drivers/BME680/bme680.c **** 			gas_range = buff[14] & BME680_GAS_RANGE_MSK;
 | 
						
						
						
						
							 | 
							
								 | 
							
							1010:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							1011:Drivers/BME680/bme680.c **** 			data->status |= buff[14] & BME680_GASM_VALID_MSK;
 | 
						
						
						
						
							 | 
							
								 | 
							
							1012:Drivers/BME680/bme680.c **** 			data->status |= buff[14] & BME680_HEAT_STAB_MSK;
 | 
						
						
						
						
							 | 
							
								 | 
							
							1013:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							1014:Drivers/BME680/bme680.c **** 			if (data->status & BME680_NEW_DATA_MSK) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							1015:Drivers/BME680/bme680.c **** 				data->temperature = calc_temperature(adc_temp, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							1016:Drivers/BME680/bme680.c **** 				data->pressure = calc_pressure(adc_pres, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							1017:Drivers/BME680/bme680.c **** 				data->humidity = calc_humidity(adc_hum, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							1018:Drivers/BME680/bme680.c **** 				data->gas_resistance = calc_gas_resistance(adc_gas_res, gas_range, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							1019:Drivers/BME680/bme680.c **** 				break;
 | 
						
						
						
						
							 | 
							
								 | 
							
							1020:Drivers/BME680/bme680.c **** 			}
 | 
						
						
						
						
							 | 
							
								 | 
							
							1021:Drivers/BME680/bme680.c **** 			/* Delay to poll the data */
 | 
						
						
						
						
							 | 
							
								 | 
							
							1022:Drivers/BME680/bme680.c **** 			dev->delay_ms(BME680_POLL_PERIOD_MS);
 | 
						
						
						
						
							 | 
							
								 | 
							
							1023:Drivers/BME680/bme680.c **** 		}
 | 
						
						
						
						
							 | 
							
								 | 
							
							1024:Drivers/BME680/bme680.c **** 		tries--;
 | 
						
						
						
						
							 | 
							
								 | 
							
							1025:Drivers/BME680/bme680.c **** 	} while (tries);
 | 
						
						
						
						
							 | 
							
								 | 
							
							1026:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							1027:Drivers/BME680/bme680.c **** 	if (!tries)
 | 
						
						
						
						
							 | 
							
								 | 
							
							1028:Drivers/BME680/bme680.c **** 		rslt = BME680_W_NO_NEW_DATA;
 | 
						
						
						
						
							 | 
							
								 | 
							
							1029:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							1030:Drivers/BME680/bme680.c **** 	return rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							1031:Drivers/BME680/bme680.c **** }
 | 
						
						
						
						
							 | 
							
								 | 
							
							1032:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							1033:Drivers/BME680/bme680.c **** /*!
 | 
						
						
						
						
							 | 
							
								 | 
							
							1034:Drivers/BME680/bme680.c ****  * @brief This internal API is used to set the memory page based on register address.
 | 
						
						
						
						
							 | 
							
								 | 
							
							1035:Drivers/BME680/bme680.c ****  */
 | 
						
						
						
						
							 | 
							
								 | 
							
							1036:Drivers/BME680/bme680.c **** static int8_t set_mem_page(uint8_t reg_addr, struct bme680_dev *dev)
 | 
						
						
						
						
							 | 
							
								 | 
							
							1037:Drivers/BME680/bme680.c **** {
 | 
						
						
						
						
							 | 
							
								 | 
							
							  25              		.loc 1 1037 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							  26              		.cfi_startproc
 | 
						
						
						
						
							 | 
							
								 | 
							
							  27              		@ args = 0, pretend = 0, frame = 8
 | 
						
						
						
						
							 | 
							
								 | 
							
							  28              		@ frame_needed = 0, uses_anonymous_args = 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							  29              	.LVL0:
 | 
						
						
						
						
							 | 
							
								 | 
							
							  30 0000 30B5     		push	{r4, r5, lr}
 | 
						
						
						
						
							 | 
							
								 | 
							
							  31              	.LCFI0:
 | 
						
						
						
						
							 | 
							
								 | 
							
							  32              		.cfi_def_cfa_offset 12
 | 
						
						
						
						
							 | 
							
								 | 
							
							  33              		.cfi_offset 4, -12
 | 
						
						
						
						
							 | 
							
								 | 
							
							  34              		.cfi_offset 5, -8
 | 
						
						
						
						
							 | 
							
								 | 
							
							  35              		.cfi_offset 14, -4
 | 
						
						
						
						
							 | 
							
								 | 
							
							  36 0002 83B0     		sub	sp, sp, #12
 | 
						
						
						
						
							 | 
							
								 | 
							
							  37              	.LCFI1:
 | 
						
						
						
						
							 | 
							
								 | 
							
							  38              		.cfi_def_cfa_offset 24
 | 
						
						
						
						
							 | 
							
								 | 
							
							  39 0004 0C1E     		subs	r4, r1, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							  40              	.LVL1:
 | 
						
						
						
						
							 | 
							
								 | 
							
							  41              	.LBB51:
 | 
						
						
						
						
							 | 
							
								 | 
							
							  42              	.LBB52:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1038:Drivers/BME680/bme680.c **** 	int8_t rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							1039:Drivers/BME680/bme680.c **** 	uint8_t reg;
 | 
						
						
						
						
							 | 
							
								 | 
							
							1040:Drivers/BME680/bme680.c **** 	uint8_t mem_page;
 | 
						
						
						
						
							 | 
							
								 | 
							
							1041:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							1042:Drivers/BME680/bme680.c **** 	/* Check for null pointers in the device structure*/
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 20
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							1043:Drivers/BME680/bme680.c **** 	rslt = null_ptr_check(dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							1044:Drivers/BME680/bme680.c **** 	if (rslt == BME680_OK) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							1045:Drivers/BME680/bme680.c **** 		if (reg_addr > 0x7f)
 | 
						
						
						
						
							 | 
							
								 | 
							
							1046:Drivers/BME680/bme680.c **** 			mem_page = BME680_MEM_PAGE1;
 | 
						
						
						
						
							 | 
							
								 | 
							
							1047:Drivers/BME680/bme680.c **** 		else
 | 
						
						
						
						
							 | 
							
								 | 
							
							1048:Drivers/BME680/bme680.c **** 			mem_page = BME680_MEM_PAGE0;
 | 
						
						
						
						
							 | 
							
								 | 
							
							1049:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							1050:Drivers/BME680/bme680.c **** 		if (mem_page != dev->mem_page) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							1051:Drivers/BME680/bme680.c **** 			dev->mem_page = mem_page;
 | 
						
						
						
						
							 | 
							
								 | 
							
							1052:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							1053:Drivers/BME680/bme680.c **** 			dev->com_rslt = dev->read(dev->dev_id, BME680_MEM_PAGE_ADDR | BME680_SPI_RD_MSK, ®, 1);
 | 
						
						
						
						
							 | 
							
								 | 
							
							1054:Drivers/BME680/bme680.c **** 			if (dev->com_rslt != 0)
 | 
						
						
						
						
							 | 
							
								 | 
							
							1055:Drivers/BME680/bme680.c **** 				rslt = BME680_E_COM_FAIL;
 | 
						
						
						
						
							 | 
							
								 | 
							
							1056:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							1057:Drivers/BME680/bme680.c **** 			if (rslt == BME680_OK) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							1058:Drivers/BME680/bme680.c **** 				reg = reg & (~BME680_MEM_PAGE_MSK);
 | 
						
						
						
						
							 | 
							
								 | 
							
							1059:Drivers/BME680/bme680.c **** 				reg = reg | (dev->mem_page & BME680_MEM_PAGE_MSK);
 | 
						
						
						
						
							 | 
							
								 | 
							
							1060:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							1061:Drivers/BME680/bme680.c **** 				dev->com_rslt = dev->write(dev->dev_id, BME680_MEM_PAGE_ADDR & BME680_SPI_WR_MSK,
 | 
						
						
						
						
							 | 
							
								 | 
							
							1062:Drivers/BME680/bme680.c **** 					®, 1);
 | 
						
						
						
						
							 | 
							
								 | 
							
							1063:Drivers/BME680/bme680.c **** 				if (dev->com_rslt != 0)
 | 
						
						
						
						
							 | 
							
								 | 
							
							1064:Drivers/BME680/bme680.c **** 					rslt = BME680_E_COM_FAIL;
 | 
						
						
						
						
							 | 
							
								 | 
							
							1065:Drivers/BME680/bme680.c **** 			}
 | 
						
						
						
						
							 | 
							
								 | 
							
							1066:Drivers/BME680/bme680.c **** 		}
 | 
						
						
						
						
							 | 
							
								 | 
							
							1067:Drivers/BME680/bme680.c **** 	}
 | 
						
						
						
						
							 | 
							
								 | 
							
							1068:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							1069:Drivers/BME680/bme680.c **** 	return rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							1070:Drivers/BME680/bme680.c **** }
 | 
						
						
						
						
							 | 
							
								 | 
							
							1071:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							1072:Drivers/BME680/bme680.c **** /*!
 | 
						
						
						
						
							 | 
							
								 | 
							
							1073:Drivers/BME680/bme680.c ****  * @brief This internal API is used to get the memory page based on register address.
 | 
						
						
						
						
							 | 
							
								 | 
							
							1074:Drivers/BME680/bme680.c ****  */
 | 
						
						
						
						
							 | 
							
								 | 
							
							1075:Drivers/BME680/bme680.c **** static int8_t get_mem_page(struct bme680_dev *dev)
 | 
						
						
						
						
							 | 
							
								 | 
							
							1076:Drivers/BME680/bme680.c **** {
 | 
						
						
						
						
							 | 
							
								 | 
							
							1077:Drivers/BME680/bme680.c **** 	int8_t rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							1078:Drivers/BME680/bme680.c **** 	uint8_t reg;
 | 
						
						
						
						
							 | 
							
								 | 
							
							1079:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							1080:Drivers/BME680/bme680.c **** 	/* Check for null pointer in the device structure*/
 | 
						
						
						
						
							 | 
							
								 | 
							
							1081:Drivers/BME680/bme680.c **** 	rslt = null_ptr_check(dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							1082:Drivers/BME680/bme680.c **** 	if (rslt == BME680_OK) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							1083:Drivers/BME680/bme680.c **** 		dev->com_rslt = dev->read(dev->dev_id, BME680_MEM_PAGE_ADDR | BME680_SPI_RD_MSK, ®, 1);
 | 
						
						
						
						
							 | 
							
								 | 
							
							1084:Drivers/BME680/bme680.c **** 		if (dev->com_rslt != 0)
 | 
						
						
						
						
							 | 
							
								 | 
							
							1085:Drivers/BME680/bme680.c **** 			rslt = BME680_E_COM_FAIL;
 | 
						
						
						
						
							 | 
							
								 | 
							
							1086:Drivers/BME680/bme680.c **** 		else
 | 
						
						
						
						
							 | 
							
								 | 
							
							1087:Drivers/BME680/bme680.c **** 			dev->mem_page = reg & BME680_MEM_PAGE_MSK;
 | 
						
						
						
						
							 | 
							
								 | 
							
							1088:Drivers/BME680/bme680.c **** 	}
 | 
						
						
						
						
							 | 
							
								 | 
							
							1089:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							1090:Drivers/BME680/bme680.c **** 	return rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							1091:Drivers/BME680/bme680.c **** }
 | 
						
						
						
						
							 | 
							
								 | 
							
							1092:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							1093:Drivers/BME680/bme680.c **** /*!
 | 
						
						
						
						
							 | 
							
								 | 
							
							1094:Drivers/BME680/bme680.c ****  * @brief This internal API is used to validate the boundary
 | 
						
						
						
						
							 | 
							
								 | 
							
							1095:Drivers/BME680/bme680.c ****  * conditions.
 | 
						
						
						
						
							 | 
							
								 | 
							
							1096:Drivers/BME680/bme680.c ****  */
 | 
						
						
						
						
							 | 
							
								 | 
							
							1097:Drivers/BME680/bme680.c **** static int8_t boundary_check(uint8_t *value, uint8_t min, uint8_t max, struct bme680_dev *dev)
 | 
						
						
						
						
							 | 
							
								 | 
							
							1098:Drivers/BME680/bme680.c **** {
 | 
						
						
						
						
							 | 
							
								 | 
							
							1099:Drivers/BME680/bme680.c **** 	int8_t rslt = BME680_OK;
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 21
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							1100:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							1101:Drivers/BME680/bme680.c **** 	if (value != NULL) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							1102:Drivers/BME680/bme680.c **** 		/* Check if value is below minimum value */
 | 
						
						
						
						
							 | 
							
								 | 
							
							1103:Drivers/BME680/bme680.c **** 		if (*value < min) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							1104:Drivers/BME680/bme680.c **** 			/* Auto correct the invalid value to minimum value */
 | 
						
						
						
						
							 | 
							
								 | 
							
							1105:Drivers/BME680/bme680.c **** 			*value = min;
 | 
						
						
						
						
							 | 
							
								 | 
							
							1106:Drivers/BME680/bme680.c **** 			dev->info_msg |= BME680_I_MIN_CORRECTION;
 | 
						
						
						
						
							 | 
							
								 | 
							
							1107:Drivers/BME680/bme680.c **** 		}
 | 
						
						
						
						
							 | 
							
								 | 
							
							1108:Drivers/BME680/bme680.c **** 		/* Check if value is above maximum value */
 | 
						
						
						
						
							 | 
							
								 | 
							
							1109:Drivers/BME680/bme680.c **** 		if (*value > max) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							1110:Drivers/BME680/bme680.c **** 			/* Auto correct the invalid value to maximum value */
 | 
						
						
						
						
							 | 
							
								 | 
							
							1111:Drivers/BME680/bme680.c **** 			*value = max;
 | 
						
						
						
						
							 | 
							
								 | 
							
							1112:Drivers/BME680/bme680.c **** 			dev->info_msg |= BME680_I_MAX_CORRECTION;
 | 
						
						
						
						
							 | 
							
								 | 
							
							1113:Drivers/BME680/bme680.c **** 		}
 | 
						
						
						
						
							 | 
							
								 | 
							
							1114:Drivers/BME680/bme680.c **** 	} else {
 | 
						
						
						
						
							 | 
							
								 | 
							
							1115:Drivers/BME680/bme680.c **** 		rslt = BME680_E_NULL_PTR;
 | 
						
						
						
						
							 | 
							
								 | 
							
							1116:Drivers/BME680/bme680.c **** 	}
 | 
						
						
						
						
							 | 
							
								 | 
							
							1117:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							1118:Drivers/BME680/bme680.c **** 	return rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							1119:Drivers/BME680/bme680.c **** }
 | 
						
						
						
						
							 | 
							
								 | 
							
							1120:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							1121:Drivers/BME680/bme680.c **** /*!
 | 
						
						
						
						
							 | 
							
								 | 
							
							1122:Drivers/BME680/bme680.c ****  * @brief This internal API is used to validate the device structure pointer for
 | 
						
						
						
						
							 | 
							
								 | 
							
							1123:Drivers/BME680/bme680.c ****  * null conditions.
 | 
						
						
						
						
							 | 
							
								 | 
							
							1124:Drivers/BME680/bme680.c ****  */
 | 
						
						
						
						
							 | 
							
								 | 
							
							1125:Drivers/BME680/bme680.c **** static int8_t null_ptr_check(const struct bme680_dev *dev)
 | 
						
						
						
						
							 | 
							
								 | 
							
							1126:Drivers/BME680/bme680.c **** {
 | 
						
						
						
						
							 | 
							
								 | 
							
							1127:Drivers/BME680/bme680.c **** 	int8_t rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							1128:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							1129:Drivers/BME680/bme680.c **** 	if ((dev == NULL) || (dev->read == NULL) || (dev->write == NULL) || (dev->delay_ms == NULL)) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							  43              		.loc 1 1129 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							  44 0006 33D0     		beq	.L4
 | 
						
						
						
						
							 | 
							
								 | 
							
							  45 0008 8D6C     		ldr	r5, [r1, #72]
 | 
						
						
						
						
							 | 
							
								 | 
							
							  46 000a 002D     		cmp	r5, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							  47 000c 33D0     		beq	.L5
 | 
						
						
						
						
							 | 
							
								 | 
							
							  48 000e CB6C     		ldr	r3, [r1, #76]
 | 
						
						
						
						
							 | 
							
								 | 
							
							  49 0010 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							  50 0012 33D0     		beq	.L6
 | 
						
						
						
						
							 | 
							
								 | 
							
							  51 0014 0B6D     		ldr	r3, [r1, #80]
 | 
						
						
						
						
							 | 
							
								 | 
							
							  52 0016 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							  53 0018 33D0     		beq	.L7
 | 
						
						
						
						
							 | 
							
								 | 
							
							  54              	.LVL2:
 | 
						
						
						
						
							 | 
							
								 | 
							
							  55              	.LBE52:
 | 
						
						
						
						
							 | 
							
								 | 
							
							  56              	.LBE51:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1045:Drivers/BME680/bme680.c **** 			mem_page = BME680_MEM_PAGE1;
 | 
						
						
						
						
							 | 
							
								 | 
							
							  57              		.loc 1 1045 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							  58 001a 40B2     		sxtb	r0, r0
 | 
						
						
						
						
							 | 
							
								 | 
							
							  59 001c 0028     		cmp	r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							  60 001e 25DB     		blt	.L12
 | 
						
						
						
						
							 | 
							
								 | 
							
							1048:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							  61              		.loc 1 1048 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							  62 0020 1023     		movs	r3, #16
 | 
						
						
						
						
							 | 
							
								 | 
							
							  63              	.L3:
 | 
						
						
						
						
							 | 
							
								 | 
							
							  64              	.LVL3:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1050:Drivers/BME680/bme680.c **** 			dev->mem_page = mem_page;
 | 
						
						
						
						
							 | 
							
								 | 
							
							  65              		.loc 1 1050 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							  66 0022 E278     		ldrb	r2, [r4, #3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 22
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							  67 0024 9A42     		cmp	r2, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							  68 0026 2FD0     		beq	.L9
 | 
						
						
						
						
							 | 
							
								 | 
							
							1051:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							  69              		.loc 1 1051 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							  70 0028 E370     		strb	r3, [r4, #3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							1053:Drivers/BME680/bme680.c **** 			if (dev->com_rslt != 0)
 | 
						
						
						
						
							 | 
							
								 | 
							
							  71              		.loc 1 1053 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							  72 002a 6078     		ldrb	r0, [r4, #1]
 | 
						
						
						
						
							 | 
							
								 | 
							
							  73              	.LVL4:
 | 
						
						
						
						
							 | 
							
								 | 
							
							  74 002c 0123     		movs	r3, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							  75              	.LVL5:
 | 
						
						
						
						
							 | 
							
								 | 
							
							  76 002e 6A46     		mov	r2, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							  77 0030 0732     		adds	r2, r2, #7
 | 
						
						
						
						
							 | 
							
								 | 
							
							  78 0032 F321     		movs	r1, #243
 | 
						
						
						
						
							 | 
							
								 | 
							
							  79              	.LVL6:
 | 
						
						
						
						
							 | 
							
								 | 
							
							  80 0034 A847     		blx	r5
 | 
						
						
						
						
							 | 
							
								 | 
							
							  81              	.LVL7:
 | 
						
						
						
						
							 | 
							
								 | 
							
							  82 0036 5423     		movs	r3, #84
 | 
						
						
						
						
							 | 
							
								 | 
							
							  83 0038 E054     		strb	r0, [r4, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							1054:Drivers/BME680/bme680.c **** 				rslt = BME680_E_COM_FAIL;
 | 
						
						
						
						
							 | 
							
								 | 
							
							  84              		.loc 1 1054 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							  85 003a 0028     		cmp	r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							  86 003c 26D1     		bne	.L10
 | 
						
						
						
						
							 | 
							
								 | 
							
							  87              	.LVL8:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1058:Drivers/BME680/bme680.c **** 				reg = reg | (dev->mem_page & BME680_MEM_PAGE_MSK);
 | 
						
						
						
						
							 | 
							
								 | 
							
							  88              		.loc 1 1058 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							  89 003e 6B46     		mov	r3, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							  90 0040 DA1D     		adds	r2, r3, #7
 | 
						
						
						
						
							 | 
							
								 | 
							
							  91 0042 1378     		ldrb	r3, [r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							  92 0044 1021     		movs	r1, #16
 | 
						
						
						
						
							 | 
							
								 | 
							
							  93 0046 8B43     		bics	r3, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							  94 0048 1900     		movs	r1, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							1059:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							  95              		.loc 1 1059 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							  96 004a 0320     		movs	r0, #3
 | 
						
						
						
						
							 | 
							
								 | 
							
							  97 004c 2056     		ldrsb	r0, [r4, r0]
 | 
						
						
						
						
							 | 
							
								 | 
							
							  98 004e 1023     		movs	r3, #16
 | 
						
						
						
						
							 | 
							
								 | 
							
							  99 0050 0340     		ands	r3, r0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 100 0052 0B43     		orrs	r3, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 101 0054 1370     		strb	r3, [r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							1061:Drivers/BME680/bme680.c **** 					®, 1);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 102              		.loc 1 1061 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 103 0056 6078     		ldrb	r0, [r4, #1]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 104 0058 0123     		movs	r3, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 105 005a 7321     		movs	r1, #115
 | 
						
						
						
						
							 | 
							
								 | 
							
							 106 005c E56C     		ldr	r5, [r4, #76]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 107 005e A847     		blx	r5
 | 
						
						
						
						
							 | 
							
								 | 
							
							 108              	.LVL9:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 109 0060 5422     		movs	r2, #84
 | 
						
						
						
						
							 | 
							
								 | 
							
							 110 0062 A054     		strb	r0, [r4, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							1063:Drivers/BME680/bme680.c **** 					rslt = BME680_E_COM_FAIL;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 111              		.loc 1 1063 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 112 0064 0028     		cmp	r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 113 0066 14D1     		bne	.L13
 | 
						
						
						
						
							 | 
							
								 | 
							
							 114              	.LVL10:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 115              	.L2:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1070:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 23
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 116              		.loc 1 1070 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 117 0068 03B0     		add	sp, sp, #12
 | 
						
						
						
						
							 | 
							
								 | 
							
							 118              		@ sp needed
 | 
						
						
						
						
							 | 
							
								 | 
							
							 119              	.LVL11:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 120 006a 30BD     		pop	{r4, r5, pc}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 121              	.LVL12:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 122              	.L12:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1046:Drivers/BME680/bme680.c **** 		else
 | 
						
						
						
						
							 | 
							
								 | 
							
							 123              		.loc 1 1046 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 124 006c 0023     		movs	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 125 006e D8E7     		b	.L3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 126              	.LVL13:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 127              	.L4:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 128              	.LBB54:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 129              	.LBB53:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1130:Drivers/BME680/bme680.c **** 		/* Device structure pointer is not valid */
 | 
						
						
						
						
							 | 
							
								 | 
							
							1131:Drivers/BME680/bme680.c **** 		rslt = BME680_E_NULL_PTR;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 130              		.loc 1 1131 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 131 0070 0120     		movs	r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 132              	.LVL14:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 133 0072 4042     		rsbs	r0, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 134 0074 F8E7     		b	.L2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 135              	.LVL15:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 136              	.L5:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 137 0076 0120     		movs	r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 138              	.LVL16:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 139 0078 4042     		rsbs	r0, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 140 007a F5E7     		b	.L2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 141              	.LVL17:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 142              	.L6:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 143 007c 0120     		movs	r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 144              	.LVL18:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 145 007e 4042     		rsbs	r0, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 146 0080 F2E7     		b	.L2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 147              	.LVL19:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 148              	.L7:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 149 0082 0120     		movs	r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 150              	.LVL20:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 151 0084 4042     		rsbs	r0, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 152 0086 EFE7     		b	.L2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 153              	.LVL21:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 154              	.L9:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1132:Drivers/BME680/bme680.c **** 	} else {
 | 
						
						
						
						
							 | 
							
								 | 
							
							1133:Drivers/BME680/bme680.c **** 		/* Device structure is fine */
 | 
						
						
						
						
							 | 
							
								 | 
							
							1134:Drivers/BME680/bme680.c **** 		rslt = BME680_OK;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 155              		.loc 1 1134 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 156 0088 0020     		movs	r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 157 008a EDE7     		b	.L2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 158              	.LVL22:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 159              	.L10:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 160              	.LBE53:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 161              	.LBE54:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1055:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 162              		.loc 1 1055 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 163 008c 0220     		movs	r0, #2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 164 008e 4042     		rsbs	r0, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 165 0090 EAE7     		b	.L2
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 24
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 166              	.LVL23:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 167              	.L13:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1064:Drivers/BME680/bme680.c **** 			}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 168              		.loc 1 1064 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 169 0092 0220     		movs	r0, #2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 170 0094 4042     		rsbs	r0, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 171 0096 E7E7     		b	.L2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 172              		.cfi_endproc
 | 
						
						
						
						
							 | 
							
								 | 
							
							 173              	.LFE21:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 175              		.section	.text.get_mem_page,"ax",%progbits
 | 
						
						
						
						
							 | 
							
								 | 
							
							 176              		.align	1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 177              		.syntax unified
 | 
						
						
						
						
							 | 
							
								 | 
							
							 178              		.code	16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 179              		.thumb_func
 | 
						
						
						
						
							 | 
							
								 | 
							
							 180              		.fpu softvfp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 182              	get_mem_page:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 183              	.LFB22:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1076:Drivers/BME680/bme680.c **** 	int8_t rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 184              		.loc 1 1076 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 185              		.cfi_startproc
 | 
						
						
						
						
							 | 
							
								 | 
							
							 186              		@ args = 0, pretend = 0, frame = 8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 187              		@ frame_needed = 0, uses_anonymous_args = 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 188              	.LVL24:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 189 0000 30B5     		push	{r4, r5, lr}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 190              	.LCFI2:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 191              		.cfi_def_cfa_offset 12
 | 
						
						
						
						
							 | 
							
								 | 
							
							 192              		.cfi_offset 4, -12
 | 
						
						
						
						
							 | 
							
								 | 
							
							 193              		.cfi_offset 5, -8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 194              		.cfi_offset 14, -4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 195 0002 83B0     		sub	sp, sp, #12
 | 
						
						
						
						
							 | 
							
								 | 
							
							 196              	.LCFI3:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 197              		.cfi_def_cfa_offset 24
 | 
						
						
						
						
							 | 
							
								 | 
							
							 198 0004 041E     		subs	r4, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 199              	.LVL25:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 200              	.LBB55:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 201              	.LBB56:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1129:Drivers/BME680/bme680.c **** 		/* Device structure pointer is not valid */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 202              		.loc 1 1129 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 203 0006 19D0     		beq	.L16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 204 0008 856C     		ldr	r5, [r0, #72]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 205 000a 002D     		cmp	r5, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 206 000c 19D0     		beq	.L17
 | 
						
						
						
						
							 | 
							
								 | 
							
							 207 000e C36C     		ldr	r3, [r0, #76]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 208 0010 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 209 0012 19D0     		beq	.L18
 | 
						
						
						
						
							 | 
							
								 | 
							
							 210 0014 036D     		ldr	r3, [r0, #80]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 211 0016 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 212 0018 19D0     		beq	.L19
 | 
						
						
						
						
							 | 
							
								 | 
							
							 213              	.LVL26:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 214              	.LBE56:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 215              	.LBE55:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1083:Drivers/BME680/bme680.c **** 		if (dev->com_rslt != 0)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 216              		.loc 1 1083 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 217 001a 4078     		ldrb	r0, [r0, #1]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 218              	.LVL27:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 219 001c 0123     		movs	r3, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 220 001e 6A46     		mov	r2, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 25
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 221 0020 0732     		adds	r2, r2, #7
 | 
						
						
						
						
							 | 
							
								 | 
							
							 222 0022 F321     		movs	r1, #243
 | 
						
						
						
						
							 | 
							
								 | 
							
							 223 0024 A847     		blx	r5
 | 
						
						
						
						
							 | 
							
								 | 
							
							 224              	.LVL28:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 225 0026 5422     		movs	r2, #84
 | 
						
						
						
						
							 | 
							
								 | 
							
							 226 0028 A054     		strb	r0, [r4, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							1084:Drivers/BME680/bme680.c **** 			rslt = BME680_E_COM_FAIL;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 227              		.loc 1 1084 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 228 002a 0028     		cmp	r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 229 002c 12D1     		bne	.L20
 | 
						
						
						
						
							 | 
							
								 | 
							
							1087:Drivers/BME680/bme680.c **** 	}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 230              		.loc 1 1087 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 231 002e 6B46     		mov	r3, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 232 0030 DA79     		ldrb	r2, [r3, #7]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 233 0032 1023     		movs	r3, #16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 234 0034 1340     		ands	r3, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 235 0036 E370     		strb	r3, [r4, #3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 236              	.L15:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 237              	.LVL29:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1091:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 238              		.loc 1 1091 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 239 0038 03B0     		add	sp, sp, #12
 | 
						
						
						
						
							 | 
							
								 | 
							
							 240              		@ sp needed
 | 
						
						
						
						
							 | 
							
								 | 
							
							 241              	.LVL30:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 242 003a 30BD     		pop	{r4, r5, pc}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 243              	.LVL31:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 244              	.L16:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 245              	.LBB58:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 246              	.LBB57:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1131:Drivers/BME680/bme680.c **** 	} else {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 247              		.loc 1 1131 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 248 003c 0120     		movs	r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 249              	.LVL32:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 250 003e 4042     		rsbs	r0, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 251 0040 FAE7     		b	.L15
 | 
						
						
						
						
							 | 
							
								 | 
							
							 252              	.LVL33:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 253              	.L17:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 254 0042 0120     		movs	r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 255              	.LVL34:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 256 0044 4042     		rsbs	r0, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 257 0046 F7E7     		b	.L15
 | 
						
						
						
						
							 | 
							
								 | 
							
							 258              	.LVL35:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 259              	.L18:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 260 0048 0120     		movs	r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 261              	.LVL36:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 262 004a 4042     		rsbs	r0, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 263 004c F4E7     		b	.L15
 | 
						
						
						
						
							 | 
							
								 | 
							
							 264              	.LVL37:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 265              	.L19:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 266 004e 0120     		movs	r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 267              	.LVL38:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 268 0050 4042     		rsbs	r0, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 269 0052 F1E7     		b	.L15
 | 
						
						
						
						
							 | 
							
								 | 
							
							 270              	.LVL39:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 271              	.L20:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 272              	.LBE57:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 273              	.LBE58:
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 26
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							1085:Drivers/BME680/bme680.c **** 		else
 | 
						
						
						
						
							 | 
							
								 | 
							
							 274              		.loc 1 1085 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 275 0054 0220     		movs	r0, #2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 276 0056 4042     		rsbs	r0, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 277 0058 EEE7     		b	.L15
 | 
						
						
						
						
							 | 
							
								 | 
							
							 278              		.cfi_endproc
 | 
						
						
						
						
							 | 
							
								 | 
							
							 279              	.LFE22:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 281              		.section	.text.bme680_get_regs,"ax",%progbits
 | 
						
						
						
						
							 | 
							
								 | 
							
							 282              		.align	1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 283              		.global	bme680_get_regs
 | 
						
						
						
						
							 | 
							
								 | 
							
							 284              		.syntax unified
 | 
						
						
						
						
							 | 
							
								 | 
							
							 285              		.code	16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 286              		.thumb_func
 | 
						
						
						
						
							 | 
							
								 | 
							
							 287              		.fpu softvfp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 289              	bme680_get_regs:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 290              	.LFB1:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 265:Drivers/BME680/bme680.c **** 	int8_t rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 291              		.loc 1 265 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 292              		.cfi_startproc
 | 
						
						
						
						
							 | 
							
								 | 
							
							 293              		@ args = 0, pretend = 0, frame = 8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 294              		@ frame_needed = 0, uses_anonymous_args = 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 295              	.LVL40:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 296 0000 F0B5     		push	{r4, r5, r6, r7, lr}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 297              	.LCFI4:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 298              		.cfi_def_cfa_offset 20
 | 
						
						
						
						
							 | 
							
								 | 
							
							 299              		.cfi_offset 4, -20
 | 
						
						
						
						
							 | 
							
								 | 
							
							 300              		.cfi_offset 5, -16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 301              		.cfi_offset 6, -12
 | 
						
						
						
						
							 | 
							
								 | 
							
							 302              		.cfi_offset 7, -8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 303              		.cfi_offset 14, -4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 304 0002 83B0     		sub	sp, sp, #12
 | 
						
						
						
						
							 | 
							
								 | 
							
							 305              	.LCFI5:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 306              		.cfi_def_cfa_offset 32
 | 
						
						
						
						
							 | 
							
								 | 
							
							 307 0004 0500     		movs	r5, r0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 308 0006 0191     		str	r1, [sp, #4]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 309 0008 1700     		movs	r7, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 310 000a 1E1E     		subs	r6, r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 311              	.LVL41:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 312              	.LBB59:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 313              	.LBB60:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1129:Drivers/BME680/bme680.c **** 		/* Device structure pointer is not valid */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 314              		.loc 1 1129 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 315 000c 23D0     		beq	.L24
 | 
						
						
						
						
							 | 
							
								 | 
							
							 316 000e 9B6C     		ldr	r3, [r3, #72]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 317              	.LVL42:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 318 0010 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 319 0012 23D0     		beq	.L25
 | 
						
						
						
						
							 | 
							
								 | 
							
							 320 0014 F36C     		ldr	r3, [r6, #76]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 321 0016 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 322 0018 23D0     		beq	.L26
 | 
						
						
						
						
							 | 
							
								 | 
							
							 323 001a 336D     		ldr	r3, [r6, #80]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 324 001c 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 325 001e 23D0     		beq	.L27
 | 
						
						
						
						
							 | 
							
								 | 
							
							 326              	.LVL43:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 327              	.LBE60:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 328              	.LBE59:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 271:Drivers/BME680/bme680.c **** 			/* Set the memory page */
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 27
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 329              		.loc 1 271 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 330 0020 B378     		ldrb	r3, [r6, #2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 331 0022 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 332 0024 0DD0     		beq	.L30
 | 
						
						
						
						
							 | 
							
								 | 
							
							 333              	.LBB63:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 334              	.LBB61:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 335              		.loc 1 1134 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 336 0026 0024     		movs	r4, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 337              	.LVL44:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 338              	.L23:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 339              	.LBE61:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 340              	.LBE63:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 277:Drivers/BME680/bme680.c **** 		if (dev->com_rslt != 0)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 341              		.loc 1 277 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 342 0028 7078     		ldrb	r0, [r6, #1]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 343 002a 3B00     		movs	r3, r7
 | 
						
						
						
						
							 | 
							
								 | 
							
							 344 002c 019A     		ldr	r2, [sp, #4]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 345 002e 2900     		movs	r1, r5
 | 
						
						
						
						
							 | 
							
								 | 
							
							 346 0030 B56C     		ldr	r5, [r6, #72]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 347              	.LVL45:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 348 0032 A847     		blx	r5
 | 
						
						
						
						
							 | 
							
								 | 
							
							 349              	.LVL46:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 350 0034 5423     		movs	r3, #84
 | 
						
						
						
						
							 | 
							
								 | 
							
							 351 0036 F054     		strb	r0, [r6, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 278:Drivers/BME680/bme680.c **** 			rslt = BME680_E_COM_FAIL;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 352              		.loc 1 278 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 353 0038 0028     		cmp	r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 354 003a 18D1     		bne	.L31
 | 
						
						
						
						
							 | 
							
								 | 
							
							 355              	.LVL47:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 356              	.L22:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 283:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 357              		.loc 1 283 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 358 003c 2000     		movs	r0, r4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 359 003e 03B0     		add	sp, sp, #12
 | 
						
						
						
						
							 | 
							
								 | 
							
							 360              		@ sp needed
 | 
						
						
						
						
							 | 
							
								 | 
							
							 361              	.LVL48:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 362              	.LVL49:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 363 0040 F0BD     		pop	{r4, r5, r6, r7, pc}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 364              	.LVL50:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 365              	.L30:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 273:Drivers/BME680/bme680.c **** 			if (rslt == BME680_OK)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 366              		.loc 1 273 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 367 0042 3100     		movs	r1, r6
 | 
						
						
						
						
							 | 
							
								 | 
							
							 368              	.LVL51:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 369 0044 FFF7FEFF 		bl	set_mem_page
 | 
						
						
						
						
							 | 
							
								 | 
							
							 370              	.LVL52:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 371 0048 041E     		subs	r4, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 372              	.LVL53:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 274:Drivers/BME680/bme680.c **** 				reg_addr = reg_addr | BME680_SPI_RD_MSK;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 373              		.loc 1 274 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 374 004a EDD1     		bne	.L23
 | 
						
						
						
						
							 | 
							
								 | 
							
							 275:Drivers/BME680/bme680.c **** 		}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 375              		.loc 1 275 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 376 004c 8023     		movs	r3, #128
 | 
						
						
						
						
							 | 
							
								 | 
							
							 377 004e 5B42     		rsbs	r3, r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 378 0050 1D43     		orrs	r5, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 379 0052 EDB2     		uxtb	r5, r5
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 28
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 380              	.LVL54:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 381 0054 E8E7     		b	.L23
 | 
						
						
						
						
							 | 
							
								 | 
							
							 382              	.LVL55:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 383              	.L24:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 384              	.LBB64:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 385              	.LBB62:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1131:Drivers/BME680/bme680.c **** 	} else {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 386              		.loc 1 1131 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 387 0056 0124     		movs	r4, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 388 0058 6442     		rsbs	r4, r4, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 389 005a EFE7     		b	.L22
 | 
						
						
						
						
							 | 
							
								 | 
							
							 390              	.LVL56:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 391              	.L25:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 392 005c 0124     		movs	r4, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 393 005e 6442     		rsbs	r4, r4, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 394 0060 ECE7     		b	.L22
 | 
						
						
						
						
							 | 
							
								 | 
							
							 395              	.L26:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 396 0062 0124     		movs	r4, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 397 0064 6442     		rsbs	r4, r4, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 398 0066 E9E7     		b	.L22
 | 
						
						
						
						
							 | 
							
								 | 
							
							 399              	.L27:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 400 0068 0124     		movs	r4, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 401 006a 6442     		rsbs	r4, r4, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 402 006c E6E7     		b	.L22
 | 
						
						
						
						
							 | 
							
								 | 
							
							 403              	.LVL57:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 404              	.L31:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 405              	.LBE62:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 406              	.LBE64:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 279:Drivers/BME680/bme680.c **** 	}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 407              		.loc 1 279 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 408 006e 0224     		movs	r4, #2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 409              	.LVL58:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 410 0070 6442     		rsbs	r4, r4, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 411 0072 E3E7     		b	.L22
 | 
						
						
						
						
							 | 
							
								 | 
							
							 412              		.cfi_endproc
 | 
						
						
						
						
							 | 
							
								 | 
							
							 413              	.LFE1:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 415              		.section	.text.bme680_set_regs,"ax",%progbits
 | 
						
						
						
						
							 | 
							
								 | 
							
							 416              		.align	1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 417              		.global	bme680_set_regs
 | 
						
						
						
						
							 | 
							
								 | 
							
							 418              		.syntax unified
 | 
						
						
						
						
							 | 
							
								 | 
							
							 419              		.code	16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 420              		.thumb_func
 | 
						
						
						
						
							 | 
							
								 | 
							
							 421              		.fpu softvfp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 423              	bme680_set_regs:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 424              	.LFB2:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 290:Drivers/BME680/bme680.c **** 	int8_t rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 425              		.loc 1 290 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 426              		.cfi_startproc
 | 
						
						
						
						
							 | 
							
								 | 
							
							 427              		@ args = 0, pretend = 0, frame = 48
 | 
						
						
						
						
							 | 
							
								 | 
							
							 428              		@ frame_needed = 0, uses_anonymous_args = 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 429              	.LVL59:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 430 0000 F0B5     		push	{r4, r5, r6, r7, lr}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 431              	.LCFI6:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 432              		.cfi_def_cfa_offset 20
 | 
						
						
						
						
							 | 
							
								 | 
							
							 433              		.cfi_offset 4, -20
 | 
						
						
						
						
							 | 
							
								 | 
							
							 434              		.cfi_offset 5, -16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 435              		.cfi_offset 6, -12
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 29
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 436              		.cfi_offset 7, -8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 437              		.cfi_offset 14, -4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 438 0002 D646     		mov	lr, r10
 | 
						
						
						
						
							 | 
							
								 | 
							
							 439 0004 00B5     		push	{lr}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 440              	.LCFI7:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 441              		.cfi_def_cfa_offset 24
 | 
						
						
						
						
							 | 
							
								 | 
							
							 442              		.cfi_offset 10, -24
 | 
						
						
						
						
							 | 
							
								 | 
							
							 443 0006 8CB0     		sub	sp, sp, #48
 | 
						
						
						
						
							 | 
							
								 | 
							
							 444              	.LCFI8:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 445              		.cfi_def_cfa_offset 72
 | 
						
						
						
						
							 | 
							
								 | 
							
							 446 0008 0500     		movs	r5, r0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 447 000a 0E00     		movs	r6, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 448 000c 1400     		movs	r4, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 449 000e 0092     		str	r2, [sp]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 450 0010 1F00     		movs	r7, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 293:Drivers/BME680/bme680.c **** 	uint16_t index;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 451              		.loc 1 293 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 452 0012 2822     		movs	r2, #40
 | 
						
						
						
						
							 | 
							
								 | 
							
							 453              	.LVL60:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 454 0014 0021     		movs	r1, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 455              	.LVL61:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 456 0016 02A8     		add	r0, sp, #8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 457              	.LVL62:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 458 0018 FFF7FEFF 		bl	memset
 | 
						
						
						
						
							 | 
							
								 | 
							
							 459              	.LVL63:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 460              	.LBB65:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 461              	.LBB66:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1129:Drivers/BME680/bme680.c **** 		/* Device structure pointer is not valid */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 462              		.loc 1 1129 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 463 001c 002F     		cmp	r7, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 464 001e 4AD0     		beq	.L38
 | 
						
						
						
						
							 | 
							
								 | 
							
							 465 0020 BB6C     		ldr	r3, [r7, #72]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 466 0022 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 467 0024 4BD0     		beq	.L39
 | 
						
						
						
						
							 | 
							
								 | 
							
							 468 0026 FB6C     		ldr	r3, [r7, #76]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 469 0028 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 470 002a 4CD0     		beq	.L40
 | 
						
						
						
						
							 | 
							
								 | 
							
							 471 002c 3B6D     		ldr	r3, [r7, #80]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 472 002e 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 473 0030 4DD0     		beq	.L41
 | 
						
						
						
						
							 | 
							
								 | 
							
							 474              	.LVL64:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 475              	.LBE66:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 476              	.LBE65:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 299:Drivers/BME680/bme680.c **** 			/* Interleave the 2 arrays */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 477              		.loc 1 299 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 478 0032 631E     		subs	r3, r4, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 479 0034 DBB2     		uxtb	r3, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 480 0036 122B     		cmp	r3, #18
 | 
						
						
						
						
							 | 
							
								 | 
							
							 481 0038 03D8     		bhi	.L44
 | 
						
						
						
						
							 | 
							
								 | 
							
							 301:Drivers/BME680/bme680.c **** 				if (dev->intf == BME680_SPI_INTF) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 482              		.loc 1 301 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 483 003a 0024     		movs	r4, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 484              	.LBB69:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 485              	.LBB67:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 486              		.loc 1 1134 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 487 003c 0023     		movs	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 488 003e 0193     		str	r3, [sp, #4]
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 30
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 489 0040 18E0     		b	.L34
 | 
						
						
						
						
							 | 
							
								 | 
							
							 490              	.L44:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 491              	.LBE67:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 492              	.LBE69:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 318:Drivers/BME680/bme680.c **** 		}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 493              		.loc 1 318 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 494 0042 0423     		movs	r3, #4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 495 0044 5B42     		rsbs	r3, r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 496 0046 0193     		str	r3, [sp, #4]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 497 0048 30E0     		b	.L33
 | 
						
						
						
						
							 | 
							
								 | 
							
							 498              	.LVL65:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 499              	.L46:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 304:Drivers/BME680/bme680.c **** 					tmp_buff[(2 * index)] = reg_addr[index] & BME680_SPI_WR_MSK;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 500              		.loc 1 304 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 501 004a 2B19     		adds	r3, r5, r4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 502 004c 9A46     		mov	r10, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 503 004e 1878     		ldrb	r0, [r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 504 0050 3900     		movs	r1, r7
 | 
						
						
						
						
							 | 
							
								 | 
							
							 505 0052 FFF7FEFF 		bl	set_mem_page
 | 
						
						
						
						
							 | 
							
								 | 
							
							 506              	.LVL66:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 507 0056 0190     		str	r0, [sp, #4]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 508              	.LVL67:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 305:Drivers/BME680/bme680.c **** 				} else {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 509              		.loc 1 305 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 510 0058 6300     		lsls	r3, r4, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 511 005a 5246     		mov	r2, r10
 | 
						
						
						
						
							 | 
							
								 | 
							
							 512 005c 1178     		ldrb	r1, [r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 513 005e 7F22     		movs	r2, #127
 | 
						
						
						
						
							 | 
							
								 | 
							
							 514 0060 0A40     		ands	r2, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 515 0062 02A9     		add	r1, sp, #8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 516 0064 CA54     		strb	r2, [r1, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 517              	.LVL68:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 518              	.L36:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 309:Drivers/BME680/bme680.c **** 			}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 519              		.loc 1 309 0 discriminator 2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 520 0066 6300     		lsls	r3, r4, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 521 0068 0133     		adds	r3, r3, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 522 006a 325D     		ldrb	r2, [r6, r4]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 523 006c 02A9     		add	r1, sp, #8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 524 006e CA54     		strb	r2, [r1, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 301:Drivers/BME680/bme680.c **** 				if (dev->intf == BME680_SPI_INTF) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 525              		.loc 1 301 0 discriminator 2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 526 0070 0134     		adds	r4, r4, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 527              	.LVL69:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 528 0072 A4B2     		uxth	r4, r4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 529              	.LVL70:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 530              	.L34:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 301:Drivers/BME680/bme680.c **** 				if (dev->intf == BME680_SPI_INTF) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 531              		.loc 1 301 0 is_stmt 0 discriminator 1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 532 0074 6B46     		mov	r3, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 533 0076 1B88     		ldrh	r3, [r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 534 0078 A342     		cmp	r3, r4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 535 007a 07D9     		bls	.L45
 | 
						
						
						
						
							 | 
							
								 | 
							
							 302:Drivers/BME680/bme680.c **** 					/* Set the memory page */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 536              		.loc 1 302 0 is_stmt 1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 537 007c BB78     		ldrb	r3, [r7, #2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 538 007e 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 31
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 539 0080 E3D0     		beq	.L46
 | 
						
						
						
						
							 | 
							
								 | 
							
							 307:Drivers/BME680/bme680.c **** 				}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 540              		.loc 1 307 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 541 0082 6300     		lsls	r3, r4, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 542 0084 2A5D     		ldrb	r2, [r5, r4]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 543 0086 02A9     		add	r1, sp, #8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 544 0088 CA54     		strb	r2, [r1, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 545 008a ECE7     		b	.L36
 | 
						
						
						
						
							 | 
							
								 | 
							
							 546              	.L45:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 312:Drivers/BME680/bme680.c **** 				dev->com_rslt = dev->write(dev->dev_id, tmp_buff[0], &tmp_buff[1], (2 * len) - 1);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 547              		.loc 1 312 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 548 008c 019A     		ldr	r2, [sp, #4]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 549 008e 002A     		cmp	r2, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 550 0090 0CD1     		bne	.L33
 | 
						
						
						
						
							 | 
							
								 | 
							
							 313:Drivers/BME680/bme680.c **** 				if (dev->com_rslt != 0)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 551              		.loc 1 313 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 552 0092 5B00     		lsls	r3, r3, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 553 0094 013B     		subs	r3, r3, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 554 0096 9BB2     		uxth	r3, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 555 0098 02AA     		add	r2, sp, #8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 556 009a 1178     		ldrb	r1, [r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 557 009c 7878     		ldrb	r0, [r7, #1]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 558 009e 0132     		adds	r2, r2, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 559 00a0 FC6C     		ldr	r4, [r7, #76]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 560              	.LVL71:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 561 00a2 A047     		blx	r4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 562              	.LVL72:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 563 00a4 5423     		movs	r3, #84
 | 
						
						
						
						
							 | 
							
								 | 
							
							 564 00a6 F854     		strb	r0, [r7, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 314:Drivers/BME680/bme680.c **** 					rslt = BME680_E_COM_FAIL;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 565              		.loc 1 314 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 566 00a8 0028     		cmp	r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 567 00aa 14D1     		bne	.L47
 | 
						
						
						
						
							 | 
							
								 | 
							
							 568              	.LVL73:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 569              	.L33:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 323:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 570              		.loc 1 323 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 571 00ac 0198     		ldr	r0, [sp, #4]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 572 00ae 0CB0     		add	sp, sp, #48
 | 
						
						
						
						
							 | 
							
								 | 
							
							 573              		@ sp needed
 | 
						
						
						
						
							 | 
							
								 | 
							
							 574              	.LVL74:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 575              	.LVL75:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 576              	.LVL76:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 577 00b0 04BC     		pop	{r2}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 578 00b2 9246     		mov	r10, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 579 00b4 F0BD     		pop	{r4, r5, r6, r7, pc}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 580              	.LVL77:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 581              	.L38:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 582              	.LBB70:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 583              	.LBB68:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1131:Drivers/BME680/bme680.c **** 	} else {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 584              		.loc 1 1131 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 585 00b6 0123     		movs	r3, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 586 00b8 5B42     		rsbs	r3, r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 587 00ba 0193     		str	r3, [sp, #4]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 588 00bc F6E7     		b	.L33
 | 
						
						
						
						
							 | 
							
								 | 
							
							 589              	.L39:
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 32
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 590 00be 0123     		movs	r3, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 591 00c0 5B42     		rsbs	r3, r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 592 00c2 0193     		str	r3, [sp, #4]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 593 00c4 F2E7     		b	.L33
 | 
						
						
						
						
							 | 
							
								 | 
							
							 594              	.L40:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 595 00c6 0123     		movs	r3, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 596 00c8 5B42     		rsbs	r3, r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 597 00ca 0193     		str	r3, [sp, #4]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 598 00cc EEE7     		b	.L33
 | 
						
						
						
						
							 | 
							
								 | 
							
							 599              	.L41:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 600 00ce 0123     		movs	r3, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 601 00d0 5B42     		rsbs	r3, r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 602 00d2 0193     		str	r3, [sp, #4]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 603 00d4 EAE7     		b	.L33
 | 
						
						
						
						
							 | 
							
								 | 
							
							 604              	.LVL78:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 605              	.L47:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 606              	.LBE68:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 607              	.LBE70:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 315:Drivers/BME680/bme680.c **** 			}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 608              		.loc 1 315 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 609 00d6 0223     		movs	r3, #2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 610 00d8 5B42     		rsbs	r3, r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 611 00da 0193     		str	r3, [sp, #4]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 612              	.LVL79:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 613 00dc E6E7     		b	.L33
 | 
						
						
						
						
							 | 
							
								 | 
							
							 614              		.cfi_endproc
 | 
						
						
						
						
							 | 
							
								 | 
							
							 615              	.LFE2:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 617              		.section	.text.bme680_soft_reset,"ax",%progbits
 | 
						
						
						
						
							 | 
							
								 | 
							
							 618              		.align	1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 619              		.global	bme680_soft_reset
 | 
						
						
						
						
							 | 
							
								 | 
							
							 620              		.syntax unified
 | 
						
						
						
						
							 | 
							
								 | 
							
							 621              		.code	16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 622              		.thumb_func
 | 
						
						
						
						
							 | 
							
								 | 
							
							 623              		.fpu softvfp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 625              	bme680_soft_reset:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 626              	.LFB3:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 329:Drivers/BME680/bme680.c **** 	int8_t rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 627              		.loc 1 329 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 628              		.cfi_startproc
 | 
						
						
						
						
							 | 
							
								 | 
							
							 629              		@ args = 0, pretend = 0, frame = 8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 630              		@ frame_needed = 0, uses_anonymous_args = 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 631              	.LVL80:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 632 0000 30B5     		push	{r4, r5, lr}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 633              	.LCFI9:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 634              		.cfi_def_cfa_offset 12
 | 
						
						
						
						
							 | 
							
								 | 
							
							 635              		.cfi_offset 4, -12
 | 
						
						
						
						
							 | 
							
								 | 
							
							 636              		.cfi_offset 5, -8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 637              		.cfi_offset 14, -4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 638 0002 83B0     		sub	sp, sp, #12
 | 
						
						
						
						
							 | 
							
								 | 
							
							 639              	.LCFI10:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 640              		.cfi_def_cfa_offset 24
 | 
						
						
						
						
							 | 
							
								 | 
							
							 641 0004 0400     		movs	r4, r0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 331:Drivers/BME680/bme680.c **** 	/* 0xb6 is the soft reset command */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 642              		.loc 1 331 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 643 0006 6B46     		mov	r3, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 644 0008 E022     		movs	r2, #224
 | 
						
						
						
						
							 | 
							
								 | 
							
							 645 000a DA71     		strb	r2, [r3, #7]
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 33
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 333:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 646              		.loc 1 333 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 647 000c 6B46     		mov	r3, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 648 000e 2A3A     		subs	r2, r2, #42
 | 
						
						
						
						
							 | 
							
								 | 
							
							 649 0010 9A71     		strb	r2, [r3, #6]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 650              	.LVL81:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 651              	.LBB71:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 652              	.LBB72:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1129:Drivers/BME680/bme680.c **** 		/* Device structure pointer is not valid */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 653              		.loc 1 1129 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 654 0012 0028     		cmp	r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 655 0014 2BD0     		beq	.L51
 | 
						
						
						
						
							 | 
							
								 | 
							
							 656 0016 836C     		ldr	r3, [r0, #72]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 657 0018 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 658 001a 2BD0     		beq	.L52
 | 
						
						
						
						
							 | 
							
								 | 
							
							 659 001c C36C     		ldr	r3, [r0, #76]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 660 001e 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 661 0020 2BD0     		beq	.L53
 | 
						
						
						
						
							 | 
							
								 | 
							
							 662 0022 036D     		ldr	r3, [r0, #80]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 663 0024 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 664 0026 2BD0     		beq	.L54
 | 
						
						
						
						
							 | 
							
								 | 
							
							 665              	.LVL82:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 666              	.LBE72:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 667              	.LBE71:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 338:Drivers/BME680/bme680.c **** 			rslt = get_mem_page(dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 668              		.loc 1 338 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 669 0028 8378     		ldrb	r3, [r0, #2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 670 002a 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 671 002c 05D0     		beq	.L56
 | 
						
						
						
						
							 | 
							
								 | 
							
							 672              	.LBB75:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 673              	.LBB73:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 674              		.loc 1 1134 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 675 002e 0025     		movs	r5, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 676              	.LVL83:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 677              	.L50:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 678              	.LBE73:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 679              	.LBE75:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 342:Drivers/BME680/bme680.c **** 			rslt = bme680_set_regs(®_addr, &soft_rst_cmd, 1, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 680              		.loc 1 342 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 681 0030 002D     		cmp	r5, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 682 0032 06D0     		beq	.L57
 | 
						
						
						
						
							 | 
							
								 | 
							
							 683              	.LVL84:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 684              	.L49:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 356:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 685              		.loc 1 356 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 686 0034 2800     		movs	r0, r5
 | 
						
						
						
						
							 | 
							
								 | 
							
							 687 0036 03B0     		add	sp, sp, #12
 | 
						
						
						
						
							 | 
							
								 | 
							
							 688              		@ sp needed
 | 
						
						
						
						
							 | 
							
								 | 
							
							 689              	.LVL85:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 690              	.LVL86:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 691 0038 30BD     		pop	{r4, r5, pc}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 692              	.LVL87:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 693              	.L56:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 339:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 694              		.loc 1 339 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 695 003a FFF7FEFF 		bl	get_mem_page
 | 
						
						
						
						
							 | 
							
								 | 
							
							 696              	.LVL88:
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 34
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 697 003e 0500     		movs	r5, r0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 698              	.LVL89:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 699 0040 F6E7     		b	.L50
 | 
						
						
						
						
							 | 
							
								 | 
							
							 700              	.LVL90:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 701              	.L57:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 343:Drivers/BME680/bme680.c **** 			/* Wait for 5ms */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 702              		.loc 1 343 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 703 0042 2300     		movs	r3, r4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 704 0044 0122     		movs	r2, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 705 0046 6946     		mov	r1, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 706 0048 0631     		adds	r1, r1, #6
 | 
						
						
						
						
							 | 
							
								 | 
							
							 707 004a 6846     		mov	r0, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 708 004c 0730     		adds	r0, r0, #7
 | 
						
						
						
						
							 | 
							
								 | 
							
							 709 004e FFF7FEFF 		bl	bme680_set_regs
 | 
						
						
						
						
							 | 
							
								 | 
							
							 710              	.LVL91:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 711 0052 0500     		movs	r5, r0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 712              	.LVL92:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 345:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 713              		.loc 1 345 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 714 0054 0A20     		movs	r0, #10
 | 
						
						
						
						
							 | 
							
								 | 
							
							 715              	.LVL93:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 716 0056 236D     		ldr	r3, [r4, #80]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 717 0058 9847     		blx	r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 718              	.LVL94:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 347:Drivers/BME680/bme680.c **** 				/* After reset get the memory page */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 719              		.loc 1 347 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 720 005a 002D     		cmp	r5, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 721 005c EAD1     		bne	.L49
 | 
						
						
						
						
							 | 
							
								 | 
							
							 349:Drivers/BME680/bme680.c **** 					rslt = get_mem_page(dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 722              		.loc 1 349 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 723 005e A378     		ldrb	r3, [r4, #2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 724 0060 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 725 0062 E7D1     		bne	.L49
 | 
						
						
						
						
							 | 
							
								 | 
							
							 350:Drivers/BME680/bme680.c **** 			}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 726              		.loc 1 350 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 727 0064 2000     		movs	r0, r4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 728 0066 FFF7FEFF 		bl	get_mem_page
 | 
						
						
						
						
							 | 
							
								 | 
							
							 729              	.LVL95:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 730 006a 0500     		movs	r5, r0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 731              	.LVL96:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 732 006c E2E7     		b	.L49
 | 
						
						
						
						
							 | 
							
								 | 
							
							 733              	.LVL97:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 734              	.L51:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 735              	.LBB76:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 736              	.LBB74:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1131:Drivers/BME680/bme680.c **** 	} else {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 737              		.loc 1 1131 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 738 006e 0125     		movs	r5, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 739 0070 6D42     		rsbs	r5, r5, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 740 0072 DFE7     		b	.L49
 | 
						
						
						
						
							 | 
							
								 | 
							
							 741              	.L52:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 742 0074 0125     		movs	r5, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 743 0076 6D42     		rsbs	r5, r5, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 744 0078 DCE7     		b	.L49
 | 
						
						
						
						
							 | 
							
								 | 
							
							 745              	.L53:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 746 007a 0125     		movs	r5, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 747 007c 6D42     		rsbs	r5, r5, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 35
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 748 007e D9E7     		b	.L49
 | 
						
						
						
						
							 | 
							
								 | 
							
							 749              	.L54:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 750 0080 0125     		movs	r5, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 751 0082 6D42     		rsbs	r5, r5, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 752 0084 D6E7     		b	.L49
 | 
						
						
						
						
							 | 
							
								 | 
							
							 753              	.LBE74:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 754              	.LBE76:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 755              		.cfi_endproc
 | 
						
						
						
						
							 | 
							
								 | 
							
							 756              	.LFE3:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 758              		.section	.text.bme680_init,"ax",%progbits
 | 
						
						
						
						
							 | 
							
								 | 
							
							 759              		.align	1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 760              		.global	bme680_init
 | 
						
						
						
						
							 | 
							
								 | 
							
							 761              		.syntax unified
 | 
						
						
						
						
							 | 
							
								 | 
							
							 762              		.code	16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 763              		.thumb_func
 | 
						
						
						
						
							 | 
							
								 | 
							
							 764              		.fpu softvfp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 766              	bme680_init:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 767              	.LFB0:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 237:Drivers/BME680/bme680.c **** 	int8_t rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 768              		.loc 1 237 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 769              		.cfi_startproc
 | 
						
						
						
						
							 | 
							
								 | 
							
							 770              		@ args = 0, pretend = 0, frame = 72
 | 
						
						
						
						
							 | 
							
								 | 
							
							 771              		@ frame_needed = 0, uses_anonymous_args = 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 772              	.LVL98:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 773 0000 F0B5     		push	{r4, r5, r6, r7, lr}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 774              	.LCFI11:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 775              		.cfi_def_cfa_offset 20
 | 
						
						
						
						
							 | 
							
								 | 
							
							 776              		.cfi_offset 4, -20
 | 
						
						
						
						
							 | 
							
								 | 
							
							 777              		.cfi_offset 5, -16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 778              		.cfi_offset 6, -12
 | 
						
						
						
						
							 | 
							
								 | 
							
							 779              		.cfi_offset 7, -8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 780              		.cfi_offset 14, -4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 781 0002 93B0     		sub	sp, sp, #76
 | 
						
						
						
						
							 | 
							
								 | 
							
							 782              	.LCFI12:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 783              		.cfi_def_cfa_offset 96
 | 
						
						
						
						
							 | 
							
								 | 
							
							 784 0004 041E     		subs	r4, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 785              	.LVL99:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 786              	.LBB83:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 787              	.LBB84:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1129:Drivers/BME680/bme680.c **** 		/* Device structure pointer is not valid */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 788              		.loc 1 1129 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 789 0006 00D1     		bne	.LCB858
 | 
						
						
						
						
							 | 
							
								 | 
							
							 790 0008 E1E0     		b	.L63	@long jump
 | 
						
						
						
						
							 | 
							
								 | 
							
							 791              	.LCB858:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 792 000a 836C     		ldr	r3, [r0, #72]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 793 000c 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 794 000e 00D1     		bne	.LCB862
 | 
						
						
						
						
							 | 
							
								 | 
							
							 795 0010 E0E0     		b	.L64	@long jump
 | 
						
						
						
						
							 | 
							
								 | 
							
							 796              	.LCB862:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 797 0012 C36C     		ldr	r3, [r0, #76]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 798 0014 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 799 0016 00D1     		bne	.LCB866
 | 
						
						
						
						
							 | 
							
								 | 
							
							 800 0018 DFE0     		b	.L65	@long jump
 | 
						
						
						
						
							 | 
							
								 | 
							
							 801              	.LCB866:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 802 001a 036D     		ldr	r3, [r0, #80]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 803 001c 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 804 001e 00D1     		bne	.LCB870
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 36
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 805 0020 DEE0     		b	.L66	@long jump
 | 
						
						
						
						
							 | 
							
								 | 
							
							 806              	.LCB870:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 807              	.LVL100:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 808              	.LBE84:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 809              	.LBE83:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 244:Drivers/BME680/bme680.c **** 		if (rslt == BME680_OK) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 810              		.loc 1 244 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 811 0022 FFF7FEFF 		bl	bme680_soft_reset
 | 
						
						
						
						
							 | 
							
								 | 
							
							 812              	.LVL101:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 245:Drivers/BME680/bme680.c **** 			rslt = bme680_get_regs(BME680_CHIP_ID_ADDR, &dev->chip_id, 1, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 813              		.loc 1 245 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 814 0026 0028     		cmp	r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 815 0028 01D0     		beq	.L72
 | 
						
						
						
						
							 | 
							
								 | 
							
							 816              	.LVL102:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 817              	.L59:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 259:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 818              		.loc 1 259 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 819 002a 13B0     		add	sp, sp, #76
 | 
						
						
						
						
							 | 
							
								 | 
							
							 820              		@ sp needed
 | 
						
						
						
						
							 | 
							
								 | 
							
							 821              	.LVL103:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 822 002c F0BD     		pop	{r4, r5, r6, r7, pc}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 823              	.LVL104:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 824              	.L72:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 246:Drivers/BME680/bme680.c **** 			if (rslt == BME680_OK) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 825              		.loc 1 246 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 826 002e 2300     		movs	r3, r4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 827 0030 0122     		movs	r2, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 828 0032 2100     		movs	r1, r4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 829 0034 D030     		adds	r0, r0, #208
 | 
						
						
						
						
							 | 
							
								 | 
							
							 830              	.LVL105:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 831 0036 FFF7FEFF 		bl	bme680_get_regs
 | 
						
						
						
						
							 | 
							
								 | 
							
							 832              	.LVL106:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 247:Drivers/BME680/bme680.c **** 				if (dev->chip_id == BME680_CHIP_ID) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 833              		.loc 1 247 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 834 003a 0028     		cmp	r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 835 003c F5D1     		bne	.L59
 | 
						
						
						
						
							 | 
							
								 | 
							
							 248:Drivers/BME680/bme680.c **** 					/* Get the Calibration data */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 836              		.loc 1 248 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 837 003e 2378     		ldrb	r3, [r4]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 838 0040 612B     		cmp	r3, #97
 | 
						
						
						
						
							 | 
							
								 | 
							
							 839 0042 00D0     		beq	.LCB912
 | 
						
						
						
						
							 | 
							
								 | 
							
							 840 0044 CFE0     		b	.L67	@long jump
 | 
						
						
						
						
							 | 
							
								 | 
							
							 841              	.LCB912:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 842              	.LVL107:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 843              	.LBB86:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 844              	.LBB87:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 668:Drivers/BME680/bme680.c **** 	uint8_t temp_var = 0; /* Temporary variable */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 845              		.loc 1 668 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 846 0046 4122     		movs	r2, #65
 | 
						
						
						
						
							 | 
							
								 | 
							
							 847 0048 0021     		movs	r1, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 848 004a 01A8     		add	r0, sp, #4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 849              	.LVL108:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 850 004c FFF7FEFF 		bl	memset
 | 
						
						
						
						
							 | 
							
								 | 
							
							 851              	.LVL109:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 669:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 852              		.loc 1 669 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 853 0050 6B46     		mov	r3, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 37
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 854 0052 0022     		movs	r2, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 855 0054 DA70     		strb	r2, [r3, #3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 856              	.LVL110:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 857              	.LBB88:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 858              	.LBB89:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1129:Drivers/BME680/bme680.c **** 		/* Device structure pointer is not valid */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 859              		.loc 1 1129 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 860 0056 002C     		cmp	r4, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 861 0058 00D1     		bne	.LCB929
 | 
						
						
						
						
							 | 
							
								 | 
							
							 862 005a ACE0     		b	.L68	@long jump
 | 
						
						
						
						
							 | 
							
								 | 
							
							 863              	.LCB929:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 864 005c A36C     		ldr	r3, [r4, #72]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 865 005e 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 866 0060 00D1     		bne	.LCB933
 | 
						
						
						
						
							 | 
							
								 | 
							
							 867 0062 ABE0     		b	.L69	@long jump
 | 
						
						
						
						
							 | 
							
								 | 
							
							 868              	.LCB933:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 869 0064 E36C     		ldr	r3, [r4, #76]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 870 0066 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 871 0068 00D1     		bne	.LCB937
 | 
						
						
						
						
							 | 
							
								 | 
							
							 872 006a AAE0     		b	.L70	@long jump
 | 
						
						
						
						
							 | 
							
								 | 
							
							 873              	.LCB937:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 874 006c 236D     		ldr	r3, [r4, #80]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 875 006e 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 876 0070 00D1     		bne	.LCB941
 | 
						
						
						
						
							 | 
							
								 | 
							
							 877 0072 A9E0     		b	.L71	@long jump
 | 
						
						
						
						
							 | 
							
								 | 
							
							 878              	.LCB941:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 879              	.LVL111:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 880              	.LBE89:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 881              	.LBE88:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 674:Drivers/BME680/bme680.c **** 		/* Append the second half in the same array */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 882              		.loc 1 674 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 883 0074 2300     		movs	r3, r4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 884 0076 1932     		adds	r2, r2, #25
 | 
						
						
						
						
							 | 
							
								 | 
							
							 885 0078 01A9     		add	r1, sp, #4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 886 007a 8920     		movs	r0, #137
 | 
						
						
						
						
							 | 
							
								 | 
							
							 887 007c FFF7FEFF 		bl	bme680_get_regs
 | 
						
						
						
						
							 | 
							
								 | 
							
							 888              	.LVL112:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 676:Drivers/BME680/bme680.c **** 			rslt = bme680_get_regs(BME680_COEFF_ADDR2, &coeff_array[BME680_COEFF_ADDR1_LEN]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 889              		.loc 1 676 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 890 0080 0028     		cmp	r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 891 0082 6BD0     		beq	.L73
 | 
						
						
						
						
							 | 
							
								 | 
							
							 892              	.LVL113:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 893              	.L61:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 681:Drivers/BME680/bme680.c **** 			coeff_array[BME680_T1_LSB_REG]));
 | 
						
						
						
						
							 | 
							
								 | 
							
							 894              		.loc 1 681 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 895 0084 01AB     		add	r3, sp, #4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 896 0086 2222     		movs	r2, #34
 | 
						
						
						
						
							 | 
							
								 | 
							
							 897 0088 995C     		ldrb	r1, [r3, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 898 008a 0902     		lsls	r1, r1, #8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 899 008c 013A     		subs	r2, r2, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 900 008e 9A5C     		ldrb	r2, [r3, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 901 0090 0A43     		orrs	r2, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 902 0092 E282     		strh	r2, [r4, #22]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 683:Drivers/BME680/bme680.c **** 			coeff_array[BME680_T2_LSB_REG]));
 | 
						
						
						
						
							 | 
							
								 | 
							
							 903              		.loc 1 683 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 904 0094 9978     		ldrb	r1, [r3, #2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 905 0096 0902     		lsls	r1, r1, #8
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 38
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 906 0098 5A78     		ldrb	r2, [r3, #1]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 907 009a 0A43     		orrs	r2, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 908 009c 2283     		strh	r2, [r4, #24]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 685:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 909              		.loc 1 685 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 910 009e 0322     		movs	r2, #3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 911 00a0 9A56     		ldrsb	r2, [r3, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 912 00a2 A276     		strb	r2, [r4, #26]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 688:Drivers/BME680/bme680.c **** 			coeff_array[BME680_P1_LSB_REG]));
 | 
						
						
						
						
							 | 
							
								 | 
							
							 913              		.loc 1 688 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 914 00a4 9979     		ldrb	r1, [r3, #6]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 915 00a6 0902     		lsls	r1, r1, #8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 916 00a8 5A79     		ldrb	r2, [r3, #5]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 917 00aa 0A43     		orrs	r2, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 918 00ac A283     		strh	r2, [r4, #28]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 690:Drivers/BME680/bme680.c **** 			coeff_array[BME680_P2_LSB_REG]));
 | 
						
						
						
						
							 | 
							
								 | 
							
							 919              		.loc 1 690 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 920 00ae 197A     		ldrb	r1, [r3, #8]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 921 00b0 0902     		lsls	r1, r1, #8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 922 00b2 DA79     		ldrb	r2, [r3, #7]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 923 00b4 0A43     		orrs	r2, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 924 00b6 E283     		strh	r2, [r4, #30]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 692:Drivers/BME680/bme680.c **** 		dev->calib.par_p4 = (int16_t) (BME680_CONCAT_BYTES(coeff_array[BME680_P4_MSB_REG],
 | 
						
						
						
						
							 | 
							
								 | 
							
							 925              		.loc 1 692 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 926 00b8 0922     		movs	r2, #9
 | 
						
						
						
						
							 | 
							
								 | 
							
							 927 00ba 9A56     		ldrsb	r2, [r3, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 928 00bc 2026     		movs	r6, #32
 | 
						
						
						
						
							 | 
							
								 | 
							
							 929 00be A255     		strb	r2, [r4, r6]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 693:Drivers/BME680/bme680.c **** 			coeff_array[BME680_P4_LSB_REG]));
 | 
						
						
						
						
							 | 
							
								 | 
							
							 930              		.loc 1 693 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 931 00c0 197B     		ldrb	r1, [r3, #12]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 932 00c2 0902     		lsls	r1, r1, #8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 933 00c4 DA7A     		ldrb	r2, [r3, #11]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 934 00c6 0A43     		orrs	r2, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 935 00c8 6284     		strh	r2, [r4, #34]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 695:Drivers/BME680/bme680.c **** 			coeff_array[BME680_P5_LSB_REG]));
 | 
						
						
						
						
							 | 
							
								 | 
							
							 936              		.loc 1 695 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 937 00ca 997B     		ldrb	r1, [r3, #14]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 938 00cc 0902     		lsls	r1, r1, #8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 939 00ce 5A7B     		ldrb	r2, [r3, #13]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 940 00d0 0A43     		orrs	r2, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 941 00d2 A284     		strh	r2, [r4, #36]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 697:Drivers/BME680/bme680.c **** 		dev->calib.par_p7 = (int8_t) (coeff_array[BME680_P7_REG]);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 942              		.loc 1 697 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 943 00d4 1022     		movs	r2, #16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 944 00d6 9A56     		ldrsb	r2, [r3, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 945 00d8 2625     		movs	r5, #38
 | 
						
						
						
						
							 | 
							
								 | 
							
							 946 00da 6255     		strb	r2, [r4, r5]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 698:Drivers/BME680/bme680.c **** 		dev->calib.par_p8 = (int16_t) (BME680_CONCAT_BYTES(coeff_array[BME680_P8_MSB_REG],
 | 
						
						
						
						
							 | 
							
								 | 
							
							 947              		.loc 1 698 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 948 00dc 0F21     		movs	r1, #15
 | 
						
						
						
						
							 | 
							
								 | 
							
							 949 00de 5956     		ldrsb	r1, [r3, r1]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 950 00e0 2722     		movs	r2, #39
 | 
						
						
						
						
							 | 
							
								 | 
							
							 951 00e2 A154     		strb	r1, [r4, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 699:Drivers/BME680/bme680.c **** 			coeff_array[BME680_P8_LSB_REG]));
 | 
						
						
						
						
							 | 
							
								 | 
							
							 952              		.loc 1 699 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 953 00e4 197D     		ldrb	r1, [r3, #20]
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 39
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 954 00e6 0902     		lsls	r1, r1, #8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 955 00e8 DA7C     		ldrb	r2, [r3, #19]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 956 00ea 0A43     		orrs	r2, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 957 00ec 2285     		strh	r2, [r4, #40]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 701:Drivers/BME680/bme680.c **** 			coeff_array[BME680_P9_LSB_REG]));
 | 
						
						
						
						
							 | 
							
								 | 
							
							 958              		.loc 1 701 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 959 00ee 997D     		ldrb	r1, [r3, #22]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 960 00f0 0902     		lsls	r1, r1, #8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 961 00f2 5A7D     		ldrb	r2, [r3, #21]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 962 00f4 0A43     		orrs	r2, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 963 00f6 6285     		strh	r2, [r4, #42]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 703:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 964              		.loc 1 703 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 965 00f8 D97D     		ldrb	r1, [r3, #23]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 966 00fa 2C22     		movs	r2, #44
 | 
						
						
						
						
							 | 
							
								 | 
							
							 967 00fc A154     		strb	r1, [r4, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 706:Drivers/BME680/bme680.c **** 			| (coeff_array[BME680_H1_LSB_REG] & BME680_BIT_H1_DATA_MSK));
 | 
						
						
						
						
							 | 
							
								 | 
							
							 968              		.loc 1 706 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 969 00fe DF7E     		ldrb	r7, [r3, #27]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 970 0100 3F01     		lsls	r7, r7, #4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 707:Drivers/BME680/bme680.c **** 		dev->calib.par_h2 = (uint16_t) (((uint16_t) coeff_array[BME680_H2_MSB_REG] << BME680_HUM_REG_SHIF
 | 
						
						
						
						
							 | 
							
								 | 
							
							 971              		.loc 1 707 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 972 0102 9A7E     		ldrb	r2, [r3, #26]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 973 0104 0F21     		movs	r1, #15
 | 
						
						
						
						
							 | 
							
								 | 
							
							 974 0106 1140     		ands	r1, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 706:Drivers/BME680/bme680.c **** 			| (coeff_array[BME680_H1_LSB_REG] & BME680_BIT_H1_DATA_MSK));
 | 
						
						
						
						
							 | 
							
								 | 
							
							 975              		.loc 1 706 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 976 0108 3943     		orrs	r1, r7
 | 
						
						
						
						
							 | 
							
								 | 
							
							 977 010a 2181     		strh	r1, [r4, #8]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 708:Drivers/BME680/bme680.c **** 			| ((coeff_array[BME680_H2_LSB_REG]) >> BME680_HUM_REG_SHIFT_VAL));
 | 
						
						
						
						
							 | 
							
								 | 
							
							 978              		.loc 1 708 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 979 010c 597E     		ldrb	r1, [r3, #25]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 980 010e 0901     		lsls	r1, r1, #4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 709:Drivers/BME680/bme680.c **** 		dev->calib.par_h3 = (int8_t) coeff_array[BME680_H3_REG];
 | 
						
						
						
						
							 | 
							
								 | 
							
							 981              		.loc 1 709 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 982 0110 1209     		lsrs	r2, r2, #4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 708:Drivers/BME680/bme680.c **** 			| ((coeff_array[BME680_H2_LSB_REG]) >> BME680_HUM_REG_SHIFT_VAL));
 | 
						
						
						
						
							 | 
							
								 | 
							
							 983              		.loc 1 708 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 984 0112 0A43     		orrs	r2, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 985 0114 6281     		strh	r2, [r4, #10]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 710:Drivers/BME680/bme680.c **** 		dev->calib.par_h4 = (int8_t) coeff_array[BME680_H4_REG];
 | 
						
						
						
						
							 | 
							
								 | 
							
							 986              		.loc 1 710 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 987 0116 1C22     		movs	r2, #28
 | 
						
						
						
						
							 | 
							
								 | 
							
							 988 0118 9A56     		ldrsb	r2, [r3, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 989 011a 2273     		strb	r2, [r4, #12]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 711:Drivers/BME680/bme680.c **** 		dev->calib.par_h5 = (int8_t) coeff_array[BME680_H5_REG];
 | 
						
						
						
						
							 | 
							
								 | 
							
							 990              		.loc 1 711 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 991 011c 1D22     		movs	r2, #29
 | 
						
						
						
						
							 | 
							
								 | 
							
							 992 011e 9A56     		ldrsb	r2, [r3, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 993 0120 6273     		strb	r2, [r4, #13]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 712:Drivers/BME680/bme680.c **** 		dev->calib.par_h6 = (uint8_t) coeff_array[BME680_H6_REG];
 | 
						
						
						
						
							 | 
							
								 | 
							
							 994              		.loc 1 712 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 995 0122 1E22     		movs	r2, #30
 | 
						
						
						
						
							 | 
							
								 | 
							
							 996 0124 9A56     		ldrsb	r2, [r3, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 997 0126 A273     		strb	r2, [r4, #14]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 713:Drivers/BME680/bme680.c **** 		dev->calib.par_h7 = (int8_t) coeff_array[BME680_H7_REG];
 | 
						
						
						
						
							 | 
							
								 | 
							
							 998              		.loc 1 713 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 40
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 999 0128 DA7F     		ldrb	r2, [r3, #31]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1000 012a E273     		strb	r2, [r4, #15]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 714:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1001              		.loc 1 714 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1002 012c 9A57     		ldrsb	r2, [r3, r6]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1003 012e 2274     		strb	r2, [r4, #16]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 717:Drivers/BME680/bme680.c **** 		dev->calib.par_gh2 = (int16_t) (BME680_CONCAT_BYTES(coeff_array[BME680_GH2_MSB_REG],
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1004              		.loc 1 717 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1005 0130 2522     		movs	r2, #37
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1006 0132 9A56     		ldrsb	r2, [r3, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1007 0134 6274     		strb	r2, [r4, #17]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 718:Drivers/BME680/bme680.c **** 			coeff_array[BME680_GH2_LSB_REG]));
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1008              		.loc 1 718 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1009 0136 2422     		movs	r2, #36
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1010 0138 995C     		ldrb	r1, [r3, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1011 013a 0902     		lsls	r1, r1, #8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1012 013c 013A     		subs	r2, r2, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1013 013e 9A5C     		ldrb	r2, [r3, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1014 0140 0A43     		orrs	r2, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1015 0142 6282     		strh	r2, [r4, #18]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 720:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1016              		.loc 1 720 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1017 0144 5B57     		ldrsb	r3, [r3, r5]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1018 0146 2375     		strb	r3, [r4, #20]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 723:Drivers/BME680/bme680.c **** 			rslt = bme680_get_regs(BME680_ADDR_RES_HEAT_RANGE_ADDR, &temp_var, 1, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1019              		.loc 1 723 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1020 0148 0028     		cmp	r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1021 014a 0FD0     		beq	.L74
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1022              	.LVL114:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1023              	.L62:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 735:Drivers/BME680/bme680.c **** 	}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1024              		.loc 1 735 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1025 014c 6B46     		mov	r3, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1026 014e 0333     		adds	r3, r3, #3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1027 0150 1B78     		ldrb	r3, [r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1028 0152 5BB2     		sxtb	r3, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1029 0154 1B11     		asrs	r3, r3, #4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1030 0156 3622     		movs	r2, #54
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1031 0158 A354     		strb	r3, [r4, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1032 015a 66E7     		b	.L59
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1033              	.L73:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 677:Drivers/BME680/bme680.c **** 			, BME680_COEFF_ADDR2_LEN, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1034              		.loc 1 677 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1035 015c 2300     		movs	r3, r4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1036 015e 1022     		movs	r2, #16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1037 0160 1D21     		movs	r1, #29
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1038 0162 6944     		add	r1, r1, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1039 0164 E130     		adds	r0, r0, #225
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1040              	.LVL115:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1041 0166 FFF7FEFF 		bl	bme680_get_regs
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1042              	.LVL116:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1043 016a 8BE7     		b	.L61
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1044              	.L74:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 724:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1045              		.loc 1 724 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1046 016c 6B46     		mov	r3, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1047 016e DD1C     		adds	r5, r3, #3
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 41
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1048 0170 2300     		movs	r3, r4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1049 0172 0122     		movs	r2, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1050 0174 2900     		movs	r1, r5
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1051 0176 0230     		adds	r0, r0, #2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1052              	.LVL117:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1053 0178 FFF7FEFF 		bl	bme680_get_regs
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1054              	.LVL118:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 726:Drivers/BME680/bme680.c **** 			if (rslt == BME680_OK) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1055              		.loc 1 726 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1056 017c 2A78     		ldrb	r2, [r5]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1057 017e 3023     		movs	r3, #48
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1058 0180 1340     		ands	r3, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1059 0182 1B11     		asrs	r3, r3, #4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1060 0184 3422     		movs	r2, #52
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1061 0186 A354     		strb	r3, [r4, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 727:Drivers/BME680/bme680.c **** 				rslt = bme680_get_regs(BME680_ADDR_RES_HEAT_VAL_ADDR, &temp_var, 1, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1062              		.loc 1 727 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1063 0188 0028     		cmp	r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1064 018a DFD1     		bne	.L62
 | 
						
						
						
						
							 | 
							
								 | 
							
							 728:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1065              		.loc 1 728 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1066 018c 6B46     		mov	r3, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1067 018e DD1C     		adds	r5, r3, #3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1068 0190 2300     		movs	r3, r4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1069 0192 333A     		subs	r2, r2, #51
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1070 0194 2900     		movs	r1, r5
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1071 0196 FFF7FEFF 		bl	bme680_get_regs
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1072              	.LVL119:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 730:Drivers/BME680/bme680.c **** 				if (rslt == BME680_OK)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1073              		.loc 1 730 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1074 019a 0022     		movs	r2, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1075 019c AA56     		ldrsb	r2, [r5, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1076 019e 3523     		movs	r3, #53
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1077 01a0 E254     		strb	r2, [r4, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 731:Drivers/BME680/bme680.c **** 					rslt = bme680_get_regs(BME680_ADDR_RANGE_SW_ERR_ADDR, &temp_var, 1, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1078              		.loc 1 731 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1079 01a2 0028     		cmp	r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1080 01a4 D2D1     		bne	.L62
 | 
						
						
						
						
							 | 
							
								 | 
							
							 732:Drivers/BME680/bme680.c **** 			}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1081              		.loc 1 732 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1082 01a6 2300     		movs	r3, r4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1083 01a8 0122     		movs	r2, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1084 01aa 6946     		mov	r1, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1085 01ac 0331     		adds	r1, r1, #3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1086 01ae 0430     		adds	r0, r0, #4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1087              	.LVL120:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1088 01b0 FFF7FEFF 		bl	bme680_get_regs
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1089              	.LVL121:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1090 01b4 CAE7     		b	.L62
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1091              	.LVL122:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1092              	.L68:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1093              	.LBB91:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1094              	.LBB90:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1131:Drivers/BME680/bme680.c **** 	} else {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1095              		.loc 1 1131 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1096 01b6 0120     		movs	r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1097 01b8 4042     		rsbs	r0, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 42
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1098 01ba 36E7     		b	.L59
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1099              	.L69:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1100 01bc 0120     		movs	r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1101 01be 4042     		rsbs	r0, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1102 01c0 33E7     		b	.L59
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1103              	.L70:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1104 01c2 0120     		movs	r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1105 01c4 4042     		rsbs	r0, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1106 01c6 30E7     		b	.L59
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1107              	.L71:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1108 01c8 0120     		movs	r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1109 01ca 4042     		rsbs	r0, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1110              	.LVL123:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1111 01cc 2DE7     		b	.L59
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1112              	.LVL124:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1113              	.L63:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1114              	.LBE90:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1115              	.LBE91:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1116              	.LBE87:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1117              	.LBE86:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1118              	.LBB92:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1119              	.LBB85:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1120 01ce 0120     		movs	r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1121              	.LVL125:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1122 01d0 4042     		rsbs	r0, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1123 01d2 2AE7     		b	.L59
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1124              	.LVL126:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1125              	.L64:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1126 01d4 0120     		movs	r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1127              	.LVL127:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1128 01d6 4042     		rsbs	r0, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1129 01d8 27E7     		b	.L59
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1130              	.LVL128:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1131              	.L65:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1132 01da 0120     		movs	r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1133              	.LVL129:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1134 01dc 4042     		rsbs	r0, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1135 01de 24E7     		b	.L59
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1136              	.LVL130:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1137              	.L66:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1138 01e0 0120     		movs	r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1139              	.LVL131:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1140 01e2 4042     		rsbs	r0, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1141 01e4 21E7     		b	.L59
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1142              	.LVL132:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1143              	.L67:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1144              	.LBE85:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1145              	.LBE92:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 252:Drivers/BME680/bme680.c **** 				}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1146              		.loc 1 252 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1147 01e6 0320     		movs	r0, #3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1148              	.LVL133:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1149 01e8 4042     		rsbs	r0, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1150 01ea 1EE7     		b	.L59
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1151              		.cfi_endproc
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1152              	.LFE0:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1154              		.section	.text.bme680_get_sensor_settings,"ax",%progbits
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 43
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1155              		.align	1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1156              		.global	bme680_get_sensor_settings
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1157              		.syntax unified
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1158              		.code	16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1159              		.thumb_func
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1160              		.fpu softvfp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1162              	bme680_get_sensor_settings:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1163              	.LFB5:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 487:Drivers/BME680/bme680.c **** 	int8_t rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1164              		.loc 1 487 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1165              		.cfi_startproc
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1166              		@ args = 0, pretend = 0, frame = 24
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1167              		@ frame_needed = 0, uses_anonymous_args = 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1168              	.LVL134:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1169 0000 70B5     		push	{r4, r5, r6, lr}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1170              	.LCFI13:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1171              		.cfi_def_cfa_offset 16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1172              		.cfi_offset 4, -16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1173              		.cfi_offset 5, -12
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1174              		.cfi_offset 6, -8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1175              		.cfi_offset 14, -4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1176 0002 86B0     		sub	sp, sp, #24
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1177              	.LCFI14:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1178              		.cfi_def_cfa_offset 40
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1179 0004 0600     		movs	r6, r0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1180 0006 0C00     		movs	r4, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1181              	.LVL135:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 491:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1182              		.loc 1 491 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1183 0008 0622     		movs	r2, #6
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1184 000a 0021     		movs	r1, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1185              	.LVL136:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1186 000c 04A8     		add	r0, sp, #16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1187              	.LVL137:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1188 000e FFF7FEFF 		bl	memset
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1189              	.LVL138:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1190              	.LBB99:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1191              	.LBB100:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1129:Drivers/BME680/bme680.c **** 		/* Device structure pointer is not valid */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1192              		.loc 1 1129 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1193 0012 002C     		cmp	r4, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1194 0014 00D1     		bne	.LCB1301
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1195 0016 98E0     		b	.L89	@long jump
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1196              	.LCB1301:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1197 0018 A36C     		ldr	r3, [r4, #72]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1198 001a 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1199 001c 00D1     		bne	.LCB1305
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1200 001e 97E0     		b	.L90	@long jump
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1201              	.LCB1305:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1202 0020 E36C     		ldr	r3, [r4, #76]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1203 0022 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1204 0024 00D1     		bne	.LCB1309
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1205 0026 96E0     		b	.L91	@long jump
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1206              	.LCB1309:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1207 0028 236D     		ldr	r3, [r4, #80]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1208 002a 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1209 002c 00D1     		bne	.LCB1313
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 44
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1210 002e 95E0     		b	.L92	@long jump
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1211              	.LCB1313:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1212              	.LVL139:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1213              	.LBE100:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1214              	.LBE99:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 496:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1215              		.loc 1 496 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1216 0030 2300     		movs	r3, r4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1217 0032 0622     		movs	r2, #6
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1218 0034 04A9     		add	r1, sp, #16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1219 0036 7020     		movs	r0, #112
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1220 0038 FFF7FEFF 		bl	bme680_get_regs
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1221              	.LVL140:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1222 003c 051E     		subs	r5, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1223              	.LVL141:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 498:Drivers/BME680/bme680.c **** 			if (desired_settings & BME680_GAS_MEAS_SEL)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1224              		.loc 1 498 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1225 003e 34D1     		bne	.L76
 | 
						
						
						
						
							 | 
							
								 | 
							
							 499:Drivers/BME680/bme680.c **** 				rslt = get_gas_config(dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1226              		.loc 1 499 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1227 0040 3307     		lsls	r3, r6, #28
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1228 0042 35D4     		bmi	.L99
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1229              	.LVL142:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1230              	.L77:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 503:Drivers/BME680/bme680.c **** 				dev->tph_sett.filter = BME680_GET_BITS(data_array[BME680_REG_FILTER_INDEX],
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1231              		.loc 1 503 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1232 0044 F306     		lsls	r3, r6, #27
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1233 0046 06D5     		bpl	.L85
 | 
						
						
						
						
							 | 
							
								 | 
							
							 504:Drivers/BME680/bme680.c **** 					BME680_FILTER);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1234              		.loc 1 504 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1235 0048 04AB     		add	r3, sp, #16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1236 004a 5A79     		ldrb	r2, [r3, #5]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1237 004c 9210     		asrs	r2, r2, #2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1238 004e 0723     		movs	r3, #7
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1239 0050 1340     		ands	r3, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1240 0052 3B22     		movs	r2, #59
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1241 0054 A354     		strb	r3, [r4, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1242              	.L85:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 507:Drivers/BME680/bme680.c **** 				dev->tph_sett.os_temp = BME680_GET_BITS(data_array[BME680_REG_TEMP_INDEX], BME680_OST);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1243              		.loc 1 507 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1244 0056 B307     		lsls	r3, r6, #30
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1245 0058 09D0     		beq	.L86
 | 
						
						
						
						
							 | 
							
								 | 
							
							 508:Drivers/BME680/bme680.c **** 				dev->tph_sett.os_pres = BME680_GET_BITS(data_array[BME680_REG_PRES_INDEX], BME680_OSP);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1246              		.loc 1 508 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1247 005a 04AB     		add	r3, sp, #16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1248 005c 1B79     		ldrb	r3, [r3, #4]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1249 005e 5909     		lsrs	r1, r3, #5
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1250 0060 3922     		movs	r2, #57
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1251 0062 A154     		strb	r1, [r4, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 509:Drivers/BME680/bme680.c **** 			}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1252              		.loc 1 509 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1253 0064 9B10     		asrs	r3, r3, #2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1254 0066 323A     		subs	r2, r2, #50
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1255 0068 1340     		ands	r3, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1256 006a 3332     		adds	r2, r2, #51
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1257 006c A354     		strb	r3, [r4, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1258              	.L86:
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 45
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 512:Drivers/BME680/bme680.c **** 				dev->tph_sett.os_hum = BME680_GET_BITS_POS_0(data_array[BME680_REG_HUM_INDEX],
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1259              		.loc 1 512 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1260 006e 7307     		lsls	r3, r6, #29
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1261 0070 05D5     		bpl	.L87
 | 
						
						
						
						
							 | 
							
								 | 
							
							 513:Drivers/BME680/bme680.c **** 					BME680_OSH);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1262              		.loc 1 513 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1263 0072 04AB     		add	r3, sp, #16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1264 0074 9A78     		ldrb	r2, [r3, #2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1265 0076 0723     		movs	r3, #7
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1266 0078 1340     		ands	r3, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1267 007a 3822     		movs	r2, #56
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1268 007c A354     		strb	r3, [r4, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1269              	.L87:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 517:Drivers/BME680/bme680.c **** 				dev->gas_sett.heatr_ctrl = BME680_GET_BITS_POS_0(data_array[BME680_REG_HCTRL_INDEX],
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1270              		.loc 1 517 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1271 007e B306     		lsls	r3, r6, #26
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1272 0080 05D5     		bpl	.L88
 | 
						
						
						
						
							 | 
							
								 | 
							
							 518:Drivers/BME680/bme680.c **** 					BME680_HCTRL);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1273              		.loc 1 518 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1274 0082 04AB     		add	r3, sp, #16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1275 0084 1A78     		ldrb	r2, [r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1276 0086 0823     		movs	r3, #8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1277 0088 1340     		ands	r3, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1278 008a 3D22     		movs	r2, #61
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1279 008c A354     		strb	r3, [r4, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1280              	.L88:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 521:Drivers/BME680/bme680.c **** 				dev->gas_sett.nb_conv = BME680_GET_BITS_POS_0(data_array[BME680_REG_NBCONV_INDEX],
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1281              		.loc 1 521 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1282 008e C023     		movs	r3, #192
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1283 0090 3342     		tst	r3, r6
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1284 0092 0AD0     		beq	.L76
 | 
						
						
						
						
							 | 
							
								 | 
							
							 522:Drivers/BME680/bme680.c **** 					BME680_NBCONV);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1285              		.loc 1 522 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1286 0094 04AB     		add	r3, sp, #16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1287 0096 5B78     		ldrb	r3, [r3, #1]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1288 0098 0F22     		movs	r2, #15
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1289 009a 1A40     		ands	r2, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1290 009c 3C21     		movs	r1, #60
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1291 009e 6254     		strb	r2, [r4, r1]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 524:Drivers/BME680/bme680.c **** 					BME680_RUN_GAS);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1292              		.loc 1 524 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1293 00a0 1B11     		asrs	r3, r3, #4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1294 00a2 0122     		movs	r2, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1295 00a4 1340     		ands	r3, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1296 00a6 3D32     		adds	r2, r2, #61
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1297 00a8 A354     		strb	r3, [r4, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1298              	.LVL143:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1299              	.L76:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 533:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1300              		.loc 1 533 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1301 00aa 2800     		movs	r0, r5
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1302 00ac 06B0     		add	sp, sp, #24
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1303              		@ sp needed
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1304              	.LVL144:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1305              	.LVL145:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1306 00ae 70BD     		pop	{r4, r5, r6, pc}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1307              	.LVL146:
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 46
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1308              	.L99:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1309              	.LBB101:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1310              	.LBB102:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 780:Drivers/BME680/bme680.c **** 	uint8_t index;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1311              		.loc 1 780 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1312 00b0 0A22     		movs	r2, #10
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1313 00b2 0021     		movs	r1, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1314 00b4 01A8     		add	r0, sp, #4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1315              	.LVL147:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1316 00b6 FFF7FEFF 		bl	memset
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1317              	.LVL148:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1318              	.LBB103:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1319              	.LBB104:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1129:Drivers/BME680/bme680.c **** 		/* Device structure pointer is not valid */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1320              		.loc 1 1129 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1321 00ba 002C     		cmp	r4, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1322 00bc 39D0     		beq	.L93
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1323 00be A36C     		ldr	r3, [r4, #72]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1324 00c0 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1325 00c2 39D0     		beq	.L94
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1326 00c4 E36C     		ldr	r3, [r4, #76]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1327 00c6 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1328 00c8 39D0     		beq	.L95
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1329 00ca 236D     		ldr	r3, [r4, #80]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1330 00cc 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1331 00ce 39D0     		beq	.L96
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1332              	.LVL149:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1333              	.LBE104:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1334              	.LBE103:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 786:Drivers/BME680/bme680.c **** 			/* Memory page switch the SPI address*/
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1335              		.loc 1 786 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1336 00d0 A378     		ldrb	r3, [r4, #2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1337 00d2 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1338 00d4 13D0     		beq	.L100
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1339              	.LVL150:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1340              	.L79:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 791:Drivers/BME680/bme680.c **** 			rslt = bme680_get_regs(reg_addr1, data_array, BME680_GAS_HEATER_PROF_LEN_MAX, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1341              		.loc 1 791 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1342 00d6 002D     		cmp	r5, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1343 00d8 B4D1     		bne	.L77
 | 
						
						
						
						
							 | 
							
								 | 
							
							 792:Drivers/BME680/bme680.c **** 			if (rslt == BME680_OK) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1344              		.loc 1 792 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1345 00da 2300     		movs	r3, r4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1346 00dc 0A22     		movs	r2, #10
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1347 00de 01A9     		add	r1, sp, #4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1348 00e0 5A20     		movs	r0, #90
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1349 00e2 FFF7FEFF 		bl	bme680_get_regs
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1350              	.LVL151:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 793:Drivers/BME680/bme680.c **** 				for (index = 0; index < BME680_GAS_HEATER_PROF_LEN_MAX; index++)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1351              		.loc 1 793 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1352 00e6 0028     		cmp	r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1353 00e8 18D0     		beq	.L97
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1354              	.L81:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 798:Drivers/BME680/bme680.c **** 			if (rslt == BME680_OK) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1355              		.loc 1 798 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1356 00ea 2300     		movs	r3, r4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1357 00ec 0A22     		movs	r2, #10
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 47
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1358 00ee 01A9     		add	r1, sp, #4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1359 00f0 6420     		movs	r0, #100
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1360              	.LVL152:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1361 00f2 FFF7FEFF 		bl	bme680_get_regs
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1362              	.LVL153:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1363 00f6 051E     		subs	r5, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1364              	.LVL154:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 799:Drivers/BME680/bme680.c **** 				for (index = 0; index < BME680_GAS_HEATER_PROF_LEN_MAX; index++)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1365              		.loc 1 799 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1366 00f8 A4D1     		bne	.L77
 | 
						
						
						
						
							 | 
							
								 | 
							
							 800:Drivers/BME680/bme680.c **** 					dev->gas_sett.heatr_dur = data_array[index];
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1367              		.loc 1 800 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1368 00fa 0023     		movs	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1369 00fc 16E0     		b	.L83
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1370              	.LVL155:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1371              	.L100:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 788:Drivers/BME680/bme680.c **** 		}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1372              		.loc 1 788 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1373 00fe 2100     		movs	r1, r4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1374 0100 5A20     		movs	r0, #90
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1375 0102 FFF7FEFF 		bl	set_mem_page
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1376              	.LVL156:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1377 0106 0500     		movs	r5, r0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1378              	.LVL157:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1379 0108 E5E7     		b	.L79
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1380              	.LVL158:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1381              	.L82:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 795:Drivers/BME680/bme680.c **** 			}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1382              		.loc 1 795 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1383 010a 01AA     		add	r2, sp, #4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1384 010c D15C     		ldrb	r1, [r2, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1385 010e 4022     		movs	r2, #64
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1386 0110 A152     		strh	r1, [r4, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 794:Drivers/BME680/bme680.c **** 					dev->gas_sett.heatr_temp = data_array[index];
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1387              		.loc 1 794 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1388 0112 0133     		adds	r3, r3, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1389              	.LVL159:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1390 0114 DBB2     		uxtb	r3, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1391              	.LVL160:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1392              	.L80:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1393 0116 092B     		cmp	r3, #9
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1394 0118 F7D9     		bls	.L82
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1395 011a E6E7     		b	.L81
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1396              	.LVL161:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1397              	.L97:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1398 011c 0023     		movs	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1399 011e FAE7     		b	.L80
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1400              	.LVL162:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1401              	.L84:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 801:Drivers/BME680/bme680.c **** 			}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1402              		.loc 1 801 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1403 0120 01AA     		add	r2, sp, #4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1404 0122 D15C     		ldrb	r1, [r2, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1405 0124 4222     		movs	r2, #66
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1406 0126 A152     		strh	r1, [r4, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 800:Drivers/BME680/bme680.c **** 					dev->gas_sett.heatr_dur = data_array[index];
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1407              		.loc 1 800 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 48
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1408 0128 0133     		adds	r3, r3, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1409              	.LVL163:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1410 012a DBB2     		uxtb	r3, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1411              	.LVL164:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1412              	.L83:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1413 012c 092B     		cmp	r3, #9
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1414 012e F7D9     		bls	.L84
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1415 0130 88E7     		b	.L77
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1416              	.LVL165:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1417              	.L93:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1418              	.LBB106:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1419              	.LBB105:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1131:Drivers/BME680/bme680.c **** 	} else {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1420              		.loc 1 1131 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1421 0132 0125     		movs	r5, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1422              	.LVL166:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1423 0134 6D42     		rsbs	r5, r5, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1424 0136 85E7     		b	.L77
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1425              	.LVL167:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1426              	.L94:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1427 0138 0125     		movs	r5, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1428              	.LVL168:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1429 013a 6D42     		rsbs	r5, r5, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1430 013c 82E7     		b	.L77
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1431              	.LVL169:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1432              	.L95:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1433 013e 0125     		movs	r5, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1434              	.LVL170:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1435 0140 6D42     		rsbs	r5, r5, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1436 0142 7FE7     		b	.L77
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1437              	.LVL171:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1438              	.L96:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1439 0144 0125     		movs	r5, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1440              	.LVL172:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1441 0146 6D42     		rsbs	r5, r5, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1442              	.LVL173:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1443 0148 7CE7     		b	.L77
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1444              	.LVL174:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1445              	.L89:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1446              	.LBE105:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1447              	.LBE106:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1448              	.LBE102:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1449              	.LBE101:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 529:Drivers/BME680/bme680.c **** 	}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1450              		.loc 1 529 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1451 014a 0125     		movs	r5, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1452 014c 6D42     		rsbs	r5, r5, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1453 014e ACE7     		b	.L76
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1454              	.L90:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1455 0150 0125     		movs	r5, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1456 0152 6D42     		rsbs	r5, r5, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1457 0154 A9E7     		b	.L76
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1458              	.L91:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1459 0156 0125     		movs	r5, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1460 0158 6D42     		rsbs	r5, r5, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1461 015a A6E7     		b	.L76
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1462              	.L92:
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 49
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1463 015c 0125     		movs	r5, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1464 015e 6D42     		rsbs	r5, r5, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1465 0160 A3E7     		b	.L76
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1466              		.cfi_endproc
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1467              	.LFE5:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1469              		.section	.text.bme680_set_sensor_mode,"ax",%progbits
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1470              		.align	1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1471              		.global	bme680_set_sensor_mode
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1472              		.syntax unified
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1473              		.code	16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1474              		.thumb_func
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1475              		.fpu softvfp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1477              	bme680_set_sensor_mode:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1478              	.LFB6:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 539:Drivers/BME680/bme680.c **** 	int8_t rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1479              		.loc 1 539 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1480              		.cfi_startproc
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1481              		@ args = 0, pretend = 0, frame = 8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1482              		@ frame_needed = 0, uses_anonymous_args = 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1483              	.LVL175:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1484 0000 70B5     		push	{r4, r5, r6, lr}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1485              	.LCFI15:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1486              		.cfi_def_cfa_offset 16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1487              		.cfi_offset 4, -16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1488              		.cfi_offset 5, -12
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1489              		.cfi_offset 6, -8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1490              		.cfi_offset 14, -4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1491 0002 82B0     		sub	sp, sp, #8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1492              	.LCFI16:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1493              		.cfi_def_cfa_offset 24
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1494 0004 0600     		movs	r6, r0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1495              	.LVL176:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 543:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1496              		.loc 1 543 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1497 0006 6B46     		mov	r3, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1498 0008 7422     		movs	r2, #116
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1499 000a 9A71     		strb	r2, [r3, #6]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1500              	.LVL177:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1501              	.LBB107:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1502              	.LBB108:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1129:Drivers/BME680/bme680.c **** 		/* Device structure pointer is not valid */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1503              		.loc 1 1129 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1504 000c 0028     		cmp	r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1505 000e 48D0     		beq	.L105
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1506 0010 836C     		ldr	r3, [r0, #72]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1507 0012 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1508 0014 48D0     		beq	.L106
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1509 0016 C36C     		ldr	r3, [r0, #76]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1510 0018 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1511 001a 48D0     		beq	.L107
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1512 001c 036D     		ldr	r3, [r0, #80]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1513 001e 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1514 0020 48D0     		beq	.L108
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1515              	.LBE108:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1516              	.LBE107:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 542:Drivers/BME680/bme680.c **** 	uint8_t reg_addr = BME680_CONF_T_P_MODE_ADDR;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1517              		.loc 1 542 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 50
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1518 0022 0025     		movs	r5, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1519 0024 01E0     		b	.L104
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1520              	.LVL178:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1521              	.L103:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 561:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1522              		.loc 1 561 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1523 0026 002D     		cmp	r5, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1524 0028 1ED0     		beq	.L109
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1525              	.LVL179:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1526              	.L104:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 550:Drivers/BME680/bme680.c **** 			if (rslt == BME680_OK) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1527              		.loc 1 550 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1528 002a 3300     		movs	r3, r6
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1529 002c 0122     		movs	r2, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1530 002e 6946     		mov	r1, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1531 0030 0731     		adds	r1, r1, #7
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1532 0032 7420     		movs	r0, #116
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1533 0034 FFF7FEFF 		bl	bme680_get_regs
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1534              	.LVL180:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1535 0038 041E     		subs	r4, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1536              	.LVL181:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 551:Drivers/BME680/bme680.c **** 				/* Put to sleep before changing mode */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1537              		.loc 1 551 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1538 003a F4D1     		bne	.L103
 | 
						
						
						
						
							 | 
							
								 | 
							
							 553:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1539              		.loc 1 553 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1540 003c 6B46     		mov	r3, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1541 003e 0733     		adds	r3, r3, #7
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1542 0040 1B78     		ldrb	r3, [r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1543 0042 0325     		movs	r5, #3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1544              	.LVL182:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1545 0044 1D40     		ands	r5, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1546              	.LVL183:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 555:Drivers/BME680/bme680.c **** 					tmp_pow_mode = tmp_pow_mode & (~BME680_MODE_MSK); /* Set to sleep */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1547              		.loc 1 555 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1548 0046 EED0     		beq	.L103
 | 
						
						
						
						
							 | 
							
								 | 
							
							 556:Drivers/BME680/bme680.c **** 					rslt = bme680_set_regs(®_addr, &tmp_pow_mode, 1, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1549              		.loc 1 556 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1550 0048 0322     		movs	r2, #3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1551 004a 9343     		bics	r3, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1552 004c 6A46     		mov	r2, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1553 004e D11D     		adds	r1, r2, #7
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1554 0050 0B70     		strb	r3, [r1]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 557:Drivers/BME680/bme680.c **** 					dev->delay_ms(BME680_POLL_PERIOD_MS);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1555              		.loc 1 557 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1556 0052 3300     		movs	r3, r6
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1557 0054 0122     		movs	r2, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1558 0056 6846     		mov	r0, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1559              	.LVL184:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1560 0058 0630     		adds	r0, r0, #6
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1561 005a FFF7FEFF 		bl	bme680_set_regs
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1562              	.LVL185:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1563 005e 0400     		movs	r4, r0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1564              	.LVL186:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 558:Drivers/BME680/bme680.c **** 				}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1565              		.loc 1 558 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1566 0060 0A20     		movs	r0, #10
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 51
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1567              	.LVL187:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1568 0062 336D     		ldr	r3, [r6, #80]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1569 0064 9847     		blx	r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1570              	.LVL188:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1571 0066 DEE7     		b	.L103
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1572              	.L109:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 564:Drivers/BME680/bme680.c **** 			tmp_pow_mode = (tmp_pow_mode & ~BME680_MODE_MSK) | (dev->power_mode & BME680_MODE_MSK);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1573              		.loc 1 564 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1574 0068 4423     		movs	r3, #68
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1575 006a F25C     		ldrb	r2, [r6, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1576 006c 002A     		cmp	r2, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1577 006e 0BD0     		beq	.L102
 | 
						
						
						
						
							 | 
							
								 | 
							
							 565:Drivers/BME680/bme680.c **** 			if (rslt == BME680_OK)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1578              		.loc 1 565 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1579 0070 6B46     		mov	r3, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1580 0072 D91D     		adds	r1, r3, #7
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1581 0074 DB79     		ldrb	r3, [r3, #7]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1582 0076 0320     		movs	r0, #3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1583 0078 8343     		bics	r3, r0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1584 007a 5BB2     		sxtb	r3, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1585 007c 52B2     		sxtb	r2, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1586 007e 0240     		ands	r2, r0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1587 0080 1343     		orrs	r3, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1588 0082 0B70     		strb	r3, [r1]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 566:Drivers/BME680/bme680.c **** 				rslt = bme680_set_regs(®_addr, &tmp_pow_mode, 1, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1589              		.loc 1 566 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1590 0084 002C     		cmp	r4, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1591 0086 02D0     		beq	.L110
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1592              	.LVL189:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1593              	.L102:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 572:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1594              		.loc 1 572 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1595 0088 2000     		movs	r0, r4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1596 008a 02B0     		add	sp, sp, #8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1597              		@ sp needed
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1598              	.LVL190:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1599              	.LVL191:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1600 008c 70BD     		pop	{r4, r5, r6, pc}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1601              	.LVL192:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1602              	.L110:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 567:Drivers/BME680/bme680.c **** 		}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1603              		.loc 1 567 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1604 008e 3300     		movs	r3, r6
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1605 0090 0122     		movs	r2, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1606 0092 6946     		mov	r1, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1607 0094 0731     		adds	r1, r1, #7
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1608 0096 6846     		mov	r0, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1609 0098 0630     		adds	r0, r0, #6
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1610 009a FFF7FEFF 		bl	bme680_set_regs
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1611              	.LVL193:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1612 009e 0400     		movs	r4, r0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1613              	.LVL194:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1614 00a0 F2E7     		b	.L102
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1615              	.LVL195:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1616              	.L105:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1617              	.LBB110:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1618              	.LBB109:
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 52
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							1131:Drivers/BME680/bme680.c **** 	} else {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1619              		.loc 1 1131 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1620 00a2 0124     		movs	r4, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1621 00a4 6442     		rsbs	r4, r4, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1622 00a6 EFE7     		b	.L102
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1623              	.L106:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1624 00a8 0124     		movs	r4, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1625 00aa 6442     		rsbs	r4, r4, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1626 00ac ECE7     		b	.L102
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1627              	.L107:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1628 00ae 0124     		movs	r4, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1629 00b0 6442     		rsbs	r4, r4, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1630 00b2 E9E7     		b	.L102
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1631              	.L108:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1632 00b4 0124     		movs	r4, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1633 00b6 6442     		rsbs	r4, r4, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1634 00b8 E6E7     		b	.L102
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1635              	.LBE109:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1636              	.LBE110:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1637              		.cfi_endproc
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1638              	.LFE6:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1640              		.global	__aeabi_idiv
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1641              		.section	.text.bme680_set_sensor_settings,"ax",%progbits
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1642              		.align	1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1643              		.global	bme680_set_sensor_settings
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1644              		.syntax unified
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1645              		.code	16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1646              		.thumb_func
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1647              		.fpu softvfp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1649              	bme680_set_sensor_settings:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1650              	.LFB4:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 363:Drivers/BME680/bme680.c **** 	int8_t rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1651              		.loc 1 363 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1652              		.cfi_startproc
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1653              		@ args = 0, pretend = 0, frame = 24
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1654              		@ frame_needed = 0, uses_anonymous_args = 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1655              	.LVL196:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1656 0000 F0B5     		push	{r4, r5, r6, r7, lr}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1657              	.LCFI17:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1658              		.cfi_def_cfa_offset 20
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1659              		.cfi_offset 4, -20
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1660              		.cfi_offset 5, -16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1661              		.cfi_offset 6, -12
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1662              		.cfi_offset 7, -8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1663              		.cfi_offset 14, -4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1664 0002 D646     		mov	lr, r10
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1665 0004 4F46     		mov	r7, r9
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1666 0006 4646     		mov	r6, r8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1667 0008 C0B5     		push	{r6, r7, lr}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1668              	.LCFI18:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1669              		.cfi_def_cfa_offset 32
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1670              		.cfi_offset 8, -32
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1671              		.cfi_offset 9, -28
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1672              		.cfi_offset 10, -24
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1673 000a 86B0     		sub	sp, sp, #24
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1674              	.LCFI19:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1675              		.cfi_def_cfa_offset 56
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 53
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1676 000c 0600     		movs	r6, r0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1677 000e 0C00     		movs	r4, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 366:Drivers/BME680/bme680.c **** 	uint8_t count = 0;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1678              		.loc 1 366 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1679 0010 1723     		movs	r3, #23
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1680 0012 6B44     		add	r3, r3, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1681 0014 0022     		movs	r2, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1682 0016 1A70     		strb	r2, [r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1683              	.LVL197:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 368:Drivers/BME680/bme680.c **** 	uint8_t data_array[BME680_REG_BUFFER_LENGTH] = { 0 };
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1684              		.loc 1 368 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1685 0018 0632     		adds	r2, r2, #6
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1686 001a 0021     		movs	r1, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1687              	.LVL198:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1688 001c 04A8     		add	r0, sp, #16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1689              	.LVL199:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1690 001e FFF7FEFF 		bl	memset
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1691              	.LVL200:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 369:Drivers/BME680/bme680.c **** 	uint8_t intended_power_mode = dev->power_mode; /* Save intended power mode */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1692              		.loc 1 369 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1693 0022 0622     		movs	r2, #6
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1694 0024 0021     		movs	r1, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1695 0026 02A8     		add	r0, sp, #8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1696 0028 FFF7FEFF 		bl	memset
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1697              	.LVL201:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 370:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1698              		.loc 1 370 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1699 002c 4423     		movs	r3, #68
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1700 002e E35C     		ldrb	r3, [r4, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1701 0030 9A46     		mov	r10, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1702              	.LVL202:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1703              	.LBB134:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1704              	.LBB135:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1129:Drivers/BME680/bme680.c **** 		/* Device structure pointer is not valid */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1705              		.loc 1 1129 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1706 0032 002C     		cmp	r4, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1707 0034 00D1     		bne	.LCB1900
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1708 0036 F6E1     		b	.L142	@long jump
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1709              	.LCB1900:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1710 0038 A36C     		ldr	r3, [r4, #72]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1711 003a 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1712 003c 00D1     		bne	.LCB1904
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1713 003e F5E1     		b	.L143	@long jump
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1714              	.LCB1904:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1715 0040 E36C     		ldr	r3, [r4, #76]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1716 0042 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1717 0044 00D1     		bne	.LCB1908
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1718 0046 F4E1     		b	.L144	@long jump
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1719              	.LCB1908:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1720 0048 236D     		ldr	r3, [r4, #80]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1721 004a 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1722 004c 00D1     		bne	.LCB1912
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1723 004e F3E1     		b	.L145	@long jump
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1724              	.LCB1912:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1725              	.LVL203:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1726              	.LBE135:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1727              	.LBE134:
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 54
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 375:Drivers/BME680/bme680.c **** 			rslt = set_gas_config(dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1728              		.loc 1 375 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1729 0050 3307     		lsls	r3, r6, #28
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1730 0052 35D4     		bmi	.L162
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1731              	.LBB138:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1732              	.LBB136:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1733              		.loc 1 1134 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1734 0054 0020     		movs	r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1735              	.L113:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1736              	.LVL204:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1737              	.LBE136:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1738              	.LBE138:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 378:Drivers/BME680/bme680.c **** 		if (rslt == BME680_OK)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1739              		.loc 1 378 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1740 0056 4423     		movs	r3, #68
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1741 0058 0022     		movs	r2, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1742 005a E254     		strb	r2, [r4, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 379:Drivers/BME680/bme680.c **** 			rslt = bme680_set_sensor_mode(dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1743              		.loc 1 379 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1744 005c 0028     		cmp	r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1745 005e 00D1     		bne	.LCB1933
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1746 0060 C9E0     		b	.L163	@long jump
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1747              	.LCB1933:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1748              	.LVL205:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1749              	.L120:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 383:Drivers/BME680/bme680.c **** 			rslt = boundary_check(&dev->tph_sett.filter, BME680_FILTER_SIZE_0, BME680_FILTER_SIZE_127, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1750              		.loc 1 383 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1751 0062 F306     		lsls	r3, r6, #27
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1752 0064 00D4     		bmi	.LCB1941
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1753 0066 CDE0     		b	.L155	@long jump
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1754              	.LCB1941:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1755              	.LVL206:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1756              	.LBB139:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1757              	.LBB140:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1101:Drivers/BME680/bme680.c **** 		/* Check if value is below minimum value */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1758              		.loc 1 1101 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1759 0068 2300     		movs	r3, r4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1760 006a 3B33     		adds	r3, r3, #59
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1761 006c 00D1     		bne	.LCB1952
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1762 006e C6E0     		b	.L156	@long jump
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1763              	.LCB1952:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1103:Drivers/BME680/bme680.c **** 			/* Auto correct the invalid value to minimum value */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1764              		.loc 1 1103 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1765 0070 3B23     		movs	r3, #59
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1766 0072 E35C     		ldrb	r3, [r4, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							1109:Drivers/BME680/bme680.c **** 			/* Auto correct the invalid value to maximum value */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1767              		.loc 1 1109 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1768 0074 072B     		cmp	r3, #7
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1769 0076 07D9     		bls	.L123
 | 
						
						
						
						
							 | 
							
								 | 
							
							1111:Drivers/BME680/bme680.c **** 			dev->info_msg |= BME680_I_MAX_CORRECTION;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1770              		.loc 1 1111 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1771 0078 3B23     		movs	r3, #59
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1772 007a 0722     		movs	r2, #7
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1773 007c E254     		strb	r2, [r4, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							1112:Drivers/BME680/bme680.c **** 		}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1774              		.loc 1 1112 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1775 007e 3F32     		adds	r2, r2, #63
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 55
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1776 0080 A35C     		ldrb	r3, [r4, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1777 0082 0221     		movs	r1, #2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1778 0084 0B43     		orrs	r3, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1779 0086 A354     		strb	r3, [r4, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1780              	.LVL207:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1781              	.L123:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1782              	.LBE140:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1783              	.LBE139:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 388:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1784              		.loc 1 388 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1785 0088 2300     		movs	r3, r4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1786 008a 0122     		movs	r2, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1787 008c 1721     		movs	r1, #23
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1788 008e 6944     		add	r1, r1, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1789 0090 7520     		movs	r0, #117
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1790 0092 FFF7FEFF 		bl	bme680_get_regs
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1791              	.LVL208:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1792              	.L122:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 391:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1793              		.loc 1 391 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1794 0096 1722     		movs	r2, #23
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1795 0098 6A44     		add	r2, r2, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1796 009a 1378     		ldrb	r3, [r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1797 009c 1C21     		movs	r1, #28
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1798 009e 8B43     		bics	r3, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1799 00a0 5BB2     		sxtb	r3, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1800 00a2 1F31     		adds	r1, r1, #31
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1801 00a4 655C     		ldrb	r5, [r4, r1]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1802 00a6 AD00     		lsls	r5, r5, #2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1803 00a8 1F39     		subs	r1, r1, #31
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1804 00aa 2940     		ands	r1, r5
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1805 00ac 0B43     		orrs	r3, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1806 00ae DBB2     		uxtb	r3, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1807 00b0 1370     		strb	r3, [r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 393:Drivers/BME680/bme680.c **** 			data_array[count] = data;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1808              		.loc 1 393 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1809 00b2 04AA     		add	r2, sp, #16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1810 00b4 7521     		movs	r1, #117
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1811 00b6 1170     		strb	r1, [r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 394:Drivers/BME680/bme680.c **** 			count++;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1812              		.loc 1 394 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1813 00b8 02AA     		add	r2, sp, #8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1814 00ba 1370     		strb	r3, [r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1815              	.LVL209:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 395:Drivers/BME680/bme680.c **** 		}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1816              		.loc 1 395 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1817 00bc 0125     		movs	r5, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1818 00be A2E0     		b	.L121
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1819              	.LVL210:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1820              	.L162:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1821              	.LBB142:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1822              	.LBB143:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1823              	.LBB144:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1824              	.LBB145:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1129:Drivers/BME680/bme680.c **** 		/* Device structure pointer is not valid */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1825              		.loc 1 1129 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1826 00c0 002C     		cmp	r4, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 56
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1827 00c2 00D1     		bne	.LCB2028
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1828 00c4 8BE0     		b	.L147	@long jump
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1829              	.LCB2028:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1830 00c6 A36C     		ldr	r3, [r4, #72]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1831 00c8 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1832 00ca 00D1     		bne	.LCB2032
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1833 00cc 8AE0     		b	.L148	@long jump
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1834              	.LCB2032:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1835 00ce E36C     		ldr	r3, [r4, #76]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1836 00d0 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1837 00d2 00D1     		bne	.LCB2036
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1838 00d4 89E0     		b	.L149	@long jump
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1839              	.LCB2036:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1840 00d6 236D     		ldr	r3, [r4, #80]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1841 00d8 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1842 00da 00D1     		bne	.LCB2040
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1843 00dc 88E0     		b	.L150	@long jump
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1844              	.LCB2040:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1845              	.LVL211:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1846              	.LBE145:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1847              	.LBE144:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1848              	.LBB147:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 752:Drivers/BME680/bme680.c **** 		uint8_t reg_data[2] = {0};
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1849              		.loc 1 752 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1850 00de 0023     		movs	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1851 00e0 6A46     		mov	r2, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1852 00e2 1380     		strh	r3, [r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 753:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1853              		.loc 1 753 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1854 00e4 01AA     		add	r2, sp, #4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1855 00e6 1380     		strh	r3, [r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 755:Drivers/BME680/bme680.c **** 			reg_addr[0] = BME680_RES_HEAT0_ADDR;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1856              		.loc 1 755 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1857 00e8 4433     		adds	r3, r3, #68
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1858 00ea E35C     		ldrb	r3, [r4, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1859 00ec 012B     		cmp	r3, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1860 00ee 01D0     		beq	.L164
 | 
						
						
						
						
							 | 
							
								 | 
							
							 762:Drivers/BME680/bme680.c **** 		}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1861              		.loc 1 762 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1862 00f0 0120     		movs	r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1863              	.LVL212:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1864 00f2 B0E7     		b	.L113
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1865              	.LVL213:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1866              	.L164:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 756:Drivers/BME680/bme680.c **** 			reg_data[0] = calc_heater_res(dev->gas_sett.heatr_temp, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1867              		.loc 1 756 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1868 00f4 5933     		adds	r3, r3, #89
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1869 00f6 6A46     		mov	r2, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1870 00f8 1370     		strb	r3, [r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 757:Drivers/BME680/bme680.c **** 			reg_addr[1] = BME680_GAS_WAIT0_ADDR;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1871              		.loc 1 757 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1872 00fa 1A3B     		subs	r3, r3, #26
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1873 00fc E55A     		ldrh	r5, [r4, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1874              	.LVL214:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1875              	.LBB148:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1876              	.LBB149:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 940:Drivers/BME680/bme680.c **** 		temp = 200;
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 57
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1877              		.loc 1 940 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1878 00fe C72D     		cmp	r5, #199
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1879 0100 06D9     		bls	.L152
 | 
						
						
						
						
							 | 
							
								 | 
							
							 942:Drivers/BME680/bme680.c **** 		temp = 400;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1880              		.loc 1 942 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1881 0102 5133     		adds	r3, r3, #81
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1882 0104 FF33     		adds	r3, r3, #255
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1883 0106 9D42     		cmp	r5, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1884 0108 03D9     		bls	.L116
 | 
						
						
						
						
							 | 
							
								 | 
							
							 943:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1885              		.loc 1 943 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1886 010a C825     		movs	r5, #200
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1887              	.LVL215:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1888 010c 6D00     		lsls	r5, r5, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1889 010e 00E0     		b	.L116
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1890              	.LVL216:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1891              	.L152:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 941:Drivers/BME680/bme680.c **** 	else if (temp > 400)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1892              		.loc 1 941 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1893 0110 C825     		movs	r5, #200
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1894              	.LVL217:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1895              	.L116:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 945:Drivers/BME680/bme680.c **** 	var2 = (dev->calib.par_gh1 + 784) * (((((dev->calib.par_gh2 + 154009) * temp * 5) / 100) + 3276800
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1896              		.loc 1 945 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1897 0112 0423     		movs	r3, #4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1898 0114 E356     		ldrsb	r3, [r4, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1899 0116 1420     		movs	r0, #20
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1900 0118 2056     		ldrsb	r0, [r4, r0]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1901 011a 5843     		muls	r0, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1902 011c FA21     		movs	r1, #250
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1903 011e 8900     		lsls	r1, r1, #2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1904 0120 FFF7FEFF 		bl	__aeabi_idiv
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1905              	.LVL218:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1906 0124 0302     		lsls	r3, r0, #8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1907 0126 9946     		mov	r9, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1908              	.LVL219:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 946:Drivers/BME680/bme680.c **** 	var3 = var1 + (var2 / 2);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1909              		.loc 1 946 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1910 0128 1123     		movs	r3, #17
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1911              	.LVL220:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1912 012a E356     		ldrsb	r3, [r4, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1913 012c C422     		movs	r2, #196
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1914 012e 9200     		lsls	r2, r2, #2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1915 0130 9046     		mov	r8, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1916 0132 9844     		add	r8, r8, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1917 0134 1222     		movs	r2, #18
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1918 0136 A35E     		ldrsh	r3, [r4, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1919 0138 C14A     		ldr	r2, .L166
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1920 013a 9446     		mov	ip, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1921 013c 6344     		add	r3, r3, ip
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1922 013e 6B43     		muls	r3, r5
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1923 0140 9800     		lsls	r0, r3, #2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1924 0142 C018     		adds	r0, r0, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1925 0144 6421     		movs	r1, #100
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1926 0146 FFF7FEFF 		bl	__aeabi_idiv
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1927              	.LVL221:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1928 014a C823     		movs	r3, #200
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 58
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1929 014c 9B03     		lsls	r3, r3, #14
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1930 014e 9C46     		mov	ip, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1931 0150 6044     		add	r0, r0, ip
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1932 0152 0A21     		movs	r1, #10
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1933 0154 FFF7FEFF 		bl	__aeabi_idiv
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1934              	.LVL222:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1935 0158 4346     		mov	r3, r8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1936 015a 4343     		muls	r3, r0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1937              	.LVL223:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 947:Drivers/BME680/bme680.c **** 	var4 = (var3 / (dev->calib.res_heat_range + 4));
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1938              		.loc 1 947 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1939 015c D80F     		lsrs	r0, r3, #31
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1940 015e C018     		adds	r0, r0, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1941 0160 4010     		asrs	r0, r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1942 0162 4844     		add	r0, r0, r9
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1943              	.LVL224:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 948:Drivers/BME680/bme680.c **** 	var5 = (131 * dev->calib.res_heat_val) + 65536;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1944              		.loc 1 948 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1945 0164 3423     		movs	r3, #52
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1946              	.LVL225:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1947 0166 E15C     		ldrb	r1, [r4, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1948 0168 0431     		adds	r1, r1, #4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1949 016a FFF7FEFF 		bl	__aeabi_idiv
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1950              	.LVL226:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 949:Drivers/BME680/bme680.c **** 	heatr_res_x100 = (int32_t) (((var4 / var5) - 250) * 34);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1951              		.loc 1 949 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1952 016e 3523     		movs	r3, #53
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1953 0170 E356     		ldrsb	r3, [r4, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1954 0172 9901     		lsls	r1, r3, #6
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1955 0174 C918     		adds	r1, r1, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1956 0176 4900     		lsls	r1, r1, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1957 0178 C918     		adds	r1, r1, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1958 017a 8023     		movs	r3, #128
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1959 017c 5B02     		lsls	r3, r3, #9
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1960 017e 9C46     		mov	ip, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1961 0180 6144     		add	r1, r1, ip
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1962              	.LVL227:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 950:Drivers/BME680/bme680.c **** 	heatr_res = (uint8_t) ((heatr_res_x100 + 50) / 100);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1963              		.loc 1 950 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1964 0182 FFF7FEFF 		bl	__aeabi_idiv
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1965              	.LVL228:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1966 0186 0300     		movs	r3, r0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1967 0188 FA3B     		subs	r3, r3, #250
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1968 018a 1801     		lsls	r0, r3, #4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1969 018c C018     		adds	r0, r0, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1970 018e 4000     		lsls	r0, r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1971              	.LVL229:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 951:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1972              		.loc 1 951 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1973 0190 3230     		adds	r0, r0, #50
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1974              	.LVL230:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1975 0192 6421     		movs	r1, #100
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1976 0194 FFF7FEFF 		bl	__aeabi_idiv
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1977              	.LVL231:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1978              	.LBE149:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1979              	.LBE148:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 757:Drivers/BME680/bme680.c **** 			reg_addr[1] = BME680_GAS_WAIT0_ADDR;
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 59
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1980              		.loc 1 757 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1981 0198 01AB     		add	r3, sp, #4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1982 019a 1870     		strb	r0, [r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 758:Drivers/BME680/bme680.c **** 			reg_data[1] = calc_heater_dur(dev->gas_sett.heatr_dur);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1983              		.loc 1 758 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1984 019c 6423     		movs	r3, #100
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1985 019e 6A46     		mov	r2, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1986 01a0 5370     		strb	r3, [r2, #1]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 759:Drivers/BME680/bme680.c **** 			dev->gas_sett.nb_conv = 0;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1987              		.loc 1 759 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1988 01a2 223B     		subs	r3, r3, #34
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1989 01a4 E35A     		ldrh	r3, [r4, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1990              	.LVL232:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1991              	.LBB150:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1992              	.LBB151:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 964:Drivers/BME680/bme680.c **** 		durval = 0xff; /* Max duration*/
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1993              		.loc 1 964 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1994 01a6 A74A     		ldr	r2, .L166+4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1995 01a8 9342     		cmp	r3, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1996 01aa 16D8     		bhi	.L154
 | 
						
						
						
						
							 | 
							
								 | 
							
							 961:Drivers/BME680/bme680.c **** 	uint8_t durval;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1997              		.loc 1 961 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1998 01ac 0022     		movs	r2, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 1999 01ae 02E0     		b	.L118
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2000              	.LVL233:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2001              	.L119:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 968:Drivers/BME680/bme680.c **** 			factor += 1;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2002              		.loc 1 968 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2003 01b0 9B08     		lsrs	r3, r3, #2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2004              	.LVL234:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 969:Drivers/BME680/bme680.c **** 		}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2005              		.loc 1 969 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2006 01b2 0132     		adds	r2, r2, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2007              	.LVL235:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2008 01b4 D2B2     		uxtb	r2, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2009              	.LVL236:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2010              	.L118:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 967:Drivers/BME680/bme680.c **** 			dur = dur / 4;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2011              		.loc 1 967 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2012 01b6 3F2B     		cmp	r3, #63
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2013 01b8 FAD8     		bhi	.L119
 | 
						
						
						
						
							 | 
							
								 | 
							
							 971:Drivers/BME680/bme680.c **** 	}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2014              		.loc 1 971 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2015 01ba DBB2     		uxtb	r3, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2016              	.LVL237:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2017 01bc 9201     		lsls	r2, r2, #6
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2018              	.LVL238:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2019 01be D2B2     		uxtb	r2, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2020 01c0 9B18     		adds	r3, r3, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2021 01c2 DBB2     		uxtb	r3, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2022              	.LVL239:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2023              	.L117:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2024              	.LBE151:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2025              	.LBE150:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 759:Drivers/BME680/bme680.c **** 			dev->gas_sett.nb_conv = 0;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2026              		.loc 1 759 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2027 01c4 01A9     		add	r1, sp, #4
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 60
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2028 01c6 4B70     		strb	r3, [r1, #1]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 760:Drivers/BME680/bme680.c **** 		} else {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2029              		.loc 1 760 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2030 01c8 3C23     		movs	r3, #60
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2031 01ca 0022     		movs	r2, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2032 01cc E254     		strb	r2, [r4, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2033              	.LVL240:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 765:Drivers/BME680/bme680.c **** 	}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2034              		.loc 1 765 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2035 01ce 2300     		movs	r3, r4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2036 01d0 0232     		adds	r2, r2, #2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2037 01d2 6846     		mov	r0, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2038 01d4 FFF7FEFF 		bl	bme680_set_regs
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2039              	.LVL241:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2040 01d8 3DE7     		b	.L113
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2041              	.LVL242:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2042              	.L154:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2043              	.LBB153:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2044              	.LBB152:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 965:Drivers/BME680/bme680.c **** 	} else {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2045              		.loc 1 965 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2046 01da FF23     		movs	r3, #255
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2047              	.LVL243:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2048 01dc F2E7     		b	.L117
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2049              	.LVL244:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2050              	.L147:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2051              	.LBE152:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2052              	.LBE153:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2053              	.LBE147:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2054              	.LBB154:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2055              	.LBB146:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1131:Drivers/BME680/bme680.c **** 	} else {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2056              		.loc 1 1131 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2057 01de 0120     		movs	r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2058 01e0 4042     		rsbs	r0, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2059 01e2 38E7     		b	.L113
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2060              	.L148:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2061 01e4 0120     		movs	r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2062 01e6 4042     		rsbs	r0, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2063 01e8 35E7     		b	.L113
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2064              	.L149:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2065 01ea 0120     		movs	r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2066 01ec 4042     		rsbs	r0, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2067 01ee 32E7     		b	.L113
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2068              	.L150:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2069 01f0 0120     		movs	r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2070 01f2 4042     		rsbs	r0, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2071              	.LVL245:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2072 01f4 2FE7     		b	.L113
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2073              	.LVL246:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2074              	.L163:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2075              	.LBE146:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2076              	.LBE154:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2077              	.LBE143:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2078              	.LBE142:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 380:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2079              		.loc 1 380 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 61
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2080 01f6 2000     		movs	r0, r4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2081              	.LVL247:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2082 01f8 FFF7FEFF 		bl	bme680_set_sensor_mode
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2083              	.LVL248:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2084 01fc 31E7     		b	.L120
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2085              	.LVL249:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2086              	.L156:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2087              	.LBB155:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2088              	.LBB141:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1115:Drivers/BME680/bme680.c **** 	}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2089              		.loc 1 1115 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2090 01fe 0120     		movs	r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2091              	.LVL250:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2092 0200 4042     		rsbs	r0, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2093 0202 48E7     		b	.L122
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2094              	.LVL251:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2095              	.L155:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2096              	.LBE141:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2097              	.LBE155:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 367:Drivers/BME680/bme680.c **** 	uint8_t reg_array[BME680_REG_BUFFER_LENGTH] = { 0 };
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2098              		.loc 1 367 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2099 0204 0025     		movs	r5, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2100              	.LVL252:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2101              	.L121:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 399:Drivers/BME680/bme680.c **** 			rslt = boundary_check(&dev->gas_sett.heatr_ctrl, BME680_ENABLE_HEATER,
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2102              		.loc 1 399 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2103 0206 B306     		lsls	r3, r6, #26
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2104 0208 2CD5     		bpl	.L124
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2105              	.LVL253:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2106              	.LBB156:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2107              	.LBB157:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1101:Drivers/BME680/bme680.c **** 		/* Check if value is below minimum value */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2108              		.loc 1 1101 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2109 020a 2300     		movs	r3, r4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2110 020c 3D33     		adds	r3, r3, #61
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2111 020e 00D1     		bne	.LCB2366
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2112 0210 F3E0     		b	.L157	@long jump
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2113              	.LCB2366:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1103:Drivers/BME680/bme680.c **** 			/* Auto correct the invalid value to minimum value */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2114              		.loc 1 1103 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2115 0212 3D23     		movs	r3, #61
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2116 0214 E35C     		ldrb	r3, [r4, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							1109:Drivers/BME680/bme680.c **** 			/* Auto correct the invalid value to maximum value */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2117              		.loc 1 1109 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2118 0216 082B     		cmp	r3, #8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2119 0218 07D9     		bls	.L126
 | 
						
						
						
						
							 | 
							
								 | 
							
							1111:Drivers/BME680/bme680.c **** 			dev->info_msg |= BME680_I_MAX_CORRECTION;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2120              		.loc 1 1111 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2121 021a 3D23     		movs	r3, #61
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2122 021c 0822     		movs	r2, #8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2123 021e E254     		strb	r2, [r4, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							1112:Drivers/BME680/bme680.c **** 		}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2124              		.loc 1 1112 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2125 0220 3E32     		adds	r2, r2, #62
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2126 0222 A35C     		ldrb	r3, [r4, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2127 0224 0221     		movs	r1, #2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2128 0226 0B43     		orrs	r3, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 62
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2129 0228 A354     		strb	r3, [r4, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2130              	.LVL254:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2131              	.L126:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2132              	.LBE157:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2133              	.LBE156:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 405:Drivers/BME680/bme680.c **** 			data = BME680_SET_BITS_POS_0(data, BME680_HCTRL, dev->gas_sett.heatr_ctrl);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2134              		.loc 1 405 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2135 022a 2300     		movs	r3, r4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2136 022c 0122     		movs	r2, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2137 022e 1721     		movs	r1, #23
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2138 0230 6944     		add	r1, r1, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2139 0232 7020     		movs	r0, #112
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2140 0234 FFF7FEFF 		bl	bme680_get_regs
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2141              	.LVL255:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2142              	.L125:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 406:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2143              		.loc 1 406 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2144 0238 1722     		movs	r2, #23
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2145 023a 6A44     		add	r2, r2, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2146 023c 1378     		ldrb	r3, [r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2147 023e 0821     		movs	r1, #8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2148 0240 8B43     		bics	r3, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2149 0242 5BB2     		sxtb	r3, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2150 0244 3531     		adds	r1, r1, #53
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2151 0246 6156     		ldrsb	r1, [r4, r1]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2152 0248 8C46     		mov	ip, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2153 024a 0821     		movs	r1, #8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2154 024c 6746     		mov	r7, ip
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2155 024e 3940     		ands	r1, r7
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2156 0250 0B43     		orrs	r3, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2157 0252 DBB2     		uxtb	r3, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2158 0254 1370     		strb	r3, [r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 408:Drivers/BME680/bme680.c **** 			data_array[count] = data;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2159              		.loc 1 408 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2160 0256 04AA     		add	r2, sp, #16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2161 0258 7021     		movs	r1, #112
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2162 025a 5155     		strb	r1, [r2, r5]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 409:Drivers/BME680/bme680.c **** 			count++;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2163              		.loc 1 409 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2164 025c 02AA     		add	r2, sp, #8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2165 025e 5355     		strb	r3, [r2, r5]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 410:Drivers/BME680/bme680.c **** 		}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2166              		.loc 1 410 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2167 0260 0135     		adds	r5, r5, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2168              	.LVL256:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2169 0262 EDB2     		uxtb	r5, r5
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2170              	.LVL257:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2171              	.L124:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 414:Drivers/BME680/bme680.c **** 			rslt = boundary_check(&dev->tph_sett.os_temp, BME680_OS_NONE, BME680_OS_16X, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2172              		.loc 1 414 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2173 0264 B307     		lsls	r3, r6, #30
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2174 0266 3DD0     		beq	.L127
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2175              	.LVL258:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2176              	.LBB159:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2177              	.LBB160:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1101:Drivers/BME680/bme680.c **** 		/* Check if value is below minimum value */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2178              		.loc 1 1101 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 63
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2179 0268 2300     		movs	r3, r4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2180 026a 3933     		adds	r3, r3, #57
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2181 026c 00D1     		bne	.LCB2453
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2182 026e C7E0     		b	.L158	@long jump
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2183              	.LCB2453:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1103:Drivers/BME680/bme680.c **** 			/* Auto correct the invalid value to minimum value */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2184              		.loc 1 1103 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2185 0270 3923     		movs	r3, #57
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2186 0272 E35C     		ldrb	r3, [r4, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							1109:Drivers/BME680/bme680.c **** 			/* Auto correct the invalid value to maximum value */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2187              		.loc 1 1109 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2188 0274 052B     		cmp	r3, #5
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2189 0276 07D9     		bls	.L129
 | 
						
						
						
						
							 | 
							
								 | 
							
							1111:Drivers/BME680/bme680.c **** 			dev->info_msg |= BME680_I_MAX_CORRECTION;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2190              		.loc 1 1111 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2191 0278 3923     		movs	r3, #57
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2192 027a 0522     		movs	r2, #5
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2193 027c E254     		strb	r2, [r4, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							1112:Drivers/BME680/bme680.c **** 		}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2194              		.loc 1 1112 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2195 027e 4132     		adds	r2, r2, #65
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2196 0280 A35C     		ldrb	r3, [r4, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2197 0282 0221     		movs	r1, #2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2198 0284 0B43     		orrs	r3, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2199 0286 A354     		strb	r3, [r4, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2200              	.LVL259:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2201              	.L129:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2202              	.LBE160:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2203              	.LBE159:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 419:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2204              		.loc 1 419 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2205 0288 2300     		movs	r3, r4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2206 028a 0122     		movs	r2, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2207 028c 1721     		movs	r1, #23
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2208 028e 6944     		add	r1, r1, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2209 0290 7420     		movs	r0, #116
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2210 0292 FFF7FEFF 		bl	bme680_get_regs
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2211              	.LVL260:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2212              	.L128:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 421:Drivers/BME680/bme680.c **** 				data = BME680_SET_BITS(data, BME680_OST, dev->tph_sett.os_temp);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2213              		.loc 1 421 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2214 0296 F307     		lsls	r3, r6, #31
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2215 0298 09D5     		bpl	.L130
 | 
						
						
						
						
							 | 
							
								 | 
							
							 422:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2216              		.loc 1 422 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2217 029a 1722     		movs	r2, #23
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2218 029c 6A44     		add	r2, r2, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2219 029e 1178     		ldrb	r1, [r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2220 02a0 1F23     		movs	r3, #31
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2221 02a2 0B40     		ands	r3, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2222 02a4 3921     		movs	r1, #57
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2223 02a6 615C     		ldrb	r1, [r4, r1]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2224 02a8 4901     		lsls	r1, r1, #5
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2225 02aa 0B43     		orrs	r3, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2226 02ac 1370     		strb	r3, [r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2227              	.L130:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 424:Drivers/BME680/bme680.c **** 				data = BME680_SET_BITS(data, BME680_OSP, dev->tph_sett.os_pres);
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 64
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2228              		.loc 1 424 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2229 02ae B307     		lsls	r3, r6, #30
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2230 02b0 0ED5     		bpl	.L131
 | 
						
						
						
						
							 | 
							
								 | 
							
							 425:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2231              		.loc 1 425 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2232 02b2 1722     		movs	r2, #23
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2233 02b4 6A44     		add	r2, r2, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2234 02b6 1378     		ldrb	r3, [r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2235 02b8 1C21     		movs	r1, #28
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2236 02ba 8B43     		bics	r3, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2237 02bc 5BB2     		sxtb	r3, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2238 02be 1E31     		adds	r1, r1, #30
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2239 02c0 615C     		ldrb	r1, [r4, r1]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2240 02c2 8900     		lsls	r1, r1, #2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2241 02c4 8C46     		mov	ip, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2242 02c6 1C21     		movs	r1, #28
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2243 02c8 6746     		mov	r7, ip
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2244 02ca 3940     		ands	r1, r7
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2245 02cc 0B43     		orrs	r3, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2246 02ce 1370     		strb	r3, [r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2247              	.L131:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 427:Drivers/BME680/bme680.c **** 			data_array[count] = data;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2248              		.loc 1 427 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2249 02d0 04AB     		add	r3, sp, #16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2250 02d2 7422     		movs	r2, #116
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2251 02d4 5A55     		strb	r2, [r3, r5]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 428:Drivers/BME680/bme680.c **** 			count++;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2252              		.loc 1 428 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2253 02d6 1723     		movs	r3, #23
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2254 02d8 6B44     		add	r3, r3, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2255 02da 1A78     		ldrb	r2, [r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2256 02dc 02AB     		add	r3, sp, #8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2257 02de 5A55     		strb	r2, [r3, r5]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 429:Drivers/BME680/bme680.c **** 		}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2258              		.loc 1 429 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2259 02e0 0135     		adds	r5, r5, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2260              	.LVL261:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2261 02e2 EDB2     		uxtb	r5, r5
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2262              	.LVL262:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2263              	.L127:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 433:Drivers/BME680/bme680.c **** 			rslt = boundary_check(&dev->tph_sett.os_hum, BME680_OS_NONE, BME680_OS_16X, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2264              		.loc 1 433 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2265 02e4 7307     		lsls	r3, r6, #29
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2266 02e6 2CD5     		bpl	.L132
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2267              	.LVL263:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2268              	.LBB162:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2269              	.LBB163:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1101:Drivers/BME680/bme680.c **** 		/* Check if value is below minimum value */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2270              		.loc 1 1101 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2271 02e8 2300     		movs	r3, r4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2272 02ea 3833     		adds	r3, r3, #56
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2273 02ec 00D1     		bne	.LCB2572
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2274 02ee 8AE0     		b	.L159	@long jump
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2275              	.LCB2572:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1103:Drivers/BME680/bme680.c **** 			/* Auto correct the invalid value to minimum value */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2276              		.loc 1 1103 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2277 02f0 3823     		movs	r3, #56
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 65
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2278 02f2 E35C     		ldrb	r3, [r4, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							1109:Drivers/BME680/bme680.c **** 			/* Auto correct the invalid value to maximum value */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2279              		.loc 1 1109 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2280 02f4 052B     		cmp	r3, #5
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2281 02f6 07D9     		bls	.L134
 | 
						
						
						
						
							 | 
							
								 | 
							
							1111:Drivers/BME680/bme680.c **** 			dev->info_msg |= BME680_I_MAX_CORRECTION;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2282              		.loc 1 1111 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2283 02f8 3823     		movs	r3, #56
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2284 02fa 0522     		movs	r2, #5
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2285 02fc E254     		strb	r2, [r4, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							1112:Drivers/BME680/bme680.c **** 		}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2286              		.loc 1 1112 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2287 02fe 4132     		adds	r2, r2, #65
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2288 0300 A35C     		ldrb	r3, [r4, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2289 0302 0221     		movs	r1, #2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2290 0304 0B43     		orrs	r3, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2291 0306 A354     		strb	r3, [r4, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2292              	.LVL264:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2293              	.L134:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2294              	.LBE163:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2295              	.LBE162:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 438:Drivers/BME680/bme680.c **** 			data = BME680_SET_BITS_POS_0(data, BME680_OSH, dev->tph_sett.os_hum);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2296              		.loc 1 438 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2297 0308 2300     		movs	r3, r4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2298 030a 0122     		movs	r2, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2299 030c 1721     		movs	r1, #23
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2300 030e 6944     		add	r1, r1, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2301 0310 7220     		movs	r0, #114
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2302 0312 FFF7FEFF 		bl	bme680_get_regs
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2303              	.LVL265:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2304              	.L133:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 439:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2305              		.loc 1 439 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2306 0316 1722     		movs	r2, #23
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2307 0318 6A44     		add	r2, r2, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2308 031a 1378     		ldrb	r3, [r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2309 031c 0721     		movs	r1, #7
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2310 031e 8B43     		bics	r3, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2311 0320 5BB2     		sxtb	r3, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2312 0322 3131     		adds	r1, r1, #49
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2313 0324 6156     		ldrsb	r1, [r4, r1]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2314 0326 8C46     		mov	ip, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2315 0328 0721     		movs	r1, #7
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2316 032a 6746     		mov	r7, ip
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2317 032c 3940     		ands	r1, r7
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2318 032e 0B43     		orrs	r3, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2319 0330 DBB2     		uxtb	r3, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2320 0332 1370     		strb	r3, [r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 441:Drivers/BME680/bme680.c **** 			data_array[count] = data;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2321              		.loc 1 441 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2322 0334 04AA     		add	r2, sp, #16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2323 0336 7221     		movs	r1, #114
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2324 0338 5155     		strb	r1, [r2, r5]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 442:Drivers/BME680/bme680.c **** 			count++;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2325              		.loc 1 442 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2326 033a 02AA     		add	r2, sp, #8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2327 033c 5355     		strb	r3, [r2, r5]
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 66
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 443:Drivers/BME680/bme680.c **** 		}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2328              		.loc 1 443 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2329 033e 0135     		adds	r5, r5, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2330              	.LVL266:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2331 0340 EDB2     		uxtb	r5, r5
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2332              	.LVL267:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2333              	.L132:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 447:Drivers/BME680/bme680.c **** 			rslt = boundary_check(&dev->gas_sett.run_gas, BME680_RUN_GAS_DISABLE,
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2334              		.loc 1 447 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2335 0342 C023     		movs	r3, #192
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2336 0344 3342     		tst	r3, r6
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2337 0346 4DD0     		beq	.L135
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2338              	.LVL268:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2339              	.LBB165:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2340              	.LBB166:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1101:Drivers/BME680/bme680.c **** 		/* Check if value is below minimum value */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2341              		.loc 1 1101 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2342 0348 2300     		movs	r3, r4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2343 034a 3E33     		adds	r3, r3, #62
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2344 034c 5ED0     		beq	.L160
 | 
						
						
						
						
							 | 
							
								 | 
							
							1103:Drivers/BME680/bme680.c **** 			/* Auto correct the invalid value to minimum value */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2345              		.loc 1 1103 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2346 034e 3E23     		movs	r3, #62
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2347 0350 E35C     		ldrb	r3, [r4, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							1109:Drivers/BME680/bme680.c **** 			/* Auto correct the invalid value to maximum value */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2348              		.loc 1 1109 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2349 0352 012B     		cmp	r3, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2350 0354 07D9     		bls	.L137
 | 
						
						
						
						
							 | 
							
								 | 
							
							1111:Drivers/BME680/bme680.c **** 			dev->info_msg |= BME680_I_MAX_CORRECTION;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2351              		.loc 1 1111 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2352 0356 3E23     		movs	r3, #62
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2353 0358 0122     		movs	r2, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2354 035a E254     		strb	r2, [r4, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							1112:Drivers/BME680/bme680.c **** 		}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2355              		.loc 1 1112 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2356 035c 4532     		adds	r2, r2, #69
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2357 035e A35C     		ldrb	r3, [r4, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2358 0360 0221     		movs	r1, #2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2359 0362 0B43     		orrs	r3, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2360 0364 A354     		strb	r3, [r4, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2361              	.LVL269:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2362              	.L137:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2363              	.LBE166:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2364              	.LBE165:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2365              	.LBB168:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2366              	.LBB169:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1101:Drivers/BME680/bme680.c **** 		/* Check if value is below minimum value */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2367              		.loc 1 1101 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2368 0366 2300     		movs	r3, r4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2369 0368 3C33     		adds	r3, r3, #60
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2370 036a 52D0     		beq	.L161
 | 
						
						
						
						
							 | 
							
								 | 
							
							1103:Drivers/BME680/bme680.c **** 			/* Auto correct the invalid value to minimum value */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2371              		.loc 1 1103 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2372 036c 3C23     		movs	r3, #60
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2373 036e E35C     		ldrb	r3, [r4, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							1109:Drivers/BME680/bme680.c **** 			/* Auto correct the invalid value to maximum value */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2374              		.loc 1 1109 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 67
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2375 0370 0A2B     		cmp	r3, #10
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2376 0372 07D9     		bls	.L138
 | 
						
						
						
						
							 | 
							
								 | 
							
							1111:Drivers/BME680/bme680.c **** 			dev->info_msg |= BME680_I_MAX_CORRECTION;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2377              		.loc 1 1111 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2378 0374 3C23     		movs	r3, #60
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2379 0376 0A22     		movs	r2, #10
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2380 0378 E254     		strb	r2, [r4, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							1112:Drivers/BME680/bme680.c **** 		}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2381              		.loc 1 1112 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2382 037a 3C32     		adds	r2, r2, #60
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2383 037c A35C     		ldrb	r3, [r4, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2384 037e 0221     		movs	r1, #2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2385 0380 0B43     		orrs	r3, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2386 0382 A354     		strb	r3, [r4, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2387              	.LVL270:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2388              	.L138:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2389              	.LBE169:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2390              	.LBE168:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 459:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2391              		.loc 1 459 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2392 0384 2300     		movs	r3, r4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2393 0386 0122     		movs	r2, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2394 0388 1721     		movs	r1, #23
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2395 038a 6944     		add	r1, r1, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2396 038c 7120     		movs	r0, #113
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2397 038e FFF7FEFF 		bl	bme680_get_regs
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2398              	.LVL271:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2399              	.L136:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 461:Drivers/BME680/bme680.c **** 				data = BME680_SET_BITS(data, BME680_RUN_GAS, dev->gas_sett.run_gas);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2400              		.loc 1 461 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2401 0392 7306     		lsls	r3, r6, #25
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2402 0394 0ED5     		bpl	.L139
 | 
						
						
						
						
							 | 
							
								 | 
							
							 462:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2403              		.loc 1 462 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2404 0396 1722     		movs	r2, #23
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2405 0398 6A44     		add	r2, r2, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2406 039a 1378     		ldrb	r3, [r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2407 039c 1021     		movs	r1, #16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2408 039e 8B43     		bics	r3, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2409 03a0 5BB2     		sxtb	r3, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2410 03a2 2E31     		adds	r1, r1, #46
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2411 03a4 615C     		ldrb	r1, [r4, r1]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2412 03a6 0901     		lsls	r1, r1, #4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2413 03a8 8C46     		mov	ip, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2414 03aa 1021     		movs	r1, #16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2415 03ac 6746     		mov	r7, ip
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2416 03ae 3940     		ands	r1, r7
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2417 03b0 0B43     		orrs	r3, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2418 03b2 1370     		strb	r3, [r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2419              	.L139:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 464:Drivers/BME680/bme680.c **** 				data = BME680_SET_BITS_POS_0(data, BME680_NBCONV, dev->gas_sett.nb_conv);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2420              		.loc 1 464 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2421 03b4 3306     		lsls	r3, r6, #24
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2422 03b6 0BD5     		bpl	.L140
 | 
						
						
						
						
							 | 
							
								 | 
							
							 465:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2423              		.loc 1 465 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2424 03b8 1722     		movs	r2, #23
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 68
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2425 03ba 6A44     		add	r2, r2, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2426 03bc 1378     		ldrb	r3, [r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2427 03be 0F21     		movs	r1, #15
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2428 03c0 8B43     		bics	r3, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2429 03c2 5BB2     		sxtb	r3, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2430 03c4 2D31     		adds	r1, r1, #45
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2431 03c6 6656     		ldrsb	r6, [r4, r1]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2432 03c8 2D39     		subs	r1, r1, #45
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2433 03ca 3140     		ands	r1, r6
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2434 03cc 0B43     		orrs	r3, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2435 03ce 1370     		strb	r3, [r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2436              	.L140:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 467:Drivers/BME680/bme680.c **** 			data_array[count] = data;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2437              		.loc 1 467 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2438 03d0 04AB     		add	r3, sp, #16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2439 03d2 7122     		movs	r2, #113
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2440 03d4 5A55     		strb	r2, [r3, r5]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 468:Drivers/BME680/bme680.c **** 			count++;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2441              		.loc 1 468 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2442 03d6 1723     		movs	r3, #23
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2443 03d8 6B44     		add	r3, r3, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2444 03da 1A78     		ldrb	r2, [r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2445 03dc 02AB     		add	r3, sp, #8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2446 03de 5A55     		strb	r2, [r3, r5]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 469:Drivers/BME680/bme680.c **** 		}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2447              		.loc 1 469 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2448 03e0 0135     		adds	r5, r5, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2449              	.LVL272:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2450 03e2 EDB2     		uxtb	r5, r5
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2451              	.LVL273:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2452              	.L135:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 472:Drivers/BME680/bme680.c **** 			rslt = bme680_set_regs(reg_array, data_array, count, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2453              		.loc 1 472 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2454 03e4 0028     		cmp	r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2455 03e6 17D0     		beq	.L165
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2456              	.LVL274:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2457              	.L141:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 476:Drivers/BME680/bme680.c **** 	}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2458              		.loc 1 476 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2459 03e8 4423     		movs	r3, #68
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2460 03ea 5246     		mov	r2, r10
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2461 03ec E254     		strb	r2, [r4, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2462              	.LVL275:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2463              	.L112:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 480:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2464              		.loc 1 480 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2465 03ee 06B0     		add	sp, sp, #24
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2466              		@ sp needed
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2467              	.LVL276:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2468              	.LVL277:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2469 03f0 1CBC     		pop	{r2, r3, r4}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2470 03f2 9046     		mov	r8, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2471 03f4 9946     		mov	r9, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2472 03f6 A246     		mov	r10, r4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2473 03f8 F0BD     		pop	{r4, r5, r6, r7, pc}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2474              	.LVL278:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2475              	.L157:
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 69
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2476              	.LBB171:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2477              	.LBB158:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1115:Drivers/BME680/bme680.c **** 	}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2478              		.loc 1 1115 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2479 03fa 0120     		movs	r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2480              	.LVL279:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2481 03fc 4042     		rsbs	r0, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2482 03fe 1BE7     		b	.L125
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2483              	.LVL280:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2484              	.L158:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2485              	.LBE158:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2486              	.LBE171:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2487              	.LBB172:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2488              	.LBB161:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2489 0400 0120     		movs	r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2490              	.LVL281:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2491 0402 4042     		rsbs	r0, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2492 0404 47E7     		b	.L128
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2493              	.LVL282:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2494              	.L159:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2495              	.LBE161:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2496              	.LBE172:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2497              	.LBB173:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2498              	.LBB164:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2499 0406 0120     		movs	r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2500              	.LVL283:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2501 0408 4042     		rsbs	r0, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2502 040a 84E7     		b	.L133
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2503              	.LVL284:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2504              	.L160:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2505              	.LBE164:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2506              	.LBE173:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2507              	.LBB174:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2508              	.LBB167:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2509 040c 0120     		movs	r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2510              	.LVL285:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2511 040e 4042     		rsbs	r0, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2512 0410 BFE7     		b	.L136
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2513              	.LVL286:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2514              	.L161:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2515              	.LBE167:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2516              	.LBE174:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2517              	.LBB175:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2518              	.LBB170:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2519 0412 0120     		movs	r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2520 0414 4042     		rsbs	r0, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2521 0416 BCE7     		b	.L136
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2522              	.LVL287:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2523              	.L165:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2524              	.LBE170:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2525              	.LBE175:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 473:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2526              		.loc 1 473 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2527 0418 2300     		movs	r3, r4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2528 041a 2A00     		movs	r2, r5
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2529 041c 02A9     		add	r1, sp, #8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2530 041e 04A8     		add	r0, sp, #16
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 70
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2531              	.LVL288:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2532 0420 FFF7FEFF 		bl	bme680_set_regs
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2533              	.LVL289:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2534 0424 E0E7     		b	.L141
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2535              	.LVL290:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2536              	.L142:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2537              	.LBB176:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2538              	.LBB137:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1131:Drivers/BME680/bme680.c **** 	} else {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2539              		.loc 1 1131 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2540 0426 0120     		movs	r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2541 0428 4042     		rsbs	r0, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2542 042a E0E7     		b	.L112
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2543              	.L143:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2544 042c 0120     		movs	r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2545 042e 4042     		rsbs	r0, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2546 0430 DDE7     		b	.L112
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2547              	.L144:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2548 0432 0120     		movs	r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2549 0434 4042     		rsbs	r0, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2550 0436 DAE7     		b	.L112
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2551              	.L145:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2552 0438 0120     		movs	r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2553 043a 4042     		rsbs	r0, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2554 043c D7E7     		b	.L112
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2555              	.L167:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2556 043e C046     		.align	2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2557              	.L166:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2558 0440 99590200 		.word	154009
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2559 0444 BF0F0000 		.word	4031
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2560              	.LBE137:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2561              	.LBE176:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2562              		.cfi_endproc
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2563              	.LFE4:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2565              		.section	.text.bme680_get_sensor_mode,"ax",%progbits
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2566              		.align	1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2567              		.global	bme680_get_sensor_mode
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2568              		.syntax unified
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2569              		.code	16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2570              		.thumb_func
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2571              		.fpu softvfp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2573              	bme680_get_sensor_mode:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2574              	.LFB7:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 578:Drivers/BME680/bme680.c **** 	int8_t rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2575              		.loc 1 578 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2576              		.cfi_startproc
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2577              		@ args = 0, pretend = 0, frame = 8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2578              		@ frame_needed = 0, uses_anonymous_args = 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2579              	.LVL291:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2580 0000 30B5     		push	{r4, r5, lr}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2581              	.LCFI20:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2582              		.cfi_def_cfa_offset 12
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2583              		.cfi_offset 4, -12
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2584              		.cfi_offset 5, -8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2585              		.cfi_offset 14, -4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2586 0002 83B0     		sub	sp, sp, #12
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2587              	.LCFI21:
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 71
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2588              		.cfi_def_cfa_offset 24
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2589 0004 041E     		subs	r4, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2590              	.LVL292:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2591              	.LBB177:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2592              	.LBB178:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1129:Drivers/BME680/bme680.c **** 		/* Device structure pointer is not valid */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2593              		.loc 1 1129 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2594 0006 17D0     		beq	.L170
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2595 0008 836C     		ldr	r3, [r0, #72]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2596 000a 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2597 000c 17D0     		beq	.L171
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2598 000e C36C     		ldr	r3, [r0, #76]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2599 0010 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2600 0012 17D0     		beq	.L172
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2601 0014 036D     		ldr	r3, [r0, #80]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2602 0016 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2603 0018 17D0     		beq	.L173
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2604              	.LVL293:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2605              	.LBE178:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2606              	.LBE177:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 585:Drivers/BME680/bme680.c **** 		/* Masking the other register bit info*/
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2607              		.loc 1 585 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2608 001a 6B46     		mov	r3, sp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2609 001c DD1D     		adds	r5, r3, #7
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2610 001e 0300     		movs	r3, r0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2611 0020 0122     		movs	r2, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2612 0022 2900     		movs	r1, r5
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2613 0024 7420     		movs	r0, #116
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2614              	.LVL294:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2615 0026 FFF7FEFF 		bl	bme680_get_regs
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2616              	.LVL295:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 587:Drivers/BME680/bme680.c **** 	}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2617              		.loc 1 587 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2618 002a 2A78     		ldrb	r2, [r5]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2619 002c 0323     		movs	r3, #3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2620 002e 1340     		ands	r3, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2621 0030 4422     		movs	r2, #68
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2622 0032 A354     		strb	r3, [r4, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2623              	.LVL296:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2624              	.L169:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 591:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2625              		.loc 1 591 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2626 0034 03B0     		add	sp, sp, #12
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2627              		@ sp needed
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2628              	.LVL297:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2629 0036 30BD     		pop	{r4, r5, pc}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2630              	.LVL298:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2631              	.L170:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2632              	.LBB180:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2633              	.LBB179:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1131:Drivers/BME680/bme680.c **** 	} else {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2634              		.loc 1 1131 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2635 0038 0120     		movs	r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2636              	.LVL299:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2637 003a 4042     		rsbs	r0, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2638 003c FAE7     		b	.L169
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2639              	.LVL300:
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 72
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2640              	.L171:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2641 003e 0120     		movs	r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2642              	.LVL301:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2643 0040 4042     		rsbs	r0, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2644 0042 F7E7     		b	.L169
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2645              	.LVL302:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2646              	.L172:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2647 0044 0120     		movs	r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2648              	.LVL303:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2649 0046 4042     		rsbs	r0, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2650 0048 F4E7     		b	.L169
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2651              	.LVL304:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2652              	.L173:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2653 004a 0120     		movs	r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2654              	.LVL305:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2655 004c 4042     		rsbs	r0, r0, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2656 004e F1E7     		b	.L169
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2657              	.LBE179:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2658              	.LBE180:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2659              		.cfi_endproc
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2660              	.LFE7:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2662              		.global	__aeabi_uidiv
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2663              		.section	.text.bme680_set_profile_dur,"ax",%progbits
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2664              		.align	1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2665              		.global	bme680_set_profile_dur
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2666              		.syntax unified
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2667              		.code	16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2668              		.thumb_func
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2669              		.fpu softvfp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2671              	bme680_set_profile_dur:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2672              	.LFB8:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 597:Drivers/BME680/bme680.c **** 	uint32_t tph_dur; /* Calculate in us */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2673              		.loc 1 597 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2674              		.cfi_startproc
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2675              		@ args = 0, pretend = 0, frame = 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2676              		@ frame_needed = 0, uses_anonymous_args = 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2677              	.LVL306:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2678 0000 70B5     		push	{r4, r5, r6, lr}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2679              	.LCFI22:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2680              		.cfi_def_cfa_offset 16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2681              		.cfi_offset 4, -16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2682              		.cfi_offset 5, -12
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2683              		.cfi_offset 6, -8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2684              		.cfi_offset 14, -4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2685 0002 0500     		movs	r5, r0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2686 0004 0C00     		movs	r4, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 601:Drivers/BME680/bme680.c **** 	tph_dur += UINT32_C(477 * 4); /* TPH switching duration */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2687              		.loc 1 601 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2688 0006 3923     		movs	r3, #57
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2689 0008 C85C     		ldrb	r0, [r1, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2690              	.LVL307:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2691 000a 0133     		adds	r3, r3, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2692 000c CB5C     		ldrb	r3, [r1, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2693 000e C018     		adds	r0, r0, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2694 0010 3823     		movs	r3, #56
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2695 0012 CB5C     		ldrb	r3, [r1, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2696 0014 C318     		adds	r3, r0, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 73
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2697 0016 0748     		ldr	r0, .L175
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2698 0018 5843     		muls	r0, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2699              	.LVL308:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 604:Drivers/BME680/bme680.c **** 	tph_dur /= UINT32_C(1000); /* Convert to ms */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2700              		.loc 1 604 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2701 001a 074B     		ldr	r3, .L175+4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2702 001c 9C46     		mov	ip, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2703 001e 6044     		add	r0, r0, ip
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2704              	.LVL309:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 605:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2705              		.loc 1 605 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2706 0020 FA21     		movs	r1, #250
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2707              	.LVL310:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2708 0022 8900     		lsls	r1, r1, #2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2709 0024 FFF7FEFF 		bl	__aeabi_uidiv
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2710              	.LVL311:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 607:Drivers/BME680/bme680.c **** 	/* The remaining time should be used for heating */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2711              		.loc 1 607 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2712 0028 0130     		adds	r0, r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2713              	.LVL312:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 609:Drivers/BME680/bme680.c **** }
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2714              		.loc 1 609 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2715 002a 80B2     		uxth	r0, r0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2716              	.LVL313:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2717 002c 281A     		subs	r0, r5, r0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2718 002e 4223     		movs	r3, #66
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2719 0030 E052     		strh	r0, [r4, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 610:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2720              		.loc 1 610 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2721              		@ sp needed
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2722              	.LVL314:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2723 0032 70BD     		pop	{r4, r5, r6, pc}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2724              	.L176:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2725              		.align	2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2726              	.L175:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2727 0034 AB070000 		.word	1963
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2728 0038 B9120000 		.word	4793
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2729              		.cfi_endproc
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2730              	.LFE8:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2732              		.section	.text.bme680_get_profile_dur,"ax",%progbits
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2733              		.align	1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2734              		.global	bme680_get_profile_dur
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2735              		.syntax unified
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2736              		.code	16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2737              		.thumb_func
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2738              		.fpu softvfp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2740              	bme680_get_profile_dur:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2741              	.LFB9:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 616:Drivers/BME680/bme680.c **** 	uint32_t tph_dur; /* Calculate in us */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2742              		.loc 1 616 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2743              		.cfi_startproc
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2744              		@ args = 0, pretend = 0, frame = 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2745              		@ frame_needed = 0, uses_anonymous_args = 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2746              	.LVL315:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2747 0000 70B5     		push	{r4, r5, r6, lr}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2748              	.LCFI23:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2749              		.cfi_def_cfa_offset 16
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 74
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2750              		.cfi_offset 4, -16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2751              		.cfi_offset 5, -12
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2752              		.cfi_offset 6, -8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2753              		.cfi_offset 14, -4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2754 0002 0400     		movs	r4, r0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2755 0004 0D00     		movs	r5, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 620:Drivers/BME680/bme680.c **** 	tph_dur += UINT32_C(477 * 4); /* TPH switching duration */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2756              		.loc 1 620 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2757 0006 3923     		movs	r3, #57
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2758 0008 C85C     		ldrb	r0, [r1, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2759              	.LVL316:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2760 000a 0133     		adds	r3, r3, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2761 000c CB5C     		ldrb	r3, [r1, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2762 000e C018     		adds	r0, r0, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2763 0010 3823     		movs	r3, #56
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2764 0012 CB5C     		ldrb	r3, [r1, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2765 0014 C318     		adds	r3, r0, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2766 0016 0A48     		ldr	r0, .L179
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2767 0018 5843     		muls	r0, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2768              	.LVL317:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 623:Drivers/BME680/bme680.c **** 	tph_dur /= UINT32_C(1000); /* Convert to ms */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2769              		.loc 1 623 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2770 001a 0A4B     		ldr	r3, .L179+4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2771 001c 9C46     		mov	ip, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2772 001e 6044     		add	r0, r0, ip
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2773              	.LVL318:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 624:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2774              		.loc 1 624 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2775 0020 FA21     		movs	r1, #250
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2776              	.LVL319:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2777 0022 8900     		lsls	r1, r1, #2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2778 0024 FFF7FEFF 		bl	__aeabi_uidiv
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2779              	.LVL320:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 626:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2780              		.loc 1 626 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2781 0028 0130     		adds	r0, r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2782              	.LVL321:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 628:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2783              		.loc 1 628 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2784 002a 80B2     		uxth	r0, r0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2785              	.LVL322:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2786 002c 2080     		strh	r0, [r4]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 631:Drivers/BME680/bme680.c **** 		/* The remaining time should be used for heating */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2787              		.loc 1 631 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2788 002e 3E23     		movs	r3, #62
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2789 0030 EB5C     		ldrb	r3, [r5, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2790 0032 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2791 0034 03D0     		beq	.L177
 | 
						
						
						
						
							 | 
							
								 | 
							
							 633:Drivers/BME680/bme680.c **** 	}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2792              		.loc 1 633 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2793 0036 4223     		movs	r3, #66
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2794 0038 EB5A     		ldrh	r3, [r5, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2795 003a C018     		adds	r0, r0, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2796 003c 2080     		strh	r0, [r4]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2797              	.L177:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 635:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2798              		.loc 1 635 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 75
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2799              		@ sp needed
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2800              	.LVL323:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2801              	.LVL324:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2802 003e 70BD     		pop	{r4, r5, r6, pc}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2803              	.L180:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2804              		.align	2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2805              	.L179:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2806 0040 AB070000 		.word	1963
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2807 0044 B9120000 		.word	4793
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2808              		.cfi_endproc
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2809              	.LFE9:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2811              		.global	__aeabi_lmul
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2812              		.global	__aeabi_ldivmod
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2813              		.section	.text.bme680_get_sensor_data,"ax",%progbits
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2814              		.align	1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2815              		.global	bme680_get_sensor_data
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2816              		.syntax unified
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2817              		.code	16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2818              		.thumb_func
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2819              		.fpu softvfp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2821              	bme680_get_sensor_data:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2822              	.LFB10:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 643:Drivers/BME680/bme680.c **** 	int8_t rslt;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2823              		.loc 1 643 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2824              		.cfi_startproc
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2825              		@ args = 0, pretend = 0, frame = 40
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2826              		@ frame_needed = 0, uses_anonymous_args = 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2827              	.LVL325:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2828 0000 F0B5     		push	{r4, r5, r6, r7, lr}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2829              	.LCFI24:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2830              		.cfi_def_cfa_offset 20
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2831              		.cfi_offset 4, -20
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2832              		.cfi_offset 5, -16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2833              		.cfi_offset 6, -12
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2834              		.cfi_offset 7, -8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2835              		.cfi_offset 14, -4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2836 0002 DE46     		mov	lr, fp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2837 0004 5746     		mov	r7, r10
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2838 0006 4E46     		mov	r6, r9
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2839 0008 4546     		mov	r5, r8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2840 000a E0B5     		push	{r5, r6, r7, lr}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2841              	.LCFI25:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2842              		.cfi_def_cfa_offset 36
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2843              		.cfi_offset 8, -36
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2844              		.cfi_offset 9, -32
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2845              		.cfi_offset 10, -28
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2846              		.cfi_offset 11, -24
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2847 000c 8BB0     		sub	sp, sp, #44
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2848              	.LCFI26:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2849              		.cfi_def_cfa_offset 80
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2850 000e 8146     		mov	r9, r0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2851 0010 0D1E     		subs	r5, r1, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2852              	.LVL326:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2853              	.LBB195:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2854              	.LBB196:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1129:Drivers/BME680/bme680.c **** 		/* Device structure pointer is not valid */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2855              		.loc 1 1129 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 76
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2856 0012 00D1     		bne	.LCB3283
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2857 0014 C8E1     		b	.L191	@long jump
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2858              	.LCB3283:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2859 0016 8B6C     		ldr	r3, [r1, #72]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2860 0018 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2861 001a 00D1     		bne	.LCB3287
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2862 001c C8E1     		b	.L192	@long jump
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2863              	.LCB3287:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2864 001e CB6C     		ldr	r3, [r1, #76]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2865 0020 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2866 0022 00D1     		bne	.LCB3291
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2867 0024 C8E1     		b	.L193	@long jump
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2868              	.LCB3291:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2869 0026 0B6D     		ldr	r3, [r1, #80]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2870 0028 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2871 002a 00D1     		bne	.LCB3295
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2872 002c C8E1     		b	.L194	@long jump
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2873              	.LCB3295:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2874              	.LVL327:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2875              	.LBE196:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2876              	.LBE195:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2877              	.LBB198:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2878              	.LBB199:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 983:Drivers/BME680/bme680.c **** 	uint8_t gas_range;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2879              		.loc 1 983 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2880 002e 0F22     		movs	r2, #15
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2881 0030 0021     		movs	r1, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2882              	.LVL328:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2883 0032 06A8     		add	r0, sp, #24
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2884              	.LVL329:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2885 0034 FFF7FEFF 		bl	memset
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2886              	.LVL330:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2887              	.LBB200:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2888              	.LBB201:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1129:Drivers/BME680/bme680.c **** 		/* Device structure pointer is not valid */
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2889              		.loc 1 1129 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2890 0038 002D     		cmp	r5, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2891 003a 0ED0     		beq	.L195
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2892 003c AB6C     		ldr	r3, [r5, #72]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2893 003e 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2894 0040 12D0     		beq	.L196
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2895 0042 EB6C     		ldr	r3, [r5, #76]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2896 0044 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2897 0046 13D0     		beq	.L197
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2898 0048 2B6D     		ldr	r3, [r5, #80]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2899 004a 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2900 004c 02D0     		beq	.L202
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2901              		.loc 1 1134 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2902 004e 0023     		movs	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2903 0050 0193     		str	r3, [sp, #4]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2904 0052 05E0     		b	.L183
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2905              	.L202:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1131:Drivers/BME680/bme680.c **** 	} else {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2906              		.loc 1 1131 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2907 0054 013B     		subs	r3, r3, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2908 0056 0193     		str	r3, [sp, #4]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2909 0058 02E0     		b	.L183
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 77
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2910              	.L195:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2911 005a 0123     		movs	r3, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2912 005c 5B42     		rsbs	r3, r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2913 005e 0193     		str	r3, [sp, #4]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2914              	.L183:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2915              		.loc 1 1134 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2916 0060 0A24     		movs	r4, #10
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2917 0062 019E     		ldr	r6, [sp, #4]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2918 0064 4F46     		mov	r7, r9
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2919 0066 28E1     		b	.L188
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2920              	.L196:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1131:Drivers/BME680/bme680.c **** 	} else {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2921              		.loc 1 1131 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2922 0068 0123     		movs	r3, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2923 006a 5B42     		rsbs	r3, r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2924 006c 0193     		str	r3, [sp, #4]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2925 006e F7E7     		b	.L183
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2926              	.L197:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2927 0070 0123     		movs	r3, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2928 0072 5B42     		rsbs	r3, r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2929 0074 0193     		str	r3, [sp, #4]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2930 0076 F3E7     		b	.L183
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2931              	.LVL331:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2932              	.L204:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2933 0078 0196     		str	r6, [sp, #4]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2934 007a B946     		mov	r9, r7
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2935 007c 029F     		ldr	r7, [sp, #8]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2936              	.LVL332:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2937              	.LBE201:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2938              	.LBE200:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2939              	.LBB202:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2940              	.LBB203:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 819:Drivers/BME680/bme680.c **** 	var2 = (var1 * (int32_t) dev->calib.par_t2) >> 11;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2941              		.loc 1 819 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2942 007e C010     		asrs	r0, r0, #3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2943              	.LVL333:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2944 0080 EB8A     		ldrh	r3, [r5, #22]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2945 0082 5B00     		lsls	r3, r3, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2946 0084 C01A     		subs	r0, r0, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2947 0086 C117     		asrs	r1, r0, #31
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2948              	.LVL334:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 820:Drivers/BME680/bme680.c **** 	var3 = ((var1 >> 1) * (var1 >> 1)) >> 12;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2949              		.loc 1 820 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2950 0088 1823     		movs	r3, #24
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2951 008a EA5E     		ldrsh	r2, [r5, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2952 008c D317     		asrs	r3, r2, #31
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2953 008e 0290     		str	r0, [sp, #8]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2954              	.LVL335:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2955 0090 0491     		str	r1, [sp, #16]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2956 0092 FFF7FEFF 		bl	__aeabi_lmul
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2957              	.LVL336:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2958 0096 4905     		lsls	r1, r1, #21
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2959 0098 C60A     		lsrs	r6, r0, #11
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2960              	.LVL337:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2961 009a 0E43     		orrs	r6, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2962              	.LVL338:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 821:Drivers/BME680/bme680.c **** 	var3 = ((var3) * ((int32_t) dev->calib.par_t3 << 4)) >> 14;
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 78
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2963              		.loc 1 821 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2964 009c 0499     		ldr	r1, [sp, #16]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2965 009e CB07     		lsls	r3, r1, #31
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2966 00a0 0298     		ldr	r0, [sp, #8]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2967 00a2 4008     		lsrs	r0, r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2968 00a4 1843     		orrs	r0, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2969 00a6 0200     		movs	r2, r0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2970 00a8 0B00     		movs	r3, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2971 00aa FFF7FEFF 		bl	__aeabi_lmul
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2972              	.LVL339:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2973 00ae 0B05     		lsls	r3, r1, #20
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2974 00b0 000B     		lsrs	r0, r0, #12
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2975 00b2 1843     		orrs	r0, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2976 00b4 0913     		asrs	r1, r1, #12
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2977              	.LVL340:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 822:Drivers/BME680/bme680.c **** 	dev->calib.t_fine = (int32_t) (var2 + var3);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2978              		.loc 1 822 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2979 00b6 1A22     		movs	r2, #26
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2980 00b8 AA56     		ldrsb	r2, [r5, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2981 00ba 1201     		lsls	r2, r2, #4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2982 00bc D317     		asrs	r3, r2, #31
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2983 00be FFF7FEFF 		bl	__aeabi_lmul
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2984              	.LVL341:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2985 00c2 8904     		lsls	r1, r1, #18
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2986 00c4 800B     		lsrs	r0, r0, #14
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2987 00c6 0843     		orrs	r0, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 823:Drivers/BME680/bme680.c **** 	calc_temp = (int16_t) (((dev->calib.t_fine * 5) + 128) >> 8);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2988              		.loc 1 823 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2989 00c8 3018     		adds	r0, r6, r0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2990 00ca 2863     		str	r0, [r5, #48]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 824:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2991              		.loc 1 824 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2992 00cc 8300     		lsls	r3, r0, #2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2993 00ce 1B18     		adds	r3, r3, r0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2994 00d0 8033     		adds	r3, r3, #128
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2995 00d2 1B12     		asrs	r3, r3, #8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2996              	.LVL342:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2997              	.LBE203:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2998              	.LBE202:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1015:Drivers/BME680/bme680.c **** 				data->pressure = calc_pressure(adc_pres, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 2999              		.loc 1 1015 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3000 00d4 4A46     		mov	r2, r9
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3001 00d6 9380     		strh	r3, [r2, #4]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3002              	.LVL343:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3003              	.LBB204:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3004              	.LBB205:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 840:Drivers/BME680/bme680.c **** 	var2 = ((((var1 >> 2) * (var1 >> 2)) >> 11) *
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3005              		.loc 1 840 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3006 00d8 2B6B     		ldr	r3, [r5, #48]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3007 00da 5A10     		asrs	r2, r3, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3008 00dc BA4B     		ldr	r3, .L207
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3009 00de 9C46     		mov	ip, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3010 00e0 6244     		add	r2, r2, ip
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3011              	.LVL344:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 841:Drivers/BME680/bme680.c **** 		(int32_t)dev->calib.par_p6) >> 2;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3012              		.loc 1 841 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3013 00e2 9110     		asrs	r1, r2, #2
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 79
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3014 00e4 4943     		muls	r1, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3015 00e6 C812     		asrs	r0, r1, #11
 | 
						
						
						
						
							 | 
							
								 | 
							
							 842:Drivers/BME680/bme680.c **** 	var2 = var2 + ((var1 * (int32_t)dev->calib.par_p5) << 1);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3016              		.loc 1 842 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3017 00e8 2623     		movs	r3, #38
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3018 00ea EB56     		ldrsb	r3, [r5, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 841:Drivers/BME680/bme680.c **** 		(int32_t)dev->calib.par_p6) >> 2;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3019              		.loc 1 841 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3020 00ec 4343     		muls	r3, r0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3021 00ee 9B10     		asrs	r3, r3, #2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3022              	.LVL345:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 843:Drivers/BME680/bme680.c **** 	var2 = (var2 >> 2) + ((int32_t)dev->calib.par_p4 << 16);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3023              		.loc 1 843 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3024 00f0 2426     		movs	r6, #36
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3025 00f2 A85F     		ldrsh	r0, [r5, r6]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3026 00f4 5043     		muls	r0, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3027 00f6 4000     		lsls	r0, r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3028 00f8 1B18     		adds	r3, r3, r0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3029              	.LVL346:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 844:Drivers/BME680/bme680.c **** 	var1 = (((((var1 >> 2) * (var1 >> 2)) >> 13) *
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3030              		.loc 1 844 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3031 00fa 9B10     		asrs	r3, r3, #2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3032              	.LVL347:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3033 00fc 2226     		movs	r6, #34
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3034 00fe A85F     		ldrsh	r0, [r5, r6]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3035              	.LVL348:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3036 0100 0004     		lsls	r0, r0, #16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3037 0102 1B18     		adds	r3, r3, r0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3038              	.LVL349:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 845:Drivers/BME680/bme680.c **** 		((int32_t)dev->calib.par_p3 << 5)) >> 3) +
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3039              		.loc 1 845 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3040 0104 4813     		asrs	r0, r1, #13
 | 
						
						
						
						
							 | 
							
								 | 
							
							 846:Drivers/BME680/bme680.c **** 		(((int32_t)dev->calib.par_p2 * var1) >> 1);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3041              		.loc 1 846 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3042 0106 2021     		movs	r1, #32
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3043 0108 6956     		ldrsb	r1, [r5, r1]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3044 010a 4901     		lsls	r1, r1, #5
 | 
						
						
						
						
							 | 
							
								 | 
							
							 845:Drivers/BME680/bme680.c **** 		((int32_t)dev->calib.par_p3 << 5)) >> 3) +
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3045              		.loc 1 845 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3046 010c 4143     		muls	r1, r0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 846:Drivers/BME680/bme680.c **** 		(((int32_t)dev->calib.par_p2 * var1) >> 1);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3047              		.loc 1 846 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3048 010e C910     		asrs	r1, r1, #3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 847:Drivers/BME680/bme680.c **** 	var1 = var1 >> 18;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3049              		.loc 1 847 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3050 0110 1E26     		movs	r6, #30
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3051 0112 A85F     		ldrsh	r0, [r5, r6]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3052 0114 4243     		muls	r2, r0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3053              	.LVL350:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3054 0116 5210     		asrs	r2, r2, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 845:Drivers/BME680/bme680.c **** 		((int32_t)dev->calib.par_p3 << 5)) >> 3) +
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3055              		.loc 1 845 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3056 0118 8918     		adds	r1, r1, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3057              	.LVL351:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 848:Drivers/BME680/bme680.c **** 	var1 = ((32768 + var1) * (int32_t)dev->calib.par_p1) >> 15;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3058              		.loc 1 848 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3059 011a 8914     		asrs	r1, r1, #18
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 80
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3060              	.LVL352:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 849:Drivers/BME680/bme680.c **** 	pressure_comp = 1048576 - pres_adc;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3061              		.loc 1 849 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3062 011c 8022     		movs	r2, #128
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3063 011e 1202     		lsls	r2, r2, #8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3064 0120 9446     		mov	ip, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3065 0122 6144     		add	r1, r1, ip
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3066              	.LVL353:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3067 0124 AA8B     		ldrh	r2, [r5, #28]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3068 0126 5143     		muls	r1, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3069              	.LVL354:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3070 0128 C913     		asrs	r1, r1, #15
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3071              	.LVL355:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 850:Drivers/BME680/bme680.c **** 	pressure_comp = (int32_t)((pressure_comp - (var2 >> 12)) * ((uint32_t)3125));
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3072              		.loc 1 850 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3073 012a 8020     		movs	r0, #128
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3074 012c 4003     		lsls	r0, r0, #13
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3075 012e C01B     		subs	r0, r0, r7
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3076              	.LVL356:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 851:Drivers/BME680/bme680.c **** 	var4 = (1 << 31);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3077              		.loc 1 851 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3078 0130 1B13     		asrs	r3, r3, #12
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3079              	.LVL357:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3080 0132 C01A     		subs	r0, r0, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3081              	.LVL358:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3082 0134 A54B     		ldr	r3, .L207+4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3083 0136 5843     		muls	r0, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3084              	.LVL359:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 854:Drivers/BME680/bme680.c **** 	else
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3085              		.loc 1 854 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3086 0138 FFF7FEFF 		bl	__aeabi_uidiv
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3087              	.LVL360:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3088 013c 4000     		lsls	r0, r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3089              	.LVL361:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 857:Drivers/BME680/bme680.c **** 		(pressure_comp >> 3)) >> 13)) >> 12;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3090              		.loc 1 857 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3091 013e 2A23     		movs	r3, #42
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3092 0140 E95E     		ldrsh	r1, [r5, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3093 0142 C210     		asrs	r2, r0, #3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3094 0144 5243     		muls	r2, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 858:Drivers/BME680/bme680.c **** 	var2 = ((int32_t)(pressure_comp >> 2) *
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3095              		.loc 1 858 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3096 0146 5313     		asrs	r3, r2, #13
 | 
						
						
						
						
							 | 
							
								 | 
							
							 857:Drivers/BME680/bme680.c **** 		(pressure_comp >> 3)) >> 13)) >> 12;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3097              		.loc 1 857 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3098 0148 4B43     		muls	r3, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3099 014a 1A13     		asrs	r2, r3, #12
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3100              	.LVL362:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 859:Drivers/BME680/bme680.c **** 		(int32_t)dev->calib.par_p8) >> 13;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3101              		.loc 1 859 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3102 014c 8310     		asrs	r3, r0, #2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 860:Drivers/BME680/bme680.c **** 	var3 = ((int32_t)(pressure_comp >> 8) * (int32_t)(pressure_comp >> 8) *
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3103              		.loc 1 860 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3104 014e 2826     		movs	r6, #40
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3105 0150 A95F     		ldrsh	r1, [r5, r6]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 859:Drivers/BME680/bme680.c **** 		(int32_t)dev->calib.par_p8) >> 13;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3106              		.loc 1 859 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 81
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3107 0152 5943     		muls	r1, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3108 0154 4913     		asrs	r1, r1, #13
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3109              	.LVL363:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 861:Drivers/BME680/bme680.c **** 		(int32_t)(pressure_comp >> 8) *
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3110              		.loc 1 861 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3111 0156 0612     		asrs	r6, r0, #8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3112 0158 3300     		movs	r3, r6
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3113 015a 7343     		muls	r3, r6
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3114 015c 5E43     		muls	r6, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 863:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3115              		.loc 1 863 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3116 015e 2C23     		movs	r3, #44
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3117 0160 EB5C     		ldrb	r3, [r5, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 862:Drivers/BME680/bme680.c **** 		(int32_t)dev->calib.par_p10) >> 17;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3118              		.loc 1 862 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3119 0162 7343     		muls	r3, r6
 | 
						
						
						
						
							 | 
							
								 | 
							
							 861:Drivers/BME680/bme680.c **** 		(int32_t)(pressure_comp >> 8) *
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3120              		.loc 1 861 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3121 0164 5B14     		asrs	r3, r3, #17
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3122              	.LVL364:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 865:Drivers/BME680/bme680.c **** 		((int32_t)dev->calib.par_p7 << 7)) >> 4);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3123              		.loc 1 865 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3124 0166 5118     		adds	r1, r2, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3125              	.LVL365:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3126 0168 5B18     		adds	r3, r3, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3127              	.LVL366:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 866:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3128              		.loc 1 866 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3129 016a 2722     		movs	r2, #39
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3130              	.LVL367:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3131 016c AA56     		ldrsb	r2, [r5, r2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3132 016e D201     		lsls	r2, r2, #7
 | 
						
						
						
						
							 | 
							
								 | 
							
							 865:Drivers/BME680/bme680.c **** 		((int32_t)dev->calib.par_p7 << 7)) >> 4);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3133              		.loc 1 865 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3134 0170 9B18     		adds	r3, r3, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 866:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3135              		.loc 1 866 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3136 0172 1B11     		asrs	r3, r3, #4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 865:Drivers/BME680/bme680.c **** 		((int32_t)dev->calib.par_p7 << 7)) >> 4);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3137              		.loc 1 865 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3138 0174 C018     		adds	r0, r0, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3139              	.LVL368:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3140              	.LBE205:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3141              	.LBE204:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1016:Drivers/BME680/bme680.c **** 				data->humidity = calc_humidity(adc_hum, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3142              		.loc 1 1016 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3143 0176 4B46     		mov	r3, r9
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3144 0178 9860     		str	r0, [r3, #8]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3145              	.LVL369:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3146              	.LBB206:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3147              	.LBB207:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 886:Drivers/BME680/bme680.c **** 	var1 = (int32_t) (hum_adc - ((int32_t) ((int32_t) dev->calib.par_h1 * 16)))
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3148              		.loc 1 886 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3149 017a 2B6B     		ldr	r3, [r5, #48]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3150 017c 9E00     		lsls	r6, r3, #2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3151 017e F618     		adds	r6, r6, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3152 0180 8036     		adds	r6, r6, #128
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 82
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3153 0182 3612     		asrs	r6, r6, #8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3154              	.LVL370:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 887:Drivers/BME680/bme680.c **** 		- (((temp_scaled * (int32_t) dev->calib.par_h3) / ((int32_t) 100)) >> 1);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3155              		.loc 1 887 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3156 0184 2F89     		ldrh	r7, [r5, #8]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3157 0186 3F01     		lsls	r7, r7, #4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3158 0188 5B46     		mov	r3, fp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3159 018a DF1B     		subs	r7, r3, r7
 | 
						
						
						
						
							 | 
							
								 | 
							
							 888:Drivers/BME680/bme680.c **** 	var2 = ((int32_t) dev->calib.par_h2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3160              		.loc 1 888 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3161 018c 0C20     		movs	r0, #12
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3162 018e 2856     		ldrsb	r0, [r5, r0]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3163 0190 7043     		muls	r0, r6
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3164 0192 6421     		movs	r1, #100
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3165 0194 FFF7FEFF 		bl	__aeabi_idiv
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3166              	.LVL371:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3167 0198 4010     		asrs	r0, r0, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 887:Drivers/BME680/bme680.c **** 		- (((temp_scaled * (int32_t) dev->calib.par_h3) / ((int32_t) 100)) >> 1);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3168              		.loc 1 887 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3169 019a 3B1A     		subs	r3, r7, r0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3170 019c 0293     		str	r3, [sp, #8]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3171              	.LVL372:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 889:Drivers/BME680/bme680.c **** 		* (((temp_scaled * (int32_t) dev->calib.par_h4) / ((int32_t) 100))
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3172              		.loc 1 889 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3173 019e 6A89     		ldrh	r2, [r5, #10]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3174 01a0 9346     		mov	fp, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3175              	.LVL373:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 890:Drivers/BME680/bme680.c **** 			+ (((temp_scaled * ((temp_scaled * (int32_t) dev->calib.par_h5) / ((int32_t) 100))) >> 6)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3176              		.loc 1 890 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3177 01a2 0D20     		movs	r0, #13
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3178 01a4 2856     		ldrsb	r0, [r5, r0]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3179 01a6 7043     		muls	r0, r6
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3180 01a8 6421     		movs	r1, #100
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3181 01aa FFF7FEFF 		bl	__aeabi_idiv
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3182              	.LVL374:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3183 01ae 0700     		movs	r7, r0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 891:Drivers/BME680/bme680.c **** 				/ ((int32_t) 100)) + (int32_t) (1 << 14))) >> 10;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3184              		.loc 1 891 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3185 01b0 0E20     		movs	r0, #14
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3186 01b2 2856     		ldrsb	r0, [r5, r0]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3187 01b4 7043     		muls	r0, r6
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3188 01b6 6421     		movs	r1, #100
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3189 01b8 FFF7FEFF 		bl	__aeabi_idiv
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3190              	.LVL375:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3191 01bc 7043     		muls	r0, r6
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3192 01be 8011     		asrs	r0, r0, #6
 | 
						
						
						
						
							 | 
							
								 | 
							
							 892:Drivers/BME680/bme680.c **** 	var3 = var1 * var2;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3193              		.loc 1 892 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3194 01c0 6421     		movs	r1, #100
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3195 01c2 FFF7FEFF 		bl	__aeabi_idiv
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3196              	.LVL376:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 891:Drivers/BME680/bme680.c **** 				/ ((int32_t) 100)) + (int32_t) (1 << 14))) >> 10;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3197              		.loc 1 891 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3198 01c6 3F18     		adds	r7, r7, r0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 892:Drivers/BME680/bme680.c **** 	var3 = var1 * var2;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3199              		.loc 1 892 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3200 01c8 8022     		movs	r2, #128
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 83
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3201 01ca D201     		lsls	r2, r2, #7
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3202 01cc 9446     		mov	ip, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3203 01ce 6744     		add	r7, r7, ip
 | 
						
						
						
						
							 | 
							
								 | 
							
							 890:Drivers/BME680/bme680.c **** 			+ (((temp_scaled * ((temp_scaled * (int32_t) dev->calib.par_h5) / ((int32_t) 100))) >> 6)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3204              		.loc 1 890 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3205 01d0 5A46     		mov	r2, fp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3206 01d2 5743     		muls	r7, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 889:Drivers/BME680/bme680.c **** 		* (((temp_scaled * (int32_t) dev->calib.par_h4) / ((int32_t) 100))
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3207              		.loc 1 889 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3208 01d4 BF12     		asrs	r7, r7, #10
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3209              	.LVL377:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 893:Drivers/BME680/bme680.c **** 	var4 = (int32_t) dev->calib.par_h6 << 7;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3210              		.loc 1 893 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3211 01d6 029B     		ldr	r3, [sp, #8]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3212 01d8 5F43     		muls	r7, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3213              	.LVL378:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 894:Drivers/BME680/bme680.c **** 	var4 = ((var4) + ((temp_scaled * (int32_t) dev->calib.par_h7) / ((int32_t) 100))) >> 4;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3214              		.loc 1 894 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3215 01da E87B     		ldrb	r0, [r5, #15]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3216 01dc C301     		lsls	r3, r0, #7
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3217 01de 9B46     		mov	fp, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3218              	.LVL379:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 895:Drivers/BME680/bme680.c **** 	var5 = ((var3 >> 14) * (var3 >> 14)) >> 10;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3219              		.loc 1 895 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3220 01e0 1020     		movs	r0, #16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3221 01e2 2856     		ldrsb	r0, [r5, r0]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3222 01e4 7043     		muls	r0, r6
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3223 01e6 6421     		movs	r1, #100
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3224 01e8 FFF7FEFF 		bl	__aeabi_idiv
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3225              	.LVL380:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3226 01ec 5844     		add	r0, r0, fp
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3227 01ee 0011     		asrs	r0, r0, #4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3228              	.LVL381:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 896:Drivers/BME680/bme680.c **** 	var6 = (var4 * var5) >> 1;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3229              		.loc 1 896 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3230 01f0 BB13     		asrs	r3, r7, #14
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3231 01f2 5B43     		muls	r3, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3232 01f4 9B12     		asrs	r3, r3, #10
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3233              	.LVL382:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 897:Drivers/BME680/bme680.c **** 	calc_hum = (((var3 + var6) >> 10) * ((int32_t) 1000)) >> 12;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3234              		.loc 1 897 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3235 01f6 4343     		muls	r3, r0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3236              	.LVL383:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3237 01f8 5B10     		asrs	r3, r3, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3238              	.LVL384:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 898:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3239              		.loc 1 898 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3240 01fa FF18     		adds	r7, r7, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3241              	.LVL385:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3242 01fc BF12     		asrs	r7, r7, #10
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3243 01fe 7B01     		lsls	r3, r7, #5
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3244              	.LVL386:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3245 0200 DB1B     		subs	r3, r3, r7
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3246 0202 9B00     		lsls	r3, r3, #2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3247 0204 DB19     		adds	r3, r3, r7
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3248 0206 DB00     		lsls	r3, r3, #3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3249 0208 1B13     		asrs	r3, r3, #12
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 84
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3250              	.LVL387:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 900:Drivers/BME680/bme680.c **** 		calc_hum = 100000;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3251              		.loc 1 900 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3252 020a 714A     		ldr	r2, .L207+8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3253 020c 9342     		cmp	r3, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3254 020e 03DC     		bgt	.L199
 | 
						
						
						
						
							 | 
							
								 | 
							
							 902:Drivers/BME680/bme680.c **** 		calc_hum = 0;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3255              		.loc 1 902 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3256 0210 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3257 0212 02DA     		bge	.L186
 | 
						
						
						
						
							 | 
							
								 | 
							
							 903:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3258              		.loc 1 903 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3259 0214 0023     		movs	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3260              	.LVL388:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3261 0216 00E0     		b	.L186
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3262              	.LVL389:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3263              	.L199:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 901:Drivers/BME680/bme680.c **** 	else if (calc_hum < 0)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3264              		.loc 1 901 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3265 0218 6D4B     		ldr	r3, .L207+8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3266              	.LVL390:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3267              	.L186:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3268              	.LBE207:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3269              	.LBE206:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1017:Drivers/BME680/bme680.c **** 				data->gas_resistance = calc_gas_resistance(adc_gas_res, gas_range, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3270              		.loc 1 1017 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3271 021a 4A46     		mov	r2, r9
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3272 021c D360     		str	r3, [r2, #12]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3273              	.LVL391:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3274              	.LBB208:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3275              	.LBB209:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 918:Drivers/BME680/bme680.c **** 		((int64_t) lookupTable1[gas_range])) >> 16;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3276              		.loc 1 918 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3277 021e 3623     		movs	r3, #54
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3278 0220 EE56     		ldrsb	r6, [r5, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3279 0222 3000     		movs	r0, r6
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3280 0224 F617     		asrs	r6, r6, #31
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3281 0226 3100     		movs	r1, r6
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3282 0228 870F     		lsrs	r7, r0, #30
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3283 022a B300     		lsls	r3, r6, #2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3284 022c 3B43     		orrs	r3, r7
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3285 022e 8200     		lsls	r2, r0, #2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3286 0230 1218     		adds	r2, r2, r0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3287 0232 4B41     		adcs	r3, r3, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3288 0234 6748     		ldr	r0, .L207+12
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3289 0236 0021     		movs	r1, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3290 0238 8018     		adds	r0, r0, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3291 023a 5941     		adcs	r1, r1, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 919:Drivers/BME680/bme680.c **** 	var2 = (((int64_t) ((int64_t) gas_res_adc << 15) - (int64_t) (16777216)) + var1);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3292              		.loc 1 919 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3293 023c 5346     		mov	r3, r10
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3294 023e 9B00     		lsls	r3, r3, #2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3295 0240 9A46     		mov	r10, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3296              	.LVL392:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3297 0242 654B     		ldr	r3, .L207+16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3298 0244 5246     		mov	r2, r10
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3299 0246 D258     		ldr	r2, [r2, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 85
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 918:Drivers/BME680/bme680.c **** 		((int64_t) lookupTable1[gas_range])) >> 16;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3300              		.loc 1 918 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3301 0248 0023     		movs	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3302 024a FFF7FEFF 		bl	__aeabi_lmul
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3303              	.LVL393:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3304 024e 0B04     		lsls	r3, r1, #16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3305 0250 060C     		lsrs	r6, r0, #16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3306 0252 1E43     		orrs	r6, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3307 0254 0F14     		asrs	r7, r1, #16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3308              	.LVL394:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 920:Drivers/BME680/bme680.c **** 	var3 = (((int64_t) lookupTable2[gas_range] * (int64_t) var1) >> 9);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3309              		.loc 1 920 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3310 0256 0021     		movs	r1, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3311 0258 4346     		mov	r3, r8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3312 025a D803     		lsls	r0, r3, #15
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3313 025c FF22     		movs	r2, #255
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3314 025e 1206     		lsls	r2, r2, #24
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3315 0260 0123     		movs	r3, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3316 0262 5B42     		rsbs	r3, r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3317 0264 1218     		adds	r2, r2, r0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3318 0266 4B41     		adcs	r3, r3, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3319 0268 9219     		adds	r2, r2, r6
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3320 026a 7B41     		adcs	r3, r3, r7
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3321 026c 0492     		str	r2, [sp, #16]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3322 026e 0593     		str	r3, [sp, #20]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3323              	.LVL395:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 921:Drivers/BME680/bme680.c **** 	calc_gas_res = (uint32_t) ((var3 + ((int64_t) var2 >> 1)) / (int64_t) var2);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3324              		.loc 1 921 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3325 0270 5A4B     		ldr	r3, .L207+20
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3326 0272 5146     		mov	r1, r10
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3327 0274 CA58     		ldr	r2, [r1, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3328              	.LVL396:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3329 0276 0023     		movs	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3330 0278 3000     		movs	r0, r6
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3331 027a 3900     		movs	r1, r7
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3332 027c FFF7FEFF 		bl	__aeabi_lmul
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3333              	.LVL397:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3334 0280 CE05     		lsls	r6, r1, #23
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3335              	.LVL398:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3336 0282 430A     		lsrs	r3, r0, #9
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3337 0284 3343     		orrs	r3, r6
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3338 0286 0293     		str	r3, [sp, #8]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3339 0288 4B12     		asrs	r3, r1, #9
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3340 028a 0393     		str	r3, [sp, #12]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3341              	.LVL399:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 922:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3342              		.loc 1 922 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3343 028c 049A     		ldr	r2, [sp, #16]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3344 028e 059B     		ldr	r3, [sp, #20]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3345 0290 DE07     		lsls	r6, r3, #31
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3346 0292 5008     		lsrs	r0, r2, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3347 0294 3043     		orrs	r0, r6
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3348 0296 1600     		movs	r6, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3349 0298 1F00     		movs	r7, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3350 029a 5910     		asrs	r1, r3, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3351 029c 029A     		ldr	r2, [sp, #8]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3352 029e 039B     		ldr	r3, [sp, #12]
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 86
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3353 02a0 8018     		adds	r0, r0, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3354 02a2 5941     		adcs	r1, r1, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3355 02a4 3200     		movs	r2, r6
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3356 02a6 3B00     		movs	r3, r7
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3357 02a8 FFF7FEFF 		bl	__aeabi_ldivmod
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3358              	.LVL400:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3359              	.LBE209:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3360              	.LBE208:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1018:Drivers/BME680/bme680.c **** 				break;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3361              		.loc 1 1018 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3362 02ac 4B46     		mov	r3, r9
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3363 02ae 1861     		str	r0, [r3, #16]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3364 02b0 5EE0     		b	.L187
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3365              	.LVL401:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3366              	.L184:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1024:Drivers/BME680/bme680.c **** 	} while (tries);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3367              		.loc 1 1024 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3368 02b2 013C     		subs	r4, r4, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3369              	.LVL402:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3370 02b4 E4B2     		uxtb	r4, r4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3371              	.LVL403:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1025:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3372              		.loc 1 1025 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3373 02b6 002C     		cmp	r4, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3374 02b8 58D0     		beq	.L203
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3375              	.LVL404:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3376              	.L188:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 994:Drivers/BME680/bme680.c **** 			rslt = bme680_get_regs(((uint8_t) (BME680_FIELD0_ADDR)), buff, (uint16_t) BME680_FIELD_LENGTH,
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3377              		.loc 1 994 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3378 02ba 002E     		cmp	r6, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3379 02bc F9D1     		bne	.L184
 | 
						
						
						
						
							 | 
							
								 | 
							
							 995:Drivers/BME680/bme680.c **** 				dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3380              		.loc 1 995 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3381 02be 2B00     		movs	r3, r5
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3382 02c0 0F22     		movs	r2, #15
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3383 02c2 06A9     		add	r1, sp, #24
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3384 02c4 1D20     		movs	r0, #29
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3385 02c6 FFF7FEFF 		bl	bme680_get_regs
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3386              	.LVL405:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3387 02ca 0600     		movs	r6, r0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3388              	.LVL406:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 998:Drivers/BME680/bme680.c **** 			data->gas_index = buff[0] & BME680_GAS_INDEX_MSK;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3389              		.loc 1 998 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3390 02cc 06AB     		add	r3, sp, #24
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3391 02ce 1B78     		ldrb	r3, [r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3392 02d0 7F22     		movs	r2, #127
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3393 02d2 1900     		movs	r1, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3394 02d4 9143     		bics	r1, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3395 02d6 8C46     		mov	ip, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 999:Drivers/BME680/bme680.c **** 			data->meas_index = buff[1];
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3396              		.loc 1 999 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3397 02d8 703A     		subs	r2, r2, #112
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3398 02da 9246     		mov	r10, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3399 02dc 1340     		ands	r3, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3400 02de 7B70     		strb	r3, [r7, #1]
 | 
						
						
						
						
							 | 
							
								 | 
							
							1000:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3401              		.loc 1 1000 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 87
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3402 02e0 06AB     		add	r3, sp, #24
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3403 02e2 5B78     		ldrb	r3, [r3, #1]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3404 02e4 BB70     		strb	r3, [r7, #2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							1003:Drivers/BME680/bme680.c **** 				| ((uint32_t) buff[4] / 16));
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3405              		.loc 1 1003 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3406 02e6 06AB     		add	r3, sp, #24
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3407 02e8 9A78     		ldrb	r2, [r3, #2]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3408 02ea 1203     		lsls	r2, r2, #12
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3409 02ec DB78     		ldrb	r3, [r3, #3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3410 02ee 1B01     		lsls	r3, r3, #4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3411 02f0 1A43     		orrs	r2, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							1004:Drivers/BME680/bme680.c **** 			adc_temp = (uint32_t) (((uint32_t) buff[5] * 4096) | ((uint32_t) buff[6] * 16)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3412              		.loc 1 1004 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3413 02f2 06AB     		add	r3, sp, #24
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3414 02f4 1B79     		ldrb	r3, [r3, #4]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3415 02f6 1B09     		lsrs	r3, r3, #4
 | 
						
						
						
						
							 | 
							
								 | 
							
							1003:Drivers/BME680/bme680.c **** 				| ((uint32_t) buff[4] / 16));
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3416              		.loc 1 1003 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3417 02f8 1A43     		orrs	r2, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3418 02fa 0292     		str	r2, [sp, #8]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3419              	.LVL407:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1005:Drivers/BME680/bme680.c **** 				| ((uint32_t) buff[7] / 16));
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3420              		.loc 1 1005 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3421 02fc 06AB     		add	r3, sp, #24
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3422 02fe 5879     		ldrb	r0, [r3, #5]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3423              	.LVL408:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3424 0300 0003     		lsls	r0, r0, #12
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3425 0302 9B79     		ldrb	r3, [r3, #6]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3426 0304 1B01     		lsls	r3, r3, #4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3427 0306 1843     		orrs	r0, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							1006:Drivers/BME680/bme680.c **** 			adc_hum = (uint16_t) (((uint32_t) buff[8] * 256) | (uint32_t) buff[9]);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3428              		.loc 1 1006 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3429 0308 06AB     		add	r3, sp, #24
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3430 030a DB79     		ldrb	r3, [r3, #7]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3431 030c 1B09     		lsrs	r3, r3, #4
 | 
						
						
						
						
							 | 
							
								 | 
							
							1005:Drivers/BME680/bme680.c **** 				| ((uint32_t) buff[7] / 16));
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3432              		.loc 1 1005 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3433 030e 1843     		orrs	r0, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3434              	.LVL409:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1007:Drivers/BME680/bme680.c **** 			adc_gas_res = (uint16_t) ((uint32_t) buff[13] * 4 | (((uint32_t) buff[14]) / 64));
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3435              		.loc 1 1007 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3436 0310 06AB     		add	r3, sp, #24
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3437 0312 197A     		ldrb	r1, [r3, #8]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3438 0314 0902     		lsls	r1, r1, #8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3439 0316 5B7A     		ldrb	r3, [r3, #9]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3440 0318 1943     		orrs	r1, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3441 031a 8B46     		mov	fp, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3442              	.LVL410:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1008:Drivers/BME680/bme680.c **** 			gas_range = buff[14] & BME680_GAS_RANGE_MSK;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3443              		.loc 1 1008 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3444 031c 06AB     		add	r3, sp, #24
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3445 031e 5B7B     		ldrb	r3, [r3, #13]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3446 0320 9B00     		lsls	r3, r3, #2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3447 0322 9846     		mov	r8, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3448 0324 06AB     		add	r3, sp, #24
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3449 0326 9B7B     		ldrb	r3, [r3, #14]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3450 0328 9A09     		lsrs	r2, r3, #6
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 88
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3451              	.LVL411:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3452 032a 9146     		mov	r9, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3453 032c 4246     		mov	r2, r8
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3454 032e 4946     		mov	r1, r9
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3455 0330 0A43     		orrs	r2, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3456 0332 9046     		mov	r8, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3457              	.LVL412:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1009:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3458              		.loc 1 1009 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3459 0334 5246     		mov	r2, r10
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3460 0336 1A40     		ands	r2, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3461 0338 9246     		mov	r10, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3462              	.LVL413:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1011:Drivers/BME680/bme680.c **** 			data->status |= buff[14] & BME680_HEAT_STAB_MSK;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3463              		.loc 1 1011 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3464 033a 5BB2     		sxtb	r3, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3465 033c 9946     		mov	r9, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3466 033e 2023     		movs	r3, #32
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3467 0340 4A46     		mov	r2, r9
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3468 0342 1340     		ands	r3, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3469 0344 6246     		mov	r2, ip
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3470 0346 1343     		orrs	r3, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3471 0348 5BB2     		sxtb	r3, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							1012:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3472              		.loc 1 1012 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3473 034a 06AA     		add	r2, sp, #24
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3474 034c 927B     		ldrb	r2, [r2, #14]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3475 034e 52B2     		sxtb	r2, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3476 0350 9146     		mov	r9, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3477 0352 1022     		movs	r2, #16
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3478 0354 9446     		mov	ip, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3479 0356 4A46     		mov	r2, r9
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3480 0358 6146     		mov	r1, ip
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3481 035a 0A40     		ands	r2, r1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3482 035c 1343     		orrs	r3, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3483 035e 3B70     		strb	r3, [r7]
 | 
						
						
						
						
							 | 
							
								 | 
							
							1014:Drivers/BME680/bme680.c **** 				data->temperature = calc_temperature(adc_temp, dev);
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3484              		.loc 1 1014 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3485 0360 00D5     		bpl	.LCB3947
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3486 0362 89E6     		b	.L204	@long jump
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3487              	.LCB3947:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1022:Drivers/BME680/bme680.c **** 		}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3488              		.loc 1 1022 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3489 0364 0A20     		movs	r0, #10
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3490              	.LVL414:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3491 0366 2B6D     		ldr	r3, [r5, #80]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3492 0368 9847     		blx	r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3493              	.LVL415:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3494 036a A2E7     		b	.L184
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3495              	.LVL416:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3496              	.L203:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3497 036c 0196     		str	r6, [sp, #4]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3498 036e B946     		mov	r9, r7
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3499              	.LVL417:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3500              	.L187:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1027:Drivers/BME680/bme680.c **** 		rslt = BME680_W_NO_NEW_DATA;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3501              		.loc 1 1027 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 89
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3502 0370 002C     		cmp	r4, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3503 0372 12D0     		beq	.L205
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3504              	.LVL418:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3505              	.L189:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3506              	.LBE199:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3507              	.LBE198:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 651:Drivers/BME680/bme680.c **** 			if (data->status & BME680_NEW_DATA_MSK)
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3508              		.loc 1 651 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3509 0374 019B     		ldr	r3, [sp, #4]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3510 0376 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3511 0378 07D1     		bne	.L182
 | 
						
						
						
						
							 | 
							
								 | 
							
							 652:Drivers/BME680/bme680.c **** 				dev->new_fields = 1;
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3512              		.loc 1 652 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3513 037a 4B46     		mov	r3, r9
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3514 037c 1B78     		ldrb	r3, [r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3515 037e 5BB2     		sxtb	r3, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3516 0380 002B     		cmp	r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3517 0382 0DDB     		blt	.L206
 | 
						
						
						
						
							 | 
							
								 | 
							
							 655:Drivers/BME680/bme680.c **** 		}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3518              		.loc 1 655 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3519 0384 4523     		movs	r3, #69
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3520 0386 0022     		movs	r2, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3521 0388 EA54     		strb	r2, [r5, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3522              	.LVL419:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3523              	.L182:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 660:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3524              		.loc 1 660 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3525 038a 0198     		ldr	r0, [sp, #4]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3526 038c 0BB0     		add	sp, sp, #44
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3527              		@ sp needed
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3528              	.LVL420:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3529              	.LVL421:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3530 038e 3CBC     		pop	{r2, r3, r4, r5}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3531 0390 9046     		mov	r8, r2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3532 0392 9946     		mov	r9, r3
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3533 0394 A246     		mov	r10, r4
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3534 0396 AB46     		mov	fp, r5
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3535 0398 F0BD     		pop	{r4, r5, r6, r7, pc}
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3536              	.LVL422:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3537              	.L205:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3538              	.LBB211:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3539              	.LBB210:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1028:Drivers/BME680/bme680.c **** 
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3540              		.loc 1 1028 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3541 039a 0223     		movs	r3, #2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3542 039c 0193     		str	r3, [sp, #4]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3543              	.LVL423:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3544 039e E9E7     		b	.L189
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3545              	.LVL424:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3546              	.L206:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3547              	.LBE210:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3548              	.LBE211:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 653:Drivers/BME680/bme680.c **** 			else
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3549              		.loc 1 653 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3550 03a0 4523     		movs	r3, #69
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3551 03a2 0122     		movs	r2, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3552 03a4 EA54     		strb	r2, [r5, r3]
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 90
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3553 03a6 F0E7     		b	.L182
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3554              	.LVL425:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3555              	.L191:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3556              	.LBB212:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3557              	.LBB197:
 | 
						
						
						
						
							 | 
							
								 | 
							
							1131:Drivers/BME680/bme680.c **** 	} else {
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3558              		.loc 1 1131 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3559 03a8 0123     		movs	r3, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3560 03aa 5B42     		rsbs	r3, r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3561 03ac 0193     		str	r3, [sp, #4]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3562 03ae ECE7     		b	.L182
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3563              	.L192:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3564 03b0 0123     		movs	r3, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3565 03b2 5B42     		rsbs	r3, r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3566 03b4 0193     		str	r3, [sp, #4]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3567 03b6 E8E7     		b	.L182
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3568              	.L193:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3569 03b8 0123     		movs	r3, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3570 03ba 5B42     		rsbs	r3, r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3571 03bc 0193     		str	r3, [sp, #4]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3572 03be E4E7     		b	.L182
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3573              	.L194:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3574 03c0 0123     		movs	r3, #1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3575 03c2 5B42     		rsbs	r3, r3, #0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3576 03c4 0193     		str	r3, [sp, #4]
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3577 03c6 E0E7     		b	.L182
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3578              	.L208:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3579              		.align	2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3580              	.L207:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3581 03c8 0006FFFF 		.word	-64000
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3582 03cc 350C0000 		.word	3125
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3583 03d0 A0860100 		.word	100000
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3584 03d4 3C050000 		.word	1340
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3585 03d8 00000000 		.word	.LANCHOR0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3586 03dc 00000000 		.word	.LANCHOR1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3587              	.LBE197:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3588              	.LBE212:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3589              		.cfi_endproc
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3590              	.LFE10:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3592              		.global	lookupTable2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3593              		.global	lookupTable1
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3594              		.section	.data.lookupTable1,"aw",%progbits
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3595              		.align	2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3596              		.set	.LANCHOR0,. + 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3599              	lookupTable1:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3600 0000 FFFFFF7F 		.word	2147483647
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3601 0004 FFFFFF7F 		.word	2147483647
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3602 0008 FFFFFF7F 		.word	2147483647
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3603 000c FFFFFF7F 		.word	2147483647
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3604 0010 FFFFFF7F 		.word	2147483647
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3605 0014 EA51B87E 		.word	2126008810
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3606 0018 FFFFFF7F 		.word	2147483647
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3607 001c 21DBF97E 		.word	2130303777
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3608 0020 FFFFFF7F 		.word	2147483647
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3609 0024 FFFFFF7F 		.word	2147483647
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3610 0028 C776BE7F 		.word	2143188679
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3611 002c F4285C7F 		.word	2136746228
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 91
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3612 0030 FFFFFF7F 		.word	2147483647
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3613 0034 EA51B87E 		.word	2126008810
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3614 0038 FFFFFF7F 		.word	2147483647
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3615 003c FFFFFF7F 		.word	2147483647
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3616              		.section	.data.lookupTable2,"aw",%progbits
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3617              		.align	2
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3618              		.set	.LANCHOR1,. + 0
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3621              	lookupTable2:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3622 0000 000024F4 		.word	-198967296
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3623 0004 0000127A 		.word	2048000000
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3624 0008 0000093D 		.word	1024000000
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3625 000c 0080841E 		.word	512000000
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3626 0010 FF583E0F 		.word	255744255
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3627 0014 548C9307 		.word	127110228
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3628 0018 0090D003 		.word	64000000
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3629 001c 1038EC01 		.word	32258064
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3630 0020 9062F400 		.word	16016016
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3631 0024 00127A00 		.word	8000000
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3632 0028 00093D00 		.word	4000000
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3633 002c 80841E00 		.word	2000000
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3634 0030 40420F00 		.word	1000000
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3635 0034 20A10700 		.word	500000
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3636 0038 90D00300 		.word	250000
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3637 003c 48E80100 		.word	125000
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3638              		.text
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3639              	.Letext0:
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3640              		.file 2 "/usr/arm-none-eabi/include/machine/_default_types.h"
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3641              		.file 3 "/usr/arm-none-eabi/include/sys/_stdint.h"
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3642              		.file 4 "Drivers/BME680/bme680_defs.h"
 | 
						
						
						
						
							 | 
							
								 | 
							
							 3643              		.file 5 "<built-in>"
 | 
						
						
						
						
							 | 
							
								 | 
							
							ARM GAS  /tmp/ccvbgJts.s 			page 92
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							DEFINED SYMBOLS
 | 
						
						
						
						
							 | 
							
								 | 
							
							                            *ABS*:0000000000000000 bme680.c
 | 
						
						
						
						
							 | 
							
								 | 
							
							     /tmp/ccvbgJts.s:16     .text.set_mem_page:0000000000000000 $t
 | 
						
						
						
						
							 | 
							
								 | 
							
							     /tmp/ccvbgJts.s:22     .text.set_mem_page:0000000000000000 set_mem_page
 | 
						
						
						
						
							 | 
							
								 | 
							
							     /tmp/ccvbgJts.s:176    .text.get_mem_page:0000000000000000 $t
 | 
						
						
						
						
							 | 
							
								 | 
							
							     /tmp/ccvbgJts.s:182    .text.get_mem_page:0000000000000000 get_mem_page
 | 
						
						
						
						
							 | 
							
								 | 
							
							     /tmp/ccvbgJts.s:282    .text.bme680_get_regs:0000000000000000 $t
 | 
						
						
						
						
							 | 
							
								 | 
							
							     /tmp/ccvbgJts.s:289    .text.bme680_get_regs:0000000000000000 bme680_get_regs
 | 
						
						
						
						
							 | 
							
								 | 
							
							     /tmp/ccvbgJts.s:416    .text.bme680_set_regs:0000000000000000 $t
 | 
						
						
						
						
							 | 
							
								 | 
							
							     /tmp/ccvbgJts.s:423    .text.bme680_set_regs:0000000000000000 bme680_set_regs
 | 
						
						
						
						
							 | 
							
								 | 
							
							     /tmp/ccvbgJts.s:618    .text.bme680_soft_reset:0000000000000000 $t
 | 
						
						
						
						
							 | 
							
								 | 
							
							     /tmp/ccvbgJts.s:625    .text.bme680_soft_reset:0000000000000000 bme680_soft_reset
 | 
						
						
						
						
							 | 
							
								 | 
							
							     /tmp/ccvbgJts.s:759    .text.bme680_init:0000000000000000 $t
 | 
						
						
						
						
							 | 
							
								 | 
							
							     /tmp/ccvbgJts.s:766    .text.bme680_init:0000000000000000 bme680_init
 | 
						
						
						
						
							 | 
							
								 | 
							
							     /tmp/ccvbgJts.s:1155   .text.bme680_get_sensor_settings:0000000000000000 $t
 | 
						
						
						
						
							 | 
							
								 | 
							
							     /tmp/ccvbgJts.s:1162   .text.bme680_get_sensor_settings:0000000000000000 bme680_get_sensor_settings
 | 
						
						
						
						
							 | 
							
								 | 
							
							     /tmp/ccvbgJts.s:1470   .text.bme680_set_sensor_mode:0000000000000000 $t
 | 
						
						
						
						
							 | 
							
								 | 
							
							     /tmp/ccvbgJts.s:1477   .text.bme680_set_sensor_mode:0000000000000000 bme680_set_sensor_mode
 | 
						
						
						
						
							 | 
							
								 | 
							
							     /tmp/ccvbgJts.s:1642   .text.bme680_set_sensor_settings:0000000000000000 $t
 | 
						
						
						
						
							 | 
							
								 | 
							
							     /tmp/ccvbgJts.s:1649   .text.bme680_set_sensor_settings:0000000000000000 bme680_set_sensor_settings
 | 
						
						
						
						
							 | 
							
								 | 
							
							     /tmp/ccvbgJts.s:2558   .text.bme680_set_sensor_settings:0000000000000440 $d
 | 
						
						
						
						
							 | 
							
								 | 
							
							     /tmp/ccvbgJts.s:2566   .text.bme680_get_sensor_mode:0000000000000000 $t
 | 
						
						
						
						
							 | 
							
								 | 
							
							     /tmp/ccvbgJts.s:2573   .text.bme680_get_sensor_mode:0000000000000000 bme680_get_sensor_mode
 | 
						
						
						
						
							 | 
							
								 | 
							
							     /tmp/ccvbgJts.s:2664   .text.bme680_set_profile_dur:0000000000000000 $t
 | 
						
						
						
						
							 | 
							
								 | 
							
							     /tmp/ccvbgJts.s:2671   .text.bme680_set_profile_dur:0000000000000000 bme680_set_profile_dur
 | 
						
						
						
						
							 | 
							
								 | 
							
							     /tmp/ccvbgJts.s:2727   .text.bme680_set_profile_dur:0000000000000034 $d
 | 
						
						
						
						
							 | 
							
								 | 
							
							     /tmp/ccvbgJts.s:2733   .text.bme680_get_profile_dur:0000000000000000 $t
 | 
						
						
						
						
							 | 
							
								 | 
							
							     /tmp/ccvbgJts.s:2740   .text.bme680_get_profile_dur:0000000000000000 bme680_get_profile_dur
 | 
						
						
						
						
							 | 
							
								 | 
							
							     /tmp/ccvbgJts.s:2806   .text.bme680_get_profile_dur:0000000000000040 $d
 | 
						
						
						
						
							 | 
							
								 | 
							
							     /tmp/ccvbgJts.s:2814   .text.bme680_get_sensor_data:0000000000000000 $t
 | 
						
						
						
						
							 | 
							
								 | 
							
							     /tmp/ccvbgJts.s:2821   .text.bme680_get_sensor_data:0000000000000000 bme680_get_sensor_data
 | 
						
						
						
						
							 | 
							
								 | 
							
							     /tmp/ccvbgJts.s:3581   .text.bme680_get_sensor_data:00000000000003c8 $d
 | 
						
						
						
						
							 | 
							
								 | 
							
							     /tmp/ccvbgJts.s:3621   .data.lookupTable2:0000000000000000 lookupTable2
 | 
						
						
						
						
							 | 
							
								 | 
							
							     /tmp/ccvbgJts.s:3599   .data.lookupTable1:0000000000000000 lookupTable1
 | 
						
						
						
						
							 | 
							
								 | 
							
							     /tmp/ccvbgJts.s:3595   .data.lookupTable1:0000000000000000 $d
 | 
						
						
						
						
							 | 
							
								 | 
							
							     /tmp/ccvbgJts.s:3617   .data.lookupTable2:0000000000000000 $d
 | 
						
						
						
						
							 | 
							
								 | 
							
							                     .debug_frame:0000000000000010 $d
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							UNDEFINED SYMBOLS
 | 
						
						
						
						
							 | 
							
								 | 
							
							memset
 | 
						
						
						
						
							 | 
							
								 | 
							
							__aeabi_idiv
 | 
						
						
						
						
							 | 
							
								 | 
							
							__aeabi_uidiv
 | 
						
						
						
						
							 | 
							
								 | 
							
							__aeabi_lmul
 | 
						
						
						
						
							 | 
							
								 | 
							
							__aeabi_ldivmod
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 |