Subversion Repositories dashGPS

Rev

Rev 16 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                    page 1


   1                            .cpu cortex-m3
   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, 1
  10                            .eabi_attribute 18, 4
  11                            .file   "bmp280.c"
  12                            .text
  13                    .Ltext0:
  14                            .cfi_sections   .debug_frame
  15                            .section        .text.null_ptr_check,"ax",%progbits
  16                            .align  1
  17                            .arch armv7-m
  18                            .syntax unified
  19                            .thumb
  20                            .thumb_func
  21                            .fpu softvfp
  23                    null_ptr_check:
  24                    .LVL0:
  25                    .LFB16:
  26                            .file 1 "../libBMP280/src/bmp280.c"
   1:../libBMP280/src/bmp280.c **** /**
   2:../libBMP280/src/bmp280.c **** * Copyright (c) 2020 Bosch Sensortec GmbH. All rights reserved.
   3:../libBMP280/src/bmp280.c **** *
   4:../libBMP280/src/bmp280.c **** * BSD-3-Clause
   5:../libBMP280/src/bmp280.c **** *
   6:../libBMP280/src/bmp280.c **** * Redistribution and use in source and binary forms, with or without
   7:../libBMP280/src/bmp280.c **** * modification, are permitted provided that the following conditions are met:
   8:../libBMP280/src/bmp280.c **** *
   9:../libBMP280/src/bmp280.c **** * 1. Redistributions of source code must retain the above copyright
  10:../libBMP280/src/bmp280.c **** *    notice, this list of conditions and the following disclaimer.
  11:../libBMP280/src/bmp280.c **** *
  12:../libBMP280/src/bmp280.c **** * 2. Redistributions in binary form must reproduce the above copyright
  13:../libBMP280/src/bmp280.c **** *    notice, this list of conditions and the following disclaimer in the
  14:../libBMP280/src/bmp280.c **** *    documentation and/or other materials provided with the distribution.
  15:../libBMP280/src/bmp280.c **** *
  16:../libBMP280/src/bmp280.c **** * 3. Neither the name of the copyright holder nor the names of its
  17:../libBMP280/src/bmp280.c **** *    contributors may be used to endorse or promote products derived from
  18:../libBMP280/src/bmp280.c **** *    this software without specific prior written permission.
  19:../libBMP280/src/bmp280.c **** *
  20:../libBMP280/src/bmp280.c **** * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  21:../libBMP280/src/bmp280.c **** * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  22:../libBMP280/src/bmp280.c **** * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
  23:../libBMP280/src/bmp280.c **** * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
  24:../libBMP280/src/bmp280.c **** * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
  25:../libBMP280/src/bmp280.c **** * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
  26:../libBMP280/src/bmp280.c **** * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
  27:../libBMP280/src/bmp280.c **** * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  28:../libBMP280/src/bmp280.c **** * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
  29:../libBMP280/src/bmp280.c **** * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
  30:../libBMP280/src/bmp280.c **** * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  31:../libBMP280/src/bmp280.c **** * POSSIBILITY OF SUCH DAMAGE.
  32:../libBMP280/src/bmp280.c **** *
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 2


  33:../libBMP280/src/bmp280.c **** * @file     bmp280.c
  34:../libBMP280/src/bmp280.c **** * @date     2020-01-10
  35:../libBMP280/src/bmp280.c **** * @version  v3.3.4
  36:../libBMP280/src/bmp280.c **** *
  37:../libBMP280/src/bmp280.c **** */#include "libBMP280/bmp280.h"
  38:../libBMP280/src/bmp280.c **** 
  39:../libBMP280/src/bmp280.c **** /********************** Static function declarations ************************/
  40:../libBMP280/src/bmp280.c **** 
  41:../libBMP280/src/bmp280.c **** /*!
  42:../libBMP280/src/bmp280.c ****  * @brief This internal API is used to check for null-pointers in the device
  43:../libBMP280/src/bmp280.c ****  * structure.
  44:../libBMP280/src/bmp280.c ****  *
  45:../libBMP280/src/bmp280.c ****  * @param[in] dev : Structure instance of bmp280_dev.
  46:../libBMP280/src/bmp280.c ****  *
  47:../libBMP280/src/bmp280.c ****  * @return Result of API execution status
  48:../libBMP280/src/bmp280.c ****  * @retval Zero for Success, non-zero otherwise.
  49:../libBMP280/src/bmp280.c ****  */
  50:../libBMP280/src/bmp280.c **** static int8_t null_ptr_check(const struct bmp280_dev *dev);
  51:../libBMP280/src/bmp280.c **** 
  52:../libBMP280/src/bmp280.c **** /*!
  53:../libBMP280/src/bmp280.c ****  * @brief This internal API interleaves the register addresses and respective
  54:../libBMP280/src/bmp280.c ****  * register data for a burst write
  55:../libBMP280/src/bmp280.c ****  *
  56:../libBMP280/src/bmp280.c ****  * @param[in] reg_addr: Register address array
  57:../libBMP280/src/bmp280.c ****  * @param[out] temp_buff: Interleaved register address and data array
  58:../libBMP280/src/bmp280.c ****  * @param[in] reg_addr: Register data array
  59:../libBMP280/src/bmp280.c ****  * @param[in] len : Length of the reg_addr and reg_data arrays
  60:../libBMP280/src/bmp280.c ****  *
  61:../libBMP280/src/bmp280.c ****  * @return Result of API execution status
  62:../libBMP280/src/bmp280.c ****  * @retval Zero for Success, non-zero otherwise.
  63:../libBMP280/src/bmp280.c ****  */
  64:../libBMP280/src/bmp280.c **** static void interleave_data(const uint8_t *reg_addr, uint8_t *temp_buff, const uint8_t *reg_data, u
  65:../libBMP280/src/bmp280.c **** 
  66:../libBMP280/src/bmp280.c **** /*!
  67:../libBMP280/src/bmp280.c ****  * @brief This API is used to read the calibration parameters used
  68:../libBMP280/src/bmp280.c ****  * for calculating the compensated data.
  69:../libBMP280/src/bmp280.c ****  *
  70:../libBMP280/src/bmp280.c ****  * @param[in] dev : Structure instance of bmp280_dev
  71:../libBMP280/src/bmp280.c ****  *
  72:../libBMP280/src/bmp280.c ****  * @return Result of API execution
  73:../libBMP280/src/bmp280.c ****  * @retval Zero for Success, non-zero otherwise.
  74:../libBMP280/src/bmp280.c ****  */
  75:../libBMP280/src/bmp280.c **** static int8_t get_calib_param(struct bmp280_dev *dev);
  76:../libBMP280/src/bmp280.c **** 
  77:../libBMP280/src/bmp280.c **** /*!
  78:../libBMP280/src/bmp280.c ****  * @brief This internal API to reset the sensor, restore/set conf, restore/set mode
  79:../libBMP280/src/bmp280.c ****  *
  80:../libBMP280/src/bmp280.c ****  * @param[in] mode: Desired mode
  81:../libBMP280/src/bmp280.c ****  * @param[in] conf : Desired configuration to the bmp280
  82:../libBMP280/src/bmp280.c ****  * conf.os_temp, conf.os_pres = BMP280_OS_NONE, BMP280_OS_1X,
  83:../libBMP280/src/bmp280.c ****  *     BMP280_OS_2X, BMP280_OS_4X, BMP280_OS_8X, BMP280_OS_16X
  84:../libBMP280/src/bmp280.c ****  * conf.mode = BMP280_SLEEP_MODE, BMP280_FORCED_MODE, BMP280_NORMAL_MODE
  85:../libBMP280/src/bmp280.c ****  * conf.odr = BMP280_ODR_0_5_MS, BMP280_ODR_62_5_MS, BMP280_ODR_125_MS,
  86:../libBMP280/src/bmp280.c ****  *     BMP280_ODR_250_MS, BMP280_ODR_500_MS, BMP280_ODR_1000_MS,
  87:../libBMP280/src/bmp280.c ****  *     BMP280_ODR_2000_MS, BMP280_ODR_4000_MS
  88:../libBMP280/src/bmp280.c ****  * conf.filter = BMP280_FILTER_OFF, BMP280_FILTER_COEFF_2,
  89:../libBMP280/src/bmp280.c ****  *     BMP280_FILTER_COEFF_4, BMP280_FILTER_COEFF_8, BMP280_FILTER_COEFF_16
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 3


  90:../libBMP280/src/bmp280.c ****  * @param[in] dev : Structure instance of bmp280_dev
  91:../libBMP280/src/bmp280.c ****  *
  92:../libBMP280/src/bmp280.c ****  * @return Result of API execution status
  93:../libBMP280/src/bmp280.c ****  * @retval Zero for Success, non-zero otherwise.
  94:../libBMP280/src/bmp280.c ****  */
  95:../libBMP280/src/bmp280.c **** static int8_t conf_sensor(uint8_t mode, const struct bmp280_config *conf, struct bmp280_dev *dev);
  96:../libBMP280/src/bmp280.c **** 
  97:../libBMP280/src/bmp280.c **** /*!
  98:../libBMP280/src/bmp280.c ****  * @This internal API checks whether the uncompensated temperature and pressure are within the rang
  99:../libBMP280/src/bmp280.c ****  *
 100:../libBMP280/src/bmp280.c ****  * @param[in] utemperature : uncompensated temperature
 101:../libBMP280/src/bmp280.c ****  * @param[in] upressure : uncompensated pressure
 102:../libBMP280/src/bmp280.c ****  *
 103:../libBMP280/src/bmp280.c ****  * @return Result of API execution status
 104:../libBMP280/src/bmp280.c ****  * @retval Zero for Success, non-zero otherwise.
 105:../libBMP280/src/bmp280.c ****  */
 106:../libBMP280/src/bmp280.c **** static int8_t st_check_boundaries(int32_t utemperature, int32_t upressure);
 107:../libBMP280/src/bmp280.c **** 
 108:../libBMP280/src/bmp280.c **** /****************** User Function Definitions *******************************/
 109:../libBMP280/src/bmp280.c **** 
 110:../libBMP280/src/bmp280.c **** /*!
 111:../libBMP280/src/bmp280.c ****  * @brief This API reads the data from the given register address of the
 112:../libBMP280/src/bmp280.c ****  * sensor.
 113:../libBMP280/src/bmp280.c ****  */
 114:../libBMP280/src/bmp280.c **** int8_t bmp280_get_regs(uint8_t reg_addr, uint8_t *reg_data, uint8_t len, const struct bmp280_dev *d
 115:../libBMP280/src/bmp280.c **** {
 116:../libBMP280/src/bmp280.c ****     int8_t rslt;
 117:../libBMP280/src/bmp280.c **** 
 118:../libBMP280/src/bmp280.c ****     rslt = null_ptr_check(dev);
 119:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (reg_data != NULL))
 120:../libBMP280/src/bmp280.c ****     {
 121:../libBMP280/src/bmp280.c ****         /* Mask the register address' MSB if interface selected is SPI */
 122:../libBMP280/src/bmp280.c ****         if (dev->intf == BMP280_SPI_INTF)
 123:../libBMP280/src/bmp280.c ****         {
 124:../libBMP280/src/bmp280.c ****             reg_addr = reg_addr | 0x80;
 125:../libBMP280/src/bmp280.c ****         }
 126:../libBMP280/src/bmp280.c ****         rslt = dev->read(dev->dev_id, reg_addr, reg_data, len);
 127:../libBMP280/src/bmp280.c **** 
 128:../libBMP280/src/bmp280.c ****         /* Check for communication error and mask with an internal error code */
 129:../libBMP280/src/bmp280.c ****         if (rslt != BMP280_OK)
 130:../libBMP280/src/bmp280.c ****         {
 131:../libBMP280/src/bmp280.c ****             rslt = BMP280_E_COMM_FAIL;
 132:../libBMP280/src/bmp280.c ****         }
 133:../libBMP280/src/bmp280.c ****     }
 134:../libBMP280/src/bmp280.c ****     else
 135:../libBMP280/src/bmp280.c ****     {
 136:../libBMP280/src/bmp280.c ****         rslt = BMP280_E_NULL_PTR;
 137:../libBMP280/src/bmp280.c ****     }
 138:../libBMP280/src/bmp280.c **** 
 139:../libBMP280/src/bmp280.c ****     return rslt;
 140:../libBMP280/src/bmp280.c **** }
 141:../libBMP280/src/bmp280.c **** 
 142:../libBMP280/src/bmp280.c **** /*!
 143:../libBMP280/src/bmp280.c ****  * @brief This API writes the given data to the register addresses
 144:../libBMP280/src/bmp280.c ****  * of the sensor.
 145:../libBMP280/src/bmp280.c ****  */
 146:../libBMP280/src/bmp280.c **** int8_t bmp280_set_regs(uint8_t *reg_addr, const uint8_t *reg_data, uint8_t len, const struct bmp280
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 4


 147:../libBMP280/src/bmp280.c **** {
 148:../libBMP280/src/bmp280.c ****     int8_t rslt;
 149:../libBMP280/src/bmp280.c ****     uint8_t temp_buff[8]; /* Typically not to write more than 4 registers */
 150:../libBMP280/src/bmp280.c ****     uint16_t temp_len;
 151:../libBMP280/src/bmp280.c ****     uint8_t reg_addr_cnt;
 152:../libBMP280/src/bmp280.c **** 
 153:../libBMP280/src/bmp280.c ****     if (len > 4)
 154:../libBMP280/src/bmp280.c ****     {
 155:../libBMP280/src/bmp280.c ****         len = 4;
 156:../libBMP280/src/bmp280.c ****     }
 157:../libBMP280/src/bmp280.c ****     rslt = null_ptr_check(dev);
 158:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (reg_addr != NULL) && (reg_data != NULL))
 159:../libBMP280/src/bmp280.c ****     {
 160:../libBMP280/src/bmp280.c ****         if (len != 0)
 161:../libBMP280/src/bmp280.c ****         {
 162:../libBMP280/src/bmp280.c ****             temp_buff[0] = reg_data[0];
 163:../libBMP280/src/bmp280.c **** 
 164:../libBMP280/src/bmp280.c ****             /* Mask the register address' MSB if interface selected is SPI */
 165:../libBMP280/src/bmp280.c ****             if (dev->intf == BMP280_SPI_INTF)
 166:../libBMP280/src/bmp280.c ****             {
 167:../libBMP280/src/bmp280.c ****                 /* Converting all the reg address into proper SPI write address
 168:../libBMP280/src/bmp280.c ****                  * i.e making MSB(R/`W) bit 0
 169:../libBMP280/src/bmp280.c ****                  */
 170:../libBMP280/src/bmp280.c ****                 for (reg_addr_cnt = 0; reg_addr_cnt < len; reg_addr_cnt++)
 171:../libBMP280/src/bmp280.c ****                 {
 172:../libBMP280/src/bmp280.c ****                     reg_addr[reg_addr_cnt] = reg_addr[reg_addr_cnt] & 0x7F;
 173:../libBMP280/src/bmp280.c ****                 }
 174:../libBMP280/src/bmp280.c ****             }
 175:../libBMP280/src/bmp280.c **** 
 176:../libBMP280/src/bmp280.c ****             /* Burst write mode */
 177:../libBMP280/src/bmp280.c ****             if (len > 1)
 178:../libBMP280/src/bmp280.c ****             {
 179:../libBMP280/src/bmp280.c ****                 /* Interleave register address w.r.t data for burst write*/
 180:../libBMP280/src/bmp280.c ****                 interleave_data(reg_addr, temp_buff, reg_data, len);
 181:../libBMP280/src/bmp280.c ****                 temp_len = ((len * 2) - 1);
 182:../libBMP280/src/bmp280.c ****             }
 183:../libBMP280/src/bmp280.c ****             else
 184:../libBMP280/src/bmp280.c ****             {
 185:../libBMP280/src/bmp280.c ****                 temp_len = len;
 186:../libBMP280/src/bmp280.c ****             }
 187:../libBMP280/src/bmp280.c ****             rslt = dev->write(dev->dev_id, reg_addr[0], temp_buff, temp_len);
 188:../libBMP280/src/bmp280.c **** 
 189:../libBMP280/src/bmp280.c ****             /* Check for communication error and mask with an internal error code */
 190:../libBMP280/src/bmp280.c ****             if (rslt != BMP280_OK)
 191:../libBMP280/src/bmp280.c ****             {
 192:../libBMP280/src/bmp280.c ****                 rslt = BMP280_E_COMM_FAIL;
 193:../libBMP280/src/bmp280.c ****             }
 194:../libBMP280/src/bmp280.c ****         }
 195:../libBMP280/src/bmp280.c ****         else
 196:../libBMP280/src/bmp280.c ****         {
 197:../libBMP280/src/bmp280.c ****             rslt = BMP280_E_INVALID_LEN;
 198:../libBMP280/src/bmp280.c ****         }
 199:../libBMP280/src/bmp280.c ****     }
 200:../libBMP280/src/bmp280.c ****     else
 201:../libBMP280/src/bmp280.c ****     {
 202:../libBMP280/src/bmp280.c ****         rslt = BMP280_E_NULL_PTR;
 203:../libBMP280/src/bmp280.c ****     }
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 5


 204:../libBMP280/src/bmp280.c **** 
 205:../libBMP280/src/bmp280.c ****     return rslt;
 206:../libBMP280/src/bmp280.c **** }
 207:../libBMP280/src/bmp280.c **** 
 208:../libBMP280/src/bmp280.c **** /*!
 209:../libBMP280/src/bmp280.c ****  * @brief This API triggers the soft reset of the sensor.
 210:../libBMP280/src/bmp280.c ****  */
 211:../libBMP280/src/bmp280.c **** int8_t bmp280_soft_reset(const struct bmp280_dev *dev)
 212:../libBMP280/src/bmp280.c **** {
 213:../libBMP280/src/bmp280.c ****     int8_t rslt;
 214:../libBMP280/src/bmp280.c ****     uint8_t reg_addr = BMP280_SOFT_RESET_ADDR;
 215:../libBMP280/src/bmp280.c ****     uint8_t soft_rst_cmd = BMP280_SOFT_RESET_CMD;
 216:../libBMP280/src/bmp280.c **** 
 217:../libBMP280/src/bmp280.c ****     rslt = null_ptr_check(dev);
 218:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
 219:../libBMP280/src/bmp280.c ****     {
 220:../libBMP280/src/bmp280.c ****         rslt = bmp280_set_regs(&reg_addr, &soft_rst_cmd, 1, dev);
 221:../libBMP280/src/bmp280.c **** 
 222:../libBMP280/src/bmp280.c ****         /* As per the datasheet, startup time is 2 ms. */
 223:../libBMP280/src/bmp280.c ****         dev->delay_ms(2);
 224:../libBMP280/src/bmp280.c ****     }
 225:../libBMP280/src/bmp280.c **** 
 226:../libBMP280/src/bmp280.c ****     return rslt;
 227:../libBMP280/src/bmp280.c **** }
 228:../libBMP280/src/bmp280.c **** 
 229:../libBMP280/src/bmp280.c **** /*!
 230:../libBMP280/src/bmp280.c ****  * @brief This API is the entry point.
 231:../libBMP280/src/bmp280.c ****  * It reads the chip-id and calibration data from the sensor.
 232:../libBMP280/src/bmp280.c ****  */
 233:../libBMP280/src/bmp280.c **** int8_t bmp280_init(struct bmp280_dev *dev)
 234:../libBMP280/src/bmp280.c **** {
 235:../libBMP280/src/bmp280.c ****     int8_t rslt;
 236:../libBMP280/src/bmp280.c **** 
 237:../libBMP280/src/bmp280.c ****     /* Maximum number of tries before timeout */
 238:../libBMP280/src/bmp280.c ****     uint8_t try_count = 5;
 239:../libBMP280/src/bmp280.c **** 
 240:../libBMP280/src/bmp280.c ****     rslt = null_ptr_check(dev);
 241:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
 242:../libBMP280/src/bmp280.c ****     {
 243:../libBMP280/src/bmp280.c ****         while (try_count)
 244:../libBMP280/src/bmp280.c ****         {
 245:../libBMP280/src/bmp280.c ****             rslt = bmp280_get_regs(BMP280_CHIP_ID_ADDR, &dev->chip_id, 1, dev);
 246:../libBMP280/src/bmp280.c **** 
 247:../libBMP280/src/bmp280.c ****             /* Check for chip id validity */
 248:../libBMP280/src/bmp280.c ****             if ((rslt == BMP280_OK) &&
 249:../libBMP280/src/bmp280.c ****                 (dev->chip_id == BMP280_CHIP_ID1 || dev->chip_id == BMP280_CHIP_ID2 || dev->chip_id
 250:../libBMP280/src/bmp280.c ****             {
 251:../libBMP280/src/bmp280.c ****                 rslt = bmp280_soft_reset(dev);
 252:../libBMP280/src/bmp280.c ****                 if (rslt == BMP280_OK)
 253:../libBMP280/src/bmp280.c ****                 {
 254:../libBMP280/src/bmp280.c ****                     rslt = get_calib_param(dev);
 255:../libBMP280/src/bmp280.c ****                 }
 256:../libBMP280/src/bmp280.c ****                 break;
 257:../libBMP280/src/bmp280.c ****             }
 258:../libBMP280/src/bmp280.c **** 
 259:../libBMP280/src/bmp280.c ****             /* Wait for 10 ms */
 260:../libBMP280/src/bmp280.c ****             dev->delay_ms(10);
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 6


 261:../libBMP280/src/bmp280.c ****             --try_count;
 262:../libBMP280/src/bmp280.c ****         }
 263:../libBMP280/src/bmp280.c **** 
 264:../libBMP280/src/bmp280.c ****         /* Chip id check failed, and timed out */
 265:../libBMP280/src/bmp280.c ****         if (!try_count)
 266:../libBMP280/src/bmp280.c ****         {
 267:../libBMP280/src/bmp280.c ****             rslt = BMP280_E_DEV_NOT_FOUND;
 268:../libBMP280/src/bmp280.c ****         }
 269:../libBMP280/src/bmp280.c ****         if (rslt == BMP280_OK)
 270:../libBMP280/src/bmp280.c ****         {
 271:../libBMP280/src/bmp280.c ****             /* Set values to default */
 272:../libBMP280/src/bmp280.c ****             dev->conf.filter = BMP280_FILTER_OFF;
 273:../libBMP280/src/bmp280.c ****             dev->conf.os_pres = BMP280_OS_NONE;
 274:../libBMP280/src/bmp280.c ****             dev->conf.os_temp = BMP280_OS_NONE;
 275:../libBMP280/src/bmp280.c ****             dev->conf.odr = BMP280_ODR_0_5_MS;
 276:../libBMP280/src/bmp280.c ****             dev->conf.spi3w_en = BMP280_SPI3_WIRE_DISABLE;
 277:../libBMP280/src/bmp280.c ****         }
 278:../libBMP280/src/bmp280.c ****     }
 279:../libBMP280/src/bmp280.c **** 
 280:../libBMP280/src/bmp280.c ****     return rslt;
 281:../libBMP280/src/bmp280.c **** }
 282:../libBMP280/src/bmp280.c **** 
 283:../libBMP280/src/bmp280.c **** /*!
 284:../libBMP280/src/bmp280.c ****  * @brief This API reads the data from the ctrl_meas register and config
 285:../libBMP280/src/bmp280.c ****  * register. It gives the currently set temperature and pressure over-sampling
 286:../libBMP280/src/bmp280.c ****  * configuration, power mode configuration, sleep duration and
 287:../libBMP280/src/bmp280.c ****  * IIR filter coefficient.
 288:../libBMP280/src/bmp280.c ****  */
 289:../libBMP280/src/bmp280.c **** int8_t bmp280_get_config(struct bmp280_config *conf, struct bmp280_dev *dev)
 290:../libBMP280/src/bmp280.c **** {
 291:../libBMP280/src/bmp280.c ****     int8_t rslt;
 292:../libBMP280/src/bmp280.c ****     uint8_t temp[2] = { 0, 0 };
 293:../libBMP280/src/bmp280.c **** 
 294:../libBMP280/src/bmp280.c ****     rslt = null_ptr_check(dev);
 295:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (conf != NULL))
 296:../libBMP280/src/bmp280.c ****     {
 297:../libBMP280/src/bmp280.c ****         rslt = bmp280_get_regs(BMP280_CTRL_MEAS_ADDR, temp, 2, dev);
 298:../libBMP280/src/bmp280.c ****         if (rslt == BMP280_OK)
 299:../libBMP280/src/bmp280.c ****         {
 300:../libBMP280/src/bmp280.c ****             conf->os_temp = BMP280_GET_BITS(BMP280_OS_TEMP, temp[0]);
 301:../libBMP280/src/bmp280.c ****             conf->os_pres = BMP280_GET_BITS(BMP280_OS_PRES, temp[0]);
 302:../libBMP280/src/bmp280.c ****             conf->odr = BMP280_GET_BITS(BMP280_STANDBY_DURN, temp[1]);
 303:../libBMP280/src/bmp280.c ****             conf->filter = BMP280_GET_BITS(BMP280_FILTER, temp[1]);
 304:../libBMP280/src/bmp280.c ****             conf->spi3w_en = BMP280_GET_BITS_POS_0(BMP280_SPI3_ENABLE, temp[1]);
 305:../libBMP280/src/bmp280.c ****             dev->conf = *conf;
 306:../libBMP280/src/bmp280.c ****         }
 307:../libBMP280/src/bmp280.c ****     }
 308:../libBMP280/src/bmp280.c ****     else
 309:../libBMP280/src/bmp280.c ****     {
 310:../libBMP280/src/bmp280.c ****         rslt = BMP280_E_NULL_PTR;
 311:../libBMP280/src/bmp280.c ****     }
 312:../libBMP280/src/bmp280.c **** 
 313:../libBMP280/src/bmp280.c ****     return rslt;
 314:../libBMP280/src/bmp280.c **** }
 315:../libBMP280/src/bmp280.c **** 
 316:../libBMP280/src/bmp280.c **** /*!
 317:../libBMP280/src/bmp280.c ****  * @brief This API writes the data to the ctrl_meas register and config register.
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 7


 318:../libBMP280/src/bmp280.c ****  * It sets the temperature and pressure over-sampling configuration,
 319:../libBMP280/src/bmp280.c ****  * power mode configuration, sleep duration and IIR filter coefficient.
 320:../libBMP280/src/bmp280.c ****  */
 321:../libBMP280/src/bmp280.c **** int8_t bmp280_set_config(const struct bmp280_config *conf, struct bmp280_dev *dev)
 322:../libBMP280/src/bmp280.c **** {
 323:../libBMP280/src/bmp280.c ****     return conf_sensor(BMP280_SLEEP_MODE, conf, dev);
 324:../libBMP280/src/bmp280.c **** }
 325:../libBMP280/src/bmp280.c **** 
 326:../libBMP280/src/bmp280.c **** /*!
 327:../libBMP280/src/bmp280.c ****  * @brief This API reads the status register
 328:../libBMP280/src/bmp280.c ****  */
 329:../libBMP280/src/bmp280.c **** int8_t bmp280_get_status(struct bmp280_status *status, const struct bmp280_dev *dev)
 330:../libBMP280/src/bmp280.c **** {
 331:../libBMP280/src/bmp280.c ****     int8_t rslt;
 332:../libBMP280/src/bmp280.c ****     uint8_t temp;
 333:../libBMP280/src/bmp280.c **** 
 334:../libBMP280/src/bmp280.c ****     rslt = null_ptr_check(dev);
 335:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (status != NULL))
 336:../libBMP280/src/bmp280.c ****     {
 337:../libBMP280/src/bmp280.c ****         rslt = bmp280_get_regs(BMP280_STATUS_ADDR, &temp, 1, dev);
 338:../libBMP280/src/bmp280.c ****         status->measuring = BMP280_GET_BITS(BMP280_STATUS_MEAS, temp);
 339:../libBMP280/src/bmp280.c ****         status->im_update = BMP280_GET_BITS_POS_0(BMP280_STATUS_IM_UPDATE, temp);
 340:../libBMP280/src/bmp280.c ****     }
 341:../libBMP280/src/bmp280.c ****     else
 342:../libBMP280/src/bmp280.c ****     {
 343:../libBMP280/src/bmp280.c ****         rslt = BMP280_E_NULL_PTR;
 344:../libBMP280/src/bmp280.c ****     }
 345:../libBMP280/src/bmp280.c **** 
 346:../libBMP280/src/bmp280.c ****     return rslt;
 347:../libBMP280/src/bmp280.c **** }
 348:../libBMP280/src/bmp280.c **** 
 349:../libBMP280/src/bmp280.c **** /*!
 350:../libBMP280/src/bmp280.c ****  * @brief This API reads the power mode.
 351:../libBMP280/src/bmp280.c ****  */
 352:../libBMP280/src/bmp280.c **** int8_t bmp280_get_power_mode(uint8_t *mode, const struct bmp280_dev *dev)
 353:../libBMP280/src/bmp280.c **** {
 354:../libBMP280/src/bmp280.c ****     int8_t rslt;
 355:../libBMP280/src/bmp280.c ****     uint8_t temp;
 356:../libBMP280/src/bmp280.c **** 
 357:../libBMP280/src/bmp280.c ****     rslt = null_ptr_check(dev);
 358:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (mode != NULL))
 359:../libBMP280/src/bmp280.c ****     {
 360:../libBMP280/src/bmp280.c ****         rslt = bmp280_get_regs(BMP280_CTRL_MEAS_ADDR, &temp, 1, dev);
 361:../libBMP280/src/bmp280.c ****         *mode = BMP280_GET_BITS_POS_0(BMP280_POWER_MODE, temp);
 362:../libBMP280/src/bmp280.c ****     }
 363:../libBMP280/src/bmp280.c ****     else
 364:../libBMP280/src/bmp280.c ****     {
 365:../libBMP280/src/bmp280.c ****         rslt = BMP280_E_NULL_PTR;
 366:../libBMP280/src/bmp280.c ****     }
 367:../libBMP280/src/bmp280.c **** 
 368:../libBMP280/src/bmp280.c ****     return rslt;
 369:../libBMP280/src/bmp280.c **** }
 370:../libBMP280/src/bmp280.c **** 
 371:../libBMP280/src/bmp280.c **** /*!
 372:../libBMP280/src/bmp280.c ****  * @brief This API writes the power mode.
 373:../libBMP280/src/bmp280.c ****  */
 374:../libBMP280/src/bmp280.c **** int8_t bmp280_set_power_mode(uint8_t mode, struct bmp280_dev *dev)
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 8


 375:../libBMP280/src/bmp280.c **** {
 376:../libBMP280/src/bmp280.c ****     int8_t rslt;
 377:../libBMP280/src/bmp280.c **** 
 378:../libBMP280/src/bmp280.c ****     rslt = null_ptr_check(dev);
 379:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
 380:../libBMP280/src/bmp280.c ****     {
 381:../libBMP280/src/bmp280.c ****         rslt = conf_sensor(mode, &dev->conf, dev);
 382:../libBMP280/src/bmp280.c ****     }
 383:../libBMP280/src/bmp280.c **** 
 384:../libBMP280/src/bmp280.c ****     return rslt;
 385:../libBMP280/src/bmp280.c **** }
 386:../libBMP280/src/bmp280.c **** 
 387:../libBMP280/src/bmp280.c **** /*!
 388:../libBMP280/src/bmp280.c ****  * @brief This API reads the temperature and pressure data registers.
 389:../libBMP280/src/bmp280.c ****  * It gives the raw temperature and pressure data .
 390:../libBMP280/src/bmp280.c ****  */
 391:../libBMP280/src/bmp280.c **** int8_t bmp280_get_uncomp_data(struct bmp280_uncomp_data *uncomp_data, const struct bmp280_dev *dev)
 392:../libBMP280/src/bmp280.c **** {
 393:../libBMP280/src/bmp280.c ****     int8_t rslt;
 394:../libBMP280/src/bmp280.c ****     uint8_t temp[6] = { 0 };
 395:../libBMP280/src/bmp280.c **** 
 396:../libBMP280/src/bmp280.c ****     rslt = null_ptr_check(dev);
 397:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (uncomp_data != NULL))
 398:../libBMP280/src/bmp280.c ****     {
 399:../libBMP280/src/bmp280.c ****         rslt = bmp280_get_regs(BMP280_PRES_MSB_ADDR, temp, 6, dev);
 400:../libBMP280/src/bmp280.c ****         if (rslt == BMP280_OK)
 401:../libBMP280/src/bmp280.c ****         {
 402:../libBMP280/src/bmp280.c ****             uncomp_data->uncomp_press =
 403:../libBMP280/src/bmp280.c ****                 (int32_t) ((((uint32_t) (temp[0])) << 12) | (((uint32_t) (temp[1])) << 4) | ((uint3
 404:../libBMP280/src/bmp280.c ****             uncomp_data->uncomp_temp =
 405:../libBMP280/src/bmp280.c ****                 (int32_t) ((((int32_t) (temp[3])) << 12) | (((int32_t) (temp[4])) << 4) | (((int32_
 406:../libBMP280/src/bmp280.c ****             rslt = st_check_boundaries((int32_t)uncomp_data->uncomp_temp, (int32_t)uncomp_data->unc
 407:../libBMP280/src/bmp280.c ****         }
 408:../libBMP280/src/bmp280.c ****         else
 409:../libBMP280/src/bmp280.c ****         {
 410:../libBMP280/src/bmp280.c ****             rslt = BMP280_E_UNCOMP_DATA_CALC;
 411:../libBMP280/src/bmp280.c ****         }
 412:../libBMP280/src/bmp280.c ****     }
 413:../libBMP280/src/bmp280.c ****     else
 414:../libBMP280/src/bmp280.c ****     {
 415:../libBMP280/src/bmp280.c ****         rslt = BMP280_E_NULL_PTR;
 416:../libBMP280/src/bmp280.c ****     }
 417:../libBMP280/src/bmp280.c **** 
 418:../libBMP280/src/bmp280.c ****     return rslt;
 419:../libBMP280/src/bmp280.c **** }
 420:../libBMP280/src/bmp280.c **** 
 421:../libBMP280/src/bmp280.c **** /*!
 422:../libBMP280/src/bmp280.c ****  * @brief This API is used to get the compensated temperature from
 423:../libBMP280/src/bmp280.c ****  * uncompensated temperature. This API uses 32 bit integers.
 424:../libBMP280/src/bmp280.c ****  */
 425:../libBMP280/src/bmp280.c **** int8_t bmp280_get_comp_temp_32bit(int32_t *comp_temp, int32_t uncomp_temp, struct bmp280_dev *dev)
 426:../libBMP280/src/bmp280.c **** {
 427:../libBMP280/src/bmp280.c ****     int32_t var1, var2;
 428:../libBMP280/src/bmp280.c ****     int8_t rslt;
 429:../libBMP280/src/bmp280.c **** 
 430:../libBMP280/src/bmp280.c ****     rslt = null_ptr_check(dev);
 431:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 9


 432:../libBMP280/src/bmp280.c ****     {
 433:../libBMP280/src/bmp280.c ****         var1 =
 434:../libBMP280/src/bmp280.c ****             ((((uncomp_temp / 8) - ((int32_t) dev->calib_param.dig_t1 << 1))) * ((int32_t) dev->cal
 435:../libBMP280/src/bmp280.c ****             2048;
 436:../libBMP280/src/bmp280.c ****         var2 =
 437:../libBMP280/src/bmp280.c ****             (((((uncomp_temp / 16) - ((int32_t) dev->calib_param.dig_t1)) *
 438:../libBMP280/src/bmp280.c ****                ((uncomp_temp / 16) - ((int32_t) dev->calib_param.dig_t1))) / 4096) *
 439:../libBMP280/src/bmp280.c ****              ((int32_t) dev->calib_param.dig_t3)) /
 440:../libBMP280/src/bmp280.c ****             16384;
 441:../libBMP280/src/bmp280.c ****         dev->calib_param.t_fine = var1 + var2;
 442:../libBMP280/src/bmp280.c ****         *comp_temp = (dev->calib_param.t_fine * 5 + 128) / 256;
 443:../libBMP280/src/bmp280.c ****         rslt = BMP280_OK;
 444:../libBMP280/src/bmp280.c ****     }
 445:../libBMP280/src/bmp280.c ****     else
 446:../libBMP280/src/bmp280.c ****     {
 447:../libBMP280/src/bmp280.c ****         *comp_temp = 0;
 448:../libBMP280/src/bmp280.c ****         rslt = BMP280_E_32BIT_COMP_TEMP;
 449:../libBMP280/src/bmp280.c ****     }
 450:../libBMP280/src/bmp280.c **** 
 451:../libBMP280/src/bmp280.c ****     return rslt;
 452:../libBMP280/src/bmp280.c **** }
 453:../libBMP280/src/bmp280.c **** 
 454:../libBMP280/src/bmp280.c **** /*!
 455:../libBMP280/src/bmp280.c ****  * @brief This API is used to get the compensated pressure from
 456:../libBMP280/src/bmp280.c ****  * uncompensated pressure. This API uses 32 bit integers.
 457:../libBMP280/src/bmp280.c ****  */
 458:../libBMP280/src/bmp280.c **** int8_t bmp280_get_comp_pres_32bit(uint32_t *comp_pres, uint32_t uncomp_pres, const struct bmp280_de
 459:../libBMP280/src/bmp280.c **** {
 460:../libBMP280/src/bmp280.c ****     int32_t var1, var2;
 461:../libBMP280/src/bmp280.c ****     int8_t rslt;
 462:../libBMP280/src/bmp280.c **** 
 463:../libBMP280/src/bmp280.c ****     rslt = null_ptr_check(dev);
 464:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
 465:../libBMP280/src/bmp280.c ****     {
 466:../libBMP280/src/bmp280.c ****         var1 = (((int32_t) dev->calib_param.t_fine) / 2) - (int32_t) 64000;
 467:../libBMP280/src/bmp280.c ****         var2 = (((var1 / 4) * (var1 / 4)) / 2048) * ((int32_t) dev->calib_param.dig_p6);
 468:../libBMP280/src/bmp280.c ****         var2 = var2 + ((var1 * ((int32_t) dev->calib_param.dig_p5)) * 2);
 469:../libBMP280/src/bmp280.c ****         var2 = (var2 / 4) + (((int32_t) dev->calib_param.dig_p4) * 65536);
 470:../libBMP280/src/bmp280.c ****         var1 =
 471:../libBMP280/src/bmp280.c ****             (((dev->calib_param.dig_p3 * (((var1 / 4) * (var1 / 4)) / 8192)) / 8) +
 472:../libBMP280/src/bmp280.c ****              ((((int32_t) dev->calib_param.dig_p2) * var1) / 2)) / 262144;
 473:../libBMP280/src/bmp280.c ****         var1 = ((((32768 + var1)) * ((int32_t) dev->calib_param.dig_p1)) / 32768);
 474:../libBMP280/src/bmp280.c ****         *comp_pres = (uint32_t)(((int32_t)(1048576 - uncomp_pres) - (var2 / 4096)) * 3125);
 475:../libBMP280/src/bmp280.c **** 
 476:../libBMP280/src/bmp280.c ****         /* Avoid exception caused by division with zero */
 477:../libBMP280/src/bmp280.c ****         if (var1 != 0)
 478:../libBMP280/src/bmp280.c ****         {
 479:../libBMP280/src/bmp280.c ****             /* Check for overflows against UINT32_MAX/2; if pres is left-shifted by 1 */
 480:../libBMP280/src/bmp280.c ****             if (*comp_pres < 0x80000000)
 481:../libBMP280/src/bmp280.c ****             {
 482:../libBMP280/src/bmp280.c ****                 *comp_pres = (*comp_pres << 1) / ((uint32_t) var1);
 483:../libBMP280/src/bmp280.c ****             }
 484:../libBMP280/src/bmp280.c ****             else
 485:../libBMP280/src/bmp280.c ****             {
 486:../libBMP280/src/bmp280.c ****                 *comp_pres = (*comp_pres / (uint32_t) var1) * 2;
 487:../libBMP280/src/bmp280.c ****             }
 488:../libBMP280/src/bmp280.c ****             var1 = (((int32_t) dev->calib_param.dig_p9) * ((int32_t) (((*comp_pres / 8) * (*comp_pr
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 10


 489:../libBMP280/src/bmp280.c ****                    4096;
 490:../libBMP280/src/bmp280.c ****             var2 = (((int32_t) (*comp_pres / 4)) * ((int32_t) dev->calib_param.dig_p8)) / 8192;
 491:../libBMP280/src/bmp280.c ****             *comp_pres = (uint32_t) ((int32_t) *comp_pres + ((var1 + var2 + dev->calib_param.dig_p7
 492:../libBMP280/src/bmp280.c ****             rslt = BMP280_OK;
 493:../libBMP280/src/bmp280.c ****         }
 494:../libBMP280/src/bmp280.c ****         else
 495:../libBMP280/src/bmp280.c ****         {
 496:../libBMP280/src/bmp280.c ****             *comp_pres = 0;
 497:../libBMP280/src/bmp280.c ****             rslt = BMP280_E_32BIT_COMP_PRESS;
 498:../libBMP280/src/bmp280.c ****         }
 499:../libBMP280/src/bmp280.c ****     }
 500:../libBMP280/src/bmp280.c **** 
 501:../libBMP280/src/bmp280.c ****     return rslt;
 502:../libBMP280/src/bmp280.c **** }
 503:../libBMP280/src/bmp280.c **** 
 504:../libBMP280/src/bmp280.c **** #ifndef BMP280_DISABLE_64BIT_COMPENSATION
 505:../libBMP280/src/bmp280.c **** 
 506:../libBMP280/src/bmp280.c **** /*!
 507:../libBMP280/src/bmp280.c ****  * @brief This API is used to get the compensated pressure from
 508:../libBMP280/src/bmp280.c ****  * uncompensated pressure. This API uses 64 bit integers.
 509:../libBMP280/src/bmp280.c ****  */
 510:../libBMP280/src/bmp280.c **** int8_t bmp280_get_comp_pres_64bit(uint32_t *pressure, uint32_t uncomp_pres, const struct bmp280_dev
 511:../libBMP280/src/bmp280.c **** {
 512:../libBMP280/src/bmp280.c ****     int64_t var1, var2, p;
 513:../libBMP280/src/bmp280.c ****     int8_t rslt;
 514:../libBMP280/src/bmp280.c **** 
 515:../libBMP280/src/bmp280.c ****     rslt = null_ptr_check(dev);
 516:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
 517:../libBMP280/src/bmp280.c ****     {
 518:../libBMP280/src/bmp280.c ****         var1 = ((int64_t) (dev->calib_param.t_fine)) - 128000;
 519:../libBMP280/src/bmp280.c ****         var2 = var1 * var1 * (int64_t) dev->calib_param.dig_p6;
 520:../libBMP280/src/bmp280.c ****         var2 = var2 + ((var1 * (int64_t) dev->calib_param.dig_p5) * 131072);
 521:../libBMP280/src/bmp280.c ****         var2 = var2 + (((int64_t) dev->calib_param.dig_p4) * 34359738368);
 522:../libBMP280/src/bmp280.c ****         var1 = ((var1 * var1 * (int64_t) dev->calib_param.dig_p3) / 256) +
 523:../libBMP280/src/bmp280.c ****                ((var1 * (int64_t) dev->calib_param.dig_p2) * 4096);
 524:../libBMP280/src/bmp280.c ****         var1 = ((INT64_C(0x800000000000) + var1) * ((int64_t)dev->calib_param.dig_p1)) / 8589934592
 525:../libBMP280/src/bmp280.c ****         if (var1 != 0)
 526:../libBMP280/src/bmp280.c ****         {
 527:../libBMP280/src/bmp280.c ****             p = 1048576 - uncomp_pres;
 528:../libBMP280/src/bmp280.c ****             p = (((((p * 2147483648U)) - var2) * 3125) / var1);
 529:../libBMP280/src/bmp280.c ****             var1 = (((int64_t) dev->calib_param.dig_p9) * (p / 8192) * (p / 8192)) / 33554432;
 530:../libBMP280/src/bmp280.c ****             var2 = (((int64_t) dev->calib_param.dig_p8) * p) / 524288;
 531:../libBMP280/src/bmp280.c ****             p = ((p + var1 + var2) / 256) + (((int64_t)dev->calib_param.dig_p7) * 16);
 532:../libBMP280/src/bmp280.c ****             *pressure = (uint32_t)p;
 533:../libBMP280/src/bmp280.c ****             rslt = BMP280_OK;
 534:../libBMP280/src/bmp280.c ****         }
 535:../libBMP280/src/bmp280.c ****         else
 536:../libBMP280/src/bmp280.c ****         {
 537:../libBMP280/src/bmp280.c ****             *pressure = 0;
 538:../libBMP280/src/bmp280.c ****             rslt = BMP280_E_64BIT_COMP_PRESS;
 539:../libBMP280/src/bmp280.c ****         }
 540:../libBMP280/src/bmp280.c ****     }
 541:../libBMP280/src/bmp280.c **** 
 542:../libBMP280/src/bmp280.c ****     return rslt;
 543:../libBMP280/src/bmp280.c **** }
 544:../libBMP280/src/bmp280.c **** 
 545:../libBMP280/src/bmp280.c **** #endif /* BMP280_DISABLE_64BIT_COMPENSATION */
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 11


 546:../libBMP280/src/bmp280.c **** 
 547:../libBMP280/src/bmp280.c **** #ifndef BMP280_DISABLE_DOUBLE_COMPENSATION
 548:../libBMP280/src/bmp280.c **** 
 549:../libBMP280/src/bmp280.c **** /*!
 550:../libBMP280/src/bmp280.c ****  * @brief This API is used to get the compensated temperature from
 551:../libBMP280/src/bmp280.c ****  * uncompensated temperature. This API uses double floating precision.
 552:../libBMP280/src/bmp280.c ****  */
 553:../libBMP280/src/bmp280.c **** int8_t bmp280_get_comp_temp_double(double *temperature, int32_t uncomp_temp, struct bmp280_dev *dev
 554:../libBMP280/src/bmp280.c **** {
 555:../libBMP280/src/bmp280.c ****     double var1, var2;
 556:../libBMP280/src/bmp280.c ****     int8_t rslt;
 557:../libBMP280/src/bmp280.c **** 
 558:../libBMP280/src/bmp280.c ****     rslt = null_ptr_check(dev);
 559:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
 560:../libBMP280/src/bmp280.c ****     {
 561:../libBMP280/src/bmp280.c ****         var1 = (((double) uncomp_temp) / 16384.0 - ((double) dev->calib_param.dig_t1) / 1024.0) *
 562:../libBMP280/src/bmp280.c ****                ((double) dev->calib_param.dig_t2);
 563:../libBMP280/src/bmp280.c ****         var2 =
 564:../libBMP280/src/bmp280.c ****             ((((double) uncomp_temp) / 131072.0 - ((double) dev->calib_param.dig_t1) / 8192.0) *
 565:../libBMP280/src/bmp280.c ****              (((double) uncomp_temp) / 131072.0 - ((double) dev->calib_param.dig_t1) / 8192.0)) *
 566:../libBMP280/src/bmp280.c ****             ((double) dev->calib_param.dig_t3);
 567:../libBMP280/src/bmp280.c ****         dev->calib_param.t_fine = (int32_t) (var1 + var2);
 568:../libBMP280/src/bmp280.c ****         *temperature = ((var1 + var2) / 5120.0);
 569:../libBMP280/src/bmp280.c ****     }
 570:../libBMP280/src/bmp280.c ****     else
 571:../libBMP280/src/bmp280.c ****     {
 572:../libBMP280/src/bmp280.c ****         *temperature = 0;
 573:../libBMP280/src/bmp280.c ****         rslt = BMP280_E_DOUBLE_COMP_TEMP;
 574:../libBMP280/src/bmp280.c ****     }
 575:../libBMP280/src/bmp280.c **** 
 576:../libBMP280/src/bmp280.c ****     return rslt;
 577:../libBMP280/src/bmp280.c **** }
 578:../libBMP280/src/bmp280.c **** 
 579:../libBMP280/src/bmp280.c **** /*!
 580:../libBMP280/src/bmp280.c ****  * @brief This API is used to get the compensated pressure from
 581:../libBMP280/src/bmp280.c ****  * uncompensated pressure. This API uses double floating precision.
 582:../libBMP280/src/bmp280.c ****  */
 583:../libBMP280/src/bmp280.c **** int8_t bmp280_get_comp_pres_double(double *pressure, uint32_t uncomp_pres, const struct bmp280_dev 
 584:../libBMP280/src/bmp280.c **** {
 585:../libBMP280/src/bmp280.c ****     double var1, var2;
 586:../libBMP280/src/bmp280.c ****     int8_t rslt;
 587:../libBMP280/src/bmp280.c **** 
 588:../libBMP280/src/bmp280.c ****     rslt = null_ptr_check(dev);
 589:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
 590:../libBMP280/src/bmp280.c ****     {
 591:../libBMP280/src/bmp280.c ****         var1 = ((double) dev->calib_param.t_fine / 2.0) - 64000.0;
 592:../libBMP280/src/bmp280.c ****         var2 = var1 * var1 * ((double) dev->calib_param.dig_p6) / 32768.0;
 593:../libBMP280/src/bmp280.c ****         var2 = var2 + var1 * ((double) dev->calib_param.dig_p5) * 2.0;
 594:../libBMP280/src/bmp280.c ****         var2 = (var2 / 4.0) + (((double) dev->calib_param.dig_p4) * 65536.0);
 595:../libBMP280/src/bmp280.c ****         var1 = (((double)dev->calib_param.dig_p3) * var1 * var1 / 524288.0 + ((double)dev->calib_pa
 596:../libBMP280/src/bmp280.c ****                524288.0;
 597:../libBMP280/src/bmp280.c ****         var1 = (1.0 + var1 / 32768.0) * ((double) dev->calib_param.dig_p1);
 598:../libBMP280/src/bmp280.c **** 
 599:../libBMP280/src/bmp280.c ****         *pressure = 1048576.0 - (double)uncomp_pres;
 600:../libBMP280/src/bmp280.c ****         if (var1 < 0 || var1 > 0)
 601:../libBMP280/src/bmp280.c ****         {
 602:../libBMP280/src/bmp280.c ****             *pressure = (*pressure - (var2 / 4096.0)) * 6250.0 / var1;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 12


 603:../libBMP280/src/bmp280.c ****             var1 = ((double)dev->calib_param.dig_p9) * (*pressure) * (*pressure) / 2147483648.0;
 604:../libBMP280/src/bmp280.c ****             var2 = (*pressure) * ((double)dev->calib_param.dig_p8) / 32768.0;
 605:../libBMP280/src/bmp280.c ****             *pressure = *pressure + (var1 + var2 + ((double)dev->calib_param.dig_p7)) / 16.0;
 606:../libBMP280/src/bmp280.c ****         }
 607:../libBMP280/src/bmp280.c ****         else
 608:../libBMP280/src/bmp280.c ****         {
 609:../libBMP280/src/bmp280.c ****             *pressure = 0;
 610:../libBMP280/src/bmp280.c ****             rslt = BMP280_E_DOUBLE_COMP_PRESS;
 611:../libBMP280/src/bmp280.c ****         }
 612:../libBMP280/src/bmp280.c ****     }
 613:../libBMP280/src/bmp280.c **** 
 614:../libBMP280/src/bmp280.c ****     return rslt;
 615:../libBMP280/src/bmp280.c **** }
 616:../libBMP280/src/bmp280.c **** 
 617:../libBMP280/src/bmp280.c **** #endif /* BMP280_DISABLE_DOUBLE_COMPENSATION */
 618:../libBMP280/src/bmp280.c **** 
 619:../libBMP280/src/bmp280.c **** /*!
 620:../libBMP280/src/bmp280.c ****  * @brief This API computes the measurement time in milliseconds for the
 621:../libBMP280/src/bmp280.c ****  * active configuration
 622:../libBMP280/src/bmp280.c ****  */
 623:../libBMP280/src/bmp280.c **** uint8_t bmp280_compute_meas_time(const struct bmp280_dev *dev)
 624:../libBMP280/src/bmp280.c **** {
 625:../libBMP280/src/bmp280.c ****     uint32_t period = 0;
 626:../libBMP280/src/bmp280.c ****     uint32_t t_dur = 0, p_dur = 0, p_startup = 0;
 627:../libBMP280/src/bmp280.c ****     const uint32_t startup = 1000, period_per_osrs = 2000; /* Typical timings in us. Maximum is +15
 628:../libBMP280/src/bmp280.c ****     int8_t rslt;
 629:../libBMP280/src/bmp280.c **** 
 630:../libBMP280/src/bmp280.c ****     rslt = null_ptr_check(dev);
 631:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
 632:../libBMP280/src/bmp280.c ****     {
 633:../libBMP280/src/bmp280.c ****         t_dur = period_per_osrs * ((UINT32_C(1) << dev->conf.os_temp) >> 1);
 634:../libBMP280/src/bmp280.c ****         p_dur = period_per_osrs * ((UINT32_C(1) << dev->conf.os_pres) >> 1);
 635:../libBMP280/src/bmp280.c ****         p_startup = (dev->conf.os_pres) ? 500 : 0;
 636:../libBMP280/src/bmp280.c **** 
 637:../libBMP280/src/bmp280.c ****         /* Increment the value to next highest integer if greater than 0.5 */
 638:../libBMP280/src/bmp280.c ****         period = startup + t_dur + p_startup + p_dur + 500;
 639:../libBMP280/src/bmp280.c ****         period /= 1000; /* Convert to milliseconds */
 640:../libBMP280/src/bmp280.c ****     }
 641:../libBMP280/src/bmp280.c **** 
 642:../libBMP280/src/bmp280.c ****     return (uint8_t)period;
 643:../libBMP280/src/bmp280.c **** }
 644:../libBMP280/src/bmp280.c **** 
 645:../libBMP280/src/bmp280.c **** /****************** Static Function Definitions *******************************/
 646:../libBMP280/src/bmp280.c **** 
 647:../libBMP280/src/bmp280.c **** /*!
 648:../libBMP280/src/bmp280.c ****  * @brief This internal API is used to check for null-pointers in the device
 649:../libBMP280/src/bmp280.c ****  * structure.
 650:../libBMP280/src/bmp280.c ****  */
 651:../libBMP280/src/bmp280.c **** static int8_t null_ptr_check(const struct bmp280_dev *dev)
 652:../libBMP280/src/bmp280.c **** {
  27                            .loc 1 652 1 view -0
  28                            .cfi_startproc
  29                            @ args = 0, pretend = 0, frame = 0
  30                            @ frame_needed = 0, uses_anonymous_args = 0
  31                            @ link register save eliminated.
 653:../libBMP280/src/bmp280.c ****     int8_t rslt;
  32                            .loc 1 653 5 view .LVU1
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 13


 654:../libBMP280/src/bmp280.c **** 
 655:../libBMP280/src/bmp280.c ****     if ((dev == NULL) || (dev->read == NULL) || (dev->write == NULL) || (dev->delay_ms == NULL))
  33                            .loc 1 655 5 view .LVU2
  34                            .loc 1 655 8 is_stmt 0 view .LVU3
  35 0000 50B1                  cbz     r0, .L3
  36                            .loc 1 655 30 discriminator 1 view .LVU4
  37 0002 4268                  ldr     r2, [r0, #4]
  38                            .loc 1 655 23 discriminator 1 view .LVU5
  39 0004 5AB1                  cbz     r2, .L4
  40                            .loc 1 655 53 discriminator 2 view .LVU6
  41 0006 8268                  ldr     r2, [r0, #8]
  42                            .loc 1 655 46 discriminator 2 view .LVU7
  43 0008 62B1                  cbz     r2, .L5
  44                            .loc 1 655 77 discriminator 3 view .LVU8
  45 000a C368                  ldr     r3, [r0, #12]
  46                            .loc 1 655 70 discriminator 3 view .LVU9
  47 000c 0BB1                  cbz     r3, .L7
 656:../libBMP280/src/bmp280.c ****     {
 657:../libBMP280/src/bmp280.c ****         /* Null-pointer found */
 658:../libBMP280/src/bmp280.c ****         rslt = BMP280_E_NULL_PTR;
 659:../libBMP280/src/bmp280.c ****     }
 660:../libBMP280/src/bmp280.c ****     else
 661:../libBMP280/src/bmp280.c ****     {
 662:../libBMP280/src/bmp280.c ****         rslt = BMP280_OK;
  48                            .loc 1 662 14 view .LVU10
  49 000e 0020                  movs    r0, #0
  50                    .LVL1:
 663:../libBMP280/src/bmp280.c ****     }
 664:../libBMP280/src/bmp280.c **** 
 665:../libBMP280/src/bmp280.c ****     return rslt;
  51                            .loc 1 665 5 is_stmt 1 view .LVU11
 666:../libBMP280/src/bmp280.c **** }
  52                            .loc 1 666 1 is_stmt 0 view .LVU12
  53 0010 7047                  bx      lr
  54                    .LVL2:
  55                    .L7:
 658:../libBMP280/src/bmp280.c ****     }
  56                            .loc 1 658 14 view .LVU13
  57 0012 4FF0FF30              mov     r0, #-1
  58                    .LVL3:
 658:../libBMP280/src/bmp280.c ****     }
  59                            .loc 1 658 14 view .LVU14
  60 0016 7047                  bx      lr
  61                    .LVL4:
  62                    .L3:
 658:../libBMP280/src/bmp280.c ****     }
  63                            .loc 1 658 14 view .LVU15
  64 0018 4FF0FF30              mov     r0, #-1
  65                    .LVL5:
 658:../libBMP280/src/bmp280.c ****     }
  66                            .loc 1 658 14 view .LVU16
  67 001c 7047                  bx      lr
  68                    .LVL6:
  69                    .L4:
 658:../libBMP280/src/bmp280.c ****     }
  70                            .loc 1 658 14 view .LVU17
  71 001e 4FF0FF30              mov     r0, #-1
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 14


  72                    .LVL7:
 658:../libBMP280/src/bmp280.c ****     }
  73                            .loc 1 658 14 view .LVU18
  74 0022 7047                  bx      lr
  75                    .LVL8:
  76                    .L5:
 658:../libBMP280/src/bmp280.c ****     }
  77                            .loc 1 658 14 view .LVU19
  78 0024 4FF0FF30              mov     r0, #-1
  79                    .LVL9:
 658:../libBMP280/src/bmp280.c ****     }
  80                            .loc 1 658 14 view .LVU20
  81 0028 7047                  bx      lr
  82                            .cfi_endproc
  83                    .LFE16:
  85                            .section        .text.interleave_data,"ax",%progbits
  86                            .align  1
  87                            .syntax unified
  88                            .thumb
  89                            .thumb_func
  90                            .fpu softvfp
  92                    interleave_data:
  93                    .LVL10:
  94                    .LFB17:
 667:../libBMP280/src/bmp280.c **** 
 668:../libBMP280/src/bmp280.c **** /*!
 669:../libBMP280/src/bmp280.c ****  * @brief This internal API interleaves the register addresses and respective
 670:../libBMP280/src/bmp280.c ****  * register data for a burst write
 671:../libBMP280/src/bmp280.c ****  */
 672:../libBMP280/src/bmp280.c **** static void interleave_data(const uint8_t *reg_addr, uint8_t *temp_buff, const uint8_t *reg_data, u
 673:../libBMP280/src/bmp280.c **** {
  95                            .loc 1 673 1 is_stmt 1 view -0
  96                            .cfi_startproc
  97                            @ args = 0, pretend = 0, frame = 0
  98                            @ frame_needed = 0, uses_anonymous_args = 0
  99                            @ link register save eliminated.
 100                            .loc 1 673 1 is_stmt 0 view .LVU22
 101 0000 70B4                  push    {r4, r5, r6}
 102                    .LCFI0:
 103                            .cfi_def_cfa_offset 12
 104                            .cfi_offset 4, -12
 105                            .cfi_offset 5, -8
 106                            .cfi_offset 6, -4
 674:../libBMP280/src/bmp280.c ****     uint8_t index;
 107                            .loc 1 674 5 is_stmt 1 view .LVU23
 675:../libBMP280/src/bmp280.c **** 
 676:../libBMP280/src/bmp280.c ****     for (index = 1; index < len; index++)
 108                            .loc 1 676 5 view .LVU24
 109                    .LVL11:
 110                            .loc 1 676 16 is_stmt 0 view .LVU25
 111 0002 0124                  movs    r4, #1
 112                    .LVL12:
 113                    .L9:
 114                            .loc 1 676 5 discriminator 1 view .LVU26
 115 0004 9C42                  cmp     r4, r3
 116 0006 09D2                  bcs     .L12
 677:../libBMP280/src/bmp280.c ****     {
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 15


 678:../libBMP280/src/bmp280.c ****         temp_buff[(index * 2) - 1] = reg_addr[index];
 117                            .loc 1 678 9 is_stmt 1 discriminator 3 view .LVU27
 118                            .loc 1 678 26 is_stmt 0 discriminator 3 view .LVU28
 119 0008 6500                  lsls    r5, r4, #1
 120                            .loc 1 678 18 discriminator 3 view .LVU29
 121 000a 013D                  subs    r5, r5, #1
 122                            .loc 1 678 46 discriminator 3 view .LVU30
 123 000c 065D                  ldrb    r6, [r0, r4]    @ zero_extendqisi2
 124                            .loc 1 678 36 discriminator 3 view .LVU31
 125 000e 4E55                  strb    r6, [r1, r5]
 679:../libBMP280/src/bmp280.c ****         temp_buff[index * 2] = reg_data[index];
 126                            .loc 1 679 9 is_stmt 1 discriminator 3 view .LVU32
 127                            .loc 1 679 40 is_stmt 0 discriminator 3 view .LVU33
 128 0010 155D                  ldrb    r5, [r2, r4]    @ zero_extendqisi2
 129                            .loc 1 679 30 discriminator 3 view .LVU34
 130 0012 01F81450              strb    r5, [r1, r4, lsl #1]
 676:../libBMP280/src/bmp280.c ****     {
 131                            .loc 1 676 39 discriminator 3 view .LVU35
 132 0016 0134                  adds    r4, r4, #1
 133                    .LVL13:
 676:../libBMP280/src/bmp280.c ****     {
 134                            .loc 1 676 39 discriminator 3 view .LVU36
 135 0018 E4B2                  uxtb    r4, r4
 136                    .LVL14:
 676:../libBMP280/src/bmp280.c ****     {
 137                            .loc 1 676 39 discriminator 3 view .LVU37
 138 001a F3E7                  b       .L9
 139                    .L12:
 680:../libBMP280/src/bmp280.c ****     }
 681:../libBMP280/src/bmp280.c **** }
 140                            .loc 1 681 1 view .LVU38
 141 001c 70BC                  pop     {r4, r5, r6}
 142                    .LCFI1:
 143                            .cfi_restore 6
 144                            .cfi_restore 5
 145                            .cfi_restore 4
 146                            .cfi_def_cfa_offset 0
 147                    .LVL15:
 148                            .loc 1 681 1 view .LVU39
 149 001e 7047                  bx      lr
 150                            .cfi_endproc
 151                    .LFE17:
 153                            .section        .text.st_check_boundaries,"ax",%progbits
 154                            .align  1
 155                            .syntax unified
 156                            .thumb
 157                            .thumb_func
 158                            .fpu softvfp
 160                    st_check_boundaries:
 161                    .LVL16:
 162                    .LFB20:
 682:../libBMP280/src/bmp280.c **** 
 683:../libBMP280/src/bmp280.c **** /*!
 684:../libBMP280/src/bmp280.c ****  * @brief This API is used to read the calibration parameters used
 685:../libBMP280/src/bmp280.c ****  * for calculating the compensated data.
 686:../libBMP280/src/bmp280.c ****  */
 687:../libBMP280/src/bmp280.c **** static int8_t get_calib_param(struct bmp280_dev *dev)
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 16


 688:../libBMP280/src/bmp280.c **** {
 689:../libBMP280/src/bmp280.c ****     int8_t rslt;
 690:../libBMP280/src/bmp280.c ****     uint8_t temp[BMP280_CALIB_DATA_SIZE] = { 0 };
 691:../libBMP280/src/bmp280.c **** 
 692:../libBMP280/src/bmp280.c ****     rslt = null_ptr_check(dev);
 693:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
 694:../libBMP280/src/bmp280.c ****     {
 695:../libBMP280/src/bmp280.c ****         rslt = bmp280_get_regs(BMP280_DIG_T1_LSB_ADDR, temp, BMP280_CALIB_DATA_SIZE, dev);
 696:../libBMP280/src/bmp280.c ****         if (rslt == BMP280_OK)
 697:../libBMP280/src/bmp280.c ****         {
 698:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_t1 =
 699:../libBMP280/src/bmp280.c ****                 (uint16_t) (((uint16_t) temp[BMP280_DIG_T1_MSB_POS] << 8) | ((uint16_t) temp[BMP280
 700:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_t2 =
 701:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_T2_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
 702:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_t3 =
 703:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_T3_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
 704:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p1 =
 705:../libBMP280/src/bmp280.c ****                 (uint16_t) (((uint16_t) temp[BMP280_DIG_P1_MSB_POS] << 8) | ((uint16_t) temp[BMP280
 706:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p2 =
 707:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P2_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
 708:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p3 =
 709:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P3_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
 710:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p4 =
 711:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P4_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
 712:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p5 =
 713:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P5_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
 714:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p6 =
 715:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P6_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
 716:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p7 =
 717:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P7_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
 718:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p8 =
 719:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P8_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
 720:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p9 =
 721:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P9_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
 722:../libBMP280/src/bmp280.c ****         }
 723:../libBMP280/src/bmp280.c ****     }
 724:../libBMP280/src/bmp280.c **** 
 725:../libBMP280/src/bmp280.c ****     return rslt;
 726:../libBMP280/src/bmp280.c **** }
 727:../libBMP280/src/bmp280.c **** 
 728:../libBMP280/src/bmp280.c **** /*!
 729:../libBMP280/src/bmp280.c ****  * @brief This internal API to reset the sensor, restore/set conf, restore/set mode
 730:../libBMP280/src/bmp280.c ****  */
 731:../libBMP280/src/bmp280.c **** static int8_t conf_sensor(uint8_t mode, const struct bmp280_config *conf, struct bmp280_dev *dev)
 732:../libBMP280/src/bmp280.c **** {
 733:../libBMP280/src/bmp280.c ****     int8_t rslt;
 734:../libBMP280/src/bmp280.c ****     uint8_t temp[2] = { 0, 0 };
 735:../libBMP280/src/bmp280.c ****     uint8_t reg_addr[2] = { BMP280_CTRL_MEAS_ADDR, BMP280_CONFIG_ADDR };
 736:../libBMP280/src/bmp280.c **** 
 737:../libBMP280/src/bmp280.c ****     rslt = null_ptr_check(dev);
 738:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (conf != NULL))
 739:../libBMP280/src/bmp280.c ****     {
 740:../libBMP280/src/bmp280.c ****         rslt = bmp280_get_regs(BMP280_CTRL_MEAS_ADDR, temp, 2, dev);
 741:../libBMP280/src/bmp280.c ****         if (rslt == BMP280_OK)
 742:../libBMP280/src/bmp280.c ****         {
 743:../libBMP280/src/bmp280.c ****             /* Here the intention is to put the device to sleep
 744:../libBMP280/src/bmp280.c ****              * within the shortest period of time
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 17


 745:../libBMP280/src/bmp280.c ****              */
 746:../libBMP280/src/bmp280.c ****             rslt = bmp280_soft_reset(dev);
 747:../libBMP280/src/bmp280.c ****             if (rslt == BMP280_OK)
 748:../libBMP280/src/bmp280.c ****             {
 749:../libBMP280/src/bmp280.c ****                 temp[0] = BMP280_SET_BITS(temp[0], BMP280_OS_TEMP, conf->os_temp);
 750:../libBMP280/src/bmp280.c ****                 temp[0] = BMP280_SET_BITS(temp[0], BMP280_OS_PRES, conf->os_pres);
 751:../libBMP280/src/bmp280.c ****                 temp[1] = BMP280_SET_BITS(temp[1], BMP280_STANDBY_DURN, conf->odr);
 752:../libBMP280/src/bmp280.c ****                 temp[1] = BMP280_SET_BITS(temp[1], BMP280_FILTER, conf->filter);
 753:../libBMP280/src/bmp280.c ****                 temp[1] = BMP280_SET_BITS_POS_0(temp[1], BMP280_SPI3_ENABLE, conf->spi3w_en);
 754:../libBMP280/src/bmp280.c ****                 rslt = bmp280_set_regs(reg_addr, temp, 2, dev);
 755:../libBMP280/src/bmp280.c ****                 if (rslt == BMP280_OK)
 756:../libBMP280/src/bmp280.c ****                 {
 757:../libBMP280/src/bmp280.c ****                     dev->conf = *conf;
 758:../libBMP280/src/bmp280.c ****                     if (mode != BMP280_SLEEP_MODE)
 759:../libBMP280/src/bmp280.c ****                     {
 760:../libBMP280/src/bmp280.c ****                         /* Write only the power mode register in a separate write */
 761:../libBMP280/src/bmp280.c ****                         temp[0] = BMP280_SET_BITS_POS_0(temp[0], BMP280_POWER_MODE, mode);
 762:../libBMP280/src/bmp280.c ****                         rslt = bmp280_set_regs(reg_addr, temp, 1, dev);
 763:../libBMP280/src/bmp280.c ****                     }
 764:../libBMP280/src/bmp280.c ****                 }
 765:../libBMP280/src/bmp280.c ****             }
 766:../libBMP280/src/bmp280.c ****         }
 767:../libBMP280/src/bmp280.c ****     }
 768:../libBMP280/src/bmp280.c ****     else
 769:../libBMP280/src/bmp280.c ****     {
 770:../libBMP280/src/bmp280.c ****         rslt = BMP280_E_NULL_PTR;
 771:../libBMP280/src/bmp280.c ****     }
 772:../libBMP280/src/bmp280.c **** 
 773:../libBMP280/src/bmp280.c ****     return rslt;
 774:../libBMP280/src/bmp280.c **** }
 775:../libBMP280/src/bmp280.c **** 
 776:../libBMP280/src/bmp280.c **** /*!
 777:../libBMP280/src/bmp280.c ****  * @This internal API checks whether the uncompensated temperature and pressure are within the rang
 778:../libBMP280/src/bmp280.c ****  */
 779:../libBMP280/src/bmp280.c **** static int8_t st_check_boundaries(int32_t utemperature, int32_t upressure)
 780:../libBMP280/src/bmp280.c **** {
 163                            .loc 1 780 1 is_stmt 1 view -0
 164                            .cfi_startproc
 165                            @ args = 0, pretend = 0, frame = 0
 166                            @ frame_needed = 0, uses_anonymous_args = 0
 167                            @ link register save eliminated.
 781:../libBMP280/src/bmp280.c ****     int8_t rslt = 0;
 168                            .loc 1 781 5 view .LVU41
 782:../libBMP280/src/bmp280.c **** 
 783:../libBMP280/src/bmp280.c ****     /* check UT and UP for valid range */
 784:../libBMP280/src/bmp280.c ****     if ((utemperature <= BMP280_ST_ADC_T_MIN || utemperature >= BMP280_ST_ADC_T_MAX) &&
 169                            .loc 1 784 5 view .LVU42
 170                            .loc 1 784 46 is_stmt 0 view .LVU43
 171 0000 0138                  subs    r0, r0, #1
 172                    .LVL17:
 173                            .loc 1 784 8 view .LVU44
 174 0002 0B4B                  ldr     r3, .L20
 175 0004 9842                  cmp     r0, r3
 176 0006 02D9                  bls     .L14
 785:../libBMP280/src/bmp280.c ****         (upressure <= BMP280_ST_ADC_P_MIN || upressure >= BMP280_ST_ADC_P_MAX))
 177                            .loc 1 785 43 discriminator 1 view .LVU45
 178 0008 4A1E                  subs    r2, r1, #1
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 18


 784:../libBMP280/src/bmp280.c ****         (upressure <= BMP280_ST_ADC_P_MIN || upressure >= BMP280_ST_ADC_P_MAX))
 179                            .loc 1 784 86 discriminator 1 view .LVU46
 180 000a 9A42                  cmp     r2, r3
 181 000c 0AD8                  bhi     .L16
 182                    .L14:
 786:../libBMP280/src/bmp280.c ****     {
 787:../libBMP280/src/bmp280.c ****         rslt = BMP280_E_UNCOMP_TEMP_AND_PRESS_RANGE;
 788:../libBMP280/src/bmp280.c ****     }
 789:../libBMP280/src/bmp280.c ****     else if (utemperature <= BMP280_ST_ADC_T_MIN || utemperature >= BMP280_ST_ADC_T_MAX)
 183                            .loc 1 789 10 is_stmt 1 view .LVU47
 184                            .loc 1 789 13 is_stmt 0 view .LVU48
 185 000e 084B                  ldr     r3, .L20
 186 0010 9842                  cmp     r0, r3
 187 0012 0AD8                  bhi     .L17
 790:../libBMP280/src/bmp280.c ****     {
 791:../libBMP280/src/bmp280.c ****         rslt = BMP280_E_UNCOMP_TEMP_RANGE;
 792:../libBMP280/src/bmp280.c ****     }
 793:../libBMP280/src/bmp280.c ****     else if (upressure <= BMP280_ST_ADC_P_MIN || upressure >= BMP280_ST_ADC_P_MAX)
 188                            .loc 1 793 10 is_stmt 1 view .LVU49
 189                            .loc 1 793 47 is_stmt 0 view .LVU50
 190 0014 0139                  subs    r1, r1, #1
 191                    .LVL18:
 192                            .loc 1 793 13 view .LVU51
 193 0016 9942                  cmp     r1, r3
 194 0018 01D8                  bhi     .L19
 794:../libBMP280/src/bmp280.c ****     {
 795:../libBMP280/src/bmp280.c ****         rslt = BMP280_E_UNCOMP_PRES_RANGE;
 796:../libBMP280/src/bmp280.c ****     }
 797:../libBMP280/src/bmp280.c ****     else
 798:../libBMP280/src/bmp280.c ****     {
 799:../libBMP280/src/bmp280.c ****         rslt = BMP280_OK;
 195                            .loc 1 799 14 view .LVU52
 196 001a 0020                  movs    r0, #0
 197                    .LVL19:
 800:../libBMP280/src/bmp280.c ****     }
 801:../libBMP280/src/bmp280.c **** 
 802:../libBMP280/src/bmp280.c ****     return rslt;
 198                            .loc 1 802 5 is_stmt 1 view .LVU53
 803:../libBMP280/src/bmp280.c **** }
 199                            .loc 1 803 1 is_stmt 0 view .LVU54
 200 001c 7047                  bx      lr
 201                    .LVL20:
 202                    .L19:
 795:../libBMP280/src/bmp280.c ****     }
 203                            .loc 1 795 14 view .LVU55
 204 001e 6FF00A00              mvn     r0, #10
 205 0022 7047                  bx      lr
 206                    .LVL21:
 207                    .L16:
 787:../libBMP280/src/bmp280.c ****     }
 208                            .loc 1 787 14 view .LVU56
 209 0024 6FF00B00              mvn     r0, #11
 210 0028 7047                  bx      lr
 211                    .L17:
 791:../libBMP280/src/bmp280.c ****     }
 212                            .loc 1 791 14 view .LVU57
 213 002a 6FF00900              mvn     r0, #9
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 19


 214 002e 7047                  bx      lr
 215                    .L21:
 216                            .align  2
 217                    .L20:
 218 0030 EEFF0F00              .word   1048558
 219                            .cfi_endproc
 220                    .LFE20:
 222                            .section        .text.bmp280_get_regs,"ax",%progbits
 223                            .align  1
 224                            .global bmp280_get_regs
 225                            .syntax unified
 226                            .thumb
 227                            .thumb_func
 228                            .fpu softvfp
 230                    bmp280_get_regs:
 231                    .LVL22:
 232                    .LFB0:
 115:../libBMP280/src/bmp280.c ****     int8_t rslt;
 233                            .loc 1 115 1 is_stmt 1 view -0
 234                            .cfi_startproc
 235                            @ args = 0, pretend = 0, frame = 0
 236                            @ frame_needed = 0, uses_anonymous_args = 0
 115:../libBMP280/src/bmp280.c ****     int8_t rslt;
 237                            .loc 1 115 1 is_stmt 0 view .LVU59
 238 0000 2DE9F041              push    {r4, r5, r6, r7, r8, lr}
 239                    .LCFI2:
 240                            .cfi_def_cfa_offset 24
 241                            .cfi_offset 4, -24
 242                            .cfi_offset 5, -20
 243                            .cfi_offset 6, -16
 244                            .cfi_offset 7, -12
 245                            .cfi_offset 8, -8
 246                            .cfi_offset 14, -4
 247 0004 0646                  mov     r6, r0
 248 0006 0D46                  mov     r5, r1
 249 0008 9046                  mov     r8, r2
 250 000a 1C46                  mov     r4, r3
 116:../libBMP280/src/bmp280.c **** 
 251                            .loc 1 116 5 is_stmt 1 view .LVU60
 118:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (reg_data != NULL))
 252                            .loc 1 118 5 view .LVU61
 118:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (reg_data != NULL))
 253                            .loc 1 118 12 is_stmt 0 view .LVU62
 254 000c 1846                  mov     r0, r3
 255                    .LVL23:
 118:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (reg_data != NULL))
 256                            .loc 1 118 12 view .LVU63
 257 000e FFF7FEFF              bl      null_ptr_check
 258                    .LVL24:
 119:../libBMP280/src/bmp280.c ****     {
 259                            .loc 1 119 5 is_stmt 1 view .LVU64
 119:../libBMP280/src/bmp280.c ****     {
 260                            .loc 1 119 8 is_stmt 0 view .LVU65
 261 0012 78B9                  cbnz    r0, .L25
 119:../libBMP280/src/bmp280.c ****     {
 262                            .loc 1 119 29 discriminator 1 view .LVU66
 263 0014 8DB1                  cbz     r5, .L26
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 20


 122:../libBMP280/src/bmp280.c ****         {
 264                            .loc 1 122 9 is_stmt 1 view .LVU67
 122:../libBMP280/src/bmp280.c ****         {
 265                            .loc 1 122 16 is_stmt 0 view .LVU68
 266 0016 A378                  ldrb    r3, [r4, #2]    @ zero_extendqisi2
 122:../libBMP280/src/bmp280.c ****         {
 267                            .loc 1 122 12 view .LVU69
 268 0018 0BB9                  cbnz    r3, .L24
 124:../libBMP280/src/bmp280.c ****         }
 269                            .loc 1 124 13 is_stmt 1 view .LVU70
 124:../libBMP280/src/bmp280.c ****         }
 270                            .loc 1 124 22 is_stmt 0 view .LVU71
 271 001a 46F08006              orr     r6, r6, #128
 272                    .LVL25:
 273                    .L24:
 126:../libBMP280/src/bmp280.c **** 
 274                            .loc 1 126 9 is_stmt 1 view .LVU72
 126:../libBMP280/src/bmp280.c **** 
 275                            .loc 1 126 19 is_stmt 0 view .LVU73
 276 001e 6768                  ldr     r7, [r4, #4]
 126:../libBMP280/src/bmp280.c **** 
 277                            .loc 1 126 16 view .LVU74
 278 0020 4346                  mov     r3, r8
 279 0022 2A46                  mov     r2, r5
 280 0024 3146                  mov     r1, r6
 281 0026 6078                  ldrb    r0, [r4, #1]    @ zero_extendqisi2
 282                    .LVL26:
 126:../libBMP280/src/bmp280.c **** 
 283                            .loc 1 126 16 view .LVU75
 284 0028 B847                  blx     r7
 285                    .LVL27:
 129:../libBMP280/src/bmp280.c ****         {
 286                            .loc 1 129 9 is_stmt 1 view .LVU76
 129:../libBMP280/src/bmp280.c ****         {
 287                            .loc 1 129 12 is_stmt 0 view .LVU77
 288 002a 0346                  mov     r3, r0
 289 002c 40B9                  cbnz    r0, .L29
 290                    .LVL28:
 291                    .L23:
 139:../libBMP280/src/bmp280.c **** }
 292                            .loc 1 139 5 is_stmt 1 view .LVU78
 140:../libBMP280/src/bmp280.c **** 
 293                            .loc 1 140 1 is_stmt 0 view .LVU79
 294 002e 1846                  mov     r0, r3
 295 0030 BDE8F081              pop     {r4, r5, r6, r7, r8, pc}
 296                    .LVL29:
 297                    .L25:
 136:../libBMP280/src/bmp280.c ****     }
 298                            .loc 1 136 14 view .LVU80
 299 0034 4FF0FF33              mov     r3, #-1
 300 0038 F9E7                  b       .L23
 301                    .L26:
 302 003a 4FF0FF33              mov     r3, #-1
 303 003e F6E7                  b       .L23
 304                    .LVL30:
 305                    .L29:
 131:../libBMP280/src/bmp280.c ****         }
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 21


 306                            .loc 1 131 18 view .LVU81
 307 0040 6FF00303              mvn     r3, #3
 308 0044 F3E7                  b       .L23
 309                            .cfi_endproc
 310                    .LFE0:
 312                            .section        .text.get_calib_param,"ax",%progbits
 313                            .align  1
 314                            .syntax unified
 315                            .thumb
 316                            .thumb_func
 317                            .fpu softvfp
 319                    get_calib_param:
 320                    .LVL31:
 321                    .LFB18:
 688:../libBMP280/src/bmp280.c ****     int8_t rslt;
 322                            .loc 1 688 1 is_stmt 1 view -0
 323                            .cfi_startproc
 324                            @ args = 0, pretend = 0, frame = 24
 325                            @ frame_needed = 0, uses_anonymous_args = 0
 688:../libBMP280/src/bmp280.c ****     int8_t rslt;
 326                            .loc 1 688 1 is_stmt 0 view .LVU83
 327 0000 10B5                  push    {r4, lr}
 328                    .LCFI3:
 329                            .cfi_def_cfa_offset 8
 330                            .cfi_offset 4, -8
 331                            .cfi_offset 14, -4
 332 0002 86B0                  sub     sp, sp, #24
 333                    .LCFI4:
 334                            .cfi_def_cfa_offset 32
 335 0004 0446                  mov     r4, r0
 689:../libBMP280/src/bmp280.c ****     uint8_t temp[BMP280_CALIB_DATA_SIZE] = { 0 };
 336                            .loc 1 689 5 is_stmt 1 view .LVU84
 690:../libBMP280/src/bmp280.c **** 
 337                            .loc 1 690 5 view .LVU85
 690:../libBMP280/src/bmp280.c **** 
 338                            .loc 1 690 13 is_stmt 0 view .LVU86
 339 0006 0023                  movs    r3, #0
 340 0008 0093                  str     r3, [sp]
 341 000a 0193                  str     r3, [sp, #4]
 342 000c 0293                  str     r3, [sp, #8]
 343 000e 0393                  str     r3, [sp, #12]
 344 0010 0493                  str     r3, [sp, #16]
 345 0012 0593                  str     r3, [sp, #20]
 692:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
 346                            .loc 1 692 5 is_stmt 1 view .LVU87
 692:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
 347                            .loc 1 692 12 is_stmt 0 view .LVU88
 348 0014 FFF7FEFF              bl      null_ptr_check
 349                    .LVL32:
 693:../libBMP280/src/bmp280.c ****     {
 350                            .loc 1 693 5 is_stmt 1 view .LVU89
 693:../libBMP280/src/bmp280.c ****     {
 351                            .loc 1 693 8 is_stmt 0 view .LVU90
 352 0018 0346                  mov     r3, r0
 353 001a 10B1                  cbz     r0, .L33
 354                    .L31:
 355                    .LVL33:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 22


 725:../libBMP280/src/bmp280.c **** }
 356                            .loc 1 725 5 is_stmt 1 view .LVU91
 726:../libBMP280/src/bmp280.c **** 
 357                            .loc 1 726 1 is_stmt 0 view .LVU92
 358 001c 1846                  mov     r0, r3
 359 001e 06B0                  add     sp, sp, #24
 360                    .LCFI5:
 361                            .cfi_remember_state
 362                            .cfi_def_cfa_offset 8
 363                            @ sp needed
 364 0020 10BD                  pop     {r4, pc}
 365                    .LVL34:
 366                    .L33:
 367                    .LCFI6:
 368                            .cfi_restore_state
 695:../libBMP280/src/bmp280.c ****         if (rslt == BMP280_OK)
 369                            .loc 1 695 9 is_stmt 1 view .LVU93
 695:../libBMP280/src/bmp280.c ****         if (rslt == BMP280_OK)
 370                            .loc 1 695 16 is_stmt 0 view .LVU94
 371 0022 2346                  mov     r3, r4
 372 0024 1822                  movs    r2, #24
 373 0026 6946                  mov     r1, sp
 374 0028 8820                  movs    r0, #136
 375                    .LVL35:
 695:../libBMP280/src/bmp280.c ****         if (rslt == BMP280_OK)
 376                            .loc 1 695 16 view .LVU95
 377 002a FFF7FEFF              bl      bmp280_get_regs
 378                    .LVL36:
 696:../libBMP280/src/bmp280.c ****         {
 379                            .loc 1 696 9 is_stmt 1 view .LVU96
 696:../libBMP280/src/bmp280.c ****         {
 380                            .loc 1 696 12 is_stmt 0 view .LVU97
 381 002e 0346                  mov     r3, r0
 382 0030 0028                  cmp     r0, #0
 383 0032 F3D1                  bne     .L31
 698:../libBMP280/src/bmp280.c ****                 (uint16_t) (((uint16_t) temp[BMP280_DIG_T1_MSB_POS] << 8) | ((uint16_t) temp[BMP280
 384                            .loc 1 698 13 is_stmt 1 view .LVU98
 699:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_t2 =
 385                            .loc 1 699 45 is_stmt 0 view .LVU99
 386 0034 9DF80110              ldrb    r1, [sp, #1]    @ zero_extendqisi2
 699:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_t2 =
 387                            .loc 1 699 93 view .LVU100
 388 0038 9DF80020              ldrb    r2, [sp]        @ zero_extendqisi2
 699:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_t2 =
 389                            .loc 1 699 17 view .LVU101
 390 003c 42EA0122              orr     r2, r2, r1, lsl #8
 698:../libBMP280/src/bmp280.c ****                 (uint16_t) (((uint16_t) temp[BMP280_DIG_T1_MSB_POS] << 8) | ((uint16_t) temp[BMP280
 391                            .loc 1 698 37 view .LVU102
 392 0040 2282                  strh    r2, [r4, #16]   @ movhi
 700:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_T2_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
 393                            .loc 1 700 13 is_stmt 1 view .LVU103
 701:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_t3 =
 394                            .loc 1 701 43 is_stmt 0 view .LVU104
 395 0042 9DF80310              ldrb    r1, [sp, #3]    @ zero_extendqisi2
 701:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_t3 =
 396                            .loc 1 701 90 view .LVU105
 397 0046 9DF80220              ldrb    r2, [sp, #2]    @ zero_extendqisi2
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 23


 701:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_t3 =
 398                            .loc 1 701 17 view .LVU106
 399 004a 42EA0122              orr     r2, r2, r1, lsl #8
 700:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_T2_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
 400                            .loc 1 700 37 view .LVU107
 401 004e 6282                  strh    r2, [r4, #18]   @ movhi
 702:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_T3_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
 402                            .loc 1 702 13 is_stmt 1 view .LVU108
 703:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p1 =
 403                            .loc 1 703 43 is_stmt 0 view .LVU109
 404 0050 9DF80510              ldrb    r1, [sp, #5]    @ zero_extendqisi2
 703:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p1 =
 405                            .loc 1 703 90 view .LVU110
 406 0054 9DF80420              ldrb    r2, [sp, #4]    @ zero_extendqisi2
 703:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p1 =
 407                            .loc 1 703 17 view .LVU111
 408 0058 42EA0122              orr     r2, r2, r1, lsl #8
 702:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_T3_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
 409                            .loc 1 702 37 view .LVU112
 410 005c A282                  strh    r2, [r4, #20]   @ movhi
 704:../libBMP280/src/bmp280.c ****                 (uint16_t) (((uint16_t) temp[BMP280_DIG_P1_MSB_POS] << 8) | ((uint16_t) temp[BMP280
 411                            .loc 1 704 13 is_stmt 1 view .LVU113
 705:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p2 =
 412                            .loc 1 705 45 is_stmt 0 view .LVU114
 413 005e 9DF80710              ldrb    r1, [sp, #7]    @ zero_extendqisi2
 705:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p2 =
 414                            .loc 1 705 93 view .LVU115
 415 0062 9DF80620              ldrb    r2, [sp, #6]    @ zero_extendqisi2
 705:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p2 =
 416                            .loc 1 705 17 view .LVU116
 417 0066 42EA0122              orr     r2, r2, r1, lsl #8
 704:../libBMP280/src/bmp280.c ****                 (uint16_t) (((uint16_t) temp[BMP280_DIG_P1_MSB_POS] << 8) | ((uint16_t) temp[BMP280
 418                            .loc 1 704 37 view .LVU117
 419 006a E282                  strh    r2, [r4, #22]   @ movhi
 706:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P2_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
 420                            .loc 1 706 13 is_stmt 1 view .LVU118
 707:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p3 =
 421                            .loc 1 707 43 is_stmt 0 view .LVU119
 422 006c 9DF80910              ldrb    r1, [sp, #9]    @ zero_extendqisi2
 707:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p3 =
 423                            .loc 1 707 90 view .LVU120
 424 0070 9DF80820              ldrb    r2, [sp, #8]    @ zero_extendqisi2
 707:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p3 =
 425                            .loc 1 707 17 view .LVU121
 426 0074 42EA0122              orr     r2, r2, r1, lsl #8
 706:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P2_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
 427                            .loc 1 706 37 view .LVU122
 428 0078 2283                  strh    r2, [r4, #24]   @ movhi
 708:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P3_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
 429                            .loc 1 708 13 is_stmt 1 view .LVU123
 709:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p4 =
 430                            .loc 1 709 43 is_stmt 0 view .LVU124
 431 007a 9DF80B10              ldrb    r1, [sp, #11]   @ zero_extendqisi2
 709:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p4 =
 432                            .loc 1 709 90 view .LVU125
 433 007e 9DF80A20              ldrb    r2, [sp, #10]   @ zero_extendqisi2
 709:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p4 =
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 24


 434                            .loc 1 709 17 view .LVU126
 435 0082 42EA0122              orr     r2, r2, r1, lsl #8
 708:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P3_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
 436                            .loc 1 708 37 view .LVU127
 437 0086 6283                  strh    r2, [r4, #26]   @ movhi
 710:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P4_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
 438                            .loc 1 710 13 is_stmt 1 view .LVU128
 711:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p5 =
 439                            .loc 1 711 43 is_stmt 0 view .LVU129
 440 0088 9DF80D10              ldrb    r1, [sp, #13]   @ zero_extendqisi2
 711:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p5 =
 441                            .loc 1 711 90 view .LVU130
 442 008c 9DF80C20              ldrb    r2, [sp, #12]   @ zero_extendqisi2
 711:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p5 =
 443                            .loc 1 711 17 view .LVU131
 444 0090 42EA0122              orr     r2, r2, r1, lsl #8
 710:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P4_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
 445                            .loc 1 710 37 view .LVU132
 446 0094 A283                  strh    r2, [r4, #28]   @ movhi
 712:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P5_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
 447                            .loc 1 712 13 is_stmt 1 view .LVU133
 713:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p6 =
 448                            .loc 1 713 43 is_stmt 0 view .LVU134
 449 0096 9DF80F10              ldrb    r1, [sp, #15]   @ zero_extendqisi2
 713:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p6 =
 450                            .loc 1 713 90 view .LVU135
 451 009a 9DF80E20              ldrb    r2, [sp, #14]   @ zero_extendqisi2
 713:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p6 =
 452                            .loc 1 713 17 view .LVU136
 453 009e 42EA0122              orr     r2, r2, r1, lsl #8
 712:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P5_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
 454                            .loc 1 712 37 view .LVU137
 455 00a2 E283                  strh    r2, [r4, #30]   @ movhi
 714:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P6_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
 456                            .loc 1 714 13 is_stmt 1 view .LVU138
 715:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p7 =
 457                            .loc 1 715 43 is_stmt 0 view .LVU139
 458 00a4 9DF81110              ldrb    r1, [sp, #17]   @ zero_extendqisi2
 715:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p7 =
 459                            .loc 1 715 90 view .LVU140
 460 00a8 9DF81020              ldrb    r2, [sp, #16]   @ zero_extendqisi2
 715:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p7 =
 461                            .loc 1 715 17 view .LVU141
 462 00ac 42EA0122              orr     r2, r2, r1, lsl #8
 714:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P6_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
 463                            .loc 1 714 37 view .LVU142
 464 00b0 2284                  strh    r2, [r4, #32]   @ movhi
 716:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P7_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
 465                            .loc 1 716 13 is_stmt 1 view .LVU143
 717:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p8 =
 466                            .loc 1 717 43 is_stmt 0 view .LVU144
 467 00b2 9DF81310              ldrb    r1, [sp, #19]   @ zero_extendqisi2
 717:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p8 =
 468                            .loc 1 717 90 view .LVU145
 469 00b6 9DF81220              ldrb    r2, [sp, #18]   @ zero_extendqisi2
 717:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p8 =
 470                            .loc 1 717 17 view .LVU146
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 25


 471 00ba 42EA0122              orr     r2, r2, r1, lsl #8
 716:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P7_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
 472                            .loc 1 716 37 view .LVU147
 473 00be 6284                  strh    r2, [r4, #34]   @ movhi
 718:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P8_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
 474                            .loc 1 718 13 is_stmt 1 view .LVU148
 719:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p9 =
 475                            .loc 1 719 43 is_stmt 0 view .LVU149
 476 00c0 9DF81510              ldrb    r1, [sp, #21]   @ zero_extendqisi2
 719:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p9 =
 477                            .loc 1 719 90 view .LVU150
 478 00c4 9DF81420              ldrb    r2, [sp, #20]   @ zero_extendqisi2
 719:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p9 =
 479                            .loc 1 719 17 view .LVU151
 480 00c8 42EA0122              orr     r2, r2, r1, lsl #8
 718:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P8_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
 481                            .loc 1 718 37 view .LVU152
 482 00cc A284                  strh    r2, [r4, #36]   @ movhi
 720:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P9_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
 483                            .loc 1 720 13 is_stmt 1 view .LVU153
 721:../libBMP280/src/bmp280.c ****         }
 484                            .loc 1 721 43 is_stmt 0 view .LVU154
 485 00ce 9DF81710              ldrb    r1, [sp, #23]   @ zero_extendqisi2
 721:../libBMP280/src/bmp280.c ****         }
 486                            .loc 1 721 90 view .LVU155
 487 00d2 9DF81620              ldrb    r2, [sp, #22]   @ zero_extendqisi2
 721:../libBMP280/src/bmp280.c ****         }
 488                            .loc 1 721 17 view .LVU156
 489 00d6 42EA0122              orr     r2, r2, r1, lsl #8
 720:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P9_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
 490                            .loc 1 720 37 view .LVU157
 491 00da E284                  strh    r2, [r4, #38]   @ movhi
 492 00dc 9EE7                  b       .L31
 493                            .cfi_endproc
 494                    .LFE18:
 496                            .section        .text.bmp280_set_regs,"ax",%progbits
 497                            .align  1
 498                            .global bmp280_set_regs
 499                            .syntax unified
 500                            .thumb
 501                            .thumb_func
 502                            .fpu softvfp
 504                    bmp280_set_regs:
 505                    .LVL37:
 506                    .LFB1:
 147:../libBMP280/src/bmp280.c ****     int8_t rslt;
 507                            .loc 1 147 1 is_stmt 1 view -0
 508                            .cfi_startproc
 509                            @ args = 0, pretend = 0, frame = 8
 510                            @ frame_needed = 0, uses_anonymous_args = 0
 147:../libBMP280/src/bmp280.c ****     int8_t rslt;
 511                            .loc 1 147 1 is_stmt 0 view .LVU159
 512 0000 F0B5                  push    {r4, r5, r6, r7, lr}
 513                    .LCFI7:
 514                            .cfi_def_cfa_offset 20
 515                            .cfi_offset 4, -20
 516                            .cfi_offset 5, -16
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 26


 517                            .cfi_offset 6, -12
 518                            .cfi_offset 7, -8
 519                            .cfi_offset 14, -4
 520 0002 83B0                  sub     sp, sp, #12
 521                    .LCFI8:
 522                            .cfi_def_cfa_offset 32
 523 0004 0546                  mov     r5, r0
 524 0006 0F46                  mov     r7, r1
 525 0008 1446                  mov     r4, r2
 526 000a 1E46                  mov     r6, r3
 148:../libBMP280/src/bmp280.c ****     uint8_t temp_buff[8]; /* Typically not to write more than 4 registers */
 527                            .loc 1 148 5 is_stmt 1 view .LVU160
 149:../libBMP280/src/bmp280.c ****     uint16_t temp_len;
 528                            .loc 1 149 5 view .LVU161
 150:../libBMP280/src/bmp280.c ****     uint8_t reg_addr_cnt;
 529                            .loc 1 150 5 view .LVU162
 151:../libBMP280/src/bmp280.c **** 
 530                            .loc 1 151 5 view .LVU163
 153:../libBMP280/src/bmp280.c ****     {
 531                            .loc 1 153 5 view .LVU164
 153:../libBMP280/src/bmp280.c ****     {
 532                            .loc 1 153 8 is_stmt 0 view .LVU165
 533 000c 042A                  cmp     r2, #4
 534 000e 00D9                  bls     .L35
 155:../libBMP280/src/bmp280.c ****     }
 535                            .loc 1 155 13 view .LVU166
 536 0010 0424                  movs    r4, #4
 537                    .L35:
 538                    .LVL38:
 157:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (reg_addr != NULL) && (reg_data != NULL))
 539                            .loc 1 157 5 is_stmt 1 view .LVU167
 157:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (reg_addr != NULL) && (reg_data != NULL))
 540                            .loc 1 157 12 is_stmt 0 view .LVU168
 541 0012 3046                  mov     r0, r6
 542                    .LVL39:
 157:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (reg_addr != NULL) && (reg_data != NULL))
 543                            .loc 1 157 12 view .LVU169
 544 0014 FFF7FEFF              bl      null_ptr_check
 545                    .LVL40:
 158:../libBMP280/src/bmp280.c ****     {
 546                            .loc 1 158 5 is_stmt 1 view .LVU170
 158:../libBMP280/src/bmp280.c ****     {
 547                            .loc 1 158 8 is_stmt 0 view .LVU171
 548 0018 40BB                  cbnz    r0, .L43
 158:../libBMP280/src/bmp280.c ****     {
 549                            .loc 1 158 29 discriminator 1 view .LVU172
 550 001a 55B3                  cbz     r5, .L44
 158:../libBMP280/src/bmp280.c ****     {
 551                            .loc 1 158 51 discriminator 2 view .LVU173
 552 001c 67B3                  cbz     r7, .L45
 160:../libBMP280/src/bmp280.c ****         {
 553                            .loc 1 160 9 is_stmt 1 view .LVU174
 160:../libBMP280/src/bmp280.c ****         {
 554                            .loc 1 160 12 is_stmt 0 view .LVU175
 555 001e 74B3                  cbz     r4, .L46
 162:../libBMP280/src/bmp280.c **** 
 556                            .loc 1 162 13 is_stmt 1 view .LVU176
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 27


 162:../libBMP280/src/bmp280.c **** 
 557                            .loc 1 162 36 is_stmt 0 view .LVU177
 558 0020 3B78                  ldrb    r3, [r7]        @ zero_extendqisi2
 162:../libBMP280/src/bmp280.c **** 
 559                            .loc 1 162 26 view .LVU178
 560 0022 8DF80030              strb    r3, [sp]
 165:../libBMP280/src/bmp280.c ****             {
 561                            .loc 1 165 13 is_stmt 1 view .LVU179
 165:../libBMP280/src/bmp280.c ****             {
 562                            .loc 1 165 20 is_stmt 0 view .LVU180
 563 0026 B378                  ldrb    r3, [r6, #2]    @ zero_extendqisi2
 165:../libBMP280/src/bmp280.c ****             {
 564                            .loc 1 165 16 view .LVU181
 565 0028 63B1                  cbz     r3, .L47
 566                    .L38:
 177:../libBMP280/src/bmp280.c ****             {
 567                            .loc 1 177 13 is_stmt 1 view .LVU182
 177:../libBMP280/src/bmp280.c ****             {
 568                            .loc 1 177 16 is_stmt 0 view .LVU183
 569 002a 012C                  cmp     r4, #1
 570 002c 14D8                  bhi     .L50
 185:../libBMP280/src/bmp280.c ****             }
 571                            .loc 1 185 17 is_stmt 1 view .LVU184
 185:../libBMP280/src/bmp280.c ****             }
 572                            .loc 1 185 26 is_stmt 0 view .LVU185
 573 002e A3B2                  uxth    r3, r4
 574                    .LVL41:
 575                    .L41:
 187:../libBMP280/src/bmp280.c **** 
 576                            .loc 1 187 13 is_stmt 1 view .LVU186
 187:../libBMP280/src/bmp280.c **** 
 577                            .loc 1 187 23 is_stmt 0 view .LVU187
 578 0030 B468                  ldr     r4, [r6, #8]
 187:../libBMP280/src/bmp280.c **** 
 579                            .loc 1 187 20 view .LVU188
 580 0032 6A46                  mov     r2, sp
 581 0034 2978                  ldrb    r1, [r5]        @ zero_extendqisi2
 582 0036 7078                  ldrb    r0, [r6, #1]    @ zero_extendqisi2
 583 0038 A047                  blx     r4
 584                    .LVL42:
 190:../libBMP280/src/bmp280.c ****             {
 585                            .loc 1 190 13 is_stmt 1 view .LVU189
 190:../libBMP280/src/bmp280.c ****             {
 586                            .loc 1 190 16 is_stmt 0 view .LVU190
 587 003a 0346                  mov     r3, r0
 588 003c 10BB                  cbnz    r0, .L51
 589                    .L36:
 590                    .LVL43:
 205:../libBMP280/src/bmp280.c **** }
 591                            .loc 1 205 5 is_stmt 1 view .LVU191
 206:../libBMP280/src/bmp280.c **** 
 592                            .loc 1 206 1 is_stmt 0 view .LVU192
 593 003e 1846                  mov     r0, r3
 594 0040 03B0                  add     sp, sp, #12
 595                    .LCFI9:
 596                            .cfi_remember_state
 597                            .cfi_def_cfa_offset 20
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 28


 598                            @ sp needed
 599 0042 F0BD                  pop     {r4, r5, r6, r7, pc}
 600                    .LVL44:
 601                    .L47:
 602                    .LCFI10:
 603                            .cfi_restore_state
 170:../libBMP280/src/bmp280.c ****                 {
 604                            .loc 1 170 35 view .LVU193
 605 0044 0022                  movs    r2, #0
 606                    .L37:
 607                    .LVL45:
 170:../libBMP280/src/bmp280.c ****                 {
 608                            .loc 1 170 17 discriminator 1 view .LVU194
 609 0046 9442                  cmp     r4, r2
 610 0048 EFD9                  bls     .L38
 172:../libBMP280/src/bmp280.c ****                 }
 611                            .loc 1 172 21 is_stmt 1 discriminator 3 view .LVU195
 172:../libBMP280/src/bmp280.c ****                 }
 612                            .loc 1 172 54 is_stmt 0 discriminator 3 view .LVU196
 613 004a A95C                  ldrb    r1, [r5, r2]    @ zero_extendqisi2
 172:../libBMP280/src/bmp280.c ****                 }
 614                            .loc 1 172 69 discriminator 3 view .LVU197
 615 004c 01F07F01              and     r1, r1, #127
 172:../libBMP280/src/bmp280.c ****                 }
 616                            .loc 1 172 44 discriminator 3 view .LVU198
 617 0050 A954                  strb    r1, [r5, r2]
 170:../libBMP280/src/bmp280.c ****                 {
 618                            .loc 1 170 72 discriminator 3 view .LVU199
 619 0052 0132                  adds    r2, r2, #1
 620                    .LVL46:
 170:../libBMP280/src/bmp280.c ****                 {
 621                            .loc 1 170 72 discriminator 3 view .LVU200
 622 0054 D2B2                  uxtb    r2, r2
 623                    .LVL47:
 170:../libBMP280/src/bmp280.c ****                 {
 624                            .loc 1 170 72 discriminator 3 view .LVU201
 625 0056 F6E7                  b       .L37
 626                    .LVL48:
 627                    .L50:
 180:../libBMP280/src/bmp280.c ****                 temp_len = ((len * 2) - 1);
 628                            .loc 1 180 17 is_stmt 1 view .LVU202
 629 0058 2346                  mov     r3, r4
 630 005a 3A46                  mov     r2, r7
 631 005c 6946                  mov     r1, sp
 632 005e 2846                  mov     r0, r5
 633                    .LVL49:
 180:../libBMP280/src/bmp280.c ****                 temp_len = ((len * 2) - 1);
 634                            .loc 1 180 17 is_stmt 0 view .LVU203
 635 0060 FFF7FEFF              bl      interleave_data
 636                    .LVL50:
 181:../libBMP280/src/bmp280.c ****             }
 637                            .loc 1 181 17 is_stmt 1 view .LVU204
 181:../libBMP280/src/bmp280.c ****             }
 638                            .loc 1 181 39 is_stmt 0 view .LVU205
 639 0064 6400                  lsls    r4, r4, #1
 640                    .LVL51:
 181:../libBMP280/src/bmp280.c ****             }
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 29


 641                            .loc 1 181 26 view .LVU206
 642 0066 013C                  subs    r4, r4, #1
 643 0068 A3B2                  uxth    r3, r4
 644                    .LVL52:
 181:../libBMP280/src/bmp280.c ****             }
 645                            .loc 1 181 26 view .LVU207
 646 006a E1E7                  b       .L41
 647                    .LVL53:
 648                    .L43:
 202:../libBMP280/src/bmp280.c ****     }
 649                            .loc 1 202 14 view .LVU208
 650 006c 4FF0FF33              mov     r3, #-1
 651 0070 E5E7                  b       .L36
 652                    .L44:
 653 0072 4FF0FF33              mov     r3, #-1
 654 0076 E2E7                  b       .L36
 655                    .L45:
 656 0078 4FF0FF33              mov     r3, #-1
 657 007c DFE7                  b       .L36
 658                    .L46:
 197:../libBMP280/src/bmp280.c ****         }
 659                            .loc 1 197 18 view .LVU209
 660 007e 6FF00203              mvn     r3, #2
 661 0082 DCE7                  b       .L36
 662                    .LVL54:
 663                    .L51:
 192:../libBMP280/src/bmp280.c ****             }
 664                            .loc 1 192 22 view .LVU210
 665 0084 6FF00303              mvn     r3, #3
 666 0088 D9E7                  b       .L36
 667                            .cfi_endproc
 668                    .LFE1:
 670                            .section        .text.bmp280_soft_reset,"ax",%progbits
 671                            .align  1
 672                            .global bmp280_soft_reset
 673                            .syntax unified
 674                            .thumb
 675                            .thumb_func
 676                            .fpu softvfp
 678                    bmp280_soft_reset:
 679                    .LVL55:
 680                    .LFB2:
 212:../libBMP280/src/bmp280.c ****     int8_t rslt;
 681                            .loc 1 212 1 is_stmt 1 view -0
 682                            .cfi_startproc
 683                            @ args = 0, pretend = 0, frame = 8
 684                            @ frame_needed = 0, uses_anonymous_args = 0
 212:../libBMP280/src/bmp280.c ****     int8_t rslt;
 685                            .loc 1 212 1 is_stmt 0 view .LVU212
 686 0000 30B5                  push    {r4, r5, lr}
 687                    .LCFI11:
 688                            .cfi_def_cfa_offset 12
 689                            .cfi_offset 4, -12
 690                            .cfi_offset 5, -8
 691                            .cfi_offset 14, -4
 692 0002 83B0                  sub     sp, sp, #12
 693                    .LCFI12:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 30


 694                            .cfi_def_cfa_offset 24
 695 0004 0546                  mov     r5, r0
 213:../libBMP280/src/bmp280.c ****     uint8_t reg_addr = BMP280_SOFT_RESET_ADDR;
 696                            .loc 1 213 5 is_stmt 1 view .LVU213
 214:../libBMP280/src/bmp280.c ****     uint8_t soft_rst_cmd = BMP280_SOFT_RESET_CMD;
 697                            .loc 1 214 5 view .LVU214
 214:../libBMP280/src/bmp280.c ****     uint8_t soft_rst_cmd = BMP280_SOFT_RESET_CMD;
 698                            .loc 1 214 13 is_stmt 0 view .LVU215
 699 0006 E023                  movs    r3, #224
 700 0008 8DF80730              strb    r3, [sp, #7]
 215:../libBMP280/src/bmp280.c **** 
 701                            .loc 1 215 5 is_stmt 1 view .LVU216
 215:../libBMP280/src/bmp280.c **** 
 702                            .loc 1 215 13 is_stmt 0 view .LVU217
 703 000c B623                  movs    r3, #182
 704 000e 8DF80630              strb    r3, [sp, #6]
 217:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
 705                            .loc 1 217 5 is_stmt 1 view .LVU218
 217:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
 706                            .loc 1 217 12 is_stmt 0 view .LVU219
 707 0012 FFF7FEFF              bl      null_ptr_check
 708                    .LVL56:
 218:../libBMP280/src/bmp280.c ****     {
 709                            .loc 1 218 5 is_stmt 1 view .LVU220
 218:../libBMP280/src/bmp280.c ****     {
 710                            .loc 1 218 8 is_stmt 0 view .LVU221
 711 0016 0446                  mov     r4, r0
 712 0018 10B1                  cbz     r0, .L55
 713                    .LVL57:
 714                    .L53:
 226:../libBMP280/src/bmp280.c **** }
 715                            .loc 1 226 5 is_stmt 1 view .LVU222
 227:../libBMP280/src/bmp280.c **** 
 716                            .loc 1 227 1 is_stmt 0 view .LVU223
 717 001a 2046                  mov     r0, r4
 718 001c 03B0                  add     sp, sp, #12
 719                    .LCFI13:
 720                            .cfi_remember_state
 721                            .cfi_def_cfa_offset 12
 722                            @ sp needed
 723 001e 30BD                  pop     {r4, r5, pc}
 724                    .LVL58:
 725                    .L55:
 726                    .LCFI14:
 727                            .cfi_restore_state
 220:../libBMP280/src/bmp280.c **** 
 728                            .loc 1 220 9 is_stmt 1 view .LVU224
 220:../libBMP280/src/bmp280.c **** 
 729                            .loc 1 220 16 is_stmt 0 view .LVU225
 730 0020 2B46                  mov     r3, r5
 731 0022 0122                  movs    r2, #1
 732 0024 0DF10601              add     r1, sp, #6
 733 0028 0DF10700              add     r0, sp, #7
 734                    .LVL59:
 220:../libBMP280/src/bmp280.c **** 
 735                            .loc 1 220 16 view .LVU226
 736 002c FFF7FEFF              bl      bmp280_set_regs
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 31


 737                    .LVL60:
 738 0030 0446                  mov     r4, r0
 739                    .LVL61:
 223:../libBMP280/src/bmp280.c ****     }
 740                            .loc 1 223 9 is_stmt 1 view .LVU227
 223:../libBMP280/src/bmp280.c ****     }
 741                            .loc 1 223 12 is_stmt 0 view .LVU228
 742 0032 EB68                  ldr     r3, [r5, #12]
 223:../libBMP280/src/bmp280.c ****     }
 743                            .loc 1 223 9 view .LVU229
 744 0034 0220                  movs    r0, #2
 745 0036 9847                  blx     r3
 746                    .LVL62:
 747 0038 EFE7                  b       .L53
 748                            .cfi_endproc
 749                    .LFE2:
 751                            .section        .text.conf_sensor,"ax",%progbits
 752                            .align  1
 753                            .syntax unified
 754                            .thumb
 755                            .thumb_func
 756                            .fpu softvfp
 758                    conf_sensor:
 759                    .LVL63:
 760                    .LFB19:
 732:../libBMP280/src/bmp280.c ****     int8_t rslt;
 761                            .loc 1 732 1 is_stmt 1 view -0
 762                            .cfi_startproc
 763                            @ args = 0, pretend = 0, frame = 8
 764                            @ frame_needed = 0, uses_anonymous_args = 0
 732:../libBMP280/src/bmp280.c ****     int8_t rslt;
 765                            .loc 1 732 1 is_stmt 0 view .LVU231
 766 0000 70B5                  push    {r4, r5, r6, lr}
 767                    .LCFI15:
 768                            .cfi_def_cfa_offset 16
 769                            .cfi_offset 4, -16
 770                            .cfi_offset 5, -12
 771                            .cfi_offset 6, -8
 772                            .cfi_offset 14, -4
 773 0002 82B0                  sub     sp, sp, #8
 774                    .LCFI16:
 775                            .cfi_def_cfa_offset 24
 776 0004 0646                  mov     r6, r0
 777 0006 0D46                  mov     r5, r1
 778 0008 1446                  mov     r4, r2
 733:../libBMP280/src/bmp280.c ****     uint8_t temp[2] = { 0, 0 };
 779                            .loc 1 733 5 is_stmt 1 view .LVU232
 734:../libBMP280/src/bmp280.c ****     uint8_t reg_addr[2] = { BMP280_CTRL_MEAS_ADDR, BMP280_CONFIG_ADDR };
 780                            .loc 1 734 5 view .LVU233
 734:../libBMP280/src/bmp280.c ****     uint8_t reg_addr[2] = { BMP280_CTRL_MEAS_ADDR, BMP280_CONFIG_ADDR };
 781                            .loc 1 734 13 is_stmt 0 view .LVU234
 782 000a 0023                  movs    r3, #0
 783 000c 8DF80430              strb    r3, [sp, #4]
 784 0010 8DF80530              strb    r3, [sp, #5]
 735:../libBMP280/src/bmp280.c **** 
 785                            .loc 1 735 5 is_stmt 1 view .LVU235
 735:../libBMP280/src/bmp280.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 32


 786                            .loc 1 735 13 is_stmt 0 view .LVU236
 787 0014 354B                  ldr     r3, .L62
 788 0016 1B88                  ldrh    r3, [r3]
 789 0018 ADF80030              strh    r3, [sp]        @ movhi
 737:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (conf != NULL))
 790                            .loc 1 737 5 is_stmt 1 view .LVU237
 737:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (conf != NULL))
 791                            .loc 1 737 12 is_stmt 0 view .LVU238
 792 001c 1046                  mov     r0, r2
 793                    .LVL64:
 737:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (conf != NULL))
 794                            .loc 1 737 12 view .LVU239
 795 001e FFF7FEFF              bl      null_ptr_check
 796                    .LVL65:
 738:../libBMP280/src/bmp280.c ****     {
 797                            .loc 1 738 5 is_stmt 1 view .LVU240
 738:../libBMP280/src/bmp280.c ****     {
 798                            .loc 1 738 8 is_stmt 0 view .LVU241
 799 0022 0028                  cmp     r0, #0
 800 0024 5CD1                  bne     .L58
 738:../libBMP280/src/bmp280.c ****     {
 801                            .loc 1 738 29 discriminator 1 view .LVU242
 802 0026 002D                  cmp     r5, #0
 803 0028 5DD0                  beq     .L59
 740:../libBMP280/src/bmp280.c ****         if (rslt == BMP280_OK)
 804                            .loc 1 740 9 is_stmt 1 view .LVU243
 740:../libBMP280/src/bmp280.c ****         if (rslt == BMP280_OK)
 805                            .loc 1 740 16 is_stmt 0 view .LVU244
 806 002a 2346                  mov     r3, r4
 807 002c 0222                  movs    r2, #2
 808 002e 01A9                  add     r1, sp, #4
 809 0030 F420                  movs    r0, #244
 810                    .LVL66:
 740:../libBMP280/src/bmp280.c ****         if (rslt == BMP280_OK)
 811                            .loc 1 740 16 view .LVU245
 812 0032 FFF7FEFF              bl      bmp280_get_regs
 813                    .LVL67:
 741:../libBMP280/src/bmp280.c ****         {
 814                            .loc 1 741 9 is_stmt 1 view .LVU246
 741:../libBMP280/src/bmp280.c ****         {
 815                            .loc 1 741 12 is_stmt 0 view .LVU247
 816 0036 0346                  mov     r3, r0
 817 0038 10B1                  cbz     r0, .L61
 818                    .LVL68:
 819                    .L57:
 773:../libBMP280/src/bmp280.c **** }
 820                            .loc 1 773 5 is_stmt 1 view .LVU248
 774:../libBMP280/src/bmp280.c **** 
 821                            .loc 1 774 1 is_stmt 0 view .LVU249
 822 003a 1846                  mov     r0, r3
 823 003c 02B0                  add     sp, sp, #8
 824                    .LCFI17:
 825                            .cfi_remember_state
 826                            .cfi_def_cfa_offset 16
 827                            @ sp needed
 828 003e 70BD                  pop     {r4, r5, r6, pc}
 829                    .LVL69:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 33


 830                    .L61:
 831                    .LCFI18:
 832                            .cfi_restore_state
 746:../libBMP280/src/bmp280.c ****             if (rslt == BMP280_OK)
 833                            .loc 1 746 13 is_stmt 1 view .LVU250
 746:../libBMP280/src/bmp280.c ****             if (rslt == BMP280_OK)
 834                            .loc 1 746 20 is_stmt 0 view .LVU251
 835 0040 2046                  mov     r0, r4
 836                    .LVL70:
 746:../libBMP280/src/bmp280.c ****             if (rslt == BMP280_OK)
 837                            .loc 1 746 20 view .LVU252
 838 0042 FFF7FEFF              bl      bmp280_soft_reset
 839                    .LVL71:
 747:../libBMP280/src/bmp280.c ****             {
 840                            .loc 1 747 13 is_stmt 1 view .LVU253
 747:../libBMP280/src/bmp280.c ****             {
 841                            .loc 1 747 16 is_stmt 0 view .LVU254
 842 0046 0346                  mov     r3, r0
 843 0048 0028                  cmp     r0, #0
 844 004a F6D1                  bne     .L57
 749:../libBMP280/src/bmp280.c ****                 temp[0] = BMP280_SET_BITS(temp[0], BMP280_OS_PRES, conf->os_pres);
 845                            .loc 1 749 17 is_stmt 1 view .LVU255
 749:../libBMP280/src/bmp280.c ****                 temp[0] = BMP280_SET_BITS(temp[0], BMP280_OS_PRES, conf->os_pres);
 846                            .loc 1 749 27 is_stmt 0 view .LVU256
 847 004c 9DF90430              ldrsb   r3, [sp, #4]
 848 0050 03F01F03              and     r3, r3, #31
 849 0054 2A78                  ldrb    r2, [r5]        @ zero_extendqisi2
 850 0056 43EA4213              orr     r3, r3, r2, lsl #5
 851 005a 5BB2                  sxtb    r3, r3
 750:../libBMP280/src/bmp280.c ****                 temp[1] = BMP280_SET_BITS(temp[1], BMP280_STANDBY_DURN, conf->odr);
 852                            .loc 1 750 17 is_stmt 1 view .LVU257
 750:../libBMP280/src/bmp280.c ****                 temp[1] = BMP280_SET_BITS(temp[1], BMP280_STANDBY_DURN, conf->odr);
 853                            .loc 1 750 27 is_stmt 0 view .LVU258
 854 005c 23F01C03              bic     r3, r3, #28
 855 0060 6A78                  ldrb    r2, [r5, #1]    @ zero_extendqisi2
 856 0062 9200                  lsls    r2, r2, #2
 857 0064 02F01C02              and     r2, r2, #28
 858 0068 1343                  orrs    r3, r3, r2
 750:../libBMP280/src/bmp280.c ****                 temp[1] = BMP280_SET_BITS(temp[1], BMP280_STANDBY_DURN, conf->odr);
 859                            .loc 1 750 25 view .LVU259
 860 006a 8DF80430              strb    r3, [sp, #4]
 751:../libBMP280/src/bmp280.c ****                 temp[1] = BMP280_SET_BITS(temp[1], BMP280_FILTER, conf->filter);
 861                            .loc 1 751 17 is_stmt 1 view .LVU260
 751:../libBMP280/src/bmp280.c ****                 temp[1] = BMP280_SET_BITS(temp[1], BMP280_FILTER, conf->filter);
 862                            .loc 1 751 27 is_stmt 0 view .LVU261
 863 006e 9DF90530              ldrsb   r3, [sp, #5]
 864 0072 03F01F03              and     r3, r3, #31
 865 0076 AA78                  ldrb    r2, [r5, #2]    @ zero_extendqisi2
 866 0078 43EA4213              orr     r3, r3, r2, lsl #5
 867 007c 5BB2                  sxtb    r3, r3
 752:../libBMP280/src/bmp280.c ****                 temp[1] = BMP280_SET_BITS_POS_0(temp[1], BMP280_SPI3_ENABLE, conf->spi3w_en);
 868                            .loc 1 752 17 is_stmt 1 view .LVU262
 752:../libBMP280/src/bmp280.c ****                 temp[1] = BMP280_SET_BITS_POS_0(temp[1], BMP280_SPI3_ENABLE, conf->spi3w_en);
 869                            .loc 1 752 27 is_stmt 0 view .LVU263
 870 007e 23F01C03              bic     r3, r3, #28
 871 0082 EA78                  ldrb    r2, [r5, #3]    @ zero_extendqisi2
 872 0084 9200                  lsls    r2, r2, #2
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 34


 873 0086 02F01C02              and     r2, r2, #28
 874 008a 1343                  orrs    r3, r3, r2
 753:../libBMP280/src/bmp280.c ****                 rslt = bmp280_set_regs(reg_addr, temp, 2, dev);
 875                            .loc 1 753 17 is_stmt 1 view .LVU264
 753:../libBMP280/src/bmp280.c ****                 rslt = bmp280_set_regs(reg_addr, temp, 2, dev);
 876                            .loc 1 753 27 is_stmt 0 view .LVU265
 877 008c 23F00103              bic     r3, r3, #1
 878 0090 95F90420              ldrsb   r2, [r5, #4]
 879 0094 02F00102              and     r2, r2, #1
 880 0098 1343                  orrs    r3, r3, r2
 753:../libBMP280/src/bmp280.c ****                 rslt = bmp280_set_regs(reg_addr, temp, 2, dev);
 881                            .loc 1 753 25 view .LVU266
 882 009a 8DF80530              strb    r3, [sp, #5]
 754:../libBMP280/src/bmp280.c ****                 if (rslt == BMP280_OK)
 883                            .loc 1 754 17 is_stmt 1 view .LVU267
 754:../libBMP280/src/bmp280.c ****                 if (rslt == BMP280_OK)
 884                            .loc 1 754 24 is_stmt 0 view .LVU268
 885 009e 2346                  mov     r3, r4
 886 00a0 0222                  movs    r2, #2
 887 00a2 01A9                  add     r1, sp, #4
 888 00a4 6846                  mov     r0, sp
 889                    .LVL72:
 754:../libBMP280/src/bmp280.c ****                 if (rslt == BMP280_OK)
 890                            .loc 1 754 24 view .LVU269
 891 00a6 FFF7FEFF              bl      bmp280_set_regs
 892                    .LVL73:
 755:../libBMP280/src/bmp280.c ****                 {
 893                            .loc 1 755 17 is_stmt 1 view .LVU270
 755:../libBMP280/src/bmp280.c ****                 {
 894                            .loc 1 755 20 is_stmt 0 view .LVU271
 895 00aa 0346                  mov     r3, r0
 896 00ac 0028                  cmp     r0, #0
 897 00ae C4D1                  bne     .L57
 757:../libBMP280/src/bmp280.c ****                     if (mode != BMP280_SLEEP_MODE)
 898                            .loc 1 757 21 is_stmt 1 view .LVU272
 757:../libBMP280/src/bmp280.c ****                     if (mode != BMP280_SLEEP_MODE)
 899                            .loc 1 757 31 is_stmt 0 view .LVU273
 900 00b0 2868                  ldr     r0, [r5]        @ unaligned
 901                    .LVL74:
 757:../libBMP280/src/bmp280.c ****                     if (mode != BMP280_SLEEP_MODE)
 902                            .loc 1 757 31 view .LVU274
 903 00b2 E062                  str     r0, [r4, #44]
 904 00b4 2A79                  ldrb    r2, [r5, #4]    @ zero_extendqisi2
 905 00b6 84F83020              strb    r2, [r4, #48]
 758:../libBMP280/src/bmp280.c ****                     {
 906                            .loc 1 758 21 is_stmt 1 view .LVU275
 758:../libBMP280/src/bmp280.c ****                     {
 907                            .loc 1 758 24 is_stmt 0 view .LVU276
 908 00ba 002E                  cmp     r6, #0
 909 00bc BDD0                  beq     .L57
 761:../libBMP280/src/bmp280.c ****                         rslt = bmp280_set_regs(reg_addr, temp, 1, dev);
 910                            .loc 1 761 25 is_stmt 1 view .LVU277
 761:../libBMP280/src/bmp280.c ****                         rslt = bmp280_set_regs(reg_addr, temp, 1, dev);
 911                            .loc 1 761 35 is_stmt 0 view .LVU278
 912 00be 9DF90430              ldrsb   r3, [sp, #4]
 913 00c2 23F00303              bic     r3, r3, #3
 914 00c6 06F00306              and     r6, r6, #3
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 35


 915 00ca 1E43                  orrs    r6, r6, r3
 761:../libBMP280/src/bmp280.c ****                         rslt = bmp280_set_regs(reg_addr, temp, 1, dev);
 916                            .loc 1 761 33 view .LVU279
 917 00cc 8DF80460              strb    r6, [sp, #4]
 762:../libBMP280/src/bmp280.c ****                     }
 918                            .loc 1 762 25 is_stmt 1 view .LVU280
 762:../libBMP280/src/bmp280.c ****                     }
 919                            .loc 1 762 32 is_stmt 0 view .LVU281
 920 00d0 2346                  mov     r3, r4
 921 00d2 0122                  movs    r2, #1
 922 00d4 01A9                  add     r1, sp, #4
 923 00d6 6846                  mov     r0, sp
 924 00d8 FFF7FEFF              bl      bmp280_set_regs
 925                    .LVL75:
 926 00dc 0346                  mov     r3, r0
 927                    .LVL76:
 762:../libBMP280/src/bmp280.c ****                     }
 928                            .loc 1 762 32 view .LVU282
 929 00de ACE7                  b       .L57
 930                    .LVL77:
 931                    .L58:
 770:../libBMP280/src/bmp280.c ****     }
 932                            .loc 1 770 14 view .LVU283
 933 00e0 4FF0FF33              mov     r3, #-1
 934 00e4 A9E7                  b       .L57
 935                    .L59:
 936 00e6 4FF0FF33              mov     r3, #-1
 937 00ea A6E7                  b       .L57
 938                    .L63:
 939                            .align  2
 940                    .L62:
 941 00ec 00000000              .word   .LANCHOR0
 942                            .cfi_endproc
 943                    .LFE19:
 945                            .section        .text.bmp280_init,"ax",%progbits
 946                            .align  1
 947                            .global bmp280_init
 948                            .syntax unified
 949                            .thumb
 950                            .thumb_func
 951                            .fpu softvfp
 953                    bmp280_init:
 954                    .LVL78:
 955                    .LFB3:
 234:../libBMP280/src/bmp280.c ****     int8_t rslt;
 956                            .loc 1 234 1 is_stmt 1 view -0
 957                            .cfi_startproc
 958                            @ args = 0, pretend = 0, frame = 0
 959                            @ frame_needed = 0, uses_anonymous_args = 0
 234:../libBMP280/src/bmp280.c ****     int8_t rslt;
 960                            .loc 1 234 1 is_stmt 0 view .LVU285
 961 0000 70B5                  push    {r4, r5, r6, lr}
 962                    .LCFI19:
 963                            .cfi_def_cfa_offset 16
 964                            .cfi_offset 4, -16
 965                            .cfi_offset 5, -12
 966                            .cfi_offset 6, -8
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 36


 967                            .cfi_offset 14, -4
 968 0002 0546                  mov     r5, r0
 235:../libBMP280/src/bmp280.c **** 
 969                            .loc 1 235 5 is_stmt 1 view .LVU286
 238:../libBMP280/src/bmp280.c **** 
 970                            .loc 1 238 5 view .LVU287
 971                    .LVL79:
 240:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
 972                            .loc 1 240 5 view .LVU288
 240:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
 973                            .loc 1 240 12 is_stmt 0 view .LVU289
 974 0004 FFF7FEFF              bl      null_ptr_check
 975                    .LVL80:
 241:../libBMP280/src/bmp280.c ****     {
 976                            .loc 1 241 5 is_stmt 1 view .LVU290
 241:../libBMP280/src/bmp280.c ****     {
 977                            .loc 1 241 8 is_stmt 0 view .LVU291
 978 0008 0646                  mov     r6, r0
 979 000a 78B3                  cbz     r0, .L70
 980                    .LVL81:
 981                    .L66:
 280:../libBMP280/src/bmp280.c **** }
 982                            .loc 1 280 5 is_stmt 1 view .LVU292
 281:../libBMP280/src/bmp280.c **** 
 983                            .loc 1 281 1 is_stmt 0 view .LVU293
 984 000c 3046                  mov     r0, r6
 985 000e 70BD                  pop     {r4, r5, r6, pc}
 986                    .LVL82:
 987                    .L73:
 254:../libBMP280/src/bmp280.c ****                 }
 988                            .loc 1 254 21 is_stmt 1 view .LVU294
 254:../libBMP280/src/bmp280.c ****                 }
 989                            .loc 1 254 28 is_stmt 0 view .LVU295
 990 0010 2846                  mov     r0, r5
 991                    .LVL83:
 254:../libBMP280/src/bmp280.c ****                 }
 992                            .loc 1 254 28 view .LVU296
 993 0012 FFF7FEFF              bl      get_calib_param
 994                    .LVL84:
 995 0016 0646                  mov     r6, r0
 996                    .LVL85:
 254:../libBMP280/src/bmp280.c ****                 }
 997                            .loc 1 254 28 view .LVU297
 998 0018 19E0                  b       .L68
 999                    .LVL86:
 1000                   .L67:
 260:../libBMP280/src/bmp280.c ****             --try_count;
 1001                           .loc 1 260 13 is_stmt 1 view .LVU298
 260:../libBMP280/src/bmp280.c ****             --try_count;
 1002                           .loc 1 260 16 is_stmt 0 view .LVU299
 1003 001a EB68                 ldr     r3, [r5, #12]
 260:../libBMP280/src/bmp280.c ****             --try_count;
 1004                           .loc 1 260 13 view .LVU300
 1005 001c 0A20                 movs    r0, #10
 1006                   .LVL87:
 260:../libBMP280/src/bmp280.c ****             --try_count;
 1007                           .loc 1 260 13 view .LVU301
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 37


 1008 001e 9847                 blx     r3
 1009                   .LVL88:
 261:../libBMP280/src/bmp280.c ****         }
 1010                           .loc 1 261 13 is_stmt 1 view .LVU302
 1011 0020 013C                 subs    r4, r4, #1
 1012                   .LVL89:
 261:../libBMP280/src/bmp280.c ****         }
 1013                           .loc 1 261 13 is_stmt 0 view .LVU303
 1014 0022 E4B2                 uxtb    r4, r4
 1015                   .LVL90:
 1016                   .L65:
 243:../libBMP280/src/bmp280.c ****         {
 1017                           .loc 1 243 15 view .LVU304
 1018 0024 9CB1                 cbz     r4, .L68
 245:../libBMP280/src/bmp280.c **** 
 1019                           .loc 1 245 13 is_stmt 1 view .LVU305
 245:../libBMP280/src/bmp280.c **** 
 1020                           .loc 1 245 20 is_stmt 0 view .LVU306
 1021 0026 2B46                 mov     r3, r5
 1022 0028 0122                 movs    r2, #1
 1023 002a 2946                 mov     r1, r5
 1024 002c D020                 movs    r0, #208
 1025 002e FFF7FEFF             bl      bmp280_get_regs
 1026                   .LVL91:
 248:../libBMP280/src/bmp280.c ****                 (dev->chip_id == BMP280_CHIP_ID1 || dev->chip_id == BMP280_CHIP_ID2 || dev->chip_id
 1027                           .loc 1 248 13 is_stmt 1 view .LVU307
 248:../libBMP280/src/bmp280.c ****                 (dev->chip_id == BMP280_CHIP_ID1 || dev->chip_id == BMP280_CHIP_ID2 || dev->chip_id
 1028                           .loc 1 248 16 is_stmt 0 view .LVU308
 1029 0032 0646                 mov     r6, r0
 1030 0034 0028                 cmp     r0, #0
 1031 0036 F0D1                 bne     .L67
 249:../libBMP280/src/bmp280.c ****             {
 1032                           .loc 1 249 21 discriminator 1 view .LVU309
 1033 0038 2B78                 ldrb    r3, [r5]        @ zero_extendqisi2
 249:../libBMP280/src/bmp280.c ****             {
 1034                           .loc 1 249 85 discriminator 1 view .LVU310
 1035 003a 563B                 subs    r3, r3, #86
 1036 003c DBB2                 uxtb    r3, r3
 248:../libBMP280/src/bmp280.c ****                 (dev->chip_id == BMP280_CHIP_ID1 || dev->chip_id == BMP280_CHIP_ID2 || dev->chip_id
 1037                           .loc 1 248 37 discriminator 1 view .LVU311
 1038 003e 022B                 cmp     r3, #2
 1039 0040 EBD8                 bhi     .L67
 251:../libBMP280/src/bmp280.c ****                 if (rslt == BMP280_OK)
 1040                           .loc 1 251 17 is_stmt 1 view .LVU312
 251:../libBMP280/src/bmp280.c ****                 if (rslt == BMP280_OK)
 1041                           .loc 1 251 24 is_stmt 0 view .LVU313
 1042 0042 2846                 mov     r0, r5
 1043                   .LVL92:
 251:../libBMP280/src/bmp280.c ****                 if (rslt == BMP280_OK)
 1044                           .loc 1 251 24 view .LVU314
 1045 0044 FFF7FEFF             bl      bmp280_soft_reset
 1046                   .LVL93:
 252:../libBMP280/src/bmp280.c ****                 {
 1047                           .loc 1 252 17 is_stmt 1 view .LVU315
 252:../libBMP280/src/bmp280.c ****                 {
 1048                           .loc 1 252 20 is_stmt 0 view .LVU316
 1049 0048 0646                 mov     r6, r0
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 38


 1050 004a 0028                 cmp     r0, #0
 1051 004c E0D0                 beq     .L73
 1052                   .LVL94:
 1053                   .L68:
 265:../libBMP280/src/bmp280.c ****         {
 1054                           .loc 1 265 9 is_stmt 1 view .LVU317
 265:../libBMP280/src/bmp280.c ****         {
 1055                           .loc 1 265 12 is_stmt 0 view .LVU318
 1056 004e 7CB1                 cbz     r4, .L71
 269:../libBMP280/src/bmp280.c ****         {
 1057                           .loc 1 269 9 is_stmt 1 view .LVU319
 269:../libBMP280/src/bmp280.c ****         {
 1058                           .loc 1 269 12 is_stmt 0 view .LVU320
 1059 0050 002E                 cmp     r6, #0
 1060 0052 DBD1                 bne     .L66
 272:../libBMP280/src/bmp280.c ****             dev->conf.os_pres = BMP280_OS_NONE;
 1061                           .loc 1 272 13 is_stmt 1 view .LVU321
 272:../libBMP280/src/bmp280.c ****             dev->conf.os_pres = BMP280_OS_NONE;
 1062                           .loc 1 272 30 is_stmt 0 view .LVU322
 1063 0054 0023                 movs    r3, #0
 1064 0056 85F82F30             strb    r3, [r5, #47]
 273:../libBMP280/src/bmp280.c ****             dev->conf.os_temp = BMP280_OS_NONE;
 1065                           .loc 1 273 13 is_stmt 1 view .LVU323
 273:../libBMP280/src/bmp280.c ****             dev->conf.os_temp = BMP280_OS_NONE;
 1066                           .loc 1 273 31 is_stmt 0 view .LVU324
 1067 005a 85F82D30             strb    r3, [r5, #45]
 274:../libBMP280/src/bmp280.c ****             dev->conf.odr = BMP280_ODR_0_5_MS;
 1068                           .loc 1 274 13 is_stmt 1 view .LVU325
 274:../libBMP280/src/bmp280.c ****             dev->conf.odr = BMP280_ODR_0_5_MS;
 1069                           .loc 1 274 31 is_stmt 0 view .LVU326
 1070 005e 85F82C30             strb    r3, [r5, #44]
 275:../libBMP280/src/bmp280.c ****             dev->conf.spi3w_en = BMP280_SPI3_WIRE_DISABLE;
 1071                           .loc 1 275 13 is_stmt 1 view .LVU327
 275:../libBMP280/src/bmp280.c ****             dev->conf.spi3w_en = BMP280_SPI3_WIRE_DISABLE;
 1072                           .loc 1 275 27 is_stmt 0 view .LVU328
 1073 0062 85F82E30             strb    r3, [r5, #46]
 276:../libBMP280/src/bmp280.c ****         }
 1074                           .loc 1 276 13 is_stmt 1 view .LVU329
 276:../libBMP280/src/bmp280.c ****         }
 1075                           .loc 1 276 32 is_stmt 0 view .LVU330
 1076 0066 85F83030             strb    r3, [r5, #48]
 1077 006a CFE7                 b       .L66
 1078                   .LVL95:
 1079                   .L70:
 238:../libBMP280/src/bmp280.c **** 
 1080                           .loc 1 238 13 view .LVU331
 1081 006c 0524                 movs    r4, #5
 1082 006e D9E7                 b       .L65
 1083                   .LVL96:
 1084                   .L71:
 267:../libBMP280/src/bmp280.c ****         }
 1085                           .loc 1 267 18 view .LVU332
 1086 0070 6FF00106             mvn     r6, #1
 1087                   .LVL97:
 267:../libBMP280/src/bmp280.c ****         }
 1088                           .loc 1 267 18 view .LVU333
 1089 0074 CAE7                 b       .L66
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 39


 1090                           .cfi_endproc
 1091                   .LFE3:
 1093                           .section        .text.bmp280_get_config,"ax",%progbits
 1094                           .align  1
 1095                           .global bmp280_get_config
 1096                           .syntax unified
 1097                           .thumb
 1098                           .thumb_func
 1099                           .fpu softvfp
 1101                   bmp280_get_config:
 1102                   .LVL98:
 1103                   .LFB4:
 290:../libBMP280/src/bmp280.c ****     int8_t rslt;
 1104                           .loc 1 290 1 is_stmt 1 view -0
 1105                           .cfi_startproc
 1106                           @ args = 0, pretend = 0, frame = 8
 1107                           @ frame_needed = 0, uses_anonymous_args = 0
 290:../libBMP280/src/bmp280.c ****     int8_t rslt;
 1108                           .loc 1 290 1 is_stmt 0 view .LVU335
 1109 0000 30B5                 push    {r4, r5, lr}
 1110                   .LCFI20:
 1111                           .cfi_def_cfa_offset 12
 1112                           .cfi_offset 4, -12
 1113                           .cfi_offset 5, -8
 1114                           .cfi_offset 14, -4
 1115 0002 83B0                 sub     sp, sp, #12
 1116                   .LCFI21:
 1117                           .cfi_def_cfa_offset 24
 1118 0004 0446                 mov     r4, r0
 1119 0006 0D46                 mov     r5, r1
 291:../libBMP280/src/bmp280.c ****     uint8_t temp[2] = { 0, 0 };
 1120                           .loc 1 291 5 is_stmt 1 view .LVU336
 292:../libBMP280/src/bmp280.c **** 
 1121                           .loc 1 292 5 view .LVU337
 292:../libBMP280/src/bmp280.c **** 
 1122                           .loc 1 292 13 is_stmt 0 view .LVU338
 1123 0008 0023                 movs    r3, #0
 1124 000a 8DF80430             strb    r3, [sp, #4]
 1125 000e 8DF80530             strb    r3, [sp, #5]
 294:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (conf != NULL))
 1126                           .loc 1 294 5 is_stmt 1 view .LVU339
 294:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (conf != NULL))
 1127                           .loc 1 294 12 is_stmt 0 view .LVU340
 1128 0012 0846                 mov     r0, r1
 1129                   .LVL99:
 294:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (conf != NULL))
 1130                           .loc 1 294 12 view .LVU341
 1131 0014 FFF7FEFF             bl      null_ptr_check
 1132                   .LVL100:
 295:../libBMP280/src/bmp280.c ****     {
 1133                           .loc 1 295 5 is_stmt 1 view .LVU342
 295:../libBMP280/src/bmp280.c ****     {
 1134                           .loc 1 295 8 is_stmt 0 view .LVU343
 1135 0018 08BB                 cbnz    r0, .L76
 295:../libBMP280/src/bmp280.c ****     {
 1136                           .loc 1 295 29 discriminator 1 view .LVU344
 1137 001a 1CB3                 cbz     r4, .L77
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 40


 297:../libBMP280/src/bmp280.c ****         if (rslt == BMP280_OK)
 1138                           .loc 1 297 9 is_stmt 1 view .LVU345
 297:../libBMP280/src/bmp280.c ****         if (rslt == BMP280_OK)
 1139                           .loc 1 297 16 is_stmt 0 view .LVU346
 1140 001c 2B46                 mov     r3, r5
 1141 001e 0222                 movs    r2, #2
 1142 0020 01A9                 add     r1, sp, #4
 1143 0022 F420                 movs    r0, #244
 1144                   .LVL101:
 297:../libBMP280/src/bmp280.c ****         if (rslt == BMP280_OK)
 1145                           .loc 1 297 16 view .LVU347
 1146 0024 FFF7FEFF             bl      bmp280_get_regs
 1147                   .LVL102:
 298:../libBMP280/src/bmp280.c ****         {
 1148                           .loc 1 298 9 is_stmt 1 view .LVU348
 298:../libBMP280/src/bmp280.c ****         {
 1149                           .loc 1 298 12 is_stmt 0 view .LVU349
 1150 0028 0246                 mov     r2, r0
 1151 002a A8B9                 cbnz    r0, .L75
 300:../libBMP280/src/bmp280.c ****             conf->os_pres = BMP280_GET_BITS(BMP280_OS_PRES, temp[0]);
 1152                           .loc 1 300 13 is_stmt 1 view .LVU350
 300:../libBMP280/src/bmp280.c ****             conf->os_pres = BMP280_GET_BITS(BMP280_OS_PRES, temp[0]);
 1153                           .loc 1 300 29 is_stmt 0 view .LVU351
 1154 002c 9DF80430             ldrb    r3, [sp, #4]    @ zero_extendqisi2
 1155 0030 5909                 lsrs    r1, r3, #5
 300:../libBMP280/src/bmp280.c ****             conf->os_pres = BMP280_GET_BITS(BMP280_OS_PRES, temp[0]);
 1156                           .loc 1 300 27 view .LVU352
 1157 0032 2170                 strb    r1, [r4]
 301:../libBMP280/src/bmp280.c ****             conf->odr = BMP280_GET_BITS(BMP280_STANDBY_DURN, temp[1]);
 1158                           .loc 1 301 13 is_stmt 1 view .LVU353
 301:../libBMP280/src/bmp280.c ****             conf->odr = BMP280_GET_BITS(BMP280_STANDBY_DURN, temp[1]);
 1159                           .loc 1 301 29 is_stmt 0 view .LVU354
 1160 0034 C3F38203             ubfx    r3, r3, #2, #3
 301:../libBMP280/src/bmp280.c ****             conf->odr = BMP280_GET_BITS(BMP280_STANDBY_DURN, temp[1]);
 1161                           .loc 1 301 27 view .LVU355
 1162 0038 6370                 strb    r3, [r4, #1]
 302:../libBMP280/src/bmp280.c ****             conf->filter = BMP280_GET_BITS(BMP280_FILTER, temp[1]);
 1163                           .loc 1 302 13 is_stmt 1 view .LVU356
 302:../libBMP280/src/bmp280.c ****             conf->filter = BMP280_GET_BITS(BMP280_FILTER, temp[1]);
 1164                           .loc 1 302 25 is_stmt 0 view .LVU357
 1165 003a 9DF80530             ldrb    r3, [sp, #5]    @ zero_extendqisi2
 1166 003e 5909                 lsrs    r1, r3, #5
 302:../libBMP280/src/bmp280.c ****             conf->filter = BMP280_GET_BITS(BMP280_FILTER, temp[1]);
 1167                           .loc 1 302 23 view .LVU358
 1168 0040 A170                 strb    r1, [r4, #2]
 303:../libBMP280/src/bmp280.c ****             conf->spi3w_en = BMP280_GET_BITS_POS_0(BMP280_SPI3_ENABLE, temp[1]);
 1169                           .loc 1 303 13 is_stmt 1 view .LVU359
 303:../libBMP280/src/bmp280.c ****             conf->spi3w_en = BMP280_GET_BITS_POS_0(BMP280_SPI3_ENABLE, temp[1]);
 1170                           .loc 1 303 28 is_stmt 0 view .LVU360
 1171 0042 C3F38201             ubfx    r1, r3, #2, #3
 303:../libBMP280/src/bmp280.c ****             conf->spi3w_en = BMP280_GET_BITS_POS_0(BMP280_SPI3_ENABLE, temp[1]);
 1172                           .loc 1 303 26 view .LVU361
 1173 0046 E170                 strb    r1, [r4, #3]
 304:../libBMP280/src/bmp280.c ****             dev->conf = *conf;
 1174                           .loc 1 304 13 is_stmt 1 view .LVU362
 304:../libBMP280/src/bmp280.c ****             dev->conf = *conf;
 1175                           .loc 1 304 30 is_stmt 0 view .LVU363
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 41


 1176 0048 03F00103             and     r3, r3, #1
 304:../libBMP280/src/bmp280.c ****             dev->conf = *conf;
 1177                           .loc 1 304 28 view .LVU364
 1178 004c 2371                 strb    r3, [r4, #4]
 305:../libBMP280/src/bmp280.c ****         }
 1179                           .loc 1 305 13 is_stmt 1 view .LVU365
 305:../libBMP280/src/bmp280.c ****         }
 1180                           .loc 1 305 23 is_stmt 0 view .LVU366
 1181 004e 2068                 ldr     r0, [r4]        @ unaligned
 1182                   .LVL103:
 305:../libBMP280/src/bmp280.c ****         }
 1183                           .loc 1 305 23 view .LVU367
 1184 0050 E862                 str     r0, [r5, #44]
 1185 0052 2379                 ldrb    r3, [r4, #4]    @ zero_extendqisi2
 1186 0054 85F83030             strb    r3, [r5, #48]
 1187                   .L75:
 1188                   .LVL104:
 313:../libBMP280/src/bmp280.c **** }
 1189                           .loc 1 313 5 is_stmt 1 view .LVU368
 314:../libBMP280/src/bmp280.c **** 
 1190                           .loc 1 314 1 is_stmt 0 view .LVU369
 1191 0058 1046                 mov     r0, r2
 1192 005a 03B0                 add     sp, sp, #12
 1193                   .LCFI22:
 1194                           .cfi_remember_state
 1195                           .cfi_def_cfa_offset 12
 1196                           @ sp needed
 1197 005c 30BD                 pop     {r4, r5, pc}
 1198                   .LVL105:
 1199                   .L76:
 1200                   .LCFI23:
 1201                           .cfi_restore_state
 310:../libBMP280/src/bmp280.c ****     }
 1202                           .loc 1 310 14 view .LVU370
 1203 005e 4FF0FF32             mov     r2, #-1
 1204 0062 F9E7                 b       .L75
 1205                   .L77:
 1206 0064 4FF0FF32             mov     r2, #-1
 1207 0068 F6E7                 b       .L75
 1208                           .cfi_endproc
 1209                   .LFE4:
 1211                           .section        .text.bmp280_set_config,"ax",%progbits
 1212                           .align  1
 1213                           .global bmp280_set_config
 1214                           .syntax unified
 1215                           .thumb
 1216                           .thumb_func
 1217                           .fpu softvfp
 1219                   bmp280_set_config:
 1220                   .LVL106:
 1221                   .LFB5:
 322:../libBMP280/src/bmp280.c ****     return conf_sensor(BMP280_SLEEP_MODE, conf, dev);
 1222                           .loc 1 322 1 is_stmt 1 view -0
 1223                           .cfi_startproc
 1224                           @ args = 0, pretend = 0, frame = 0
 1225                           @ frame_needed = 0, uses_anonymous_args = 0
 322:../libBMP280/src/bmp280.c ****     return conf_sensor(BMP280_SLEEP_MODE, conf, dev);
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 42


 1226                           .loc 1 322 1 is_stmt 0 view .LVU372
 1227 0000 08B5                 push    {r3, lr}
 1228                   .LCFI24:
 1229                           .cfi_def_cfa_offset 8
 1230                           .cfi_offset 3, -8
 1231                           .cfi_offset 14, -4
 323:../libBMP280/src/bmp280.c **** }
 1232                           .loc 1 323 5 is_stmt 1 view .LVU373
 323:../libBMP280/src/bmp280.c **** }
 1233                           .loc 1 323 12 is_stmt 0 view .LVU374
 1234 0002 0A46                 mov     r2, r1
 1235 0004 0146                 mov     r1, r0
 1236                   .LVL107:
 323:../libBMP280/src/bmp280.c **** }
 1237                           .loc 1 323 12 view .LVU375
 1238 0006 0020                 movs    r0, #0
 1239                   .LVL108:
 323:../libBMP280/src/bmp280.c **** }
 1240                           .loc 1 323 12 view .LVU376
 1241 0008 FFF7FEFF             bl      conf_sensor
 1242                   .LVL109:
 324:../libBMP280/src/bmp280.c **** 
 1243                           .loc 1 324 1 view .LVU377
 1244 000c 08BD                 pop     {r3, pc}
 1245                           .cfi_endproc
 1246                   .LFE5:
 1248                           .section        .text.bmp280_get_status,"ax",%progbits
 1249                           .align  1
 1250                           .global bmp280_get_status
 1251                           .syntax unified
 1252                           .thumb
 1253                           .thumb_func
 1254                           .fpu softvfp
 1256                   bmp280_get_status:
 1257                   .LVL110:
 1258                   .LFB6:
 330:../libBMP280/src/bmp280.c ****     int8_t rslt;
 1259                           .loc 1 330 1 is_stmt 1 view -0
 1260                           .cfi_startproc
 1261                           @ args = 0, pretend = 0, frame = 8
 1262                           @ frame_needed = 0, uses_anonymous_args = 0
 330:../libBMP280/src/bmp280.c ****     int8_t rslt;
 1263                           .loc 1 330 1 is_stmt 0 view .LVU379
 1264 0000 30B5                 push    {r4, r5, lr}
 1265                   .LCFI25:
 1266                           .cfi_def_cfa_offset 12
 1267                           .cfi_offset 4, -12
 1268                           .cfi_offset 5, -8
 1269                           .cfi_offset 14, -4
 1270 0002 83B0                 sub     sp, sp, #12
 1271                   .LCFI26:
 1272                           .cfi_def_cfa_offset 24
 1273 0004 0446                 mov     r4, r0
 1274 0006 0D46                 mov     r5, r1
 331:../libBMP280/src/bmp280.c ****     uint8_t temp;
 1275                           .loc 1 331 5 is_stmt 1 view .LVU380
 332:../libBMP280/src/bmp280.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 43


 1276                           .loc 1 332 5 view .LVU381
 334:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (status != NULL))
 1277                           .loc 1 334 5 view .LVU382
 334:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (status != NULL))
 1278                           .loc 1 334 12 is_stmt 0 view .LVU383
 1279 0008 0846                 mov     r0, r1
 1280                   .LVL111:
 334:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (status != NULL))
 1281                           .loc 1 334 12 view .LVU384
 1282 000a FFF7FEFF             bl      null_ptr_check
 1283                   .LVL112:
 335:../libBMP280/src/bmp280.c ****     {
 1284                           .loc 1 335 5 is_stmt 1 view .LVU385
 335:../libBMP280/src/bmp280.c ****     {
 1285                           .loc 1 335 8 is_stmt 0 view .LVU386
 1286 000e 88B9                 cbnz    r0, .L83
 335:../libBMP280/src/bmp280.c ****     {
 1287                           .loc 1 335 29 discriminator 1 view .LVU387
 1288 0010 9CB1                 cbz     r4, .L84
 337:../libBMP280/src/bmp280.c ****         status->measuring = BMP280_GET_BITS(BMP280_STATUS_MEAS, temp);
 1289                           .loc 1 337 9 is_stmt 1 view .LVU388
 337:../libBMP280/src/bmp280.c ****         status->measuring = BMP280_GET_BITS(BMP280_STATUS_MEAS, temp);
 1290                           .loc 1 337 16 is_stmt 0 view .LVU389
 1291 0012 2B46                 mov     r3, r5
 1292 0014 0122                 movs    r2, #1
 1293 0016 0DF10701             add     r1, sp, #7
 1294 001a F320                 movs    r0, #243
 1295                   .LVL113:
 337:../libBMP280/src/bmp280.c ****         status->measuring = BMP280_GET_BITS(BMP280_STATUS_MEAS, temp);
 1296                           .loc 1 337 16 view .LVU390
 1297 001c FFF7FEFF             bl      bmp280_get_regs
 1298                   .LVL114:
 338:../libBMP280/src/bmp280.c ****         status->im_update = BMP280_GET_BITS_POS_0(BMP280_STATUS_IM_UPDATE, temp);
 1299                           .loc 1 338 9 is_stmt 1 view .LVU391
 338:../libBMP280/src/bmp280.c ****         status->im_update = BMP280_GET_BITS_POS_0(BMP280_STATUS_IM_UPDATE, temp);
 1300                           .loc 1 338 29 is_stmt 0 view .LVU392
 1301 0020 9DF80730             ldrb    r3, [sp, #7]    @ zero_extendqisi2
 1302 0024 C3F3C002             ubfx    r2, r3, #3, #1
 338:../libBMP280/src/bmp280.c ****         status->im_update = BMP280_GET_BITS_POS_0(BMP280_STATUS_IM_UPDATE, temp);
 1303                           .loc 1 338 27 view .LVU393
 1304 0028 2270                 strb    r2, [r4]
 339:../libBMP280/src/bmp280.c ****     }
 1305                           .loc 1 339 9 is_stmt 1 view .LVU394
 339:../libBMP280/src/bmp280.c ****     }
 1306                           .loc 1 339 29 is_stmt 0 view .LVU395
 1307 002a 03F00103             and     r3, r3, #1
 339:../libBMP280/src/bmp280.c ****     }
 1308                           .loc 1 339 27 view .LVU396
 1309 002e 6370                 strb    r3, [r4, #1]
 1310                   .LVL115:
 1311                   .L82:
 346:../libBMP280/src/bmp280.c **** }
 1312                           .loc 1 346 5 is_stmt 1 view .LVU397
 347:../libBMP280/src/bmp280.c **** 
 1313                           .loc 1 347 1 is_stmt 0 view .LVU398
 1314 0030 03B0                 add     sp, sp, #12
 1315                   .LCFI27:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 44


 1316                           .cfi_remember_state
 1317                           .cfi_def_cfa_offset 12
 1318                           @ sp needed
 1319 0032 30BD                 pop     {r4, r5, pc}
 1320                   .LVL116:
 1321                   .L83:
 1322                   .LCFI28:
 1323                           .cfi_restore_state
 343:../libBMP280/src/bmp280.c ****     }
 1324                           .loc 1 343 14 view .LVU399
 1325 0034 4FF0FF30             mov     r0, #-1
 1326                   .LVL117:
 343:../libBMP280/src/bmp280.c ****     }
 1327                           .loc 1 343 14 view .LVU400
 1328 0038 FAE7                 b       .L82
 1329                   .LVL118:
 1330                   .L84:
 343:../libBMP280/src/bmp280.c ****     }
 1331                           .loc 1 343 14 view .LVU401
 1332 003a 4FF0FF30             mov     r0, #-1
 1333                   .LVL119:
 343:../libBMP280/src/bmp280.c ****     }
 1334                           .loc 1 343 14 view .LVU402
 1335 003e F7E7                 b       .L82
 1336                           .cfi_endproc
 1337                   .LFE6:
 1339                           .section        .text.bmp280_get_power_mode,"ax",%progbits
 1340                           .align  1
 1341                           .global bmp280_get_power_mode
 1342                           .syntax unified
 1343                           .thumb
 1344                           .thumb_func
 1345                           .fpu softvfp
 1347                   bmp280_get_power_mode:
 1348                   .LVL120:
 1349                   .LFB7:
 353:../libBMP280/src/bmp280.c ****     int8_t rslt;
 1350                           .loc 1 353 1 is_stmt 1 view -0
 1351                           .cfi_startproc
 1352                           @ args = 0, pretend = 0, frame = 8
 1353                           @ frame_needed = 0, uses_anonymous_args = 0
 353:../libBMP280/src/bmp280.c ****     int8_t rslt;
 1354                           .loc 1 353 1 is_stmt 0 view .LVU404
 1355 0000 30B5                 push    {r4, r5, lr}
 1356                   .LCFI29:
 1357                           .cfi_def_cfa_offset 12
 1358                           .cfi_offset 4, -12
 1359                           .cfi_offset 5, -8
 1360                           .cfi_offset 14, -4
 1361 0002 83B0                 sub     sp, sp, #12
 1362                   .LCFI30:
 1363                           .cfi_def_cfa_offset 24
 1364 0004 0546                 mov     r5, r0
 1365 0006 0C46                 mov     r4, r1
 354:../libBMP280/src/bmp280.c ****     uint8_t temp;
 1366                           .loc 1 354 5 is_stmt 1 view .LVU405
 355:../libBMP280/src/bmp280.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 45


 1367                           .loc 1 355 5 view .LVU406
 357:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (mode != NULL))
 1368                           .loc 1 357 5 view .LVU407
 357:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (mode != NULL))
 1369                           .loc 1 357 12 is_stmt 0 view .LVU408
 1370 0008 0846                 mov     r0, r1
 1371                   .LVL121:
 357:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (mode != NULL))
 1372                           .loc 1 357 12 view .LVU409
 1373 000a FFF7FEFF             bl      null_ptr_check
 1374                   .LVL122:
 358:../libBMP280/src/bmp280.c ****     {
 1375                           .loc 1 358 5 is_stmt 1 view .LVU410
 358:../libBMP280/src/bmp280.c ****     {
 1376                           .loc 1 358 8 is_stmt 0 view .LVU411
 1377 000e 70B9                 cbnz    r0, .L88
 358:../libBMP280/src/bmp280.c ****     {
 1378                           .loc 1 358 29 discriminator 1 view .LVU412
 1379 0010 85B1                 cbz     r5, .L89
 360:../libBMP280/src/bmp280.c ****         *mode = BMP280_GET_BITS_POS_0(BMP280_POWER_MODE, temp);
 1380                           .loc 1 360 9 is_stmt 1 view .LVU413
 360:../libBMP280/src/bmp280.c ****         *mode = BMP280_GET_BITS_POS_0(BMP280_POWER_MODE, temp);
 1381                           .loc 1 360 16 is_stmt 0 view .LVU414
 1382 0012 2346                 mov     r3, r4
 1383 0014 0122                 movs    r2, #1
 1384 0016 0DF10701             add     r1, sp, #7
 1385 001a F420                 movs    r0, #244
 1386                   .LVL123:
 360:../libBMP280/src/bmp280.c ****         *mode = BMP280_GET_BITS_POS_0(BMP280_POWER_MODE, temp);
 1387                           .loc 1 360 16 view .LVU415
 1388 001c FFF7FEFF             bl      bmp280_get_regs
 1389                   .LVL124:
 361:../libBMP280/src/bmp280.c ****     }
 1390                           .loc 1 361 9 is_stmt 1 view .LVU416
 361:../libBMP280/src/bmp280.c ****     }
 1391                           .loc 1 361 17 is_stmt 0 view .LVU417
 1392 0020 9DF80730             ldrb    r3, [sp, #7]    @ zero_extendqisi2
 1393 0024 03F00303             and     r3, r3, #3
 361:../libBMP280/src/bmp280.c ****     }
 1394                           .loc 1 361 15 view .LVU418
 1395 0028 2B70                 strb    r3, [r5]
 1396                   .LVL125:
 1397                   .L87:
 368:../libBMP280/src/bmp280.c **** }
 1398                           .loc 1 368 5 is_stmt 1 view .LVU419
 369:../libBMP280/src/bmp280.c **** 
 1399                           .loc 1 369 1 is_stmt 0 view .LVU420
 1400 002a 03B0                 add     sp, sp, #12
 1401                   .LCFI31:
 1402                           .cfi_remember_state
 1403                           .cfi_def_cfa_offset 12
 1404                           @ sp needed
 1405 002c 30BD                 pop     {r4, r5, pc}
 1406                   .LVL126:
 1407                   .L88:
 1408                   .LCFI32:
 1409                           .cfi_restore_state
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 46


 365:../libBMP280/src/bmp280.c ****     }
 1410                           .loc 1 365 14 view .LVU421
 1411 002e 4FF0FF30             mov     r0, #-1
 1412                   .LVL127:
 365:../libBMP280/src/bmp280.c ****     }
 1413                           .loc 1 365 14 view .LVU422
 1414 0032 FAE7                 b       .L87
 1415                   .LVL128:
 1416                   .L89:
 365:../libBMP280/src/bmp280.c ****     }
 1417                           .loc 1 365 14 view .LVU423
 1418 0034 4FF0FF30             mov     r0, #-1
 1419                   .LVL129:
 365:../libBMP280/src/bmp280.c ****     }
 1420                           .loc 1 365 14 view .LVU424
 1421 0038 F7E7                 b       .L87
 1422                           .cfi_endproc
 1423                   .LFE7:
 1425                           .section        .text.bmp280_set_power_mode,"ax",%progbits
 1426                           .align  1
 1427                           .global bmp280_set_power_mode
 1428                           .syntax unified
 1429                           .thumb
 1430                           .thumb_func
 1431                           .fpu softvfp
 1433                   bmp280_set_power_mode:
 1434                   .LVL130:
 1435                   .LFB8:
 375:../libBMP280/src/bmp280.c ****     int8_t rslt;
 1436                           .loc 1 375 1 is_stmt 1 view -0
 1437                           .cfi_startproc
 1438                           @ args = 0, pretend = 0, frame = 0
 1439                           @ frame_needed = 0, uses_anonymous_args = 0
 375:../libBMP280/src/bmp280.c ****     int8_t rslt;
 1440                           .loc 1 375 1 is_stmt 0 view .LVU426
 1441 0000 38B5                 push    {r3, r4, r5, lr}
 1442                   .LCFI33:
 1443                           .cfi_def_cfa_offset 16
 1444                           .cfi_offset 3, -16
 1445                           .cfi_offset 4, -12
 1446                           .cfi_offset 5, -8
 1447                           .cfi_offset 14, -4
 1448 0002 0546                 mov     r5, r0
 1449 0004 0C46                 mov     r4, r1
 376:../libBMP280/src/bmp280.c **** 
 1450                           .loc 1 376 5 is_stmt 1 view .LVU427
 378:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
 1451                           .loc 1 378 5 view .LVU428
 378:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
 1452                           .loc 1 378 12 is_stmt 0 view .LVU429
 1453 0006 0846                 mov     r0, r1
 1454                   .LVL131:
 378:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
 1455                           .loc 1 378 12 view .LVU430
 1456 0008 FFF7FEFF             bl      null_ptr_check
 1457                   .LVL132:
 379:../libBMP280/src/bmp280.c ****     {
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 47


 1458                           .loc 1 379 5 is_stmt 1 view .LVU431
 379:../libBMP280/src/bmp280.c ****     {
 1459                           .loc 1 379 8 is_stmt 0 view .LVU432
 1460 000c 0346                 mov     r3, r0
 1461 000e 08B1                 cbz     r0, .L94
 1462                   .LVL133:
 1463                   .L92:
 384:../libBMP280/src/bmp280.c **** }
 1464                           .loc 1 384 5 is_stmt 1 view .LVU433
 385:../libBMP280/src/bmp280.c **** 
 1465                           .loc 1 385 1 is_stmt 0 view .LVU434
 1466 0010 1846                 mov     r0, r3
 1467 0012 38BD                 pop     {r3, r4, r5, pc}
 1468                   .LVL134:
 1469                   .L94:
 381:../libBMP280/src/bmp280.c ****     }
 1470                           .loc 1 381 9 is_stmt 1 view .LVU435
 381:../libBMP280/src/bmp280.c ****     }
 1471                           .loc 1 381 16 is_stmt 0 view .LVU436
 1472 0014 2246                 mov     r2, r4
 1473 0016 04F12C01             add     r1, r4, #44
 1474 001a 2846                 mov     r0, r5
 1475                   .LVL135:
 381:../libBMP280/src/bmp280.c ****     }
 1476                           .loc 1 381 16 view .LVU437
 1477 001c FFF7FEFF             bl      conf_sensor
 1478                   .LVL136:
 1479 0020 0346                 mov     r3, r0
 1480                   .LVL137:
 381:../libBMP280/src/bmp280.c ****     }
 1481                           .loc 1 381 16 view .LVU438
 1482 0022 F5E7                 b       .L92
 1483                           .cfi_endproc
 1484                   .LFE8:
 1486                           .section        .text.bmp280_get_uncomp_data,"ax",%progbits
 1487                           .align  1
 1488                           .global bmp280_get_uncomp_data
 1489                           .syntax unified
 1490                           .thumb
 1491                           .thumb_func
 1492                           .fpu softvfp
 1494                   bmp280_get_uncomp_data:
 1495                   .LVL138:
 1496                   .LFB9:
 392:../libBMP280/src/bmp280.c ****     int8_t rslt;
 1497                           .loc 1 392 1 is_stmt 1 view -0
 1498                           .cfi_startproc
 1499                           @ args = 0, pretend = 0, frame = 8
 1500                           @ frame_needed = 0, uses_anonymous_args = 0
 392:../libBMP280/src/bmp280.c ****     int8_t rslt;
 1501                           .loc 1 392 1 is_stmt 0 view .LVU440
 1502 0000 30B5                 push    {r4, r5, lr}
 1503                   .LCFI34:
 1504                           .cfi_def_cfa_offset 12
 1505                           .cfi_offset 4, -12
 1506                           .cfi_offset 5, -8
 1507                           .cfi_offset 14, -4
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 48


 1508 0002 83B0                 sub     sp, sp, #12
 1509                   .LCFI35:
 1510                           .cfi_def_cfa_offset 24
 1511 0004 0446                 mov     r4, r0
 1512 0006 0D46                 mov     r5, r1
 393:../libBMP280/src/bmp280.c ****     uint8_t temp[6] = { 0 };
 1513                           .loc 1 393 5 is_stmt 1 view .LVU441
 394:../libBMP280/src/bmp280.c **** 
 1514                           .loc 1 394 5 view .LVU442
 394:../libBMP280/src/bmp280.c **** 
 1515                           .loc 1 394 13 is_stmt 0 view .LVU443
 1516 0008 0023                 movs    r3, #0
 1517 000a 0093                 str     r3, [sp]
 1518 000c ADF80430             strh    r3, [sp, #4]    @ movhi
 396:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (uncomp_data != NULL))
 1519                           .loc 1 396 5 is_stmt 1 view .LVU444
 396:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (uncomp_data != NULL))
 1520                           .loc 1 396 12 is_stmt 0 view .LVU445
 1521 0010 0846                 mov     r0, r1
 1522                   .LVL139:
 396:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (uncomp_data != NULL))
 1523                           .loc 1 396 12 view .LVU446
 1524 0012 FFF7FEFF             bl      null_ptr_check
 1525                   .LVL140:
 397:../libBMP280/src/bmp280.c ****     {
 1526                           .loc 1 397 5 is_stmt 1 view .LVU447
 397:../libBMP280/src/bmp280.c ****     {
 1527                           .loc 1 397 8 is_stmt 0 view .LVU448
 1528 0016 18BB                 cbnz    r0, .L97
 397:../libBMP280/src/bmp280.c ****     {
 1529                           .loc 1 397 29 discriminator 1 view .LVU449
 1530 0018 2CB3                 cbz     r4, .L98
 399:../libBMP280/src/bmp280.c ****         if (rslt == BMP280_OK)
 1531                           .loc 1 399 9 is_stmt 1 view .LVU450
 399:../libBMP280/src/bmp280.c ****         if (rslt == BMP280_OK)
 1532                           .loc 1 399 16 is_stmt 0 view .LVU451
 1533 001a 2B46                 mov     r3, r5
 1534 001c 0622                 movs    r2, #6
 1535 001e 6946                 mov     r1, sp
 1536 0020 F720                 movs    r0, #247
 1537                   .LVL141:
 399:../libBMP280/src/bmp280.c ****         if (rslt == BMP280_OK)
 1538                           .loc 1 399 16 view .LVU452
 1539 0022 FFF7FEFF             bl      bmp280_get_regs
 1540                   .LVL142:
 400:../libBMP280/src/bmp280.c ****         {
 1541                           .loc 1 400 9 is_stmt 1 view .LVU453
 400:../libBMP280/src/bmp280.c ****         {
 1542                           .loc 1 400 12 is_stmt 0 view .LVU454
 1543 0026 08BB                 cbnz    r0, .L99
 402:../libBMP280/src/bmp280.c ****                 (int32_t) ((((uint32_t) (temp[0])) << 12) | (((uint32_t) (temp[1])) << 4) | ((uint3
 1544                           .loc 1 402 13 is_stmt 1 view .LVU455
 403:../libBMP280/src/bmp280.c ****             uncomp_data->uncomp_temp =
 1545                           .loc 1 403 46 is_stmt 0 view .LVU456
 1546 0028 9DF80030             ldrb    r3, [sp]        @ zero_extendqisi2
 403:../libBMP280/src/bmp280.c ****             uncomp_data->uncomp_temp =
 1547                           .loc 1 403 79 view .LVU457
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 49


 1548 002c 9DF80110             ldrb    r1, [sp, #1]    @ zero_extendqisi2
 403:../libBMP280/src/bmp280.c ****             uncomp_data->uncomp_temp =
 1549                           .loc 1 403 85 view .LVU458
 1550 0030 0901                 lsls    r1, r1, #4
 403:../libBMP280/src/bmp280.c ****             uncomp_data->uncomp_temp =
 1551                           .loc 1 403 59 view .LVU459
 1552 0032 41EA0331             orr     r1, r1, r3, lsl #12
 403:../libBMP280/src/bmp280.c ****             uncomp_data->uncomp_temp =
 1553                           .loc 1 403 109 view .LVU460
 1554 0036 9DF80230             ldrb    r3, [sp, #2]    @ zero_extendqisi2
 403:../libBMP280/src/bmp280.c ****             uncomp_data->uncomp_temp =
 1555                           .loc 1 403 91 view .LVU461
 1556 003a 41EA1311             orr     r1, r1, r3, lsr #4
 402:../libBMP280/src/bmp280.c ****                 (int32_t) ((((uint32_t) (temp[0])) << 12) | (((uint32_t) (temp[1])) << 4) | ((uint3
 1557                           .loc 1 402 39 view .LVU462
 1558 003e 6160                 str     r1, [r4, #4]
 404:../libBMP280/src/bmp280.c ****                 (int32_t) ((((int32_t) (temp[3])) << 12) | (((int32_t) (temp[4])) << 4) | (((int32_
 1559                           .loc 1 404 13 is_stmt 1 view .LVU463
 405:../libBMP280/src/bmp280.c ****             rslt = st_check_boundaries((int32_t)uncomp_data->uncomp_temp, (int32_t)uncomp_data->unc
 1560                           .loc 1 405 45 is_stmt 0 view .LVU464
 1561 0040 9DF80330             ldrb    r3, [sp, #3]    @ zero_extendqisi2
 405:../libBMP280/src/bmp280.c ****             rslt = st_check_boundaries((int32_t)uncomp_data->uncomp_temp, (int32_t)uncomp_data->unc
 1562                           .loc 1 405 77 view .LVU465
 1563 0044 9DF80400             ldrb    r0, [sp, #4]    @ zero_extendqisi2
 1564                   .LVL143:
 405:../libBMP280/src/bmp280.c ****             rslt = st_check_boundaries((int32_t)uncomp_data->uncomp_temp, (int32_t)uncomp_data->unc
 1565                           .loc 1 405 83 view .LVU466
 1566 0048 0001                 lsls    r0, r0, #4
 405:../libBMP280/src/bmp280.c ****             rslt = st_check_boundaries((int32_t)uncomp_data->uncomp_temp, (int32_t)uncomp_data->unc
 1567                           .loc 1 405 58 view .LVU467
 1568 004a 40EA0330             orr     r0, r0, r3, lsl #12
 405:../libBMP280/src/bmp280.c ****             rslt = st_check_boundaries((int32_t)uncomp_data->uncomp_temp, (int32_t)uncomp_data->unc
 1569                           .loc 1 405 108 view .LVU468
 1570 004e 9DF80530             ldrb    r3, [sp, #5]    @ zero_extendqisi2
 405:../libBMP280/src/bmp280.c ****             rslt = st_check_boundaries((int32_t)uncomp_data->uncomp_temp, (int32_t)uncomp_data->unc
 1571                           .loc 1 405 17 view .LVU469
 1572 0052 40EA1310             orr     r0, r0, r3, lsr #4
 404:../libBMP280/src/bmp280.c ****                 (int32_t) ((((int32_t) (temp[3])) << 12) | (((int32_t) (temp[4])) << 4) | (((int32_
 1573                           .loc 1 404 38 view .LVU470
 1574 0056 2060                 str     r0, [r4]
 406:../libBMP280/src/bmp280.c ****         }
 1575                           .loc 1 406 13 is_stmt 1 view .LVU471
 406:../libBMP280/src/bmp280.c ****         }
 1576                           .loc 1 406 20 is_stmt 0 view .LVU472
 1577 0058 FFF7FEFF             bl      st_check_boundaries
 1578                   .LVL144:
 1579                   .L96:
 418:../libBMP280/src/bmp280.c **** }
 1580                           .loc 1 418 5 is_stmt 1 view .LVU473
 419:../libBMP280/src/bmp280.c **** 
 1581                           .loc 1 419 1 is_stmt 0 view .LVU474
 1582 005c 03B0                 add     sp, sp, #12
 1583                   .LCFI36:
 1584                           .cfi_remember_state
 1585                           .cfi_def_cfa_offset 12
 1586                           @ sp needed
 1587 005e 30BD                 pop     {r4, r5, pc}
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 50


 1588                   .LVL145:
 1589                   .L97:
 1590                   .LCFI37:
 1591                           .cfi_restore_state
 415:../libBMP280/src/bmp280.c ****     }
 1592                           .loc 1 415 14 view .LVU475
 1593 0060 4FF0FF30             mov     r0, #-1
 1594                   .LVL146:
 415:../libBMP280/src/bmp280.c ****     }
 1595                           .loc 1 415 14 view .LVU476
 1596 0064 FAE7                 b       .L96
 1597                   .LVL147:
 1598                   .L98:
 415:../libBMP280/src/bmp280.c ****     }
 1599                           .loc 1 415 14 view .LVU477
 1600 0066 4FF0FF30             mov     r0, #-1
 1601                   .LVL148:
 415:../libBMP280/src/bmp280.c ****     }
 1602                           .loc 1 415 14 view .LVU478
 1603 006a F7E7                 b       .L96
 1604                   .LVL149:
 1605                   .L99:
 410:../libBMP280/src/bmp280.c ****         }
 1606                           .loc 1 410 18 view .LVU479
 1607 006c 6FF00C00             mvn     r0, #12
 1608                   .LVL150:
 410:../libBMP280/src/bmp280.c ****         }
 1609                           .loc 1 410 18 view .LVU480
 1610 0070 F4E7                 b       .L96
 1611                           .cfi_endproc
 1612                   .LFE9:
 1614                           .section        .text.bmp280_get_comp_temp_32bit,"ax",%progbits
 1615                           .align  1
 1616                           .global bmp280_get_comp_temp_32bit
 1617                           .syntax unified
 1618                           .thumb
 1619                           .thumb_func
 1620                           .fpu softvfp
 1622                   bmp280_get_comp_temp_32bit:
 1623                   .LVL151:
 1624                   .LFB10:
 426:../libBMP280/src/bmp280.c ****     int32_t var1, var2;
 1625                           .loc 1 426 1 is_stmt 1 view -0
 1626                           .cfi_startproc
 1627                           @ args = 0, pretend = 0, frame = 0
 1628                           @ frame_needed = 0, uses_anonymous_args = 0
 426:../libBMP280/src/bmp280.c ****     int32_t var1, var2;
 1629                           .loc 1 426 1 is_stmt 0 view .LVU482
 1630 0000 70B5                 push    {r4, r5, r6, lr}
 1631                   .LCFI38:
 1632                           .cfi_def_cfa_offset 16
 1633                           .cfi_offset 4, -16
 1634                           .cfi_offset 5, -12
 1635                           .cfi_offset 6, -8
 1636                           .cfi_offset 14, -4
 1637 0002 0446                 mov     r4, r0
 1638 0004 0E46                 mov     r6, r1
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 51


 1639 0006 1546                 mov     r5, r2
 427:../libBMP280/src/bmp280.c ****     int8_t rslt;
 1640                           .loc 1 427 5 is_stmt 1 view .LVU483
 428:../libBMP280/src/bmp280.c **** 
 1641                           .loc 1 428 5 view .LVU484
 430:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
 1642                           .loc 1 430 5 view .LVU485
 430:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
 1643                           .loc 1 430 12 is_stmt 0 view .LVU486
 1644 0008 1046                 mov     r0, r2
 1645                   .LVL152:
 430:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
 1646                           .loc 1 430 12 view .LVU487
 1647 000a FFF7FEFF             bl      null_ptr_check
 1648                   .LVL153:
 431:../libBMP280/src/bmp280.c ****     {
 1649                           .loc 1 431 5 is_stmt 1 view .LVU488
 431:../libBMP280/src/bmp280.c ****     {
 1650                           .loc 1 431 8 is_stmt 0 view .LVU489
 1651 000e D0BB                 cbnz    r0, .L102
 1652 0010 0146                 mov     r1, r0
 433:../libBMP280/src/bmp280.c ****             ((((uncomp_temp / 8) - ((int32_t) dev->calib_param.dig_t1 << 1))) * ((int32_t) dev->cal
 1653                           .loc 1 433 9 is_stmt 1 view .LVU490
 434:../libBMP280/src/bmp280.c ****             2048;
 1654                           .loc 1 434 29 is_stmt 0 view .LVU491
 1655 0012 3046                 mov     r0, r6
 1656                   .LVL154:
 434:../libBMP280/src/bmp280.c ****             2048;
 1657                           .loc 1 434 29 view .LVU492
 1658 0014 002E                 cmp     r6, #0
 1659 0016 25DB                 blt     .L111
 1660                   .L103:
 434:../libBMP280/src/bmp280.c ****             2048;
 1661                           .loc 1 434 63 view .LVU493
 1662 0018 2A8A                 ldrh    r2, [r5, #16]
 434:../libBMP280/src/bmp280.c ****             2048;
 1663                           .loc 1 434 71 view .LVU494
 1664 001a 5300                 lsls    r3, r2, #1
 434:../libBMP280/src/bmp280.c ****             2048;
 1665                           .loc 1 434 34 view .LVU495
 1666 001c C3EBE000             rsb     r0, r3, r0, asr #3
 434:../libBMP280/src/bmp280.c ****             2048;
 1667                           .loc 1 434 108 view .LVU496
 1668 0020 B5F91230             ldrsh   r3, [r5, #18]
 434:../libBMP280/src/bmp280.c ****             2048;
 1669                           .loc 1 434 79 view .LVU497
 1670 0024 03FB00F3             mul     r3, r3, r0
 433:../libBMP280/src/bmp280.c ****             ((((uncomp_temp / 8) - ((int32_t) dev->calib_param.dig_t1 << 1))) * ((int32_t) dev->cal
 1671                           .loc 1 433 14 view .LVU498
 1672 0028 002B                 cmp     r3, #0
 1673 002a 1DDB                 blt     .L112
 1674                   .L104:
 1675 002c DB12                 asrs    r3, r3, #11
 1676                   .LVL155:
 436:../libBMP280/src/bmp280.c ****             (((((uncomp_temp / 16) - ((int32_t) dev->calib_param.dig_t1)) *
 1677                           .loc 1 436 9 is_stmt 1 view .LVU499
 437:../libBMP280/src/bmp280.c ****                ((uncomp_temp / 16) - ((int32_t) dev->calib_param.dig_t1))) / 4096) *
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 52


 1678                           .loc 1 437 30 is_stmt 0 view .LVU500
 1679 002e 3046                 mov     r0, r6
 1680 0030 002E                 cmp     r6, #0
 1681 0032 1CDB                 blt     .L113
 1682                   .L105:
 437:../libBMP280/src/bmp280.c ****                ((uncomp_temp / 16) - ((int32_t) dev->calib_param.dig_t1))) / 4096) *
 1683                           .loc 1 437 36 view .LVU501
 1684 0034 C2EB2012             rsb     r2, r2, r0, asr #4
 437:../libBMP280/src/bmp280.c ****                ((uncomp_temp / 16) - ((int32_t) dev->calib_param.dig_t1))) / 4096) *
 1685                           .loc 1 437 75 view .LVU502
 1686 0038 02FB02F2             mul     r2, r2, r2
 438:../libBMP280/src/bmp280.c ****              ((int32_t) dev->calib_param.dig_t3)) /
 1687                           .loc 1 438 76 view .LVU503
 1688 003c 002A                 cmp     r2, #0
 1689 003e 19DB                 blt     .L114
 1690                   .L106:
 1691 0040 1213                 asrs    r2, r2, #12
 439:../libBMP280/src/bmp280.c ****             16384;
 1692                           .loc 1 439 41 view .LVU504
 1693 0042 B5F91400             ldrsh   r0, [r5, #20]
 438:../libBMP280/src/bmp280.c ****              ((int32_t) dev->calib_param.dig_t3)) /
 1694                           .loc 1 438 84 view .LVU505
 1695 0046 00FB02F2             mul     r2, r0, r2
 436:../libBMP280/src/bmp280.c ****             (((((uncomp_temp / 16) - ((int32_t) dev->calib_param.dig_t1)) *
 1696                           .loc 1 436 14 view .LVU506
 1697 004a 002A                 cmp     r2, #0
 1698 004c 15DB                 blt     .L115
 1699                   .L107:
 1700                   .LVL156:
 441:../libBMP280/src/bmp280.c ****         *comp_temp = (dev->calib_param.t_fine * 5 + 128) / 256;
 1701                           .loc 1 441 9 is_stmt 1 view .LVU507
 441:../libBMP280/src/bmp280.c ****         *comp_temp = (dev->calib_param.t_fine * 5 + 128) / 256;
 1702                           .loc 1 441 40 is_stmt 0 view .LVU508
 1703 004e 03EBA233             add     r3, r3, r2, asr #14
 1704                   .LVL157:
 441:../libBMP280/src/bmp280.c ****         *comp_temp = (dev->calib_param.t_fine * 5 + 128) / 256;
 1705                           .loc 1 441 33 view .LVU509
 1706 0052 AB62                 str     r3, [r5, #40]
 442:../libBMP280/src/bmp280.c ****         rslt = BMP280_OK;
 1707                           .loc 1 442 9 is_stmt 1 view .LVU510
 442:../libBMP280/src/bmp280.c ****         rslt = BMP280_OK;
 1708                           .loc 1 442 47 is_stmt 0 view .LVU511
 1709 0054 03EB8303             add     r3, r3, r3, lsl #2
 442:../libBMP280/src/bmp280.c ****         rslt = BMP280_OK;
 1710                           .loc 1 442 58 view .LVU512
 1711 0058 8033                 adds    r3, r3, #128
 1712 005a 12D4                 bmi     .L116
 1713                   .L108:
 1714 005c 1B12                 asrs    r3, r3, #8
 442:../libBMP280/src/bmp280.c ****         rslt = BMP280_OK;
 1715                           .loc 1 442 20 view .LVU513
 1716 005e 2360                 str     r3, [r4]
 443:../libBMP280/src/bmp280.c ****     }
 1717                           .loc 1 443 9 is_stmt 1 view .LVU514
 1718                   .LVL158:
 1719                   .L109:
 451:../libBMP280/src/bmp280.c **** }
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 53


 1720                           .loc 1 451 5 view .LVU515
 452:../libBMP280/src/bmp280.c **** 
 1721                           .loc 1 452 1 is_stmt 0 view .LVU516
 1722 0060 0846                 mov     r0, r1
 1723 0062 70BD                 pop     {r4, r5, r6, pc}
 1724                   .LVL159:
 1725                   .L111:
 434:../libBMP280/src/bmp280.c ****             2048;
 1726                           .loc 1 434 29 view .LVU517
 1727 0064 F01D                 adds    r0, r6, #7
 1728                   .LVL160:
 434:../libBMP280/src/bmp280.c ****             2048;
 1729                           .loc 1 434 29 view .LVU518
 1730 0066 D7E7                 b       .L103
 1731                   .L112:
 433:../libBMP280/src/bmp280.c ****             ((((uncomp_temp / 8) - ((int32_t) dev->calib_param.dig_t1 << 1))) * ((int32_t) dev->cal
 1732                           .loc 1 433 14 view .LVU519
 1733 0068 03F2FF73             addw    r3, r3, #2047
 1734 006c DEE7                 b       .L104
 1735                   .LVL161:
 1736                   .L113:
 437:../libBMP280/src/bmp280.c ****                ((uncomp_temp / 16) - ((int32_t) dev->calib_param.dig_t1))) / 4096) *
 1737                           .loc 1 437 30 view .LVU520
 1738 006e 06F10F00             add     r0, r6, #15
 1739                   .LVL162:
 437:../libBMP280/src/bmp280.c ****                ((uncomp_temp / 16) - ((int32_t) dev->calib_param.dig_t1))) / 4096) *
 1740                           .loc 1 437 30 view .LVU521
 1741 0072 DFE7                 b       .L105
 1742                   .L114:
 438:../libBMP280/src/bmp280.c ****              ((int32_t) dev->calib_param.dig_t3)) /
 1743                           .loc 1 438 76 view .LVU522
 1744 0074 02F6FF72             addw    r2, r2, #4095
 1745 0078 E2E7                 b       .L106
 1746                   .L115:
 436:../libBMP280/src/bmp280.c ****             (((((uncomp_temp / 16) - ((int32_t) dev->calib_param.dig_t1)) *
 1747                           .loc 1 436 14 view .LVU523
 1748 007a 02F57F52             add     r2, r2, #16320
 1749 007e 3F32                 adds    r2, r2, #63
 1750 0080 E5E7                 b       .L107
 1751                   .LVL163:
 1752                   .L116:
 442:../libBMP280/src/bmp280.c ****         rslt = BMP280_OK;
 1753                           .loc 1 442 58 view .LVU524
 1754 0082 FF33                 adds    r3, r3, #255
 1755 0084 EAE7                 b       .L108
 1756                   .LVL164:
 1757                   .L102:
 447:../libBMP280/src/bmp280.c ****         rslt = BMP280_E_32BIT_COMP_TEMP;
 1758                           .loc 1 447 9 is_stmt 1 view .LVU525
 447:../libBMP280/src/bmp280.c ****         rslt = BMP280_E_32BIT_COMP_TEMP;
 1759                           .loc 1 447 20 is_stmt 0 view .LVU526
 1760 0086 0023                 movs    r3, #0
 1761 0088 2360                 str     r3, [r4]
 448:../libBMP280/src/bmp280.c ****     }
 1762                           .loc 1 448 9 is_stmt 1 view .LVU527
 1763                   .LVL165:
 448:../libBMP280/src/bmp280.c ****     }
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 54


 1764                           .loc 1 448 14 is_stmt 0 view .LVU528
 1765 008a 6FF00D01             mvn     r1, #13
 1766 008e E7E7                 b       .L109
 1767                           .cfi_endproc
 1768                   .LFE10:
 1770                           .section        .text.bmp280_get_comp_pres_32bit,"ax",%progbits
 1771                           .align  1
 1772                           .global bmp280_get_comp_pres_32bit
 1773                           .syntax unified
 1774                           .thumb
 1775                           .thumb_func
 1776                           .fpu softvfp
 1778                   bmp280_get_comp_pres_32bit:
 1779                   .LVL166:
 1780                   .LFB11:
 459:../libBMP280/src/bmp280.c ****     int32_t var1, var2;
 1781                           .loc 1 459 1 is_stmt 1 view -0
 1782                           .cfi_startproc
 1783                           @ args = 0, pretend = 0, frame = 0
 1784                           @ frame_needed = 0, uses_anonymous_args = 0
 459:../libBMP280/src/bmp280.c ****     int32_t var1, var2;
 1785                           .loc 1 459 1 is_stmt 0 view .LVU530
 1786 0000 F8B5                 push    {r3, r4, r5, r6, r7, lr}
 1787                   .LCFI39:
 1788                           .cfi_def_cfa_offset 24
 1789                           .cfi_offset 3, -24
 1790                           .cfi_offset 4, -20
 1791                           .cfi_offset 5, -16
 1792                           .cfi_offset 6, -12
 1793                           .cfi_offset 7, -8
 1794                           .cfi_offset 14, -4
 1795 0002 0546                 mov     r5, r0
 1796 0004 0E46                 mov     r6, r1
 1797 0006 1446                 mov     r4, r2
 460:../libBMP280/src/bmp280.c ****     int8_t rslt;
 1798                           .loc 1 460 5 is_stmt 1 view .LVU531
 461:../libBMP280/src/bmp280.c **** 
 1799                           .loc 1 461 5 view .LVU532
 463:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
 1800                           .loc 1 463 5 view .LVU533
 463:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
 1801                           .loc 1 463 12 is_stmt 0 view .LVU534
 1802 0008 1046                 mov     r0, r2
 1803                   .LVL167:
 463:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
 1804                           .loc 1 463 12 view .LVU535
 1805 000a FFF7FEFF             bl      null_ptr_check
 1806                   .LVL168:
 464:../libBMP280/src/bmp280.c ****     {
 1807                           .loc 1 464 5 is_stmt 1 view .LVU536
 464:../libBMP280/src/bmp280.c ****     {
 1808                           .loc 1 464 8 is_stmt 0 view .LVU537
 1809 000e 0246                 mov     r2, r0
 1810 0010 0028                 cmp     r0, #0
 1811 0012 6FD1                 bne     .L118
 466:../libBMP280/src/bmp280.c ****         var2 = (((var1 / 4) * (var1 / 4)) / 2048) * ((int32_t) dev->calib_param.dig_p6);
 1812                           .loc 1 466 9 is_stmt 1 view .LVU538
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 55


 466:../libBMP280/src/bmp280.c ****         var2 = (((var1 / 4) * (var1 / 4)) / 2048) * ((int32_t) dev->calib_param.dig_p6);
 1813                           .loc 1 466 44 is_stmt 0 view .LVU539
 1814 0014 A36A                 ldr     r3, [r4, #40]
 466:../libBMP280/src/bmp280.c ****         var2 = (((var1 / 4) * (var1 / 4)) / 2048) * ((int32_t) dev->calib_param.dig_p6);
 1815                           .loc 1 466 53 view .LVU540
 1816 0016 03EBD373             add     r3, r3, r3, lsr #31
 1817 001a 5B10                 asrs    r3, r3, #1
 466:../libBMP280/src/bmp280.c ****         var2 = (((var1 / 4) * (var1 / 4)) / 2048) * ((int32_t) dev->calib_param.dig_p6);
 1818                           .loc 1 466 14 view .LVU541
 1819 001c A3F57A43             sub     r3, r3, #64000
 1820                   .LVL169:
 467:../libBMP280/src/bmp280.c ****         var2 = var2 + ((var1 * ((int32_t) dev->calib_param.dig_p5)) * 2);
 1821                           .loc 1 467 9 is_stmt 1 view .LVU542
 467:../libBMP280/src/bmp280.c ****         var2 = var2 + ((var1 * ((int32_t) dev->calib_param.dig_p5)) * 2);
 1822                           .loc 1 467 24 is_stmt 0 view .LVU543
 1823 0020 1946                 mov     r1, r3
 1824 0022 002B                 cmp     r3, #0
 1825 0024 68DB                 blt     .L134
 1826                   .L119:
 467:../libBMP280/src/bmp280.c ****         var2 = var2 + ((var1 * ((int32_t) dev->calib_param.dig_p5)) * 2);
 1827                           .loc 1 467 24 view .LVU544
 1828 0026 8910                 asrs    r1, r1, #2
 467:../libBMP280/src/bmp280.c ****         var2 = var2 + ((var1 * ((int32_t) dev->calib_param.dig_p5)) * 2);
 1829                           .loc 1 467 29 view .LVU545
 1830 0028 01FB01F1             mul     r1, r1, r1
 467:../libBMP280/src/bmp280.c ****         var2 = var2 + ((var1 * ((int32_t) dev->calib_param.dig_p5)) * 2);
 1831                           .loc 1 467 43 view .LVU546
 1832 002c 0846                 mov     r0, r1
 1833                   .LVL170:
 467:../libBMP280/src/bmp280.c ****         var2 = var2 + ((var1 * ((int32_t) dev->calib_param.dig_p5)) * 2);
 1834                           .loc 1 467 43 view .LVU547
 1835 002e 0029                 cmp     r1, #0
 1836 0030 64DB                 blt     .L135
 1837                   .L120:
 1838 0032 C012                 asrs    r0, r0, #11
 467:../libBMP280/src/bmp280.c ****         var2 = var2 + ((var1 * ((int32_t) dev->calib_param.dig_p5)) * 2);
 1839                           .loc 1 467 80 view .LVU548
 1840 0034 B4F920C0             ldrsh   ip, [r4, #32]
 1841                   .LVL171:
 468:../libBMP280/src/bmp280.c ****         var2 = (var2 / 4) + (((int32_t) dev->calib_param.dig_p4) * 65536);
 1842                           .loc 1 468 9 is_stmt 1 view .LVU549
 468:../libBMP280/src/bmp280.c ****         var2 = (var2 / 4) + (((int32_t) dev->calib_param.dig_p4) * 65536);
 1843                           .loc 1 468 59 is_stmt 0 view .LVU550
 1844 0038 B4F91E70             ldrsh   r7, [r4, #30]
 468:../libBMP280/src/bmp280.c ****         var2 = (var2 / 4) + (((int32_t) dev->calib_param.dig_p4) * 65536);
 1845                           .loc 1 468 30 view .LVU551
 1846 003c 03FB07F7             mul     r7, r3, r7
 468:../libBMP280/src/bmp280.c ****         var2 = (var2 / 4) + (((int32_t) dev->calib_param.dig_p4) * 65536);
 1847                           .loc 1 468 69 view .LVU552
 1848 0040 7F00                 lsls    r7, r7, #1
 468:../libBMP280/src/bmp280.c ****         var2 = (var2 / 4) + (((int32_t) dev->calib_param.dig_p4) * 65536);
 1849                           .loc 1 468 14 view .LVU553
 1850 0042 0CFB0077             mla     r7, ip, r0, r7
 1851                   .LVL172:
 469:../libBMP280/src/bmp280.c ****         var1 =
 1852                           .loc 1 469 9 is_stmt 1 view .LVU554
 469:../libBMP280/src/bmp280.c ****         var1 =
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 56


 1853                           .loc 1 469 22 is_stmt 0 view .LVU555
 1854 0046 002F                 cmp     r7, #0
 1855 0048 5BDB                 blt     .L136
 1856                   .L121:
 469:../libBMP280/src/bmp280.c ****         var1 =
 1857                           .loc 1 469 57 view .LVU556
 1858 004a B4F91C00             ldrsh   r0, [r4, #28]
 469:../libBMP280/src/bmp280.c ****         var1 =
 1859                           .loc 1 469 66 view .LVU557
 1860 004e 0004                 lsls    r0, r0, #16
 469:../libBMP280/src/bmp280.c ****         var1 =
 1861                           .loc 1 469 14 view .LVU558
 1862 0050 00EBA700             add     r0, r0, r7, asr #2
 1863                   .LVL173:
 470:../libBMP280/src/bmp280.c ****             (((dev->calib_param.dig_p3 * (((var1 / 4) * (var1 / 4)) / 8192)) / 8) +
 1864                           .loc 1 470 9 is_stmt 1 view .LVU559
 471:../libBMP280/src/bmp280.c ****              ((((int32_t) dev->calib_param.dig_p2) * var1) / 2)) / 262144;
 1865                           .loc 1 471 32 is_stmt 0 view .LVU560
 1866 0054 B4F91AC0             ldrsh   ip, [r4, #26]
 471:../libBMP280/src/bmp280.c ****              ((((int32_t) dev->calib_param.dig_p2) * var1) / 2)) / 262144;
 1867                           .loc 1 471 69 view .LVU561
 1868 0058 0F46                 mov     r7, r1
 1869 005a 0029                 cmp     r1, #0
 1870 005c 53DB                 blt     .L137
 1871                   .L122:
 1872 005e 7913                 asrs    r1, r7, #13
 471:../libBMP280/src/bmp280.c ****              ((((int32_t) dev->calib_param.dig_p2) * var1) / 2)) / 262144;
 1873                           .loc 1 471 40 view .LVU562
 1874 0060 01FB0CF1             mul     r1, r1, ip
 471:../libBMP280/src/bmp280.c ****              ((((int32_t) dev->calib_param.dig_p2) * var1) / 2)) / 262144;
 1875                           .loc 1 471 78 view .LVU563
 1876 0064 0029                 cmp     r1, #0
 1877 0066 52DB                 blt     .L138
 1878                   .L123:
 472:../libBMP280/src/bmp280.c ****         var1 = ((((32768 + var1)) * ((int32_t) dev->calib_param.dig_p1)) / 32768);
 1879                           .loc 1 472 43 view .LVU564
 1880 0068 B4F91870             ldrsh   r7, [r4, #24]
 472:../libBMP280/src/bmp280.c ****         var1 = ((((32768 + var1)) * ((int32_t) dev->calib_param.dig_p1)) / 32768);
 1881                           .loc 1 472 52 view .LVU565
 1882 006c 03FB07F3             mul     r3, r3, r7
 1883                   .LVL174:
 472:../libBMP280/src/bmp280.c ****         var1 = ((((32768 + var1)) * ((int32_t) dev->calib_param.dig_p1)) / 32768);
 1884                           .loc 1 472 60 view .LVU566
 1885 0070 03EBD373             add     r3, r3, r3, lsr #31
 1886 0074 5B10                 asrs    r3, r3, #1
 470:../libBMP280/src/bmp280.c ****             (((dev->calib_param.dig_p3 * (((var1 / 4) * (var1 / 4)) / 8192)) / 8) +
 1887                           .loc 1 470 14 view .LVU567
 1888 0076 13EBE103             adds    r3, r3, r1, asr #3
 1889 007a 4AD4                 bmi     .L139
 1890                   .L124:
 1891 007c 9B14                 asrs    r3, r3, #18
 1892                   .LVL175:
 473:../libBMP280/src/bmp280.c ****         *comp_pres = (uint32_t)(((int32_t)(1048576 - uncomp_pres) - (var2 / 4096)) * 3125);
 1893                           .loc 1 473 9 is_stmt 1 view .LVU568
 473:../libBMP280/src/bmp280.c ****         *comp_pres = (uint32_t)(((int32_t)(1048576 - uncomp_pres) - (var2 / 4096)) * 3125);
 1894                           .loc 1 473 26 is_stmt 0 view .LVU569
 1895 007e 03F50043             add     r3, r3, #32768
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 57


 1896                   .LVL176:
 473:../libBMP280/src/bmp280.c ****         *comp_pres = (uint32_t)(((int32_t)(1048576 - uncomp_pres) - (var2 / 4096)) * 3125);
 1897                           .loc 1 473 64 view .LVU570
 1898 0082 E18A                 ldrh    r1, [r4, #22]
 473:../libBMP280/src/bmp280.c ****         *comp_pres = (uint32_t)(((int32_t)(1048576 - uncomp_pres) - (var2 / 4096)) * 3125);
 1899                           .loc 1 473 35 view .LVU571
 1900 0084 01FB03F3             mul     r3, r1, r3
 1901                   .LVL177:
 473:../libBMP280/src/bmp280.c ****         *comp_pres = (uint32_t)(((int32_t)(1048576 - uncomp_pres) - (var2 / 4096)) * 3125);
 1902                           .loc 1 473 14 view .LVU572
 1903 0088 002B                 cmp     r3, #0
 1904 008a 47DB                 blt     .L140
 1905                   .L125:
 1906 008c DB13                 asrs    r3, r3, #15
 1907                   .LVL178:
 474:../libBMP280/src/bmp280.c **** 
 1908                           .loc 1 474 9 is_stmt 1 view .LVU573
 474:../libBMP280/src/bmp280.c **** 
 1909                           .loc 1 474 75 is_stmt 0 view .LVU574
 1910 008e 0146                 mov     r1, r0
 1911 0090 0028                 cmp     r0, #0
 1912 0092 47DB                 blt     .L141
 1913                   .L126:
 1914 0094 0913                 asrs    r1, r1, #12
 1915 0096 4942                 rsbs    r1, r1, #0
 474:../libBMP280/src/bmp280.c **** 
 1916                           .loc 1 474 67 view .LVU575
 1917 0098 891B                 subs    r1, r1, r6
 474:../libBMP280/src/bmp280.c **** 
 1918                           .loc 1 474 22 view .LVU576
 1919 009a 40F63546             movw    r6, #3125
 1920                   .LVL179:
 474:../libBMP280/src/bmp280.c **** 
 1921                           .loc 1 474 22 view .LVU577
 1922 009e 06FB01F6             mul     r6, r6, r1
 1923 00a2 06F14346             add     r6, r6, #-1023410176
 1924 00a6 06F5A006             add     r6, r6, #5242880
 474:../libBMP280/src/bmp280.c **** 
 1925                           .loc 1 474 20 view .LVU578
 1926 00aa 2E60                 str     r6, [r5]
 477:../libBMP280/src/bmp280.c ****         {
 1927                           .loc 1 477 9 is_stmt 1 view .LVU579
 477:../libBMP280/src/bmp280.c ****         {
 1928                           .loc 1 477 12 is_stmt 0 view .LVU580
 1929 00ac 002B                 cmp     r3, #0
 1930 00ae 4AD0                 beq     .L127
 480:../libBMP280/src/bmp280.c ****             {
 1931                           .loc 1 480 13 is_stmt 1 view .LVU581
 480:../libBMP280/src/bmp280.c ****             {
 1932                           .loc 1 480 16 is_stmt 0 view .LVU582
 1933 00b0 002E                 cmp     r6, #0
 1934 00b2 3ADB                 blt     .L128
 482:../libBMP280/src/bmp280.c ****             }
 1935                           .loc 1 482 17 is_stmt 1 view .LVU583
 482:../libBMP280/src/bmp280.c ****             }
 1936                           .loc 1 482 42 is_stmt 0 view .LVU584
 1937 00b4 7600                 lsls    r6, r6, #1
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 58


 482:../libBMP280/src/bmp280.c ****             }
 1938                           .loc 1 482 48 view .LVU585
 1939 00b6 B6FBF3F6             udiv    r6, r6, r3
 482:../libBMP280/src/bmp280.c ****             }
 1940                           .loc 1 482 28 view .LVU586
 1941 00ba 2E60                 str     r6, [r5]
 1942                   .L129:
 488:../libBMP280/src/bmp280.c ****                    4096;
 1943                           .loc 1 488 13 is_stmt 1 view .LVU587
 488:../libBMP280/src/bmp280.c ****                    4096;
 1944                           .loc 1 488 48 is_stmt 0 view .LVU588
 1945 00bc B4F92630             ldrsh   r3, [r4, #38]
 1946                   .LVL180:
 488:../libBMP280/src/bmp280.c ****                    4096;
 1947                           .loc 1 488 73 view .LVU589
 1948 00c0 2E68                 ldr     r6, [r5]
 488:../libBMP280/src/bmp280.c ****                    4096;
 1949                           .loc 1 488 84 view .LVU590
 1950 00c2 F108                 lsrs    r1, r6, #3
 488:../libBMP280/src/bmp280.c ****                    4096;
 1951                           .loc 1 488 89 view .LVU591
 1952 00c4 01FB01F1             mul     r1, r1, r1
 488:../libBMP280/src/bmp280.c ****                    4096;
 1953                           .loc 1 488 109 view .LVU592
 1954 00c8 490B                 lsrs    r1, r1, #13
 488:../libBMP280/src/bmp280.c ****                    4096;
 1955                           .loc 1 488 57 view .LVU593
 1956 00ca 01FB03F3             mul     r3, r1, r3
 488:../libBMP280/src/bmp280.c ****                    4096;
 1957                           .loc 1 488 18 view .LVU594
 1958 00ce 002B                 cmp     r3, #0
 1959 00d0 30DB                 blt     .L142
 1960                   .L130:
 1961 00d2 1B13                 asrs    r3, r3, #12
 1962                   .LVL181:
 490:../libBMP280/src/bmp280.c ****             *comp_pres = (uint32_t) ((int32_t) *comp_pres + ((var1 + var2 + dev->calib_param.dig_p7
 1963                           .loc 1 490 13 is_stmt 1 view .LVU595
 490:../libBMP280/src/bmp280.c ****             *comp_pres = (uint32_t) ((int32_t) *comp_pres + ((var1 + var2 + dev->calib_param.dig_p7
 1964                           .loc 1 490 44 is_stmt 0 view .LVU596
 1965 00d4 B108                 lsrs    r1, r6, #2
 490:../libBMP280/src/bmp280.c ****             *comp_pres = (uint32_t) ((int32_t) *comp_pres + ((var1 + var2 + dev->calib_param.dig_p7
 1966                           .loc 1 490 79 view .LVU597
 1967 00d6 B4F92400             ldrsh   r0, [r4, #36]
 1968                   .LVL182:
 490:../libBMP280/src/bmp280.c ****             *comp_pres = (uint32_t) ((int32_t) *comp_pres + ((var1 + var2 + dev->calib_param.dig_p7
 1969                           .loc 1 490 50 view .LVU598
 1970 00da 00FB01F1             mul     r1, r0, r1
 490:../libBMP280/src/bmp280.c ****             *comp_pres = (uint32_t) ((int32_t) *comp_pres + ((var1 + var2 + dev->calib_param.dig_p7
 1971                           .loc 1 490 18 view .LVU599
 1972 00de 0029                 cmp     r1, #0
 1973 00e0 2BDB                 blt     .L143
 1974                   .L131:
 1975                   .LVL183:
 491:../libBMP280/src/bmp280.c ****             rslt = BMP280_OK;
 1976                           .loc 1 491 13 is_stmt 1 view .LVU600
 491:../libBMP280/src/bmp280.c ****             rslt = BMP280_OK;
 1977                           .loc 1 491 68 is_stmt 0 view .LVU601
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 59


 1978 00e2 03EB6133             add     r3, r3, r1, asr #13
 1979                   .LVL184:
 491:../libBMP280/src/bmp280.c ****             rslt = BMP280_OK;
 1980                           .loc 1 491 93 view .LVU602
 1981 00e6 B4F92210             ldrsh   r1, [r4, #34]
 1982                   .LVL185:
 491:../libBMP280/src/bmp280.c ****             rslt = BMP280_OK;
 1983                           .loc 1 491 102 view .LVU603
 1984 00ea 5B18                 adds    r3, r3, r1
 1985 00ec 29D4                 bmi     .L144
 1986                   .L132:
 491:../libBMP280/src/bmp280.c ****             rslt = BMP280_OK;
 1987                           .loc 1 491 59 view .LVU604
 1988 00ee 06EB2313             add     r3, r6, r3, asr #4
 491:../libBMP280/src/bmp280.c ****             rslt = BMP280_OK;
 1989                           .loc 1 491 24 view .LVU605
 1990 00f2 2B60                 str     r3, [r5]
 492:../libBMP280/src/bmp280.c ****         }
 1991                           .loc 1 492 13 is_stmt 1 view .LVU606
 1992                   .LVL186:
 1993                   .L118:
 501:../libBMP280/src/bmp280.c **** }
 1994                           .loc 1 501 5 view .LVU607
 502:../libBMP280/src/bmp280.c **** 
 1995                           .loc 1 502 1 is_stmt 0 view .LVU608
 1996 00f4 1046                 mov     r0, r2
 1997 00f6 F8BD                 pop     {r3, r4, r5, r6, r7, pc}
 1998                   .LVL187:
 1999                   .L134:
 467:../libBMP280/src/bmp280.c ****         var2 = var2 + ((var1 * ((int32_t) dev->calib_param.dig_p5)) * 2);
 2000                           .loc 1 467 24 view .LVU609
 2001 00f8 D91C                 adds    r1, r3, #3
 2002                   .LVL188:
 467:../libBMP280/src/bmp280.c ****         var2 = var2 + ((var1 * ((int32_t) dev->calib_param.dig_p5)) * 2);
 2003                           .loc 1 467 24 view .LVU610
 2004 00fa 94E7                 b       .L119
 2005                   .LVL189:
 2006                   .L135:
 467:../libBMP280/src/bmp280.c ****         var2 = var2 + ((var1 * ((int32_t) dev->calib_param.dig_p5)) * 2);
 2007                           .loc 1 467 43 view .LVU611
 2008 00fc 01F2FF70             addw    r0, r1, #2047
 2009 0100 97E7                 b       .L120
 2010                   .L136:
 469:../libBMP280/src/bmp280.c ****         var1 =
 2011                           .loc 1 469 22 view .LVU612
 2012 0102 0337                 adds    r7, r7, #3
 2013 0104 A1E7                 b       .L121
 2014                   .LVL190:
 2015                   .L137:
 471:../libBMP280/src/bmp280.c ****              ((((int32_t) dev->calib_param.dig_p2) * var1) / 2)) / 262144;
 2016                           .loc 1 471 69 view .LVU613
 2017 0106 01F5FF57             add     r7, r1, #8160
 2018 010a 1F37                 adds    r7, r7, #31
 2019 010c A7E7                 b       .L122
 2020                   .L138:
 471:../libBMP280/src/bmp280.c ****              ((((int32_t) dev->calib_param.dig_p2) * var1) / 2)) / 262144;
 2021                           .loc 1 471 78 view .LVU614
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 60


 2022 010e 0731                 adds    r1, r1, #7
 2023 0110 AAE7                 b       .L123
 2024                   .LVL191:
 2025                   .L139:
 470:../libBMP280/src/bmp280.c ****             (((dev->calib_param.dig_p3 * (((var1 / 4) * (var1 / 4)) / 8192)) / 8) +
 2026                           .loc 1 470 14 view .LVU615
 2027 0112 03F57F33             add     r3, r3, #261120
 2028 0116 03F2FF33             addw    r3, r3, #1023
 2029 011a AFE7                 b       .L124
 2030                   .LVL192:
 2031                   .L140:
 473:../libBMP280/src/bmp280.c ****         *comp_pres = (uint32_t)(((int32_t)(1048576 - uncomp_pres) - (var2 / 4096)) * 3125);
 2032                           .loc 1 473 14 view .LVU616
 2033 011c 03F5FF43             add     r3, r3, #32640
 2034 0120 7F33                 adds    r3, r3, #127
 2035 0122 B3E7                 b       .L125
 2036                   .LVL193:
 2037                   .L141:
 474:../libBMP280/src/bmp280.c **** 
 2038                           .loc 1 474 75 view .LVU617
 2039 0124 00F6FF71             addw    r1, r0, #4095
 2040 0128 B4E7                 b       .L126
 2041                   .LVL194:
 2042                   .L128:
 486:../libBMP280/src/bmp280.c ****             }
 2043                           .loc 1 486 17 is_stmt 1 view .LVU618
 486:../libBMP280/src/bmp280.c ****             }
 2044                           .loc 1 486 42 is_stmt 0 view .LVU619
 2045 012a B6FBF3F6             udiv    r6, r6, r3
 486:../libBMP280/src/bmp280.c ****             }
 2046                           .loc 1 486 61 view .LVU620
 2047 012e 7600                 lsls    r6, r6, #1
 486:../libBMP280/src/bmp280.c ****             }
 2048                           .loc 1 486 28 view .LVU621
 2049 0130 2E60                 str     r6, [r5]
 2050 0132 C3E7                 b       .L129
 2051                   .LVL195:
 2052                   .L142:
 488:../libBMP280/src/bmp280.c ****                    4096;
 2053                           .loc 1 488 18 view .LVU622
 2054 0134 03F6FF73             addw    r3, r3, #4095
 2055 0138 CBE7                 b       .L130
 2056                   .LVL196:
 2057                   .L143:
 490:../libBMP280/src/bmp280.c ****             *comp_pres = (uint32_t) ((int32_t) *comp_pres + ((var1 + var2 + dev->calib_param.dig_p7
 2058                           .loc 1 490 18 view .LVU623
 2059 013a 01F5FF51             add     r1, r1, #8160
 2060 013e 1F31                 adds    r1, r1, #31
 2061 0140 CFE7                 b       .L131
 2062                   .LVL197:
 2063                   .L144:
 491:../libBMP280/src/bmp280.c ****             rslt = BMP280_OK;
 2064                           .loc 1 491 102 view .LVU624
 2065 0142 0F33                 adds    r3, r3, #15
 2066 0144 D3E7                 b       .L132
 2067                   .LVL198:
 2068                   .L127:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 61


 496:../libBMP280/src/bmp280.c ****             rslt = BMP280_E_32BIT_COMP_PRESS;
 2069                           .loc 1 496 13 is_stmt 1 view .LVU625
 496:../libBMP280/src/bmp280.c ****             rslt = BMP280_E_32BIT_COMP_PRESS;
 2070                           .loc 1 496 24 is_stmt 0 view .LVU626
 2071 0146 0023                 movs    r3, #0
 2072                   .LVL199:
 496:../libBMP280/src/bmp280.c ****             rslt = BMP280_E_32BIT_COMP_PRESS;
 2073                           .loc 1 496 24 view .LVU627
 2074 0148 2B60                 str     r3, [r5]
 497:../libBMP280/src/bmp280.c ****         }
 2075                           .loc 1 497 13 is_stmt 1 view .LVU628
 2076                   .LVL200:
 497:../libBMP280/src/bmp280.c ****         }
 2077                           .loc 1 497 18 is_stmt 0 view .LVU629
 2078 014a 6FF00E02             mvn     r2, #14
 2079 014e D1E7                 b       .L118
 2080                           .cfi_endproc
 2081                   .LFE11:
 2083                           .global __aeabi_ldivmod
 2084                           .section        .text.bmp280_get_comp_pres_64bit,"ax",%progbits
 2085                           .align  1
 2086                           .global bmp280_get_comp_pres_64bit
 2087                           .syntax unified
 2088                           .thumb
 2089                           .thumb_func
 2090                           .fpu softvfp
 2092                   bmp280_get_comp_pres_64bit:
 2093                   .LVL201:
 2094                   .LFB12:
 511:../libBMP280/src/bmp280.c ****     int64_t var1, var2, p;
 2095                           .loc 1 511 1 is_stmt 1 view -0
 2096                           .cfi_startproc
 2097                           @ args = 0, pretend = 0, frame = 8
 2098                           @ frame_needed = 0, uses_anonymous_args = 0
 511:../libBMP280/src/bmp280.c ****     int64_t var1, var2, p;
 2099                           .loc 1 511 1 is_stmt 0 view .LVU631
 2100 0000 2DE9F04F             push    {r4, r5, r6, r7, r8, r9, r10, fp, lr}
 2101                   .LCFI40:
 2102                           .cfi_def_cfa_offset 36
 2103                           .cfi_offset 4, -36
 2104                           .cfi_offset 5, -32
 2105                           .cfi_offset 6, -28
 2106                           .cfi_offset 7, -24
 2107                           .cfi_offset 8, -20
 2108                           .cfi_offset 9, -16
 2109                           .cfi_offset 10, -12
 2110                           .cfi_offset 11, -8
 2111                           .cfi_offset 14, -4
 2112 0004 83B0                 sub     sp, sp, #12
 2113                   .LCFI41:
 2114                           .cfi_def_cfa_offset 48
 2115 0006 0546                 mov     r5, r0
 2116 0008 8B46                 mov     fp, r1
 2117 000a 1446                 mov     r4, r2
 512:../libBMP280/src/bmp280.c ****     int8_t rslt;
 2118                           .loc 1 512 5 is_stmt 1 view .LVU632
 513:../libBMP280/src/bmp280.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 62


 2119                           .loc 1 513 5 view .LVU633
 515:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
 2120                           .loc 1 515 5 view .LVU634
 515:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
 2121                           .loc 1 515 12 is_stmt 0 view .LVU635
 2122 000c 1046                 mov     r0, r2
 2123                   .LVL202:
 515:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
 2124                           .loc 1 515 12 view .LVU636
 2125 000e FFF7FEFF             bl      null_ptr_check
 2126                   .LVL203:
 516:../libBMP280/src/bmp280.c ****     {
 2127                           .loc 1 516 5 is_stmt 1 view .LVU637
 516:../libBMP280/src/bmp280.c ****     {
 2128                           .loc 1 516 8 is_stmt 0 view .LVU638
 2129 0012 8246                 mov     r10, r0
 2130 0014 0028                 cmp     r0, #0
 2131 0016 40F0F680             bne     .L146
 518:../libBMP280/src/bmp280.c ****         var2 = var1 * var1 * (int64_t) dev->calib_param.dig_p6;
 2132                           .loc 1 518 9 is_stmt 1 view .LVU639
 518:../libBMP280/src/bmp280.c ****         var2 = var1 * var1 * (int64_t) dev->calib_param.dig_p6;
 2133                           .loc 1 518 44 is_stmt 0 view .LVU640
 2134 001a A26A                 ldr     r2, [r4, #40]
 518:../libBMP280/src/bmp280.c ****         var2 = var1 * var1 * (int64_t) dev->calib_param.dig_p6;
 2135                           .loc 1 518 17 view .LVU641
 2136 001c D317                 asrs    r3, r2, #31
 518:../libBMP280/src/bmp280.c ****         var2 = var1 * var1 * (int64_t) dev->calib_param.dig_p6;
 2137                           .loc 1 518 14 view .LVU642
 2138 001e B2F5FA3E             subs    lr, r2, #128000
 2139 0022 43F1FF3C             adc     ip, r3, #-1
 2140                   .LVL204:
 519:../libBMP280/src/bmp280.c ****         var2 = var2 + ((var1 * (int64_t) dev->calib_param.dig_p5) * 131072);
 2141                           .loc 1 519 9 is_stmt 1 view .LVU643
 519:../libBMP280/src/bmp280.c ****         var2 = var2 + ((var1 * (int64_t) dev->calib_param.dig_p5) * 131072);
 2142                           .loc 1 519 21 is_stmt 0 view .LVU644
 2143 0026 0EFB0CF1             mul     r1, lr, ip
 2144 002a AEFB0E23             umull   r2, r3, lr, lr
 2145 002e 03EB4103             add     r3, r3, r1, lsl #1
 519:../libBMP280/src/bmp280.c ****         var2 = var2 + ((var1 * (int64_t) dev->calib_param.dig_p5) * 131072);
 2146                           .loc 1 519 30 view .LVU645
 2147 0032 B4F92000             ldrsh   r0, [r4, #32]
 2148                   .LVL205:
 519:../libBMP280/src/bmp280.c ****         var2 = var2 + ((var1 * (int64_t) dev->calib_param.dig_p5) * 131072);
 2149                           .loc 1 519 30 view .LVU646
 2150 0036 C117                 asrs    r1, r0, #31
 519:../libBMP280/src/bmp280.c ****         var2 = var2 + ((var1 * (int64_t) dev->calib_param.dig_p5) * 131072);
 2151                           .loc 1 519 14 view .LVU647
 2152 0038 02FB01F6             mul     r6, r2, r1
 2153 003c 00FB0366             mla     r6, r0, r3, r6
 2154 0040 A2FB0001             umull   r0, r1, r2, r0
 2155 0044 3144                 add     r1, r1, r6
 2156                   .LVL206:
 520:../libBMP280/src/bmp280.c ****         var2 = var2 + (((int64_t) dev->calib_param.dig_p4) * 34359738368);
 2157                           .loc 1 520 9 is_stmt 1 view .LVU648
 520:../libBMP280/src/bmp280.c ****         var2 = var2 + (((int64_t) dev->calib_param.dig_p4) * 34359738368);
 2158                           .loc 1 520 32 is_stmt 0 view .LVU649
 2159 0046 B4F91E60             ldrsh   r6, [r4, #30]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 63


 2160 004a F717                 asrs    r7, r6, #31
 520:../libBMP280/src/bmp280.c ****         var2 = var2 + (((int64_t) dev->calib_param.dig_p4) * 34359738368);
 2161                           .loc 1 520 30 view .LVU650
 2162 004c 06FB0CF8             mul     r8, r6, ip
 2163 0050 0EFB0788             mla     r8, lr, r7, r8
 2164 0054 A6FB0E67             umull   r6, r7, r6, lr
 2165 0058 4744                 add     r7, r7, r8
 520:../libBMP280/src/bmp280.c ****         var2 = var2 + (((int64_t) dev->calib_param.dig_p4) * 34359738368);
 2166                           .loc 1 520 67 view .LVU651
 2167 005a 4FEA4749             lsl     r9, r7, #17
 2168 005e 49EAD639             orr     r9, r9, r6, lsr #15
 2169 0062 4FEA4648             lsl     r8, r6, #17
 520:../libBMP280/src/bmp280.c ****         var2 = var2 + (((int64_t) dev->calib_param.dig_p4) * 34359738368);
 2170                           .loc 1 520 14 view .LVU652
 2171 0066 18EB0008             adds    r8, r8, r0
 2172 006a 49EB0109             adc     r9, r9, r1
 2173                   .LVL207:
 521:../libBMP280/src/bmp280.c ****         var1 = ((var1 * var1 * (int64_t) dev->calib_param.dig_p3) / 256) +
 2174                           .loc 1 521 9 is_stmt 1 view .LVU653
 521:../libBMP280/src/bmp280.c ****         var1 = ((var1 * var1 * (int64_t) dev->calib_param.dig_p3) / 256) +
 2175                           .loc 1 521 25 is_stmt 0 view .LVU654
 2176 006e B4F91C60             ldrsh   r6, [r4, #28]
 521:../libBMP280/src/bmp280.c ****         var1 = ((var1 * var1 * (int64_t) dev->calib_param.dig_p3) / 256) +
 2177                           .loc 1 521 60 view .LVU655
 2178 0072 0020                 movs    r0, #0
 2179 0074 F100                 lsls    r1, r6, #3
 521:../libBMP280/src/bmp280.c ****         var1 = ((var1 * var1 * (int64_t) dev->calib_param.dig_p3) / 256) +
 2180                           .loc 1 521 14 view .LVU656
 2181 0076 10EB0800             adds    r0, r0, r8
 2182 007a 41EB0901             adc     r1, r1, r9
 2183                   .LVL208:
 522:../libBMP280/src/bmp280.c ****                ((var1 * (int64_t) dev->calib_param.dig_p2) * 4096);
 2184                           .loc 1 522 9 is_stmt 1 view .LVU657
 522:../libBMP280/src/bmp280.c ****                ((var1 * (int64_t) dev->calib_param.dig_p2) * 4096);
 2185                           .loc 1 522 32 is_stmt 0 view .LVU658
 2186 007e B4F91A80             ldrsh   r8, [r4, #26]
 2187 0082 4FEAE879             asr     r9, r8, #31
 522:../libBMP280/src/bmp280.c ****                ((var1 * (int64_t) dev->calib_param.dig_p2) * 4096);
 2188                           .loc 1 522 30 view .LVU659
 2189 0086 02FB09F6             mul     r6, r2, r9
 2190 008a 08FB0366             mla     r6, r8, r3, r6
 2191 008e A2FB0823             umull   r2, r3, r2, r8
 2192 0092 3344                 add     r3, r3, r6
 522:../libBMP280/src/bmp280.c ****                ((var1 * (int64_t) dev->calib_param.dig_p2) * 4096);
 2193                           .loc 1 522 67 view .LVU660
 2194 0094 1746                 mov     r7, r2
 2195 0096 1E46                 mov     r6, r3
 2196 0098 002A                 cmp     r2, #0
 2197 009a 73F10008             sbcs    r8, r3, #0
 2198 009e C0F2B680             blt     .L155
 2199                   .L147:
 2200 00a2 3F0A                 lsrs    r7, r7, #8
 2201 00a4 47EA0662             orr     r2, r7, r6, lsl #24
 2202 00a8 3312                 asrs    r3, r6, #8
 523:../libBMP280/src/bmp280.c ****         var1 = ((INT64_C(0x800000000000) + var1) * ((int64_t)dev->calib_param.dig_p1)) / 8589934592
 2203                           .loc 1 523 25 view .LVU661
 2204 00aa B4F91860             ldrsh   r6, [r4, #24]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 64


 2205 00ae F717                 asrs    r7, r6, #31
 523:../libBMP280/src/bmp280.c ****         var1 = ((INT64_C(0x800000000000) + var1) * ((int64_t)dev->calib_param.dig_p1)) / 8589934592
 2206                           .loc 1 523 23 view .LVU662
 2207 00b0 06FB0CFC             mul     ip, r6, ip
 2208                   .LVL209:
 523:../libBMP280/src/bmp280.c ****         var1 = ((INT64_C(0x800000000000) + var1) * ((int64_t)dev->calib_param.dig_p1)) / 8589934592
 2209                           .loc 1 523 23 view .LVU663
 2210 00b4 0EFB07CC             mla     ip, lr, r7, ip
 2211 00b8 A6FB0E67             umull   r6, r7, r6, lr
 2212 00bc 6744                 add     r7, r7, ip
 523:../libBMP280/src/bmp280.c ****         var1 = ((INT64_C(0x800000000000) + var1) * ((int64_t)dev->calib_param.dig_p1)) / 8589934592
 2213                           .loc 1 523 60 view .LVU664
 2214 00be 4FEA073C             lsl     ip, r7, #12
 2215 00c2 4CEA165C             orr     ip, ip, r6, lsr #20
 2216 00c6 4FEA063E             lsl     lr, r6, #12
 2217                   .LVL210:
 522:../libBMP280/src/bmp280.c ****                ((var1 * (int64_t) dev->calib_param.dig_p2) * 4096);
 2218                           .loc 1 522 14 view .LVU665
 2219 00ca 12EB0E02             adds    r2, r2, lr
 2220 00ce 43EB0C03             adc     r3, r3, ip
 2221                   .LVL211:
 524:../libBMP280/src/bmp280.c ****         if (var1 != 0)
 2222                           .loc 1 524 9 is_stmt 1 view .LVU666
 524:../libBMP280/src/bmp280.c ****         if (var1 != 0)
 2223                           .loc 1 524 42 is_stmt 0 view .LVU667
 2224 00d2 0032                 adds    r2, r2, #0
 524:../libBMP280/src/bmp280.c ****         if (var1 != 0)
 2225                           .loc 1 524 42 view .LVU668
 2226 00d4 43F5004C             adc     ip, r3, #32768
 524:../libBMP280/src/bmp280.c ****         if (var1 != 0)
 2227                           .loc 1 524 53 view .LVU669
 2228 00d8 E68A                 ldrh    r6, [r4, #22]
 524:../libBMP280/src/bmp280.c ****         if (var1 != 0)
 2229                           .loc 1 524 50 view .LVU670
 2230 00da A2FB0689             umull   r8, r9, r2, r6
 2231 00de 06FB0C99             mla     r9, r6, ip, r9
 524:../libBMP280/src/bmp280.c ****         if (var1 != 0)
 2232                           .loc 1 524 14 view .LVU671
 2233 00e2 4E46                 mov     r6, r9
 2234 00e4 B8F1000F             cmp     r8, #0
 2235 00e8 79F10003             sbcs    r3, r9, #0
 2236                   .LVL212:
 524:../libBMP280/src/bmp280.c ****         if (var1 != 0)
 2237                           .loc 1 524 14 view .LVU672
 2238 00ec C0F29480             blt     .L156
 2239                   .L148:
 524:../libBMP280/src/bmp280.c ****         if (var1 != 0)
 2240                           .loc 1 524 14 view .LVU673
 2241 00f0 7210                 asrs    r2, r6, #1
 2242 00f2 F317                 asrs    r3, r6, #31
 2243                   .LVL213:
 525:../libBMP280/src/bmp280.c ****         {
 2244                           .loc 1 525 9 is_stmt 1 view .LVU674
 525:../libBMP280/src/bmp280.c ****         {
 2245                           .loc 1 525 12 is_stmt 0 view .LVU675
 2246 00f4 52EA0306             orrs    r6, r2, r3
 2247 00f8 00F0B180             beq     .L149
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 65


 527:../libBMP280/src/bmp280.c ****             p = (((((p * 2147483648U)) - var2) * 3125) / var1);
 2248                           .loc 1 527 13 is_stmt 1 view .LVU676
 527:../libBMP280/src/bmp280.c ****             p = (((((p * 2147483648U)) - var2) * 3125) / var1);
 2249                           .loc 1 527 25 is_stmt 0 view .LVU677
 2250 00fc CBF5801B             rsb     fp, fp, #1048576
 2251                   .LVL214:
 528:../libBMP280/src/bmp280.c ****             var1 = (((int64_t) dev->calib_param.dig_p9) * (p / 8192) * (p / 8192)) / 33554432;
 2252                           .loc 1 528 13 is_stmt 1 view .LVU678
 528:../libBMP280/src/bmp280.c ****             var1 = (((int64_t) dev->calib_param.dig_p9) * (p / 8192) * (p / 8192)) / 33554432;
 2253                           .loc 1 528 24 is_stmt 0 view .LVU679
 2254 0100 4FEA5B07             lsr     r7, fp, #1
 2255 0104 4FEACB76             lsl     r6, fp, #31
 528:../libBMP280/src/bmp280.c ****             var1 = (((int64_t) dev->calib_param.dig_p9) * (p / 8192) * (p / 8192)) / 33554432;
 2256                           .loc 1 528 40 view .LVU680
 2257 0108 301A                 subs    r0, r6, r0
 2258                   .LVL215:
 528:../libBMP280/src/bmp280.c ****             var1 = (((int64_t) dev->calib_param.dig_p9) * (p / 8192) * (p / 8192)) / 33554432;
 2259                           .loc 1 528 40 view .LVU681
 2260 010a 67EB0101             sbc     r1, r7, r1
 528:../libBMP280/src/bmp280.c ****             var1 = (((int64_t) dev->calib_param.dig_p9) * (p / 8192) * (p / 8192)) / 33554432;
 2261                           .loc 1 528 48 view .LVU682
 2262 010e 0618                 adds    r6, r0, r0
 2263 0110 41EB0107             adc     r7, r1, r1
 2264 0114 3618                 adds    r6, r6, r0
 2265 0116 41EB0707             adc     r7, r1, r7
 2266 011a 4FEA871C             lsl     ip, r7, #6
 2267 011e 4CEA966C             orr     ip, ip, r6, lsr #26
 2268 0122 4FEA861E             lsl     lr, r6, #6
 2269 0126 16EB0E06             adds    r6, r6, lr
 2270 012a 47EB0C07             adc     r7, r7, ip
 2271 012e 4FEA870C             lsl     ip, r7, #2
 2272 0132 4CEA967C             orr     ip, ip, r6, lsr #30
 2273 0136 4FEA860E             lsl     lr, r6, #2
 2274 013a 6746                 mov     r7, ip
 2275 013c 1EEB0006             adds    r6, lr, r0
 2276 0140 41EB0707             adc     r7, r1, r7
 2277 0144 4FEA870C             lsl     ip, r7, #2
 2278 0148 4CEA967C             orr     ip, ip, r6, lsr #30
 2279 014c 4FEA860E             lsl     lr, r6, #2
 2280 0150 6746                 mov     r7, ip
 528:../libBMP280/src/bmp280.c ****             var1 = (((int64_t) dev->calib_param.dig_p9) * (p / 8192) * (p / 8192)) / 33554432;
 2281                           .loc 1 528 15 view .LVU683
 2282 0152 1EEB0000             adds    r0, lr, r0
 2283 0156 47EB0101             adc     r1, r7, r1
 2284 015a FFF7FEFF             bl      __aeabi_ldivmod
 2285                   .LVL216:
 529:../libBMP280/src/bmp280.c ****             var2 = (((int64_t) dev->calib_param.dig_p8) * p) / 524288;
 2286                           .loc 1 529 13 is_stmt 1 view .LVU684
 529:../libBMP280/src/bmp280.c ****             var2 = (((int64_t) dev->calib_param.dig_p8) * p) / 524288;
 2287                           .loc 1 529 22 is_stmt 0 view .LVU685
 2288 015e B4F92620             ldrsh   r2, [r4, #38]
 2289 0162 D317                 asrs    r3, r2, #31
 529:../libBMP280/src/bmp280.c ****             var2 = (((int64_t) dev->calib_param.dig_p8) * p) / 524288;
 2290                           .loc 1 529 62 view .LVU686
 2291 0164 0646                 mov     r6, r0
 2292 0166 0F46                 mov     r7, r1
 2293 0168 0028                 cmp     r0, #0
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 66


 2294 016a 71F1000C             sbcs    ip, r1, #0
 2295 016e 58DB                 blt     .L157
 2296                   .L150:
 2297 0170 760B                 lsrs    r6, r6, #13
 2298 0172 46EAC746             orr     r6, r6, r7, lsl #19
 2299 0176 7F13                 asrs    r7, r7, #13
 529:../libBMP280/src/bmp280.c ****             var2 = (((int64_t) dev->calib_param.dig_p8) * p) / 524288;
 2300                           .loc 1 529 57 view .LVU687
 2301 0178 02FB07FC             mul     ip, r2, r7
 2302 017c 06FB03CC             mla     ip, r6, r3, ip
 2303 0180 A2FB0689             umull   r8, r9, r2, r6
 2304 0184 E144                 add     r9, r9, ip
 529:../libBMP280/src/bmp280.c ****             var2 = (((int64_t) dev->calib_param.dig_p8) * p) / 524288;
 2305                           .loc 1 529 70 view .LVU688
 2306 0186 06FB09F3             mul     r3, r6, r9
 2307 018a 07FB0837             mla     r7, r7, r8, r3
 2308 018e A6FB0823             umull   r2, r3, r6, r8
 2309 0192 3B44                 add     r3, r3, r7
 529:../libBMP280/src/bmp280.c ****             var2 = (((int64_t) dev->calib_param.dig_p8) * p) / 524288;
 2310                           .loc 1 529 18 view .LVU689
 2311 0194 1646                 mov     r6, r2
 2312 0196 9C46                 mov     ip, r3
 2313 0198 002A                 cmp     r2, #0
 2314 019a 73F10007             sbcs    r7, r3, #0
 2315 019e 48DB                 blt     .L158
 2316                   .L151:
 2317 01a0 730E                 lsrs    r3, r6, #25
 2318 01a2 43EACC16             orr     r6, r3, ip, lsl #7
 2319 01a6 4FEA6C67             asr     r7, ip, #25
 2320                   .LVL217:
 530:../libBMP280/src/bmp280.c ****             p = ((p + var1 + var2) / 256) + (((int64_t)dev->calib_param.dig_p7) * 16);
 2321                           .loc 1 530 13 is_stmt 1 view .LVU690
 530:../libBMP280/src/bmp280.c ****             p = ((p + var1 + var2) / 256) + (((int64_t)dev->calib_param.dig_p7) * 16);
 2322                           .loc 1 530 22 is_stmt 0 view .LVU691
 2323 01aa B4F92420             ldrsh   r2, [r4, #36]
 2324 01ae D317                 asrs    r3, r2, #31
 530:../libBMP280/src/bmp280.c ****             p = ((p + var1 + var2) / 256) + (((int64_t)dev->calib_param.dig_p7) * 16);
 2325                           .loc 1 530 57 view .LVU692
 2326 01b0 02FB01FC             mul     ip, r2, r1
 2327 01b4 00FB03CC             mla     ip, r0, r3, ip
 2328 01b8 A2FB0023             umull   r2, r3, r2, r0
 2329 01bc 6344                 add     r3, r3, ip
 530:../libBMP280/src/bmp280.c ****             p = ((p + var1 + var2) / 256) + (((int64_t)dev->calib_param.dig_p7) * 16);
 2330                           .loc 1 530 18 view .LVU693
 2331 01be 9446                 mov     ip, r2
 2332 01c0 9E46                 mov     lr, r3
 2333 01c2 002A                 cmp     r2, #0
 2334 01c4 73F10008             sbcs    r8, r3, #0
 2335 01c8 3BDB                 blt     .L159
 2336                   .L152:
 2337 01ca 4FEADC4C             lsr     ip, ip, #19
 2338 01ce 4CEA4E33             orr     r3, ip, lr, lsl #13
 2339 01d2 4FEAEE42             asr     r2, lr, #19
 2340                   .LVL218:
 531:../libBMP280/src/bmp280.c ****             *pressure = (uint32_t)p;
 2341                           .loc 1 531 13 is_stmt 1 view .LVU694
 531:../libBMP280/src/bmp280.c ****             *pressure = (uint32_t)p;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 67


 2342                           .loc 1 531 21 is_stmt 0 view .LVU695
 2343 01d6 8619                 adds    r6, r0, r6
 2344                   .LVL219:
 531:../libBMP280/src/bmp280.c ****             *pressure = (uint32_t)p;
 2345                           .loc 1 531 21 view .LVU696
 2346 01d8 41EB0707             adc     r7, r1, r7
 531:../libBMP280/src/bmp280.c ****             *pressure = (uint32_t)p;
 2347                           .loc 1 531 28 view .LVU697
 2348 01dc F318                 adds    r3, r6, r3
 2349                   .LVL220:
 531:../libBMP280/src/bmp280.c ****             *pressure = (uint32_t)p;
 2350                           .loc 1 531 28 view .LVU698
 2351 01de 0093                 str     r3, [sp]
 2352 01e0 47EB0203             adc     r3, r7, r2
 2353 01e4 0193                 str     r3, [sp, #4]
 531:../libBMP280/src/bmp280.c ****             *pressure = (uint32_t)p;
 2354                           .loc 1 531 36 view .LVU699
 2355 01e6 DDE90067             ldrd    r6, [sp]
 2356 01ea 3346                 mov     r3, r6
 2357 01ec 3946                 mov     r1, r7
 2358 01ee 002E                 cmp     r6, #0
 2359 01f0 77F10002             sbcs    r2, r7, #0
 2360                   .LVL221:
 531:../libBMP280/src/bmp280.c ****             *pressure = (uint32_t)p;
 2361                           .loc 1 531 36 view .LVU700
 2362 01f4 2EDB                 blt     .L160
 2363                   .L153:
 2364 01f6 1A0A                 lsrs    r2, r3, #8
 2365 01f8 42EA0163             orr     r3, r2, r1, lsl #24
 531:../libBMP280/src/bmp280.c ****             *pressure = (uint32_t)p;
 2366                           .loc 1 531 47 view .LVU701
 2367 01fc B4F92200             ldrsh   r0, [r4, #34]
 2368                   .LVL222:
 531:../libBMP280/src/bmp280.c ****             *pressure = (uint32_t)p;
 2369                           .loc 1 531 81 view .LVU702
 2370 0200 0201                 lsls    r2, r0, #4
 531:../libBMP280/src/bmp280.c ****             *pressure = (uint32_t)p;
 2371                           .loc 1 531 15 view .LVU703
 2372 0202 9B18                 adds    r3, r3, r2
 532:../libBMP280/src/bmp280.c ****             rslt = BMP280_OK;
 2373                           .loc 1 532 13 is_stmt 1 view .LVU704
 532:../libBMP280/src/bmp280.c ****             rslt = BMP280_OK;
 2374                           .loc 1 532 23 is_stmt 0 view .LVU705
 2375 0204 2B60                 str     r3, [r5]
 533:../libBMP280/src/bmp280.c ****         }
 2376                           .loc 1 533 13 is_stmt 1 view .LVU706
 2377                   .LVL223:
 2378                   .L146:
 542:../libBMP280/src/bmp280.c **** }
 2379                           .loc 1 542 5 view .LVU707
 543:../libBMP280/src/bmp280.c **** 
 2380                           .loc 1 543 1 is_stmt 0 view .LVU708
 2381 0206 5046                 mov     r0, r10
 2382 0208 03B0                 add     sp, sp, #12
 2383                   .LCFI42:
 2384                           .cfi_remember_state
 2385                           .cfi_def_cfa_offset 36
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 68


 2386                           @ sp needed
 2387 020a BDE8F08F             pop     {r4, r5, r6, r7, r8, r9, r10, fp, pc}
 2388                   .LVL224:
 2389                   .L155:
 2390                   .LCFI43:
 2391                           .cfi_restore_state
 522:../libBMP280/src/bmp280.c ****                ((var1 * (int64_t) dev->calib_param.dig_p2) * 4096);
 2392                           .loc 1 522 67 view .LVU709
 2393 020e 12F1FF07             adds    r7, r2, #255
 2394 0212 43F10006             adc     r6, r3, #0
 2395 0216 44E7                 b       .L147
 2396                   .LVL225:
 2397                   .L156:
 524:../libBMP280/src/bmp280.c ****         if (var1 != 0)
 2398                           .loc 1 524 14 view .LVU710
 2399 0218 18F1FF32             adds    r2, r8, #-1
 524:../libBMP280/src/bmp280.c ****         if (var1 != 0)
 2400                           .loc 1 524 14 view .LVU711
 2401 021c 49F10106             adc     r6, r9, #1
 2402 0220 66E7                 b       .L148
 2403                   .LVL226:
 2404                   .L157:
 529:../libBMP280/src/bmp280.c ****             var2 = (((int64_t) dev->calib_param.dig_p8) * p) / 524288;
 2405                           .loc 1 529 62 view .LVU712
 2406 0222 41F6FF76             movw    r6, #8191
 2407 0226 8619                 adds    r6, r0, r6
 2408 0228 4FF00007             mov     r7, #0
 529:../libBMP280/src/bmp280.c ****             var2 = (((int64_t) dev->calib_param.dig_p8) * p) / 524288;
 2409                           .loc 1 529 62 view .LVU713
 2410 022c 41EB0707             adc     r7, r1, r7
 529:../libBMP280/src/bmp280.c ****             var2 = (((int64_t) dev->calib_param.dig_p8) * p) / 524288;
 2411                           .loc 1 529 62 view .LVU714
 2412 0230 9EE7                 b       .L150
 2413                   .L158:
 529:../libBMP280/src/bmp280.c ****             var2 = (((int64_t) dev->calib_param.dig_p8) * p) / 524288;
 2414                           .loc 1 529 18 view .LVU715
 2415 0232 6FF07E46             mvn     r6, #-33554432
 2416 0236 9619                 adds    r6, r2, r6
 2417 0238 4FF0000C             mov     ip, #0
 529:../libBMP280/src/bmp280.c ****             var2 = (((int64_t) dev->calib_param.dig_p8) * p) / 524288;
 2418                           .loc 1 529 18 view .LVU716
 2419 023c 43EB0C0C             adc     ip, r3, ip
 529:../libBMP280/src/bmp280.c ****             var2 = (((int64_t) dev->calib_param.dig_p8) * p) / 524288;
 2420                           .loc 1 529 18 view .LVU717
 2421 0240 AEE7                 b       .L151
 2422                   .LVL227:
 2423                   .L159:
 530:../libBMP280/src/bmp280.c ****             p = ((p + var1 + var2) / 256) + (((int64_t)dev->calib_param.dig_p7) * 16);
 2424                           .loc 1 530 18 view .LVU718
 2425 0242 DFF824C0             ldr     ip, .L161
 2426 0246 12EB0C0C             adds    ip, r2, ip
 2427 024a 4FF0000E             mov     lr, #0
 530:../libBMP280/src/bmp280.c ****             p = ((p + var1 + var2) / 256) + (((int64_t)dev->calib_param.dig_p7) * 16);
 2428                           .loc 1 530 18 view .LVU719
 2429 024e 43EB0E0E             adc     lr, r3, lr
 530:../libBMP280/src/bmp280.c ****             p = ((p + var1 + var2) / 256) + (((int64_t)dev->calib_param.dig_p7) * 16);
 2430                           .loc 1 530 18 view .LVU720
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 69


 2431 0252 BAE7                 b       .L152
 2432                   .LVL228:
 2433                   .L160:
 531:../libBMP280/src/bmp280.c ****             *pressure = (uint32_t)p;
 2434                           .loc 1 531 36 view .LVU721
 2435 0254 16F1FF03             adds    r3, r6, #255
 2436 0258 47F10001             adc     r1, r7, #0
 2437 025c CBE7                 b       .L153
 2438                   .LVL229:
 2439                   .L149:
 537:../libBMP280/src/bmp280.c ****             rslt = BMP280_E_64BIT_COMP_PRESS;
 2440                           .loc 1 537 13 is_stmt 1 view .LVU722
 537:../libBMP280/src/bmp280.c ****             rslt = BMP280_E_64BIT_COMP_PRESS;
 2441                           .loc 1 537 23 is_stmt 0 view .LVU723
 2442 025e 0023                 movs    r3, #0
 2443 0260 2B60                 str     r3, [r5]
 538:../libBMP280/src/bmp280.c ****         }
 2444                           .loc 1 538 13 is_stmt 1 view .LVU724
 2445                   .LVL230:
 538:../libBMP280/src/bmp280.c ****         }
 2446                           .loc 1 538 18 is_stmt 0 view .LVU725
 2447 0262 6FF00F0A             mvn     r10, #15
 2448 0266 CEE7                 b       .L146
 2449                   .L162:
 2450                           .align  2
 2451                   .L161:
 2452 0268 FFFF0700             .word   524287
 2453                           .cfi_endproc
 2454                   .LFE12:
 2456                           .global __aeabi_i2d
 2457                           .global __aeabi_dmul
 2458                           .global __aeabi_ui2d
 2459                           .global __aeabi_dsub
 2460                           .global __aeabi_dadd
 2461                           .global __aeabi_d2iz
 2462                           .global __aeabi_ddiv
 2463                           .section        .text.bmp280_get_comp_temp_double,"ax",%progbits
 2464                           .align  1
 2465                           .global bmp280_get_comp_temp_double
 2466                           .syntax unified
 2467                           .thumb
 2468                           .thumb_func
 2469                           .fpu softvfp
 2471                   bmp280_get_comp_temp_double:
 2472                   .LVL231:
 2473                   .LFB13:
 554:../libBMP280/src/bmp280.c ****     double var1, var2;
 2474                           .loc 1 554 1 is_stmt 1 view -0
 2475                           .cfi_startproc
 2476                           @ args = 0, pretend = 0, frame = 8
 2477                           @ frame_needed = 0, uses_anonymous_args = 0
 554:../libBMP280/src/bmp280.c ****     double var1, var2;
 2478                           .loc 1 554 1 is_stmt 0 view .LVU727
 2479 0000 2DE9F047             push    {r4, r5, r6, r7, r8, r9, r10, lr}
 2480                   .LCFI44:
 2481                           .cfi_def_cfa_offset 32
 2482                           .cfi_offset 4, -32
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 70


 2483                           .cfi_offset 5, -28
 2484                           .cfi_offset 6, -24
 2485                           .cfi_offset 7, -20
 2486                           .cfi_offset 8, -16
 2487                           .cfi_offset 9, -12
 2488                           .cfi_offset 10, -8
 2489                           .cfi_offset 14, -4
 2490 0004 82B0                 sub     sp, sp, #8
 2491                   .LCFI45:
 2492                           .cfi_def_cfa_offset 40
 2493 0006 0546                 mov     r5, r0
 2494 0008 0E46                 mov     r6, r1
 2495 000a 1446                 mov     r4, r2
 555:../libBMP280/src/bmp280.c ****     int8_t rslt;
 2496                           .loc 1 555 5 is_stmt 1 view .LVU728
 556:../libBMP280/src/bmp280.c **** 
 2497                           .loc 1 556 5 view .LVU729
 558:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
 2498                           .loc 1 558 5 view .LVU730
 558:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
 2499                           .loc 1 558 12 is_stmt 0 view .LVU731
 2500 000c 1046                 mov     r0, r2
 2501                   .LVL232:
 558:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
 2502                           .loc 1 558 12 view .LVU732
 2503 000e FFF7FEFF             bl      null_ptr_check
 2504                   .LVL233:
 559:../libBMP280/src/bmp280.c ****     {
 2505                           .loc 1 559 5 is_stmt 1 view .LVU733
 559:../libBMP280/src/bmp280.c ****     {
 2506                           .loc 1 559 8 is_stmt 0 view .LVU734
 2507 0012 0028                 cmp     r0, #0
 2508 0014 63D1                 bne     .L164
 2509 0016 8246                 mov     r10, r0
 561:../libBMP280/src/bmp280.c ****                ((double) dev->calib_param.dig_t2);
 2510                           .loc 1 561 9 is_stmt 1 view .LVU735
 561:../libBMP280/src/bmp280.c ****                ((double) dev->calib_param.dig_t2);
 2511                           .loc 1 561 18 is_stmt 0 view .LVU736
 2512 0018 3046                 mov     r0, r6
 2513                   .LVL234:
 561:../libBMP280/src/bmp280.c ****                ((double) dev->calib_param.dig_t2);
 2514                           .loc 1 561 18 view .LVU737
 2515 001a FFF7FEFF             bl      __aeabi_i2d
 2516                   .LVL235:
 2517 001e 8046                 mov     r8, r0
 2518 0020 8946                 mov     r9, r1
 561:../libBMP280/src/bmp280.c ****                ((double) dev->calib_param.dig_t2);
 2519                           .loc 1 561 40 view .LVU738
 2520 0022 0022                 movs    r2, #0
 2521 0024 314B                 ldr     r3, .L167
 2522 0026 FFF7FEFF             bl      __aeabi_dmul
 2523                   .LVL236:
 2524 002a 0646                 mov     r6, r0
 2525                   .LVL237:
 561:../libBMP280/src/bmp280.c ****                ((double) dev->calib_param.dig_t2);
 2526                           .loc 1 561 40 view .LVU739
 2527 002c 0F46                 mov     r7, r1
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 71


 561:../libBMP280/src/bmp280.c ****                ((double) dev->calib_param.dig_t2);
 2528                           .loc 1 561 53 view .LVU740
 2529 002e 208A                 ldrh    r0, [r4, #16]
 2530 0030 FFF7FEFF             bl      __aeabi_ui2d
 2531                   .LVL238:
 2532 0034 CDE90001             strd    r0, [sp]
 561:../libBMP280/src/bmp280.c ****                ((double) dev->calib_param.dig_t2);
 2533                           .loc 1 561 87 view .LVU741
 2534 0038 0022                 movs    r2, #0
 2535 003a 2D4B                 ldr     r3, .L167+4
 2536 003c FFF7FEFF             bl      __aeabi_dmul
 2537                   .LVL239:
 561:../libBMP280/src/bmp280.c ****                ((double) dev->calib_param.dig_t2);
 2538                           .loc 1 561 50 view .LVU742
 2539 0040 0246                 mov     r2, r0
 2540 0042 0B46                 mov     r3, r1
 2541 0044 3046                 mov     r0, r6
 2542 0046 3946                 mov     r1, r7
 2543 0048 FFF7FEFF             bl      __aeabi_dsub
 2544                   .LVL240:
 2545 004c 0646                 mov     r6, r0
 2546 004e 0F46                 mov     r7, r1
 562:../libBMP280/src/bmp280.c ****         var2 =
 2547                           .loc 1 562 17 view .LVU743
 2548 0050 B4F91200             ldrsh   r0, [r4, #18]
 2549 0054 FFF7FEFF             bl      __aeabi_i2d
 2550                   .LVL241:
 561:../libBMP280/src/bmp280.c ****                ((double) dev->calib_param.dig_t2);
 2551                           .loc 1 561 14 view .LVU744
 2552 0058 0246                 mov     r2, r0
 2553 005a 0B46                 mov     r3, r1
 2554 005c 3046                 mov     r0, r6
 2555 005e 3946                 mov     r1, r7
 2556 0060 FFF7FEFF             bl      __aeabi_dmul
 2557                   .LVL242:
 2558 0064 0646                 mov     r6, r0
 2559 0066 0F46                 mov     r7, r1
 2560                   .LVL243:
 563:../libBMP280/src/bmp280.c ****             ((((double) uncomp_temp) / 131072.0 - ((double) dev->calib_param.dig_t1) / 8192.0) *
 2561                           .loc 1 563 9 is_stmt 1 view .LVU745
 564:../libBMP280/src/bmp280.c ****              (((double) uncomp_temp) / 131072.0 - ((double) dev->calib_param.dig_t1) / 8192.0)) *
 2562                           .loc 1 564 38 is_stmt 0 view .LVU746
 2563 0068 0022                 movs    r2, #0
 2564 006a 224B                 ldr     r3, .L167+8
 2565 006c 4046                 mov     r0, r8
 2566 006e 4946                 mov     r1, r9
 2567 0070 FFF7FEFF             bl      __aeabi_dmul
 2568                   .LVL244:
 2569 0074 8046                 mov     r8, r0
 2570 0076 8946                 mov     r9, r1
 564:../libBMP280/src/bmp280.c ****              (((double) uncomp_temp) / 131072.0 - ((double) dev->calib_param.dig_t1) / 8192.0)) *
 2571                           .loc 1 564 86 view .LVU747
 2572 0078 0022                 movs    r2, #0
 2573 007a 1F4B                 ldr     r3, .L167+12
 2574 007c DDE90001             ldrd    r0, [sp]
 2575 0080 FFF7FEFF             bl      __aeabi_dmul
 2576                   .LVL245:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 72


 564:../libBMP280/src/bmp280.c ****              (((double) uncomp_temp) / 131072.0 - ((double) dev->calib_param.dig_t1) / 8192.0)) *
 2577                           .loc 1 564 49 view .LVU748
 2578 0084 0246                 mov     r2, r0
 2579 0086 0B46                 mov     r3, r1
 2580 0088 4046                 mov     r0, r8
 2581 008a 4946                 mov     r1, r9
 2582 008c FFF7FEFF             bl      __aeabi_dsub
 2583                   .LVL246:
 564:../libBMP280/src/bmp280.c ****              (((double) uncomp_temp) / 131072.0 - ((double) dev->calib_param.dig_t1) / 8192.0)) *
 2584                           .loc 1 564 96 view .LVU749
 2585 0090 0246                 mov     r2, r0
 2586 0092 0B46                 mov     r3, r1
 2587 0094 FFF7FEFF             bl      __aeabi_dmul
 2588                   .LVL247:
 2589 0098 8046                 mov     r8, r0
 2590 009a 8946                 mov     r9, r1
 566:../libBMP280/src/bmp280.c ****         dev->calib_param.t_fine = (int32_t) (var1 + var2);
 2591                           .loc 1 566 14 view .LVU750
 2592 009c B4F91400             ldrsh   r0, [r4, #20]
 2593 00a0 FFF7FEFF             bl      __aeabi_i2d
 2594                   .LVL248:
 563:../libBMP280/src/bmp280.c ****             ((((double) uncomp_temp) / 131072.0 - ((double) dev->calib_param.dig_t1) / 8192.0) *
 2595                           .loc 1 563 14 view .LVU751
 2596 00a4 0246                 mov     r2, r0
 2597 00a6 0B46                 mov     r3, r1
 2598 00a8 4046                 mov     r0, r8
 2599 00aa 4946                 mov     r1, r9
 2600 00ac FFF7FEFF             bl      __aeabi_dmul
 2601                   .LVL249:
 567:../libBMP280/src/bmp280.c ****         *temperature = ((var1 + var2) / 5120.0);
 2602                           .loc 1 567 9 is_stmt 1 view .LVU752
 567:../libBMP280/src/bmp280.c ****         *temperature = ((var1 + var2) / 5120.0);
 2603                           .loc 1 567 51 is_stmt 0 view .LVU753
 2604 00b0 0246                 mov     r2, r0
 2605 00b2 0B46                 mov     r3, r1
 2606 00b4 3046                 mov     r0, r6
 2607                   .LVL250:
 567:../libBMP280/src/bmp280.c ****         *temperature = ((var1 + var2) / 5120.0);
 2608                           .loc 1 567 51 view .LVU754
 2609 00b6 3946                 mov     r1, r7
 2610 00b8 FFF7FEFF             bl      __aeabi_dadd
 2611                   .LVL251:
 2612 00bc 0646                 mov     r6, r0
 2613                   .LVL252:
 567:../libBMP280/src/bmp280.c ****         *temperature = ((var1 + var2) / 5120.0);
 2614                           .loc 1 567 51 view .LVU755
 2615 00be 0F46                 mov     r7, r1
 567:../libBMP280/src/bmp280.c ****         *temperature = ((var1 + var2) / 5120.0);
 2616                           .loc 1 567 35 view .LVU756
 2617 00c0 FFF7FEFF             bl      __aeabi_d2iz
 2618                   .LVL253:
 567:../libBMP280/src/bmp280.c ****         *temperature = ((var1 + var2) / 5120.0);
 2619                           .loc 1 567 33 view .LVU757
 2620 00c4 A062                 str     r0, [r4, #40]
 568:../libBMP280/src/bmp280.c ****     }
 2621                           .loc 1 568 9 is_stmt 1 view .LVU758
 568:../libBMP280/src/bmp280.c ****     }
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 73


 2622                           .loc 1 568 39 is_stmt 0 view .LVU759
 2623 00c6 0022                 movs    r2, #0
 2624 00c8 0C4B                 ldr     r3, .L167+16
 2625 00ca 3046                 mov     r0, r6
 2626 00cc 3946                 mov     r1, r7
 2627 00ce FFF7FEFF             bl      __aeabi_ddiv
 2628                   .LVL254:
 568:../libBMP280/src/bmp280.c ****     }
 2629                           .loc 1 568 22 view .LVU760
 2630 00d2 C5E90001             strd    r0, [r5]
 2631                   .L165:
 2632                   .LVL255:
 576:../libBMP280/src/bmp280.c **** }
 2633                           .loc 1 576 5 is_stmt 1 view .LVU761
 577:../libBMP280/src/bmp280.c **** 
 2634                           .loc 1 577 1 is_stmt 0 view .LVU762
 2635 00d6 5046                 mov     r0, r10
 2636 00d8 02B0                 add     sp, sp, #8
 2637                   .LCFI46:
 2638                           .cfi_remember_state
 2639                           .cfi_def_cfa_offset 32
 2640                           @ sp needed
 2641 00da BDE8F087             pop     {r4, r5, r6, r7, r8, r9, r10, pc}
 2642                   .LVL256:
 2643                   .L164:
 2644                   .LCFI47:
 2645                           .cfi_restore_state
 572:../libBMP280/src/bmp280.c ****         rslt = BMP280_E_DOUBLE_COMP_TEMP;
 2646                           .loc 1 572 9 is_stmt 1 view .LVU763
 572:../libBMP280/src/bmp280.c ****         rslt = BMP280_E_DOUBLE_COMP_TEMP;
 2647                           .loc 1 572 22 is_stmt 0 view .LVU764
 2648 00de 0022                 movs    r2, #0
 2649 00e0 0023                 movs    r3, #0
 2650 00e2 C5E90023             strd    r2, [r5]
 573:../libBMP280/src/bmp280.c ****     }
 2651                           .loc 1 573 9 is_stmt 1 view .LVU765
 2652                   .LVL257:
 573:../libBMP280/src/bmp280.c ****     }
 2653                           .loc 1 573 14 is_stmt 0 view .LVU766
 2654 00e6 6FF0100A             mvn     r10, #16
 2655 00ea F4E7                 b       .L165
 2656                   .L168:
 2657                           .align  2
 2658                   .L167:
 2659 00ec 0000103F             .word   1058013184
 2660 00f0 0000503F             .word   1062207488
 2661 00f4 0000E03E             .word   1054867456
 2662 00f8 0000203F             .word   1059061760
 2663 00fc 0000B440             .word   1085538304
 2664                           .cfi_endproc
 2665                   .LFE13:
 2667                           .global __aeabi_dcmpun
 2668                           .global __aeabi_dcmpeq
 2669                           .section        .text.bmp280_get_comp_pres_double,"ax",%progbits
 2670                           .align  1
 2671                           .global bmp280_get_comp_pres_double
 2672                           .syntax unified
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 74


 2673                           .thumb
 2674                           .thumb_func
 2675                           .fpu softvfp
 2677                   bmp280_get_comp_pres_double:
 2678                   .LVL258:
 2679                   .LFB14:
 584:../libBMP280/src/bmp280.c ****     double var1, var2;
 2680                           .loc 1 584 1 is_stmt 1 view -0
 2681                           .cfi_startproc
 2682                           @ args = 0, pretend = 0, frame = 8
 2683                           @ frame_needed = 0, uses_anonymous_args = 0
 584:../libBMP280/src/bmp280.c ****     double var1, var2;
 2684                           .loc 1 584 1 is_stmt 0 view .LVU768
 2685 0000 2DE9F04F             push    {r4, r5, r6, r7, r8, r9, r10, fp, lr}
 2686                   .LCFI48:
 2687                           .cfi_def_cfa_offset 36
 2688                           .cfi_offset 4, -36
 2689                           .cfi_offset 5, -32
 2690                           .cfi_offset 6, -28
 2691                           .cfi_offset 7, -24
 2692                           .cfi_offset 8, -20
 2693                           .cfi_offset 9, -16
 2694                           .cfi_offset 10, -12
 2695                           .cfi_offset 11, -8
 2696                           .cfi_offset 14, -4
 2697 0004 83B0                 sub     sp, sp, #12
 2698                   .LCFI49:
 2699                           .cfi_def_cfa_offset 48
 2700 0006 0546                 mov     r5, r0
 2701 0008 8A46                 mov     r10, r1
 2702 000a 1446                 mov     r4, r2
 585:../libBMP280/src/bmp280.c ****     int8_t rslt;
 2703                           .loc 1 585 5 is_stmt 1 view .LVU769
 586:../libBMP280/src/bmp280.c **** 
 2704                           .loc 1 586 5 view .LVU770
 588:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
 2705                           .loc 1 588 5 view .LVU771
 588:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
 2706                           .loc 1 588 12 is_stmt 0 view .LVU772
 2707 000c 1046                 mov     r0, r2
 2708                   .LVL259:
 588:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
 2709                           .loc 1 588 12 view .LVU773
 2710 000e FFF7FEFF             bl      null_ptr_check
 2711                   .LVL260:
 589:../libBMP280/src/bmp280.c ****     {
 2712                           .loc 1 589 5 is_stmt 1 view .LVU774
 589:../libBMP280/src/bmp280.c ****     {
 2713                           .loc 1 589 8 is_stmt 0 view .LVU775
 2714 0012 8346                 mov     fp, r0
 2715 0014 0028                 cmp     r0, #0
 2716 0016 40F00081             bne     .L170
 591:../libBMP280/src/bmp280.c ****         var2 = var1 * var1 * ((double) dev->calib_param.dig_p6) / 32768.0;
 2717                           .loc 1 591 9 is_stmt 1 view .LVU776
 591:../libBMP280/src/bmp280.c ****         var2 = var1 * var1 * ((double) dev->calib_param.dig_p6) / 32768.0;
 2718                           .loc 1 591 17 is_stmt 0 view .LVU777
 2719 001a A06A                 ldr     r0, [r4, #40]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 75


 2720                   .LVL261:
 591:../libBMP280/src/bmp280.c ****         var2 = var1 * var1 * ((double) dev->calib_param.dig_p6) / 32768.0;
 2721                           .loc 1 591 17 view .LVU778
 2722 001c FFF7FEFF             bl      __aeabi_i2d
 2723                   .LVL262:
 591:../libBMP280/src/bmp280.c ****         var2 = var1 * var1 * ((double) dev->calib_param.dig_p6) / 32768.0;
 2724                           .loc 1 591 50 view .LVU779
 2725 0020 0022                 movs    r2, #0
 2726 0022 854B                 ldr     r3, .L175+8
 2727 0024 FFF7FEFF             bl      __aeabi_dmul
 2728                   .LVL263:
 591:../libBMP280/src/bmp280.c ****         var2 = var1 * var1 * ((double) dev->calib_param.dig_p6) / 32768.0;
 2729                           .loc 1 591 14 view .LVU780
 2730 0028 0022                 movs    r2, #0
 2731 002a 844B                 ldr     r3, .L175+12
 2732 002c FFF7FEFF             bl      __aeabi_dsub
 2733                   .LVL264:
 2734 0030 0646                 mov     r6, r0
 2735 0032 0F46                 mov     r7, r1
 2736                   .LVL265:
 592:../libBMP280/src/bmp280.c ****         var2 = var2 + var1 * ((double) dev->calib_param.dig_p5) * 2.0;
 2737                           .loc 1 592 9 is_stmt 1 view .LVU781
 592:../libBMP280/src/bmp280.c ****         var2 = var2 + var1 * ((double) dev->calib_param.dig_p5) * 2.0;
 2738                           .loc 1 592 21 is_stmt 0 view .LVU782
 2739 0034 0246                 mov     r2, r0
 2740 0036 0B46                 mov     r3, r1
 2741 0038 FFF7FEFF             bl      __aeabi_dmul
 2742                   .LVL266:
 2743 003c 8046                 mov     r8, r0
 2744 003e 8946                 mov     r9, r1
 592:../libBMP280/src/bmp280.c ****         var2 = var2 + var1 * ((double) dev->calib_param.dig_p5) * 2.0;
 2745                           .loc 1 592 31 view .LVU783
 2746 0040 B4F92000             ldrsh   r0, [r4, #32]
 2747 0044 FFF7FEFF             bl      __aeabi_i2d
 2748                   .LVL267:
 592:../libBMP280/src/bmp280.c ****         var2 = var2 + var1 * ((double) dev->calib_param.dig_p5) * 2.0;
 2749                           .loc 1 592 28 view .LVU784
 2750 0048 0246                 mov     r2, r0
 2751 004a 0B46                 mov     r3, r1
 2752 004c 4046                 mov     r0, r8
 2753 004e 4946                 mov     r1, r9
 2754 0050 FFF7FEFF             bl      __aeabi_dmul
 2755                   .LVL268:
 592:../libBMP280/src/bmp280.c ****         var2 = var2 + var1 * ((double) dev->calib_param.dig_p5) * 2.0;
 2756                           .loc 1 592 14 view .LVU785
 2757 0054 0022                 movs    r2, #0
 2758 0056 4FF07C53             mov     r3, #1056964608
 2759 005a FFF7FEFF             bl      __aeabi_dmul
 2760                   .LVL269:
 2761 005e 8046                 mov     r8, r0
 2762 0060 8946                 mov     r9, r1
 2763                   .LVL270:
 593:../libBMP280/src/bmp280.c ****         var2 = (var2 / 4.0) + (((double) dev->calib_param.dig_p4) * 65536.0);
 2764                           .loc 1 593 9 is_stmt 1 view .LVU786
 593:../libBMP280/src/bmp280.c ****         var2 = (var2 / 4.0) + (((double) dev->calib_param.dig_p4) * 65536.0);
 2765                           .loc 1 593 31 is_stmt 0 view .LVU787
 2766 0062 B4F91E00             ldrsh   r0, [r4, #30]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 76


 2767 0066 FFF7FEFF             bl      __aeabi_i2d
 2768                   .LVL271:
 593:../libBMP280/src/bmp280.c ****         var2 = (var2 / 4.0) + (((double) dev->calib_param.dig_p4) * 65536.0);
 2769                           .loc 1 593 28 view .LVU788
 2770 006a 3246                 mov     r2, r6
 2771 006c 3B46                 mov     r3, r7
 2772 006e FFF7FEFF             bl      __aeabi_dmul
 2773                   .LVL272:
 593:../libBMP280/src/bmp280.c ****         var2 = (var2 / 4.0) + (((double) dev->calib_param.dig_p4) * 65536.0);
 2774                           .loc 1 593 65 view .LVU789
 2775 0072 0246                 mov     r2, r0
 2776 0074 0B46                 mov     r3, r1
 2777 0076 FFF7FEFF             bl      __aeabi_dadd
 2778                   .LVL273:
 593:../libBMP280/src/bmp280.c ****         var2 = (var2 / 4.0) + (((double) dev->calib_param.dig_p4) * 65536.0);
 2779                           .loc 1 593 14 view .LVU790
 2780 007a 4246                 mov     r2, r8
 2781 007c 4B46                 mov     r3, r9
 2782 007e FFF7FEFF             bl      __aeabi_dadd
 2783                   .LVL274:
 594:../libBMP280/src/bmp280.c ****         var1 = (((double)dev->calib_param.dig_p3) * var1 * var1 / 524288.0 + ((double)dev->calib_pa
 2784                           .loc 1 594 9 is_stmt 1 view .LVU791
 594:../libBMP280/src/bmp280.c ****         var1 = (((double)dev->calib_param.dig_p3) * var1 * var1 / 524288.0 + ((double)dev->calib_pa
 2785                           .loc 1 594 22 is_stmt 0 view .LVU792
 2786 0082 0022                 movs    r2, #0
 2787 0084 6E4B                 ldr     r3, .L175+16
 2788 0086 FFF7FEFF             bl      __aeabi_dmul
 2789                   .LVL275:
 594:../libBMP280/src/bmp280.c ****         var1 = (((double)dev->calib_param.dig_p3) * var1 * var1 / 524288.0 + ((double)dev->calib_pa
 2790                           .loc 1 594 22 view .LVU793
 2791 008a 8046                 mov     r8, r0
 2792 008c 8946                 mov     r9, r1
 594:../libBMP280/src/bmp280.c ****         var1 = (((double)dev->calib_param.dig_p3) * var1 * var1 / 524288.0 + ((double)dev->calib_pa
 2793                           .loc 1 594 33 view .LVU794
 2794 008e B4F91C00             ldrsh   r0, [r4, #28]
 2795 0092 FFF7FEFF             bl      __aeabi_i2d
 2796                   .LVL276:
 594:../libBMP280/src/bmp280.c ****         var1 = (((double)dev->calib_param.dig_p3) * var1 * var1 / 524288.0 + ((double)dev->calib_pa
 2797                           .loc 1 594 67 view .LVU795
 2798 0096 0022                 movs    r2, #0
 2799 0098 6A4B                 ldr     r3, .L175+20
 2800 009a FFF7FEFF             bl      __aeabi_dmul
 2801                   .LVL277:
 594:../libBMP280/src/bmp280.c ****         var1 = (((double)dev->calib_param.dig_p3) * var1 * var1 / 524288.0 + ((double)dev->calib_pa
 2802                           .loc 1 594 14 view .LVU796
 2803 009e 0246                 mov     r2, r0
 2804 00a0 0B46                 mov     r3, r1
 2805 00a2 4046                 mov     r0, r8
 2806 00a4 4946                 mov     r1, r9
 2807 00a6 FFF7FEFF             bl      __aeabi_dadd
 2808                   .LVL278:
 2809 00aa CDE90001             strd    r0, [sp]
 2810                   .LVL279:
 595:../libBMP280/src/bmp280.c ****                524288.0;
 2811                           .loc 1 595 9 is_stmt 1 view .LVU797
 595:../libBMP280/src/bmp280.c ****                524288.0;
 2812                           .loc 1 595 18 is_stmt 0 view .LVU798
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 77


 2813 00ae B4F91A00             ldrsh   r0, [r4, #26]
 2814                   .LVL280:
 595:../libBMP280/src/bmp280.c ****                524288.0;
 2815                           .loc 1 595 18 view .LVU799
 2816 00b2 FFF7FEFF             bl      __aeabi_i2d
 2817                   .LVL281:
 595:../libBMP280/src/bmp280.c ****                524288.0;
 2818                           .loc 1 595 51 view .LVU800
 2819 00b6 3246                 mov     r2, r6
 2820 00b8 3B46                 mov     r3, r7
 2821 00ba FFF7FEFF             bl      __aeabi_dmul
 2822                   .LVL282:
 595:../libBMP280/src/bmp280.c ****                524288.0;
 2823                           .loc 1 595 58 view .LVU801
 2824 00be 3246                 mov     r2, r6
 2825 00c0 3B46                 mov     r3, r7
 2826 00c2 FFF7FEFF             bl      __aeabi_dmul
 2827                   .LVL283:
 595:../libBMP280/src/bmp280.c ****                524288.0;
 2828                           .loc 1 595 65 view .LVU802
 2829 00c6 0022                 movs    r2, #0
 2830 00c8 4FF07B53             mov     r3, #1052770304
 2831 00cc FFF7FEFF             bl      __aeabi_dmul
 2832                   .LVL284:
 2833 00d0 8046                 mov     r8, r0
 2834 00d2 8946                 mov     r9, r1
 595:../libBMP280/src/bmp280.c ****                524288.0;
 2835                           .loc 1 595 79 view .LVU803
 2836 00d4 B4F91800             ldrsh   r0, [r4, #24]
 2837 00d8 FFF7FEFF             bl      __aeabi_i2d
 2838                   .LVL285:
 595:../libBMP280/src/bmp280.c ****                524288.0;
 2839                           .loc 1 595 112 view .LVU804
 2840 00dc 3246                 mov     r2, r6
 2841 00de 3B46                 mov     r3, r7
 2842 00e0 FFF7FEFF             bl      __aeabi_dmul
 2843                   .LVL286:
 595:../libBMP280/src/bmp280.c ****                524288.0;
 2844                           .loc 1 595 76 view .LVU805
 2845 00e4 0246                 mov     r2, r0
 2846 00e6 0B46                 mov     r3, r1
 2847 00e8 4046                 mov     r0, r8
 2848 00ea 4946                 mov     r1, r9
 2849 00ec FFF7FEFF             bl      __aeabi_dadd
 2850                   .LVL287:
 595:../libBMP280/src/bmp280.c ****                524288.0;
 2851                           .loc 1 595 14 view .LVU806
 2852 00f0 0022                 movs    r2, #0
 2853 00f2 4FF07B53             mov     r3, #1052770304
 2854 00f6 FFF7FEFF             bl      __aeabi_dmul
 2855                   .LVL288:
 597:../libBMP280/src/bmp280.c **** 
 2856                           .loc 1 597 9 is_stmt 1 view .LVU807
 597:../libBMP280/src/bmp280.c **** 
 2857                           .loc 1 597 28 is_stmt 0 view .LVU808
 2858 00fa 0022                 movs    r2, #0
 2859 00fc 4FF07C53             mov     r3, #1056964608
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 78


 2860 0100 FFF7FEFF             bl      __aeabi_dmul
 2861                   .LVL289:
 597:../libBMP280/src/bmp280.c **** 
 2862                           .loc 1 597 21 view .LVU809
 2863 0104 0022                 movs    r2, #0
 2864 0106 504B                 ldr     r3, .L175+24
 2865 0108 FFF7FEFF             bl      __aeabi_dadd
 2866                   .LVL290:
 2867 010c 0646                 mov     r6, r0
 2868 010e 0F46                 mov     r7, r1
 597:../libBMP280/src/bmp280.c **** 
 2869                           .loc 1 597 42 view .LVU810
 2870 0110 E08A                 ldrh    r0, [r4, #22]
 2871 0112 FFF7FEFF             bl      __aeabi_ui2d
 2872                   .LVL291:
 597:../libBMP280/src/bmp280.c **** 
 2873                           .loc 1 597 14 view .LVU811
 2874 0116 0246                 mov     r2, r0
 2875 0118 0B46                 mov     r3, r1
 2876 011a 3046                 mov     r0, r6
 2877 011c 3946                 mov     r1, r7
 2878 011e FFF7FEFF             bl      __aeabi_dmul
 2879                   .LVL292:
 2880 0122 8046                 mov     r8, r0
 2881 0124 8946                 mov     r9, r1
 2882                   .LVL293:
 599:../libBMP280/src/bmp280.c ****         if (var1 < 0 || var1 > 0)
 2883                           .loc 1 599 9 is_stmt 1 view .LVU812
 599:../libBMP280/src/bmp280.c ****         if (var1 < 0 || var1 > 0)
 2884                           .loc 1 599 33 is_stmt 0 view .LVU813
 2885 0126 5046                 mov     r0, r10
 2886 0128 FFF7FEFF             bl      __aeabi_ui2d
 2887                   .LVL294:
 599:../libBMP280/src/bmp280.c ****         if (var1 < 0 || var1 > 0)
 2888                           .loc 1 599 31 view .LVU814
 2889 012c 0246                 mov     r2, r0
 2890 012e 0B46                 mov     r3, r1
 2891 0130 0020                 movs    r0, #0
 2892 0132 4649                 ldr     r1, .L175+28
 2893 0134 FFF7FEFF             bl      __aeabi_dsub
 2894                   .LVL295:
 2895 0138 0646                 mov     r6, r0
 2896 013a 0F46                 mov     r7, r1
 599:../libBMP280/src/bmp280.c ****         if (var1 < 0 || var1 > 0)
 2897                           .loc 1 599 19 view .LVU815
 2898 013c C5E90067             strd    r6, [r5]
 600:../libBMP280/src/bmp280.c ****         {
 2899                           .loc 1 600 9 is_stmt 1 view .LVU816
 600:../libBMP280/src/bmp280.c ****         {
 2900                           .loc 1 600 12 is_stmt 0 view .LVU817
 2901 0140 0022                 movs    r2, #0
 2902 0142 0023                 movs    r3, #0
 2903 0144 4046                 mov     r0, r8
 2904 0146 4946                 mov     r1, r9
 2905 0148 FFF7FEFF             bl      __aeabi_dcmpun
 2906                   .LVL296:
 2907 014c 0028                 cmp     r0, #0
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 79


 2908 014e 68D1                 bne     .L171
 2909 0150 0022                 movs    r2, #0
 2910 0152 0023                 movs    r3, #0
 2911 0154 4046                 mov     r0, r8
 2912 0156 4946                 mov     r1, r9
 2913 0158 FFF7FEFF             bl      __aeabi_dcmpeq
 2914                   .LVL297:
 2915 015c 0028                 cmp     r0, #0
 2916 015e 60D1                 bne     .L171
 602:../libBMP280/src/bmp280.c ****             var1 = ((double)dev->calib_param.dig_p9) * (*pressure) * (*pressure) / 2147483648.0;
 2917                           .loc 1 602 13 is_stmt 1 view .LVU818
 602:../libBMP280/src/bmp280.c ****             var1 = ((double)dev->calib_param.dig_p9) * (*pressure) * (*pressure) / 2147483648.0;
 2918                           .loc 1 602 44 is_stmt 0 view .LVU819
 2919 0160 0022                 movs    r2, #0
 2920 0162 3B4B                 ldr     r3, .L175+32
 2921 0164 DDE90001             ldrd    r0, [sp]
 2922 0168 FFF7FEFF             bl      __aeabi_dmul
 2923                   .LVL298:
 602:../libBMP280/src/bmp280.c ****             var1 = ((double)dev->calib_param.dig_p9) * (*pressure) * (*pressure) / 2147483648.0;
 2924                           .loc 1 602 36 view .LVU820
 2925 016c 0246                 mov     r2, r0
 2926 016e 0B46                 mov     r3, r1
 2927 0170 3046                 mov     r0, r6
 2928 0172 3946                 mov     r1, r7
 2929 0174 FFF7FEFF             bl      __aeabi_dsub
 2930                   .LVL299:
 602:../libBMP280/src/bmp280.c ****             var1 = ((double)dev->calib_param.dig_p9) * (*pressure) * (*pressure) / 2147483648.0;
 2931                           .loc 1 602 55 view .LVU821
 2932 0178 2DA3                 adr     r3, .L175
 2933 017a D3E90023             ldrd    r2, [r3]
 2934 017e FFF7FEFF             bl      __aeabi_dmul
 2935                   .LVL300:
 602:../libBMP280/src/bmp280.c ****             var1 = ((double)dev->calib_param.dig_p9) * (*pressure) * (*pressure) / 2147483648.0;
 2936                           .loc 1 602 64 view .LVU822
 2937 0182 4246                 mov     r2, r8
 2938 0184 4B46                 mov     r3, r9
 2939 0186 FFF7FEFF             bl      __aeabi_ddiv
 2940                   .LVL301:
 2941 018a 0646                 mov     r6, r0
 2942 018c 0F46                 mov     r7, r1
 602:../libBMP280/src/bmp280.c ****             var1 = ((double)dev->calib_param.dig_p9) * (*pressure) * (*pressure) / 2147483648.0;
 2943                           .loc 1 602 23 view .LVU823
 2944 018e C5E90067             strd    r6, [r5]
 603:../libBMP280/src/bmp280.c ****             var2 = (*pressure) * ((double)dev->calib_param.dig_p8) / 32768.0;
 2945                           .loc 1 603 13 is_stmt 1 view .LVU824
 603:../libBMP280/src/bmp280.c ****             var2 = (*pressure) * ((double)dev->calib_param.dig_p8) / 32768.0;
 2946                           .loc 1 603 21 is_stmt 0 view .LVU825
 2947 0192 B4F92600             ldrsh   r0, [r4, #38]
 2948 0196 FFF7FEFF             bl      __aeabi_i2d
 2949                   .LVL302:
 603:../libBMP280/src/bmp280.c ****             var2 = (*pressure) * ((double)dev->calib_param.dig_p8) / 32768.0;
 2950                           .loc 1 603 54 view .LVU826
 2951 019a 0246                 mov     r2, r0
 2952 019c 0B46                 mov     r3, r1
 2953 019e 3046                 mov     r0, r6
 2954 01a0 3946                 mov     r1, r7
 2955 01a2 FFF7FEFF             bl      __aeabi_dmul
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 80


 2956                   .LVL303:
 603:../libBMP280/src/bmp280.c ****             var2 = (*pressure) * ((double)dev->calib_param.dig_p8) / 32768.0;
 2957                           .loc 1 603 68 view .LVU827
 2958 01a6 0246                 mov     r2, r0
 2959 01a8 0B46                 mov     r3, r1
 2960 01aa 3046                 mov     r0, r6
 2961 01ac 3946                 mov     r1, r7
 2962 01ae FFF7FEFF             bl      __aeabi_dmul
 2963                   .LVL304:
 603:../libBMP280/src/bmp280.c ****             var2 = (*pressure) * ((double)dev->calib_param.dig_p8) / 32768.0;
 2964                           .loc 1 603 18 view .LVU828
 2965 01b2 0022                 movs    r2, #0
 2966 01b4 4FF07853             mov     r3, #1040187392
 2967 01b8 FFF7FEFF             bl      __aeabi_dmul
 2968                   .LVL305:
 2969 01bc 8046                 mov     r8, r0
 2970                   .LVL306:
 603:../libBMP280/src/bmp280.c ****             var2 = (*pressure) * ((double)dev->calib_param.dig_p8) / 32768.0;
 2971                           .loc 1 603 18 view .LVU829
 2972 01be 8946                 mov     r9, r1
 2973                   .LVL307:
 604:../libBMP280/src/bmp280.c ****             *pressure = *pressure + (var1 + var2 + ((double)dev->calib_param.dig_p7)) / 16.0;
 2974                           .loc 1 604 13 is_stmt 1 view .LVU830
 604:../libBMP280/src/bmp280.c ****             *pressure = *pressure + (var1 + var2 + ((double)dev->calib_param.dig_p7)) / 16.0;
 2975                           .loc 1 604 35 is_stmt 0 view .LVU831
 2976 01c0 B4F92400             ldrsh   r0, [r4, #36]
 2977 01c4 FFF7FEFF             bl      __aeabi_i2d
 2978                   .LVL308:
 604:../libBMP280/src/bmp280.c ****             *pressure = *pressure + (var1 + var2 + ((double)dev->calib_param.dig_p7)) / 16.0;
 2979                           .loc 1 604 32 view .LVU832
 2980 01c8 0246                 mov     r2, r0
 2981 01ca 0B46                 mov     r3, r1
 2982 01cc 3046                 mov     r0, r6
 2983 01ce 3946                 mov     r1, r7
 2984 01d0 FFF7FEFF             bl      __aeabi_dmul
 2985                   .LVL309:
 604:../libBMP280/src/bmp280.c ****             *pressure = *pressure + (var1 + var2 + ((double)dev->calib_param.dig_p7)) / 16.0;
 2986                           .loc 1 604 18 view .LVU833
 2987 01d4 0022                 movs    r2, #0
 2988 01d6 4FF07C53             mov     r3, #1056964608
 2989 01da FFF7FEFF             bl      __aeabi_dmul
 2990                   .LVL310:
 605:../libBMP280/src/bmp280.c ****         }
 2991                           .loc 1 605 13 is_stmt 1 view .LVU834
 605:../libBMP280/src/bmp280.c ****         }
 2992                           .loc 1 605 43 is_stmt 0 view .LVU835
 2993 01de 0246                 mov     r2, r0
 2994 01e0 0B46                 mov     r3, r1
 2995 01e2 4046                 mov     r0, r8
 2996                   .LVL311:
 605:../libBMP280/src/bmp280.c ****         }
 2997                           .loc 1 605 43 view .LVU836
 2998 01e4 4946                 mov     r1, r9
 2999 01e6 FFF7FEFF             bl      __aeabi_dadd
 3000                   .LVL312:
 3001 01ea 8046                 mov     r8, r0
 3002                   .LVL313:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 81


 605:../libBMP280/src/bmp280.c ****         }
 3003                           .loc 1 605 43 view .LVU837
 3004 01ec 8946                 mov     r9, r1
 605:../libBMP280/src/bmp280.c ****         }
 3005                           .loc 1 605 53 view .LVU838
 3006 01ee B4F92200             ldrsh   r0, [r4, #34]
 3007 01f2 FFF7FEFF             bl      __aeabi_i2d
 3008                   .LVL314:
 605:../libBMP280/src/bmp280.c ****         }
 3009                           .loc 1 605 50 view .LVU839
 3010 01f6 0246                 mov     r2, r0
 3011 01f8 0B46                 mov     r3, r1
 3012 01fa 4046                 mov     r0, r8
 3013 01fc 4946                 mov     r1, r9
 3014 01fe FFF7FEFF             bl      __aeabi_dadd
 3015                   .LVL315:
 605:../libBMP280/src/bmp280.c ****         }
 3016                           .loc 1 605 87 view .LVU840
 3017 0202 0022                 movs    r2, #0
 3018 0204 134B                 ldr     r3, .L175+36
 3019 0206 FFF7FEFF             bl      __aeabi_dmul
 3020                   .LVL316:
 605:../libBMP280/src/bmp280.c ****         }
 3021                           .loc 1 605 35 view .LVU841
 3022 020a 0246                 mov     r2, r0
 3023 020c 0B46                 mov     r3, r1
 3024 020e 3046                 mov     r0, r6
 3025 0210 3946                 mov     r1, r7
 3026 0212 FFF7FEFF             bl      __aeabi_dadd
 3027                   .LVL317:
 605:../libBMP280/src/bmp280.c ****         }
 3028                           .loc 1 605 23 view .LVU842
 3029 0216 C5E90001             strd    r0, [r5]
 3030                   .L170:
 3031                   .LVL318:
 614:../libBMP280/src/bmp280.c **** }
 3032                           .loc 1 614 5 is_stmt 1 view .LVU843
 615:../libBMP280/src/bmp280.c **** 
 3033                           .loc 1 615 1 is_stmt 0 view .LVU844
 3034 021a 5846                 mov     r0, fp
 3035 021c 03B0                 add     sp, sp, #12
 3036                   .LCFI50:
 3037                           .cfi_remember_state
 3038                           .cfi_def_cfa_offset 36
 3039                           @ sp needed
 3040 021e BDE8F08F             pop     {r4, r5, r6, r7, r8, r9, r10, fp, pc}
 3041                   .LVL319:
 3042                   .L171:
 3043                   .LCFI51:
 3044                           .cfi_restore_state
 609:../libBMP280/src/bmp280.c ****             rslt = BMP280_E_DOUBLE_COMP_PRESS;
 3045                           .loc 1 609 13 is_stmt 1 view .LVU845
 609:../libBMP280/src/bmp280.c ****             rslt = BMP280_E_DOUBLE_COMP_PRESS;
 3046                           .loc 1 609 23 is_stmt 0 view .LVU846
 3047 0222 0022                 movs    r2, #0
 3048 0224 0023                 movs    r3, #0
 3049 0226 C5E90023             strd    r2, [r5]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 82


 610:../libBMP280/src/bmp280.c ****         }
 3050                           .loc 1 610 13 is_stmt 1 view .LVU847
 3051                   .LVL320:
 610:../libBMP280/src/bmp280.c ****         }
 3052                           .loc 1 610 18 is_stmt 0 view .LVU848
 3053 022a 6FF0110B             mvn     fp, #17
 3054 022e F4E7                 b       .L170
 3055                   .L176:
 3056                           .align  3
 3057                   .L175:
 3058 0230 00000000             .word   0
 3059 0234 006AB840             .word   1085827584
 3060 0238 0000E03F             .word   1071644672
 3061 023c 0040EF40             .word   1089421312
 3062 0240 0000D03F             .word   1070596096
 3063 0244 0000F040             .word   1089470464
 3064 0248 0000F03F             .word   1072693248
 3065 024c 00003041             .word   1093664768
 3066 0250 0000303F             .word   1060110336
 3067 0254 0000B03F             .word   1068498944
 3068                           .cfi_endproc
 3069                   .LFE14:
 3071                           .section        .text.bmp280_compute_meas_time,"ax",%progbits
 3072                           .align  1
 3073                           .global bmp280_compute_meas_time
 3074                           .syntax unified
 3075                           .thumb
 3076                           .thumb_func
 3077                           .fpu softvfp
 3079                   bmp280_compute_meas_time:
 3080                   .LVL321:
 3081                   .LFB15:
 624:../libBMP280/src/bmp280.c ****     uint32_t period = 0;
 3082                           .loc 1 624 1 is_stmt 1 view -0
 3083                           .cfi_startproc
 3084                           @ args = 0, pretend = 0, frame = 0
 3085                           @ frame_needed = 0, uses_anonymous_args = 0
 624:../libBMP280/src/bmp280.c ****     uint32_t period = 0;
 3086                           .loc 1 624 1 is_stmt 0 view .LVU850
 3087 0000 10B5                 push    {r4, lr}
 3088                   .LCFI52:
 3089                           .cfi_def_cfa_offset 8
 3090                           .cfi_offset 4, -8
 3091                           .cfi_offset 14, -4
 3092 0002 0446                 mov     r4, r0
 625:../libBMP280/src/bmp280.c ****     uint32_t t_dur = 0, p_dur = 0, p_startup = 0;
 3093                           .loc 1 625 5 is_stmt 1 view .LVU851
 3094                   .LVL322:
 626:../libBMP280/src/bmp280.c ****     const uint32_t startup = 1000, period_per_osrs = 2000; /* Typical timings in us. Maximum is +15
 3095                           .loc 1 626 5 view .LVU852
 627:../libBMP280/src/bmp280.c ****     int8_t rslt;
 3096                           .loc 1 627 5 view .LVU853
 628:../libBMP280/src/bmp280.c **** 
 3097                           .loc 1 628 5 view .LVU854
 630:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
 3098                           .loc 1 630 5 view .LVU855
 630:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 83


 3099                           .loc 1 630 12 is_stmt 0 view .LVU856
 3100 0004 FFF7FEFF             bl      null_ptr_check
 3101                   .LVL323:
 631:../libBMP280/src/bmp280.c ****     {
 3102                           .loc 1 631 5 is_stmt 1 view .LVU857
 631:../libBMP280/src/bmp280.c ****     {
 3103                           .loc 1 631 8 is_stmt 0 view .LVU858
 3104 0008 E8B9                 cbnz    r0, .L180
 633:../libBMP280/src/bmp280.c ****         p_dur = period_per_osrs * ((UINT32_C(1) << dev->conf.os_pres) >> 1);
 3105                           .loc 1 633 9 is_stmt 1 view .LVU859
 633:../libBMP280/src/bmp280.c ****         p_dur = period_per_osrs * ((UINT32_C(1) << dev->conf.os_pres) >> 1);
 3106                           .loc 1 633 61 is_stmt 0 view .LVU860
 3107 000a 94F82C00             ldrb    r0, [r4, #44]   @ zero_extendqisi2
 3108                   .LVL324:
 633:../libBMP280/src/bmp280.c ****         p_dur = period_per_osrs * ((UINT32_C(1) << dev->conf.os_pres) >> 1);
 3109                           .loc 1 633 49 view .LVU861
 3110 000e 0122                 movs    r2, #1
 3111 0010 02FA00F0             lsl     r0, r2, r0
 633:../libBMP280/src/bmp280.c ****         p_dur = period_per_osrs * ((UINT32_C(1) << dev->conf.os_pres) >> 1);
 3112                           .loc 1 633 71 view .LVU862
 3113 0014 D040                 lsrs    r0, r0, r2
 633:../libBMP280/src/bmp280.c ****         p_dur = period_per_osrs * ((UINT32_C(1) << dev->conf.os_pres) >> 1);
 3114                           .loc 1 633 15 view .LVU863
 3115 0016 4FF4FA61             mov     r1, #2000
 3116 001a 01FB00F3             mul     r3, r1, r0
 3117                   .LVL325:
 634:../libBMP280/src/bmp280.c ****         p_startup = (dev->conf.os_pres) ? 500 : 0;
 3118                           .loc 1 634 9 is_stmt 1 view .LVU864
 634:../libBMP280/src/bmp280.c ****         p_startup = (dev->conf.os_pres) ? 500 : 0;
 3119                           .loc 1 634 61 is_stmt 0 view .LVU865
 3120 001e 94F82D00             ldrb    r0, [r4, #45]   @ zero_extendqisi2
 634:../libBMP280/src/bmp280.c ****         p_startup = (dev->conf.os_pres) ? 500 : 0;
 3121                           .loc 1 634 49 view .LVU866
 3122 0022 8240                 lsls    r2, r2, r0
 634:../libBMP280/src/bmp280.c ****         p_startup = (dev->conf.os_pres) ? 500 : 0;
 3123                           .loc 1 634 71 view .LVU867
 3124 0024 5208                 lsrs    r2, r2, #1
 634:../libBMP280/src/bmp280.c ****         p_startup = (dev->conf.os_pres) ? 500 : 0;
 3125                           .loc 1 634 15 view .LVU868
 3126 0026 01FB02F2             mul     r2, r1, r2
 3127                   .LVL326:
 635:../libBMP280/src/bmp280.c **** 
 3128                           .loc 1 635 9 is_stmt 1 view .LVU869
 635:../libBMP280/src/bmp280.c **** 
 3129                           .loc 1 635 47 is_stmt 0 view .LVU870
 3130 002a 50B1                 cbz     r0, .L181
 3131 002c 4FF4FA70             mov     r0, #500
 3132                   .L179:
 3133                   .LVL327:
 638:../libBMP280/src/bmp280.c ****         period /= 1000; /* Convert to milliseconds */
 3134                           .loc 1 638 9 is_stmt 1 discriminator 4 view .LVU871
 638:../libBMP280/src/bmp280.c ****         period /= 1000; /* Convert to milliseconds */
 3135                           .loc 1 638 34 is_stmt 0 discriminator 4 view .LVU872
 3136 0030 1844                 add     r0, r0, r3
 3137                   .LVL328:
 638:../libBMP280/src/bmp280.c ****         period /= 1000; /* Convert to milliseconds */
 3138                           .loc 1 638 46 discriminator 4 view .LVU873
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 84


 3139 0032 1044                 add     r0, r0, r2
 638:../libBMP280/src/bmp280.c ****         period /= 1000; /* Convert to milliseconds */
 3140                           .loc 1 638 16 discriminator 4 view .LVU874
 3141 0034 00F2DC50             addw    r0, r0, #1500
 3142                   .LVL329:
 639:../libBMP280/src/bmp280.c ****     }
 3143                           .loc 1 639 9 is_stmt 1 discriminator 4 view .LVU875
 639:../libBMP280/src/bmp280.c ****     }
 3144                           .loc 1 639 16 is_stmt 0 discriminator 4 view .LVU876
 3145 0038 044B                 ldr     r3, .L183
 3146                   .LVL330:
 639:../libBMP280/src/bmp280.c ****     }
 3147                           .loc 1 639 16 discriminator 4 view .LVU877
 3148 003a A3FB0030             umull   r3, r0, r3, r0
 3149                   .LVL331:
 639:../libBMP280/src/bmp280.c ****     }
 3150                           .loc 1 639 16 discriminator 4 view .LVU878
 3151 003e 8009                 lsrs    r0, r0, #6
 3152                   .LVL332:
 639:../libBMP280/src/bmp280.c ****     }
 3153                           .loc 1 639 16 discriminator 4 view .LVU879
 3154 0040 02E0                 b       .L178
 3155                   .LVL333:
 3156                   .L181:
 635:../libBMP280/src/bmp280.c **** 
 3157                           .loc 1 635 47 view .LVU880
 3158 0042 0020                 movs    r0, #0
 3159 0044 F4E7                 b       .L179
 3160                   .LVL334:
 3161                   .L180:
 625:../libBMP280/src/bmp280.c ****     uint32_t t_dur = 0, p_dur = 0, p_startup = 0;
 3162                           .loc 1 625 14 view .LVU881
 3163 0046 0020                 movs    r0, #0
 3164                   .LVL335:
 3165                   .L178:
 642:../libBMP280/src/bmp280.c **** }
 3166                           .loc 1 642 5 is_stmt 1 view .LVU882
 643:../libBMP280/src/bmp280.c **** 
 3167                           .loc 1 643 1 is_stmt 0 view .LVU883
 3168 0048 C0B2                 uxtb    r0, r0
 3169                   .LVL336:
 643:../libBMP280/src/bmp280.c **** 
 3170                           .loc 1 643 1 view .LVU884
 3171 004a 10BD                 pop     {r4, pc}
 3172                   .LVL337:
 3173                   .L184:
 643:../libBMP280/src/bmp280.c **** 
 3174                           .loc 1 643 1 view .LVU885
 3175                           .align  2
 3176                   .L183:
 3177 004c D34D6210             .word   274877907
 3178                           .cfi_endproc
 3179                   .LFE15:
 3181                           .section        .rodata
 3182                           .align  2
 3183                           .set    .LANCHOR0,. + 0
 3184                   .LC0:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 85


 3185 0000 F4                   .byte   -12
 3186 0001 F5                   .byte   -11
 3187                           .text
 3188                   .Letext0:
 3189                           .file 2 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
 3190                           .file 3 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
 3191                           .file 4 "../libBMP280/inc/libBMP280/bmp280_defs.h"
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 86


DEFINED SYMBOLS
                            *ABS*:0000000000000000 bmp280.c
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:16     .text.null_ptr_check:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:23     .text.null_ptr_check:0000000000000000 null_ptr_check
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:86     .text.interleave_data:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:92     .text.interleave_data:0000000000000000 interleave_data
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:154    .text.st_check_boundaries:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:160    .text.st_check_boundaries:0000000000000000 st_check_boundaries
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:218    .text.st_check_boundaries:0000000000000030 $d
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:223    .text.bmp280_get_regs:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:230    .text.bmp280_get_regs:0000000000000000 bmp280_get_regs
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:313    .text.get_calib_param:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:319    .text.get_calib_param:0000000000000000 get_calib_param
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:497    .text.bmp280_set_regs:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:504    .text.bmp280_set_regs:0000000000000000 bmp280_set_regs
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:671    .text.bmp280_soft_reset:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:678    .text.bmp280_soft_reset:0000000000000000 bmp280_soft_reset
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:752    .text.conf_sensor:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:758    .text.conf_sensor:0000000000000000 conf_sensor
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:941    .text.conf_sensor:00000000000000ec $d
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:946    .text.bmp280_init:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:953    .text.bmp280_init:0000000000000000 bmp280_init
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:1094   .text.bmp280_get_config:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:1101   .text.bmp280_get_config:0000000000000000 bmp280_get_config
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:1212   .text.bmp280_set_config:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:1219   .text.bmp280_set_config:0000000000000000 bmp280_set_config
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:1249   .text.bmp280_get_status:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:1256   .text.bmp280_get_status:0000000000000000 bmp280_get_status
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:1340   .text.bmp280_get_power_mode:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:1347   .text.bmp280_get_power_mode:0000000000000000 bmp280_get_power_mode
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:1426   .text.bmp280_set_power_mode:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:1433   .text.bmp280_set_power_mode:0000000000000000 bmp280_set_power_mode
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:1487   .text.bmp280_get_uncomp_data:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:1494   .text.bmp280_get_uncomp_data:0000000000000000 bmp280_get_uncomp_data
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:1615   .text.bmp280_get_comp_temp_32bit:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:1622   .text.bmp280_get_comp_temp_32bit:0000000000000000 bmp280_get_comp_temp_32bit
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:1771   .text.bmp280_get_comp_pres_32bit:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:1778   .text.bmp280_get_comp_pres_32bit:0000000000000000 bmp280_get_comp_pres_32bit
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:2085   .text.bmp280_get_comp_pres_64bit:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:2092   .text.bmp280_get_comp_pres_64bit:0000000000000000 bmp280_get_comp_pres_64bit
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:2452   .text.bmp280_get_comp_pres_64bit:0000000000000268 $d
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:2464   .text.bmp280_get_comp_temp_double:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:2471   .text.bmp280_get_comp_temp_double:0000000000000000 bmp280_get_comp_temp_double
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:2659   .text.bmp280_get_comp_temp_double:00000000000000ec $d
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:2670   .text.bmp280_get_comp_pres_double:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:2677   .text.bmp280_get_comp_pres_double:0000000000000000 bmp280_get_comp_pres_double
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:3058   .text.bmp280_get_comp_pres_double:0000000000000230 $d
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:3072   .text.bmp280_compute_meas_time:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:3079   .text.bmp280_compute_meas_time:0000000000000000 bmp280_compute_meas_time
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:3177   .text.bmp280_compute_meas_time:000000000000004c $d
C:\Users\mike\AppData\Local\Temp\ccttSR4b.s:3182   .rodata:0000000000000000 $d

UNDEFINED SYMBOLS
__aeabi_ldivmod
__aeabi_i2d
__aeabi_dmul
__aeabi_ui2d
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccttSR4b.s                   page 87


__aeabi_dsub
__aeabi_dadd
__aeabi_d2iz
__aeabi_ddiv
__aeabi_dcmpun
__aeabi_dcmpeq