Rev 18 | 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(®_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