Subversion Repositories dashGPS

Rev

Rev 18 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
19 mjames 1
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 1
16 mjames 2
 
3
 
4
   1              		.cpu cortex-m3
5
   2              		.eabi_attribute 20, 1
6
   3              		.eabi_attribute 21, 1
7
   4              		.eabi_attribute 23, 3
8
   5              		.eabi_attribute 24, 1
9
   6              		.eabi_attribute 25, 1
10
   7              		.eabi_attribute 26, 1
11
   8              		.eabi_attribute 30, 1
12
   9              		.eabi_attribute 34, 1
13
  10              		.eabi_attribute 18, 4
14
  11              		.file	"bmp280.c"
15
  12              		.text
16
  13              	.Ltext0:
17
  14              		.cfi_sections	.debug_frame
18
  15              		.section	.text.null_ptr_check,"ax",%progbits
19
  16              		.align	1
20
  17              		.arch armv7-m
21
  18              		.syntax unified
22
  19              		.thumb
23
  20              		.thumb_func
24
  21              		.fpu softvfp
25
  23              	null_ptr_check:
26
  24              	.LVL0:
27
  25              	.LFB16:
28
  26              		.file 1 "../libBMP280/src/bmp280.c"
29
   1:../libBMP280/src/bmp280.c **** /**
30
   2:../libBMP280/src/bmp280.c **** * Copyright (c) 2020 Bosch Sensortec GmbH. All rights reserved.
31
   3:../libBMP280/src/bmp280.c **** *
32
   4:../libBMP280/src/bmp280.c **** * BSD-3-Clause
33
   5:../libBMP280/src/bmp280.c **** *
34
   6:../libBMP280/src/bmp280.c **** * Redistribution and use in source and binary forms, with or without
35
   7:../libBMP280/src/bmp280.c **** * modification, are permitted provided that the following conditions are met:
36
   8:../libBMP280/src/bmp280.c **** *
37
   9:../libBMP280/src/bmp280.c **** * 1. Redistributions of source code must retain the above copyright
38
  10:../libBMP280/src/bmp280.c **** *    notice, this list of conditions and the following disclaimer.
39
  11:../libBMP280/src/bmp280.c **** *
40
  12:../libBMP280/src/bmp280.c **** * 2. Redistributions in binary form must reproduce the above copyright
41
  13:../libBMP280/src/bmp280.c **** *    notice, this list of conditions and the following disclaimer in the
42
  14:../libBMP280/src/bmp280.c **** *    documentation and/or other materials provided with the distribution.
43
  15:../libBMP280/src/bmp280.c **** *
44
  16:../libBMP280/src/bmp280.c **** * 3. Neither the name of the copyright holder nor the names of its
45
  17:../libBMP280/src/bmp280.c **** *    contributors may be used to endorse or promote products derived from
46
  18:../libBMP280/src/bmp280.c **** *    this software without specific prior written permission.
47
  19:../libBMP280/src/bmp280.c **** *
48
  20:../libBMP280/src/bmp280.c **** * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
49
  21:../libBMP280/src/bmp280.c **** * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
50
  22:../libBMP280/src/bmp280.c **** * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
51
  23:../libBMP280/src/bmp280.c **** * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
52
  24:../libBMP280/src/bmp280.c **** * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
53
  25:../libBMP280/src/bmp280.c **** * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
54
  26:../libBMP280/src/bmp280.c **** * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
55
  27:../libBMP280/src/bmp280.c **** * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
56
  28:../libBMP280/src/bmp280.c **** * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
57
  29:../libBMP280/src/bmp280.c **** * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
58
  30:../libBMP280/src/bmp280.c **** * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
59
  31:../libBMP280/src/bmp280.c **** * POSSIBILITY OF SUCH DAMAGE.
60
  32:../libBMP280/src/bmp280.c **** *
19 mjames 61
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 2
16 mjames 62
 
63
 
64
  33:../libBMP280/src/bmp280.c **** * @file	bmp280.c
65
  34:../libBMP280/src/bmp280.c **** * @date	2020-01-10
66
  35:../libBMP280/src/bmp280.c **** * @version	v3.3.4
67
  36:../libBMP280/src/bmp280.c **** *
68
  37:../libBMP280/src/bmp280.c **** */#include "libBMP280/bmp280.h"
69
  38:../libBMP280/src/bmp280.c **** 
70
  39:../libBMP280/src/bmp280.c **** /********************** Static function declarations ************************/
71
  40:../libBMP280/src/bmp280.c **** 
72
  41:../libBMP280/src/bmp280.c **** /*!
73
  42:../libBMP280/src/bmp280.c ****  * @brief This internal API is used to check for null-pointers in the device
74
  43:../libBMP280/src/bmp280.c ****  * structure.
75
  44:../libBMP280/src/bmp280.c ****  *
76
  45:../libBMP280/src/bmp280.c ****  * @param[in] dev : Structure instance of bmp280_dev.
77
  46:../libBMP280/src/bmp280.c ****  *
78
  47:../libBMP280/src/bmp280.c ****  * @return Result of API execution status
79
  48:../libBMP280/src/bmp280.c ****  * @retval Zero for Success, non-zero otherwise.
80
  49:../libBMP280/src/bmp280.c ****  */
81
  50:../libBMP280/src/bmp280.c **** static int8_t null_ptr_check(const struct bmp280_dev *dev);
82
  51:../libBMP280/src/bmp280.c **** 
83
  52:../libBMP280/src/bmp280.c **** /*!
84
  53:../libBMP280/src/bmp280.c ****  * @brief This internal API interleaves the register addresses and respective
85
  54:../libBMP280/src/bmp280.c ****  * register data for a burst write
86
  55:../libBMP280/src/bmp280.c ****  *
87
  56:../libBMP280/src/bmp280.c ****  * @param[in] reg_addr: Register address array
88
  57:../libBMP280/src/bmp280.c ****  * @param[out] temp_buff: Interleaved register address and data array
89
  58:../libBMP280/src/bmp280.c ****  * @param[in] reg_addr: Register data array
90
  59:../libBMP280/src/bmp280.c ****  * @param[in] len : Length of the reg_addr and reg_data arrays
91
  60:../libBMP280/src/bmp280.c ****  *
92
  61:../libBMP280/src/bmp280.c ****  * @return Result of API execution status
93
  62:../libBMP280/src/bmp280.c ****  * @retval Zero for Success, non-zero otherwise.
94
  63:../libBMP280/src/bmp280.c ****  */
95
  64:../libBMP280/src/bmp280.c **** static void interleave_data(const uint8_t *reg_addr, uint8_t *temp_buff, const uint8_t *reg_data, u
96
  65:../libBMP280/src/bmp280.c **** 
97
  66:../libBMP280/src/bmp280.c **** /*!
98
  67:../libBMP280/src/bmp280.c ****  * @brief This API is used to read the calibration parameters used
99
  68:../libBMP280/src/bmp280.c ****  * for calculating the compensated data.
100
  69:../libBMP280/src/bmp280.c ****  *
101
  70:../libBMP280/src/bmp280.c ****  * @param[in] dev : Structure instance of bmp280_dev
102
  71:../libBMP280/src/bmp280.c ****  *
103
  72:../libBMP280/src/bmp280.c ****  * @return Result of API execution
104
  73:../libBMP280/src/bmp280.c ****  * @retval Zero for Success, non-zero otherwise.
105
  74:../libBMP280/src/bmp280.c ****  */
106
  75:../libBMP280/src/bmp280.c **** static int8_t get_calib_param(struct bmp280_dev *dev);
107
  76:../libBMP280/src/bmp280.c **** 
108
  77:../libBMP280/src/bmp280.c **** /*!
109
  78:../libBMP280/src/bmp280.c ****  * @brief This internal API to reset the sensor, restore/set conf, restore/set mode
110
  79:../libBMP280/src/bmp280.c ****  *
111
  80:../libBMP280/src/bmp280.c ****  * @param[in] mode: Desired mode
112
  81:../libBMP280/src/bmp280.c ****  * @param[in] conf : Desired configuration to the bmp280
113
  82:../libBMP280/src/bmp280.c ****  * conf.os_temp, conf.os_pres = BMP280_OS_NONE, BMP280_OS_1X,
114
  83:../libBMP280/src/bmp280.c ****  *     BMP280_OS_2X, BMP280_OS_4X, BMP280_OS_8X, BMP280_OS_16X
115
  84:../libBMP280/src/bmp280.c ****  * conf.mode = BMP280_SLEEP_MODE, BMP280_FORCED_MODE, BMP280_NORMAL_MODE
116
  85:../libBMP280/src/bmp280.c ****  * conf.odr = BMP280_ODR_0_5_MS, BMP280_ODR_62_5_MS, BMP280_ODR_125_MS,
117
  86:../libBMP280/src/bmp280.c ****  *     BMP280_ODR_250_MS, BMP280_ODR_500_MS, BMP280_ODR_1000_MS,
118
  87:../libBMP280/src/bmp280.c ****  *     BMP280_ODR_2000_MS, BMP280_ODR_4000_MS
119
  88:../libBMP280/src/bmp280.c ****  * conf.filter = BMP280_FILTER_OFF, BMP280_FILTER_COEFF_2,
120
  89:../libBMP280/src/bmp280.c ****  *     BMP280_FILTER_COEFF_4, BMP280_FILTER_COEFF_8, BMP280_FILTER_COEFF_16
19 mjames 121
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 3
16 mjames 122
 
123
 
124
  90:../libBMP280/src/bmp280.c ****  * @param[in] dev : Structure instance of bmp280_dev
125
  91:../libBMP280/src/bmp280.c ****  *
126
  92:../libBMP280/src/bmp280.c ****  * @return Result of API execution status
127
  93:../libBMP280/src/bmp280.c ****  * @retval Zero for Success, non-zero otherwise.
128
  94:../libBMP280/src/bmp280.c ****  */
129
  95:../libBMP280/src/bmp280.c **** static int8_t conf_sensor(uint8_t mode, const struct bmp280_config *conf, struct bmp280_dev *dev);
130
  96:../libBMP280/src/bmp280.c **** 
131
  97:../libBMP280/src/bmp280.c **** /*!
132
  98:../libBMP280/src/bmp280.c ****  * @This internal API checks whether the uncompensated temperature and pressure are within the rang
133
  99:../libBMP280/src/bmp280.c ****  *
134
 100:../libBMP280/src/bmp280.c ****  * @param[in] utemperature : uncompensated temperature
135
 101:../libBMP280/src/bmp280.c ****  * @param[in] upressure : uncompensated pressure
136
 102:../libBMP280/src/bmp280.c ****  *
137
 103:../libBMP280/src/bmp280.c ****  * @return Result of API execution status
138
 104:../libBMP280/src/bmp280.c ****  * @retval Zero for Success, non-zero otherwise.
139
 105:../libBMP280/src/bmp280.c ****  */
140
 106:../libBMP280/src/bmp280.c **** static int8_t st_check_boundaries(int32_t utemperature, int32_t upressure);
141
 107:../libBMP280/src/bmp280.c **** 
142
 108:../libBMP280/src/bmp280.c **** /****************** User Function Definitions *******************************/
143
 109:../libBMP280/src/bmp280.c **** 
144
 110:../libBMP280/src/bmp280.c **** /*!
145
 111:../libBMP280/src/bmp280.c ****  * @brief This API reads the data from the given register address of the
146
 112:../libBMP280/src/bmp280.c ****  * sensor.
147
 113:../libBMP280/src/bmp280.c ****  */
148
 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
149
 115:../libBMP280/src/bmp280.c **** {
150
 116:../libBMP280/src/bmp280.c ****     int8_t rslt;
151
 117:../libBMP280/src/bmp280.c **** 
152
 118:../libBMP280/src/bmp280.c ****     rslt = null_ptr_check(dev);
153
 119:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (reg_data != NULL))
154
 120:../libBMP280/src/bmp280.c ****     {
155
 121:../libBMP280/src/bmp280.c ****         /* Mask the register address' MSB if interface selected is SPI */
156
 122:../libBMP280/src/bmp280.c ****         if (dev->intf == BMP280_SPI_INTF)
157
 123:../libBMP280/src/bmp280.c ****         {
158
 124:../libBMP280/src/bmp280.c ****             reg_addr = reg_addr | 0x80;
159
 125:../libBMP280/src/bmp280.c ****         }
160
 126:../libBMP280/src/bmp280.c ****         rslt = dev->read(dev->dev_id, reg_addr, reg_data, len);
161
 127:../libBMP280/src/bmp280.c **** 
162
 128:../libBMP280/src/bmp280.c ****         /* Check for communication error and mask with an internal error code */
163
 129:../libBMP280/src/bmp280.c ****         if (rslt != BMP280_OK)
164
 130:../libBMP280/src/bmp280.c ****         {
165
 131:../libBMP280/src/bmp280.c ****             rslt = BMP280_E_COMM_FAIL;
166
 132:../libBMP280/src/bmp280.c ****         }
167
 133:../libBMP280/src/bmp280.c ****     }
168
 134:../libBMP280/src/bmp280.c ****     else
169
 135:../libBMP280/src/bmp280.c ****     {
170
 136:../libBMP280/src/bmp280.c ****         rslt = BMP280_E_NULL_PTR;
171
 137:../libBMP280/src/bmp280.c ****     }
172
 138:../libBMP280/src/bmp280.c **** 
173
 139:../libBMP280/src/bmp280.c ****     return rslt;
174
 140:../libBMP280/src/bmp280.c **** }
175
 141:../libBMP280/src/bmp280.c **** 
176
 142:../libBMP280/src/bmp280.c **** /*!
177
 143:../libBMP280/src/bmp280.c ****  * @brief This API writes the given data to the register addresses
178
 144:../libBMP280/src/bmp280.c ****  * of the sensor.
179
 145:../libBMP280/src/bmp280.c ****  */
180
 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
19 mjames 181
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 4
16 mjames 182
 
183
 
184
 147:../libBMP280/src/bmp280.c **** {
185
 148:../libBMP280/src/bmp280.c ****     int8_t rslt;
186
 149:../libBMP280/src/bmp280.c ****     uint8_t temp_buff[8]; /* Typically not to write more than 4 registers */
187
 150:../libBMP280/src/bmp280.c ****     uint16_t temp_len;
188
 151:../libBMP280/src/bmp280.c ****     uint8_t reg_addr_cnt;
189
 152:../libBMP280/src/bmp280.c **** 
190
 153:../libBMP280/src/bmp280.c ****     if (len > 4)
191
 154:../libBMP280/src/bmp280.c ****     {
192
 155:../libBMP280/src/bmp280.c ****         len = 4;
193
 156:../libBMP280/src/bmp280.c ****     }
194
 157:../libBMP280/src/bmp280.c ****     rslt = null_ptr_check(dev);
195
 158:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (reg_addr != NULL) && (reg_data != NULL))
196
 159:../libBMP280/src/bmp280.c ****     {
197
 160:../libBMP280/src/bmp280.c ****         if (len != 0)
198
 161:../libBMP280/src/bmp280.c ****         {
199
 162:../libBMP280/src/bmp280.c ****             temp_buff[0] = reg_data[0];
200
 163:../libBMP280/src/bmp280.c **** 
201
 164:../libBMP280/src/bmp280.c ****             /* Mask the register address' MSB if interface selected is SPI */
202
 165:../libBMP280/src/bmp280.c ****             if (dev->intf == BMP280_SPI_INTF)
203
 166:../libBMP280/src/bmp280.c ****             {
204
 167:../libBMP280/src/bmp280.c ****                 /* Converting all the reg address into proper SPI write address
205
 168:../libBMP280/src/bmp280.c ****                  * i.e making MSB(R/`W) bit 0
206
 169:../libBMP280/src/bmp280.c ****                  */
207
 170:../libBMP280/src/bmp280.c ****                 for (reg_addr_cnt = 0; reg_addr_cnt < len; reg_addr_cnt++)
208
 171:../libBMP280/src/bmp280.c ****                 {
209
 172:../libBMP280/src/bmp280.c ****                     reg_addr[reg_addr_cnt] = reg_addr[reg_addr_cnt] & 0x7F;
210
 173:../libBMP280/src/bmp280.c ****                 }
211
 174:../libBMP280/src/bmp280.c ****             }
212
 175:../libBMP280/src/bmp280.c **** 
213
 176:../libBMP280/src/bmp280.c ****             /* Burst write mode */
214
 177:../libBMP280/src/bmp280.c ****             if (len > 1)
215
 178:../libBMP280/src/bmp280.c ****             {
216
 179:../libBMP280/src/bmp280.c ****                 /* Interleave register address w.r.t data for burst write*/
217
 180:../libBMP280/src/bmp280.c ****                 interleave_data(reg_addr, temp_buff, reg_data, len);
218
 181:../libBMP280/src/bmp280.c ****                 temp_len = ((len * 2) - 1);
219
 182:../libBMP280/src/bmp280.c ****             }
220
 183:../libBMP280/src/bmp280.c ****             else
221
 184:../libBMP280/src/bmp280.c ****             {
222
 185:../libBMP280/src/bmp280.c ****                 temp_len = len;
223
 186:../libBMP280/src/bmp280.c ****             }
224
 187:../libBMP280/src/bmp280.c ****             rslt = dev->write(dev->dev_id, reg_addr[0], temp_buff, temp_len);
225
 188:../libBMP280/src/bmp280.c **** 
226
 189:../libBMP280/src/bmp280.c ****             /* Check for communication error and mask with an internal error code */
227
 190:../libBMP280/src/bmp280.c ****             if (rslt != BMP280_OK)
228
 191:../libBMP280/src/bmp280.c ****             {
229
 192:../libBMP280/src/bmp280.c ****                 rslt = BMP280_E_COMM_FAIL;
230
 193:../libBMP280/src/bmp280.c ****             }
231
 194:../libBMP280/src/bmp280.c ****         }
232
 195:../libBMP280/src/bmp280.c ****         else
233
 196:../libBMP280/src/bmp280.c ****         {
234
 197:../libBMP280/src/bmp280.c ****             rslt = BMP280_E_INVALID_LEN;
235
 198:../libBMP280/src/bmp280.c ****         }
236
 199:../libBMP280/src/bmp280.c ****     }
237
 200:../libBMP280/src/bmp280.c ****     else
238
 201:../libBMP280/src/bmp280.c ****     {
239
 202:../libBMP280/src/bmp280.c ****         rslt = BMP280_E_NULL_PTR;
240
 203:../libBMP280/src/bmp280.c ****     }
19 mjames 241
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 5
16 mjames 242
 
243
 
244
 204:../libBMP280/src/bmp280.c **** 
245
 205:../libBMP280/src/bmp280.c ****     return rslt;
246
 206:../libBMP280/src/bmp280.c **** }
247
 207:../libBMP280/src/bmp280.c **** 
248
 208:../libBMP280/src/bmp280.c **** /*!
249
 209:../libBMP280/src/bmp280.c ****  * @brief This API triggers the soft reset of the sensor.
250
 210:../libBMP280/src/bmp280.c ****  */
251
 211:../libBMP280/src/bmp280.c **** int8_t bmp280_soft_reset(const struct bmp280_dev *dev)
252
 212:../libBMP280/src/bmp280.c **** {
253
 213:../libBMP280/src/bmp280.c ****     int8_t rslt;
254
 214:../libBMP280/src/bmp280.c ****     uint8_t reg_addr = BMP280_SOFT_RESET_ADDR;
255
 215:../libBMP280/src/bmp280.c ****     uint8_t soft_rst_cmd = BMP280_SOFT_RESET_CMD;
256
 216:../libBMP280/src/bmp280.c **** 
257
 217:../libBMP280/src/bmp280.c ****     rslt = null_ptr_check(dev);
258
 218:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
259
 219:../libBMP280/src/bmp280.c ****     {
260
 220:../libBMP280/src/bmp280.c ****         rslt = bmp280_set_regs(&reg_addr, &soft_rst_cmd, 1, dev);
261
 221:../libBMP280/src/bmp280.c **** 
262
 222:../libBMP280/src/bmp280.c ****         /* As per the datasheet, startup time is 2 ms. */
263
 223:../libBMP280/src/bmp280.c ****         dev->delay_ms(2);
264
 224:../libBMP280/src/bmp280.c ****     }
265
 225:../libBMP280/src/bmp280.c **** 
266
 226:../libBMP280/src/bmp280.c ****     return rslt;
267
 227:../libBMP280/src/bmp280.c **** }
268
 228:../libBMP280/src/bmp280.c **** 
269
 229:../libBMP280/src/bmp280.c **** /*!
270
 230:../libBMP280/src/bmp280.c ****  * @brief This API is the entry point.
271
 231:../libBMP280/src/bmp280.c ****  * It reads the chip-id and calibration data from the sensor.
272
 232:../libBMP280/src/bmp280.c ****  */
273
 233:../libBMP280/src/bmp280.c **** int8_t bmp280_init(struct bmp280_dev *dev)
274
 234:../libBMP280/src/bmp280.c **** {
275
 235:../libBMP280/src/bmp280.c ****     int8_t rslt;
276
 236:../libBMP280/src/bmp280.c **** 
277
 237:../libBMP280/src/bmp280.c ****     /* Maximum number of tries before timeout */
278
 238:../libBMP280/src/bmp280.c ****     uint8_t try_count = 5;
279
 239:../libBMP280/src/bmp280.c **** 
280
 240:../libBMP280/src/bmp280.c ****     rslt = null_ptr_check(dev);
281
 241:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
282
 242:../libBMP280/src/bmp280.c ****     {
283
 243:../libBMP280/src/bmp280.c ****         while (try_count)
284
 244:../libBMP280/src/bmp280.c ****         {
285
 245:../libBMP280/src/bmp280.c ****             rslt = bmp280_get_regs(BMP280_CHIP_ID_ADDR, &dev->chip_id, 1, dev);
286
 246:../libBMP280/src/bmp280.c **** 
287
 247:../libBMP280/src/bmp280.c ****             /* Check for chip id validity */
288
 248:../libBMP280/src/bmp280.c ****             if ((rslt == BMP280_OK) &&
289
 249:../libBMP280/src/bmp280.c ****                 (dev->chip_id == BMP280_CHIP_ID1 || dev->chip_id == BMP280_CHIP_ID2 || dev->chip_id
290
 250:../libBMP280/src/bmp280.c ****             {
291
 251:../libBMP280/src/bmp280.c ****                 rslt = bmp280_soft_reset(dev);
292
 252:../libBMP280/src/bmp280.c ****                 if (rslt == BMP280_OK)
293
 253:../libBMP280/src/bmp280.c ****                 {
294
 254:../libBMP280/src/bmp280.c ****                     rslt = get_calib_param(dev);
295
 255:../libBMP280/src/bmp280.c ****                 }
296
 256:../libBMP280/src/bmp280.c ****                 break;
297
 257:../libBMP280/src/bmp280.c ****             }
298
 258:../libBMP280/src/bmp280.c **** 
299
 259:../libBMP280/src/bmp280.c ****             /* Wait for 10 ms */
300
 260:../libBMP280/src/bmp280.c ****             dev->delay_ms(10);
19 mjames 301
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 6
16 mjames 302
 
303
 
304
 261:../libBMP280/src/bmp280.c ****             --try_count;
305
 262:../libBMP280/src/bmp280.c ****         }
306
 263:../libBMP280/src/bmp280.c **** 
307
 264:../libBMP280/src/bmp280.c ****         /* Chip id check failed, and timed out */
308
 265:../libBMP280/src/bmp280.c ****         if (!try_count)
309
 266:../libBMP280/src/bmp280.c ****         {
310
 267:../libBMP280/src/bmp280.c ****             rslt = BMP280_E_DEV_NOT_FOUND;
311
 268:../libBMP280/src/bmp280.c ****         }
312
 269:../libBMP280/src/bmp280.c ****         if (rslt == BMP280_OK)
313
 270:../libBMP280/src/bmp280.c ****         {
314
 271:../libBMP280/src/bmp280.c ****             /* Set values to default */
315
 272:../libBMP280/src/bmp280.c ****             dev->conf.filter = BMP280_FILTER_OFF;
316
 273:../libBMP280/src/bmp280.c ****             dev->conf.os_pres = BMP280_OS_NONE;
317
 274:../libBMP280/src/bmp280.c ****             dev->conf.os_temp = BMP280_OS_NONE;
318
 275:../libBMP280/src/bmp280.c ****             dev->conf.odr = BMP280_ODR_0_5_MS;
319
 276:../libBMP280/src/bmp280.c ****             dev->conf.spi3w_en = BMP280_SPI3_WIRE_DISABLE;
320
 277:../libBMP280/src/bmp280.c ****         }
321
 278:../libBMP280/src/bmp280.c ****     }
322
 279:../libBMP280/src/bmp280.c **** 
323
 280:../libBMP280/src/bmp280.c ****     return rslt;
324
 281:../libBMP280/src/bmp280.c **** }
325
 282:../libBMP280/src/bmp280.c **** 
326
 283:../libBMP280/src/bmp280.c **** /*!
327
 284:../libBMP280/src/bmp280.c ****  * @brief This API reads the data from the ctrl_meas register and config
328
 285:../libBMP280/src/bmp280.c ****  * register. It gives the currently set temperature and pressure over-sampling
329
 286:../libBMP280/src/bmp280.c ****  * configuration, power mode configuration, sleep duration and
330
 287:../libBMP280/src/bmp280.c ****  * IIR filter coefficient.
331
 288:../libBMP280/src/bmp280.c ****  */
332
 289:../libBMP280/src/bmp280.c **** int8_t bmp280_get_config(struct bmp280_config *conf, struct bmp280_dev *dev)
333
 290:../libBMP280/src/bmp280.c **** {
334
 291:../libBMP280/src/bmp280.c ****     int8_t rslt;
335
 292:../libBMP280/src/bmp280.c ****     uint8_t temp[2] = { 0, 0 };
336
 293:../libBMP280/src/bmp280.c **** 
337
 294:../libBMP280/src/bmp280.c ****     rslt = null_ptr_check(dev);
338
 295:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (conf != NULL))
339
 296:../libBMP280/src/bmp280.c ****     {
340
 297:../libBMP280/src/bmp280.c ****         rslt = bmp280_get_regs(BMP280_CTRL_MEAS_ADDR, temp, 2, dev);
341
 298:../libBMP280/src/bmp280.c ****         if (rslt == BMP280_OK)
342
 299:../libBMP280/src/bmp280.c ****         {
343
 300:../libBMP280/src/bmp280.c ****             conf->os_temp = BMP280_GET_BITS(BMP280_OS_TEMP, temp[0]);
344
 301:../libBMP280/src/bmp280.c ****             conf->os_pres = BMP280_GET_BITS(BMP280_OS_PRES, temp[0]);
345
 302:../libBMP280/src/bmp280.c ****             conf->odr = BMP280_GET_BITS(BMP280_STANDBY_DURN, temp[1]);
346
 303:../libBMP280/src/bmp280.c ****             conf->filter = BMP280_GET_BITS(BMP280_FILTER, temp[1]);
347
 304:../libBMP280/src/bmp280.c ****             conf->spi3w_en = BMP280_GET_BITS_POS_0(BMP280_SPI3_ENABLE, temp[1]);
348
 305:../libBMP280/src/bmp280.c ****             dev->conf = *conf;
349
 306:../libBMP280/src/bmp280.c ****         }
350
 307:../libBMP280/src/bmp280.c ****     }
351
 308:../libBMP280/src/bmp280.c ****     else
352
 309:../libBMP280/src/bmp280.c ****     {
353
 310:../libBMP280/src/bmp280.c ****         rslt = BMP280_E_NULL_PTR;
354
 311:../libBMP280/src/bmp280.c ****     }
355
 312:../libBMP280/src/bmp280.c **** 
356
 313:../libBMP280/src/bmp280.c ****     return rslt;
357
 314:../libBMP280/src/bmp280.c **** }
358
 315:../libBMP280/src/bmp280.c **** 
359
 316:../libBMP280/src/bmp280.c **** /*!
360
 317:../libBMP280/src/bmp280.c ****  * @brief This API writes the data to the ctrl_meas register and config register.
19 mjames 361
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 7
16 mjames 362
 
363
 
364
 318:../libBMP280/src/bmp280.c ****  * It sets the temperature and pressure over-sampling configuration,
365
 319:../libBMP280/src/bmp280.c ****  * power mode configuration, sleep duration and IIR filter coefficient.
366
 320:../libBMP280/src/bmp280.c ****  */
367
 321:../libBMP280/src/bmp280.c **** int8_t bmp280_set_config(const struct bmp280_config *conf, struct bmp280_dev *dev)
368
 322:../libBMP280/src/bmp280.c **** {
369
 323:../libBMP280/src/bmp280.c ****     return conf_sensor(BMP280_SLEEP_MODE, conf, dev);
370
 324:../libBMP280/src/bmp280.c **** }
371
 325:../libBMP280/src/bmp280.c **** 
372
 326:../libBMP280/src/bmp280.c **** /*!
373
 327:../libBMP280/src/bmp280.c ****  * @brief This API reads the status register
374
 328:../libBMP280/src/bmp280.c ****  */
375
 329:../libBMP280/src/bmp280.c **** int8_t bmp280_get_status(struct bmp280_status *status, const struct bmp280_dev *dev)
376
 330:../libBMP280/src/bmp280.c **** {
377
 331:../libBMP280/src/bmp280.c ****     int8_t rslt;
378
 332:../libBMP280/src/bmp280.c ****     uint8_t temp;
379
 333:../libBMP280/src/bmp280.c **** 
380
 334:../libBMP280/src/bmp280.c ****     rslt = null_ptr_check(dev);
381
 335:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (status != NULL))
382
 336:../libBMP280/src/bmp280.c ****     {
383
 337:../libBMP280/src/bmp280.c ****         rslt = bmp280_get_regs(BMP280_STATUS_ADDR, &temp, 1, dev);
384
 338:../libBMP280/src/bmp280.c ****         status->measuring = BMP280_GET_BITS(BMP280_STATUS_MEAS, temp);
385
 339:../libBMP280/src/bmp280.c ****         status->im_update = BMP280_GET_BITS_POS_0(BMP280_STATUS_IM_UPDATE, temp);
386
 340:../libBMP280/src/bmp280.c ****     }
387
 341:../libBMP280/src/bmp280.c ****     else
388
 342:../libBMP280/src/bmp280.c ****     {
389
 343:../libBMP280/src/bmp280.c ****         rslt = BMP280_E_NULL_PTR;
390
 344:../libBMP280/src/bmp280.c ****     }
391
 345:../libBMP280/src/bmp280.c **** 
392
 346:../libBMP280/src/bmp280.c ****     return rslt;
393
 347:../libBMP280/src/bmp280.c **** }
394
 348:../libBMP280/src/bmp280.c **** 
395
 349:../libBMP280/src/bmp280.c **** /*!
396
 350:../libBMP280/src/bmp280.c ****  * @brief This API reads the power mode.
397
 351:../libBMP280/src/bmp280.c ****  */
398
 352:../libBMP280/src/bmp280.c **** int8_t bmp280_get_power_mode(uint8_t *mode, const struct bmp280_dev *dev)
399
 353:../libBMP280/src/bmp280.c **** {
400
 354:../libBMP280/src/bmp280.c ****     int8_t rslt;
401
 355:../libBMP280/src/bmp280.c ****     uint8_t temp;
402
 356:../libBMP280/src/bmp280.c **** 
403
 357:../libBMP280/src/bmp280.c ****     rslt = null_ptr_check(dev);
404
 358:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (mode != NULL))
405
 359:../libBMP280/src/bmp280.c ****     {
406
 360:../libBMP280/src/bmp280.c ****         rslt = bmp280_get_regs(BMP280_CTRL_MEAS_ADDR, &temp, 1, dev);
407
 361:../libBMP280/src/bmp280.c ****         *mode = BMP280_GET_BITS_POS_0(BMP280_POWER_MODE, temp);
408
 362:../libBMP280/src/bmp280.c ****     }
409
 363:../libBMP280/src/bmp280.c ****     else
410
 364:../libBMP280/src/bmp280.c ****     {
411
 365:../libBMP280/src/bmp280.c ****         rslt = BMP280_E_NULL_PTR;
412
 366:../libBMP280/src/bmp280.c ****     }
413
 367:../libBMP280/src/bmp280.c **** 
414
 368:../libBMP280/src/bmp280.c ****     return rslt;
415
 369:../libBMP280/src/bmp280.c **** }
416
 370:../libBMP280/src/bmp280.c **** 
417
 371:../libBMP280/src/bmp280.c **** /*!
418
 372:../libBMP280/src/bmp280.c ****  * @brief This API writes the power mode.
419
 373:../libBMP280/src/bmp280.c ****  */
420
 374:../libBMP280/src/bmp280.c **** int8_t bmp280_set_power_mode(uint8_t mode, struct bmp280_dev *dev)
19 mjames 421
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 8
16 mjames 422
 
423
 
424
 375:../libBMP280/src/bmp280.c **** {
425
 376:../libBMP280/src/bmp280.c ****     int8_t rslt;
426
 377:../libBMP280/src/bmp280.c **** 
427
 378:../libBMP280/src/bmp280.c ****     rslt = null_ptr_check(dev);
428
 379:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
429
 380:../libBMP280/src/bmp280.c ****     {
430
 381:../libBMP280/src/bmp280.c ****         rslt = conf_sensor(mode, &dev->conf, dev);
431
 382:../libBMP280/src/bmp280.c ****     }
432
 383:../libBMP280/src/bmp280.c **** 
433
 384:../libBMP280/src/bmp280.c ****     return rslt;
434
 385:../libBMP280/src/bmp280.c **** }
435
 386:../libBMP280/src/bmp280.c **** 
436
 387:../libBMP280/src/bmp280.c **** /*!
437
 388:../libBMP280/src/bmp280.c ****  * @brief This API reads the temperature and pressure data registers.
438
 389:../libBMP280/src/bmp280.c ****  * It gives the raw temperature and pressure data .
439
 390:../libBMP280/src/bmp280.c ****  */
440
 391:../libBMP280/src/bmp280.c **** int8_t bmp280_get_uncomp_data(struct bmp280_uncomp_data *uncomp_data, const struct bmp280_dev *dev)
441
 392:../libBMP280/src/bmp280.c **** {
442
 393:../libBMP280/src/bmp280.c ****     int8_t rslt;
443
 394:../libBMP280/src/bmp280.c ****     uint8_t temp[6] = { 0 };
444
 395:../libBMP280/src/bmp280.c **** 
445
 396:../libBMP280/src/bmp280.c ****     rslt = null_ptr_check(dev);
446
 397:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (uncomp_data != NULL))
447
 398:../libBMP280/src/bmp280.c ****     {
448
 399:../libBMP280/src/bmp280.c ****         rslt = bmp280_get_regs(BMP280_PRES_MSB_ADDR, temp, 6, dev);
449
 400:../libBMP280/src/bmp280.c ****         if (rslt == BMP280_OK)
450
 401:../libBMP280/src/bmp280.c ****         {
451
 402:../libBMP280/src/bmp280.c ****             uncomp_data->uncomp_press =
452
 403:../libBMP280/src/bmp280.c ****                 (int32_t) ((((uint32_t) (temp[0])) << 12) | (((uint32_t) (temp[1])) << 4) | ((uint3
453
 404:../libBMP280/src/bmp280.c ****             uncomp_data->uncomp_temp =
454
 405:../libBMP280/src/bmp280.c ****                 (int32_t) ((((int32_t) (temp[3])) << 12) | (((int32_t) (temp[4])) << 4) | (((int32_
455
 406:../libBMP280/src/bmp280.c ****             rslt = st_check_boundaries((int32_t)uncomp_data->uncomp_temp, (int32_t)uncomp_data->unc
456
 407:../libBMP280/src/bmp280.c ****         }
457
 408:../libBMP280/src/bmp280.c ****         else
458
 409:../libBMP280/src/bmp280.c ****         {
459
 410:../libBMP280/src/bmp280.c ****             rslt = BMP280_E_UNCOMP_DATA_CALC;
460
 411:../libBMP280/src/bmp280.c ****         }
461
 412:../libBMP280/src/bmp280.c ****     }
462
 413:../libBMP280/src/bmp280.c ****     else
463
 414:../libBMP280/src/bmp280.c ****     {
464
 415:../libBMP280/src/bmp280.c ****         rslt = BMP280_E_NULL_PTR;
465
 416:../libBMP280/src/bmp280.c ****     }
466
 417:../libBMP280/src/bmp280.c **** 
467
 418:../libBMP280/src/bmp280.c ****     return rslt;
468
 419:../libBMP280/src/bmp280.c **** }
469
 420:../libBMP280/src/bmp280.c **** 
470
 421:../libBMP280/src/bmp280.c **** /*!
471
 422:../libBMP280/src/bmp280.c ****  * @brief This API is used to get the compensated temperature from
472
 423:../libBMP280/src/bmp280.c ****  * uncompensated temperature. This API uses 32 bit integers.
473
 424:../libBMP280/src/bmp280.c ****  */
474
 425:../libBMP280/src/bmp280.c **** int8_t bmp280_get_comp_temp_32bit(int32_t *comp_temp, int32_t uncomp_temp, struct bmp280_dev *dev)
475
 426:../libBMP280/src/bmp280.c **** {
476
 427:../libBMP280/src/bmp280.c ****     int32_t var1, var2;
477
 428:../libBMP280/src/bmp280.c ****     int8_t rslt;
478
 429:../libBMP280/src/bmp280.c **** 
479
 430:../libBMP280/src/bmp280.c ****     rslt = null_ptr_check(dev);
480
 431:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
19 mjames 481
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 9
16 mjames 482
 
483
 
484
 432:../libBMP280/src/bmp280.c ****     {
485
 433:../libBMP280/src/bmp280.c ****         var1 =
486
 434:../libBMP280/src/bmp280.c ****             ((((uncomp_temp / 8) - ((int32_t) dev->calib_param.dig_t1 << 1))) * ((int32_t) dev->cal
487
 435:../libBMP280/src/bmp280.c ****             2048;
488
 436:../libBMP280/src/bmp280.c ****         var2 =
489
 437:../libBMP280/src/bmp280.c ****             (((((uncomp_temp / 16) - ((int32_t) dev->calib_param.dig_t1)) *
490
 438:../libBMP280/src/bmp280.c ****                ((uncomp_temp / 16) - ((int32_t) dev->calib_param.dig_t1))) / 4096) *
491
 439:../libBMP280/src/bmp280.c ****              ((int32_t) dev->calib_param.dig_t3)) /
492
 440:../libBMP280/src/bmp280.c ****             16384;
493
 441:../libBMP280/src/bmp280.c ****         dev->calib_param.t_fine = var1 + var2;
494
 442:../libBMP280/src/bmp280.c ****         *comp_temp = (dev->calib_param.t_fine * 5 + 128) / 256;
495
 443:../libBMP280/src/bmp280.c ****         rslt = BMP280_OK;
496
 444:../libBMP280/src/bmp280.c ****     }
497
 445:../libBMP280/src/bmp280.c ****     else
498
 446:../libBMP280/src/bmp280.c ****     {
499
 447:../libBMP280/src/bmp280.c ****         *comp_temp = 0;
500
 448:../libBMP280/src/bmp280.c ****         rslt = BMP280_E_32BIT_COMP_TEMP;
501
 449:../libBMP280/src/bmp280.c ****     }
502
 450:../libBMP280/src/bmp280.c **** 
503
 451:../libBMP280/src/bmp280.c ****     return rslt;
504
 452:../libBMP280/src/bmp280.c **** }
505
 453:../libBMP280/src/bmp280.c **** 
506
 454:../libBMP280/src/bmp280.c **** /*!
507
 455:../libBMP280/src/bmp280.c ****  * @brief This API is used to get the compensated pressure from
508
 456:../libBMP280/src/bmp280.c ****  * uncompensated pressure. This API uses 32 bit integers.
509
 457:../libBMP280/src/bmp280.c ****  */
510
 458:../libBMP280/src/bmp280.c **** int8_t bmp280_get_comp_pres_32bit(uint32_t *comp_pres, uint32_t uncomp_pres, const struct bmp280_de
511
 459:../libBMP280/src/bmp280.c **** {
512
 460:../libBMP280/src/bmp280.c ****     int32_t var1, var2;
513
 461:../libBMP280/src/bmp280.c ****     int8_t rslt;
514
 462:../libBMP280/src/bmp280.c **** 
515
 463:../libBMP280/src/bmp280.c ****     rslt = null_ptr_check(dev);
516
 464:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
517
 465:../libBMP280/src/bmp280.c ****     {
518
 466:../libBMP280/src/bmp280.c ****         var1 = (((int32_t) dev->calib_param.t_fine) / 2) - (int32_t) 64000;
519
 467:../libBMP280/src/bmp280.c ****         var2 = (((var1 / 4) * (var1 / 4)) / 2048) * ((int32_t) dev->calib_param.dig_p6);
520
 468:../libBMP280/src/bmp280.c ****         var2 = var2 + ((var1 * ((int32_t) dev->calib_param.dig_p5)) * 2);
521
 469:../libBMP280/src/bmp280.c ****         var2 = (var2 / 4) + (((int32_t) dev->calib_param.dig_p4) * 65536);
522
 470:../libBMP280/src/bmp280.c ****         var1 =
523
 471:../libBMP280/src/bmp280.c ****             (((dev->calib_param.dig_p3 * (((var1 / 4) * (var1 / 4)) / 8192)) / 8) +
524
 472:../libBMP280/src/bmp280.c ****              ((((int32_t) dev->calib_param.dig_p2) * var1) / 2)) / 262144;
525
 473:../libBMP280/src/bmp280.c ****         var1 = ((((32768 + var1)) * ((int32_t) dev->calib_param.dig_p1)) / 32768);
526
 474:../libBMP280/src/bmp280.c ****         *comp_pres = (uint32_t)(((int32_t)(1048576 - uncomp_pres) - (var2 / 4096)) * 3125);
527
 475:../libBMP280/src/bmp280.c **** 
528
 476:../libBMP280/src/bmp280.c ****         /* Avoid exception caused by division with zero */
529
 477:../libBMP280/src/bmp280.c ****         if (var1 != 0)
530
 478:../libBMP280/src/bmp280.c ****         {
531
 479:../libBMP280/src/bmp280.c ****             /* Check for overflows against UINT32_MAX/2; if pres is left-shifted by 1 */
532
 480:../libBMP280/src/bmp280.c ****             if (*comp_pres < 0x80000000)
533
 481:../libBMP280/src/bmp280.c ****             {
534
 482:../libBMP280/src/bmp280.c ****                 *comp_pres = (*comp_pres << 1) / ((uint32_t) var1);
535
 483:../libBMP280/src/bmp280.c ****             }
536
 484:../libBMP280/src/bmp280.c ****             else
537
 485:../libBMP280/src/bmp280.c ****             {
538
 486:../libBMP280/src/bmp280.c ****                 *comp_pres = (*comp_pres / (uint32_t) var1) * 2;
539
 487:../libBMP280/src/bmp280.c ****             }
540
 488:../libBMP280/src/bmp280.c ****             var1 = (((int32_t) dev->calib_param.dig_p9) * ((int32_t) (((*comp_pres / 8) * (*comp_pr
19 mjames 541
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 10
16 mjames 542
 
543
 
544
 489:../libBMP280/src/bmp280.c ****                    4096;
545
 490:../libBMP280/src/bmp280.c ****             var2 = (((int32_t) (*comp_pres / 4)) * ((int32_t) dev->calib_param.dig_p8)) / 8192;
546
 491:../libBMP280/src/bmp280.c ****             *comp_pres = (uint32_t) ((int32_t) *comp_pres + ((var1 + var2 + dev->calib_param.dig_p7
547
 492:../libBMP280/src/bmp280.c ****             rslt = BMP280_OK;
548
 493:../libBMP280/src/bmp280.c ****         }
549
 494:../libBMP280/src/bmp280.c ****         else
550
 495:../libBMP280/src/bmp280.c ****         {
551
 496:../libBMP280/src/bmp280.c ****             *comp_pres = 0;
552
 497:../libBMP280/src/bmp280.c ****             rslt = BMP280_E_32BIT_COMP_PRESS;
553
 498:../libBMP280/src/bmp280.c ****         }
554
 499:../libBMP280/src/bmp280.c ****     }
555
 500:../libBMP280/src/bmp280.c **** 
556
 501:../libBMP280/src/bmp280.c ****     return rslt;
557
 502:../libBMP280/src/bmp280.c **** }
558
 503:../libBMP280/src/bmp280.c **** 
559
 504:../libBMP280/src/bmp280.c **** #ifndef BMP280_DISABLE_64BIT_COMPENSATION
560
 505:../libBMP280/src/bmp280.c **** 
561
 506:../libBMP280/src/bmp280.c **** /*!
562
 507:../libBMP280/src/bmp280.c ****  * @brief This API is used to get the compensated pressure from
563
 508:../libBMP280/src/bmp280.c ****  * uncompensated pressure. This API uses 64 bit integers.
564
 509:../libBMP280/src/bmp280.c ****  */
565
 510:../libBMP280/src/bmp280.c **** int8_t bmp280_get_comp_pres_64bit(uint32_t *pressure, uint32_t uncomp_pres, const struct bmp280_dev
566
 511:../libBMP280/src/bmp280.c **** {
567
 512:../libBMP280/src/bmp280.c ****     int64_t var1, var2, p;
568
 513:../libBMP280/src/bmp280.c ****     int8_t rslt;
569
 514:../libBMP280/src/bmp280.c **** 
570
 515:../libBMP280/src/bmp280.c ****     rslt = null_ptr_check(dev);
571
 516:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
572
 517:../libBMP280/src/bmp280.c ****     {
573
 518:../libBMP280/src/bmp280.c ****         var1 = ((int64_t) (dev->calib_param.t_fine)) - 128000;
574
 519:../libBMP280/src/bmp280.c ****         var2 = var1 * var1 * (int64_t) dev->calib_param.dig_p6;
575
 520:../libBMP280/src/bmp280.c ****         var2 = var2 + ((var1 * (int64_t) dev->calib_param.dig_p5) * 131072);
576
 521:../libBMP280/src/bmp280.c ****         var2 = var2 + (((int64_t) dev->calib_param.dig_p4) * 34359738368);
577
 522:../libBMP280/src/bmp280.c ****         var1 = ((var1 * var1 * (int64_t) dev->calib_param.dig_p3) / 256) +
578
 523:../libBMP280/src/bmp280.c ****                ((var1 * (int64_t) dev->calib_param.dig_p2) * 4096);
579
 524:../libBMP280/src/bmp280.c ****         var1 = ((INT64_C(0x800000000000) + var1) * ((int64_t)dev->calib_param.dig_p1)) / 8589934592
580
 525:../libBMP280/src/bmp280.c ****         if (var1 != 0)
581
 526:../libBMP280/src/bmp280.c ****         {
582
 527:../libBMP280/src/bmp280.c ****             p = 1048576 - uncomp_pres;
583
 528:../libBMP280/src/bmp280.c ****             p = (((((p * 2147483648U)) - var2) * 3125) / var1);
584
 529:../libBMP280/src/bmp280.c ****             var1 = (((int64_t) dev->calib_param.dig_p9) * (p / 8192) * (p / 8192)) / 33554432;
585
 530:../libBMP280/src/bmp280.c ****             var2 = (((int64_t) dev->calib_param.dig_p8) * p) / 524288;
586
 531:../libBMP280/src/bmp280.c ****             p = ((p + var1 + var2) / 256) + (((int64_t)dev->calib_param.dig_p7) * 16);
587
 532:../libBMP280/src/bmp280.c ****             *pressure = (uint32_t)p;
588
 533:../libBMP280/src/bmp280.c ****             rslt = BMP280_OK;
589
 534:../libBMP280/src/bmp280.c ****         }
590
 535:../libBMP280/src/bmp280.c ****         else
591
 536:../libBMP280/src/bmp280.c ****         {
592
 537:../libBMP280/src/bmp280.c ****             *pressure = 0;
593
 538:../libBMP280/src/bmp280.c ****             rslt = BMP280_E_64BIT_COMP_PRESS;
594
 539:../libBMP280/src/bmp280.c ****         }
595
 540:../libBMP280/src/bmp280.c ****     }
596
 541:../libBMP280/src/bmp280.c **** 
597
 542:../libBMP280/src/bmp280.c ****     return rslt;
598
 543:../libBMP280/src/bmp280.c **** }
599
 544:../libBMP280/src/bmp280.c **** 
600
 545:../libBMP280/src/bmp280.c **** #endif /* BMP280_DISABLE_64BIT_COMPENSATION */
19 mjames 601
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 11
16 mjames 602
 
603
 
604
 546:../libBMP280/src/bmp280.c **** 
605
 547:../libBMP280/src/bmp280.c **** #ifndef BMP280_DISABLE_DOUBLE_COMPENSATION
606
 548:../libBMP280/src/bmp280.c **** 
607
 549:../libBMP280/src/bmp280.c **** /*!
608
 550:../libBMP280/src/bmp280.c ****  * @brief This API is used to get the compensated temperature from
609
 551:../libBMP280/src/bmp280.c ****  * uncompensated temperature. This API uses double floating precision.
610
 552:../libBMP280/src/bmp280.c ****  */
611
 553:../libBMP280/src/bmp280.c **** int8_t bmp280_get_comp_temp_double(double *temperature, int32_t uncomp_temp, struct bmp280_dev *dev
612
 554:../libBMP280/src/bmp280.c **** {
613
 555:../libBMP280/src/bmp280.c ****     double var1, var2;
614
 556:../libBMP280/src/bmp280.c ****     int8_t rslt;
615
 557:../libBMP280/src/bmp280.c **** 
616
 558:../libBMP280/src/bmp280.c ****     rslt = null_ptr_check(dev);
617
 559:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
618
 560:../libBMP280/src/bmp280.c ****     {
619
 561:../libBMP280/src/bmp280.c ****         var1 = (((double) uncomp_temp) / 16384.0 - ((double) dev->calib_param.dig_t1) / 1024.0) *
620
 562:../libBMP280/src/bmp280.c ****                ((double) dev->calib_param.dig_t2);
621
 563:../libBMP280/src/bmp280.c ****         var2 =
622
 564:../libBMP280/src/bmp280.c ****             ((((double) uncomp_temp) / 131072.0 - ((double) dev->calib_param.dig_t1) / 8192.0) *
623
 565:../libBMP280/src/bmp280.c ****              (((double) uncomp_temp) / 131072.0 - ((double) dev->calib_param.dig_t1) / 8192.0)) *
624
 566:../libBMP280/src/bmp280.c ****             ((double) dev->calib_param.dig_t3);
625
 567:../libBMP280/src/bmp280.c ****         dev->calib_param.t_fine = (int32_t) (var1 + var2);
626
 568:../libBMP280/src/bmp280.c ****         *temperature = ((var1 + var2) / 5120.0);
627
 569:../libBMP280/src/bmp280.c ****     }
628
 570:../libBMP280/src/bmp280.c ****     else
629
 571:../libBMP280/src/bmp280.c ****     {
630
 572:../libBMP280/src/bmp280.c ****         *temperature = 0;
631
 573:../libBMP280/src/bmp280.c ****         rslt = BMP280_E_DOUBLE_COMP_TEMP;
632
 574:../libBMP280/src/bmp280.c ****     }
633
 575:../libBMP280/src/bmp280.c **** 
634
 576:../libBMP280/src/bmp280.c ****     return rslt;
635
 577:../libBMP280/src/bmp280.c **** }
636
 578:../libBMP280/src/bmp280.c **** 
637
 579:../libBMP280/src/bmp280.c **** /*!
638
 580:../libBMP280/src/bmp280.c ****  * @brief This API is used to get the compensated pressure from
639
 581:../libBMP280/src/bmp280.c ****  * uncompensated pressure. This API uses double floating precision.
640
 582:../libBMP280/src/bmp280.c ****  */
641
 583:../libBMP280/src/bmp280.c **** int8_t bmp280_get_comp_pres_double(double *pressure, uint32_t uncomp_pres, const struct bmp280_dev 
642
 584:../libBMP280/src/bmp280.c **** {
643
 585:../libBMP280/src/bmp280.c ****     double var1, var2;
644
 586:../libBMP280/src/bmp280.c ****     int8_t rslt;
645
 587:../libBMP280/src/bmp280.c **** 
646
 588:../libBMP280/src/bmp280.c ****     rslt = null_ptr_check(dev);
647
 589:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
648
 590:../libBMP280/src/bmp280.c ****     {
649
 591:../libBMP280/src/bmp280.c ****         var1 = ((double) dev->calib_param.t_fine / 2.0) - 64000.0;
650
 592:../libBMP280/src/bmp280.c ****         var2 = var1 * var1 * ((double) dev->calib_param.dig_p6) / 32768.0;
651
 593:../libBMP280/src/bmp280.c ****         var2 = var2 + var1 * ((double) dev->calib_param.dig_p5) * 2.0;
652
 594:../libBMP280/src/bmp280.c ****         var2 = (var2 / 4.0) + (((double) dev->calib_param.dig_p4) * 65536.0);
653
 595:../libBMP280/src/bmp280.c ****         var1 = (((double)dev->calib_param.dig_p3) * var1 * var1 / 524288.0 + ((double)dev->calib_pa
654
 596:../libBMP280/src/bmp280.c ****                524288.0;
655
 597:../libBMP280/src/bmp280.c ****         var1 = (1.0 + var1 / 32768.0) * ((double) dev->calib_param.dig_p1);
656
 598:../libBMP280/src/bmp280.c **** 
657
 599:../libBMP280/src/bmp280.c ****         *pressure = 1048576.0 - (double)uncomp_pres;
658
 600:../libBMP280/src/bmp280.c ****         if (var1 < 0 || var1 > 0)
659
 601:../libBMP280/src/bmp280.c ****         {
660
 602:../libBMP280/src/bmp280.c ****             *pressure = (*pressure - (var2 / 4096.0)) * 6250.0 / var1;
19 mjames 661
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 12
16 mjames 662
 
663
 
664
 603:../libBMP280/src/bmp280.c ****             var1 = ((double)dev->calib_param.dig_p9) * (*pressure) * (*pressure) / 2147483648.0;
665
 604:../libBMP280/src/bmp280.c ****             var2 = (*pressure) * ((double)dev->calib_param.dig_p8) / 32768.0;
666
 605:../libBMP280/src/bmp280.c ****             *pressure = *pressure + (var1 + var2 + ((double)dev->calib_param.dig_p7)) / 16.0;
667
 606:../libBMP280/src/bmp280.c ****         }
668
 607:../libBMP280/src/bmp280.c ****         else
669
 608:../libBMP280/src/bmp280.c ****         {
670
 609:../libBMP280/src/bmp280.c ****             *pressure = 0;
671
 610:../libBMP280/src/bmp280.c ****             rslt = BMP280_E_DOUBLE_COMP_PRESS;
672
 611:../libBMP280/src/bmp280.c ****         }
673
 612:../libBMP280/src/bmp280.c ****     }
674
 613:../libBMP280/src/bmp280.c **** 
675
 614:../libBMP280/src/bmp280.c ****     return rslt;
676
 615:../libBMP280/src/bmp280.c **** }
677
 616:../libBMP280/src/bmp280.c **** 
678
 617:../libBMP280/src/bmp280.c **** #endif /* BMP280_DISABLE_DOUBLE_COMPENSATION */
679
 618:../libBMP280/src/bmp280.c **** 
680
 619:../libBMP280/src/bmp280.c **** /*!
681
 620:../libBMP280/src/bmp280.c ****  * @brief This API computes the measurement time in milliseconds for the
682
 621:../libBMP280/src/bmp280.c ****  * active configuration
683
 622:../libBMP280/src/bmp280.c ****  */
684
 623:../libBMP280/src/bmp280.c **** uint8_t bmp280_compute_meas_time(const struct bmp280_dev *dev)
685
 624:../libBMP280/src/bmp280.c **** {
686
 625:../libBMP280/src/bmp280.c ****     uint32_t period = 0;
687
 626:../libBMP280/src/bmp280.c ****     uint32_t t_dur = 0, p_dur = 0, p_startup = 0;
688
 627:../libBMP280/src/bmp280.c ****     const uint32_t startup = 1000, period_per_osrs = 2000; /* Typical timings in us. Maximum is +15
689
 628:../libBMP280/src/bmp280.c ****     int8_t rslt;
690
 629:../libBMP280/src/bmp280.c **** 
691
 630:../libBMP280/src/bmp280.c ****     rslt = null_ptr_check(dev);
692
 631:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
693
 632:../libBMP280/src/bmp280.c ****     {
694
 633:../libBMP280/src/bmp280.c ****         t_dur = period_per_osrs * ((UINT32_C(1) << dev->conf.os_temp) >> 1);
695
 634:../libBMP280/src/bmp280.c ****         p_dur = period_per_osrs * ((UINT32_C(1) << dev->conf.os_pres) >> 1);
696
 635:../libBMP280/src/bmp280.c ****         p_startup = (dev->conf.os_pres) ? 500 : 0;
697
 636:../libBMP280/src/bmp280.c **** 
698
 637:../libBMP280/src/bmp280.c ****         /* Increment the value to next highest integer if greater than 0.5 */
699
 638:../libBMP280/src/bmp280.c ****         period = startup + t_dur + p_startup + p_dur + 500;
700
 639:../libBMP280/src/bmp280.c ****         period /= 1000; /* Convert to milliseconds */
701
 640:../libBMP280/src/bmp280.c ****     }
702
 641:../libBMP280/src/bmp280.c **** 
703
 642:../libBMP280/src/bmp280.c ****     return (uint8_t)period;
704
 643:../libBMP280/src/bmp280.c **** }
705
 644:../libBMP280/src/bmp280.c **** 
706
 645:../libBMP280/src/bmp280.c **** /****************** Static Function Definitions *******************************/
707
 646:../libBMP280/src/bmp280.c **** 
708
 647:../libBMP280/src/bmp280.c **** /*!
709
 648:../libBMP280/src/bmp280.c ****  * @brief This internal API is used to check for null-pointers in the device
710
 649:../libBMP280/src/bmp280.c ****  * structure.
711
 650:../libBMP280/src/bmp280.c ****  */
712
 651:../libBMP280/src/bmp280.c **** static int8_t null_ptr_check(const struct bmp280_dev *dev)
713
 652:../libBMP280/src/bmp280.c **** {
714
  27              		.loc 1 652 1 view -0
715
  28              		.cfi_startproc
716
  29              		@ args = 0, pretend = 0, frame = 0
717
  30              		@ frame_needed = 0, uses_anonymous_args = 0
718
  31              		@ link register save eliminated.
719
 653:../libBMP280/src/bmp280.c ****     int8_t rslt;
720
  32              		.loc 1 653 5 view .LVU1
19 mjames 721
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 13
16 mjames 722
 
723
 
724
 654:../libBMP280/src/bmp280.c **** 
725
 655:../libBMP280/src/bmp280.c ****     if ((dev == NULL) || (dev->read == NULL) || (dev->write == NULL) || (dev->delay_ms == NULL))
726
  33              		.loc 1 655 5 view .LVU2
727
  34              		.loc 1 655 8 is_stmt 0 view .LVU3
728
  35 0000 50B1     		cbz	r0, .L3
729
  36              		.loc 1 655 30 discriminator 1 view .LVU4
730
  37 0002 4268     		ldr	r2, [r0, #4]
731
  38              		.loc 1 655 23 discriminator 1 view .LVU5
732
  39 0004 5AB1     		cbz	r2, .L4
733
  40              		.loc 1 655 53 discriminator 2 view .LVU6
734
  41 0006 8268     		ldr	r2, [r0, #8]
735
  42              		.loc 1 655 46 discriminator 2 view .LVU7
736
  43 0008 62B1     		cbz	r2, .L5
737
  44              		.loc 1 655 77 discriminator 3 view .LVU8
738
  45 000a C368     		ldr	r3, [r0, #12]
739
  46              		.loc 1 655 70 discriminator 3 view .LVU9
740
  47 000c 0BB1     		cbz	r3, .L7
741
 656:../libBMP280/src/bmp280.c ****     {
742
 657:../libBMP280/src/bmp280.c ****         /* Null-pointer found */
743
 658:../libBMP280/src/bmp280.c ****         rslt = BMP280_E_NULL_PTR;
744
 659:../libBMP280/src/bmp280.c ****     }
745
 660:../libBMP280/src/bmp280.c ****     else
746
 661:../libBMP280/src/bmp280.c ****     {
747
 662:../libBMP280/src/bmp280.c ****         rslt = BMP280_OK;
748
  48              		.loc 1 662 14 view .LVU10
749
  49 000e 0020     		movs	r0, #0
750
  50              	.LVL1:
751
 663:../libBMP280/src/bmp280.c ****     }
752
 664:../libBMP280/src/bmp280.c **** 
753
 665:../libBMP280/src/bmp280.c ****     return rslt;
754
  51              		.loc 1 665 5 is_stmt 1 view .LVU11
755
 666:../libBMP280/src/bmp280.c **** }
756
  52              		.loc 1 666 1 is_stmt 0 view .LVU12
757
  53 0010 7047     		bx	lr
758
  54              	.LVL2:
759
  55              	.L7:
760
 658:../libBMP280/src/bmp280.c ****     }
761
  56              		.loc 1 658 14 view .LVU13
762
  57 0012 4FF0FF30 		mov	r0, #-1
763
  58              	.LVL3:
764
 658:../libBMP280/src/bmp280.c ****     }
765
  59              		.loc 1 658 14 view .LVU14
766
  60 0016 7047     		bx	lr
767
  61              	.LVL4:
768
  62              	.L3:
769
 658:../libBMP280/src/bmp280.c ****     }
770
  63              		.loc 1 658 14 view .LVU15
771
  64 0018 4FF0FF30 		mov	r0, #-1
772
  65              	.LVL5:
773
 658:../libBMP280/src/bmp280.c ****     }
774
  66              		.loc 1 658 14 view .LVU16
775
  67 001c 7047     		bx	lr
776
  68              	.LVL6:
777
  69              	.L4:
778
 658:../libBMP280/src/bmp280.c ****     }
779
  70              		.loc 1 658 14 view .LVU17
780
  71 001e 4FF0FF30 		mov	r0, #-1
19 mjames 781
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 14
16 mjames 782
 
783
 
784
  72              	.LVL7:
785
 658:../libBMP280/src/bmp280.c ****     }
786
  73              		.loc 1 658 14 view .LVU18
787
  74 0022 7047     		bx	lr
788
  75              	.LVL8:
789
  76              	.L5:
790
 658:../libBMP280/src/bmp280.c ****     }
791
  77              		.loc 1 658 14 view .LVU19
792
  78 0024 4FF0FF30 		mov	r0, #-1
793
  79              	.LVL9:
794
 658:../libBMP280/src/bmp280.c ****     }
795
  80              		.loc 1 658 14 view .LVU20
796
  81 0028 7047     		bx	lr
797
  82              		.cfi_endproc
798
  83              	.LFE16:
799
  85              		.section	.text.interleave_data,"ax",%progbits
800
  86              		.align	1
801
  87              		.syntax unified
802
  88              		.thumb
803
  89              		.thumb_func
804
  90              		.fpu softvfp
805
  92              	interleave_data:
806
  93              	.LVL10:
807
  94              	.LFB17:
808
 667:../libBMP280/src/bmp280.c **** 
809
 668:../libBMP280/src/bmp280.c **** /*!
810
 669:../libBMP280/src/bmp280.c ****  * @brief This internal API interleaves the register addresses and respective
811
 670:../libBMP280/src/bmp280.c ****  * register data for a burst write
812
 671:../libBMP280/src/bmp280.c ****  */
813
 672:../libBMP280/src/bmp280.c **** static void interleave_data(const uint8_t *reg_addr, uint8_t *temp_buff, const uint8_t *reg_data, u
814
 673:../libBMP280/src/bmp280.c **** {
815
  95              		.loc 1 673 1 is_stmt 1 view -0
816
  96              		.cfi_startproc
817
  97              		@ args = 0, pretend = 0, frame = 0
818
  98              		@ frame_needed = 0, uses_anonymous_args = 0
819
  99              		@ link register save eliminated.
820
 100              		.loc 1 673 1 is_stmt 0 view .LVU22
821
 101 0000 70B4     		push	{r4, r5, r6}
822
 102              	.LCFI0:
823
 103              		.cfi_def_cfa_offset 12
824
 104              		.cfi_offset 4, -12
825
 105              		.cfi_offset 5, -8
826
 106              		.cfi_offset 6, -4
827
 674:../libBMP280/src/bmp280.c ****     uint8_t index;
828
 107              		.loc 1 674 5 is_stmt 1 view .LVU23
829
 675:../libBMP280/src/bmp280.c **** 
830
 676:../libBMP280/src/bmp280.c ****     for (index = 1; index < len; index++)
831
 108              		.loc 1 676 5 view .LVU24
832
 109              	.LVL11:
833
 110              		.loc 1 676 16 is_stmt 0 view .LVU25
834
 111 0002 0124     		movs	r4, #1
835
 112              	.LVL12:
836
 113              	.L9:
837
 114              		.loc 1 676 5 discriminator 1 view .LVU26
838
 115 0004 9C42     		cmp	r4, r3
839
 116 0006 09D2     		bcs	.L12
840
 677:../libBMP280/src/bmp280.c ****     {
19 mjames 841
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 15
16 mjames 842
 
843
 
844
 678:../libBMP280/src/bmp280.c ****         temp_buff[(index * 2) - 1] = reg_addr[index];
845
 117              		.loc 1 678 9 is_stmt 1 discriminator 3 view .LVU27
846
 118              		.loc 1 678 26 is_stmt 0 discriminator 3 view .LVU28
847
 119 0008 6500     		lsls	r5, r4, #1
848
 120              		.loc 1 678 18 discriminator 3 view .LVU29
849
 121 000a 013D     		subs	r5, r5, #1
850
 122              		.loc 1 678 46 discriminator 3 view .LVU30
851
 123 000c 065D     		ldrb	r6, [r0, r4]	@ zero_extendqisi2
852
 124              		.loc 1 678 36 discriminator 3 view .LVU31
853
 125 000e 4E55     		strb	r6, [r1, r5]
854
 679:../libBMP280/src/bmp280.c ****         temp_buff[index * 2] = reg_data[index];
855
 126              		.loc 1 679 9 is_stmt 1 discriminator 3 view .LVU32
856
 127              		.loc 1 679 40 is_stmt 0 discriminator 3 view .LVU33
857
 128 0010 155D     		ldrb	r5, [r2, r4]	@ zero_extendqisi2
858
 129              		.loc 1 679 30 discriminator 3 view .LVU34
859
 130 0012 01F81450 		strb	r5, [r1, r4, lsl #1]
860
 676:../libBMP280/src/bmp280.c ****     {
861
 131              		.loc 1 676 39 discriminator 3 view .LVU35
862
 132 0016 0134     		adds	r4, r4, #1
863
 133              	.LVL13:
864
 676:../libBMP280/src/bmp280.c ****     {
865
 134              		.loc 1 676 39 discriminator 3 view .LVU36
866
 135 0018 E4B2     		uxtb	r4, r4
867
 136              	.LVL14:
868
 676:../libBMP280/src/bmp280.c ****     {
869
 137              		.loc 1 676 39 discriminator 3 view .LVU37
870
 138 001a F3E7     		b	.L9
871
 139              	.L12:
872
 680:../libBMP280/src/bmp280.c ****     }
873
 681:../libBMP280/src/bmp280.c **** }
874
 140              		.loc 1 681 1 view .LVU38
875
 141 001c 70BC     		pop	{r4, r5, r6}
876
 142              	.LCFI1:
877
 143              		.cfi_restore 6
878
 144              		.cfi_restore 5
879
 145              		.cfi_restore 4
880
 146              		.cfi_def_cfa_offset 0
881
 147              	.LVL15:
882
 148              		.loc 1 681 1 view .LVU39
883
 149 001e 7047     		bx	lr
884
 150              		.cfi_endproc
885
 151              	.LFE17:
886
 153              		.section	.text.st_check_boundaries,"ax",%progbits
887
 154              		.align	1
888
 155              		.syntax unified
889
 156              		.thumb
890
 157              		.thumb_func
891
 158              		.fpu softvfp
892
 160              	st_check_boundaries:
893
 161              	.LVL16:
894
 162              	.LFB20:
895
 682:../libBMP280/src/bmp280.c **** 
896
 683:../libBMP280/src/bmp280.c **** /*!
897
 684:../libBMP280/src/bmp280.c ****  * @brief This API is used to read the calibration parameters used
898
 685:../libBMP280/src/bmp280.c ****  * for calculating the compensated data.
899
 686:../libBMP280/src/bmp280.c ****  */
900
 687:../libBMP280/src/bmp280.c **** static int8_t get_calib_param(struct bmp280_dev *dev)
19 mjames 901
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 16
16 mjames 902
 
903
 
904
 688:../libBMP280/src/bmp280.c **** {
905
 689:../libBMP280/src/bmp280.c ****     int8_t rslt;
906
 690:../libBMP280/src/bmp280.c ****     uint8_t temp[BMP280_CALIB_DATA_SIZE] = { 0 };
907
 691:../libBMP280/src/bmp280.c **** 
908
 692:../libBMP280/src/bmp280.c ****     rslt = null_ptr_check(dev);
909
 693:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
910
 694:../libBMP280/src/bmp280.c ****     {
911
 695:../libBMP280/src/bmp280.c ****         rslt = bmp280_get_regs(BMP280_DIG_T1_LSB_ADDR, temp, BMP280_CALIB_DATA_SIZE, dev);
912
 696:../libBMP280/src/bmp280.c ****         if (rslt == BMP280_OK)
913
 697:../libBMP280/src/bmp280.c ****         {
914
 698:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_t1 =
915
 699:../libBMP280/src/bmp280.c ****                 (uint16_t) (((uint16_t) temp[BMP280_DIG_T1_MSB_POS] << 8) | ((uint16_t) temp[BMP280
916
 700:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_t2 =
917
 701:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_T2_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
918
 702:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_t3 =
919
 703:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_T3_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
920
 704:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p1 =
921
 705:../libBMP280/src/bmp280.c ****                 (uint16_t) (((uint16_t) temp[BMP280_DIG_P1_MSB_POS] << 8) | ((uint16_t) temp[BMP280
922
 706:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p2 =
923
 707:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P2_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
924
 708:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p3 =
925
 709:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P3_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
926
 710:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p4 =
927
 711:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P4_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
928
 712:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p5 =
929
 713:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P5_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
930
 714:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p6 =
931
 715:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P6_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
932
 716:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p7 =
933
 717:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P7_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
934
 718:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p8 =
935
 719:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P8_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
936
 720:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p9 =
937
 721:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P9_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
938
 722:../libBMP280/src/bmp280.c ****         }
939
 723:../libBMP280/src/bmp280.c ****     }
940
 724:../libBMP280/src/bmp280.c **** 
941
 725:../libBMP280/src/bmp280.c ****     return rslt;
942
 726:../libBMP280/src/bmp280.c **** }
943
 727:../libBMP280/src/bmp280.c **** 
944
 728:../libBMP280/src/bmp280.c **** /*!
945
 729:../libBMP280/src/bmp280.c ****  * @brief This internal API to reset the sensor, restore/set conf, restore/set mode
946
 730:../libBMP280/src/bmp280.c ****  */
947
 731:../libBMP280/src/bmp280.c **** static int8_t conf_sensor(uint8_t mode, const struct bmp280_config *conf, struct bmp280_dev *dev)
948
 732:../libBMP280/src/bmp280.c **** {
949
 733:../libBMP280/src/bmp280.c ****     int8_t rslt;
950
 734:../libBMP280/src/bmp280.c ****     uint8_t temp[2] = { 0, 0 };
951
 735:../libBMP280/src/bmp280.c ****     uint8_t reg_addr[2] = { BMP280_CTRL_MEAS_ADDR, BMP280_CONFIG_ADDR };
952
 736:../libBMP280/src/bmp280.c **** 
953
 737:../libBMP280/src/bmp280.c ****     rslt = null_ptr_check(dev);
954
 738:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (conf != NULL))
955
 739:../libBMP280/src/bmp280.c ****     {
956
 740:../libBMP280/src/bmp280.c ****         rslt = bmp280_get_regs(BMP280_CTRL_MEAS_ADDR, temp, 2, dev);
957
 741:../libBMP280/src/bmp280.c ****         if (rslt == BMP280_OK)
958
 742:../libBMP280/src/bmp280.c ****         {
959
 743:../libBMP280/src/bmp280.c ****             /* Here the intention is to put the device to sleep
960
 744:../libBMP280/src/bmp280.c ****              * within the shortest period of time
19 mjames 961
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 17
16 mjames 962
 
963
 
964
 745:../libBMP280/src/bmp280.c ****              */
965
 746:../libBMP280/src/bmp280.c ****             rslt = bmp280_soft_reset(dev);
966
 747:../libBMP280/src/bmp280.c ****             if (rslt == BMP280_OK)
967
 748:../libBMP280/src/bmp280.c ****             {
968
 749:../libBMP280/src/bmp280.c ****                 temp[0] = BMP280_SET_BITS(temp[0], BMP280_OS_TEMP, conf->os_temp);
969
 750:../libBMP280/src/bmp280.c ****                 temp[0] = BMP280_SET_BITS(temp[0], BMP280_OS_PRES, conf->os_pres);
970
 751:../libBMP280/src/bmp280.c ****                 temp[1] = BMP280_SET_BITS(temp[1], BMP280_STANDBY_DURN, conf->odr);
971
 752:../libBMP280/src/bmp280.c ****                 temp[1] = BMP280_SET_BITS(temp[1], BMP280_FILTER, conf->filter);
972
 753:../libBMP280/src/bmp280.c ****                 temp[1] = BMP280_SET_BITS_POS_0(temp[1], BMP280_SPI3_ENABLE, conf->spi3w_en);
973
 754:../libBMP280/src/bmp280.c ****                 rslt = bmp280_set_regs(reg_addr, temp, 2, dev);
974
 755:../libBMP280/src/bmp280.c ****                 if (rslt == BMP280_OK)
975
 756:../libBMP280/src/bmp280.c ****                 {
976
 757:../libBMP280/src/bmp280.c ****                     dev->conf = *conf;
977
 758:../libBMP280/src/bmp280.c ****                     if (mode != BMP280_SLEEP_MODE)
978
 759:../libBMP280/src/bmp280.c ****                     {
979
 760:../libBMP280/src/bmp280.c ****                         /* Write only the power mode register in a separate write */
980
 761:../libBMP280/src/bmp280.c ****                         temp[0] = BMP280_SET_BITS_POS_0(temp[0], BMP280_POWER_MODE, mode);
981
 762:../libBMP280/src/bmp280.c ****                         rslt = bmp280_set_regs(reg_addr, temp, 1, dev);
982
 763:../libBMP280/src/bmp280.c ****                     }
983
 764:../libBMP280/src/bmp280.c ****                 }
984
 765:../libBMP280/src/bmp280.c ****             }
985
 766:../libBMP280/src/bmp280.c ****         }
986
 767:../libBMP280/src/bmp280.c ****     }
987
 768:../libBMP280/src/bmp280.c ****     else
988
 769:../libBMP280/src/bmp280.c ****     {
989
 770:../libBMP280/src/bmp280.c ****         rslt = BMP280_E_NULL_PTR;
990
 771:../libBMP280/src/bmp280.c ****     }
991
 772:../libBMP280/src/bmp280.c **** 
992
 773:../libBMP280/src/bmp280.c ****     return rslt;
993
 774:../libBMP280/src/bmp280.c **** }
994
 775:../libBMP280/src/bmp280.c **** 
995
 776:../libBMP280/src/bmp280.c **** /*!
996
 777:../libBMP280/src/bmp280.c ****  * @This internal API checks whether the uncompensated temperature and pressure are within the rang
997
 778:../libBMP280/src/bmp280.c ****  */
998
 779:../libBMP280/src/bmp280.c **** static int8_t st_check_boundaries(int32_t utemperature, int32_t upressure)
999
 780:../libBMP280/src/bmp280.c **** {
1000
 163              		.loc 1 780 1 is_stmt 1 view -0
1001
 164              		.cfi_startproc
1002
 165              		@ args = 0, pretend = 0, frame = 0
1003
 166              		@ frame_needed = 0, uses_anonymous_args = 0
1004
 167              		@ link register save eliminated.
1005
 781:../libBMP280/src/bmp280.c ****     int8_t rslt = 0;
1006
 168              		.loc 1 781 5 view .LVU41
1007
 782:../libBMP280/src/bmp280.c **** 
1008
 783:../libBMP280/src/bmp280.c ****     /* check UT and UP for valid range */
1009
 784:../libBMP280/src/bmp280.c ****     if ((utemperature <= BMP280_ST_ADC_T_MIN || utemperature >= BMP280_ST_ADC_T_MAX) &&
1010
 169              		.loc 1 784 5 view .LVU42
1011
 170              		.loc 1 784 46 is_stmt 0 view .LVU43
1012
 171 0000 0138     		subs	r0, r0, #1
1013
 172              	.LVL17:
1014
 173              		.loc 1 784 8 view .LVU44
1015
 174 0002 0B4B     		ldr	r3, .L20
1016
 175 0004 9842     		cmp	r0, r3
1017
 176 0006 02D9     		bls	.L14
1018
 785:../libBMP280/src/bmp280.c ****         (upressure <= BMP280_ST_ADC_P_MIN || upressure >= BMP280_ST_ADC_P_MAX))
1019
 177              		.loc 1 785 43 discriminator 1 view .LVU45
1020
 178 0008 4A1E     		subs	r2, r1, #1
19 mjames 1021
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 18
16 mjames 1022
 
1023
 
1024
 784:../libBMP280/src/bmp280.c ****         (upressure <= BMP280_ST_ADC_P_MIN || upressure >= BMP280_ST_ADC_P_MAX))
1025
 179              		.loc 1 784 86 discriminator 1 view .LVU46
1026
 180 000a 9A42     		cmp	r2, r3
1027
 181 000c 0AD8     		bhi	.L16
1028
 182              	.L14:
1029
 786:../libBMP280/src/bmp280.c ****     {
1030
 787:../libBMP280/src/bmp280.c ****         rslt = BMP280_E_UNCOMP_TEMP_AND_PRESS_RANGE;
1031
 788:../libBMP280/src/bmp280.c ****     }
1032
 789:../libBMP280/src/bmp280.c ****     else if (utemperature <= BMP280_ST_ADC_T_MIN || utemperature >= BMP280_ST_ADC_T_MAX)
1033
 183              		.loc 1 789 10 is_stmt 1 view .LVU47
1034
 184              		.loc 1 789 13 is_stmt 0 view .LVU48
1035
 185 000e 084B     		ldr	r3, .L20
1036
 186 0010 9842     		cmp	r0, r3
1037
 187 0012 0AD8     		bhi	.L17
1038
 790:../libBMP280/src/bmp280.c ****     {
1039
 791:../libBMP280/src/bmp280.c ****         rslt = BMP280_E_UNCOMP_TEMP_RANGE;
1040
 792:../libBMP280/src/bmp280.c ****     }
1041
 793:../libBMP280/src/bmp280.c ****     else if (upressure <= BMP280_ST_ADC_P_MIN || upressure >= BMP280_ST_ADC_P_MAX)
1042
 188              		.loc 1 793 10 is_stmt 1 view .LVU49
1043
 189              		.loc 1 793 47 is_stmt 0 view .LVU50
1044
 190 0014 0139     		subs	r1, r1, #1
1045
 191              	.LVL18:
1046
 192              		.loc 1 793 13 view .LVU51
1047
 193 0016 9942     		cmp	r1, r3
1048
 194 0018 01D8     		bhi	.L19
1049
 794:../libBMP280/src/bmp280.c ****     {
1050
 795:../libBMP280/src/bmp280.c ****         rslt = BMP280_E_UNCOMP_PRES_RANGE;
1051
 796:../libBMP280/src/bmp280.c ****     }
1052
 797:../libBMP280/src/bmp280.c ****     else
1053
 798:../libBMP280/src/bmp280.c ****     {
1054
 799:../libBMP280/src/bmp280.c ****         rslt = BMP280_OK;
1055
 195              		.loc 1 799 14 view .LVU52
1056
 196 001a 0020     		movs	r0, #0
1057
 197              	.LVL19:
1058
 800:../libBMP280/src/bmp280.c ****     }
1059
 801:../libBMP280/src/bmp280.c **** 
1060
 802:../libBMP280/src/bmp280.c ****     return rslt;
1061
 198              		.loc 1 802 5 is_stmt 1 view .LVU53
1062
 803:../libBMP280/src/bmp280.c **** }
1063
 199              		.loc 1 803 1 is_stmt 0 view .LVU54
1064
 200 001c 7047     		bx	lr
1065
 201              	.LVL20:
1066
 202              	.L19:
1067
 795:../libBMP280/src/bmp280.c ****     }
1068
 203              		.loc 1 795 14 view .LVU55
1069
 204 001e 6FF00A00 		mvn	r0, #10
1070
 205 0022 7047     		bx	lr
1071
 206              	.LVL21:
1072
 207              	.L16:
1073
 787:../libBMP280/src/bmp280.c ****     }
1074
 208              		.loc 1 787 14 view .LVU56
1075
 209 0024 6FF00B00 		mvn	r0, #11
1076
 210 0028 7047     		bx	lr
1077
 211              	.L17:
1078
 791:../libBMP280/src/bmp280.c ****     }
1079
 212              		.loc 1 791 14 view .LVU57
1080
 213 002a 6FF00900 		mvn	r0, #9
19 mjames 1081
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 19
16 mjames 1082
 
1083
 
1084
 214 002e 7047     		bx	lr
1085
 215              	.L21:
1086
 216              		.align	2
1087
 217              	.L20:
1088
 218 0030 EEFF0F00 		.word	1048558
1089
 219              		.cfi_endproc
1090
 220              	.LFE20:
1091
 222              		.section	.text.bmp280_get_regs,"ax",%progbits
1092
 223              		.align	1
1093
 224              		.global	bmp280_get_regs
1094
 225              		.syntax unified
1095
 226              		.thumb
1096
 227              		.thumb_func
1097
 228              		.fpu softvfp
1098
 230              	bmp280_get_regs:
1099
 231              	.LVL22:
1100
 232              	.LFB0:
1101
 115:../libBMP280/src/bmp280.c ****     int8_t rslt;
1102
 233              		.loc 1 115 1 is_stmt 1 view -0
1103
 234              		.cfi_startproc
1104
 235              		@ args = 0, pretend = 0, frame = 0
1105
 236              		@ frame_needed = 0, uses_anonymous_args = 0
1106
 115:../libBMP280/src/bmp280.c ****     int8_t rslt;
1107
 237              		.loc 1 115 1 is_stmt 0 view .LVU59
1108
 238 0000 2DE9F041 		push	{r4, r5, r6, r7, r8, lr}
1109
 239              	.LCFI2:
1110
 240              		.cfi_def_cfa_offset 24
1111
 241              		.cfi_offset 4, -24
1112
 242              		.cfi_offset 5, -20
1113
 243              		.cfi_offset 6, -16
1114
 244              		.cfi_offset 7, -12
1115
 245              		.cfi_offset 8, -8
1116
 246              		.cfi_offset 14, -4
1117
 247 0004 0646     		mov	r6, r0
1118
 248 0006 0D46     		mov	r5, r1
1119
 249 0008 9046     		mov	r8, r2
1120
 250 000a 1C46     		mov	r4, r3
1121
 116:../libBMP280/src/bmp280.c **** 
1122
 251              		.loc 1 116 5 is_stmt 1 view .LVU60
1123
 118:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (reg_data != NULL))
1124
 252              		.loc 1 118 5 view .LVU61
1125
 118:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (reg_data != NULL))
1126
 253              		.loc 1 118 12 is_stmt 0 view .LVU62
1127
 254 000c 1846     		mov	r0, r3
1128
 255              	.LVL23:
1129
 118:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (reg_data != NULL))
1130
 256              		.loc 1 118 12 view .LVU63
1131
 257 000e FFF7FEFF 		bl	null_ptr_check
1132
 258              	.LVL24:
1133
 119:../libBMP280/src/bmp280.c ****     {
1134
 259              		.loc 1 119 5 is_stmt 1 view .LVU64
1135
 119:../libBMP280/src/bmp280.c ****     {
1136
 260              		.loc 1 119 8 is_stmt 0 view .LVU65
1137
 261 0012 78B9     		cbnz	r0, .L25
1138
 119:../libBMP280/src/bmp280.c ****     {
1139
 262              		.loc 1 119 29 discriminator 1 view .LVU66
1140
 263 0014 8DB1     		cbz	r5, .L26
19 mjames 1141
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 20
16 mjames 1142
 
1143
 
1144
 122:../libBMP280/src/bmp280.c ****         {
1145
 264              		.loc 1 122 9 is_stmt 1 view .LVU67
1146
 122:../libBMP280/src/bmp280.c ****         {
1147
 265              		.loc 1 122 16 is_stmt 0 view .LVU68
1148
 266 0016 A378     		ldrb	r3, [r4, #2]	@ zero_extendqisi2
1149
 122:../libBMP280/src/bmp280.c ****         {
1150
 267              		.loc 1 122 12 view .LVU69
1151
 268 0018 0BB9     		cbnz	r3, .L24
1152
 124:../libBMP280/src/bmp280.c ****         }
1153
 269              		.loc 1 124 13 is_stmt 1 view .LVU70
1154
 124:../libBMP280/src/bmp280.c ****         }
1155
 270              		.loc 1 124 22 is_stmt 0 view .LVU71
1156
 271 001a 46F08006 		orr	r6, r6, #128
1157
 272              	.LVL25:
1158
 273              	.L24:
1159
 126:../libBMP280/src/bmp280.c **** 
1160
 274              		.loc 1 126 9 is_stmt 1 view .LVU72
1161
 126:../libBMP280/src/bmp280.c **** 
1162
 275              		.loc 1 126 19 is_stmt 0 view .LVU73
1163
 276 001e 6768     		ldr	r7, [r4, #4]
1164
 126:../libBMP280/src/bmp280.c **** 
1165
 277              		.loc 1 126 16 view .LVU74
1166
 278 0020 4346     		mov	r3, r8
1167
 279 0022 2A46     		mov	r2, r5
1168
 280 0024 3146     		mov	r1, r6
1169
 281 0026 6078     		ldrb	r0, [r4, #1]	@ zero_extendqisi2
1170
 282              	.LVL26:
1171
 126:../libBMP280/src/bmp280.c **** 
1172
 283              		.loc 1 126 16 view .LVU75
1173
 284 0028 B847     		blx	r7
1174
 285              	.LVL27:
1175
 129:../libBMP280/src/bmp280.c ****         {
1176
 286              		.loc 1 129 9 is_stmt 1 view .LVU76
1177
 129:../libBMP280/src/bmp280.c ****         {
1178
 287              		.loc 1 129 12 is_stmt 0 view .LVU77
1179
 288 002a 0346     		mov	r3, r0
1180
 289 002c 40B9     		cbnz	r0, .L29
1181
 290              	.LVL28:
1182
 291              	.L23:
1183
 139:../libBMP280/src/bmp280.c **** }
1184
 292              		.loc 1 139 5 is_stmt 1 view .LVU78
1185
 140:../libBMP280/src/bmp280.c **** 
1186
 293              		.loc 1 140 1 is_stmt 0 view .LVU79
1187
 294 002e 1846     		mov	r0, r3
1188
 295 0030 BDE8F081 		pop	{r4, r5, r6, r7, r8, pc}
1189
 296              	.LVL29:
1190
 297              	.L25:
1191
 136:../libBMP280/src/bmp280.c ****     }
1192
 298              		.loc 1 136 14 view .LVU80
1193
 299 0034 4FF0FF33 		mov	r3, #-1
1194
 300 0038 F9E7     		b	.L23
1195
 301              	.L26:
1196
 302 003a 4FF0FF33 		mov	r3, #-1
1197
 303 003e F6E7     		b	.L23
1198
 304              	.LVL30:
1199
 305              	.L29:
1200
 131:../libBMP280/src/bmp280.c ****         }
19 mjames 1201
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 21
16 mjames 1202
 
1203
 
1204
 306              		.loc 1 131 18 view .LVU81
1205
 307 0040 6FF00303 		mvn	r3, #3
1206
 308 0044 F3E7     		b	.L23
1207
 309              		.cfi_endproc
1208
 310              	.LFE0:
1209
 312              		.section	.text.get_calib_param,"ax",%progbits
1210
 313              		.align	1
1211
 314              		.syntax unified
1212
 315              		.thumb
1213
 316              		.thumb_func
1214
 317              		.fpu softvfp
1215
 319              	get_calib_param:
1216
 320              	.LVL31:
1217
 321              	.LFB18:
1218
 688:../libBMP280/src/bmp280.c ****     int8_t rslt;
1219
 322              		.loc 1 688 1 is_stmt 1 view -0
1220
 323              		.cfi_startproc
1221
 324              		@ args = 0, pretend = 0, frame = 24
1222
 325              		@ frame_needed = 0, uses_anonymous_args = 0
1223
 688:../libBMP280/src/bmp280.c ****     int8_t rslt;
1224
 326              		.loc 1 688 1 is_stmt 0 view .LVU83
1225
 327 0000 10B5     		push	{r4, lr}
1226
 328              	.LCFI3:
1227
 329              		.cfi_def_cfa_offset 8
1228
 330              		.cfi_offset 4, -8
1229
 331              		.cfi_offset 14, -4
1230
 332 0002 86B0     		sub	sp, sp, #24
1231
 333              	.LCFI4:
1232
 334              		.cfi_def_cfa_offset 32
1233
 335 0004 0446     		mov	r4, r0
1234
 689:../libBMP280/src/bmp280.c ****     uint8_t temp[BMP280_CALIB_DATA_SIZE] = { 0 };
1235
 336              		.loc 1 689 5 is_stmt 1 view .LVU84
1236
 690:../libBMP280/src/bmp280.c **** 
1237
 337              		.loc 1 690 5 view .LVU85
1238
 690:../libBMP280/src/bmp280.c **** 
1239
 338              		.loc 1 690 13 is_stmt 0 view .LVU86
1240
 339 0006 0023     		movs	r3, #0
1241
 340 0008 0093     		str	r3, [sp]
1242
 341 000a 0193     		str	r3, [sp, #4]
1243
 342 000c 0293     		str	r3, [sp, #8]
1244
 343 000e 0393     		str	r3, [sp, #12]
1245
 344 0010 0493     		str	r3, [sp, #16]
1246
 345 0012 0593     		str	r3, [sp, #20]
1247
 692:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
1248
 346              		.loc 1 692 5 is_stmt 1 view .LVU87
1249
 692:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
1250
 347              		.loc 1 692 12 is_stmt 0 view .LVU88
1251
 348 0014 FFF7FEFF 		bl	null_ptr_check
1252
 349              	.LVL32:
1253
 693:../libBMP280/src/bmp280.c ****     {
1254
 350              		.loc 1 693 5 is_stmt 1 view .LVU89
1255
 693:../libBMP280/src/bmp280.c ****     {
1256
 351              		.loc 1 693 8 is_stmt 0 view .LVU90
1257
 352 0018 0346     		mov	r3, r0
1258
 353 001a 10B1     		cbz	r0, .L33
1259
 354              	.L31:
1260
 355              	.LVL33:
19 mjames 1261
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 22
16 mjames 1262
 
1263
 
1264
 725:../libBMP280/src/bmp280.c **** }
1265
 356              		.loc 1 725 5 is_stmt 1 view .LVU91
1266
 726:../libBMP280/src/bmp280.c **** 
1267
 357              		.loc 1 726 1 is_stmt 0 view .LVU92
1268
 358 001c 1846     		mov	r0, r3
1269
 359 001e 06B0     		add	sp, sp, #24
1270
 360              	.LCFI5:
1271
 361              		.cfi_remember_state
1272
 362              		.cfi_def_cfa_offset 8
1273
 363              		@ sp needed
1274
 364 0020 10BD     		pop	{r4, pc}
1275
 365              	.LVL34:
1276
 366              	.L33:
1277
 367              	.LCFI6:
1278
 368              		.cfi_restore_state
1279
 695:../libBMP280/src/bmp280.c ****         if (rslt == BMP280_OK)
1280
 369              		.loc 1 695 9 is_stmt 1 view .LVU93
1281
 695:../libBMP280/src/bmp280.c ****         if (rslt == BMP280_OK)
1282
 370              		.loc 1 695 16 is_stmt 0 view .LVU94
1283
 371 0022 2346     		mov	r3, r4
1284
 372 0024 1822     		movs	r2, #24
1285
 373 0026 6946     		mov	r1, sp
1286
 374 0028 8820     		movs	r0, #136
1287
 375              	.LVL35:
1288
 695:../libBMP280/src/bmp280.c ****         if (rslt == BMP280_OK)
1289
 376              		.loc 1 695 16 view .LVU95
1290
 377 002a FFF7FEFF 		bl	bmp280_get_regs
1291
 378              	.LVL36:
1292
 696:../libBMP280/src/bmp280.c ****         {
1293
 379              		.loc 1 696 9 is_stmt 1 view .LVU96
1294
 696:../libBMP280/src/bmp280.c ****         {
1295
 380              		.loc 1 696 12 is_stmt 0 view .LVU97
1296
 381 002e 0346     		mov	r3, r0
1297
 382 0030 0028     		cmp	r0, #0
1298
 383 0032 F3D1     		bne	.L31
1299
 698:../libBMP280/src/bmp280.c ****                 (uint16_t) (((uint16_t) temp[BMP280_DIG_T1_MSB_POS] << 8) | ((uint16_t) temp[BMP280
1300
 384              		.loc 1 698 13 is_stmt 1 view .LVU98
1301
 699:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_t2 =
1302
 385              		.loc 1 699 45 is_stmt 0 view .LVU99
1303
 386 0034 9DF80110 		ldrb	r1, [sp, #1]	@ zero_extendqisi2
1304
 699:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_t2 =
1305
 387              		.loc 1 699 93 view .LVU100
1306
 388 0038 9DF80020 		ldrb	r2, [sp]	@ zero_extendqisi2
1307
 699:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_t2 =
1308
 389              		.loc 1 699 17 view .LVU101
1309
 390 003c 42EA0122 		orr	r2, r2, r1, lsl #8
1310
 698:../libBMP280/src/bmp280.c ****                 (uint16_t) (((uint16_t) temp[BMP280_DIG_T1_MSB_POS] << 8) | ((uint16_t) temp[BMP280
1311
 391              		.loc 1 698 37 view .LVU102
1312
 392 0040 2282     		strh	r2, [r4, #16]	@ movhi
1313
 700:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_T2_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
1314
 393              		.loc 1 700 13 is_stmt 1 view .LVU103
1315
 701:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_t3 =
1316
 394              		.loc 1 701 43 is_stmt 0 view .LVU104
1317
 395 0042 9DF80310 		ldrb	r1, [sp, #3]	@ zero_extendqisi2
1318
 701:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_t3 =
1319
 396              		.loc 1 701 90 view .LVU105
1320
 397 0046 9DF80220 		ldrb	r2, [sp, #2]	@ zero_extendqisi2
19 mjames 1321
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 23
16 mjames 1322
 
1323
 
1324
 701:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_t3 =
1325
 398              		.loc 1 701 17 view .LVU106
1326
 399 004a 42EA0122 		orr	r2, r2, r1, lsl #8
1327
 700:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_T2_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
1328
 400              		.loc 1 700 37 view .LVU107
1329
 401 004e 6282     		strh	r2, [r4, #18]	@ movhi
1330
 702:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_T3_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
1331
 402              		.loc 1 702 13 is_stmt 1 view .LVU108
1332
 703:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p1 =
1333
 403              		.loc 1 703 43 is_stmt 0 view .LVU109
1334
 404 0050 9DF80510 		ldrb	r1, [sp, #5]	@ zero_extendqisi2
1335
 703:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p1 =
1336
 405              		.loc 1 703 90 view .LVU110
1337
 406 0054 9DF80420 		ldrb	r2, [sp, #4]	@ zero_extendqisi2
1338
 703:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p1 =
1339
 407              		.loc 1 703 17 view .LVU111
1340
 408 0058 42EA0122 		orr	r2, r2, r1, lsl #8
1341
 702:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_T3_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
1342
 409              		.loc 1 702 37 view .LVU112
1343
 410 005c A282     		strh	r2, [r4, #20]	@ movhi
1344
 704:../libBMP280/src/bmp280.c ****                 (uint16_t) (((uint16_t) temp[BMP280_DIG_P1_MSB_POS] << 8) | ((uint16_t) temp[BMP280
1345
 411              		.loc 1 704 13 is_stmt 1 view .LVU113
1346
 705:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p2 =
1347
 412              		.loc 1 705 45 is_stmt 0 view .LVU114
1348
 413 005e 9DF80710 		ldrb	r1, [sp, #7]	@ zero_extendqisi2
1349
 705:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p2 =
1350
 414              		.loc 1 705 93 view .LVU115
1351
 415 0062 9DF80620 		ldrb	r2, [sp, #6]	@ zero_extendqisi2
1352
 705:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p2 =
1353
 416              		.loc 1 705 17 view .LVU116
1354
 417 0066 42EA0122 		orr	r2, r2, r1, lsl #8
1355
 704:../libBMP280/src/bmp280.c ****                 (uint16_t) (((uint16_t) temp[BMP280_DIG_P1_MSB_POS] << 8) | ((uint16_t) temp[BMP280
1356
 418              		.loc 1 704 37 view .LVU117
1357
 419 006a E282     		strh	r2, [r4, #22]	@ movhi
1358
 706:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P2_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
1359
 420              		.loc 1 706 13 is_stmt 1 view .LVU118
1360
 707:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p3 =
1361
 421              		.loc 1 707 43 is_stmt 0 view .LVU119
1362
 422 006c 9DF80910 		ldrb	r1, [sp, #9]	@ zero_extendqisi2
1363
 707:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p3 =
1364
 423              		.loc 1 707 90 view .LVU120
1365
 424 0070 9DF80820 		ldrb	r2, [sp, #8]	@ zero_extendqisi2
1366
 707:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p3 =
1367
 425              		.loc 1 707 17 view .LVU121
1368
 426 0074 42EA0122 		orr	r2, r2, r1, lsl #8
1369
 706:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P2_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
1370
 427              		.loc 1 706 37 view .LVU122
1371
 428 0078 2283     		strh	r2, [r4, #24]	@ movhi
1372
 708:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P3_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
1373
 429              		.loc 1 708 13 is_stmt 1 view .LVU123
1374
 709:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p4 =
1375
 430              		.loc 1 709 43 is_stmt 0 view .LVU124
1376
 431 007a 9DF80B10 		ldrb	r1, [sp, #11]	@ zero_extendqisi2
1377
 709:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p4 =
1378
 432              		.loc 1 709 90 view .LVU125
1379
 433 007e 9DF80A20 		ldrb	r2, [sp, #10]	@ zero_extendqisi2
1380
 709:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p4 =
19 mjames 1381
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 24
16 mjames 1382
 
1383
 
1384
 434              		.loc 1 709 17 view .LVU126
1385
 435 0082 42EA0122 		orr	r2, r2, r1, lsl #8
1386
 708:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P3_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
1387
 436              		.loc 1 708 37 view .LVU127
1388
 437 0086 6283     		strh	r2, [r4, #26]	@ movhi
1389
 710:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P4_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
1390
 438              		.loc 1 710 13 is_stmt 1 view .LVU128
1391
 711:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p5 =
1392
 439              		.loc 1 711 43 is_stmt 0 view .LVU129
1393
 440 0088 9DF80D10 		ldrb	r1, [sp, #13]	@ zero_extendqisi2
1394
 711:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p5 =
1395
 441              		.loc 1 711 90 view .LVU130
1396
 442 008c 9DF80C20 		ldrb	r2, [sp, #12]	@ zero_extendqisi2
1397
 711:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p5 =
1398
 443              		.loc 1 711 17 view .LVU131
1399
 444 0090 42EA0122 		orr	r2, r2, r1, lsl #8
1400
 710:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P4_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
1401
 445              		.loc 1 710 37 view .LVU132
1402
 446 0094 A283     		strh	r2, [r4, #28]	@ movhi
1403
 712:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P5_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
1404
 447              		.loc 1 712 13 is_stmt 1 view .LVU133
1405
 713:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p6 =
1406
 448              		.loc 1 713 43 is_stmt 0 view .LVU134
1407
 449 0096 9DF80F10 		ldrb	r1, [sp, #15]	@ zero_extendqisi2
1408
 713:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p6 =
1409
 450              		.loc 1 713 90 view .LVU135
1410
 451 009a 9DF80E20 		ldrb	r2, [sp, #14]	@ zero_extendqisi2
1411
 713:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p6 =
1412
 452              		.loc 1 713 17 view .LVU136
1413
 453 009e 42EA0122 		orr	r2, r2, r1, lsl #8
1414
 712:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P5_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
1415
 454              		.loc 1 712 37 view .LVU137
1416
 455 00a2 E283     		strh	r2, [r4, #30]	@ movhi
1417
 714:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P6_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
1418
 456              		.loc 1 714 13 is_stmt 1 view .LVU138
1419
 715:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p7 =
1420
 457              		.loc 1 715 43 is_stmt 0 view .LVU139
1421
 458 00a4 9DF81110 		ldrb	r1, [sp, #17]	@ zero_extendqisi2
1422
 715:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p7 =
1423
 459              		.loc 1 715 90 view .LVU140
1424
 460 00a8 9DF81020 		ldrb	r2, [sp, #16]	@ zero_extendqisi2
1425
 715:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p7 =
1426
 461              		.loc 1 715 17 view .LVU141
1427
 462 00ac 42EA0122 		orr	r2, r2, r1, lsl #8
1428
 714:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P6_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
1429
 463              		.loc 1 714 37 view .LVU142
1430
 464 00b0 2284     		strh	r2, [r4, #32]	@ movhi
1431
 716:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P7_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
1432
 465              		.loc 1 716 13 is_stmt 1 view .LVU143
1433
 717:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p8 =
1434
 466              		.loc 1 717 43 is_stmt 0 view .LVU144
1435
 467 00b2 9DF81310 		ldrb	r1, [sp, #19]	@ zero_extendqisi2
1436
 717:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p8 =
1437
 468              		.loc 1 717 90 view .LVU145
1438
 469 00b6 9DF81220 		ldrb	r2, [sp, #18]	@ zero_extendqisi2
1439
 717:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p8 =
1440
 470              		.loc 1 717 17 view .LVU146
19 mjames 1441
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 25
16 mjames 1442
 
1443
 
1444
 471 00ba 42EA0122 		orr	r2, r2, r1, lsl #8
1445
 716:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P7_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
1446
 472              		.loc 1 716 37 view .LVU147
1447
 473 00be 6284     		strh	r2, [r4, #34]	@ movhi
1448
 718:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P8_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
1449
 474              		.loc 1 718 13 is_stmt 1 view .LVU148
1450
 719:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p9 =
1451
 475              		.loc 1 719 43 is_stmt 0 view .LVU149
1452
 476 00c0 9DF81510 		ldrb	r1, [sp, #21]	@ zero_extendqisi2
1453
 719:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p9 =
1454
 477              		.loc 1 719 90 view .LVU150
1455
 478 00c4 9DF81420 		ldrb	r2, [sp, #20]	@ zero_extendqisi2
1456
 719:../libBMP280/src/bmp280.c ****             dev->calib_param.dig_p9 =
1457
 479              		.loc 1 719 17 view .LVU151
1458
 480 00c8 42EA0122 		orr	r2, r2, r1, lsl #8
1459
 718:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P8_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
1460
 481              		.loc 1 718 37 view .LVU152
1461
 482 00cc A284     		strh	r2, [r4, #36]	@ movhi
1462
 720:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P9_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
1463
 483              		.loc 1 720 13 is_stmt 1 view .LVU153
1464
 721:../libBMP280/src/bmp280.c ****         }
1465
 484              		.loc 1 721 43 is_stmt 0 view .LVU154
1466
 485 00ce 9DF81710 		ldrb	r1, [sp, #23]	@ zero_extendqisi2
1467
 721:../libBMP280/src/bmp280.c ****         }
1468
 486              		.loc 1 721 90 view .LVU155
1469
 487 00d2 9DF81620 		ldrb	r2, [sp, #22]	@ zero_extendqisi2
1470
 721:../libBMP280/src/bmp280.c ****         }
1471
 488              		.loc 1 721 17 view .LVU156
1472
 489 00d6 42EA0122 		orr	r2, r2, r1, lsl #8
1473
 720:../libBMP280/src/bmp280.c ****                 (int16_t) (((int16_t) temp[BMP280_DIG_P9_MSB_POS] << 8) | ((int16_t) temp[BMP280_DI
1474
 490              		.loc 1 720 37 view .LVU157
1475
 491 00da E284     		strh	r2, [r4, #38]	@ movhi
1476
 492 00dc 9EE7     		b	.L31
1477
 493              		.cfi_endproc
1478
 494              	.LFE18:
1479
 496              		.section	.text.bmp280_set_regs,"ax",%progbits
1480
 497              		.align	1
1481
 498              		.global	bmp280_set_regs
1482
 499              		.syntax unified
1483
 500              		.thumb
1484
 501              		.thumb_func
1485
 502              		.fpu softvfp
1486
 504              	bmp280_set_regs:
1487
 505              	.LVL37:
1488
 506              	.LFB1:
1489
 147:../libBMP280/src/bmp280.c ****     int8_t rslt;
1490
 507              		.loc 1 147 1 is_stmt 1 view -0
1491
 508              		.cfi_startproc
1492
 509              		@ args = 0, pretend = 0, frame = 8
1493
 510              		@ frame_needed = 0, uses_anonymous_args = 0
1494
 147:../libBMP280/src/bmp280.c ****     int8_t rslt;
1495
 511              		.loc 1 147 1 is_stmt 0 view .LVU159
1496
 512 0000 F0B5     		push	{r4, r5, r6, r7, lr}
1497
 513              	.LCFI7:
1498
 514              		.cfi_def_cfa_offset 20
1499
 515              		.cfi_offset 4, -20
1500
 516              		.cfi_offset 5, -16
19 mjames 1501
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 26
16 mjames 1502
 
1503
 
1504
 517              		.cfi_offset 6, -12
1505
 518              		.cfi_offset 7, -8
1506
 519              		.cfi_offset 14, -4
1507
 520 0002 83B0     		sub	sp, sp, #12
1508
 521              	.LCFI8:
1509
 522              		.cfi_def_cfa_offset 32
1510
 523 0004 0546     		mov	r5, r0
1511
 524 0006 0F46     		mov	r7, r1
1512
 525 0008 1446     		mov	r4, r2
1513
 526 000a 1E46     		mov	r6, r3
1514
 148:../libBMP280/src/bmp280.c ****     uint8_t temp_buff[8]; /* Typically not to write more than 4 registers */
1515
 527              		.loc 1 148 5 is_stmt 1 view .LVU160
1516
 149:../libBMP280/src/bmp280.c ****     uint16_t temp_len;
1517
 528              		.loc 1 149 5 view .LVU161
1518
 150:../libBMP280/src/bmp280.c ****     uint8_t reg_addr_cnt;
1519
 529              		.loc 1 150 5 view .LVU162
1520
 151:../libBMP280/src/bmp280.c **** 
1521
 530              		.loc 1 151 5 view .LVU163
1522
 153:../libBMP280/src/bmp280.c ****     {
1523
 531              		.loc 1 153 5 view .LVU164
1524
 153:../libBMP280/src/bmp280.c ****     {
1525
 532              		.loc 1 153 8 is_stmt 0 view .LVU165
1526
 533 000c 042A     		cmp	r2, #4
1527
 534 000e 00D9     		bls	.L35
1528
 155:../libBMP280/src/bmp280.c ****     }
1529
 535              		.loc 1 155 13 view .LVU166
1530
 536 0010 0424     		movs	r4, #4
1531
 537              	.L35:
1532
 538              	.LVL38:
1533
 157:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (reg_addr != NULL) && (reg_data != NULL))
1534
 539              		.loc 1 157 5 is_stmt 1 view .LVU167
1535
 157:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (reg_addr != NULL) && (reg_data != NULL))
1536
 540              		.loc 1 157 12 is_stmt 0 view .LVU168
1537
 541 0012 3046     		mov	r0, r6
1538
 542              	.LVL39:
1539
 157:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (reg_addr != NULL) && (reg_data != NULL))
1540
 543              		.loc 1 157 12 view .LVU169
1541
 544 0014 FFF7FEFF 		bl	null_ptr_check
1542
 545              	.LVL40:
1543
 158:../libBMP280/src/bmp280.c ****     {
1544
 546              		.loc 1 158 5 is_stmt 1 view .LVU170
1545
 158:../libBMP280/src/bmp280.c ****     {
1546
 547              		.loc 1 158 8 is_stmt 0 view .LVU171
1547
 548 0018 40BB     		cbnz	r0, .L43
1548
 158:../libBMP280/src/bmp280.c ****     {
1549
 549              		.loc 1 158 29 discriminator 1 view .LVU172
1550
 550 001a 55B3     		cbz	r5, .L44
1551
 158:../libBMP280/src/bmp280.c ****     {
1552
 551              		.loc 1 158 51 discriminator 2 view .LVU173
1553
 552 001c 67B3     		cbz	r7, .L45
1554
 160:../libBMP280/src/bmp280.c ****         {
1555
 553              		.loc 1 160 9 is_stmt 1 view .LVU174
1556
 160:../libBMP280/src/bmp280.c ****         {
1557
 554              		.loc 1 160 12 is_stmt 0 view .LVU175
1558
 555 001e 74B3     		cbz	r4, .L46
1559
 162:../libBMP280/src/bmp280.c **** 
1560
 556              		.loc 1 162 13 is_stmt 1 view .LVU176
19 mjames 1561
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 27
16 mjames 1562
 
1563
 
1564
 162:../libBMP280/src/bmp280.c **** 
1565
 557              		.loc 1 162 36 is_stmt 0 view .LVU177
1566
 558 0020 3B78     		ldrb	r3, [r7]	@ zero_extendqisi2
1567
 162:../libBMP280/src/bmp280.c **** 
1568
 559              		.loc 1 162 26 view .LVU178
1569
 560 0022 8DF80030 		strb	r3, [sp]
1570
 165:../libBMP280/src/bmp280.c ****             {
1571
 561              		.loc 1 165 13 is_stmt 1 view .LVU179
1572
 165:../libBMP280/src/bmp280.c ****             {
1573
 562              		.loc 1 165 20 is_stmt 0 view .LVU180
1574
 563 0026 B378     		ldrb	r3, [r6, #2]	@ zero_extendqisi2
1575
 165:../libBMP280/src/bmp280.c ****             {
1576
 564              		.loc 1 165 16 view .LVU181
1577
 565 0028 63B1     		cbz	r3, .L47
1578
 566              	.L38:
1579
 177:../libBMP280/src/bmp280.c ****             {
1580
 567              		.loc 1 177 13 is_stmt 1 view .LVU182
1581
 177:../libBMP280/src/bmp280.c ****             {
1582
 568              		.loc 1 177 16 is_stmt 0 view .LVU183
1583
 569 002a 012C     		cmp	r4, #1
1584
 570 002c 14D8     		bhi	.L50
1585
 185:../libBMP280/src/bmp280.c ****             }
1586
 571              		.loc 1 185 17 is_stmt 1 view .LVU184
1587
 185:../libBMP280/src/bmp280.c ****             }
1588
 572              		.loc 1 185 26 is_stmt 0 view .LVU185
1589
 573 002e A3B2     		uxth	r3, r4
1590
 574              	.LVL41:
1591
 575              	.L41:
1592
 187:../libBMP280/src/bmp280.c **** 
1593
 576              		.loc 1 187 13 is_stmt 1 view .LVU186
1594
 187:../libBMP280/src/bmp280.c **** 
1595
 577              		.loc 1 187 23 is_stmt 0 view .LVU187
1596
 578 0030 B468     		ldr	r4, [r6, #8]
1597
 187:../libBMP280/src/bmp280.c **** 
1598
 579              		.loc 1 187 20 view .LVU188
1599
 580 0032 6A46     		mov	r2, sp
1600
 581 0034 2978     		ldrb	r1, [r5]	@ zero_extendqisi2
1601
 582 0036 7078     		ldrb	r0, [r6, #1]	@ zero_extendqisi2
1602
 583 0038 A047     		blx	r4
1603
 584              	.LVL42:
1604
 190:../libBMP280/src/bmp280.c ****             {
1605
 585              		.loc 1 190 13 is_stmt 1 view .LVU189
1606
 190:../libBMP280/src/bmp280.c ****             {
1607
 586              		.loc 1 190 16 is_stmt 0 view .LVU190
1608
 587 003a 0346     		mov	r3, r0
1609
 588 003c 10BB     		cbnz	r0, .L51
1610
 589              	.L36:
1611
 590              	.LVL43:
1612
 205:../libBMP280/src/bmp280.c **** }
1613
 591              		.loc 1 205 5 is_stmt 1 view .LVU191
1614
 206:../libBMP280/src/bmp280.c **** 
1615
 592              		.loc 1 206 1 is_stmt 0 view .LVU192
1616
 593 003e 1846     		mov	r0, r3
1617
 594 0040 03B0     		add	sp, sp, #12
1618
 595              	.LCFI9:
1619
 596              		.cfi_remember_state
1620
 597              		.cfi_def_cfa_offset 20
19 mjames 1621
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 28
16 mjames 1622
 
1623
 
1624
 598              		@ sp needed
1625
 599 0042 F0BD     		pop	{r4, r5, r6, r7, pc}
1626
 600              	.LVL44:
1627
 601              	.L47:
1628
 602              	.LCFI10:
1629
 603              		.cfi_restore_state
1630
 170:../libBMP280/src/bmp280.c ****                 {
1631
 604              		.loc 1 170 35 view .LVU193
1632
 605 0044 0022     		movs	r2, #0
1633
 606              	.L37:
1634
 607              	.LVL45:
1635
 170:../libBMP280/src/bmp280.c ****                 {
1636
 608              		.loc 1 170 17 discriminator 1 view .LVU194
1637
 609 0046 9442     		cmp	r4, r2
1638
 610 0048 EFD9     		bls	.L38
1639
 172:../libBMP280/src/bmp280.c ****                 }
1640
 611              		.loc 1 172 21 is_stmt 1 discriminator 3 view .LVU195
1641
 172:../libBMP280/src/bmp280.c ****                 }
1642
 612              		.loc 1 172 54 is_stmt 0 discriminator 3 view .LVU196
1643
 613 004a A95C     		ldrb	r1, [r5, r2]	@ zero_extendqisi2
1644
 172:../libBMP280/src/bmp280.c ****                 }
1645
 614              		.loc 1 172 69 discriminator 3 view .LVU197
1646
 615 004c 01F07F01 		and	r1, r1, #127
1647
 172:../libBMP280/src/bmp280.c ****                 }
1648
 616              		.loc 1 172 44 discriminator 3 view .LVU198
1649
 617 0050 A954     		strb	r1, [r5, r2]
1650
 170:../libBMP280/src/bmp280.c ****                 {
1651
 618              		.loc 1 170 72 discriminator 3 view .LVU199
1652
 619 0052 0132     		adds	r2, r2, #1
1653
 620              	.LVL46:
1654
 170:../libBMP280/src/bmp280.c ****                 {
1655
 621              		.loc 1 170 72 discriminator 3 view .LVU200
1656
 622 0054 D2B2     		uxtb	r2, r2
1657
 623              	.LVL47:
1658
 170:../libBMP280/src/bmp280.c ****                 {
1659
 624              		.loc 1 170 72 discriminator 3 view .LVU201
1660
 625 0056 F6E7     		b	.L37
1661
 626              	.LVL48:
1662
 627              	.L50:
1663
 180:../libBMP280/src/bmp280.c ****                 temp_len = ((len * 2) - 1);
1664
 628              		.loc 1 180 17 is_stmt 1 view .LVU202
1665
 629 0058 2346     		mov	r3, r4
1666
 630 005a 3A46     		mov	r2, r7
1667
 631 005c 6946     		mov	r1, sp
1668
 632 005e 2846     		mov	r0, r5
1669
 633              	.LVL49:
1670
 180:../libBMP280/src/bmp280.c ****                 temp_len = ((len * 2) - 1);
1671
 634              		.loc 1 180 17 is_stmt 0 view .LVU203
1672
 635 0060 FFF7FEFF 		bl	interleave_data
1673
 636              	.LVL50:
1674
 181:../libBMP280/src/bmp280.c ****             }
1675
 637              		.loc 1 181 17 is_stmt 1 view .LVU204
1676
 181:../libBMP280/src/bmp280.c ****             }
1677
 638              		.loc 1 181 39 is_stmt 0 view .LVU205
1678
 639 0064 6400     		lsls	r4, r4, #1
1679
 640              	.LVL51:
1680
 181:../libBMP280/src/bmp280.c ****             }
19 mjames 1681
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 29
16 mjames 1682
 
1683
 
1684
 641              		.loc 1 181 26 view .LVU206
1685
 642 0066 013C     		subs	r4, r4, #1
1686
 643 0068 A3B2     		uxth	r3, r4
1687
 644              	.LVL52:
1688
 181:../libBMP280/src/bmp280.c ****             }
1689
 645              		.loc 1 181 26 view .LVU207
1690
 646 006a E1E7     		b	.L41
1691
 647              	.LVL53:
1692
 648              	.L43:
1693
 202:../libBMP280/src/bmp280.c ****     }
1694
 649              		.loc 1 202 14 view .LVU208
1695
 650 006c 4FF0FF33 		mov	r3, #-1
1696
 651 0070 E5E7     		b	.L36
1697
 652              	.L44:
1698
 653 0072 4FF0FF33 		mov	r3, #-1
1699
 654 0076 E2E7     		b	.L36
1700
 655              	.L45:
1701
 656 0078 4FF0FF33 		mov	r3, #-1
1702
 657 007c DFE7     		b	.L36
1703
 658              	.L46:
1704
 197:../libBMP280/src/bmp280.c ****         }
1705
 659              		.loc 1 197 18 view .LVU209
1706
 660 007e 6FF00203 		mvn	r3, #2
1707
 661 0082 DCE7     		b	.L36
1708
 662              	.LVL54:
1709
 663              	.L51:
1710
 192:../libBMP280/src/bmp280.c ****             }
1711
 664              		.loc 1 192 22 view .LVU210
1712
 665 0084 6FF00303 		mvn	r3, #3
1713
 666 0088 D9E7     		b	.L36
1714
 667              		.cfi_endproc
1715
 668              	.LFE1:
1716
 670              		.section	.text.bmp280_soft_reset,"ax",%progbits
1717
 671              		.align	1
1718
 672              		.global	bmp280_soft_reset
1719
 673              		.syntax unified
1720
 674              		.thumb
1721
 675              		.thumb_func
1722
 676              		.fpu softvfp
1723
 678              	bmp280_soft_reset:
1724
 679              	.LVL55:
1725
 680              	.LFB2:
1726
 212:../libBMP280/src/bmp280.c ****     int8_t rslt;
1727
 681              		.loc 1 212 1 is_stmt 1 view -0
1728
 682              		.cfi_startproc
1729
 683              		@ args = 0, pretend = 0, frame = 8
1730
 684              		@ frame_needed = 0, uses_anonymous_args = 0
1731
 212:../libBMP280/src/bmp280.c ****     int8_t rslt;
1732
 685              		.loc 1 212 1 is_stmt 0 view .LVU212
1733
 686 0000 30B5     		push	{r4, r5, lr}
1734
 687              	.LCFI11:
1735
 688              		.cfi_def_cfa_offset 12
1736
 689              		.cfi_offset 4, -12
1737
 690              		.cfi_offset 5, -8
1738
 691              		.cfi_offset 14, -4
1739
 692 0002 83B0     		sub	sp, sp, #12
1740
 693              	.LCFI12:
19 mjames 1741
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 30
16 mjames 1742
 
1743
 
1744
 694              		.cfi_def_cfa_offset 24
1745
 695 0004 0546     		mov	r5, r0
1746
 213:../libBMP280/src/bmp280.c ****     uint8_t reg_addr = BMP280_SOFT_RESET_ADDR;
1747
 696              		.loc 1 213 5 is_stmt 1 view .LVU213
1748
 214:../libBMP280/src/bmp280.c ****     uint8_t soft_rst_cmd = BMP280_SOFT_RESET_CMD;
1749
 697              		.loc 1 214 5 view .LVU214
1750
 214:../libBMP280/src/bmp280.c ****     uint8_t soft_rst_cmd = BMP280_SOFT_RESET_CMD;
1751
 698              		.loc 1 214 13 is_stmt 0 view .LVU215
1752
 699 0006 E023     		movs	r3, #224
1753
 700 0008 8DF80730 		strb	r3, [sp, #7]
1754
 215:../libBMP280/src/bmp280.c **** 
1755
 701              		.loc 1 215 5 is_stmt 1 view .LVU216
1756
 215:../libBMP280/src/bmp280.c **** 
1757
 702              		.loc 1 215 13 is_stmt 0 view .LVU217
1758
 703 000c B623     		movs	r3, #182
1759
 704 000e 8DF80630 		strb	r3, [sp, #6]
1760
 217:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
1761
 705              		.loc 1 217 5 is_stmt 1 view .LVU218
1762
 217:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
1763
 706              		.loc 1 217 12 is_stmt 0 view .LVU219
1764
 707 0012 FFF7FEFF 		bl	null_ptr_check
1765
 708              	.LVL56:
1766
 218:../libBMP280/src/bmp280.c ****     {
1767
 709              		.loc 1 218 5 is_stmt 1 view .LVU220
1768
 218:../libBMP280/src/bmp280.c ****     {
1769
 710              		.loc 1 218 8 is_stmt 0 view .LVU221
1770
 711 0016 0446     		mov	r4, r0
1771
 712 0018 10B1     		cbz	r0, .L55
1772
 713              	.LVL57:
1773
 714              	.L53:
1774
 226:../libBMP280/src/bmp280.c **** }
1775
 715              		.loc 1 226 5 is_stmt 1 view .LVU222
1776
 227:../libBMP280/src/bmp280.c **** 
1777
 716              		.loc 1 227 1 is_stmt 0 view .LVU223
1778
 717 001a 2046     		mov	r0, r4
1779
 718 001c 03B0     		add	sp, sp, #12
1780
 719              	.LCFI13:
1781
 720              		.cfi_remember_state
1782
 721              		.cfi_def_cfa_offset 12
1783
 722              		@ sp needed
1784
 723 001e 30BD     		pop	{r4, r5, pc}
1785
 724              	.LVL58:
1786
 725              	.L55:
1787
 726              	.LCFI14:
1788
 727              		.cfi_restore_state
1789
 220:../libBMP280/src/bmp280.c **** 
1790
 728              		.loc 1 220 9 is_stmt 1 view .LVU224
1791
 220:../libBMP280/src/bmp280.c **** 
1792
 729              		.loc 1 220 16 is_stmt 0 view .LVU225
1793
 730 0020 2B46     		mov	r3, r5
1794
 731 0022 0122     		movs	r2, #1
1795
 732 0024 0DF10601 		add	r1, sp, #6
1796
 733 0028 0DF10700 		add	r0, sp, #7
1797
 734              	.LVL59:
1798
 220:../libBMP280/src/bmp280.c **** 
1799
 735              		.loc 1 220 16 view .LVU226
1800
 736 002c FFF7FEFF 		bl	bmp280_set_regs
19 mjames 1801
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 31
16 mjames 1802
 
1803
 
1804
 737              	.LVL60:
1805
 738 0030 0446     		mov	r4, r0
1806
 739              	.LVL61:
1807
 223:../libBMP280/src/bmp280.c ****     }
1808
 740              		.loc 1 223 9 is_stmt 1 view .LVU227
1809
 223:../libBMP280/src/bmp280.c ****     }
1810
 741              		.loc 1 223 12 is_stmt 0 view .LVU228
1811
 742 0032 EB68     		ldr	r3, [r5, #12]
1812
 223:../libBMP280/src/bmp280.c ****     }
1813
 743              		.loc 1 223 9 view .LVU229
1814
 744 0034 0220     		movs	r0, #2
1815
 745 0036 9847     		blx	r3
1816
 746              	.LVL62:
1817
 747 0038 EFE7     		b	.L53
1818
 748              		.cfi_endproc
1819
 749              	.LFE2:
1820
 751              		.section	.text.conf_sensor,"ax",%progbits
1821
 752              		.align	1
1822
 753              		.syntax unified
1823
 754              		.thumb
1824
 755              		.thumb_func
1825
 756              		.fpu softvfp
1826
 758              	conf_sensor:
1827
 759              	.LVL63:
1828
 760              	.LFB19:
1829
 732:../libBMP280/src/bmp280.c ****     int8_t rslt;
1830
 761              		.loc 1 732 1 is_stmt 1 view -0
1831
 762              		.cfi_startproc
1832
 763              		@ args = 0, pretend = 0, frame = 8
1833
 764              		@ frame_needed = 0, uses_anonymous_args = 0
1834
 732:../libBMP280/src/bmp280.c ****     int8_t rslt;
1835
 765              		.loc 1 732 1 is_stmt 0 view .LVU231
1836
 766 0000 70B5     		push	{r4, r5, r6, lr}
1837
 767              	.LCFI15:
1838
 768              		.cfi_def_cfa_offset 16
1839
 769              		.cfi_offset 4, -16
1840
 770              		.cfi_offset 5, -12
1841
 771              		.cfi_offset 6, -8
1842
 772              		.cfi_offset 14, -4
1843
 773 0002 82B0     		sub	sp, sp, #8
1844
 774              	.LCFI16:
1845
 775              		.cfi_def_cfa_offset 24
1846
 776 0004 0646     		mov	r6, r0
1847
 777 0006 0D46     		mov	r5, r1
1848
 778 0008 1446     		mov	r4, r2
1849
 733:../libBMP280/src/bmp280.c ****     uint8_t temp[2] = { 0, 0 };
1850
 779              		.loc 1 733 5 is_stmt 1 view .LVU232
1851
 734:../libBMP280/src/bmp280.c ****     uint8_t reg_addr[2] = { BMP280_CTRL_MEAS_ADDR, BMP280_CONFIG_ADDR };
1852
 780              		.loc 1 734 5 view .LVU233
1853
 734:../libBMP280/src/bmp280.c ****     uint8_t reg_addr[2] = { BMP280_CTRL_MEAS_ADDR, BMP280_CONFIG_ADDR };
1854
 781              		.loc 1 734 13 is_stmt 0 view .LVU234
1855
 782 000a 0023     		movs	r3, #0
1856
 783 000c 8DF80430 		strb	r3, [sp, #4]
1857
 784 0010 8DF80530 		strb	r3, [sp, #5]
1858
 735:../libBMP280/src/bmp280.c **** 
1859
 785              		.loc 1 735 5 is_stmt 1 view .LVU235
1860
 735:../libBMP280/src/bmp280.c **** 
19 mjames 1861
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 32
16 mjames 1862
 
1863
 
1864
 786              		.loc 1 735 13 is_stmt 0 view .LVU236
1865
 787 0014 354B     		ldr	r3, .L62
1866
 788 0016 1B88     		ldrh	r3, [r3]
1867
 789 0018 ADF80030 		strh	r3, [sp]	@ movhi
1868
 737:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (conf != NULL))
1869
 790              		.loc 1 737 5 is_stmt 1 view .LVU237
1870
 737:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (conf != NULL))
1871
 791              		.loc 1 737 12 is_stmt 0 view .LVU238
1872
 792 001c 1046     		mov	r0, r2
1873
 793              	.LVL64:
1874
 737:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (conf != NULL))
1875
 794              		.loc 1 737 12 view .LVU239
1876
 795 001e FFF7FEFF 		bl	null_ptr_check
1877
 796              	.LVL65:
1878
 738:../libBMP280/src/bmp280.c ****     {
1879
 797              		.loc 1 738 5 is_stmt 1 view .LVU240
1880
 738:../libBMP280/src/bmp280.c ****     {
1881
 798              		.loc 1 738 8 is_stmt 0 view .LVU241
1882
 799 0022 0028     		cmp	r0, #0
1883
 800 0024 5CD1     		bne	.L58
1884
 738:../libBMP280/src/bmp280.c ****     {
1885
 801              		.loc 1 738 29 discriminator 1 view .LVU242
1886
 802 0026 002D     		cmp	r5, #0
1887
 803 0028 5DD0     		beq	.L59
1888
 740:../libBMP280/src/bmp280.c ****         if (rslt == BMP280_OK)
1889
 804              		.loc 1 740 9 is_stmt 1 view .LVU243
1890
 740:../libBMP280/src/bmp280.c ****         if (rslt == BMP280_OK)
1891
 805              		.loc 1 740 16 is_stmt 0 view .LVU244
1892
 806 002a 2346     		mov	r3, r4
1893
 807 002c 0222     		movs	r2, #2
1894
 808 002e 01A9     		add	r1, sp, #4
1895
 809 0030 F420     		movs	r0, #244
1896
 810              	.LVL66:
1897
 740:../libBMP280/src/bmp280.c ****         if (rslt == BMP280_OK)
1898
 811              		.loc 1 740 16 view .LVU245
1899
 812 0032 FFF7FEFF 		bl	bmp280_get_regs
1900
 813              	.LVL67:
1901
 741:../libBMP280/src/bmp280.c ****         {
1902
 814              		.loc 1 741 9 is_stmt 1 view .LVU246
1903
 741:../libBMP280/src/bmp280.c ****         {
1904
 815              		.loc 1 741 12 is_stmt 0 view .LVU247
1905
 816 0036 0346     		mov	r3, r0
1906
 817 0038 10B1     		cbz	r0, .L61
1907
 818              	.LVL68:
1908
 819              	.L57:
1909
 773:../libBMP280/src/bmp280.c **** }
1910
 820              		.loc 1 773 5 is_stmt 1 view .LVU248
1911
 774:../libBMP280/src/bmp280.c **** 
1912
 821              		.loc 1 774 1 is_stmt 0 view .LVU249
1913
 822 003a 1846     		mov	r0, r3
1914
 823 003c 02B0     		add	sp, sp, #8
1915
 824              	.LCFI17:
1916
 825              		.cfi_remember_state
1917
 826              		.cfi_def_cfa_offset 16
1918
 827              		@ sp needed
1919
 828 003e 70BD     		pop	{r4, r5, r6, pc}
1920
 829              	.LVL69:
19 mjames 1921
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 33
16 mjames 1922
 
1923
 
1924
 830              	.L61:
1925
 831              	.LCFI18:
1926
 832              		.cfi_restore_state
1927
 746:../libBMP280/src/bmp280.c ****             if (rslt == BMP280_OK)
1928
 833              		.loc 1 746 13 is_stmt 1 view .LVU250
1929
 746:../libBMP280/src/bmp280.c ****             if (rslt == BMP280_OK)
1930
 834              		.loc 1 746 20 is_stmt 0 view .LVU251
1931
 835 0040 2046     		mov	r0, r4
1932
 836              	.LVL70:
1933
 746:../libBMP280/src/bmp280.c ****             if (rslt == BMP280_OK)
1934
 837              		.loc 1 746 20 view .LVU252
1935
 838 0042 FFF7FEFF 		bl	bmp280_soft_reset
1936
 839              	.LVL71:
1937
 747:../libBMP280/src/bmp280.c ****             {
1938
 840              		.loc 1 747 13 is_stmt 1 view .LVU253
1939
 747:../libBMP280/src/bmp280.c ****             {
1940
 841              		.loc 1 747 16 is_stmt 0 view .LVU254
1941
 842 0046 0346     		mov	r3, r0
1942
 843 0048 0028     		cmp	r0, #0
1943
 844 004a F6D1     		bne	.L57
1944
 749:../libBMP280/src/bmp280.c ****                 temp[0] = BMP280_SET_BITS(temp[0], BMP280_OS_PRES, conf->os_pres);
1945
 845              		.loc 1 749 17 is_stmt 1 view .LVU255
1946
 749:../libBMP280/src/bmp280.c ****                 temp[0] = BMP280_SET_BITS(temp[0], BMP280_OS_PRES, conf->os_pres);
1947
 846              		.loc 1 749 27 is_stmt 0 view .LVU256
1948
 847 004c 9DF90430 		ldrsb	r3, [sp, #4]
1949
 848 0050 03F01F03 		and	r3, r3, #31
1950
 849 0054 2A78     		ldrb	r2, [r5]	@ zero_extendqisi2
1951
 850 0056 43EA4213 		orr	r3, r3, r2, lsl #5
1952
 851 005a 5BB2     		sxtb	r3, r3
1953
 750:../libBMP280/src/bmp280.c ****                 temp[1] = BMP280_SET_BITS(temp[1], BMP280_STANDBY_DURN, conf->odr);
1954
 852              		.loc 1 750 17 is_stmt 1 view .LVU257
1955
 750:../libBMP280/src/bmp280.c ****                 temp[1] = BMP280_SET_BITS(temp[1], BMP280_STANDBY_DURN, conf->odr);
1956
 853              		.loc 1 750 27 is_stmt 0 view .LVU258
1957
 854 005c 23F01C03 		bic	r3, r3, #28
1958
 855 0060 6A78     		ldrb	r2, [r5, #1]	@ zero_extendqisi2
1959
 856 0062 9200     		lsls	r2, r2, #2
1960
 857 0064 02F01C02 		and	r2, r2, #28
1961
 858 0068 1343     		orrs	r3, r3, r2
1962
 750:../libBMP280/src/bmp280.c ****                 temp[1] = BMP280_SET_BITS(temp[1], BMP280_STANDBY_DURN, conf->odr);
1963
 859              		.loc 1 750 25 view .LVU259
1964
 860 006a 8DF80430 		strb	r3, [sp, #4]
1965
 751:../libBMP280/src/bmp280.c ****                 temp[1] = BMP280_SET_BITS(temp[1], BMP280_FILTER, conf->filter);
1966
 861              		.loc 1 751 17 is_stmt 1 view .LVU260
1967
 751:../libBMP280/src/bmp280.c ****                 temp[1] = BMP280_SET_BITS(temp[1], BMP280_FILTER, conf->filter);
1968
 862              		.loc 1 751 27 is_stmt 0 view .LVU261
1969
 863 006e 9DF90530 		ldrsb	r3, [sp, #5]
1970
 864 0072 03F01F03 		and	r3, r3, #31
1971
 865 0076 AA78     		ldrb	r2, [r5, #2]	@ zero_extendqisi2
1972
 866 0078 43EA4213 		orr	r3, r3, r2, lsl #5
1973
 867 007c 5BB2     		sxtb	r3, r3
1974
 752:../libBMP280/src/bmp280.c ****                 temp[1] = BMP280_SET_BITS_POS_0(temp[1], BMP280_SPI3_ENABLE, conf->spi3w_en);
1975
 868              		.loc 1 752 17 is_stmt 1 view .LVU262
1976
 752:../libBMP280/src/bmp280.c ****                 temp[1] = BMP280_SET_BITS_POS_0(temp[1], BMP280_SPI3_ENABLE, conf->spi3w_en);
1977
 869              		.loc 1 752 27 is_stmt 0 view .LVU263
1978
 870 007e 23F01C03 		bic	r3, r3, #28
1979
 871 0082 EA78     		ldrb	r2, [r5, #3]	@ zero_extendqisi2
1980
 872 0084 9200     		lsls	r2, r2, #2
19 mjames 1981
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 34
16 mjames 1982
 
1983
 
1984
 873 0086 02F01C02 		and	r2, r2, #28
1985
 874 008a 1343     		orrs	r3, r3, r2
1986
 753:../libBMP280/src/bmp280.c ****                 rslt = bmp280_set_regs(reg_addr, temp, 2, dev);
1987
 875              		.loc 1 753 17 is_stmt 1 view .LVU264
1988
 753:../libBMP280/src/bmp280.c ****                 rslt = bmp280_set_regs(reg_addr, temp, 2, dev);
1989
 876              		.loc 1 753 27 is_stmt 0 view .LVU265
1990
 877 008c 23F00103 		bic	r3, r3, #1
1991
 878 0090 95F90420 		ldrsb	r2, [r5, #4]
1992
 879 0094 02F00102 		and	r2, r2, #1
1993
 880 0098 1343     		orrs	r3, r3, r2
1994
 753:../libBMP280/src/bmp280.c ****                 rslt = bmp280_set_regs(reg_addr, temp, 2, dev);
1995
 881              		.loc 1 753 25 view .LVU266
1996
 882 009a 8DF80530 		strb	r3, [sp, #5]
1997
 754:../libBMP280/src/bmp280.c ****                 if (rslt == BMP280_OK)
1998
 883              		.loc 1 754 17 is_stmt 1 view .LVU267
1999
 754:../libBMP280/src/bmp280.c ****                 if (rslt == BMP280_OK)
2000
 884              		.loc 1 754 24 is_stmt 0 view .LVU268
2001
 885 009e 2346     		mov	r3, r4
2002
 886 00a0 0222     		movs	r2, #2
2003
 887 00a2 01A9     		add	r1, sp, #4
2004
 888 00a4 6846     		mov	r0, sp
2005
 889              	.LVL72:
2006
 754:../libBMP280/src/bmp280.c ****                 if (rslt == BMP280_OK)
2007
 890              		.loc 1 754 24 view .LVU269
2008
 891 00a6 FFF7FEFF 		bl	bmp280_set_regs
2009
 892              	.LVL73:
2010
 755:../libBMP280/src/bmp280.c ****                 {
2011
 893              		.loc 1 755 17 is_stmt 1 view .LVU270
2012
 755:../libBMP280/src/bmp280.c ****                 {
2013
 894              		.loc 1 755 20 is_stmt 0 view .LVU271
2014
 895 00aa 0346     		mov	r3, r0
2015
 896 00ac 0028     		cmp	r0, #0
2016
 897 00ae C4D1     		bne	.L57
2017
 757:../libBMP280/src/bmp280.c ****                     if (mode != BMP280_SLEEP_MODE)
2018
 898              		.loc 1 757 21 is_stmt 1 view .LVU272
2019
 757:../libBMP280/src/bmp280.c ****                     if (mode != BMP280_SLEEP_MODE)
2020
 899              		.loc 1 757 31 is_stmt 0 view .LVU273
2021
 900 00b0 2868     		ldr	r0, [r5]	@ unaligned
2022
 901              	.LVL74:
2023
 757:../libBMP280/src/bmp280.c ****                     if (mode != BMP280_SLEEP_MODE)
2024
 902              		.loc 1 757 31 view .LVU274
2025
 903 00b2 E062     		str	r0, [r4, #44]
2026
 904 00b4 2A79     		ldrb	r2, [r5, #4]	@ zero_extendqisi2
2027
 905 00b6 84F83020 		strb	r2, [r4, #48]
2028
 758:../libBMP280/src/bmp280.c ****                     {
2029
 906              		.loc 1 758 21 is_stmt 1 view .LVU275
2030
 758:../libBMP280/src/bmp280.c ****                     {
2031
 907              		.loc 1 758 24 is_stmt 0 view .LVU276
2032
 908 00ba 002E     		cmp	r6, #0
2033
 909 00bc BDD0     		beq	.L57
2034
 761:../libBMP280/src/bmp280.c ****                         rslt = bmp280_set_regs(reg_addr, temp, 1, dev);
2035
 910              		.loc 1 761 25 is_stmt 1 view .LVU277
2036
 761:../libBMP280/src/bmp280.c ****                         rslt = bmp280_set_regs(reg_addr, temp, 1, dev);
2037
 911              		.loc 1 761 35 is_stmt 0 view .LVU278
2038
 912 00be 9DF90430 		ldrsb	r3, [sp, #4]
2039
 913 00c2 23F00303 		bic	r3, r3, #3
2040
 914 00c6 06F00306 		and	r6, r6, #3
19 mjames 2041
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 35
16 mjames 2042
 
2043
 
2044
 915 00ca 1E43     		orrs	r6, r6, r3
2045
 761:../libBMP280/src/bmp280.c ****                         rslt = bmp280_set_regs(reg_addr, temp, 1, dev);
2046
 916              		.loc 1 761 33 view .LVU279
2047
 917 00cc 8DF80460 		strb	r6, [sp, #4]
2048
 762:../libBMP280/src/bmp280.c ****                     }
2049
 918              		.loc 1 762 25 is_stmt 1 view .LVU280
2050
 762:../libBMP280/src/bmp280.c ****                     }
2051
 919              		.loc 1 762 32 is_stmt 0 view .LVU281
2052
 920 00d0 2346     		mov	r3, r4
2053
 921 00d2 0122     		movs	r2, #1
2054
 922 00d4 01A9     		add	r1, sp, #4
2055
 923 00d6 6846     		mov	r0, sp
2056
 924 00d8 FFF7FEFF 		bl	bmp280_set_regs
2057
 925              	.LVL75:
2058
 926 00dc 0346     		mov	r3, r0
2059
 927              	.LVL76:
2060
 762:../libBMP280/src/bmp280.c ****                     }
2061
 928              		.loc 1 762 32 view .LVU282
2062
 929 00de ACE7     		b	.L57
2063
 930              	.LVL77:
2064
 931              	.L58:
2065
 770:../libBMP280/src/bmp280.c ****     }
2066
 932              		.loc 1 770 14 view .LVU283
2067
 933 00e0 4FF0FF33 		mov	r3, #-1
2068
 934 00e4 A9E7     		b	.L57
2069
 935              	.L59:
2070
 936 00e6 4FF0FF33 		mov	r3, #-1
2071
 937 00ea A6E7     		b	.L57
2072
 938              	.L63:
2073
 939              		.align	2
2074
 940              	.L62:
2075
 941 00ec 00000000 		.word	.LANCHOR0
2076
 942              		.cfi_endproc
2077
 943              	.LFE19:
2078
 945              		.section	.text.bmp280_init,"ax",%progbits
2079
 946              		.align	1
2080
 947              		.global	bmp280_init
2081
 948              		.syntax unified
2082
 949              		.thumb
2083
 950              		.thumb_func
2084
 951              		.fpu softvfp
2085
 953              	bmp280_init:
2086
 954              	.LVL78:
2087
 955              	.LFB3:
2088
 234:../libBMP280/src/bmp280.c ****     int8_t rslt;
2089
 956              		.loc 1 234 1 is_stmt 1 view -0
2090
 957              		.cfi_startproc
2091
 958              		@ args = 0, pretend = 0, frame = 0
2092
 959              		@ frame_needed = 0, uses_anonymous_args = 0
2093
 234:../libBMP280/src/bmp280.c ****     int8_t rslt;
2094
 960              		.loc 1 234 1 is_stmt 0 view .LVU285
2095
 961 0000 70B5     		push	{r4, r5, r6, lr}
2096
 962              	.LCFI19:
2097
 963              		.cfi_def_cfa_offset 16
2098
 964              		.cfi_offset 4, -16
2099
 965              		.cfi_offset 5, -12
2100
 966              		.cfi_offset 6, -8
19 mjames 2101
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 36
16 mjames 2102
 
2103
 
2104
 967              		.cfi_offset 14, -4
2105
 968 0002 0546     		mov	r5, r0
2106
 235:../libBMP280/src/bmp280.c **** 
2107
 969              		.loc 1 235 5 is_stmt 1 view .LVU286
2108
 238:../libBMP280/src/bmp280.c **** 
2109
 970              		.loc 1 238 5 view .LVU287
2110
 971              	.LVL79:
2111
 240:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
2112
 972              		.loc 1 240 5 view .LVU288
2113
 240:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
2114
 973              		.loc 1 240 12 is_stmt 0 view .LVU289
2115
 974 0004 FFF7FEFF 		bl	null_ptr_check
2116
 975              	.LVL80:
2117
 241:../libBMP280/src/bmp280.c ****     {
2118
 976              		.loc 1 241 5 is_stmt 1 view .LVU290
2119
 241:../libBMP280/src/bmp280.c ****     {
2120
 977              		.loc 1 241 8 is_stmt 0 view .LVU291
2121
 978 0008 0646     		mov	r6, r0
2122
 979 000a 78B3     		cbz	r0, .L70
2123
 980              	.LVL81:
2124
 981              	.L66:
2125
 280:../libBMP280/src/bmp280.c **** }
2126
 982              		.loc 1 280 5 is_stmt 1 view .LVU292
2127
 281:../libBMP280/src/bmp280.c **** 
2128
 983              		.loc 1 281 1 is_stmt 0 view .LVU293
2129
 984 000c 3046     		mov	r0, r6
2130
 985 000e 70BD     		pop	{r4, r5, r6, pc}
2131
 986              	.LVL82:
2132
 987              	.L73:
2133
 254:../libBMP280/src/bmp280.c ****                 }
2134
 988              		.loc 1 254 21 is_stmt 1 view .LVU294
2135
 254:../libBMP280/src/bmp280.c ****                 }
2136
 989              		.loc 1 254 28 is_stmt 0 view .LVU295
2137
 990 0010 2846     		mov	r0, r5
2138
 991              	.LVL83:
2139
 254:../libBMP280/src/bmp280.c ****                 }
2140
 992              		.loc 1 254 28 view .LVU296
2141
 993 0012 FFF7FEFF 		bl	get_calib_param
2142
 994              	.LVL84:
2143
 995 0016 0646     		mov	r6, r0
2144
 996              	.LVL85:
2145
 254:../libBMP280/src/bmp280.c ****                 }
2146
 997              		.loc 1 254 28 view .LVU297
2147
 998 0018 19E0     		b	.L68
2148
 999              	.LVL86:
2149
 1000              	.L67:
2150
 260:../libBMP280/src/bmp280.c ****             --try_count;
2151
 1001              		.loc 1 260 13 is_stmt 1 view .LVU298
2152
 260:../libBMP280/src/bmp280.c ****             --try_count;
2153
 1002              		.loc 1 260 16 is_stmt 0 view .LVU299
2154
 1003 001a EB68     		ldr	r3, [r5, #12]
2155
 260:../libBMP280/src/bmp280.c ****             --try_count;
2156
 1004              		.loc 1 260 13 view .LVU300
2157
 1005 001c 0A20     		movs	r0, #10
2158
 1006              	.LVL87:
2159
 260:../libBMP280/src/bmp280.c ****             --try_count;
2160
 1007              		.loc 1 260 13 view .LVU301
19 mjames 2161
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 37
16 mjames 2162
 
2163
 
2164
 1008 001e 9847     		blx	r3
2165
 1009              	.LVL88:
2166
 261:../libBMP280/src/bmp280.c ****         }
2167
 1010              		.loc 1 261 13 is_stmt 1 view .LVU302
2168
 1011 0020 013C     		subs	r4, r4, #1
2169
 1012              	.LVL89:
2170
 261:../libBMP280/src/bmp280.c ****         }
2171
 1013              		.loc 1 261 13 is_stmt 0 view .LVU303
2172
 1014 0022 E4B2     		uxtb	r4, r4
2173
 1015              	.LVL90:
2174
 1016              	.L65:
2175
 243:../libBMP280/src/bmp280.c ****         {
2176
 1017              		.loc 1 243 15 view .LVU304
2177
 1018 0024 9CB1     		cbz	r4, .L68
2178
 245:../libBMP280/src/bmp280.c **** 
2179
 1019              		.loc 1 245 13 is_stmt 1 view .LVU305
2180
 245:../libBMP280/src/bmp280.c **** 
2181
 1020              		.loc 1 245 20 is_stmt 0 view .LVU306
2182
 1021 0026 2B46     		mov	r3, r5
2183
 1022 0028 0122     		movs	r2, #1
2184
 1023 002a 2946     		mov	r1, r5
2185
 1024 002c D020     		movs	r0, #208
2186
 1025 002e FFF7FEFF 		bl	bmp280_get_regs
2187
 1026              	.LVL91:
2188
 248:../libBMP280/src/bmp280.c ****                 (dev->chip_id == BMP280_CHIP_ID1 || dev->chip_id == BMP280_CHIP_ID2 || dev->chip_id
2189
 1027              		.loc 1 248 13 is_stmt 1 view .LVU307
2190
 248:../libBMP280/src/bmp280.c ****                 (dev->chip_id == BMP280_CHIP_ID1 || dev->chip_id == BMP280_CHIP_ID2 || dev->chip_id
2191
 1028              		.loc 1 248 16 is_stmt 0 view .LVU308
2192
 1029 0032 0646     		mov	r6, r0
2193
 1030 0034 0028     		cmp	r0, #0
2194
 1031 0036 F0D1     		bne	.L67
2195
 249:../libBMP280/src/bmp280.c ****             {
2196
 1032              		.loc 1 249 21 discriminator 1 view .LVU309
2197
 1033 0038 2B78     		ldrb	r3, [r5]	@ zero_extendqisi2
2198
 249:../libBMP280/src/bmp280.c ****             {
2199
 1034              		.loc 1 249 85 discriminator 1 view .LVU310
2200
 1035 003a 563B     		subs	r3, r3, #86
2201
 1036 003c DBB2     		uxtb	r3, r3
2202
 248:../libBMP280/src/bmp280.c ****                 (dev->chip_id == BMP280_CHIP_ID1 || dev->chip_id == BMP280_CHIP_ID2 || dev->chip_id
2203
 1037              		.loc 1 248 37 discriminator 1 view .LVU311
2204
 1038 003e 022B     		cmp	r3, #2
2205
 1039 0040 EBD8     		bhi	.L67
2206
 251:../libBMP280/src/bmp280.c ****                 if (rslt == BMP280_OK)
2207
 1040              		.loc 1 251 17 is_stmt 1 view .LVU312
2208
 251:../libBMP280/src/bmp280.c ****                 if (rslt == BMP280_OK)
2209
 1041              		.loc 1 251 24 is_stmt 0 view .LVU313
2210
 1042 0042 2846     		mov	r0, r5
2211
 1043              	.LVL92:
2212
 251:../libBMP280/src/bmp280.c ****                 if (rslt == BMP280_OK)
2213
 1044              		.loc 1 251 24 view .LVU314
2214
 1045 0044 FFF7FEFF 		bl	bmp280_soft_reset
2215
 1046              	.LVL93:
2216
 252:../libBMP280/src/bmp280.c ****                 {
2217
 1047              		.loc 1 252 17 is_stmt 1 view .LVU315
2218
 252:../libBMP280/src/bmp280.c ****                 {
2219
 1048              		.loc 1 252 20 is_stmt 0 view .LVU316
2220
 1049 0048 0646     		mov	r6, r0
19 mjames 2221
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 38
16 mjames 2222
 
2223
 
2224
 1050 004a 0028     		cmp	r0, #0
2225
 1051 004c E0D0     		beq	.L73
2226
 1052              	.LVL94:
2227
 1053              	.L68:
2228
 265:../libBMP280/src/bmp280.c ****         {
2229
 1054              		.loc 1 265 9 is_stmt 1 view .LVU317
2230
 265:../libBMP280/src/bmp280.c ****         {
2231
 1055              		.loc 1 265 12 is_stmt 0 view .LVU318
2232
 1056 004e 7CB1     		cbz	r4, .L71
2233
 269:../libBMP280/src/bmp280.c ****         {
2234
 1057              		.loc 1 269 9 is_stmt 1 view .LVU319
2235
 269:../libBMP280/src/bmp280.c ****         {
2236
 1058              		.loc 1 269 12 is_stmt 0 view .LVU320
2237
 1059 0050 002E     		cmp	r6, #0
2238
 1060 0052 DBD1     		bne	.L66
2239
 272:../libBMP280/src/bmp280.c ****             dev->conf.os_pres = BMP280_OS_NONE;
2240
 1061              		.loc 1 272 13 is_stmt 1 view .LVU321
2241
 272:../libBMP280/src/bmp280.c ****             dev->conf.os_pres = BMP280_OS_NONE;
2242
 1062              		.loc 1 272 30 is_stmt 0 view .LVU322
2243
 1063 0054 0023     		movs	r3, #0
2244
 1064 0056 85F82F30 		strb	r3, [r5, #47]
2245
 273:../libBMP280/src/bmp280.c ****             dev->conf.os_temp = BMP280_OS_NONE;
2246
 1065              		.loc 1 273 13 is_stmt 1 view .LVU323
2247
 273:../libBMP280/src/bmp280.c ****             dev->conf.os_temp = BMP280_OS_NONE;
2248
 1066              		.loc 1 273 31 is_stmt 0 view .LVU324
2249
 1067 005a 85F82D30 		strb	r3, [r5, #45]
2250
 274:../libBMP280/src/bmp280.c ****             dev->conf.odr = BMP280_ODR_0_5_MS;
2251
 1068              		.loc 1 274 13 is_stmt 1 view .LVU325
2252
 274:../libBMP280/src/bmp280.c ****             dev->conf.odr = BMP280_ODR_0_5_MS;
2253
 1069              		.loc 1 274 31 is_stmt 0 view .LVU326
2254
 1070 005e 85F82C30 		strb	r3, [r5, #44]
2255
 275:../libBMP280/src/bmp280.c ****             dev->conf.spi3w_en = BMP280_SPI3_WIRE_DISABLE;
2256
 1071              		.loc 1 275 13 is_stmt 1 view .LVU327
2257
 275:../libBMP280/src/bmp280.c ****             dev->conf.spi3w_en = BMP280_SPI3_WIRE_DISABLE;
2258
 1072              		.loc 1 275 27 is_stmt 0 view .LVU328
2259
 1073 0062 85F82E30 		strb	r3, [r5, #46]
2260
 276:../libBMP280/src/bmp280.c ****         }
2261
 1074              		.loc 1 276 13 is_stmt 1 view .LVU329
2262
 276:../libBMP280/src/bmp280.c ****         }
2263
 1075              		.loc 1 276 32 is_stmt 0 view .LVU330
2264
 1076 0066 85F83030 		strb	r3, [r5, #48]
2265
 1077 006a CFE7     		b	.L66
2266
 1078              	.LVL95:
2267
 1079              	.L70:
2268
 238:../libBMP280/src/bmp280.c **** 
2269
 1080              		.loc 1 238 13 view .LVU331
2270
 1081 006c 0524     		movs	r4, #5
2271
 1082 006e D9E7     		b	.L65
2272
 1083              	.LVL96:
2273
 1084              	.L71:
2274
 267:../libBMP280/src/bmp280.c ****         }
2275
 1085              		.loc 1 267 18 view .LVU332
2276
 1086 0070 6FF00106 		mvn	r6, #1
2277
 1087              	.LVL97:
2278
 267:../libBMP280/src/bmp280.c ****         }
2279
 1088              		.loc 1 267 18 view .LVU333
2280
 1089 0074 CAE7     		b	.L66
19 mjames 2281
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 39
16 mjames 2282
 
2283
 
2284
 1090              		.cfi_endproc
2285
 1091              	.LFE3:
2286
 1093              		.section	.text.bmp280_get_config,"ax",%progbits
2287
 1094              		.align	1
2288
 1095              		.global	bmp280_get_config
2289
 1096              		.syntax unified
2290
 1097              		.thumb
2291
 1098              		.thumb_func
2292
 1099              		.fpu softvfp
2293
 1101              	bmp280_get_config:
2294
 1102              	.LVL98:
2295
 1103              	.LFB4:
2296
 290:../libBMP280/src/bmp280.c ****     int8_t rslt;
2297
 1104              		.loc 1 290 1 is_stmt 1 view -0
2298
 1105              		.cfi_startproc
2299
 1106              		@ args = 0, pretend = 0, frame = 8
2300
 1107              		@ frame_needed = 0, uses_anonymous_args = 0
2301
 290:../libBMP280/src/bmp280.c ****     int8_t rslt;
2302
 1108              		.loc 1 290 1 is_stmt 0 view .LVU335
2303
 1109 0000 30B5     		push	{r4, r5, lr}
2304
 1110              	.LCFI20:
2305
 1111              		.cfi_def_cfa_offset 12
2306
 1112              		.cfi_offset 4, -12
2307
 1113              		.cfi_offset 5, -8
2308
 1114              		.cfi_offset 14, -4
2309
 1115 0002 83B0     		sub	sp, sp, #12
2310
 1116              	.LCFI21:
2311
 1117              		.cfi_def_cfa_offset 24
2312
 1118 0004 0446     		mov	r4, r0
2313
 1119 0006 0D46     		mov	r5, r1
2314
 291:../libBMP280/src/bmp280.c ****     uint8_t temp[2] = { 0, 0 };
2315
 1120              		.loc 1 291 5 is_stmt 1 view .LVU336
2316
 292:../libBMP280/src/bmp280.c **** 
2317
 1121              		.loc 1 292 5 view .LVU337
2318
 292:../libBMP280/src/bmp280.c **** 
2319
 1122              		.loc 1 292 13 is_stmt 0 view .LVU338
2320
 1123 0008 0023     		movs	r3, #0
2321
 1124 000a 8DF80430 		strb	r3, [sp, #4]
2322
 1125 000e 8DF80530 		strb	r3, [sp, #5]
2323
 294:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (conf != NULL))
2324
 1126              		.loc 1 294 5 is_stmt 1 view .LVU339
2325
 294:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (conf != NULL))
2326
 1127              		.loc 1 294 12 is_stmt 0 view .LVU340
2327
 1128 0012 0846     		mov	r0, r1
2328
 1129              	.LVL99:
2329
 294:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (conf != NULL))
2330
 1130              		.loc 1 294 12 view .LVU341
2331
 1131 0014 FFF7FEFF 		bl	null_ptr_check
2332
 1132              	.LVL100:
2333
 295:../libBMP280/src/bmp280.c ****     {
2334
 1133              		.loc 1 295 5 is_stmt 1 view .LVU342
2335
 295:../libBMP280/src/bmp280.c ****     {
2336
 1134              		.loc 1 295 8 is_stmt 0 view .LVU343
2337
 1135 0018 08BB     		cbnz	r0, .L76
2338
 295:../libBMP280/src/bmp280.c ****     {
2339
 1136              		.loc 1 295 29 discriminator 1 view .LVU344
2340
 1137 001a 1CB3     		cbz	r4, .L77
19 mjames 2341
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 40
16 mjames 2342
 
2343
 
2344
 297:../libBMP280/src/bmp280.c ****         if (rslt == BMP280_OK)
2345
 1138              		.loc 1 297 9 is_stmt 1 view .LVU345
2346
 297:../libBMP280/src/bmp280.c ****         if (rslt == BMP280_OK)
2347
 1139              		.loc 1 297 16 is_stmt 0 view .LVU346
2348
 1140 001c 2B46     		mov	r3, r5
2349
 1141 001e 0222     		movs	r2, #2
2350
 1142 0020 01A9     		add	r1, sp, #4
2351
 1143 0022 F420     		movs	r0, #244
2352
 1144              	.LVL101:
2353
 297:../libBMP280/src/bmp280.c ****         if (rslt == BMP280_OK)
2354
 1145              		.loc 1 297 16 view .LVU347
2355
 1146 0024 FFF7FEFF 		bl	bmp280_get_regs
2356
 1147              	.LVL102:
2357
 298:../libBMP280/src/bmp280.c ****         {
2358
 1148              		.loc 1 298 9 is_stmt 1 view .LVU348
2359
 298:../libBMP280/src/bmp280.c ****         {
2360
 1149              		.loc 1 298 12 is_stmt 0 view .LVU349
2361
 1150 0028 0246     		mov	r2, r0
2362
 1151 002a A8B9     		cbnz	r0, .L75
2363
 300:../libBMP280/src/bmp280.c ****             conf->os_pres = BMP280_GET_BITS(BMP280_OS_PRES, temp[0]);
2364
 1152              		.loc 1 300 13 is_stmt 1 view .LVU350
2365
 300:../libBMP280/src/bmp280.c ****             conf->os_pres = BMP280_GET_BITS(BMP280_OS_PRES, temp[0]);
2366
 1153              		.loc 1 300 29 is_stmt 0 view .LVU351
2367
 1154 002c 9DF80430 		ldrb	r3, [sp, #4]	@ zero_extendqisi2
2368
 1155 0030 5909     		lsrs	r1, r3, #5
2369
 300:../libBMP280/src/bmp280.c ****             conf->os_pres = BMP280_GET_BITS(BMP280_OS_PRES, temp[0]);
2370
 1156              		.loc 1 300 27 view .LVU352
2371
 1157 0032 2170     		strb	r1, [r4]
2372
 301:../libBMP280/src/bmp280.c ****             conf->odr = BMP280_GET_BITS(BMP280_STANDBY_DURN, temp[1]);
2373
 1158              		.loc 1 301 13 is_stmt 1 view .LVU353
2374
 301:../libBMP280/src/bmp280.c ****             conf->odr = BMP280_GET_BITS(BMP280_STANDBY_DURN, temp[1]);
2375
 1159              		.loc 1 301 29 is_stmt 0 view .LVU354
2376
 1160 0034 C3F38203 		ubfx	r3, r3, #2, #3
2377
 301:../libBMP280/src/bmp280.c ****             conf->odr = BMP280_GET_BITS(BMP280_STANDBY_DURN, temp[1]);
2378
 1161              		.loc 1 301 27 view .LVU355
2379
 1162 0038 6370     		strb	r3, [r4, #1]
2380
 302:../libBMP280/src/bmp280.c ****             conf->filter = BMP280_GET_BITS(BMP280_FILTER, temp[1]);
2381
 1163              		.loc 1 302 13 is_stmt 1 view .LVU356
2382
 302:../libBMP280/src/bmp280.c ****             conf->filter = BMP280_GET_BITS(BMP280_FILTER, temp[1]);
2383
 1164              		.loc 1 302 25 is_stmt 0 view .LVU357
2384
 1165 003a 9DF80530 		ldrb	r3, [sp, #5]	@ zero_extendqisi2
2385
 1166 003e 5909     		lsrs	r1, r3, #5
2386
 302:../libBMP280/src/bmp280.c ****             conf->filter = BMP280_GET_BITS(BMP280_FILTER, temp[1]);
2387
 1167              		.loc 1 302 23 view .LVU358
2388
 1168 0040 A170     		strb	r1, [r4, #2]
2389
 303:../libBMP280/src/bmp280.c ****             conf->spi3w_en = BMP280_GET_BITS_POS_0(BMP280_SPI3_ENABLE, temp[1]);
2390
 1169              		.loc 1 303 13 is_stmt 1 view .LVU359
2391
 303:../libBMP280/src/bmp280.c ****             conf->spi3w_en = BMP280_GET_BITS_POS_0(BMP280_SPI3_ENABLE, temp[1]);
2392
 1170              		.loc 1 303 28 is_stmt 0 view .LVU360
2393
 1171 0042 C3F38201 		ubfx	r1, r3, #2, #3
2394
 303:../libBMP280/src/bmp280.c ****             conf->spi3w_en = BMP280_GET_BITS_POS_0(BMP280_SPI3_ENABLE, temp[1]);
2395
 1172              		.loc 1 303 26 view .LVU361
2396
 1173 0046 E170     		strb	r1, [r4, #3]
2397
 304:../libBMP280/src/bmp280.c ****             dev->conf = *conf;
2398
 1174              		.loc 1 304 13 is_stmt 1 view .LVU362
2399
 304:../libBMP280/src/bmp280.c ****             dev->conf = *conf;
2400
 1175              		.loc 1 304 30 is_stmt 0 view .LVU363
19 mjames 2401
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 41
16 mjames 2402
 
2403
 
2404
 1176 0048 03F00103 		and	r3, r3, #1
2405
 304:../libBMP280/src/bmp280.c ****             dev->conf = *conf;
2406
 1177              		.loc 1 304 28 view .LVU364
2407
 1178 004c 2371     		strb	r3, [r4, #4]
2408
 305:../libBMP280/src/bmp280.c ****         }
2409
 1179              		.loc 1 305 13 is_stmt 1 view .LVU365
2410
 305:../libBMP280/src/bmp280.c ****         }
2411
 1180              		.loc 1 305 23 is_stmt 0 view .LVU366
2412
 1181 004e 2068     		ldr	r0, [r4]	@ unaligned
2413
 1182              	.LVL103:
2414
 305:../libBMP280/src/bmp280.c ****         }
2415
 1183              		.loc 1 305 23 view .LVU367
2416
 1184 0050 E862     		str	r0, [r5, #44]
2417
 1185 0052 2379     		ldrb	r3, [r4, #4]	@ zero_extendqisi2
2418
 1186 0054 85F83030 		strb	r3, [r5, #48]
2419
 1187              	.L75:
2420
 1188              	.LVL104:
2421
 313:../libBMP280/src/bmp280.c **** }
2422
 1189              		.loc 1 313 5 is_stmt 1 view .LVU368
2423
 314:../libBMP280/src/bmp280.c **** 
2424
 1190              		.loc 1 314 1 is_stmt 0 view .LVU369
2425
 1191 0058 1046     		mov	r0, r2
2426
 1192 005a 03B0     		add	sp, sp, #12
2427
 1193              	.LCFI22:
2428
 1194              		.cfi_remember_state
2429
 1195              		.cfi_def_cfa_offset 12
2430
 1196              		@ sp needed
2431
 1197 005c 30BD     		pop	{r4, r5, pc}
2432
 1198              	.LVL105:
2433
 1199              	.L76:
2434
 1200              	.LCFI23:
2435
 1201              		.cfi_restore_state
2436
 310:../libBMP280/src/bmp280.c ****     }
2437
 1202              		.loc 1 310 14 view .LVU370
2438
 1203 005e 4FF0FF32 		mov	r2, #-1
2439
 1204 0062 F9E7     		b	.L75
2440
 1205              	.L77:
2441
 1206 0064 4FF0FF32 		mov	r2, #-1
2442
 1207 0068 F6E7     		b	.L75
2443
 1208              		.cfi_endproc
2444
 1209              	.LFE4:
2445
 1211              		.section	.text.bmp280_set_config,"ax",%progbits
2446
 1212              		.align	1
2447
 1213              		.global	bmp280_set_config
2448
 1214              		.syntax unified
2449
 1215              		.thumb
2450
 1216              		.thumb_func
2451
 1217              		.fpu softvfp
2452
 1219              	bmp280_set_config:
2453
 1220              	.LVL106:
2454
 1221              	.LFB5:
2455
 322:../libBMP280/src/bmp280.c ****     return conf_sensor(BMP280_SLEEP_MODE, conf, dev);
2456
 1222              		.loc 1 322 1 is_stmt 1 view -0
2457
 1223              		.cfi_startproc
2458
 1224              		@ args = 0, pretend = 0, frame = 0
2459
 1225              		@ frame_needed = 0, uses_anonymous_args = 0
2460
 322:../libBMP280/src/bmp280.c ****     return conf_sensor(BMP280_SLEEP_MODE, conf, dev);
19 mjames 2461
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 42
16 mjames 2462
 
2463
 
2464
 1226              		.loc 1 322 1 is_stmt 0 view .LVU372
2465
 1227 0000 08B5     		push	{r3, lr}
2466
 1228              	.LCFI24:
2467
 1229              		.cfi_def_cfa_offset 8
2468
 1230              		.cfi_offset 3, -8
2469
 1231              		.cfi_offset 14, -4
2470
 323:../libBMP280/src/bmp280.c **** }
2471
 1232              		.loc 1 323 5 is_stmt 1 view .LVU373
2472
 323:../libBMP280/src/bmp280.c **** }
2473
 1233              		.loc 1 323 12 is_stmt 0 view .LVU374
2474
 1234 0002 0A46     		mov	r2, r1
2475
 1235 0004 0146     		mov	r1, r0
2476
 1236              	.LVL107:
2477
 323:../libBMP280/src/bmp280.c **** }
2478
 1237              		.loc 1 323 12 view .LVU375
2479
 1238 0006 0020     		movs	r0, #0
2480
 1239              	.LVL108:
2481
 323:../libBMP280/src/bmp280.c **** }
2482
 1240              		.loc 1 323 12 view .LVU376
2483
 1241 0008 FFF7FEFF 		bl	conf_sensor
2484
 1242              	.LVL109:
2485
 324:../libBMP280/src/bmp280.c **** 
2486
 1243              		.loc 1 324 1 view .LVU377
2487
 1244 000c 08BD     		pop	{r3, pc}
2488
 1245              		.cfi_endproc
2489
 1246              	.LFE5:
2490
 1248              		.section	.text.bmp280_get_status,"ax",%progbits
2491
 1249              		.align	1
2492
 1250              		.global	bmp280_get_status
2493
 1251              		.syntax unified
2494
 1252              		.thumb
2495
 1253              		.thumb_func
2496
 1254              		.fpu softvfp
2497
 1256              	bmp280_get_status:
2498
 1257              	.LVL110:
2499
 1258              	.LFB6:
2500
 330:../libBMP280/src/bmp280.c ****     int8_t rslt;
2501
 1259              		.loc 1 330 1 is_stmt 1 view -0
2502
 1260              		.cfi_startproc
2503
 1261              		@ args = 0, pretend = 0, frame = 8
2504
 1262              		@ frame_needed = 0, uses_anonymous_args = 0
2505
 330:../libBMP280/src/bmp280.c ****     int8_t rslt;
2506
 1263              		.loc 1 330 1 is_stmt 0 view .LVU379
2507
 1264 0000 30B5     		push	{r4, r5, lr}
2508
 1265              	.LCFI25:
2509
 1266              		.cfi_def_cfa_offset 12
2510
 1267              		.cfi_offset 4, -12
2511
 1268              		.cfi_offset 5, -8
2512
 1269              		.cfi_offset 14, -4
2513
 1270 0002 83B0     		sub	sp, sp, #12
2514
 1271              	.LCFI26:
2515
 1272              		.cfi_def_cfa_offset 24
2516
 1273 0004 0446     		mov	r4, r0
2517
 1274 0006 0D46     		mov	r5, r1
2518
 331:../libBMP280/src/bmp280.c ****     uint8_t temp;
2519
 1275              		.loc 1 331 5 is_stmt 1 view .LVU380
2520
 332:../libBMP280/src/bmp280.c **** 
19 mjames 2521
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 43
16 mjames 2522
 
2523
 
2524
 1276              		.loc 1 332 5 view .LVU381
2525
 334:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (status != NULL))
2526
 1277              		.loc 1 334 5 view .LVU382
2527
 334:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (status != NULL))
2528
 1278              		.loc 1 334 12 is_stmt 0 view .LVU383
2529
 1279 0008 0846     		mov	r0, r1
2530
 1280              	.LVL111:
2531
 334:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (status != NULL))
2532
 1281              		.loc 1 334 12 view .LVU384
2533
 1282 000a FFF7FEFF 		bl	null_ptr_check
2534
 1283              	.LVL112:
2535
 335:../libBMP280/src/bmp280.c ****     {
2536
 1284              		.loc 1 335 5 is_stmt 1 view .LVU385
2537
 335:../libBMP280/src/bmp280.c ****     {
2538
 1285              		.loc 1 335 8 is_stmt 0 view .LVU386
2539
 1286 000e 88B9     		cbnz	r0, .L83
2540
 335:../libBMP280/src/bmp280.c ****     {
2541
 1287              		.loc 1 335 29 discriminator 1 view .LVU387
2542
 1288 0010 9CB1     		cbz	r4, .L84
2543
 337:../libBMP280/src/bmp280.c ****         status->measuring = BMP280_GET_BITS(BMP280_STATUS_MEAS, temp);
2544
 1289              		.loc 1 337 9 is_stmt 1 view .LVU388
2545
 337:../libBMP280/src/bmp280.c ****         status->measuring = BMP280_GET_BITS(BMP280_STATUS_MEAS, temp);
2546
 1290              		.loc 1 337 16 is_stmt 0 view .LVU389
2547
 1291 0012 2B46     		mov	r3, r5
2548
 1292 0014 0122     		movs	r2, #1
2549
 1293 0016 0DF10701 		add	r1, sp, #7
2550
 1294 001a F320     		movs	r0, #243
2551
 1295              	.LVL113:
2552
 337:../libBMP280/src/bmp280.c ****         status->measuring = BMP280_GET_BITS(BMP280_STATUS_MEAS, temp);
2553
 1296              		.loc 1 337 16 view .LVU390
2554
 1297 001c FFF7FEFF 		bl	bmp280_get_regs
2555
 1298              	.LVL114:
2556
 338:../libBMP280/src/bmp280.c ****         status->im_update = BMP280_GET_BITS_POS_0(BMP280_STATUS_IM_UPDATE, temp);
2557
 1299              		.loc 1 338 9 is_stmt 1 view .LVU391
2558
 338:../libBMP280/src/bmp280.c ****         status->im_update = BMP280_GET_BITS_POS_0(BMP280_STATUS_IM_UPDATE, temp);
2559
 1300              		.loc 1 338 29 is_stmt 0 view .LVU392
2560
 1301 0020 9DF80730 		ldrb	r3, [sp, #7]	@ zero_extendqisi2
2561
 1302 0024 C3F3C002 		ubfx	r2, r3, #3, #1
2562
 338:../libBMP280/src/bmp280.c ****         status->im_update = BMP280_GET_BITS_POS_0(BMP280_STATUS_IM_UPDATE, temp);
2563
 1303              		.loc 1 338 27 view .LVU393
2564
 1304 0028 2270     		strb	r2, [r4]
2565
 339:../libBMP280/src/bmp280.c ****     }
2566
 1305              		.loc 1 339 9 is_stmt 1 view .LVU394
2567
 339:../libBMP280/src/bmp280.c ****     }
2568
 1306              		.loc 1 339 29 is_stmt 0 view .LVU395
2569
 1307 002a 03F00103 		and	r3, r3, #1
2570
 339:../libBMP280/src/bmp280.c ****     }
2571
 1308              		.loc 1 339 27 view .LVU396
2572
 1309 002e 6370     		strb	r3, [r4, #1]
2573
 1310              	.LVL115:
2574
 1311              	.L82:
2575
 346:../libBMP280/src/bmp280.c **** }
2576
 1312              		.loc 1 346 5 is_stmt 1 view .LVU397
2577
 347:../libBMP280/src/bmp280.c **** 
2578
 1313              		.loc 1 347 1 is_stmt 0 view .LVU398
2579
 1314 0030 03B0     		add	sp, sp, #12
2580
 1315              	.LCFI27:
19 mjames 2581
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 44
16 mjames 2582
 
2583
 
2584
 1316              		.cfi_remember_state
2585
 1317              		.cfi_def_cfa_offset 12
2586
 1318              		@ sp needed
2587
 1319 0032 30BD     		pop	{r4, r5, pc}
2588
 1320              	.LVL116:
2589
 1321              	.L83:
2590
 1322              	.LCFI28:
2591
 1323              		.cfi_restore_state
2592
 343:../libBMP280/src/bmp280.c ****     }
2593
 1324              		.loc 1 343 14 view .LVU399
2594
 1325 0034 4FF0FF30 		mov	r0, #-1
2595
 1326              	.LVL117:
2596
 343:../libBMP280/src/bmp280.c ****     }
2597
 1327              		.loc 1 343 14 view .LVU400
2598
 1328 0038 FAE7     		b	.L82
2599
 1329              	.LVL118:
2600
 1330              	.L84:
2601
 343:../libBMP280/src/bmp280.c ****     }
2602
 1331              		.loc 1 343 14 view .LVU401
2603
 1332 003a 4FF0FF30 		mov	r0, #-1
2604
 1333              	.LVL119:
2605
 343:../libBMP280/src/bmp280.c ****     }
2606
 1334              		.loc 1 343 14 view .LVU402
2607
 1335 003e F7E7     		b	.L82
2608
 1336              		.cfi_endproc
2609
 1337              	.LFE6:
2610
 1339              		.section	.text.bmp280_get_power_mode,"ax",%progbits
2611
 1340              		.align	1
2612
 1341              		.global	bmp280_get_power_mode
2613
 1342              		.syntax unified
2614
 1343              		.thumb
2615
 1344              		.thumb_func
2616
 1345              		.fpu softvfp
2617
 1347              	bmp280_get_power_mode:
2618
 1348              	.LVL120:
2619
 1349              	.LFB7:
2620
 353:../libBMP280/src/bmp280.c ****     int8_t rslt;
2621
 1350              		.loc 1 353 1 is_stmt 1 view -0
2622
 1351              		.cfi_startproc
2623
 1352              		@ args = 0, pretend = 0, frame = 8
2624
 1353              		@ frame_needed = 0, uses_anonymous_args = 0
2625
 353:../libBMP280/src/bmp280.c ****     int8_t rslt;
2626
 1354              		.loc 1 353 1 is_stmt 0 view .LVU404
2627
 1355 0000 30B5     		push	{r4, r5, lr}
2628
 1356              	.LCFI29:
2629
 1357              		.cfi_def_cfa_offset 12
2630
 1358              		.cfi_offset 4, -12
2631
 1359              		.cfi_offset 5, -8
2632
 1360              		.cfi_offset 14, -4
2633
 1361 0002 83B0     		sub	sp, sp, #12
2634
 1362              	.LCFI30:
2635
 1363              		.cfi_def_cfa_offset 24
2636
 1364 0004 0546     		mov	r5, r0
2637
 1365 0006 0C46     		mov	r4, r1
2638
 354:../libBMP280/src/bmp280.c ****     uint8_t temp;
2639
 1366              		.loc 1 354 5 is_stmt 1 view .LVU405
2640
 355:../libBMP280/src/bmp280.c **** 
19 mjames 2641
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 45
16 mjames 2642
 
2643
 
2644
 1367              		.loc 1 355 5 view .LVU406
2645
 357:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (mode != NULL))
2646
 1368              		.loc 1 357 5 view .LVU407
2647
 357:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (mode != NULL))
2648
 1369              		.loc 1 357 12 is_stmt 0 view .LVU408
2649
 1370 0008 0846     		mov	r0, r1
2650
 1371              	.LVL121:
2651
 357:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (mode != NULL))
2652
 1372              		.loc 1 357 12 view .LVU409
2653
 1373 000a FFF7FEFF 		bl	null_ptr_check
2654
 1374              	.LVL122:
2655
 358:../libBMP280/src/bmp280.c ****     {
2656
 1375              		.loc 1 358 5 is_stmt 1 view .LVU410
2657
 358:../libBMP280/src/bmp280.c ****     {
2658
 1376              		.loc 1 358 8 is_stmt 0 view .LVU411
2659
 1377 000e 70B9     		cbnz	r0, .L88
2660
 358:../libBMP280/src/bmp280.c ****     {
2661
 1378              		.loc 1 358 29 discriminator 1 view .LVU412
2662
 1379 0010 85B1     		cbz	r5, .L89
2663
 360:../libBMP280/src/bmp280.c ****         *mode = BMP280_GET_BITS_POS_0(BMP280_POWER_MODE, temp);
2664
 1380              		.loc 1 360 9 is_stmt 1 view .LVU413
2665
 360:../libBMP280/src/bmp280.c ****         *mode = BMP280_GET_BITS_POS_0(BMP280_POWER_MODE, temp);
2666
 1381              		.loc 1 360 16 is_stmt 0 view .LVU414
2667
 1382 0012 2346     		mov	r3, r4
2668
 1383 0014 0122     		movs	r2, #1
2669
 1384 0016 0DF10701 		add	r1, sp, #7
2670
 1385 001a F420     		movs	r0, #244
2671
 1386              	.LVL123:
2672
 360:../libBMP280/src/bmp280.c ****         *mode = BMP280_GET_BITS_POS_0(BMP280_POWER_MODE, temp);
2673
 1387              		.loc 1 360 16 view .LVU415
2674
 1388 001c FFF7FEFF 		bl	bmp280_get_regs
2675
 1389              	.LVL124:
2676
 361:../libBMP280/src/bmp280.c ****     }
2677
 1390              		.loc 1 361 9 is_stmt 1 view .LVU416
2678
 361:../libBMP280/src/bmp280.c ****     }
2679
 1391              		.loc 1 361 17 is_stmt 0 view .LVU417
2680
 1392 0020 9DF80730 		ldrb	r3, [sp, #7]	@ zero_extendqisi2
2681
 1393 0024 03F00303 		and	r3, r3, #3
2682
 361:../libBMP280/src/bmp280.c ****     }
2683
 1394              		.loc 1 361 15 view .LVU418
2684
 1395 0028 2B70     		strb	r3, [r5]
2685
 1396              	.LVL125:
2686
 1397              	.L87:
2687
 368:../libBMP280/src/bmp280.c **** }
2688
 1398              		.loc 1 368 5 is_stmt 1 view .LVU419
2689
 369:../libBMP280/src/bmp280.c **** 
2690
 1399              		.loc 1 369 1 is_stmt 0 view .LVU420
2691
 1400 002a 03B0     		add	sp, sp, #12
2692
 1401              	.LCFI31:
2693
 1402              		.cfi_remember_state
2694
 1403              		.cfi_def_cfa_offset 12
2695
 1404              		@ sp needed
2696
 1405 002c 30BD     		pop	{r4, r5, pc}
2697
 1406              	.LVL126:
2698
 1407              	.L88:
2699
 1408              	.LCFI32:
2700
 1409              		.cfi_restore_state
19 mjames 2701
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 46
16 mjames 2702
 
2703
 
2704
 365:../libBMP280/src/bmp280.c ****     }
2705
 1410              		.loc 1 365 14 view .LVU421
2706
 1411 002e 4FF0FF30 		mov	r0, #-1
2707
 1412              	.LVL127:
2708
 365:../libBMP280/src/bmp280.c ****     }
2709
 1413              		.loc 1 365 14 view .LVU422
2710
 1414 0032 FAE7     		b	.L87
2711
 1415              	.LVL128:
2712
 1416              	.L89:
2713
 365:../libBMP280/src/bmp280.c ****     }
2714
 1417              		.loc 1 365 14 view .LVU423
2715
 1418 0034 4FF0FF30 		mov	r0, #-1
2716
 1419              	.LVL129:
2717
 365:../libBMP280/src/bmp280.c ****     }
2718
 1420              		.loc 1 365 14 view .LVU424
2719
 1421 0038 F7E7     		b	.L87
2720
 1422              		.cfi_endproc
2721
 1423              	.LFE7:
2722
 1425              		.section	.text.bmp280_set_power_mode,"ax",%progbits
2723
 1426              		.align	1
2724
 1427              		.global	bmp280_set_power_mode
2725
 1428              		.syntax unified
2726
 1429              		.thumb
2727
 1430              		.thumb_func
2728
 1431              		.fpu softvfp
2729
 1433              	bmp280_set_power_mode:
2730
 1434              	.LVL130:
2731
 1435              	.LFB8:
2732
 375:../libBMP280/src/bmp280.c ****     int8_t rslt;
2733
 1436              		.loc 1 375 1 is_stmt 1 view -0
2734
 1437              		.cfi_startproc
2735
 1438              		@ args = 0, pretend = 0, frame = 0
2736
 1439              		@ frame_needed = 0, uses_anonymous_args = 0
2737
 375:../libBMP280/src/bmp280.c ****     int8_t rslt;
2738
 1440              		.loc 1 375 1 is_stmt 0 view .LVU426
2739
 1441 0000 38B5     		push	{r3, r4, r5, lr}
2740
 1442              	.LCFI33:
2741
 1443              		.cfi_def_cfa_offset 16
2742
 1444              		.cfi_offset 3, -16
2743
 1445              		.cfi_offset 4, -12
2744
 1446              		.cfi_offset 5, -8
2745
 1447              		.cfi_offset 14, -4
2746
 1448 0002 0546     		mov	r5, r0
2747
 1449 0004 0C46     		mov	r4, r1
2748
 376:../libBMP280/src/bmp280.c **** 
2749
 1450              		.loc 1 376 5 is_stmt 1 view .LVU427
2750
 378:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
2751
 1451              		.loc 1 378 5 view .LVU428
2752
 378:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
2753
 1452              		.loc 1 378 12 is_stmt 0 view .LVU429
2754
 1453 0006 0846     		mov	r0, r1
2755
 1454              	.LVL131:
2756
 378:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
2757
 1455              		.loc 1 378 12 view .LVU430
2758
 1456 0008 FFF7FEFF 		bl	null_ptr_check
2759
 1457              	.LVL132:
2760
 379:../libBMP280/src/bmp280.c ****     {
19 mjames 2761
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 47
16 mjames 2762
 
2763
 
2764
 1458              		.loc 1 379 5 is_stmt 1 view .LVU431
2765
 379:../libBMP280/src/bmp280.c ****     {
2766
 1459              		.loc 1 379 8 is_stmt 0 view .LVU432
2767
 1460 000c 0346     		mov	r3, r0
2768
 1461 000e 08B1     		cbz	r0, .L94
2769
 1462              	.LVL133:
2770
 1463              	.L92:
2771
 384:../libBMP280/src/bmp280.c **** }
2772
 1464              		.loc 1 384 5 is_stmt 1 view .LVU433
2773
 385:../libBMP280/src/bmp280.c **** 
2774
 1465              		.loc 1 385 1 is_stmt 0 view .LVU434
2775
 1466 0010 1846     		mov	r0, r3
2776
 1467 0012 38BD     		pop	{r3, r4, r5, pc}
2777
 1468              	.LVL134:
2778
 1469              	.L94:
2779
 381:../libBMP280/src/bmp280.c ****     }
2780
 1470              		.loc 1 381 9 is_stmt 1 view .LVU435
2781
 381:../libBMP280/src/bmp280.c ****     }
2782
 1471              		.loc 1 381 16 is_stmt 0 view .LVU436
2783
 1472 0014 2246     		mov	r2, r4
2784
 1473 0016 04F12C01 		add	r1, r4, #44
2785
 1474 001a 2846     		mov	r0, r5
2786
 1475              	.LVL135:
2787
 381:../libBMP280/src/bmp280.c ****     }
2788
 1476              		.loc 1 381 16 view .LVU437
2789
 1477 001c FFF7FEFF 		bl	conf_sensor
2790
 1478              	.LVL136:
2791
 1479 0020 0346     		mov	r3, r0
2792
 1480              	.LVL137:
2793
 381:../libBMP280/src/bmp280.c ****     }
2794
 1481              		.loc 1 381 16 view .LVU438
2795
 1482 0022 F5E7     		b	.L92
2796
 1483              		.cfi_endproc
2797
 1484              	.LFE8:
2798
 1486              		.section	.text.bmp280_get_uncomp_data,"ax",%progbits
2799
 1487              		.align	1
2800
 1488              		.global	bmp280_get_uncomp_data
2801
 1489              		.syntax unified
2802
 1490              		.thumb
2803
 1491              		.thumb_func
2804
 1492              		.fpu softvfp
2805
 1494              	bmp280_get_uncomp_data:
2806
 1495              	.LVL138:
2807
 1496              	.LFB9:
2808
 392:../libBMP280/src/bmp280.c ****     int8_t rslt;
2809
 1497              		.loc 1 392 1 is_stmt 1 view -0
2810
 1498              		.cfi_startproc
2811
 1499              		@ args = 0, pretend = 0, frame = 8
2812
 1500              		@ frame_needed = 0, uses_anonymous_args = 0
2813
 392:../libBMP280/src/bmp280.c ****     int8_t rslt;
2814
 1501              		.loc 1 392 1 is_stmt 0 view .LVU440
2815
 1502 0000 30B5     		push	{r4, r5, lr}
2816
 1503              	.LCFI34:
2817
 1504              		.cfi_def_cfa_offset 12
2818
 1505              		.cfi_offset 4, -12
2819
 1506              		.cfi_offset 5, -8
2820
 1507              		.cfi_offset 14, -4
19 mjames 2821
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 48
16 mjames 2822
 
2823
 
2824
 1508 0002 83B0     		sub	sp, sp, #12
2825
 1509              	.LCFI35:
2826
 1510              		.cfi_def_cfa_offset 24
2827
 1511 0004 0446     		mov	r4, r0
2828
 1512 0006 0D46     		mov	r5, r1
2829
 393:../libBMP280/src/bmp280.c ****     uint8_t temp[6] = { 0 };
2830
 1513              		.loc 1 393 5 is_stmt 1 view .LVU441
2831
 394:../libBMP280/src/bmp280.c **** 
2832
 1514              		.loc 1 394 5 view .LVU442
2833
 394:../libBMP280/src/bmp280.c **** 
2834
 1515              		.loc 1 394 13 is_stmt 0 view .LVU443
2835
 1516 0008 0023     		movs	r3, #0
2836
 1517 000a 0093     		str	r3, [sp]
2837
 1518 000c ADF80430 		strh	r3, [sp, #4]	@ movhi
2838
 396:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (uncomp_data != NULL))
2839
 1519              		.loc 1 396 5 is_stmt 1 view .LVU444
2840
 396:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (uncomp_data != NULL))
2841
 1520              		.loc 1 396 12 is_stmt 0 view .LVU445
2842
 1521 0010 0846     		mov	r0, r1
2843
 1522              	.LVL139:
2844
 396:../libBMP280/src/bmp280.c ****     if ((rslt == BMP280_OK) && (uncomp_data != NULL))
2845
 1523              		.loc 1 396 12 view .LVU446
2846
 1524 0012 FFF7FEFF 		bl	null_ptr_check
2847
 1525              	.LVL140:
2848
 397:../libBMP280/src/bmp280.c ****     {
2849
 1526              		.loc 1 397 5 is_stmt 1 view .LVU447
2850
 397:../libBMP280/src/bmp280.c ****     {
2851
 1527              		.loc 1 397 8 is_stmt 0 view .LVU448
2852
 1528 0016 18BB     		cbnz	r0, .L97
2853
 397:../libBMP280/src/bmp280.c ****     {
2854
 1529              		.loc 1 397 29 discriminator 1 view .LVU449
2855
 1530 0018 2CB3     		cbz	r4, .L98
2856
 399:../libBMP280/src/bmp280.c ****         if (rslt == BMP280_OK)
2857
 1531              		.loc 1 399 9 is_stmt 1 view .LVU450
2858
 399:../libBMP280/src/bmp280.c ****         if (rslt == BMP280_OK)
2859
 1532              		.loc 1 399 16 is_stmt 0 view .LVU451
2860
 1533 001a 2B46     		mov	r3, r5
2861
 1534 001c 0622     		movs	r2, #6
2862
 1535 001e 6946     		mov	r1, sp
2863
 1536 0020 F720     		movs	r0, #247
2864
 1537              	.LVL141:
2865
 399:../libBMP280/src/bmp280.c ****         if (rslt == BMP280_OK)
2866
 1538              		.loc 1 399 16 view .LVU452
2867
 1539 0022 FFF7FEFF 		bl	bmp280_get_regs
2868
 1540              	.LVL142:
2869
 400:../libBMP280/src/bmp280.c ****         {
2870
 1541              		.loc 1 400 9 is_stmt 1 view .LVU453
2871
 400:../libBMP280/src/bmp280.c ****         {
2872
 1542              		.loc 1 400 12 is_stmt 0 view .LVU454
2873
 1543 0026 08BB     		cbnz	r0, .L99
2874
 402:../libBMP280/src/bmp280.c ****                 (int32_t) ((((uint32_t) (temp[0])) << 12) | (((uint32_t) (temp[1])) << 4) | ((uint3
2875
 1544              		.loc 1 402 13 is_stmt 1 view .LVU455
2876
 403:../libBMP280/src/bmp280.c ****             uncomp_data->uncomp_temp =
2877
 1545              		.loc 1 403 46 is_stmt 0 view .LVU456
2878
 1546 0028 9DF80030 		ldrb	r3, [sp]	@ zero_extendqisi2
2879
 403:../libBMP280/src/bmp280.c ****             uncomp_data->uncomp_temp =
2880
 1547              		.loc 1 403 79 view .LVU457
19 mjames 2881
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 49
16 mjames 2882
 
2883
 
2884
 1548 002c 9DF80110 		ldrb	r1, [sp, #1]	@ zero_extendqisi2
2885
 403:../libBMP280/src/bmp280.c ****             uncomp_data->uncomp_temp =
2886
 1549              		.loc 1 403 85 view .LVU458
2887
 1550 0030 0901     		lsls	r1, r1, #4
2888
 403:../libBMP280/src/bmp280.c ****             uncomp_data->uncomp_temp =
2889
 1551              		.loc 1 403 59 view .LVU459
2890
 1552 0032 41EA0331 		orr	r1, r1, r3, lsl #12
2891
 403:../libBMP280/src/bmp280.c ****             uncomp_data->uncomp_temp =
2892
 1553              		.loc 1 403 109 view .LVU460
2893
 1554 0036 9DF80230 		ldrb	r3, [sp, #2]	@ zero_extendqisi2
2894
 403:../libBMP280/src/bmp280.c ****             uncomp_data->uncomp_temp =
2895
 1555              		.loc 1 403 91 view .LVU461
2896
 1556 003a 41EA1311 		orr	r1, r1, r3, lsr #4
2897
 402:../libBMP280/src/bmp280.c ****                 (int32_t) ((((uint32_t) (temp[0])) << 12) | (((uint32_t) (temp[1])) << 4) | ((uint3
2898
 1557              		.loc 1 402 39 view .LVU462
2899
 1558 003e 6160     		str	r1, [r4, #4]
2900
 404:../libBMP280/src/bmp280.c ****                 (int32_t) ((((int32_t) (temp[3])) << 12) | (((int32_t) (temp[4])) << 4) | (((int32_
2901
 1559              		.loc 1 404 13 is_stmt 1 view .LVU463
2902
 405:../libBMP280/src/bmp280.c ****             rslt = st_check_boundaries((int32_t)uncomp_data->uncomp_temp, (int32_t)uncomp_data->unc
2903
 1560              		.loc 1 405 45 is_stmt 0 view .LVU464
2904
 1561 0040 9DF80330 		ldrb	r3, [sp, #3]	@ zero_extendqisi2
2905
 405:../libBMP280/src/bmp280.c ****             rslt = st_check_boundaries((int32_t)uncomp_data->uncomp_temp, (int32_t)uncomp_data->unc
2906
 1562              		.loc 1 405 77 view .LVU465
2907
 1563 0044 9DF80400 		ldrb	r0, [sp, #4]	@ zero_extendqisi2
2908
 1564              	.LVL143:
2909
 405:../libBMP280/src/bmp280.c ****             rslt = st_check_boundaries((int32_t)uncomp_data->uncomp_temp, (int32_t)uncomp_data->unc
2910
 1565              		.loc 1 405 83 view .LVU466
2911
 1566 0048 0001     		lsls	r0, r0, #4
2912
 405:../libBMP280/src/bmp280.c ****             rslt = st_check_boundaries((int32_t)uncomp_data->uncomp_temp, (int32_t)uncomp_data->unc
2913
 1567              		.loc 1 405 58 view .LVU467
2914
 1568 004a 40EA0330 		orr	r0, r0, r3, lsl #12
2915
 405:../libBMP280/src/bmp280.c ****             rslt = st_check_boundaries((int32_t)uncomp_data->uncomp_temp, (int32_t)uncomp_data->unc
2916
 1569              		.loc 1 405 108 view .LVU468
2917
 1570 004e 9DF80530 		ldrb	r3, [sp, #5]	@ zero_extendqisi2
2918
 405:../libBMP280/src/bmp280.c ****             rslt = st_check_boundaries((int32_t)uncomp_data->uncomp_temp, (int32_t)uncomp_data->unc
2919
 1571              		.loc 1 405 17 view .LVU469
2920
 1572 0052 40EA1310 		orr	r0, r0, r3, lsr #4
2921
 404:../libBMP280/src/bmp280.c ****                 (int32_t) ((((int32_t) (temp[3])) << 12) | (((int32_t) (temp[4])) << 4) | (((int32_
2922
 1573              		.loc 1 404 38 view .LVU470
2923
 1574 0056 2060     		str	r0, [r4]
2924
 406:../libBMP280/src/bmp280.c ****         }
2925
 1575              		.loc 1 406 13 is_stmt 1 view .LVU471
2926
 406:../libBMP280/src/bmp280.c ****         }
2927
 1576              		.loc 1 406 20 is_stmt 0 view .LVU472
2928
 1577 0058 FFF7FEFF 		bl	st_check_boundaries
2929
 1578              	.LVL144:
2930
 1579              	.L96:
2931
 418:../libBMP280/src/bmp280.c **** }
2932
 1580              		.loc 1 418 5 is_stmt 1 view .LVU473
2933
 419:../libBMP280/src/bmp280.c **** 
2934
 1581              		.loc 1 419 1 is_stmt 0 view .LVU474
2935
 1582 005c 03B0     		add	sp, sp, #12
2936
 1583              	.LCFI36:
2937
 1584              		.cfi_remember_state
2938
 1585              		.cfi_def_cfa_offset 12
2939
 1586              		@ sp needed
2940
 1587 005e 30BD     		pop	{r4, r5, pc}
19 mjames 2941
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 50
16 mjames 2942
 
2943
 
2944
 1588              	.LVL145:
2945
 1589              	.L97:
2946
 1590              	.LCFI37:
2947
 1591              		.cfi_restore_state
2948
 415:../libBMP280/src/bmp280.c ****     }
2949
 1592              		.loc 1 415 14 view .LVU475
2950
 1593 0060 4FF0FF30 		mov	r0, #-1
2951
 1594              	.LVL146:
2952
 415:../libBMP280/src/bmp280.c ****     }
2953
 1595              		.loc 1 415 14 view .LVU476
2954
 1596 0064 FAE7     		b	.L96
2955
 1597              	.LVL147:
2956
 1598              	.L98:
2957
 415:../libBMP280/src/bmp280.c ****     }
2958
 1599              		.loc 1 415 14 view .LVU477
2959
 1600 0066 4FF0FF30 		mov	r0, #-1
2960
 1601              	.LVL148:
2961
 415:../libBMP280/src/bmp280.c ****     }
2962
 1602              		.loc 1 415 14 view .LVU478
2963
 1603 006a F7E7     		b	.L96
2964
 1604              	.LVL149:
2965
 1605              	.L99:
2966
 410:../libBMP280/src/bmp280.c ****         }
2967
 1606              		.loc 1 410 18 view .LVU479
2968
 1607 006c 6FF00C00 		mvn	r0, #12
2969
 1608              	.LVL150:
2970
 410:../libBMP280/src/bmp280.c ****         }
2971
 1609              		.loc 1 410 18 view .LVU480
2972
 1610 0070 F4E7     		b	.L96
2973
 1611              		.cfi_endproc
2974
 1612              	.LFE9:
2975
 1614              		.section	.text.bmp280_get_comp_temp_32bit,"ax",%progbits
2976
 1615              		.align	1
2977
 1616              		.global	bmp280_get_comp_temp_32bit
2978
 1617              		.syntax unified
2979
 1618              		.thumb
2980
 1619              		.thumb_func
2981
 1620              		.fpu softvfp
2982
 1622              	bmp280_get_comp_temp_32bit:
2983
 1623              	.LVL151:
2984
 1624              	.LFB10:
2985
 426:../libBMP280/src/bmp280.c ****     int32_t var1, var2;
2986
 1625              		.loc 1 426 1 is_stmt 1 view -0
2987
 1626              		.cfi_startproc
2988
 1627              		@ args = 0, pretend = 0, frame = 0
2989
 1628              		@ frame_needed = 0, uses_anonymous_args = 0
2990
 426:../libBMP280/src/bmp280.c ****     int32_t var1, var2;
2991
 1629              		.loc 1 426 1 is_stmt 0 view .LVU482
2992
 1630 0000 70B5     		push	{r4, r5, r6, lr}
2993
 1631              	.LCFI38:
2994
 1632              		.cfi_def_cfa_offset 16
2995
 1633              		.cfi_offset 4, -16
2996
 1634              		.cfi_offset 5, -12
2997
 1635              		.cfi_offset 6, -8
2998
 1636              		.cfi_offset 14, -4
2999
 1637 0002 0446     		mov	r4, r0
3000
 1638 0004 0E46     		mov	r6, r1
19 mjames 3001
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 51
16 mjames 3002
 
3003
 
3004
 1639 0006 1546     		mov	r5, r2
3005
 427:../libBMP280/src/bmp280.c ****     int8_t rslt;
3006
 1640              		.loc 1 427 5 is_stmt 1 view .LVU483
3007
 428:../libBMP280/src/bmp280.c **** 
3008
 1641              		.loc 1 428 5 view .LVU484
3009
 430:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
3010
 1642              		.loc 1 430 5 view .LVU485
3011
 430:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
3012
 1643              		.loc 1 430 12 is_stmt 0 view .LVU486
3013
 1644 0008 1046     		mov	r0, r2
3014
 1645              	.LVL152:
3015
 430:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
3016
 1646              		.loc 1 430 12 view .LVU487
3017
 1647 000a FFF7FEFF 		bl	null_ptr_check
3018
 1648              	.LVL153:
3019
 431:../libBMP280/src/bmp280.c ****     {
3020
 1649              		.loc 1 431 5 is_stmt 1 view .LVU488
3021
 431:../libBMP280/src/bmp280.c ****     {
3022
 1650              		.loc 1 431 8 is_stmt 0 view .LVU489
3023
 1651 000e D0BB     		cbnz	r0, .L102
3024
 1652 0010 0146     		mov	r1, r0
3025
 433:../libBMP280/src/bmp280.c ****             ((((uncomp_temp / 8) - ((int32_t) dev->calib_param.dig_t1 << 1))) * ((int32_t) dev->cal
3026
 1653              		.loc 1 433 9 is_stmt 1 view .LVU490
3027
 434:../libBMP280/src/bmp280.c ****             2048;
3028
 1654              		.loc 1 434 29 is_stmt 0 view .LVU491
3029
 1655 0012 3046     		mov	r0, r6
3030
 1656              	.LVL154:
3031
 434:../libBMP280/src/bmp280.c ****             2048;
3032
 1657              		.loc 1 434 29 view .LVU492
3033
 1658 0014 002E     		cmp	r6, #0
3034
 1659 0016 25DB     		blt	.L111
3035
 1660              	.L103:
3036
 434:../libBMP280/src/bmp280.c ****             2048;
3037
 1661              		.loc 1 434 63 view .LVU493
3038
 1662 0018 2A8A     		ldrh	r2, [r5, #16]
3039
 434:../libBMP280/src/bmp280.c ****             2048;
3040
 1663              		.loc 1 434 71 view .LVU494
3041
 1664 001a 5300     		lsls	r3, r2, #1
3042
 434:../libBMP280/src/bmp280.c ****             2048;
3043
 1665              		.loc 1 434 34 view .LVU495
3044
 1666 001c C3EBE000 		rsb	r0, r3, r0, asr #3
3045
 434:../libBMP280/src/bmp280.c ****             2048;
3046
 1667              		.loc 1 434 108 view .LVU496
3047
 1668 0020 B5F91230 		ldrsh	r3, [r5, #18]
3048
 434:../libBMP280/src/bmp280.c ****             2048;
3049
 1669              		.loc 1 434 79 view .LVU497
3050
 1670 0024 03FB00F3 		mul	r3, r3, r0
3051
 433:../libBMP280/src/bmp280.c ****             ((((uncomp_temp / 8) - ((int32_t) dev->calib_param.dig_t1 << 1))) * ((int32_t) dev->cal
3052
 1671              		.loc 1 433 14 view .LVU498
3053
 1672 0028 002B     		cmp	r3, #0
3054
 1673 002a 1DDB     		blt	.L112
3055
 1674              	.L104:
3056
 1675 002c DB12     		asrs	r3, r3, #11
3057
 1676              	.LVL155:
3058
 436:../libBMP280/src/bmp280.c ****             (((((uncomp_temp / 16) - ((int32_t) dev->calib_param.dig_t1)) *
3059
 1677              		.loc 1 436 9 is_stmt 1 view .LVU499
3060
 437:../libBMP280/src/bmp280.c ****                ((uncomp_temp / 16) - ((int32_t) dev->calib_param.dig_t1))) / 4096) *
19 mjames 3061
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 52
16 mjames 3062
 
3063
 
3064
 1678              		.loc 1 437 30 is_stmt 0 view .LVU500
3065
 1679 002e 3046     		mov	r0, r6
3066
 1680 0030 002E     		cmp	r6, #0
3067
 1681 0032 1CDB     		blt	.L113
3068
 1682              	.L105:
3069
 437:../libBMP280/src/bmp280.c ****                ((uncomp_temp / 16) - ((int32_t) dev->calib_param.dig_t1))) / 4096) *
3070
 1683              		.loc 1 437 36 view .LVU501
3071
 1684 0034 C2EB2012 		rsb	r2, r2, r0, asr #4
3072
 437:../libBMP280/src/bmp280.c ****                ((uncomp_temp / 16) - ((int32_t) dev->calib_param.dig_t1))) / 4096) *
3073
 1685              		.loc 1 437 75 view .LVU502
3074
 1686 0038 02FB02F2 		mul	r2, r2, r2
3075
 438:../libBMP280/src/bmp280.c ****              ((int32_t) dev->calib_param.dig_t3)) /
3076
 1687              		.loc 1 438 76 view .LVU503
3077
 1688 003c 002A     		cmp	r2, #0
3078
 1689 003e 19DB     		blt	.L114
3079
 1690              	.L106:
3080
 1691 0040 1213     		asrs	r2, r2, #12
3081
 439:../libBMP280/src/bmp280.c ****             16384;
3082
 1692              		.loc 1 439 41 view .LVU504
3083
 1693 0042 B5F91400 		ldrsh	r0, [r5, #20]
3084
 438:../libBMP280/src/bmp280.c ****              ((int32_t) dev->calib_param.dig_t3)) /
3085
 1694              		.loc 1 438 84 view .LVU505
3086
 1695 0046 00FB02F2 		mul	r2, r0, r2
3087
 436:../libBMP280/src/bmp280.c ****             (((((uncomp_temp / 16) - ((int32_t) dev->calib_param.dig_t1)) *
3088
 1696              		.loc 1 436 14 view .LVU506
3089
 1697 004a 002A     		cmp	r2, #0
3090
 1698 004c 15DB     		blt	.L115
3091
 1699              	.L107:
3092
 1700              	.LVL156:
3093
 441:../libBMP280/src/bmp280.c ****         *comp_temp = (dev->calib_param.t_fine * 5 + 128) / 256;
3094
 1701              		.loc 1 441 9 is_stmt 1 view .LVU507
3095
 441:../libBMP280/src/bmp280.c ****         *comp_temp = (dev->calib_param.t_fine * 5 + 128) / 256;
3096
 1702              		.loc 1 441 40 is_stmt 0 view .LVU508
3097
 1703 004e 03EBA233 		add	r3, r3, r2, asr #14
3098
 1704              	.LVL157:
3099
 441:../libBMP280/src/bmp280.c ****         *comp_temp = (dev->calib_param.t_fine * 5 + 128) / 256;
3100
 1705              		.loc 1 441 33 view .LVU509
3101
 1706 0052 AB62     		str	r3, [r5, #40]
3102
 442:../libBMP280/src/bmp280.c ****         rslt = BMP280_OK;
3103
 1707              		.loc 1 442 9 is_stmt 1 view .LVU510
3104
 442:../libBMP280/src/bmp280.c ****         rslt = BMP280_OK;
3105
 1708              		.loc 1 442 47 is_stmt 0 view .LVU511
3106
 1709 0054 03EB8303 		add	r3, r3, r3, lsl #2
3107
 442:../libBMP280/src/bmp280.c ****         rslt = BMP280_OK;
3108
 1710              		.loc 1 442 58 view .LVU512
3109
 1711 0058 8033     		adds	r3, r3, #128
3110
 1712 005a 12D4     		bmi	.L116
3111
 1713              	.L108:
3112
 1714 005c 1B12     		asrs	r3, r3, #8
3113
 442:../libBMP280/src/bmp280.c ****         rslt = BMP280_OK;
3114
 1715              		.loc 1 442 20 view .LVU513
3115
 1716 005e 2360     		str	r3, [r4]
3116
 443:../libBMP280/src/bmp280.c ****     }
3117
 1717              		.loc 1 443 9 is_stmt 1 view .LVU514
3118
 1718              	.LVL158:
3119
 1719              	.L109:
3120
 451:../libBMP280/src/bmp280.c **** }
19 mjames 3121
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 53
16 mjames 3122
 
3123
 
3124
 1720              		.loc 1 451 5 view .LVU515
3125
 452:../libBMP280/src/bmp280.c **** 
3126
 1721              		.loc 1 452 1 is_stmt 0 view .LVU516
3127
 1722 0060 0846     		mov	r0, r1
3128
 1723 0062 70BD     		pop	{r4, r5, r6, pc}
3129
 1724              	.LVL159:
3130
 1725              	.L111:
3131
 434:../libBMP280/src/bmp280.c ****             2048;
3132
 1726              		.loc 1 434 29 view .LVU517
3133
 1727 0064 F01D     		adds	r0, r6, #7
3134
 1728              	.LVL160:
3135
 434:../libBMP280/src/bmp280.c ****             2048;
3136
 1729              		.loc 1 434 29 view .LVU518
3137
 1730 0066 D7E7     		b	.L103
3138
 1731              	.L112:
3139
 433:../libBMP280/src/bmp280.c ****             ((((uncomp_temp / 8) - ((int32_t) dev->calib_param.dig_t1 << 1))) * ((int32_t) dev->cal
3140
 1732              		.loc 1 433 14 view .LVU519
3141
 1733 0068 03F2FF73 		addw	r3, r3, #2047
3142
 1734 006c DEE7     		b	.L104
3143
 1735              	.LVL161:
3144
 1736              	.L113:
3145
 437:../libBMP280/src/bmp280.c ****                ((uncomp_temp / 16) - ((int32_t) dev->calib_param.dig_t1))) / 4096) *
3146
 1737              		.loc 1 437 30 view .LVU520
3147
 1738 006e 06F10F00 		add	r0, r6, #15
3148
 1739              	.LVL162:
3149
 437:../libBMP280/src/bmp280.c ****                ((uncomp_temp / 16) - ((int32_t) dev->calib_param.dig_t1))) / 4096) *
3150
 1740              		.loc 1 437 30 view .LVU521
3151
 1741 0072 DFE7     		b	.L105
3152
 1742              	.L114:
3153
 438:../libBMP280/src/bmp280.c ****              ((int32_t) dev->calib_param.dig_t3)) /
3154
 1743              		.loc 1 438 76 view .LVU522
3155
 1744 0074 02F6FF72 		addw	r2, r2, #4095
3156
 1745 0078 E2E7     		b	.L106
3157
 1746              	.L115:
3158
 436:../libBMP280/src/bmp280.c ****             (((((uncomp_temp / 16) - ((int32_t) dev->calib_param.dig_t1)) *
3159
 1747              		.loc 1 436 14 view .LVU523
3160
 1748 007a 02F57F52 		add	r2, r2, #16320
3161
 1749 007e 3F32     		adds	r2, r2, #63
3162
 1750 0080 E5E7     		b	.L107
3163
 1751              	.LVL163:
3164
 1752              	.L116:
3165
 442:../libBMP280/src/bmp280.c ****         rslt = BMP280_OK;
3166
 1753              		.loc 1 442 58 view .LVU524
3167
 1754 0082 FF33     		adds	r3, r3, #255
3168
 1755 0084 EAE7     		b	.L108
3169
 1756              	.LVL164:
3170
 1757              	.L102:
3171
 447:../libBMP280/src/bmp280.c ****         rslt = BMP280_E_32BIT_COMP_TEMP;
3172
 1758              		.loc 1 447 9 is_stmt 1 view .LVU525
3173
 447:../libBMP280/src/bmp280.c ****         rslt = BMP280_E_32BIT_COMP_TEMP;
3174
 1759              		.loc 1 447 20 is_stmt 0 view .LVU526
3175
 1760 0086 0023     		movs	r3, #0
3176
 1761 0088 2360     		str	r3, [r4]
3177
 448:../libBMP280/src/bmp280.c ****     }
3178
 1762              		.loc 1 448 9 is_stmt 1 view .LVU527
3179
 1763              	.LVL165:
3180
 448:../libBMP280/src/bmp280.c ****     }
19 mjames 3181
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 54
16 mjames 3182
 
3183
 
3184
 1764              		.loc 1 448 14 is_stmt 0 view .LVU528
3185
 1765 008a 6FF00D01 		mvn	r1, #13
3186
 1766 008e E7E7     		b	.L109
3187
 1767              		.cfi_endproc
3188
 1768              	.LFE10:
3189
 1770              		.section	.text.bmp280_get_comp_pres_32bit,"ax",%progbits
3190
 1771              		.align	1
3191
 1772              		.global	bmp280_get_comp_pres_32bit
3192
 1773              		.syntax unified
3193
 1774              		.thumb
3194
 1775              		.thumb_func
3195
 1776              		.fpu softvfp
3196
 1778              	bmp280_get_comp_pres_32bit:
3197
 1779              	.LVL166:
3198
 1780              	.LFB11:
3199
 459:../libBMP280/src/bmp280.c ****     int32_t var1, var2;
3200
 1781              		.loc 1 459 1 is_stmt 1 view -0
3201
 1782              		.cfi_startproc
3202
 1783              		@ args = 0, pretend = 0, frame = 0
3203
 1784              		@ frame_needed = 0, uses_anonymous_args = 0
3204
 459:../libBMP280/src/bmp280.c ****     int32_t var1, var2;
3205
 1785              		.loc 1 459 1 is_stmt 0 view .LVU530
3206
 1786 0000 F8B5     		push	{r3, r4, r5, r6, r7, lr}
3207
 1787              	.LCFI39:
3208
 1788              		.cfi_def_cfa_offset 24
3209
 1789              		.cfi_offset 3, -24
3210
 1790              		.cfi_offset 4, -20
3211
 1791              		.cfi_offset 5, -16
3212
 1792              		.cfi_offset 6, -12
3213
 1793              		.cfi_offset 7, -8
3214
 1794              		.cfi_offset 14, -4
3215
 1795 0002 0546     		mov	r5, r0
3216
 1796 0004 0E46     		mov	r6, r1
3217
 1797 0006 1446     		mov	r4, r2
3218
 460:../libBMP280/src/bmp280.c ****     int8_t rslt;
3219
 1798              		.loc 1 460 5 is_stmt 1 view .LVU531
3220
 461:../libBMP280/src/bmp280.c **** 
3221
 1799              		.loc 1 461 5 view .LVU532
3222
 463:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
3223
 1800              		.loc 1 463 5 view .LVU533
3224
 463:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
3225
 1801              		.loc 1 463 12 is_stmt 0 view .LVU534
3226
 1802 0008 1046     		mov	r0, r2
3227
 1803              	.LVL167:
3228
 463:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
3229
 1804              		.loc 1 463 12 view .LVU535
3230
 1805 000a FFF7FEFF 		bl	null_ptr_check
3231
 1806              	.LVL168:
3232
 464:../libBMP280/src/bmp280.c ****     {
3233
 1807              		.loc 1 464 5 is_stmt 1 view .LVU536
3234
 464:../libBMP280/src/bmp280.c ****     {
3235
 1808              		.loc 1 464 8 is_stmt 0 view .LVU537
3236
 1809 000e 0246     		mov	r2, r0
3237
 1810 0010 0028     		cmp	r0, #0
3238
 1811 0012 6FD1     		bne	.L118
3239
 466:../libBMP280/src/bmp280.c ****         var2 = (((var1 / 4) * (var1 / 4)) / 2048) * ((int32_t) dev->calib_param.dig_p6);
3240
 1812              		.loc 1 466 9 is_stmt 1 view .LVU538
19 mjames 3241
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 55
16 mjames 3242
 
3243
 
3244
 466:../libBMP280/src/bmp280.c ****         var2 = (((var1 / 4) * (var1 / 4)) / 2048) * ((int32_t) dev->calib_param.dig_p6);
3245
 1813              		.loc 1 466 44 is_stmt 0 view .LVU539
3246
 1814 0014 A36A     		ldr	r3, [r4, #40]
3247
 466:../libBMP280/src/bmp280.c ****         var2 = (((var1 / 4) * (var1 / 4)) / 2048) * ((int32_t) dev->calib_param.dig_p6);
3248
 1815              		.loc 1 466 53 view .LVU540
3249
 1816 0016 03EBD373 		add	r3, r3, r3, lsr #31
3250
 1817 001a 5B10     		asrs	r3, r3, #1
3251
 466:../libBMP280/src/bmp280.c ****         var2 = (((var1 / 4) * (var1 / 4)) / 2048) * ((int32_t) dev->calib_param.dig_p6);
3252
 1818              		.loc 1 466 14 view .LVU541
3253
 1819 001c A3F57A43 		sub	r3, r3, #64000
3254
 1820              	.LVL169:
3255
 467:../libBMP280/src/bmp280.c ****         var2 = var2 + ((var1 * ((int32_t) dev->calib_param.dig_p5)) * 2);
3256
 1821              		.loc 1 467 9 is_stmt 1 view .LVU542
3257
 467:../libBMP280/src/bmp280.c ****         var2 = var2 + ((var1 * ((int32_t) dev->calib_param.dig_p5)) * 2);
3258
 1822              		.loc 1 467 24 is_stmt 0 view .LVU543
3259
 1823 0020 1946     		mov	r1, r3
3260
 1824 0022 002B     		cmp	r3, #0
3261
 1825 0024 68DB     		blt	.L134
3262
 1826              	.L119:
3263
 467:../libBMP280/src/bmp280.c ****         var2 = var2 + ((var1 * ((int32_t) dev->calib_param.dig_p5)) * 2);
3264
 1827              		.loc 1 467 24 view .LVU544
3265
 1828 0026 8910     		asrs	r1, r1, #2
3266
 467:../libBMP280/src/bmp280.c ****         var2 = var2 + ((var1 * ((int32_t) dev->calib_param.dig_p5)) * 2);
3267
 1829              		.loc 1 467 29 view .LVU545
3268
 1830 0028 01FB01F1 		mul	r1, r1, r1
3269
 467:../libBMP280/src/bmp280.c ****         var2 = var2 + ((var1 * ((int32_t) dev->calib_param.dig_p5)) * 2);
3270
 1831              		.loc 1 467 43 view .LVU546
3271
 1832 002c 0846     		mov	r0, r1
3272
 1833              	.LVL170:
3273
 467:../libBMP280/src/bmp280.c ****         var2 = var2 + ((var1 * ((int32_t) dev->calib_param.dig_p5)) * 2);
3274
 1834              		.loc 1 467 43 view .LVU547
3275
 1835 002e 0029     		cmp	r1, #0
3276
 1836 0030 64DB     		blt	.L135
3277
 1837              	.L120:
3278
 1838 0032 C012     		asrs	r0, r0, #11
3279
 467:../libBMP280/src/bmp280.c ****         var2 = var2 + ((var1 * ((int32_t) dev->calib_param.dig_p5)) * 2);
3280
 1839              		.loc 1 467 80 view .LVU548
3281
 1840 0034 B4F920C0 		ldrsh	ip, [r4, #32]
3282
 1841              	.LVL171:
3283
 468:../libBMP280/src/bmp280.c ****         var2 = (var2 / 4) + (((int32_t) dev->calib_param.dig_p4) * 65536);
3284
 1842              		.loc 1 468 9 is_stmt 1 view .LVU549
3285
 468:../libBMP280/src/bmp280.c ****         var2 = (var2 / 4) + (((int32_t) dev->calib_param.dig_p4) * 65536);
3286
 1843              		.loc 1 468 59 is_stmt 0 view .LVU550
3287
 1844 0038 B4F91E70 		ldrsh	r7, [r4, #30]
3288
 468:../libBMP280/src/bmp280.c ****         var2 = (var2 / 4) + (((int32_t) dev->calib_param.dig_p4) * 65536);
3289
 1845              		.loc 1 468 30 view .LVU551
3290
 1846 003c 03FB07F7 		mul	r7, r3, r7
3291
 468:../libBMP280/src/bmp280.c ****         var2 = (var2 / 4) + (((int32_t) dev->calib_param.dig_p4) * 65536);
3292
 1847              		.loc 1 468 69 view .LVU552
3293
 1848 0040 7F00     		lsls	r7, r7, #1
3294
 468:../libBMP280/src/bmp280.c ****         var2 = (var2 / 4) + (((int32_t) dev->calib_param.dig_p4) * 65536);
3295
 1849              		.loc 1 468 14 view .LVU553
3296
 1850 0042 0CFB0077 		mla	r7, ip, r0, r7
3297
 1851              	.LVL172:
3298
 469:../libBMP280/src/bmp280.c ****         var1 =
3299
 1852              		.loc 1 469 9 is_stmt 1 view .LVU554
3300
 469:../libBMP280/src/bmp280.c ****         var1 =
19 mjames 3301
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 56
16 mjames 3302
 
3303
 
3304
 1853              		.loc 1 469 22 is_stmt 0 view .LVU555
3305
 1854 0046 002F     		cmp	r7, #0
3306
 1855 0048 5BDB     		blt	.L136
3307
 1856              	.L121:
3308
 469:../libBMP280/src/bmp280.c ****         var1 =
3309
 1857              		.loc 1 469 57 view .LVU556
3310
 1858 004a B4F91C00 		ldrsh	r0, [r4, #28]
3311
 469:../libBMP280/src/bmp280.c ****         var1 =
3312
 1859              		.loc 1 469 66 view .LVU557
3313
 1860 004e 0004     		lsls	r0, r0, #16
3314
 469:../libBMP280/src/bmp280.c ****         var1 =
3315
 1861              		.loc 1 469 14 view .LVU558
3316
 1862 0050 00EBA700 		add	r0, r0, r7, asr #2
3317
 1863              	.LVL173:
3318
 470:../libBMP280/src/bmp280.c ****             (((dev->calib_param.dig_p3 * (((var1 / 4) * (var1 / 4)) / 8192)) / 8) +
3319
 1864              		.loc 1 470 9 is_stmt 1 view .LVU559
3320
 471:../libBMP280/src/bmp280.c ****              ((((int32_t) dev->calib_param.dig_p2) * var1) / 2)) / 262144;
3321
 1865              		.loc 1 471 32 is_stmt 0 view .LVU560
3322
 1866 0054 B4F91AC0 		ldrsh	ip, [r4, #26]
3323
 471:../libBMP280/src/bmp280.c ****              ((((int32_t) dev->calib_param.dig_p2) * var1) / 2)) / 262144;
3324
 1867              		.loc 1 471 69 view .LVU561
3325
 1868 0058 0F46     		mov	r7, r1
3326
 1869 005a 0029     		cmp	r1, #0
3327
 1870 005c 53DB     		blt	.L137
3328
 1871              	.L122:
3329
 1872 005e 7913     		asrs	r1, r7, #13
3330
 471:../libBMP280/src/bmp280.c ****              ((((int32_t) dev->calib_param.dig_p2) * var1) / 2)) / 262144;
3331
 1873              		.loc 1 471 40 view .LVU562
3332
 1874 0060 01FB0CF1 		mul	r1, r1, ip
3333
 471:../libBMP280/src/bmp280.c ****              ((((int32_t) dev->calib_param.dig_p2) * var1) / 2)) / 262144;
3334
 1875              		.loc 1 471 78 view .LVU563
3335
 1876 0064 0029     		cmp	r1, #0
3336
 1877 0066 52DB     		blt	.L138
3337
 1878              	.L123:
3338
 472:../libBMP280/src/bmp280.c ****         var1 = ((((32768 + var1)) * ((int32_t) dev->calib_param.dig_p1)) / 32768);
3339
 1879              		.loc 1 472 43 view .LVU564
3340
 1880 0068 B4F91870 		ldrsh	r7, [r4, #24]
3341
 472:../libBMP280/src/bmp280.c ****         var1 = ((((32768 + var1)) * ((int32_t) dev->calib_param.dig_p1)) / 32768);
3342
 1881              		.loc 1 472 52 view .LVU565
3343
 1882 006c 03FB07F3 		mul	r3, r3, r7
3344
 1883              	.LVL174:
3345
 472:../libBMP280/src/bmp280.c ****         var1 = ((((32768 + var1)) * ((int32_t) dev->calib_param.dig_p1)) / 32768);
3346
 1884              		.loc 1 472 60 view .LVU566
3347
 1885 0070 03EBD373 		add	r3, r3, r3, lsr #31
3348
 1886 0074 5B10     		asrs	r3, r3, #1
3349
 470:../libBMP280/src/bmp280.c ****             (((dev->calib_param.dig_p3 * (((var1 / 4) * (var1 / 4)) / 8192)) / 8) +
3350
 1887              		.loc 1 470 14 view .LVU567
3351
 1888 0076 13EBE103 		adds	r3, r3, r1, asr #3
3352
 1889 007a 4AD4     		bmi	.L139
3353
 1890              	.L124:
3354
 1891 007c 9B14     		asrs	r3, r3, #18
3355
 1892              	.LVL175:
3356
 473:../libBMP280/src/bmp280.c ****         *comp_pres = (uint32_t)(((int32_t)(1048576 - uncomp_pres) - (var2 / 4096)) * 3125);
3357
 1893              		.loc 1 473 9 is_stmt 1 view .LVU568
3358
 473:../libBMP280/src/bmp280.c ****         *comp_pres = (uint32_t)(((int32_t)(1048576 - uncomp_pres) - (var2 / 4096)) * 3125);
3359
 1894              		.loc 1 473 26 is_stmt 0 view .LVU569
3360
 1895 007e 03F50043 		add	r3, r3, #32768
19 mjames 3361
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 57
16 mjames 3362
 
3363
 
3364
 1896              	.LVL176:
3365
 473:../libBMP280/src/bmp280.c ****         *comp_pres = (uint32_t)(((int32_t)(1048576 - uncomp_pres) - (var2 / 4096)) * 3125);
3366
 1897              		.loc 1 473 64 view .LVU570
3367
 1898 0082 E18A     		ldrh	r1, [r4, #22]
3368
 473:../libBMP280/src/bmp280.c ****         *comp_pres = (uint32_t)(((int32_t)(1048576 - uncomp_pres) - (var2 / 4096)) * 3125);
3369
 1899              		.loc 1 473 35 view .LVU571
3370
 1900 0084 01FB03F3 		mul	r3, r1, r3
3371
 1901              	.LVL177:
3372
 473:../libBMP280/src/bmp280.c ****         *comp_pres = (uint32_t)(((int32_t)(1048576 - uncomp_pres) - (var2 / 4096)) * 3125);
3373
 1902              		.loc 1 473 14 view .LVU572
3374
 1903 0088 002B     		cmp	r3, #0
3375
 1904 008a 47DB     		blt	.L140
3376
 1905              	.L125:
3377
 1906 008c DB13     		asrs	r3, r3, #15
3378
 1907              	.LVL178:
3379
 474:../libBMP280/src/bmp280.c **** 
3380
 1908              		.loc 1 474 9 is_stmt 1 view .LVU573
3381
 474:../libBMP280/src/bmp280.c **** 
3382
 1909              		.loc 1 474 75 is_stmt 0 view .LVU574
3383
 1910 008e 0146     		mov	r1, r0
3384
 1911 0090 0028     		cmp	r0, #0
3385
 1912 0092 47DB     		blt	.L141
3386
 1913              	.L126:
3387
 1914 0094 0913     		asrs	r1, r1, #12
3388
 1915 0096 4942     		rsbs	r1, r1, #0
3389
 474:../libBMP280/src/bmp280.c **** 
3390
 1916              		.loc 1 474 67 view .LVU575
3391
 1917 0098 891B     		subs	r1, r1, r6
3392
 474:../libBMP280/src/bmp280.c **** 
3393
 1918              		.loc 1 474 22 view .LVU576
3394
 1919 009a 40F63546 		movw	r6, #3125
3395
 1920              	.LVL179:
3396
 474:../libBMP280/src/bmp280.c **** 
3397
 1921              		.loc 1 474 22 view .LVU577
3398
 1922 009e 06FB01F6 		mul	r6, r6, r1
3399
 1923 00a2 06F14346 		add	r6, r6, #-1023410176
3400
 1924 00a6 06F5A006 		add	r6, r6, #5242880
3401
 474:../libBMP280/src/bmp280.c **** 
3402
 1925              		.loc 1 474 20 view .LVU578
3403
 1926 00aa 2E60     		str	r6, [r5]
3404
 477:../libBMP280/src/bmp280.c ****         {
3405
 1927              		.loc 1 477 9 is_stmt 1 view .LVU579
3406
 477:../libBMP280/src/bmp280.c ****         {
3407
 1928              		.loc 1 477 12 is_stmt 0 view .LVU580
3408
 1929 00ac 002B     		cmp	r3, #0
3409
 1930 00ae 4AD0     		beq	.L127
3410
 480:../libBMP280/src/bmp280.c ****             {
3411
 1931              		.loc 1 480 13 is_stmt 1 view .LVU581
3412
 480:../libBMP280/src/bmp280.c ****             {
3413
 1932              		.loc 1 480 16 is_stmt 0 view .LVU582
3414
 1933 00b0 002E     		cmp	r6, #0
3415
 1934 00b2 3ADB     		blt	.L128
3416
 482:../libBMP280/src/bmp280.c ****             }
3417
 1935              		.loc 1 482 17 is_stmt 1 view .LVU583
3418
 482:../libBMP280/src/bmp280.c ****             }
3419
 1936              		.loc 1 482 42 is_stmt 0 view .LVU584
3420
 1937 00b4 7600     		lsls	r6, r6, #1
19 mjames 3421
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 58
16 mjames 3422
 
3423
 
3424
 482:../libBMP280/src/bmp280.c ****             }
3425
 1938              		.loc 1 482 48 view .LVU585
3426
 1939 00b6 B6FBF3F6 		udiv	r6, r6, r3
3427
 482:../libBMP280/src/bmp280.c ****             }
3428
 1940              		.loc 1 482 28 view .LVU586
3429
 1941 00ba 2E60     		str	r6, [r5]
3430
 1942              	.L129:
3431
 488:../libBMP280/src/bmp280.c ****                    4096;
3432
 1943              		.loc 1 488 13 is_stmt 1 view .LVU587
3433
 488:../libBMP280/src/bmp280.c ****                    4096;
3434
 1944              		.loc 1 488 48 is_stmt 0 view .LVU588
3435
 1945 00bc B4F92630 		ldrsh	r3, [r4, #38]
3436
 1946              	.LVL180:
3437
 488:../libBMP280/src/bmp280.c ****                    4096;
3438
 1947              		.loc 1 488 73 view .LVU589
3439
 1948 00c0 2E68     		ldr	r6, [r5]
3440
 488:../libBMP280/src/bmp280.c ****                    4096;
3441
 1949              		.loc 1 488 84 view .LVU590
3442
 1950 00c2 F108     		lsrs	r1, r6, #3
3443
 488:../libBMP280/src/bmp280.c ****                    4096;
3444
 1951              		.loc 1 488 89 view .LVU591
3445
 1952 00c4 01FB01F1 		mul	r1, r1, r1
3446
 488:../libBMP280/src/bmp280.c ****                    4096;
3447
 1953              		.loc 1 488 109 view .LVU592
3448
 1954 00c8 490B     		lsrs	r1, r1, #13
3449
 488:../libBMP280/src/bmp280.c ****                    4096;
3450
 1955              		.loc 1 488 57 view .LVU593
3451
 1956 00ca 01FB03F3 		mul	r3, r1, r3
3452
 488:../libBMP280/src/bmp280.c ****                    4096;
3453
 1957              		.loc 1 488 18 view .LVU594
3454
 1958 00ce 002B     		cmp	r3, #0
3455
 1959 00d0 30DB     		blt	.L142
3456
 1960              	.L130:
3457
 1961 00d2 1B13     		asrs	r3, r3, #12
3458
 1962              	.LVL181:
3459
 490:../libBMP280/src/bmp280.c ****             *comp_pres = (uint32_t) ((int32_t) *comp_pres + ((var1 + var2 + dev->calib_param.dig_p7
3460
 1963              		.loc 1 490 13 is_stmt 1 view .LVU595
3461
 490:../libBMP280/src/bmp280.c ****             *comp_pres = (uint32_t) ((int32_t) *comp_pres + ((var1 + var2 + dev->calib_param.dig_p7
3462
 1964              		.loc 1 490 44 is_stmt 0 view .LVU596
3463
 1965 00d4 B108     		lsrs	r1, r6, #2
3464
 490:../libBMP280/src/bmp280.c ****             *comp_pres = (uint32_t) ((int32_t) *comp_pres + ((var1 + var2 + dev->calib_param.dig_p7
3465
 1966              		.loc 1 490 79 view .LVU597
3466
 1967 00d6 B4F92400 		ldrsh	r0, [r4, #36]
3467
 1968              	.LVL182:
3468
 490:../libBMP280/src/bmp280.c ****             *comp_pres = (uint32_t) ((int32_t) *comp_pres + ((var1 + var2 + dev->calib_param.dig_p7
3469
 1969              		.loc 1 490 50 view .LVU598
3470
 1970 00da 00FB01F1 		mul	r1, r0, r1
3471
 490:../libBMP280/src/bmp280.c ****             *comp_pres = (uint32_t) ((int32_t) *comp_pres + ((var1 + var2 + dev->calib_param.dig_p7
3472
 1971              		.loc 1 490 18 view .LVU599
3473
 1972 00de 0029     		cmp	r1, #0
3474
 1973 00e0 2BDB     		blt	.L143
3475
 1974              	.L131:
3476
 1975              	.LVL183:
3477
 491:../libBMP280/src/bmp280.c ****             rslt = BMP280_OK;
3478
 1976              		.loc 1 491 13 is_stmt 1 view .LVU600
3479
 491:../libBMP280/src/bmp280.c ****             rslt = BMP280_OK;
3480
 1977              		.loc 1 491 68 is_stmt 0 view .LVU601
19 mjames 3481
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 59
16 mjames 3482
 
3483
 
3484
 1978 00e2 03EB6133 		add	r3, r3, r1, asr #13
3485
 1979              	.LVL184:
3486
 491:../libBMP280/src/bmp280.c ****             rslt = BMP280_OK;
3487
 1980              		.loc 1 491 93 view .LVU602
3488
 1981 00e6 B4F92210 		ldrsh	r1, [r4, #34]
3489
 1982              	.LVL185:
3490
 491:../libBMP280/src/bmp280.c ****             rslt = BMP280_OK;
3491
 1983              		.loc 1 491 102 view .LVU603
3492
 1984 00ea 5B18     		adds	r3, r3, r1
3493
 1985 00ec 29D4     		bmi	.L144
3494
 1986              	.L132:
3495
 491:../libBMP280/src/bmp280.c ****             rslt = BMP280_OK;
3496
 1987              		.loc 1 491 59 view .LVU604
3497
 1988 00ee 06EB2313 		add	r3, r6, r3, asr #4
3498
 491:../libBMP280/src/bmp280.c ****             rslt = BMP280_OK;
3499
 1989              		.loc 1 491 24 view .LVU605
3500
 1990 00f2 2B60     		str	r3, [r5]
3501
 492:../libBMP280/src/bmp280.c ****         }
3502
 1991              		.loc 1 492 13 is_stmt 1 view .LVU606
3503
 1992              	.LVL186:
3504
 1993              	.L118:
3505
 501:../libBMP280/src/bmp280.c **** }
3506
 1994              		.loc 1 501 5 view .LVU607
3507
 502:../libBMP280/src/bmp280.c **** 
3508
 1995              		.loc 1 502 1 is_stmt 0 view .LVU608
3509
 1996 00f4 1046     		mov	r0, r2
3510
 1997 00f6 F8BD     		pop	{r3, r4, r5, r6, r7, pc}
3511
 1998              	.LVL187:
3512
 1999              	.L134:
3513
 467:../libBMP280/src/bmp280.c ****         var2 = var2 + ((var1 * ((int32_t) dev->calib_param.dig_p5)) * 2);
3514
 2000              		.loc 1 467 24 view .LVU609
3515
 2001 00f8 D91C     		adds	r1, r3, #3
3516
 2002              	.LVL188:
3517
 467:../libBMP280/src/bmp280.c ****         var2 = var2 + ((var1 * ((int32_t) dev->calib_param.dig_p5)) * 2);
3518
 2003              		.loc 1 467 24 view .LVU610
3519
 2004 00fa 94E7     		b	.L119
3520
 2005              	.LVL189:
3521
 2006              	.L135:
3522
 467:../libBMP280/src/bmp280.c ****         var2 = var2 + ((var1 * ((int32_t) dev->calib_param.dig_p5)) * 2);
3523
 2007              		.loc 1 467 43 view .LVU611
3524
 2008 00fc 01F2FF70 		addw	r0, r1, #2047
3525
 2009 0100 97E7     		b	.L120
3526
 2010              	.L136:
3527
 469:../libBMP280/src/bmp280.c ****         var1 =
3528
 2011              		.loc 1 469 22 view .LVU612
3529
 2012 0102 0337     		adds	r7, r7, #3
3530
 2013 0104 A1E7     		b	.L121
3531
 2014              	.LVL190:
3532
 2015              	.L137:
3533
 471:../libBMP280/src/bmp280.c ****              ((((int32_t) dev->calib_param.dig_p2) * var1) / 2)) / 262144;
3534
 2016              		.loc 1 471 69 view .LVU613
3535
 2017 0106 01F5FF57 		add	r7, r1, #8160
3536
 2018 010a 1F37     		adds	r7, r7, #31
3537
 2019 010c A7E7     		b	.L122
3538
 2020              	.L138:
3539
 471:../libBMP280/src/bmp280.c ****              ((((int32_t) dev->calib_param.dig_p2) * var1) / 2)) / 262144;
3540
 2021              		.loc 1 471 78 view .LVU614
19 mjames 3541
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 60
16 mjames 3542
 
3543
 
3544
 2022 010e 0731     		adds	r1, r1, #7
3545
 2023 0110 AAE7     		b	.L123
3546
 2024              	.LVL191:
3547
 2025              	.L139:
3548
 470:../libBMP280/src/bmp280.c ****             (((dev->calib_param.dig_p3 * (((var1 / 4) * (var1 / 4)) / 8192)) / 8) +
3549
 2026              		.loc 1 470 14 view .LVU615
3550
 2027 0112 03F57F33 		add	r3, r3, #261120
3551
 2028 0116 03F2FF33 		addw	r3, r3, #1023
3552
 2029 011a AFE7     		b	.L124
3553
 2030              	.LVL192:
3554
 2031              	.L140:
3555
 473:../libBMP280/src/bmp280.c ****         *comp_pres = (uint32_t)(((int32_t)(1048576 - uncomp_pres) - (var2 / 4096)) * 3125);
3556
 2032              		.loc 1 473 14 view .LVU616
3557
 2033 011c 03F5FF43 		add	r3, r3, #32640
3558
 2034 0120 7F33     		adds	r3, r3, #127
3559
 2035 0122 B3E7     		b	.L125
3560
 2036              	.LVL193:
3561
 2037              	.L141:
3562
 474:../libBMP280/src/bmp280.c **** 
3563
 2038              		.loc 1 474 75 view .LVU617
3564
 2039 0124 00F6FF71 		addw	r1, r0, #4095
3565
 2040 0128 B4E7     		b	.L126
3566
 2041              	.LVL194:
3567
 2042              	.L128:
3568
 486:../libBMP280/src/bmp280.c ****             }
3569
 2043              		.loc 1 486 17 is_stmt 1 view .LVU618
3570
 486:../libBMP280/src/bmp280.c ****             }
3571
 2044              		.loc 1 486 42 is_stmt 0 view .LVU619
3572
 2045 012a B6FBF3F6 		udiv	r6, r6, r3
3573
 486:../libBMP280/src/bmp280.c ****             }
3574
 2046              		.loc 1 486 61 view .LVU620
3575
 2047 012e 7600     		lsls	r6, r6, #1
3576
 486:../libBMP280/src/bmp280.c ****             }
3577
 2048              		.loc 1 486 28 view .LVU621
3578
 2049 0130 2E60     		str	r6, [r5]
3579
 2050 0132 C3E7     		b	.L129
3580
 2051              	.LVL195:
3581
 2052              	.L142:
3582
 488:../libBMP280/src/bmp280.c ****                    4096;
3583
 2053              		.loc 1 488 18 view .LVU622
3584
 2054 0134 03F6FF73 		addw	r3, r3, #4095
3585
 2055 0138 CBE7     		b	.L130
3586
 2056              	.LVL196:
3587
 2057              	.L143:
3588
 490:../libBMP280/src/bmp280.c ****             *comp_pres = (uint32_t) ((int32_t) *comp_pres + ((var1 + var2 + dev->calib_param.dig_p7
3589
 2058              		.loc 1 490 18 view .LVU623
3590
 2059 013a 01F5FF51 		add	r1, r1, #8160
3591
 2060 013e 1F31     		adds	r1, r1, #31
3592
 2061 0140 CFE7     		b	.L131
3593
 2062              	.LVL197:
3594
 2063              	.L144:
3595
 491:../libBMP280/src/bmp280.c ****             rslt = BMP280_OK;
3596
 2064              		.loc 1 491 102 view .LVU624
3597
 2065 0142 0F33     		adds	r3, r3, #15
3598
 2066 0144 D3E7     		b	.L132
3599
 2067              	.LVL198:
3600
 2068              	.L127:
19 mjames 3601
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 61
16 mjames 3602
 
3603
 
3604
 496:../libBMP280/src/bmp280.c ****             rslt = BMP280_E_32BIT_COMP_PRESS;
3605
 2069              		.loc 1 496 13 is_stmt 1 view .LVU625
3606
 496:../libBMP280/src/bmp280.c ****             rslt = BMP280_E_32BIT_COMP_PRESS;
3607
 2070              		.loc 1 496 24 is_stmt 0 view .LVU626
3608
 2071 0146 0023     		movs	r3, #0
3609
 2072              	.LVL199:
3610
 496:../libBMP280/src/bmp280.c ****             rslt = BMP280_E_32BIT_COMP_PRESS;
3611
 2073              		.loc 1 496 24 view .LVU627
3612
 2074 0148 2B60     		str	r3, [r5]
3613
 497:../libBMP280/src/bmp280.c ****         }
3614
 2075              		.loc 1 497 13 is_stmt 1 view .LVU628
3615
 2076              	.LVL200:
3616
 497:../libBMP280/src/bmp280.c ****         }
3617
 2077              		.loc 1 497 18 is_stmt 0 view .LVU629
3618
 2078 014a 6FF00E02 		mvn	r2, #14
3619
 2079 014e D1E7     		b	.L118
3620
 2080              		.cfi_endproc
3621
 2081              	.LFE11:
3622
 2083              		.global	__aeabi_ldivmod
3623
 2084              		.section	.text.bmp280_get_comp_pres_64bit,"ax",%progbits
3624
 2085              		.align	1
3625
 2086              		.global	bmp280_get_comp_pres_64bit
3626
 2087              		.syntax unified
3627
 2088              		.thumb
3628
 2089              		.thumb_func
3629
 2090              		.fpu softvfp
3630
 2092              	bmp280_get_comp_pres_64bit:
3631
 2093              	.LVL201:
3632
 2094              	.LFB12:
3633
 511:../libBMP280/src/bmp280.c ****     int64_t var1, var2, p;
3634
 2095              		.loc 1 511 1 is_stmt 1 view -0
3635
 2096              		.cfi_startproc
3636
 2097              		@ args = 0, pretend = 0, frame = 8
3637
 2098              		@ frame_needed = 0, uses_anonymous_args = 0
3638
 511:../libBMP280/src/bmp280.c ****     int64_t var1, var2, p;
3639
 2099              		.loc 1 511 1 is_stmt 0 view .LVU631
3640
 2100 0000 2DE9F04F 		push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
3641
 2101              	.LCFI40:
3642
 2102              		.cfi_def_cfa_offset 36
3643
 2103              		.cfi_offset 4, -36
3644
 2104              		.cfi_offset 5, -32
3645
 2105              		.cfi_offset 6, -28
3646
 2106              		.cfi_offset 7, -24
3647
 2107              		.cfi_offset 8, -20
3648
 2108              		.cfi_offset 9, -16
3649
 2109              		.cfi_offset 10, -12
3650
 2110              		.cfi_offset 11, -8
3651
 2111              		.cfi_offset 14, -4
3652
 2112 0004 83B0     		sub	sp, sp, #12
3653
 2113              	.LCFI41:
3654
 2114              		.cfi_def_cfa_offset 48
3655
 2115 0006 0546     		mov	r5, r0
3656
 2116 0008 8B46     		mov	fp, r1
3657
 2117 000a 1446     		mov	r4, r2
3658
 512:../libBMP280/src/bmp280.c ****     int8_t rslt;
3659
 2118              		.loc 1 512 5 is_stmt 1 view .LVU632
3660
 513:../libBMP280/src/bmp280.c **** 
19 mjames 3661
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 62
16 mjames 3662
 
3663
 
3664
 2119              		.loc 1 513 5 view .LVU633
3665
 515:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
3666
 2120              		.loc 1 515 5 view .LVU634
3667
 515:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
3668
 2121              		.loc 1 515 12 is_stmt 0 view .LVU635
3669
 2122 000c 1046     		mov	r0, r2
3670
 2123              	.LVL202:
3671
 515:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
3672
 2124              		.loc 1 515 12 view .LVU636
3673
 2125 000e FFF7FEFF 		bl	null_ptr_check
3674
 2126              	.LVL203:
3675
 516:../libBMP280/src/bmp280.c ****     {
3676
 2127              		.loc 1 516 5 is_stmt 1 view .LVU637
3677
 516:../libBMP280/src/bmp280.c ****     {
3678
 2128              		.loc 1 516 8 is_stmt 0 view .LVU638
3679
 2129 0012 8246     		mov	r10, r0
3680
 2130 0014 0028     		cmp	r0, #0
3681
 2131 0016 40F0F680 		bne	.L146
3682
 518:../libBMP280/src/bmp280.c ****         var2 = var1 * var1 * (int64_t) dev->calib_param.dig_p6;
3683
 2132              		.loc 1 518 9 is_stmt 1 view .LVU639
3684
 518:../libBMP280/src/bmp280.c ****         var2 = var1 * var1 * (int64_t) dev->calib_param.dig_p6;
3685
 2133              		.loc 1 518 44 is_stmt 0 view .LVU640
3686
 2134 001a A26A     		ldr	r2, [r4, #40]
3687
 518:../libBMP280/src/bmp280.c ****         var2 = var1 * var1 * (int64_t) dev->calib_param.dig_p6;
3688
 2135              		.loc 1 518 17 view .LVU641
3689
 2136 001c D317     		asrs	r3, r2, #31
3690
 518:../libBMP280/src/bmp280.c ****         var2 = var1 * var1 * (int64_t) dev->calib_param.dig_p6;
3691
 2137              		.loc 1 518 14 view .LVU642
3692
 2138 001e B2F5FA3E 		subs	lr, r2, #128000
3693
 2139 0022 43F1FF3C 		adc	ip, r3, #-1
3694
 2140              	.LVL204:
3695
 519:../libBMP280/src/bmp280.c ****         var2 = var2 + ((var1 * (int64_t) dev->calib_param.dig_p5) * 131072);
3696
 2141              		.loc 1 519 9 is_stmt 1 view .LVU643
3697
 519:../libBMP280/src/bmp280.c ****         var2 = var2 + ((var1 * (int64_t) dev->calib_param.dig_p5) * 131072);
3698
 2142              		.loc 1 519 21 is_stmt 0 view .LVU644
3699
 2143 0026 0EFB0CF1 		mul	r1, lr, ip
3700
 2144 002a AEFB0E23 		umull	r2, r3, lr, lr
3701
 2145 002e 03EB4103 		add	r3, r3, r1, lsl #1
3702
 519:../libBMP280/src/bmp280.c ****         var2 = var2 + ((var1 * (int64_t) dev->calib_param.dig_p5) * 131072);
3703
 2146              		.loc 1 519 30 view .LVU645
3704
 2147 0032 B4F92000 		ldrsh	r0, [r4, #32]
3705
 2148              	.LVL205:
3706
 519:../libBMP280/src/bmp280.c ****         var2 = var2 + ((var1 * (int64_t) dev->calib_param.dig_p5) * 131072);
3707
 2149              		.loc 1 519 30 view .LVU646
3708
 2150 0036 C117     		asrs	r1, r0, #31
3709
 519:../libBMP280/src/bmp280.c ****         var2 = var2 + ((var1 * (int64_t) dev->calib_param.dig_p5) * 131072);
3710
 2151              		.loc 1 519 14 view .LVU647
3711
 2152 0038 02FB01F6 		mul	r6, r2, r1
3712
 2153 003c 00FB0366 		mla	r6, r0, r3, r6
3713
 2154 0040 A2FB0001 		umull	r0, r1, r2, r0
3714
 2155 0044 3144     		add	r1, r1, r6
3715
 2156              	.LVL206:
3716
 520:../libBMP280/src/bmp280.c ****         var2 = var2 + (((int64_t) dev->calib_param.dig_p4) * 34359738368);
3717
 2157              		.loc 1 520 9 is_stmt 1 view .LVU648
3718
 520:../libBMP280/src/bmp280.c ****         var2 = var2 + (((int64_t) dev->calib_param.dig_p4) * 34359738368);
3719
 2158              		.loc 1 520 32 is_stmt 0 view .LVU649
3720
 2159 0046 B4F91E60 		ldrsh	r6, [r4, #30]
19 mjames 3721
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 63
16 mjames 3722
 
3723
 
3724
 2160 004a F717     		asrs	r7, r6, #31
3725
 520:../libBMP280/src/bmp280.c ****         var2 = var2 + (((int64_t) dev->calib_param.dig_p4) * 34359738368);
3726
 2161              		.loc 1 520 30 view .LVU650
3727
 2162 004c 06FB0CF8 		mul	r8, r6, ip
3728
 2163 0050 0EFB0788 		mla	r8, lr, r7, r8
3729
 2164 0054 A6FB0E67 		umull	r6, r7, r6, lr
3730
 2165 0058 4744     		add	r7, r7, r8
3731
 520:../libBMP280/src/bmp280.c ****         var2 = var2 + (((int64_t) dev->calib_param.dig_p4) * 34359738368);
3732
 2166              		.loc 1 520 67 view .LVU651
3733
 2167 005a 4FEA4749 		lsl	r9, r7, #17
3734
 2168 005e 49EAD639 		orr	r9, r9, r6, lsr #15
3735
 2169 0062 4FEA4648 		lsl	r8, r6, #17
3736
 520:../libBMP280/src/bmp280.c ****         var2 = var2 + (((int64_t) dev->calib_param.dig_p4) * 34359738368);
3737
 2170              		.loc 1 520 14 view .LVU652
3738
 2171 0066 18EB0008 		adds	r8, r8, r0
3739
 2172 006a 49EB0109 		adc	r9, r9, r1
3740
 2173              	.LVL207:
3741
 521:../libBMP280/src/bmp280.c ****         var1 = ((var1 * var1 * (int64_t) dev->calib_param.dig_p3) / 256) +
3742
 2174              		.loc 1 521 9 is_stmt 1 view .LVU653
3743
 521:../libBMP280/src/bmp280.c ****         var1 = ((var1 * var1 * (int64_t) dev->calib_param.dig_p3) / 256) +
3744
 2175              		.loc 1 521 25 is_stmt 0 view .LVU654
3745
 2176 006e B4F91C60 		ldrsh	r6, [r4, #28]
3746
 521:../libBMP280/src/bmp280.c ****         var1 = ((var1 * var1 * (int64_t) dev->calib_param.dig_p3) / 256) +
3747
 2177              		.loc 1 521 60 view .LVU655
3748
 2178 0072 0020     		movs	r0, #0
3749
 2179 0074 F100     		lsls	r1, r6, #3
3750
 521:../libBMP280/src/bmp280.c ****         var1 = ((var1 * var1 * (int64_t) dev->calib_param.dig_p3) / 256) +
3751
 2180              		.loc 1 521 14 view .LVU656
3752
 2181 0076 10EB0800 		adds	r0, r0, r8
3753
 2182 007a 41EB0901 		adc	r1, r1, r9
3754
 2183              	.LVL208:
3755
 522:../libBMP280/src/bmp280.c ****                ((var1 * (int64_t) dev->calib_param.dig_p2) * 4096);
3756
 2184              		.loc 1 522 9 is_stmt 1 view .LVU657
3757
 522:../libBMP280/src/bmp280.c ****                ((var1 * (int64_t) dev->calib_param.dig_p2) * 4096);
3758
 2185              		.loc 1 522 32 is_stmt 0 view .LVU658
3759
 2186 007e B4F91A80 		ldrsh	r8, [r4, #26]
3760
 2187 0082 4FEAE879 		asr	r9, r8, #31
3761
 522:../libBMP280/src/bmp280.c ****                ((var1 * (int64_t) dev->calib_param.dig_p2) * 4096);
3762
 2188              		.loc 1 522 30 view .LVU659
3763
 2189 0086 02FB09F6 		mul	r6, r2, r9
3764
 2190 008a 08FB0366 		mla	r6, r8, r3, r6
3765
 2191 008e A2FB0823 		umull	r2, r3, r2, r8
3766
 2192 0092 3344     		add	r3, r3, r6
3767
 522:../libBMP280/src/bmp280.c ****                ((var1 * (int64_t) dev->calib_param.dig_p2) * 4096);
3768
 2193              		.loc 1 522 67 view .LVU660
3769
 2194 0094 1746     		mov	r7, r2
3770
 2195 0096 1E46     		mov	r6, r3
3771
 2196 0098 002A     		cmp	r2, #0
3772
 2197 009a 73F10008 		sbcs	r8, r3, #0
3773
 2198 009e C0F2B680 		blt	.L155
3774
 2199              	.L147:
3775
 2200 00a2 3F0A     		lsrs	r7, r7, #8
3776
 2201 00a4 47EA0662 		orr	r2, r7, r6, lsl #24
3777
 2202 00a8 3312     		asrs	r3, r6, #8
3778
 523:../libBMP280/src/bmp280.c ****         var1 = ((INT64_C(0x800000000000) + var1) * ((int64_t)dev->calib_param.dig_p1)) / 8589934592
3779
 2203              		.loc 1 523 25 view .LVU661
3780
 2204 00aa B4F91860 		ldrsh	r6, [r4, #24]
19 mjames 3781
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 64
16 mjames 3782
 
3783
 
3784
 2205 00ae F717     		asrs	r7, r6, #31
3785
 523:../libBMP280/src/bmp280.c ****         var1 = ((INT64_C(0x800000000000) + var1) * ((int64_t)dev->calib_param.dig_p1)) / 8589934592
3786
 2206              		.loc 1 523 23 view .LVU662
3787
 2207 00b0 06FB0CFC 		mul	ip, r6, ip
3788
 2208              	.LVL209:
3789
 523:../libBMP280/src/bmp280.c ****         var1 = ((INT64_C(0x800000000000) + var1) * ((int64_t)dev->calib_param.dig_p1)) / 8589934592
3790
 2209              		.loc 1 523 23 view .LVU663
3791
 2210 00b4 0EFB07CC 		mla	ip, lr, r7, ip
3792
 2211 00b8 A6FB0E67 		umull	r6, r7, r6, lr
3793
 2212 00bc 6744     		add	r7, r7, ip
3794
 523:../libBMP280/src/bmp280.c ****         var1 = ((INT64_C(0x800000000000) + var1) * ((int64_t)dev->calib_param.dig_p1)) / 8589934592
3795
 2213              		.loc 1 523 60 view .LVU664
3796
 2214 00be 4FEA073C 		lsl	ip, r7, #12
3797
 2215 00c2 4CEA165C 		orr	ip, ip, r6, lsr #20
3798
 2216 00c6 4FEA063E 		lsl	lr, r6, #12
3799
 2217              	.LVL210:
3800
 522:../libBMP280/src/bmp280.c ****                ((var1 * (int64_t) dev->calib_param.dig_p2) * 4096);
3801
 2218              		.loc 1 522 14 view .LVU665
3802
 2219 00ca 12EB0E02 		adds	r2, r2, lr
3803
 2220 00ce 43EB0C03 		adc	r3, r3, ip
3804
 2221              	.LVL211:
3805
 524:../libBMP280/src/bmp280.c ****         if (var1 != 0)
3806
 2222              		.loc 1 524 9 is_stmt 1 view .LVU666
3807
 524:../libBMP280/src/bmp280.c ****         if (var1 != 0)
3808
 2223              		.loc 1 524 42 is_stmt 0 view .LVU667
3809
 2224 00d2 0032     		adds	r2, r2, #0
3810
 524:../libBMP280/src/bmp280.c ****         if (var1 != 0)
3811
 2225              		.loc 1 524 42 view .LVU668
3812
 2226 00d4 43F5004C 		adc	ip, r3, #32768
3813
 524:../libBMP280/src/bmp280.c ****         if (var1 != 0)
3814
 2227              		.loc 1 524 53 view .LVU669
3815
 2228 00d8 E68A     		ldrh	r6, [r4, #22]
3816
 524:../libBMP280/src/bmp280.c ****         if (var1 != 0)
3817
 2229              		.loc 1 524 50 view .LVU670
3818
 2230 00da A2FB0689 		umull	r8, r9, r2, r6
3819
 2231 00de 06FB0C99 		mla	r9, r6, ip, r9
3820
 524:../libBMP280/src/bmp280.c ****         if (var1 != 0)
3821
 2232              		.loc 1 524 14 view .LVU671
3822
 2233 00e2 4E46     		mov	r6, r9
3823
 2234 00e4 B8F1000F 		cmp	r8, #0
3824
 2235 00e8 79F10003 		sbcs	r3, r9, #0
3825
 2236              	.LVL212:
3826
 524:../libBMP280/src/bmp280.c ****         if (var1 != 0)
3827
 2237              		.loc 1 524 14 view .LVU672
3828
 2238 00ec C0F29480 		blt	.L156
3829
 2239              	.L148:
3830
 524:../libBMP280/src/bmp280.c ****         if (var1 != 0)
3831
 2240              		.loc 1 524 14 view .LVU673
3832
 2241 00f0 7210     		asrs	r2, r6, #1
3833
 2242 00f2 F317     		asrs	r3, r6, #31
3834
 2243              	.LVL213:
3835
 525:../libBMP280/src/bmp280.c ****         {
3836
 2244              		.loc 1 525 9 is_stmt 1 view .LVU674
3837
 525:../libBMP280/src/bmp280.c ****         {
3838
 2245              		.loc 1 525 12 is_stmt 0 view .LVU675
3839
 2246 00f4 52EA0306 		orrs	r6, r2, r3
3840
 2247 00f8 00F0B180 		beq	.L149
19 mjames 3841
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 65
16 mjames 3842
 
3843
 
3844
 527:../libBMP280/src/bmp280.c ****             p = (((((p * 2147483648U)) - var2) * 3125) / var1);
3845
 2248              		.loc 1 527 13 is_stmt 1 view .LVU676
3846
 527:../libBMP280/src/bmp280.c ****             p = (((((p * 2147483648U)) - var2) * 3125) / var1);
3847
 2249              		.loc 1 527 25 is_stmt 0 view .LVU677
3848
 2250 00fc CBF5801B 		rsb	fp, fp, #1048576
3849
 2251              	.LVL214:
3850
 528:../libBMP280/src/bmp280.c ****             var1 = (((int64_t) dev->calib_param.dig_p9) * (p / 8192) * (p / 8192)) / 33554432;
3851
 2252              		.loc 1 528 13 is_stmt 1 view .LVU678
3852
 528:../libBMP280/src/bmp280.c ****             var1 = (((int64_t) dev->calib_param.dig_p9) * (p / 8192) * (p / 8192)) / 33554432;
3853
 2253              		.loc 1 528 24 is_stmt 0 view .LVU679
3854
 2254 0100 4FEA5B07 		lsr	r7, fp, #1
3855
 2255 0104 4FEACB76 		lsl	r6, fp, #31
3856
 528:../libBMP280/src/bmp280.c ****             var1 = (((int64_t) dev->calib_param.dig_p9) * (p / 8192) * (p / 8192)) / 33554432;
3857
 2256              		.loc 1 528 40 view .LVU680
3858
 2257 0108 301A     		subs	r0, r6, r0
3859
 2258              	.LVL215:
3860
 528:../libBMP280/src/bmp280.c ****             var1 = (((int64_t) dev->calib_param.dig_p9) * (p / 8192) * (p / 8192)) / 33554432;
3861
 2259              		.loc 1 528 40 view .LVU681
3862
 2260 010a 67EB0101 		sbc	r1, r7, r1
3863
 528:../libBMP280/src/bmp280.c ****             var1 = (((int64_t) dev->calib_param.dig_p9) * (p / 8192) * (p / 8192)) / 33554432;
3864
 2261              		.loc 1 528 48 view .LVU682
3865
 2262 010e 0618     		adds	r6, r0, r0
3866
 2263 0110 41EB0107 		adc	r7, r1, r1
3867
 2264 0114 3618     		adds	r6, r6, r0
3868
 2265 0116 41EB0707 		adc	r7, r1, r7
3869
 2266 011a 4FEA871C 		lsl	ip, r7, #6
3870
 2267 011e 4CEA966C 		orr	ip, ip, r6, lsr #26
3871
 2268 0122 4FEA861E 		lsl	lr, r6, #6
3872
 2269 0126 16EB0E06 		adds	r6, r6, lr
3873
 2270 012a 47EB0C07 		adc	r7, r7, ip
3874
 2271 012e 4FEA870C 		lsl	ip, r7, #2
3875
 2272 0132 4CEA967C 		orr	ip, ip, r6, lsr #30
3876
 2273 0136 4FEA860E 		lsl	lr, r6, #2
3877
 2274 013a 6746     		mov	r7, ip
3878
 2275 013c 1EEB0006 		adds	r6, lr, r0
3879
 2276 0140 41EB0707 		adc	r7, r1, r7
3880
 2277 0144 4FEA870C 		lsl	ip, r7, #2
3881
 2278 0148 4CEA967C 		orr	ip, ip, r6, lsr #30
3882
 2279 014c 4FEA860E 		lsl	lr, r6, #2
3883
 2280 0150 6746     		mov	r7, ip
3884
 528:../libBMP280/src/bmp280.c ****             var1 = (((int64_t) dev->calib_param.dig_p9) * (p / 8192) * (p / 8192)) / 33554432;
3885
 2281              		.loc 1 528 15 view .LVU683
3886
 2282 0152 1EEB0000 		adds	r0, lr, r0
3887
 2283 0156 47EB0101 		adc	r1, r7, r1
3888
 2284 015a FFF7FEFF 		bl	__aeabi_ldivmod
3889
 2285              	.LVL216:
3890
 529:../libBMP280/src/bmp280.c ****             var2 = (((int64_t) dev->calib_param.dig_p8) * p) / 524288;
3891
 2286              		.loc 1 529 13 is_stmt 1 view .LVU684
3892
 529:../libBMP280/src/bmp280.c ****             var2 = (((int64_t) dev->calib_param.dig_p8) * p) / 524288;
3893
 2287              		.loc 1 529 22 is_stmt 0 view .LVU685
3894
 2288 015e B4F92620 		ldrsh	r2, [r4, #38]
3895
 2289 0162 D317     		asrs	r3, r2, #31
3896
 529:../libBMP280/src/bmp280.c ****             var2 = (((int64_t) dev->calib_param.dig_p8) * p) / 524288;
3897
 2290              		.loc 1 529 62 view .LVU686
3898
 2291 0164 0646     		mov	r6, r0
3899
 2292 0166 0F46     		mov	r7, r1
3900
 2293 0168 0028     		cmp	r0, #0
19 mjames 3901
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 66
16 mjames 3902
 
3903
 
3904
 2294 016a 71F1000C 		sbcs	ip, r1, #0
3905
 2295 016e 58DB     		blt	.L157
3906
 2296              	.L150:
3907
 2297 0170 760B     		lsrs	r6, r6, #13
3908
 2298 0172 46EAC746 		orr	r6, r6, r7, lsl #19
3909
 2299 0176 7F13     		asrs	r7, r7, #13
3910
 529:../libBMP280/src/bmp280.c ****             var2 = (((int64_t) dev->calib_param.dig_p8) * p) / 524288;
3911
 2300              		.loc 1 529 57 view .LVU687
3912
 2301 0178 02FB07FC 		mul	ip, r2, r7
3913
 2302 017c 06FB03CC 		mla	ip, r6, r3, ip
3914
 2303 0180 A2FB0689 		umull	r8, r9, r2, r6
3915
 2304 0184 E144     		add	r9, r9, ip
3916
 529:../libBMP280/src/bmp280.c ****             var2 = (((int64_t) dev->calib_param.dig_p8) * p) / 524288;
3917
 2305              		.loc 1 529 70 view .LVU688
3918
 2306 0186 06FB09F3 		mul	r3, r6, r9
3919
 2307 018a 07FB0837 		mla	r7, r7, r8, r3
3920
 2308 018e A6FB0823 		umull	r2, r3, r6, r8
3921
 2309 0192 3B44     		add	r3, r3, r7
3922
 529:../libBMP280/src/bmp280.c ****             var2 = (((int64_t) dev->calib_param.dig_p8) * p) / 524288;
3923
 2310              		.loc 1 529 18 view .LVU689
3924
 2311 0194 1646     		mov	r6, r2
3925
 2312 0196 9C46     		mov	ip, r3
3926
 2313 0198 002A     		cmp	r2, #0
3927
 2314 019a 73F10007 		sbcs	r7, r3, #0
3928
 2315 019e 48DB     		blt	.L158
3929
 2316              	.L151:
3930
 2317 01a0 730E     		lsrs	r3, r6, #25
3931
 2318 01a2 43EACC16 		orr	r6, r3, ip, lsl #7
3932
 2319 01a6 4FEA6C67 		asr	r7, ip, #25
3933
 2320              	.LVL217:
3934
 530:../libBMP280/src/bmp280.c ****             p = ((p + var1 + var2) / 256) + (((int64_t)dev->calib_param.dig_p7) * 16);
3935
 2321              		.loc 1 530 13 is_stmt 1 view .LVU690
3936
 530:../libBMP280/src/bmp280.c ****             p = ((p + var1 + var2) / 256) + (((int64_t)dev->calib_param.dig_p7) * 16);
3937
 2322              		.loc 1 530 22 is_stmt 0 view .LVU691
3938
 2323 01aa B4F92420 		ldrsh	r2, [r4, #36]
3939
 2324 01ae D317     		asrs	r3, r2, #31
3940
 530:../libBMP280/src/bmp280.c ****             p = ((p + var1 + var2) / 256) + (((int64_t)dev->calib_param.dig_p7) * 16);
3941
 2325              		.loc 1 530 57 view .LVU692
3942
 2326 01b0 02FB01FC 		mul	ip, r2, r1
3943
 2327 01b4 00FB03CC 		mla	ip, r0, r3, ip
3944
 2328 01b8 A2FB0023 		umull	r2, r3, r2, r0
3945
 2329 01bc 6344     		add	r3, r3, ip
3946
 530:../libBMP280/src/bmp280.c ****             p = ((p + var1 + var2) / 256) + (((int64_t)dev->calib_param.dig_p7) * 16);
3947
 2330              		.loc 1 530 18 view .LVU693
3948
 2331 01be 9446     		mov	ip, r2
3949
 2332 01c0 9E46     		mov	lr, r3
3950
 2333 01c2 002A     		cmp	r2, #0
3951
 2334 01c4 73F10008 		sbcs	r8, r3, #0
3952
 2335 01c8 3BDB     		blt	.L159
3953
 2336              	.L152:
3954
 2337 01ca 4FEADC4C 		lsr	ip, ip, #19
3955
 2338 01ce 4CEA4E33 		orr	r3, ip, lr, lsl #13
3956
 2339 01d2 4FEAEE42 		asr	r2, lr, #19
3957
 2340              	.LVL218:
3958
 531:../libBMP280/src/bmp280.c ****             *pressure = (uint32_t)p;
3959
 2341              		.loc 1 531 13 is_stmt 1 view .LVU694
3960
 531:../libBMP280/src/bmp280.c ****             *pressure = (uint32_t)p;
19 mjames 3961
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 67
16 mjames 3962
 
3963
 
3964
 2342              		.loc 1 531 21 is_stmt 0 view .LVU695
3965
 2343 01d6 8619     		adds	r6, r0, r6
3966
 2344              	.LVL219:
3967
 531:../libBMP280/src/bmp280.c ****             *pressure = (uint32_t)p;
3968
 2345              		.loc 1 531 21 view .LVU696
3969
 2346 01d8 41EB0707 		adc	r7, r1, r7
3970
 531:../libBMP280/src/bmp280.c ****             *pressure = (uint32_t)p;
3971
 2347              		.loc 1 531 28 view .LVU697
3972
 2348 01dc F318     		adds	r3, r6, r3
3973
 2349              	.LVL220:
3974
 531:../libBMP280/src/bmp280.c ****             *pressure = (uint32_t)p;
3975
 2350              		.loc 1 531 28 view .LVU698
3976
 2351 01de 0093     		str	r3, [sp]
3977
 2352 01e0 47EB0203 		adc	r3, r7, r2
3978
 2353 01e4 0193     		str	r3, [sp, #4]
3979
 531:../libBMP280/src/bmp280.c ****             *pressure = (uint32_t)p;
3980
 2354              		.loc 1 531 36 view .LVU699
3981
 2355 01e6 DDE90067 		ldrd	r6, [sp]
3982
 2356 01ea 3346     		mov	r3, r6
3983
 2357 01ec 3946     		mov	r1, r7
3984
 2358 01ee 002E     		cmp	r6, #0
3985
 2359 01f0 77F10002 		sbcs	r2, r7, #0
3986
 2360              	.LVL221:
3987
 531:../libBMP280/src/bmp280.c ****             *pressure = (uint32_t)p;
3988
 2361              		.loc 1 531 36 view .LVU700
3989
 2362 01f4 2EDB     		blt	.L160
3990
 2363              	.L153:
3991
 2364 01f6 1A0A     		lsrs	r2, r3, #8
3992
 2365 01f8 42EA0163 		orr	r3, r2, r1, lsl #24
3993
 531:../libBMP280/src/bmp280.c ****             *pressure = (uint32_t)p;
3994
 2366              		.loc 1 531 47 view .LVU701
3995
 2367 01fc B4F92200 		ldrsh	r0, [r4, #34]
3996
 2368              	.LVL222:
3997
 531:../libBMP280/src/bmp280.c ****             *pressure = (uint32_t)p;
3998
 2369              		.loc 1 531 81 view .LVU702
3999
 2370 0200 0201     		lsls	r2, r0, #4
4000
 531:../libBMP280/src/bmp280.c ****             *pressure = (uint32_t)p;
4001
 2371              		.loc 1 531 15 view .LVU703
4002
 2372 0202 9B18     		adds	r3, r3, r2
4003
 532:../libBMP280/src/bmp280.c ****             rslt = BMP280_OK;
4004
 2373              		.loc 1 532 13 is_stmt 1 view .LVU704
4005
 532:../libBMP280/src/bmp280.c ****             rslt = BMP280_OK;
4006
 2374              		.loc 1 532 23 is_stmt 0 view .LVU705
4007
 2375 0204 2B60     		str	r3, [r5]
4008
 533:../libBMP280/src/bmp280.c ****         }
4009
 2376              		.loc 1 533 13 is_stmt 1 view .LVU706
4010
 2377              	.LVL223:
4011
 2378              	.L146:
4012
 542:../libBMP280/src/bmp280.c **** }
4013
 2379              		.loc 1 542 5 view .LVU707
4014
 543:../libBMP280/src/bmp280.c **** 
4015
 2380              		.loc 1 543 1 is_stmt 0 view .LVU708
4016
 2381 0206 5046     		mov	r0, r10
4017
 2382 0208 03B0     		add	sp, sp, #12
4018
 2383              	.LCFI42:
4019
 2384              		.cfi_remember_state
4020
 2385              		.cfi_def_cfa_offset 36
19 mjames 4021
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 68
16 mjames 4022
 
4023
 
4024
 2386              		@ sp needed
4025
 2387 020a BDE8F08F 		pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
4026
 2388              	.LVL224:
4027
 2389              	.L155:
4028
 2390              	.LCFI43:
4029
 2391              		.cfi_restore_state
4030
 522:../libBMP280/src/bmp280.c ****                ((var1 * (int64_t) dev->calib_param.dig_p2) * 4096);
4031
 2392              		.loc 1 522 67 view .LVU709
4032
 2393 020e 12F1FF07 		adds	r7, r2, #255
4033
 2394 0212 43F10006 		adc	r6, r3, #0
4034
 2395 0216 44E7     		b	.L147
4035
 2396              	.LVL225:
4036
 2397              	.L156:
4037
 524:../libBMP280/src/bmp280.c ****         if (var1 != 0)
4038
 2398              		.loc 1 524 14 view .LVU710
4039
 2399 0218 18F1FF32 		adds	r2, r8, #-1
4040
 524:../libBMP280/src/bmp280.c ****         if (var1 != 0)
4041
 2400              		.loc 1 524 14 view .LVU711
4042
 2401 021c 49F10106 		adc	r6, r9, #1
4043
 2402 0220 66E7     		b	.L148
4044
 2403              	.LVL226:
4045
 2404              	.L157:
4046
 529:../libBMP280/src/bmp280.c ****             var2 = (((int64_t) dev->calib_param.dig_p8) * p) / 524288;
4047
 2405              		.loc 1 529 62 view .LVU712
4048
 2406 0222 41F6FF76 		movw	r6, #8191
4049
 2407 0226 8619     		adds	r6, r0, r6
4050
 2408 0228 4FF00007 		mov	r7, #0
4051
 529:../libBMP280/src/bmp280.c ****             var2 = (((int64_t) dev->calib_param.dig_p8) * p) / 524288;
4052
 2409              		.loc 1 529 62 view .LVU713
4053
 2410 022c 41EB0707 		adc	r7, r1, r7
4054
 529:../libBMP280/src/bmp280.c ****             var2 = (((int64_t) dev->calib_param.dig_p8) * p) / 524288;
4055
 2411              		.loc 1 529 62 view .LVU714
4056
 2412 0230 9EE7     		b	.L150
4057
 2413              	.L158:
4058
 529:../libBMP280/src/bmp280.c ****             var2 = (((int64_t) dev->calib_param.dig_p8) * p) / 524288;
4059
 2414              		.loc 1 529 18 view .LVU715
4060
 2415 0232 6FF07E46 		mvn	r6, #-33554432
4061
 2416 0236 9619     		adds	r6, r2, r6
4062
 2417 0238 4FF0000C 		mov	ip, #0
4063
 529:../libBMP280/src/bmp280.c ****             var2 = (((int64_t) dev->calib_param.dig_p8) * p) / 524288;
4064
 2418              		.loc 1 529 18 view .LVU716
4065
 2419 023c 43EB0C0C 		adc	ip, r3, ip
4066
 529:../libBMP280/src/bmp280.c ****             var2 = (((int64_t) dev->calib_param.dig_p8) * p) / 524288;
4067
 2420              		.loc 1 529 18 view .LVU717
4068
 2421 0240 AEE7     		b	.L151
4069
 2422              	.LVL227:
4070
 2423              	.L159:
4071
 530:../libBMP280/src/bmp280.c ****             p = ((p + var1 + var2) / 256) + (((int64_t)dev->calib_param.dig_p7) * 16);
4072
 2424              		.loc 1 530 18 view .LVU718
4073
 2425 0242 DFF824C0 		ldr	ip, .L161
4074
 2426 0246 12EB0C0C 		adds	ip, r2, ip
4075
 2427 024a 4FF0000E 		mov	lr, #0
4076
 530:../libBMP280/src/bmp280.c ****             p = ((p + var1 + var2) / 256) + (((int64_t)dev->calib_param.dig_p7) * 16);
4077
 2428              		.loc 1 530 18 view .LVU719
4078
 2429 024e 43EB0E0E 		adc	lr, r3, lr
4079
 530:../libBMP280/src/bmp280.c ****             p = ((p + var1 + var2) / 256) + (((int64_t)dev->calib_param.dig_p7) * 16);
4080
 2430              		.loc 1 530 18 view .LVU720
19 mjames 4081
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 69
16 mjames 4082
 
4083
 
4084
 2431 0252 BAE7     		b	.L152
4085
 2432              	.LVL228:
4086
 2433              	.L160:
4087
 531:../libBMP280/src/bmp280.c ****             *pressure = (uint32_t)p;
4088
 2434              		.loc 1 531 36 view .LVU721
4089
 2435 0254 16F1FF03 		adds	r3, r6, #255
4090
 2436 0258 47F10001 		adc	r1, r7, #0
4091
 2437 025c CBE7     		b	.L153
4092
 2438              	.LVL229:
4093
 2439              	.L149:
4094
 537:../libBMP280/src/bmp280.c ****             rslt = BMP280_E_64BIT_COMP_PRESS;
4095
 2440              		.loc 1 537 13 is_stmt 1 view .LVU722
4096
 537:../libBMP280/src/bmp280.c ****             rslt = BMP280_E_64BIT_COMP_PRESS;
4097
 2441              		.loc 1 537 23 is_stmt 0 view .LVU723
4098
 2442 025e 0023     		movs	r3, #0
4099
 2443 0260 2B60     		str	r3, [r5]
4100
 538:../libBMP280/src/bmp280.c ****         }
4101
 2444              		.loc 1 538 13 is_stmt 1 view .LVU724
4102
 2445              	.LVL230:
4103
 538:../libBMP280/src/bmp280.c ****         }
4104
 2446              		.loc 1 538 18 is_stmt 0 view .LVU725
4105
 2447 0262 6FF00F0A 		mvn	r10, #15
4106
 2448 0266 CEE7     		b	.L146
4107
 2449              	.L162:
4108
 2450              		.align	2
4109
 2451              	.L161:
4110
 2452 0268 FFFF0700 		.word	524287
4111
 2453              		.cfi_endproc
4112
 2454              	.LFE12:
4113
 2456              		.global	__aeabi_i2d
4114
 2457              		.global	__aeabi_dmul
4115
 2458              		.global	__aeabi_ui2d
4116
 2459              		.global	__aeabi_dsub
4117
 2460              		.global	__aeabi_dadd
4118
 2461              		.global	__aeabi_d2iz
4119
 2462              		.global	__aeabi_ddiv
4120
 2463              		.section	.text.bmp280_get_comp_temp_double,"ax",%progbits
4121
 2464              		.align	1
4122
 2465              		.global	bmp280_get_comp_temp_double
4123
 2466              		.syntax unified
4124
 2467              		.thumb
4125
 2468              		.thumb_func
4126
 2469              		.fpu softvfp
4127
 2471              	bmp280_get_comp_temp_double:
4128
 2472              	.LVL231:
4129
 2473              	.LFB13:
4130
 554:../libBMP280/src/bmp280.c ****     double var1, var2;
4131
 2474              		.loc 1 554 1 is_stmt 1 view -0
4132
 2475              		.cfi_startproc
4133
 2476              		@ args = 0, pretend = 0, frame = 8
4134
 2477              		@ frame_needed = 0, uses_anonymous_args = 0
4135
 554:../libBMP280/src/bmp280.c ****     double var1, var2;
4136
 2478              		.loc 1 554 1 is_stmt 0 view .LVU727
4137
 2479 0000 2DE9F047 		push	{r4, r5, r6, r7, r8, r9, r10, lr}
4138
 2480              	.LCFI44:
4139
 2481              		.cfi_def_cfa_offset 32
4140
 2482              		.cfi_offset 4, -32
19 mjames 4141
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 70
16 mjames 4142
 
4143
 
4144
 2483              		.cfi_offset 5, -28
4145
 2484              		.cfi_offset 6, -24
4146
 2485              		.cfi_offset 7, -20
4147
 2486              		.cfi_offset 8, -16
4148
 2487              		.cfi_offset 9, -12
4149
 2488              		.cfi_offset 10, -8
4150
 2489              		.cfi_offset 14, -4
4151
 2490 0004 82B0     		sub	sp, sp, #8
4152
 2491              	.LCFI45:
4153
 2492              		.cfi_def_cfa_offset 40
4154
 2493 0006 0546     		mov	r5, r0
4155
 2494 0008 0E46     		mov	r6, r1
4156
 2495 000a 1446     		mov	r4, r2
4157
 555:../libBMP280/src/bmp280.c ****     int8_t rslt;
4158
 2496              		.loc 1 555 5 is_stmt 1 view .LVU728
4159
 556:../libBMP280/src/bmp280.c **** 
4160
 2497              		.loc 1 556 5 view .LVU729
4161
 558:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
4162
 2498              		.loc 1 558 5 view .LVU730
4163
 558:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
4164
 2499              		.loc 1 558 12 is_stmt 0 view .LVU731
4165
 2500 000c 1046     		mov	r0, r2
4166
 2501              	.LVL232:
4167
 558:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
4168
 2502              		.loc 1 558 12 view .LVU732
4169
 2503 000e FFF7FEFF 		bl	null_ptr_check
4170
 2504              	.LVL233:
4171
 559:../libBMP280/src/bmp280.c ****     {
4172
 2505              		.loc 1 559 5 is_stmt 1 view .LVU733
4173
 559:../libBMP280/src/bmp280.c ****     {
4174
 2506              		.loc 1 559 8 is_stmt 0 view .LVU734
4175
 2507 0012 0028     		cmp	r0, #0
4176
 2508 0014 63D1     		bne	.L164
4177
 2509 0016 8246     		mov	r10, r0
4178
 561:../libBMP280/src/bmp280.c ****                ((double) dev->calib_param.dig_t2);
4179
 2510              		.loc 1 561 9 is_stmt 1 view .LVU735
4180
 561:../libBMP280/src/bmp280.c ****                ((double) dev->calib_param.dig_t2);
4181
 2511              		.loc 1 561 18 is_stmt 0 view .LVU736
4182
 2512 0018 3046     		mov	r0, r6
4183
 2513              	.LVL234:
4184
 561:../libBMP280/src/bmp280.c ****                ((double) dev->calib_param.dig_t2);
4185
 2514              		.loc 1 561 18 view .LVU737
4186
 2515 001a FFF7FEFF 		bl	__aeabi_i2d
4187
 2516              	.LVL235:
4188
 2517 001e 8046     		mov	r8, r0
4189
 2518 0020 8946     		mov	r9, r1
4190
 561:../libBMP280/src/bmp280.c ****                ((double) dev->calib_param.dig_t2);
4191
 2519              		.loc 1 561 40 view .LVU738
4192
 2520 0022 0022     		movs	r2, #0
4193
 2521 0024 314B     		ldr	r3, .L167
4194
 2522 0026 FFF7FEFF 		bl	__aeabi_dmul
4195
 2523              	.LVL236:
4196
 2524 002a 0646     		mov	r6, r0
4197
 2525              	.LVL237:
4198
 561:../libBMP280/src/bmp280.c ****                ((double) dev->calib_param.dig_t2);
4199
 2526              		.loc 1 561 40 view .LVU739
4200
 2527 002c 0F46     		mov	r7, r1
19 mjames 4201
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 71
16 mjames 4202
 
4203
 
4204
 561:../libBMP280/src/bmp280.c ****                ((double) dev->calib_param.dig_t2);
4205
 2528              		.loc 1 561 53 view .LVU740
4206
 2529 002e 208A     		ldrh	r0, [r4, #16]
4207
 2530 0030 FFF7FEFF 		bl	__aeabi_ui2d
4208
 2531              	.LVL238:
4209
 2532 0034 CDE90001 		strd	r0, [sp]
4210
 561:../libBMP280/src/bmp280.c ****                ((double) dev->calib_param.dig_t2);
4211
 2533              		.loc 1 561 87 view .LVU741
4212
 2534 0038 0022     		movs	r2, #0
4213
 2535 003a 2D4B     		ldr	r3, .L167+4
4214
 2536 003c FFF7FEFF 		bl	__aeabi_dmul
4215
 2537              	.LVL239:
4216
 561:../libBMP280/src/bmp280.c ****                ((double) dev->calib_param.dig_t2);
4217
 2538              		.loc 1 561 50 view .LVU742
4218
 2539 0040 0246     		mov	r2, r0
4219
 2540 0042 0B46     		mov	r3, r1
4220
 2541 0044 3046     		mov	r0, r6
4221
 2542 0046 3946     		mov	r1, r7
4222
 2543 0048 FFF7FEFF 		bl	__aeabi_dsub
4223
 2544              	.LVL240:
4224
 2545 004c 0646     		mov	r6, r0
4225
 2546 004e 0F46     		mov	r7, r1
4226
 562:../libBMP280/src/bmp280.c ****         var2 =
4227
 2547              		.loc 1 562 17 view .LVU743
4228
 2548 0050 B4F91200 		ldrsh	r0, [r4, #18]
4229
 2549 0054 FFF7FEFF 		bl	__aeabi_i2d
4230
 2550              	.LVL241:
4231
 561:../libBMP280/src/bmp280.c ****                ((double) dev->calib_param.dig_t2);
4232
 2551              		.loc 1 561 14 view .LVU744
4233
 2552 0058 0246     		mov	r2, r0
4234
 2553 005a 0B46     		mov	r3, r1
4235
 2554 005c 3046     		mov	r0, r6
4236
 2555 005e 3946     		mov	r1, r7
4237
 2556 0060 FFF7FEFF 		bl	__aeabi_dmul
4238
 2557              	.LVL242:
4239
 2558 0064 0646     		mov	r6, r0
4240
 2559 0066 0F46     		mov	r7, r1
4241
 2560              	.LVL243:
4242
 563:../libBMP280/src/bmp280.c ****             ((((double) uncomp_temp) / 131072.0 - ((double) dev->calib_param.dig_t1) / 8192.0) *
4243
 2561              		.loc 1 563 9 is_stmt 1 view .LVU745
4244
 564:../libBMP280/src/bmp280.c ****              (((double) uncomp_temp) / 131072.0 - ((double) dev->calib_param.dig_t1) / 8192.0)) *
4245
 2562              		.loc 1 564 38 is_stmt 0 view .LVU746
4246
 2563 0068 0022     		movs	r2, #0
4247
 2564 006a 224B     		ldr	r3, .L167+8
4248
 2565 006c 4046     		mov	r0, r8
4249
 2566 006e 4946     		mov	r1, r9
4250
 2567 0070 FFF7FEFF 		bl	__aeabi_dmul
4251
 2568              	.LVL244:
4252
 2569 0074 8046     		mov	r8, r0
4253
 2570 0076 8946     		mov	r9, r1
4254
 564:../libBMP280/src/bmp280.c ****              (((double) uncomp_temp) / 131072.0 - ((double) dev->calib_param.dig_t1) / 8192.0)) *
4255
 2571              		.loc 1 564 86 view .LVU747
4256
 2572 0078 0022     		movs	r2, #0
4257
 2573 007a 1F4B     		ldr	r3, .L167+12
4258
 2574 007c DDE90001 		ldrd	r0, [sp]
4259
 2575 0080 FFF7FEFF 		bl	__aeabi_dmul
4260
 2576              	.LVL245:
19 mjames 4261
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 72
16 mjames 4262
 
4263
 
4264
 564:../libBMP280/src/bmp280.c ****              (((double) uncomp_temp) / 131072.0 - ((double) dev->calib_param.dig_t1) / 8192.0)) *
4265
 2577              		.loc 1 564 49 view .LVU748
4266
 2578 0084 0246     		mov	r2, r0
4267
 2579 0086 0B46     		mov	r3, r1
4268
 2580 0088 4046     		mov	r0, r8
4269
 2581 008a 4946     		mov	r1, r9
4270
 2582 008c FFF7FEFF 		bl	__aeabi_dsub
4271
 2583              	.LVL246:
4272
 564:../libBMP280/src/bmp280.c ****              (((double) uncomp_temp) / 131072.0 - ((double) dev->calib_param.dig_t1) / 8192.0)) *
4273
 2584              		.loc 1 564 96 view .LVU749
4274
 2585 0090 0246     		mov	r2, r0
4275
 2586 0092 0B46     		mov	r3, r1
4276
 2587 0094 FFF7FEFF 		bl	__aeabi_dmul
4277
 2588              	.LVL247:
4278
 2589 0098 8046     		mov	r8, r0
4279
 2590 009a 8946     		mov	r9, r1
4280
 566:../libBMP280/src/bmp280.c ****         dev->calib_param.t_fine = (int32_t) (var1 + var2);
4281
 2591              		.loc 1 566 14 view .LVU750
4282
 2592 009c B4F91400 		ldrsh	r0, [r4, #20]
4283
 2593 00a0 FFF7FEFF 		bl	__aeabi_i2d
4284
 2594              	.LVL248:
4285
 563:../libBMP280/src/bmp280.c ****             ((((double) uncomp_temp) / 131072.0 - ((double) dev->calib_param.dig_t1) / 8192.0) *
4286
 2595              		.loc 1 563 14 view .LVU751
4287
 2596 00a4 0246     		mov	r2, r0
4288
 2597 00a6 0B46     		mov	r3, r1
4289
 2598 00a8 4046     		mov	r0, r8
4290
 2599 00aa 4946     		mov	r1, r9
4291
 2600 00ac FFF7FEFF 		bl	__aeabi_dmul
4292
 2601              	.LVL249:
4293
 567:../libBMP280/src/bmp280.c ****         *temperature = ((var1 + var2) / 5120.0);
4294
 2602              		.loc 1 567 9 is_stmt 1 view .LVU752
4295
 567:../libBMP280/src/bmp280.c ****         *temperature = ((var1 + var2) / 5120.0);
4296
 2603              		.loc 1 567 51 is_stmt 0 view .LVU753
4297
 2604 00b0 0246     		mov	r2, r0
4298
 2605 00b2 0B46     		mov	r3, r1
4299
 2606 00b4 3046     		mov	r0, r6
4300
 2607              	.LVL250:
4301
 567:../libBMP280/src/bmp280.c ****         *temperature = ((var1 + var2) / 5120.0);
4302
 2608              		.loc 1 567 51 view .LVU754
4303
 2609 00b6 3946     		mov	r1, r7
4304
 2610 00b8 FFF7FEFF 		bl	__aeabi_dadd
4305
 2611              	.LVL251:
4306
 2612 00bc 0646     		mov	r6, r0
4307
 2613              	.LVL252:
4308
 567:../libBMP280/src/bmp280.c ****         *temperature = ((var1 + var2) / 5120.0);
4309
 2614              		.loc 1 567 51 view .LVU755
4310
 2615 00be 0F46     		mov	r7, r1
4311
 567:../libBMP280/src/bmp280.c ****         *temperature = ((var1 + var2) / 5120.0);
4312
 2616              		.loc 1 567 35 view .LVU756
4313
 2617 00c0 FFF7FEFF 		bl	__aeabi_d2iz
4314
 2618              	.LVL253:
4315
 567:../libBMP280/src/bmp280.c ****         *temperature = ((var1 + var2) / 5120.0);
4316
 2619              		.loc 1 567 33 view .LVU757
4317
 2620 00c4 A062     		str	r0, [r4, #40]
4318
 568:../libBMP280/src/bmp280.c ****     }
4319
 2621              		.loc 1 568 9 is_stmt 1 view .LVU758
4320
 568:../libBMP280/src/bmp280.c ****     }
19 mjames 4321
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 73
16 mjames 4322
 
4323
 
4324
 2622              		.loc 1 568 39 is_stmt 0 view .LVU759
4325
 2623 00c6 0022     		movs	r2, #0
4326
 2624 00c8 0C4B     		ldr	r3, .L167+16
4327
 2625 00ca 3046     		mov	r0, r6
4328
 2626 00cc 3946     		mov	r1, r7
4329
 2627 00ce FFF7FEFF 		bl	__aeabi_ddiv
4330
 2628              	.LVL254:
4331
 568:../libBMP280/src/bmp280.c ****     }
4332
 2629              		.loc 1 568 22 view .LVU760
4333
 2630 00d2 C5E90001 		strd	r0, [r5]
4334
 2631              	.L165:
4335
 2632              	.LVL255:
4336
 576:../libBMP280/src/bmp280.c **** }
4337
 2633              		.loc 1 576 5 is_stmt 1 view .LVU761
4338
 577:../libBMP280/src/bmp280.c **** 
4339
 2634              		.loc 1 577 1 is_stmt 0 view .LVU762
4340
 2635 00d6 5046     		mov	r0, r10
4341
 2636 00d8 02B0     		add	sp, sp, #8
4342
 2637              	.LCFI46:
4343
 2638              		.cfi_remember_state
4344
 2639              		.cfi_def_cfa_offset 32
4345
 2640              		@ sp needed
4346
 2641 00da BDE8F087 		pop	{r4, r5, r6, r7, r8, r9, r10, pc}
4347
 2642              	.LVL256:
4348
 2643              	.L164:
4349
 2644              	.LCFI47:
4350
 2645              		.cfi_restore_state
4351
 572:../libBMP280/src/bmp280.c ****         rslt = BMP280_E_DOUBLE_COMP_TEMP;
4352
 2646              		.loc 1 572 9 is_stmt 1 view .LVU763
4353
 572:../libBMP280/src/bmp280.c ****         rslt = BMP280_E_DOUBLE_COMP_TEMP;
4354
 2647              		.loc 1 572 22 is_stmt 0 view .LVU764
4355
 2648 00de 0022     		movs	r2, #0
4356
 2649 00e0 0023     		movs	r3, #0
4357
 2650 00e2 C5E90023 		strd	r2, [r5]
4358
 573:../libBMP280/src/bmp280.c ****     }
4359
 2651              		.loc 1 573 9 is_stmt 1 view .LVU765
4360
 2652              	.LVL257:
4361
 573:../libBMP280/src/bmp280.c ****     }
4362
 2653              		.loc 1 573 14 is_stmt 0 view .LVU766
4363
 2654 00e6 6FF0100A 		mvn	r10, #16
4364
 2655 00ea F4E7     		b	.L165
4365
 2656              	.L168:
4366
 2657              		.align	2
4367
 2658              	.L167:
4368
 2659 00ec 0000103F 		.word	1058013184
4369
 2660 00f0 0000503F 		.word	1062207488
4370
 2661 00f4 0000E03E 		.word	1054867456
4371
 2662 00f8 0000203F 		.word	1059061760
4372
 2663 00fc 0000B440 		.word	1085538304
4373
 2664              		.cfi_endproc
4374
 2665              	.LFE13:
4375
 2667              		.global	__aeabi_dcmpun
4376
 2668              		.global	__aeabi_dcmpeq
4377
 2669              		.section	.text.bmp280_get_comp_pres_double,"ax",%progbits
4378
 2670              		.align	1
4379
 2671              		.global	bmp280_get_comp_pres_double
4380
 2672              		.syntax unified
19 mjames 4381
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 74
16 mjames 4382
 
4383
 
4384
 2673              		.thumb
4385
 2674              		.thumb_func
4386
 2675              		.fpu softvfp
4387
 2677              	bmp280_get_comp_pres_double:
4388
 2678              	.LVL258:
4389
 2679              	.LFB14:
4390
 584:../libBMP280/src/bmp280.c ****     double var1, var2;
4391
 2680              		.loc 1 584 1 is_stmt 1 view -0
4392
 2681              		.cfi_startproc
4393
 2682              		@ args = 0, pretend = 0, frame = 8
4394
 2683              		@ frame_needed = 0, uses_anonymous_args = 0
4395
 584:../libBMP280/src/bmp280.c ****     double var1, var2;
4396
 2684              		.loc 1 584 1 is_stmt 0 view .LVU768
4397
 2685 0000 2DE9F04F 		push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
4398
 2686              	.LCFI48:
4399
 2687              		.cfi_def_cfa_offset 36
4400
 2688              		.cfi_offset 4, -36
4401
 2689              		.cfi_offset 5, -32
4402
 2690              		.cfi_offset 6, -28
4403
 2691              		.cfi_offset 7, -24
4404
 2692              		.cfi_offset 8, -20
4405
 2693              		.cfi_offset 9, -16
4406
 2694              		.cfi_offset 10, -12
4407
 2695              		.cfi_offset 11, -8
4408
 2696              		.cfi_offset 14, -4
4409
 2697 0004 83B0     		sub	sp, sp, #12
4410
 2698              	.LCFI49:
4411
 2699              		.cfi_def_cfa_offset 48
4412
 2700 0006 0546     		mov	r5, r0
4413
 2701 0008 8A46     		mov	r10, r1
4414
 2702 000a 1446     		mov	r4, r2
4415
 585:../libBMP280/src/bmp280.c ****     int8_t rslt;
4416
 2703              		.loc 1 585 5 is_stmt 1 view .LVU769
4417
 586:../libBMP280/src/bmp280.c **** 
4418
 2704              		.loc 1 586 5 view .LVU770
4419
 588:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
4420
 2705              		.loc 1 588 5 view .LVU771
4421
 588:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
4422
 2706              		.loc 1 588 12 is_stmt 0 view .LVU772
4423
 2707 000c 1046     		mov	r0, r2
4424
 2708              	.LVL259:
4425
 588:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
4426
 2709              		.loc 1 588 12 view .LVU773
4427
 2710 000e FFF7FEFF 		bl	null_ptr_check
4428
 2711              	.LVL260:
4429
 589:../libBMP280/src/bmp280.c ****     {
4430
 2712              		.loc 1 589 5 is_stmt 1 view .LVU774
4431
 589:../libBMP280/src/bmp280.c ****     {
4432
 2713              		.loc 1 589 8 is_stmt 0 view .LVU775
4433
 2714 0012 8346     		mov	fp, r0
4434
 2715 0014 0028     		cmp	r0, #0
4435
 2716 0016 40F00081 		bne	.L170
4436
 591:../libBMP280/src/bmp280.c ****         var2 = var1 * var1 * ((double) dev->calib_param.dig_p6) / 32768.0;
4437
 2717              		.loc 1 591 9 is_stmt 1 view .LVU776
4438
 591:../libBMP280/src/bmp280.c ****         var2 = var1 * var1 * ((double) dev->calib_param.dig_p6) / 32768.0;
4439
 2718              		.loc 1 591 17 is_stmt 0 view .LVU777
4440
 2719 001a A06A     		ldr	r0, [r4, #40]
19 mjames 4441
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 75
16 mjames 4442
 
4443
 
4444
 2720              	.LVL261:
4445
 591:../libBMP280/src/bmp280.c ****         var2 = var1 * var1 * ((double) dev->calib_param.dig_p6) / 32768.0;
4446
 2721              		.loc 1 591 17 view .LVU778
4447
 2722 001c FFF7FEFF 		bl	__aeabi_i2d
4448
 2723              	.LVL262:
4449
 591:../libBMP280/src/bmp280.c ****         var2 = var1 * var1 * ((double) dev->calib_param.dig_p6) / 32768.0;
4450
 2724              		.loc 1 591 50 view .LVU779
4451
 2725 0020 0022     		movs	r2, #0
4452
 2726 0022 854B     		ldr	r3, .L175+8
4453
 2727 0024 FFF7FEFF 		bl	__aeabi_dmul
4454
 2728              	.LVL263:
4455
 591:../libBMP280/src/bmp280.c ****         var2 = var1 * var1 * ((double) dev->calib_param.dig_p6) / 32768.0;
4456
 2729              		.loc 1 591 14 view .LVU780
4457
 2730 0028 0022     		movs	r2, #0
4458
 2731 002a 844B     		ldr	r3, .L175+12
4459
 2732 002c FFF7FEFF 		bl	__aeabi_dsub
4460
 2733              	.LVL264:
4461
 2734 0030 0646     		mov	r6, r0
4462
 2735 0032 0F46     		mov	r7, r1
4463
 2736              	.LVL265:
4464
 592:../libBMP280/src/bmp280.c ****         var2 = var2 + var1 * ((double) dev->calib_param.dig_p5) * 2.0;
4465
 2737              		.loc 1 592 9 is_stmt 1 view .LVU781
4466
 592:../libBMP280/src/bmp280.c ****         var2 = var2 + var1 * ((double) dev->calib_param.dig_p5) * 2.0;
4467
 2738              		.loc 1 592 21 is_stmt 0 view .LVU782
4468
 2739 0034 0246     		mov	r2, r0
4469
 2740 0036 0B46     		mov	r3, r1
4470
 2741 0038 FFF7FEFF 		bl	__aeabi_dmul
4471
 2742              	.LVL266:
4472
 2743 003c 8046     		mov	r8, r0
4473
 2744 003e 8946     		mov	r9, r1
4474
 592:../libBMP280/src/bmp280.c ****         var2 = var2 + var1 * ((double) dev->calib_param.dig_p5) * 2.0;
4475
 2745              		.loc 1 592 31 view .LVU783
4476
 2746 0040 B4F92000 		ldrsh	r0, [r4, #32]
4477
 2747 0044 FFF7FEFF 		bl	__aeabi_i2d
4478
 2748              	.LVL267:
4479
 592:../libBMP280/src/bmp280.c ****         var2 = var2 + var1 * ((double) dev->calib_param.dig_p5) * 2.0;
4480
 2749              		.loc 1 592 28 view .LVU784
4481
 2750 0048 0246     		mov	r2, r0
4482
 2751 004a 0B46     		mov	r3, r1
4483
 2752 004c 4046     		mov	r0, r8
4484
 2753 004e 4946     		mov	r1, r9
4485
 2754 0050 FFF7FEFF 		bl	__aeabi_dmul
4486
 2755              	.LVL268:
4487
 592:../libBMP280/src/bmp280.c ****         var2 = var2 + var1 * ((double) dev->calib_param.dig_p5) * 2.0;
4488
 2756              		.loc 1 592 14 view .LVU785
4489
 2757 0054 0022     		movs	r2, #0
4490
 2758 0056 4FF07C53 		mov	r3, #1056964608
4491
 2759 005a FFF7FEFF 		bl	__aeabi_dmul
4492
 2760              	.LVL269:
4493
 2761 005e 8046     		mov	r8, r0
4494
 2762 0060 8946     		mov	r9, r1
4495
 2763              	.LVL270:
4496
 593:../libBMP280/src/bmp280.c ****         var2 = (var2 / 4.0) + (((double) dev->calib_param.dig_p4) * 65536.0);
4497
 2764              		.loc 1 593 9 is_stmt 1 view .LVU786
4498
 593:../libBMP280/src/bmp280.c ****         var2 = (var2 / 4.0) + (((double) dev->calib_param.dig_p4) * 65536.0);
4499
 2765              		.loc 1 593 31 is_stmt 0 view .LVU787
4500
 2766 0062 B4F91E00 		ldrsh	r0, [r4, #30]
19 mjames 4501
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 76
16 mjames 4502
 
4503
 
4504
 2767 0066 FFF7FEFF 		bl	__aeabi_i2d
4505
 2768              	.LVL271:
4506
 593:../libBMP280/src/bmp280.c ****         var2 = (var2 / 4.0) + (((double) dev->calib_param.dig_p4) * 65536.0);
4507
 2769              		.loc 1 593 28 view .LVU788
4508
 2770 006a 3246     		mov	r2, r6
4509
 2771 006c 3B46     		mov	r3, r7
4510
 2772 006e FFF7FEFF 		bl	__aeabi_dmul
4511
 2773              	.LVL272:
4512
 593:../libBMP280/src/bmp280.c ****         var2 = (var2 / 4.0) + (((double) dev->calib_param.dig_p4) * 65536.0);
4513
 2774              		.loc 1 593 65 view .LVU789
4514
 2775 0072 0246     		mov	r2, r0
4515
 2776 0074 0B46     		mov	r3, r1
4516
 2777 0076 FFF7FEFF 		bl	__aeabi_dadd
4517
 2778              	.LVL273:
4518
 593:../libBMP280/src/bmp280.c ****         var2 = (var2 / 4.0) + (((double) dev->calib_param.dig_p4) * 65536.0);
4519
 2779              		.loc 1 593 14 view .LVU790
4520
 2780 007a 4246     		mov	r2, r8
4521
 2781 007c 4B46     		mov	r3, r9
4522
 2782 007e FFF7FEFF 		bl	__aeabi_dadd
4523
 2783              	.LVL274:
4524
 594:../libBMP280/src/bmp280.c ****         var1 = (((double)dev->calib_param.dig_p3) * var1 * var1 / 524288.0 + ((double)dev->calib_pa
4525
 2784              		.loc 1 594 9 is_stmt 1 view .LVU791
4526
 594:../libBMP280/src/bmp280.c ****         var1 = (((double)dev->calib_param.dig_p3) * var1 * var1 / 524288.0 + ((double)dev->calib_pa
4527
 2785              		.loc 1 594 22 is_stmt 0 view .LVU792
4528
 2786 0082 0022     		movs	r2, #0
4529
 2787 0084 6E4B     		ldr	r3, .L175+16
4530
 2788 0086 FFF7FEFF 		bl	__aeabi_dmul
4531
 2789              	.LVL275:
4532
 594:../libBMP280/src/bmp280.c ****         var1 = (((double)dev->calib_param.dig_p3) * var1 * var1 / 524288.0 + ((double)dev->calib_pa
4533
 2790              		.loc 1 594 22 view .LVU793
4534
 2791 008a 8046     		mov	r8, r0
4535
 2792 008c 8946     		mov	r9, r1
4536
 594:../libBMP280/src/bmp280.c ****         var1 = (((double)dev->calib_param.dig_p3) * var1 * var1 / 524288.0 + ((double)dev->calib_pa
4537
 2793              		.loc 1 594 33 view .LVU794
4538
 2794 008e B4F91C00 		ldrsh	r0, [r4, #28]
4539
 2795 0092 FFF7FEFF 		bl	__aeabi_i2d
4540
 2796              	.LVL276:
4541
 594:../libBMP280/src/bmp280.c ****         var1 = (((double)dev->calib_param.dig_p3) * var1 * var1 / 524288.0 + ((double)dev->calib_pa
4542
 2797              		.loc 1 594 67 view .LVU795
4543
 2798 0096 0022     		movs	r2, #0
4544
 2799 0098 6A4B     		ldr	r3, .L175+20
4545
 2800 009a FFF7FEFF 		bl	__aeabi_dmul
4546
 2801              	.LVL277:
4547
 594:../libBMP280/src/bmp280.c ****         var1 = (((double)dev->calib_param.dig_p3) * var1 * var1 / 524288.0 + ((double)dev->calib_pa
4548
 2802              		.loc 1 594 14 view .LVU796
4549
 2803 009e 0246     		mov	r2, r0
4550
 2804 00a0 0B46     		mov	r3, r1
4551
 2805 00a2 4046     		mov	r0, r8
4552
 2806 00a4 4946     		mov	r1, r9
4553
 2807 00a6 FFF7FEFF 		bl	__aeabi_dadd
4554
 2808              	.LVL278:
4555
 2809 00aa CDE90001 		strd	r0, [sp]
4556
 2810              	.LVL279:
4557
 595:../libBMP280/src/bmp280.c ****                524288.0;
4558
 2811              		.loc 1 595 9 is_stmt 1 view .LVU797
4559
 595:../libBMP280/src/bmp280.c ****                524288.0;
4560
 2812              		.loc 1 595 18 is_stmt 0 view .LVU798
19 mjames 4561
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 77
16 mjames 4562
 
4563
 
4564
 2813 00ae B4F91A00 		ldrsh	r0, [r4, #26]
4565
 2814              	.LVL280:
4566
 595:../libBMP280/src/bmp280.c ****                524288.0;
4567
 2815              		.loc 1 595 18 view .LVU799
4568
 2816 00b2 FFF7FEFF 		bl	__aeabi_i2d
4569
 2817              	.LVL281:
4570
 595:../libBMP280/src/bmp280.c ****                524288.0;
4571
 2818              		.loc 1 595 51 view .LVU800
4572
 2819 00b6 3246     		mov	r2, r6
4573
 2820 00b8 3B46     		mov	r3, r7
4574
 2821 00ba FFF7FEFF 		bl	__aeabi_dmul
4575
 2822              	.LVL282:
4576
 595:../libBMP280/src/bmp280.c ****                524288.0;
4577
 2823              		.loc 1 595 58 view .LVU801
4578
 2824 00be 3246     		mov	r2, r6
4579
 2825 00c0 3B46     		mov	r3, r7
4580
 2826 00c2 FFF7FEFF 		bl	__aeabi_dmul
4581
 2827              	.LVL283:
4582
 595:../libBMP280/src/bmp280.c ****                524288.0;
4583
 2828              		.loc 1 595 65 view .LVU802
4584
 2829 00c6 0022     		movs	r2, #0
4585
 2830 00c8 4FF07B53 		mov	r3, #1052770304
4586
 2831 00cc FFF7FEFF 		bl	__aeabi_dmul
4587
 2832              	.LVL284:
4588
 2833 00d0 8046     		mov	r8, r0
4589
 2834 00d2 8946     		mov	r9, r1
4590
 595:../libBMP280/src/bmp280.c ****                524288.0;
4591
 2835              		.loc 1 595 79 view .LVU803
4592
 2836 00d4 B4F91800 		ldrsh	r0, [r4, #24]
4593
 2837 00d8 FFF7FEFF 		bl	__aeabi_i2d
4594
 2838              	.LVL285:
4595
 595:../libBMP280/src/bmp280.c ****                524288.0;
4596
 2839              		.loc 1 595 112 view .LVU804
4597
 2840 00dc 3246     		mov	r2, r6
4598
 2841 00de 3B46     		mov	r3, r7
4599
 2842 00e0 FFF7FEFF 		bl	__aeabi_dmul
4600
 2843              	.LVL286:
4601
 595:../libBMP280/src/bmp280.c ****                524288.0;
4602
 2844              		.loc 1 595 76 view .LVU805
4603
 2845 00e4 0246     		mov	r2, r0
4604
 2846 00e6 0B46     		mov	r3, r1
4605
 2847 00e8 4046     		mov	r0, r8
4606
 2848 00ea 4946     		mov	r1, r9
4607
 2849 00ec FFF7FEFF 		bl	__aeabi_dadd
4608
 2850              	.LVL287:
4609
 595:../libBMP280/src/bmp280.c ****                524288.0;
4610
 2851              		.loc 1 595 14 view .LVU806
4611
 2852 00f0 0022     		movs	r2, #0
4612
 2853 00f2 4FF07B53 		mov	r3, #1052770304
4613
 2854 00f6 FFF7FEFF 		bl	__aeabi_dmul
4614
 2855              	.LVL288:
4615
 597:../libBMP280/src/bmp280.c **** 
4616
 2856              		.loc 1 597 9 is_stmt 1 view .LVU807
4617
 597:../libBMP280/src/bmp280.c **** 
4618
 2857              		.loc 1 597 28 is_stmt 0 view .LVU808
4619
 2858 00fa 0022     		movs	r2, #0
4620
 2859 00fc 4FF07C53 		mov	r3, #1056964608
19 mjames 4621
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 78
16 mjames 4622
 
4623
 
4624
 2860 0100 FFF7FEFF 		bl	__aeabi_dmul
4625
 2861              	.LVL289:
4626
 597:../libBMP280/src/bmp280.c **** 
4627
 2862              		.loc 1 597 21 view .LVU809
4628
 2863 0104 0022     		movs	r2, #0
4629
 2864 0106 504B     		ldr	r3, .L175+24
4630
 2865 0108 FFF7FEFF 		bl	__aeabi_dadd
4631
 2866              	.LVL290:
4632
 2867 010c 0646     		mov	r6, r0
4633
 2868 010e 0F46     		mov	r7, r1
4634
 597:../libBMP280/src/bmp280.c **** 
4635
 2869              		.loc 1 597 42 view .LVU810
4636
 2870 0110 E08A     		ldrh	r0, [r4, #22]
4637
 2871 0112 FFF7FEFF 		bl	__aeabi_ui2d
4638
 2872              	.LVL291:
4639
 597:../libBMP280/src/bmp280.c **** 
4640
 2873              		.loc 1 597 14 view .LVU811
4641
 2874 0116 0246     		mov	r2, r0
4642
 2875 0118 0B46     		mov	r3, r1
4643
 2876 011a 3046     		mov	r0, r6
4644
 2877 011c 3946     		mov	r1, r7
4645
 2878 011e FFF7FEFF 		bl	__aeabi_dmul
4646
 2879              	.LVL292:
4647
 2880 0122 8046     		mov	r8, r0
4648
 2881 0124 8946     		mov	r9, r1
4649
 2882              	.LVL293:
4650
 599:../libBMP280/src/bmp280.c ****         if (var1 < 0 || var1 > 0)
4651
 2883              		.loc 1 599 9 is_stmt 1 view .LVU812
4652
 599:../libBMP280/src/bmp280.c ****         if (var1 < 0 || var1 > 0)
4653
 2884              		.loc 1 599 33 is_stmt 0 view .LVU813
4654
 2885 0126 5046     		mov	r0, r10
4655
 2886 0128 FFF7FEFF 		bl	__aeabi_ui2d
4656
 2887              	.LVL294:
4657
 599:../libBMP280/src/bmp280.c ****         if (var1 < 0 || var1 > 0)
4658
 2888              		.loc 1 599 31 view .LVU814
4659
 2889 012c 0246     		mov	r2, r0
4660
 2890 012e 0B46     		mov	r3, r1
4661
 2891 0130 0020     		movs	r0, #0
4662
 2892 0132 4649     		ldr	r1, .L175+28
4663
 2893 0134 FFF7FEFF 		bl	__aeabi_dsub
4664
 2894              	.LVL295:
4665
 2895 0138 0646     		mov	r6, r0
4666
 2896 013a 0F46     		mov	r7, r1
4667
 599:../libBMP280/src/bmp280.c ****         if (var1 < 0 || var1 > 0)
4668
 2897              		.loc 1 599 19 view .LVU815
4669
 2898 013c C5E90067 		strd	r6, [r5]
4670
 600:../libBMP280/src/bmp280.c ****         {
4671
 2899              		.loc 1 600 9 is_stmt 1 view .LVU816
4672
 600:../libBMP280/src/bmp280.c ****         {
4673
 2900              		.loc 1 600 12 is_stmt 0 view .LVU817
4674
 2901 0140 0022     		movs	r2, #0
4675
 2902 0142 0023     		movs	r3, #0
4676
 2903 0144 4046     		mov	r0, r8
4677
 2904 0146 4946     		mov	r1, r9
4678
 2905 0148 FFF7FEFF 		bl	__aeabi_dcmpun
4679
 2906              	.LVL296:
4680
 2907 014c 0028     		cmp	r0, #0
19 mjames 4681
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 79
16 mjames 4682
 
4683
 
4684
 2908 014e 68D1     		bne	.L171
4685
 2909 0150 0022     		movs	r2, #0
4686
 2910 0152 0023     		movs	r3, #0
4687
 2911 0154 4046     		mov	r0, r8
4688
 2912 0156 4946     		mov	r1, r9
4689
 2913 0158 FFF7FEFF 		bl	__aeabi_dcmpeq
4690
 2914              	.LVL297:
4691
 2915 015c 0028     		cmp	r0, #0
4692
 2916 015e 60D1     		bne	.L171
4693
 602:../libBMP280/src/bmp280.c ****             var1 = ((double)dev->calib_param.dig_p9) * (*pressure) * (*pressure) / 2147483648.0;
4694
 2917              		.loc 1 602 13 is_stmt 1 view .LVU818
4695
 602:../libBMP280/src/bmp280.c ****             var1 = ((double)dev->calib_param.dig_p9) * (*pressure) * (*pressure) / 2147483648.0;
4696
 2918              		.loc 1 602 44 is_stmt 0 view .LVU819
4697
 2919 0160 0022     		movs	r2, #0
4698
 2920 0162 3B4B     		ldr	r3, .L175+32
4699
 2921 0164 DDE90001 		ldrd	r0, [sp]
4700
 2922 0168 FFF7FEFF 		bl	__aeabi_dmul
4701
 2923              	.LVL298:
4702
 602:../libBMP280/src/bmp280.c ****             var1 = ((double)dev->calib_param.dig_p9) * (*pressure) * (*pressure) / 2147483648.0;
4703
 2924              		.loc 1 602 36 view .LVU820
4704
 2925 016c 0246     		mov	r2, r0
4705
 2926 016e 0B46     		mov	r3, r1
4706
 2927 0170 3046     		mov	r0, r6
4707
 2928 0172 3946     		mov	r1, r7
4708
 2929 0174 FFF7FEFF 		bl	__aeabi_dsub
4709
 2930              	.LVL299:
4710
 602:../libBMP280/src/bmp280.c ****             var1 = ((double)dev->calib_param.dig_p9) * (*pressure) * (*pressure) / 2147483648.0;
4711
 2931              		.loc 1 602 55 view .LVU821
4712
 2932 0178 2DA3     		adr	r3, .L175
4713
 2933 017a D3E90023 		ldrd	r2, [r3]
4714
 2934 017e FFF7FEFF 		bl	__aeabi_dmul
4715
 2935              	.LVL300:
4716
 602:../libBMP280/src/bmp280.c ****             var1 = ((double)dev->calib_param.dig_p9) * (*pressure) * (*pressure) / 2147483648.0;
4717
 2936              		.loc 1 602 64 view .LVU822
4718
 2937 0182 4246     		mov	r2, r8
4719
 2938 0184 4B46     		mov	r3, r9
4720
 2939 0186 FFF7FEFF 		bl	__aeabi_ddiv
4721
 2940              	.LVL301:
4722
 2941 018a 0646     		mov	r6, r0
4723
 2942 018c 0F46     		mov	r7, r1
4724
 602:../libBMP280/src/bmp280.c ****             var1 = ((double)dev->calib_param.dig_p9) * (*pressure) * (*pressure) / 2147483648.0;
4725
 2943              		.loc 1 602 23 view .LVU823
4726
 2944 018e C5E90067 		strd	r6, [r5]
4727
 603:../libBMP280/src/bmp280.c ****             var2 = (*pressure) * ((double)dev->calib_param.dig_p8) / 32768.0;
4728
 2945              		.loc 1 603 13 is_stmt 1 view .LVU824
4729
 603:../libBMP280/src/bmp280.c ****             var2 = (*pressure) * ((double)dev->calib_param.dig_p8) / 32768.0;
4730
 2946              		.loc 1 603 21 is_stmt 0 view .LVU825
4731
 2947 0192 B4F92600 		ldrsh	r0, [r4, #38]
4732
 2948 0196 FFF7FEFF 		bl	__aeabi_i2d
4733
 2949              	.LVL302:
4734
 603:../libBMP280/src/bmp280.c ****             var2 = (*pressure) * ((double)dev->calib_param.dig_p8) / 32768.0;
4735
 2950              		.loc 1 603 54 view .LVU826
4736
 2951 019a 0246     		mov	r2, r0
4737
 2952 019c 0B46     		mov	r3, r1
4738
 2953 019e 3046     		mov	r0, r6
4739
 2954 01a0 3946     		mov	r1, r7
4740
 2955 01a2 FFF7FEFF 		bl	__aeabi_dmul
19 mjames 4741
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 80
16 mjames 4742
 
4743
 
4744
 2956              	.LVL303:
4745
 603:../libBMP280/src/bmp280.c ****             var2 = (*pressure) * ((double)dev->calib_param.dig_p8) / 32768.0;
4746
 2957              		.loc 1 603 68 view .LVU827
4747
 2958 01a6 0246     		mov	r2, r0
4748
 2959 01a8 0B46     		mov	r3, r1
4749
 2960 01aa 3046     		mov	r0, r6
4750
 2961 01ac 3946     		mov	r1, r7
4751
 2962 01ae FFF7FEFF 		bl	__aeabi_dmul
4752
 2963              	.LVL304:
4753
 603:../libBMP280/src/bmp280.c ****             var2 = (*pressure) * ((double)dev->calib_param.dig_p8) / 32768.0;
4754
 2964              		.loc 1 603 18 view .LVU828
4755
 2965 01b2 0022     		movs	r2, #0
4756
 2966 01b4 4FF07853 		mov	r3, #1040187392
4757
 2967 01b8 FFF7FEFF 		bl	__aeabi_dmul
4758
 2968              	.LVL305:
4759
 2969 01bc 8046     		mov	r8, r0
4760
 2970              	.LVL306:
4761
 603:../libBMP280/src/bmp280.c ****             var2 = (*pressure) * ((double)dev->calib_param.dig_p8) / 32768.0;
4762
 2971              		.loc 1 603 18 view .LVU829
4763
 2972 01be 8946     		mov	r9, r1
4764
 2973              	.LVL307:
4765
 604:../libBMP280/src/bmp280.c ****             *pressure = *pressure + (var1 + var2 + ((double)dev->calib_param.dig_p7)) / 16.0;
4766
 2974              		.loc 1 604 13 is_stmt 1 view .LVU830
4767
 604:../libBMP280/src/bmp280.c ****             *pressure = *pressure + (var1 + var2 + ((double)dev->calib_param.dig_p7)) / 16.0;
4768
 2975              		.loc 1 604 35 is_stmt 0 view .LVU831
4769
 2976 01c0 B4F92400 		ldrsh	r0, [r4, #36]
4770
 2977 01c4 FFF7FEFF 		bl	__aeabi_i2d
4771
 2978              	.LVL308:
4772
 604:../libBMP280/src/bmp280.c ****             *pressure = *pressure + (var1 + var2 + ((double)dev->calib_param.dig_p7)) / 16.0;
4773
 2979              		.loc 1 604 32 view .LVU832
4774
 2980 01c8 0246     		mov	r2, r0
4775
 2981 01ca 0B46     		mov	r3, r1
4776
 2982 01cc 3046     		mov	r0, r6
4777
 2983 01ce 3946     		mov	r1, r7
4778
 2984 01d0 FFF7FEFF 		bl	__aeabi_dmul
4779
 2985              	.LVL309:
4780
 604:../libBMP280/src/bmp280.c ****             *pressure = *pressure + (var1 + var2 + ((double)dev->calib_param.dig_p7)) / 16.0;
4781
 2986              		.loc 1 604 18 view .LVU833
4782
 2987 01d4 0022     		movs	r2, #0
4783
 2988 01d6 4FF07C53 		mov	r3, #1056964608
4784
 2989 01da FFF7FEFF 		bl	__aeabi_dmul
4785
 2990              	.LVL310:
4786
 605:../libBMP280/src/bmp280.c ****         }
4787
 2991              		.loc 1 605 13 is_stmt 1 view .LVU834
4788
 605:../libBMP280/src/bmp280.c ****         }
4789
 2992              		.loc 1 605 43 is_stmt 0 view .LVU835
4790
 2993 01de 0246     		mov	r2, r0
4791
 2994 01e0 0B46     		mov	r3, r1
4792
 2995 01e2 4046     		mov	r0, r8
4793
 2996              	.LVL311:
4794
 605:../libBMP280/src/bmp280.c ****         }
4795
 2997              		.loc 1 605 43 view .LVU836
4796
 2998 01e4 4946     		mov	r1, r9
4797
 2999 01e6 FFF7FEFF 		bl	__aeabi_dadd
4798
 3000              	.LVL312:
4799
 3001 01ea 8046     		mov	r8, r0
4800
 3002              	.LVL313:
19 mjames 4801
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 81
16 mjames 4802
 
4803
 
4804
 605:../libBMP280/src/bmp280.c ****         }
4805
 3003              		.loc 1 605 43 view .LVU837
4806
 3004 01ec 8946     		mov	r9, r1
4807
 605:../libBMP280/src/bmp280.c ****         }
4808
 3005              		.loc 1 605 53 view .LVU838
4809
 3006 01ee B4F92200 		ldrsh	r0, [r4, #34]
4810
 3007 01f2 FFF7FEFF 		bl	__aeabi_i2d
4811
 3008              	.LVL314:
4812
 605:../libBMP280/src/bmp280.c ****         }
4813
 3009              		.loc 1 605 50 view .LVU839
4814
 3010 01f6 0246     		mov	r2, r0
4815
 3011 01f8 0B46     		mov	r3, r1
4816
 3012 01fa 4046     		mov	r0, r8
4817
 3013 01fc 4946     		mov	r1, r9
4818
 3014 01fe FFF7FEFF 		bl	__aeabi_dadd
4819
 3015              	.LVL315:
4820
 605:../libBMP280/src/bmp280.c ****         }
4821
 3016              		.loc 1 605 87 view .LVU840
4822
 3017 0202 0022     		movs	r2, #0
4823
 3018 0204 134B     		ldr	r3, .L175+36
4824
 3019 0206 FFF7FEFF 		bl	__aeabi_dmul
4825
 3020              	.LVL316:
4826
 605:../libBMP280/src/bmp280.c ****         }
4827
 3021              		.loc 1 605 35 view .LVU841
4828
 3022 020a 0246     		mov	r2, r0
4829
 3023 020c 0B46     		mov	r3, r1
4830
 3024 020e 3046     		mov	r0, r6
4831
 3025 0210 3946     		mov	r1, r7
4832
 3026 0212 FFF7FEFF 		bl	__aeabi_dadd
4833
 3027              	.LVL317:
4834
 605:../libBMP280/src/bmp280.c ****         }
4835
 3028              		.loc 1 605 23 view .LVU842
4836
 3029 0216 C5E90001 		strd	r0, [r5]
4837
 3030              	.L170:
4838
 3031              	.LVL318:
4839
 614:../libBMP280/src/bmp280.c **** }
4840
 3032              		.loc 1 614 5 is_stmt 1 view .LVU843
4841
 615:../libBMP280/src/bmp280.c **** 
4842
 3033              		.loc 1 615 1 is_stmt 0 view .LVU844
4843
 3034 021a 5846     		mov	r0, fp
4844
 3035 021c 03B0     		add	sp, sp, #12
4845
 3036              	.LCFI50:
4846
 3037              		.cfi_remember_state
4847
 3038              		.cfi_def_cfa_offset 36
4848
 3039              		@ sp needed
4849
 3040 021e BDE8F08F 		pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
4850
 3041              	.LVL319:
4851
 3042              	.L171:
4852
 3043              	.LCFI51:
4853
 3044              		.cfi_restore_state
4854
 609:../libBMP280/src/bmp280.c ****             rslt = BMP280_E_DOUBLE_COMP_PRESS;
4855
 3045              		.loc 1 609 13 is_stmt 1 view .LVU845
4856
 609:../libBMP280/src/bmp280.c ****             rslt = BMP280_E_DOUBLE_COMP_PRESS;
4857
 3046              		.loc 1 609 23 is_stmt 0 view .LVU846
4858
 3047 0222 0022     		movs	r2, #0
4859
 3048 0224 0023     		movs	r3, #0
4860
 3049 0226 C5E90023 		strd	r2, [r5]
19 mjames 4861
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 82
16 mjames 4862
 
4863
 
4864
 610:../libBMP280/src/bmp280.c ****         }
4865
 3050              		.loc 1 610 13 is_stmt 1 view .LVU847
4866
 3051              	.LVL320:
4867
 610:../libBMP280/src/bmp280.c ****         }
4868
 3052              		.loc 1 610 18 is_stmt 0 view .LVU848
4869
 3053 022a 6FF0110B 		mvn	fp, #17
4870
 3054 022e F4E7     		b	.L170
4871
 3055              	.L176:
4872
 3056              		.align	3
4873
 3057              	.L175:
4874
 3058 0230 00000000 		.word	0
4875
 3059 0234 006AB840 		.word	1085827584
4876
 3060 0238 0000E03F 		.word	1071644672
4877
 3061 023c 0040EF40 		.word	1089421312
4878
 3062 0240 0000D03F 		.word	1070596096
4879
 3063 0244 0000F040 		.word	1089470464
4880
 3064 0248 0000F03F 		.word	1072693248
4881
 3065 024c 00003041 		.word	1093664768
4882
 3066 0250 0000303F 		.word	1060110336
4883
 3067 0254 0000B03F 		.word	1068498944
4884
 3068              		.cfi_endproc
4885
 3069              	.LFE14:
4886
 3071              		.section	.text.bmp280_compute_meas_time,"ax",%progbits
4887
 3072              		.align	1
4888
 3073              		.global	bmp280_compute_meas_time
4889
 3074              		.syntax unified
4890
 3075              		.thumb
4891
 3076              		.thumb_func
4892
 3077              		.fpu softvfp
4893
 3079              	bmp280_compute_meas_time:
4894
 3080              	.LVL321:
4895
 3081              	.LFB15:
4896
 624:../libBMP280/src/bmp280.c ****     uint32_t period = 0;
4897
 3082              		.loc 1 624 1 is_stmt 1 view -0
4898
 3083              		.cfi_startproc
4899
 3084              		@ args = 0, pretend = 0, frame = 0
4900
 3085              		@ frame_needed = 0, uses_anonymous_args = 0
4901
 624:../libBMP280/src/bmp280.c ****     uint32_t period = 0;
4902
 3086              		.loc 1 624 1 is_stmt 0 view .LVU850
4903
 3087 0000 10B5     		push	{r4, lr}
4904
 3088              	.LCFI52:
4905
 3089              		.cfi_def_cfa_offset 8
4906
 3090              		.cfi_offset 4, -8
4907
 3091              		.cfi_offset 14, -4
4908
 3092 0002 0446     		mov	r4, r0
4909
 625:../libBMP280/src/bmp280.c ****     uint32_t t_dur = 0, p_dur = 0, p_startup = 0;
4910
 3093              		.loc 1 625 5 is_stmt 1 view .LVU851
4911
 3094              	.LVL322:
4912
 626:../libBMP280/src/bmp280.c ****     const uint32_t startup = 1000, period_per_osrs = 2000; /* Typical timings in us. Maximum is +15
4913
 3095              		.loc 1 626 5 view .LVU852
4914
 627:../libBMP280/src/bmp280.c ****     int8_t rslt;
4915
 3096              		.loc 1 627 5 view .LVU853
4916
 628:../libBMP280/src/bmp280.c **** 
4917
 3097              		.loc 1 628 5 view .LVU854
4918
 630:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
4919
 3098              		.loc 1 630 5 view .LVU855
4920
 630:../libBMP280/src/bmp280.c ****     if (rslt == BMP280_OK)
19 mjames 4921
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 83
16 mjames 4922
 
4923
 
4924
 3099              		.loc 1 630 12 is_stmt 0 view .LVU856
4925
 3100 0004 FFF7FEFF 		bl	null_ptr_check
4926
 3101              	.LVL323:
4927
 631:../libBMP280/src/bmp280.c ****     {
4928
 3102              		.loc 1 631 5 is_stmt 1 view .LVU857
4929
 631:../libBMP280/src/bmp280.c ****     {
4930
 3103              		.loc 1 631 8 is_stmt 0 view .LVU858
4931
 3104 0008 E8B9     		cbnz	r0, .L180
4932
 633:../libBMP280/src/bmp280.c ****         p_dur = period_per_osrs * ((UINT32_C(1) << dev->conf.os_pres) >> 1);
4933
 3105              		.loc 1 633 9 is_stmt 1 view .LVU859
4934
 633:../libBMP280/src/bmp280.c ****         p_dur = period_per_osrs * ((UINT32_C(1) << dev->conf.os_pres) >> 1);
4935
 3106              		.loc 1 633 61 is_stmt 0 view .LVU860
4936
 3107 000a 94F82C00 		ldrb	r0, [r4, #44]	@ zero_extendqisi2
4937
 3108              	.LVL324:
4938
 633:../libBMP280/src/bmp280.c ****         p_dur = period_per_osrs * ((UINT32_C(1) << dev->conf.os_pres) >> 1);
4939
 3109              		.loc 1 633 49 view .LVU861
4940
 3110 000e 0122     		movs	r2, #1
4941
 3111 0010 02FA00F0 		lsl	r0, r2, r0
4942
 633:../libBMP280/src/bmp280.c ****         p_dur = period_per_osrs * ((UINT32_C(1) << dev->conf.os_pres) >> 1);
4943
 3112              		.loc 1 633 71 view .LVU862
4944
 3113 0014 D040     		lsrs	r0, r0, r2
4945
 633:../libBMP280/src/bmp280.c ****         p_dur = period_per_osrs * ((UINT32_C(1) << dev->conf.os_pres) >> 1);
4946
 3114              		.loc 1 633 15 view .LVU863
4947
 3115 0016 4FF4FA61 		mov	r1, #2000
4948
 3116 001a 01FB00F3 		mul	r3, r1, r0
4949
 3117              	.LVL325:
4950
 634:../libBMP280/src/bmp280.c ****         p_startup = (dev->conf.os_pres) ? 500 : 0;
4951
 3118              		.loc 1 634 9 is_stmt 1 view .LVU864
4952
 634:../libBMP280/src/bmp280.c ****         p_startup = (dev->conf.os_pres) ? 500 : 0;
4953
 3119              		.loc 1 634 61 is_stmt 0 view .LVU865
4954
 3120 001e 94F82D00 		ldrb	r0, [r4, #45]	@ zero_extendqisi2
4955
 634:../libBMP280/src/bmp280.c ****         p_startup = (dev->conf.os_pres) ? 500 : 0;
4956
 3121              		.loc 1 634 49 view .LVU866
4957
 3122 0022 8240     		lsls	r2, r2, r0
4958
 634:../libBMP280/src/bmp280.c ****         p_startup = (dev->conf.os_pres) ? 500 : 0;
4959
 3123              		.loc 1 634 71 view .LVU867
4960
 3124 0024 5208     		lsrs	r2, r2, #1
4961
 634:../libBMP280/src/bmp280.c ****         p_startup = (dev->conf.os_pres) ? 500 : 0;
4962
 3125              		.loc 1 634 15 view .LVU868
4963
 3126 0026 01FB02F2 		mul	r2, r1, r2
4964
 3127              	.LVL326:
4965
 635:../libBMP280/src/bmp280.c **** 
4966
 3128              		.loc 1 635 9 is_stmt 1 view .LVU869
4967
 635:../libBMP280/src/bmp280.c **** 
4968
 3129              		.loc 1 635 47 is_stmt 0 view .LVU870
4969
 3130 002a 50B1     		cbz	r0, .L181
4970
 3131 002c 4FF4FA70 		mov	r0, #500
4971
 3132              	.L179:
4972
 3133              	.LVL327:
4973
 638:../libBMP280/src/bmp280.c ****         period /= 1000; /* Convert to milliseconds */
4974
 3134              		.loc 1 638 9 is_stmt 1 discriminator 4 view .LVU871
4975
 638:../libBMP280/src/bmp280.c ****         period /= 1000; /* Convert to milliseconds */
4976
 3135              		.loc 1 638 34 is_stmt 0 discriminator 4 view .LVU872
4977
 3136 0030 1844     		add	r0, r0, r3
4978
 3137              	.LVL328:
4979
 638:../libBMP280/src/bmp280.c ****         period /= 1000; /* Convert to milliseconds */
4980
 3138              		.loc 1 638 46 discriminator 4 view .LVU873
19 mjames 4981
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 84
16 mjames 4982
 
4983
 
4984
 3139 0032 1044     		add	r0, r0, r2
4985
 638:../libBMP280/src/bmp280.c ****         period /= 1000; /* Convert to milliseconds */
4986
 3140              		.loc 1 638 16 discriminator 4 view .LVU874
4987
 3141 0034 00F2DC50 		addw	r0, r0, #1500
4988
 3142              	.LVL329:
4989
 639:../libBMP280/src/bmp280.c ****     }
4990
 3143              		.loc 1 639 9 is_stmt 1 discriminator 4 view .LVU875
4991
 639:../libBMP280/src/bmp280.c ****     }
4992
 3144              		.loc 1 639 16 is_stmt 0 discriminator 4 view .LVU876
4993
 3145 0038 044B     		ldr	r3, .L183
4994
 3146              	.LVL330:
4995
 639:../libBMP280/src/bmp280.c ****     }
4996
 3147              		.loc 1 639 16 discriminator 4 view .LVU877
4997
 3148 003a A3FB0030 		umull	r3, r0, r3, r0
4998
 3149              	.LVL331:
4999
 639:../libBMP280/src/bmp280.c ****     }
5000
 3150              		.loc 1 639 16 discriminator 4 view .LVU878
5001
 3151 003e 8009     		lsrs	r0, r0, #6
5002
 3152              	.LVL332:
5003
 639:../libBMP280/src/bmp280.c ****     }
5004
 3153              		.loc 1 639 16 discriminator 4 view .LVU879
5005
 3154 0040 02E0     		b	.L178
5006
 3155              	.LVL333:
5007
 3156              	.L181:
5008
 635:../libBMP280/src/bmp280.c **** 
5009
 3157              		.loc 1 635 47 view .LVU880
5010
 3158 0042 0020     		movs	r0, #0
5011
 3159 0044 F4E7     		b	.L179
5012
 3160              	.LVL334:
5013
 3161              	.L180:
5014
 625:../libBMP280/src/bmp280.c ****     uint32_t t_dur = 0, p_dur = 0, p_startup = 0;
5015
 3162              		.loc 1 625 14 view .LVU881
5016
 3163 0046 0020     		movs	r0, #0
5017
 3164              	.LVL335:
5018
 3165              	.L178:
5019
 642:../libBMP280/src/bmp280.c **** }
5020
 3166              		.loc 1 642 5 is_stmt 1 view .LVU882
5021
 643:../libBMP280/src/bmp280.c **** 
5022
 3167              		.loc 1 643 1 is_stmt 0 view .LVU883
5023
 3168 0048 C0B2     		uxtb	r0, r0
5024
 3169              	.LVL336:
5025
 643:../libBMP280/src/bmp280.c **** 
5026
 3170              		.loc 1 643 1 view .LVU884
5027
 3171 004a 10BD     		pop	{r4, pc}
5028
 3172              	.LVL337:
5029
 3173              	.L184:
5030
 643:../libBMP280/src/bmp280.c **** 
5031
 3174              		.loc 1 643 1 view .LVU885
5032
 3175              		.align	2
5033
 3176              	.L183:
5034
 3177 004c D34D6210 		.word	274877907
5035
 3178              		.cfi_endproc
5036
 3179              	.LFE15:
5037
 3181              		.section	.rodata
5038
 3182              		.align	2
5039
 3183              		.set	.LANCHOR0,. + 0
5040
 3184              	.LC0:
19 mjames 5041
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 85
16 mjames 5042
 
5043
 
5044
 3185 0000 F4       		.byte	-12
5045
 3186 0001 F5       		.byte	-11
5046
 3187              		.text
5047
 3188              	.Letext0:
5048
 3189              		.file 2 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
5049
 3190              		.file 3 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
5050
 3191              		.file 4 "../libBMP280/inc/libBMP280/bmp280_defs.h"
19 mjames 5051
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 86
16 mjames 5052
 
5053
 
5054
DEFINED SYMBOLS
5055
                            *ABS*:0000000000000000 bmp280.c
19 mjames 5056
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:16     .text.null_ptr_check:0000000000000000 $t
5057
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:23     .text.null_ptr_check:0000000000000000 null_ptr_check
5058
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:86     .text.interleave_data:0000000000000000 $t
5059
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:92     .text.interleave_data:0000000000000000 interleave_data
5060
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:154    .text.st_check_boundaries:0000000000000000 $t
5061
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:160    .text.st_check_boundaries:0000000000000000 st_check_boundaries
5062
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:218    .text.st_check_boundaries:0000000000000030 $d
5063
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:223    .text.bmp280_get_regs:0000000000000000 $t
5064
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:230    .text.bmp280_get_regs:0000000000000000 bmp280_get_regs
5065
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:313    .text.get_calib_param:0000000000000000 $t
5066
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:319    .text.get_calib_param:0000000000000000 get_calib_param
5067
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:497    .text.bmp280_set_regs:0000000000000000 $t
5068
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:504    .text.bmp280_set_regs:0000000000000000 bmp280_set_regs
5069
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:671    .text.bmp280_soft_reset:0000000000000000 $t
5070
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:678    .text.bmp280_soft_reset:0000000000000000 bmp280_soft_reset
5071
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:752    .text.conf_sensor:0000000000000000 $t
5072
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:758    .text.conf_sensor:0000000000000000 conf_sensor
5073
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:941    .text.conf_sensor:00000000000000ec $d
5074
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:946    .text.bmp280_init:0000000000000000 $t
5075
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:953    .text.bmp280_init:0000000000000000 bmp280_init
5076
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:1094   .text.bmp280_get_config:0000000000000000 $t
5077
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:1101   .text.bmp280_get_config:0000000000000000 bmp280_get_config
5078
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:1212   .text.bmp280_set_config:0000000000000000 $t
5079
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:1219   .text.bmp280_set_config:0000000000000000 bmp280_set_config
5080
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:1249   .text.bmp280_get_status:0000000000000000 $t
5081
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:1256   .text.bmp280_get_status:0000000000000000 bmp280_get_status
5082
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:1340   .text.bmp280_get_power_mode:0000000000000000 $t
5083
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:1347   .text.bmp280_get_power_mode:0000000000000000 bmp280_get_power_mode
5084
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:1426   .text.bmp280_set_power_mode:0000000000000000 $t
5085
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:1433   .text.bmp280_set_power_mode:0000000000000000 bmp280_set_power_mode
5086
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:1487   .text.bmp280_get_uncomp_data:0000000000000000 $t
5087
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:1494   .text.bmp280_get_uncomp_data:0000000000000000 bmp280_get_uncomp_data
5088
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:1615   .text.bmp280_get_comp_temp_32bit:0000000000000000 $t
5089
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:1622   .text.bmp280_get_comp_temp_32bit:0000000000000000 bmp280_get_comp_temp_32bit
5090
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:1771   .text.bmp280_get_comp_pres_32bit:0000000000000000 $t
5091
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:1778   .text.bmp280_get_comp_pres_32bit:0000000000000000 bmp280_get_comp_pres_32bit
5092
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:2085   .text.bmp280_get_comp_pres_64bit:0000000000000000 $t
5093
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:2092   .text.bmp280_get_comp_pres_64bit:0000000000000000 bmp280_get_comp_pres_64bit
5094
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:2452   .text.bmp280_get_comp_pres_64bit:0000000000000268 $d
5095
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:2464   .text.bmp280_get_comp_temp_double:0000000000000000 $t
5096
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:2471   .text.bmp280_get_comp_temp_double:0000000000000000 bmp280_get_comp_temp_double
5097
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:2659   .text.bmp280_get_comp_temp_double:00000000000000ec $d
5098
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:2670   .text.bmp280_get_comp_pres_double:0000000000000000 $t
5099
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:2677   .text.bmp280_get_comp_pres_double:0000000000000000 bmp280_get_comp_pres_double
5100
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:3058   .text.bmp280_get_comp_pres_double:0000000000000230 $d
5101
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:3072   .text.bmp280_compute_meas_time:0000000000000000 $t
5102
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:3079   .text.bmp280_compute_meas_time:0000000000000000 bmp280_compute_meas_time
5103
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:3177   .text.bmp280_compute_meas_time:000000000000004c $d
5104
C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s:3182   .rodata:0000000000000000 $d
16 mjames 5105
 
5106
UNDEFINED SYMBOLS
5107
__aeabi_ldivmod
5108
__aeabi_i2d
5109
__aeabi_dmul
5110
__aeabi_ui2d
19 mjames 5111
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccnAKTXQ.s 			page 87
16 mjames 5112
 
5113
 
5114
__aeabi_dsub
5115
__aeabi_dadd
5116
__aeabi_d2iz
5117
__aeabi_ddiv
5118
__aeabi_dcmpun
5119
__aeabi_dcmpeq