Subversion Repositories dashGPS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
19 mjames 1
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 1
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	"bme280.c"
15
  12              		.text
16
  13              	.Ltext0:
17
  14              		.cfi_sections	.debug_frame
18
  15              		.section	.text.fill_filter_settings,"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              	fill_filter_settings:
26
  24              	.LVL0:
27
  25              	.LFB16:
28
  26              		.file 1 "../libBME280/src/bme280.c"
29
   1:../libBME280/src/bme280.c **** /**
30
   2:../libBME280/src/bme280.c **** * Copyright (c) 2020 Bosch Sensortec GmbH. All rights reserved.
31
   3:../libBME280/src/bme280.c **** *
32
   4:../libBME280/src/bme280.c **** * BSD-3-Clause
33
   5:../libBME280/src/bme280.c **** *
34
   6:../libBME280/src/bme280.c **** * Redistribution and use in source and binary forms, with or without
35
   7:../libBME280/src/bme280.c **** * modification, are permitted provided that the following conditions are met:
36
   8:../libBME280/src/bme280.c **** *
37
   9:../libBME280/src/bme280.c **** * 1. Redistributions of source code must retain the above copyright
38
  10:../libBME280/src/bme280.c **** *    notice, this list of conditions and the following disclaimer.
39
  11:../libBME280/src/bme280.c **** *
40
  12:../libBME280/src/bme280.c **** * 2. Redistributions in binary form must reproduce the above copyright
41
  13:../libBME280/src/bme280.c **** *    notice, this list of conditions and the following disclaimer in the
42
  14:../libBME280/src/bme280.c **** *    documentation and/or other materials provided with the distribution.
43
  15:../libBME280/src/bme280.c **** *
44
  16:../libBME280/src/bme280.c **** * 3. Neither the name of the copyright holder nor the names of its
45
  17:../libBME280/src/bme280.c **** *    contributors may be used to endorse or promote products derived from
46
  18:../libBME280/src/bme280.c **** *    this software without specific prior written permission.
47
  19:../libBME280/src/bme280.c **** *
48
  20:../libBME280/src/bme280.c **** * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
49
  21:../libBME280/src/bme280.c **** * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
50
  22:../libBME280/src/bme280.c **** * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
51
  23:../libBME280/src/bme280.c **** * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
52
  24:../libBME280/src/bme280.c **** * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
53
  25:../libBME280/src/bme280.c **** * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
54
  26:../libBME280/src/bme280.c **** * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
55
  27:../libBME280/src/bme280.c **** * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
56
  28:../libBME280/src/bme280.c **** * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
57
  29:../libBME280/src/bme280.c **** * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
58
  30:../libBME280/src/bme280.c **** * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
59
  31:../libBME280/src/bme280.c **** * POSSIBILITY OF SUCH DAMAGE.
60
  32:../libBME280/src/bme280.c **** *
61
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 2
62
 
63
 
64
  33:../libBME280/src/bme280.c **** * @file       bme280.c
65
  34:../libBME280/src/bme280.c **** * @date       2020-03-28
66
  35:../libBME280/src/bme280.c **** * @version    v3.5.0
67
  36:../libBME280/src/bme280.c **** *
68
  37:../libBME280/src/bme280.c **** */
69
  38:../libBME280/src/bme280.c **** 
70
  39:../libBME280/src/bme280.c **** /*! @file bme280.c
71
  40:../libBME280/src/bme280.c ****  * @brief Sensor driver for BME280 sensor
72
  41:../libBME280/src/bme280.c ****  */
73
  42:../libBME280/src/bme280.c **** #include "libBME280/bme280.h"
74
  43:../libBME280/src/bme280.c **** 
75
  44:../libBME280/src/bme280.c **** /**\name Internal macros */
76
  45:../libBME280/src/bme280.c **** /* To identify osr settings selected by user */
77
  46:../libBME280/src/bme280.c **** #define OVERSAMPLING_SETTINGS    UINT8_C(0x07)
78
  47:../libBME280/src/bme280.c **** 
79
  48:../libBME280/src/bme280.c **** /* To identify filter and standby settings selected by user */
80
  49:../libBME280/src/bme280.c **** #define FILTER_STANDBY_SETTINGS  UINT8_C(0x18)
81
  50:../libBME280/src/bme280.c **** 
82
  51:../libBME280/src/bme280.c **** /*!
83
  52:../libBME280/src/bme280.c ****  * @brief This internal API puts the device to sleep mode.
84
  53:../libBME280/src/bme280.c ****  *
85
  54:../libBME280/src/bme280.c ****  * @param[in] dev : Structure instance of bme280_dev.
86
  55:../libBME280/src/bme280.c ****  *
87
  56:../libBME280/src/bme280.c ****  * @return Result of API execution status.
88
  57:../libBME280/src/bme280.c ****  *
89
  58:../libBME280/src/bme280.c ****  * @retval   0 -> Success.
90
  59:../libBME280/src/bme280.c ****  * @retval > 0 -> Warning.
91
  60:../libBME280/src/bme280.c ****  * @retval < 0 -> Fail.
92
  61:../libBME280/src/bme280.c ****  *
93
  62:../libBME280/src/bme280.c ****  */
94
  63:../libBME280/src/bme280.c **** static int8_t put_device_to_sleep(struct bme280_dev *dev);
95
  64:../libBME280/src/bme280.c **** 
96
  65:../libBME280/src/bme280.c **** /*!
97
  66:../libBME280/src/bme280.c ****  * @brief This internal API writes the power mode in the sensor.
98
  67:../libBME280/src/bme280.c ****  *
99
  68:../libBME280/src/bme280.c ****  * @param[in] dev         : Structure instance of bme280_dev.
100
  69:../libBME280/src/bme280.c ****  * @param[in] sensor_mode : Variable which contains the power mode to be set.
101
  70:../libBME280/src/bme280.c ****  *
102
  71:../libBME280/src/bme280.c ****  * @return Result of API execution status.
103
  72:../libBME280/src/bme280.c ****  *
104
  73:../libBME280/src/bme280.c ****  * @retval   0 -> Success.
105
  74:../libBME280/src/bme280.c ****  * @retval > 0 -> Warning.
106
  75:../libBME280/src/bme280.c ****  * @retval < 0 -> Fail.
107
  76:../libBME280/src/bme280.c ****  *
108
  77:../libBME280/src/bme280.c ****  */
109
  78:../libBME280/src/bme280.c **** static int8_t write_power_mode(uint8_t sensor_mode, struct bme280_dev *dev);
110
  79:../libBME280/src/bme280.c **** 
111
  80:../libBME280/src/bme280.c **** /*!
112
  81:../libBME280/src/bme280.c ****  * @brief This internal API is used to validate the device pointer for
113
  82:../libBME280/src/bme280.c ****  * null conditions.
114
  83:../libBME280/src/bme280.c ****  *
115
  84:../libBME280/src/bme280.c ****  * @param[in] dev : Structure instance of bme280_dev.
116
  85:../libBME280/src/bme280.c ****  *
117
  86:../libBME280/src/bme280.c ****  * @return Result of API execution status
118
  87:../libBME280/src/bme280.c ****  *
119
  88:../libBME280/src/bme280.c ****  * @retval   0 -> Success.
120
  89:../libBME280/src/bme280.c ****  * @retval > 0 -> Warning.
121
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 3
122
 
123
 
124
  90:../libBME280/src/bme280.c ****  * @retval < 0 -> Fail.
125
  91:../libBME280/src/bme280.c ****  *
126
  92:../libBME280/src/bme280.c ****  */
127
  93:../libBME280/src/bme280.c **** static int8_t null_ptr_check(const struct bme280_dev *dev);
128
  94:../libBME280/src/bme280.c **** 
129
  95:../libBME280/src/bme280.c **** /*!
130
  96:../libBME280/src/bme280.c ****  * @brief This internal API interleaves the register address between the
131
  97:../libBME280/src/bme280.c ****  * register data buffer for burst write operation.
132
  98:../libBME280/src/bme280.c ****  *
133
  99:../libBME280/src/bme280.c ****  * @param[in] reg_addr   : Contains the register address array.
134
 100:../libBME280/src/bme280.c ****  * @param[out] temp_buff : Contains the temporary buffer to store the
135
 101:../libBME280/src/bme280.c ****  * register data and register address.
136
 102:../libBME280/src/bme280.c ****  * @param[in] reg_data   : Contains the register data to be written in the
137
 103:../libBME280/src/bme280.c ****  * temporary buffer.
138
 104:../libBME280/src/bme280.c ****  * @param[in] len        : No of bytes of data to be written for burst write.
139
 105:../libBME280/src/bme280.c ****  *
140
 106:../libBME280/src/bme280.c ****  */
141
 107:../libBME280/src/bme280.c **** static void interleave_reg_addr(const uint8_t *reg_addr, uint8_t *temp_buff, const uint8_t *reg_dat
142
 108:../libBME280/src/bme280.c **** 
143
 109:../libBME280/src/bme280.c **** /*!
144
 110:../libBME280/src/bme280.c ****  * @brief This internal API reads the calibration data from the sensor, parse
145
 111:../libBME280/src/bme280.c ****  * it and store in the device structure.
146
 112:../libBME280/src/bme280.c ****  *
147
 113:../libBME280/src/bme280.c ****  * @param[in] dev : Structure instance of bme280_dev.
148
 114:../libBME280/src/bme280.c ****  *
149
 115:../libBME280/src/bme280.c ****  * @return Result of API execution status
150
 116:../libBME280/src/bme280.c ****  *
151
 117:../libBME280/src/bme280.c ****  * @retval   0 -> Success.
152
 118:../libBME280/src/bme280.c ****  * @retval > 0 -> Warning.
153
 119:../libBME280/src/bme280.c ****  * @retval < 0 -> Fail.
154
 120:../libBME280/src/bme280.c ****  *
155
 121:../libBME280/src/bme280.c ****  */
156
 122:../libBME280/src/bme280.c **** static int8_t get_calib_data(struct bme280_dev *dev);
157
 123:../libBME280/src/bme280.c **** 
158
 124:../libBME280/src/bme280.c **** /*!
159
 125:../libBME280/src/bme280.c ****  *  @brief This internal API is used to parse the temperature and
160
 126:../libBME280/src/bme280.c ****  *  pressure calibration data and store it in the device structure.
161
 127:../libBME280/src/bme280.c ****  *
162
 128:../libBME280/src/bme280.c ****  *  @param[out] dev     : Structure instance of bme280_dev to store the calib data.
163
 129:../libBME280/src/bme280.c ****  *  @param[in] reg_data : Contains the calibration data to be parsed.
164
 130:../libBME280/src/bme280.c ****  *
165
 131:../libBME280/src/bme280.c ****  */
166
 132:../libBME280/src/bme280.c **** static void parse_temp_press_calib_data(const uint8_t *reg_data, struct bme280_dev *dev);
167
 133:../libBME280/src/bme280.c **** 
168
 134:../libBME280/src/bme280.c **** /*!
169
 135:../libBME280/src/bme280.c ****  *  @brief This internal API is used to parse the humidity calibration data
170
 136:../libBME280/src/bme280.c ****  *  and store it in device structure.
171
 137:../libBME280/src/bme280.c ****  *
172
 138:../libBME280/src/bme280.c ****  *  @param[out] dev     : Structure instance of bme280_dev to store the calib data.
173
 139:../libBME280/src/bme280.c ****  *  @param[in] reg_data : Contains calibration data to be parsed.
174
 140:../libBME280/src/bme280.c ****  *
175
 141:../libBME280/src/bme280.c ****  */
176
 142:../libBME280/src/bme280.c **** static void parse_humidity_calib_data(const uint8_t *reg_data, struct bme280_dev *dev);
177
 143:../libBME280/src/bme280.c **** 
178
 144:../libBME280/src/bme280.c **** #ifdef BME280_FLOAT_ENABLE
179
 145:../libBME280/src/bme280.c **** 
180
 146:../libBME280/src/bme280.c **** /*!
181
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 4
182
 
183
 
184
 147:../libBME280/src/bme280.c ****  * @brief This internal API is used to compensate the raw pressure data and
185
 148:../libBME280/src/bme280.c ****  * return the compensated pressure data in double data type.
186
 149:../libBME280/src/bme280.c ****  *
187
 150:../libBME280/src/bme280.c ****  * @param[in] uncomp_data : Contains the uncompensated pressure data.
188
 151:../libBME280/src/bme280.c ****  * @param[in] calib_data  : Pointer to the calibration data structure.
189
 152:../libBME280/src/bme280.c ****  *
190
 153:../libBME280/src/bme280.c ****  * @return Compensated pressure data in double.
191
 154:../libBME280/src/bme280.c ****  *
192
 155:../libBME280/src/bme280.c ****  */
193
 156:../libBME280/src/bme280.c **** static double compensate_pressure(const struct bme280_uncomp_data *uncomp_data,
194
 157:../libBME280/src/bme280.c ****                                   const struct bme280_calib_data *calib_data);
195
 158:../libBME280/src/bme280.c **** 
196
 159:../libBME280/src/bme280.c **** /*!
197
 160:../libBME280/src/bme280.c ****  * @brief This internal API is used to compensate the raw humidity data and
198
 161:../libBME280/src/bme280.c ****  * return the compensated humidity data in double data type.
199
 162:../libBME280/src/bme280.c ****  *
200
 163:../libBME280/src/bme280.c ****  * @param[in] uncomp_data : Contains the uncompensated humidity data.
201
 164:../libBME280/src/bme280.c ****  * @param[in] calib_data  : Pointer to the calibration data structure.
202
 165:../libBME280/src/bme280.c ****  *
203
 166:../libBME280/src/bme280.c ****  * @return Compensated humidity data in double.
204
 167:../libBME280/src/bme280.c ****  *
205
 168:../libBME280/src/bme280.c ****  */
206
 169:../libBME280/src/bme280.c **** static double compensate_humidity(const struct bme280_uncomp_data *uncomp_data,
207
 170:../libBME280/src/bme280.c ****                                   const struct bme280_calib_data *calib_data);
208
 171:../libBME280/src/bme280.c **** 
209
 172:../libBME280/src/bme280.c **** /*!
210
 173:../libBME280/src/bme280.c ****  * @brief This internal API is used to compensate the raw temperature data and
211
 174:../libBME280/src/bme280.c ****  * return the compensated temperature data in double data type.
212
 175:../libBME280/src/bme280.c ****  *
213
 176:../libBME280/src/bme280.c ****  * @param[in] uncomp_data : Contains the uncompensated temperature data.
214
 177:../libBME280/src/bme280.c ****  * @param[in] calib_data  : Pointer to calibration data structure.
215
 178:../libBME280/src/bme280.c ****  *
216
 179:../libBME280/src/bme280.c ****  * @return Compensated temperature data in double.
217
 180:../libBME280/src/bme280.c ****  *
218
 181:../libBME280/src/bme280.c ****  */
219
 182:../libBME280/src/bme280.c **** static double compensate_temperature(const struct bme280_uncomp_data *uncomp_data,
220
 183:../libBME280/src/bme280.c ****                                      struct bme280_calib_data *calib_data);
221
 184:../libBME280/src/bme280.c **** 
222
 185:../libBME280/src/bme280.c **** #else
223
 186:../libBME280/src/bme280.c **** 
224
 187:../libBME280/src/bme280.c **** /*!
225
 188:../libBME280/src/bme280.c ****  * @brief This internal API is used to compensate the raw temperature data and
226
 189:../libBME280/src/bme280.c ****  * return the compensated temperature data in integer data type.
227
 190:../libBME280/src/bme280.c ****  *
228
 191:../libBME280/src/bme280.c ****  * @param[in] uncomp_data : Contains the uncompensated temperature data.
229
 192:../libBME280/src/bme280.c ****  * @param[in] calib_data  : Pointer to calibration data structure.
230
 193:../libBME280/src/bme280.c ****  *
231
 194:../libBME280/src/bme280.c ****  * @return Compensated temperature data in integer.
232
 195:../libBME280/src/bme280.c ****  *
233
 196:../libBME280/src/bme280.c ****  */
234
 197:../libBME280/src/bme280.c **** static int32_t compensate_temperature(const struct bme280_uncomp_data *uncomp_data,
235
 198:../libBME280/src/bme280.c ****                                       struct bme280_calib_data *calib_data);
236
 199:../libBME280/src/bme280.c **** 
237
 200:../libBME280/src/bme280.c **** /*!
238
 201:../libBME280/src/bme280.c ****  * @brief This internal API is used to compensate the raw pressure data and
239
 202:../libBME280/src/bme280.c ****  * return the compensated pressure data in integer data type.
240
 203:../libBME280/src/bme280.c ****  *
241
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 5
242
 
243
 
244
 204:../libBME280/src/bme280.c ****  * @param[in] uncomp_data : Contains the uncompensated pressure data.
245
 205:../libBME280/src/bme280.c ****  * @param[in] calib_data  : Pointer to the calibration data structure.
246
 206:../libBME280/src/bme280.c ****  *
247
 207:../libBME280/src/bme280.c ****  * @return Compensated pressure data in integer.
248
 208:../libBME280/src/bme280.c ****  *
249
 209:../libBME280/src/bme280.c ****  */
250
 210:../libBME280/src/bme280.c **** static uint32_t compensate_pressure(const struct bme280_uncomp_data *uncomp_data,
251
 211:../libBME280/src/bme280.c ****                                     const struct bme280_calib_data *calib_data);
252
 212:../libBME280/src/bme280.c **** 
253
 213:../libBME280/src/bme280.c **** /*!
254
 214:../libBME280/src/bme280.c ****  * @brief This internal API is used to compensate the raw humidity data and
255
 215:../libBME280/src/bme280.c ****  * return the compensated humidity data in integer data type.
256
 216:../libBME280/src/bme280.c ****  *
257
 217:../libBME280/src/bme280.c ****  * @param[in] uncomp_data : Contains the uncompensated humidity data.
258
 218:../libBME280/src/bme280.c ****  * @param[in] calib_data  : Pointer to the calibration data structure.
259
 219:../libBME280/src/bme280.c ****  *
260
 220:../libBME280/src/bme280.c ****  * @return Compensated humidity data in integer.
261
 221:../libBME280/src/bme280.c ****  *
262
 222:../libBME280/src/bme280.c ****  */
263
 223:../libBME280/src/bme280.c **** static uint32_t compensate_humidity(const struct bme280_uncomp_data *uncomp_data,
264
 224:../libBME280/src/bme280.c ****                                     const struct bme280_calib_data *calib_data);
265
 225:../libBME280/src/bme280.c **** 
266
 226:../libBME280/src/bme280.c **** #endif
267
 227:../libBME280/src/bme280.c **** 
268
 228:../libBME280/src/bme280.c **** /*!
269
 229:../libBME280/src/bme280.c ****  * @brief This internal API is used to identify the settings which the user
270
 230:../libBME280/src/bme280.c ****  * wants to modify in the sensor.
271
 231:../libBME280/src/bme280.c ****  *
272
 232:../libBME280/src/bme280.c ****  * @param[in] sub_settings     : Contains the settings subset to identify particular
273
 233:../libBME280/src/bme280.c ****  * group of settings which the user is interested to change.
274
 234:../libBME280/src/bme280.c ****  * @param[in] desired_settings : Contains the user specified settings.
275
 235:../libBME280/src/bme280.c ****  *
276
 236:../libBME280/src/bme280.c ****  * @return Indicates whether user is interested to modify the settings which
277
 237:../libBME280/src/bme280.c ****  * are related to sub_settings.
278
 238:../libBME280/src/bme280.c ****  * @return True -> User wants to modify this group of settings
279
 239:../libBME280/src/bme280.c ****  * @return False -> User does not want to modify this group of settings
280
 240:../libBME280/src/bme280.c ****  *
281
 241:../libBME280/src/bme280.c ****  */
282
 242:../libBME280/src/bme280.c **** static uint8_t are_settings_changed(uint8_t sub_settings, uint8_t desired_settings);
283
 243:../libBME280/src/bme280.c **** 
284
 244:../libBME280/src/bme280.c **** /*!
285
 245:../libBME280/src/bme280.c ****  * @brief This API sets the humidity over sampling settings of the sensor.
286
 246:../libBME280/src/bme280.c ****  *
287
 247:../libBME280/src/bme280.c ****  * @param[in] dev      : Structure instance of bme280_dev.
288
 248:../libBME280/src/bme280.c ****  * @param[in] settings : Pointer variable which contains the settings to
289
 249:../libBME280/src/bme280.c ****  * be set in the sensor.
290
 250:../libBME280/src/bme280.c ****  *
291
 251:../libBME280/src/bme280.c ****  * @return Result of API execution status
292
 252:../libBME280/src/bme280.c ****  *
293
 253:../libBME280/src/bme280.c ****  * @retval   0 -> Success.
294
 254:../libBME280/src/bme280.c ****  * @retval > 0 -> Warning.
295
 255:../libBME280/src/bme280.c ****  * @retval < 0 -> Fail.
296
 256:../libBME280/src/bme280.c ****  *
297
 257:../libBME280/src/bme280.c ****  */
298
 258:../libBME280/src/bme280.c **** static int8_t set_osr_humidity_settings(const struct bme280_settings *settings, struct bme280_dev *
299
 259:../libBME280/src/bme280.c **** 
300
 260:../libBME280/src/bme280.c **** /*!
301
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 6
302
 
303
 
304
 261:../libBME280/src/bme280.c ****  * @brief This internal API sets the oversampling settings for pressure,
305
 262:../libBME280/src/bme280.c ****  * temperature and humidity in the sensor.
306
 263:../libBME280/src/bme280.c ****  *
307
 264:../libBME280/src/bme280.c ****  * @param[in] desired_settings : Variable used to select the settings which
308
 265:../libBME280/src/bme280.c ****  * are to be set.
309
 266:../libBME280/src/bme280.c ****  * @param[in] settings         : Pointer variable which contains the settings to
310
 267:../libBME280/src/bme280.c ****  * be set in the sensor.
311
 268:../libBME280/src/bme280.c ****  * @param[in] dev              : Structure instance of bme280_dev.
312
 269:../libBME280/src/bme280.c ****  *
313
 270:../libBME280/src/bme280.c ****  * @return Result of API execution status
314
 271:../libBME280/src/bme280.c ****  *
315
 272:../libBME280/src/bme280.c ****  * @retval   0 -> Success.
316
 273:../libBME280/src/bme280.c ****  * @retval > 0 -> Warning.
317
 274:../libBME280/src/bme280.c ****  * @retval < 0 -> Fail.
318
 275:../libBME280/src/bme280.c ****  *
319
 276:../libBME280/src/bme280.c ****  */
320
 277:../libBME280/src/bme280.c **** static int8_t set_osr_settings(uint8_t desired_settings, const struct bme280_settings *settings,
321
 278:../libBME280/src/bme280.c ****                                struct bme280_dev *dev);
322
 279:../libBME280/src/bme280.c **** 
323
 280:../libBME280/src/bme280.c **** /*!
324
 281:../libBME280/src/bme280.c ****  * @brief This API sets the pressure and/or temperature oversampling settings
325
 282:../libBME280/src/bme280.c ****  * in the sensor according to the settings selected by the user.
326
 283:../libBME280/src/bme280.c ****  *
327
 284:../libBME280/src/bme280.c ****  * @param[in] dev : Structure instance of bme280_dev.
328
 285:../libBME280/src/bme280.c ****  * @param[in] desired_settings: variable to select the pressure and/or
329
 286:../libBME280/src/bme280.c ****  * temperature oversampling settings.
330
 287:../libBME280/src/bme280.c ****  * @param[in] settings : Pointer variable which contains the settings to
331
 288:../libBME280/src/bme280.c ****  * be set in the sensor.
332
 289:../libBME280/src/bme280.c ****  *
333
 290:../libBME280/src/bme280.c ****  * @return Result of API execution status
334
 291:../libBME280/src/bme280.c ****  *
335
 292:../libBME280/src/bme280.c ****  * @retval   0 -> Success.
336
 293:../libBME280/src/bme280.c ****  * @retval > 0 -> Warning.
337
 294:../libBME280/src/bme280.c ****  * @retval < 0 -> Fail.
338
 295:../libBME280/src/bme280.c ****  *
339
 296:../libBME280/src/bme280.c ****  */
340
 297:../libBME280/src/bme280.c **** static int8_t set_osr_press_temp_settings(uint8_t desired_settings,
341
 298:../libBME280/src/bme280.c ****                                           const struct bme280_settings *settings,
342
 299:../libBME280/src/bme280.c ****                                           struct bme280_dev *dev);
343
 300:../libBME280/src/bme280.c **** 
344
 301:../libBME280/src/bme280.c **** /*!
345
 302:../libBME280/src/bme280.c ****  * @brief This internal API fills the pressure oversampling settings provided by
346
 303:../libBME280/src/bme280.c ****  * the user in the data buffer so as to write in the sensor.
347
 304:../libBME280/src/bme280.c ****  *
348
 305:../libBME280/src/bme280.c ****  * @param[in] settings : Pointer variable which contains the settings to
349
 306:../libBME280/src/bme280.c ****  * be set in the sensor.
350
 307:../libBME280/src/bme280.c ****  * @param[out] reg_data : Variable which is filled according to the pressure
351
 308:../libBME280/src/bme280.c ****  * oversampling data provided by the user.
352
 309:../libBME280/src/bme280.c ****  *
353
 310:../libBME280/src/bme280.c ****  */
354
 311:../libBME280/src/bme280.c **** static void fill_osr_press_settings(uint8_t *reg_data, const struct bme280_settings *settings);
355
 312:../libBME280/src/bme280.c **** 
356
 313:../libBME280/src/bme280.c **** /*!
357
 314:../libBME280/src/bme280.c ****  * @brief This internal API fills the temperature oversampling settings provided
358
 315:../libBME280/src/bme280.c ****  * by the user in the data buffer so as to write in the sensor.
359
 316:../libBME280/src/bme280.c ****  *
360
 317:../libBME280/src/bme280.c ****  * @param[in] settings : Pointer variable which contains the settings to
361
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 7
362
 
363
 
364
 318:../libBME280/src/bme280.c ****  * be set in the sensor.
365
 319:../libBME280/src/bme280.c ****  * @param[out] reg_data : Variable which is filled according to the temperature
366
 320:../libBME280/src/bme280.c ****  * oversampling data provided by the user.
367
 321:../libBME280/src/bme280.c ****  *
368
 322:../libBME280/src/bme280.c ****  */
369
 323:../libBME280/src/bme280.c **** static void fill_osr_temp_settings(uint8_t *reg_data, const struct bme280_settings *settings);
370
 324:../libBME280/src/bme280.c **** 
371
 325:../libBME280/src/bme280.c **** /*!
372
 326:../libBME280/src/bme280.c ****  * @brief This internal API sets the filter and/or standby duration settings
373
 327:../libBME280/src/bme280.c ****  * in the sensor according to the settings selected by the user.
374
 328:../libBME280/src/bme280.c ****  *
375
 329:../libBME280/src/bme280.c ****  * @param[in] dev : Structure instance of bme280_dev.
376
 330:../libBME280/src/bme280.c ****  * @param[in] settings : Pointer variable which contains the settings to
377
 331:../libBME280/src/bme280.c ****  * be set in the sensor.
378
 332:../libBME280/src/bme280.c ****  * @param[in] settings : Structure instance of bme280_settings.
379
 333:../libBME280/src/bme280.c ****  *
380
 334:../libBME280/src/bme280.c ****  * @return Result of API execution status
381
 335:../libBME280/src/bme280.c ****  *
382
 336:../libBME280/src/bme280.c ****  * @retval   0 -> Success.
383
 337:../libBME280/src/bme280.c ****  * @retval > 0 -> Warning.
384
 338:../libBME280/src/bme280.c ****  * @retval < 0 -> Fail.
385
 339:../libBME280/src/bme280.c ****  *
386
 340:../libBME280/src/bme280.c ****  */
387
 341:../libBME280/src/bme280.c **** static int8_t set_filter_standby_settings(uint8_t desired_settings,
388
 342:../libBME280/src/bme280.c ****                                           const struct bme280_settings *settings,
389
 343:../libBME280/src/bme280.c ****                                           struct bme280_dev *dev);
390
 344:../libBME280/src/bme280.c **** 
391
 345:../libBME280/src/bme280.c **** /*!
392
 346:../libBME280/src/bme280.c ****  * @brief This internal API fills the filter settings provided by the user
393
 347:../libBME280/src/bme280.c ****  * in the data buffer so as to write in the sensor.
394
 348:../libBME280/src/bme280.c ****  *
395
 349:../libBME280/src/bme280.c ****  * @param[in] settings : Pointer variable which contains the settings to
396
 350:../libBME280/src/bme280.c ****  * be set in the sensor.
397
 351:../libBME280/src/bme280.c ****  * @param[out] reg_data : Variable which is filled according to the filter
398
 352:../libBME280/src/bme280.c ****  * settings data provided by the user.
399
 353:../libBME280/src/bme280.c ****  *
400
 354:../libBME280/src/bme280.c ****  */
401
 355:../libBME280/src/bme280.c **** static void fill_filter_settings(uint8_t *reg_data, const struct bme280_settings *settings);
402
 356:../libBME280/src/bme280.c **** 
403
 357:../libBME280/src/bme280.c **** /*!
404
 358:../libBME280/src/bme280.c ****  * @brief This internal API fills the standby duration settings provided by the
405
 359:../libBME280/src/bme280.c ****  * user in the data buffer so as to write in the sensor.
406
 360:../libBME280/src/bme280.c ****  *
407
 361:../libBME280/src/bme280.c ****  * @param[in] settings : Pointer variable which contains the settings to
408
 362:../libBME280/src/bme280.c ****  * be set in the sensor.
409
 363:../libBME280/src/bme280.c ****  * @param[out] reg_data : Variable which is filled according to the standby
410
 364:../libBME280/src/bme280.c ****  * settings data provided by the user.
411
 365:../libBME280/src/bme280.c ****  *
412
 366:../libBME280/src/bme280.c ****  */
413
 367:../libBME280/src/bme280.c **** static void fill_standby_settings(uint8_t *reg_data, const struct bme280_settings *settings);
414
 368:../libBME280/src/bme280.c **** 
415
 369:../libBME280/src/bme280.c **** /*!
416
 370:../libBME280/src/bme280.c ****  * @brief This internal API parse the oversampling(pressure, temperature
417
 371:../libBME280/src/bme280.c ****  * and humidity), filter and standby duration settings and store in the
418
 372:../libBME280/src/bme280.c ****  * device structure.
419
 373:../libBME280/src/bme280.c ****  *
420
 374:../libBME280/src/bme280.c ****  * @param[in] settings : Pointer variable which contains the settings to
421
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 8
422
 
423
 
424
 375:../libBME280/src/bme280.c ****  * be get in the sensor.
425
 376:../libBME280/src/bme280.c ****  * @param[in] reg_data : Register data to be parsed.
426
 377:../libBME280/src/bme280.c ****  *
427
 378:../libBME280/src/bme280.c ****  */
428
 379:../libBME280/src/bme280.c **** static void parse_device_settings(const uint8_t *reg_data, struct bme280_settings *settings);
429
 380:../libBME280/src/bme280.c **** 
430
 381:../libBME280/src/bme280.c **** /*!
431
 382:../libBME280/src/bme280.c ****  * @brief This internal API reloads the already existing device settings in the
432
 383:../libBME280/src/bme280.c ****  * sensor after soft reset.
433
 384:../libBME280/src/bme280.c ****  *
434
 385:../libBME280/src/bme280.c ****  * @param[in] dev : Structure instance of bme280_dev.
435
 386:../libBME280/src/bme280.c ****  * @param[in] settings : Pointer variable which contains the settings to
436
 387:../libBME280/src/bme280.c ****  * be set in the sensor.
437
 388:../libBME280/src/bme280.c ****  *
438
 389:../libBME280/src/bme280.c ****  * @return Result of API execution status
439
 390:../libBME280/src/bme280.c ****  *
440
 391:../libBME280/src/bme280.c ****  * @retval   0 -> Success.
441
 392:../libBME280/src/bme280.c ****  * @retval > 0 -> Warning.
442
 393:../libBME280/src/bme280.c ****  * @retval < 0 -> Fail.
443
 394:../libBME280/src/bme280.c ****  *
444
 395:../libBME280/src/bme280.c ****  */
445
 396:../libBME280/src/bme280.c **** static int8_t reload_device_settings(const struct bme280_settings *settings, struct bme280_dev *dev
446
 397:../libBME280/src/bme280.c **** 
447
 398:../libBME280/src/bme280.c **** /****************** Global Function Definitions *******************************/
448
 399:../libBME280/src/bme280.c **** 
449
 400:../libBME280/src/bme280.c **** /*!
450
 401:../libBME280/src/bme280.c ****  *  @brief This API is the entry point.
451
 402:../libBME280/src/bme280.c ****  *  It reads the chip-id and calibration data from the sensor.
452
 403:../libBME280/src/bme280.c ****  */
453
 404:../libBME280/src/bme280.c **** int8_t bme280_init(struct bme280_dev *dev)
454
 405:../libBME280/src/bme280.c **** {
455
 406:../libBME280/src/bme280.c ****     int8_t rslt;
456
 407:../libBME280/src/bme280.c **** 
457
 408:../libBME280/src/bme280.c ****     /* chip id read try count */
458
 409:../libBME280/src/bme280.c ****     uint8_t try_count = 5;
459
 410:../libBME280/src/bme280.c ****     uint8_t chip_id = 0;
460
 411:../libBME280/src/bme280.c **** 
461
 412:../libBME280/src/bme280.c ****     /* Check for null pointer in the device structure*/
462
 413:../libBME280/src/bme280.c ****     rslt = null_ptr_check(dev);
463
 414:../libBME280/src/bme280.c **** 
464
 415:../libBME280/src/bme280.c ****     /* Proceed if null check is fine */
465
 416:../libBME280/src/bme280.c ****     if (rslt == BME280_OK)
466
 417:../libBME280/src/bme280.c ****     {
467
 418:../libBME280/src/bme280.c ****         while (try_count)
468
 419:../libBME280/src/bme280.c ****         {
469
 420:../libBME280/src/bme280.c ****             /* Read the chip-id of bme280 sensor */
470
 421:../libBME280/src/bme280.c ****             rslt = bme280_get_regs(BME280_CHIP_ID_ADDR, &chip_id, 1, dev);
471
 422:../libBME280/src/bme280.c **** 
472
 423:../libBME280/src/bme280.c ****             /* Check for chip id validity */
473
 424:../libBME280/src/bme280.c ****             if ((rslt == BME280_OK) && (chip_id == BME280_CHIP_ID))
474
 425:../libBME280/src/bme280.c ****             {
475
 426:../libBME280/src/bme280.c ****                 dev->chip_id = chip_id;
476
 427:../libBME280/src/bme280.c **** 
477
 428:../libBME280/src/bme280.c ****                 /* Reset the sensor */
478
 429:../libBME280/src/bme280.c ****                 rslt = bme280_soft_reset(dev);
479
 430:../libBME280/src/bme280.c **** 
480
 431:../libBME280/src/bme280.c ****                 if (rslt == BME280_OK)
481
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 9
482
 
483
 
484
 432:../libBME280/src/bme280.c ****                 {
485
 433:../libBME280/src/bme280.c ****                     /* Read the calibration data */
486
 434:../libBME280/src/bme280.c ****                     rslt = get_calib_data(dev);
487
 435:../libBME280/src/bme280.c ****                 }
488
 436:../libBME280/src/bme280.c **** 
489
 437:../libBME280/src/bme280.c ****                 break;
490
 438:../libBME280/src/bme280.c ****             }
491
 439:../libBME280/src/bme280.c **** 
492
 440:../libBME280/src/bme280.c ****             /* Wait for 1 ms */
493
 441:../libBME280/src/bme280.c ****             dev->delay_us(1000, dev->intf_ptr);
494
 442:../libBME280/src/bme280.c ****             --try_count;
495
 443:../libBME280/src/bme280.c ****         }
496
 444:../libBME280/src/bme280.c **** 
497
 445:../libBME280/src/bme280.c ****         /* Chip id check failed */
498
 446:../libBME280/src/bme280.c ****         if (!try_count)
499
 447:../libBME280/src/bme280.c ****         {
500
 448:../libBME280/src/bme280.c ****             rslt = BME280_E_DEV_NOT_FOUND;
501
 449:../libBME280/src/bme280.c ****         }
502
 450:../libBME280/src/bme280.c ****     }
503
 451:../libBME280/src/bme280.c **** 
504
 452:../libBME280/src/bme280.c ****     return rslt;
505
 453:../libBME280/src/bme280.c **** }
506
 454:../libBME280/src/bme280.c **** 
507
 455:../libBME280/src/bme280.c **** /*!
508
 456:../libBME280/src/bme280.c ****  * @brief This API reads the data from the given register address of the sensor.
509
 457:../libBME280/src/bme280.c ****  */
510
 458:../libBME280/src/bme280.c **** int8_t bme280_get_regs(uint8_t reg_addr, uint8_t *reg_data, uint16_t len, struct bme280_dev *dev)
511
 459:../libBME280/src/bme280.c **** {
512
 460:../libBME280/src/bme280.c ****     int8_t rslt;
513
 461:../libBME280/src/bme280.c **** 
514
 462:../libBME280/src/bme280.c ****     /* Check for null pointer in the device structure*/
515
 463:../libBME280/src/bme280.c ****     rslt = null_ptr_check(dev);
516
 464:../libBME280/src/bme280.c **** 
517
 465:../libBME280/src/bme280.c ****     /* Proceed if null check is fine */
518
 466:../libBME280/src/bme280.c ****     if ((rslt == BME280_OK) && (reg_data != NULL))
519
 467:../libBME280/src/bme280.c ****     {
520
 468:../libBME280/src/bme280.c ****         /* If interface selected is SPI */
521
 469:../libBME280/src/bme280.c ****         if (dev->intf != BME280_I2C_INTF)
522
 470:../libBME280/src/bme280.c ****         {
523
 471:../libBME280/src/bme280.c ****             reg_addr = reg_addr | 0x80;
524
 472:../libBME280/src/bme280.c ****         }
525
 473:../libBME280/src/bme280.c **** 
526
 474:../libBME280/src/bme280.c ****         /* Read the data  */
527
 475:../libBME280/src/bme280.c ****         dev->intf_rslt = dev->read(reg_addr, reg_data, len, dev->intf_ptr);
528
 476:../libBME280/src/bme280.c **** 
529
 477:../libBME280/src/bme280.c ****         /* Check for communication error */
530
 478:../libBME280/src/bme280.c ****         if (dev->intf_rslt != BME280_INTF_RET_SUCCESS)
531
 479:../libBME280/src/bme280.c ****         {
532
 480:../libBME280/src/bme280.c ****             rslt = BME280_E_COMM_FAIL;
533
 481:../libBME280/src/bme280.c ****         }
534
 482:../libBME280/src/bme280.c ****     }
535
 483:../libBME280/src/bme280.c ****     else
536
 484:../libBME280/src/bme280.c ****     {
537
 485:../libBME280/src/bme280.c ****         rslt = BME280_E_NULL_PTR;
538
 486:../libBME280/src/bme280.c ****     }
539
 487:../libBME280/src/bme280.c **** 
540
 488:../libBME280/src/bme280.c ****     return rslt;
541
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 10
542
 
543
 
544
 489:../libBME280/src/bme280.c **** }
545
 490:../libBME280/src/bme280.c **** 
546
 491:../libBME280/src/bme280.c **** /*!
547
 492:../libBME280/src/bme280.c ****  * @brief This API writes the given data to the register address
548
 493:../libBME280/src/bme280.c ****  * of the sensor.
549
 494:../libBME280/src/bme280.c ****  */
550
 495:../libBME280/src/bme280.c **** int8_t bme280_set_regs(uint8_t *reg_addr, const uint8_t *reg_data, uint8_t len, struct bme280_dev *
551
 496:../libBME280/src/bme280.c **** {
552
 497:../libBME280/src/bme280.c ****     int8_t rslt;
553
 498:../libBME280/src/bme280.c ****     uint8_t temp_buff[20]; /* Typically not to write more than 10 registers */
554
 499:../libBME280/src/bme280.c **** 
555
 500:../libBME280/src/bme280.c ****     if (len > 10)
556
 501:../libBME280/src/bme280.c ****     {
557
 502:../libBME280/src/bme280.c ****         len = 10;
558
 503:../libBME280/src/bme280.c ****     }
559
 504:../libBME280/src/bme280.c **** 
560
 505:../libBME280/src/bme280.c ****     uint16_t temp_len;
561
 506:../libBME280/src/bme280.c ****     uint8_t reg_addr_cnt;
562
 507:../libBME280/src/bme280.c **** 
563
 508:../libBME280/src/bme280.c ****     /* Check for null pointer in the device structure*/
564
 509:../libBME280/src/bme280.c ****     rslt = null_ptr_check(dev);
565
 510:../libBME280/src/bme280.c **** 
566
 511:../libBME280/src/bme280.c ****     /* Check for arguments validity */
567
 512:../libBME280/src/bme280.c ****     if ((rslt == BME280_OK) && (reg_addr != NULL) && (reg_data != NULL))
568
 513:../libBME280/src/bme280.c ****     {
569
 514:../libBME280/src/bme280.c ****         if (len != 0)
570
 515:../libBME280/src/bme280.c ****         {
571
 516:../libBME280/src/bme280.c ****             temp_buff[0] = reg_data[0];
572
 517:../libBME280/src/bme280.c **** 
573
 518:../libBME280/src/bme280.c ****             /* If interface selected is SPI */
574
 519:../libBME280/src/bme280.c ****             if (dev->intf != BME280_I2C_INTF)
575
 520:../libBME280/src/bme280.c ****             {
576
 521:../libBME280/src/bme280.c ****                 for (reg_addr_cnt = 0; reg_addr_cnt < len; reg_addr_cnt++)
577
 522:../libBME280/src/bme280.c ****                 {
578
 523:../libBME280/src/bme280.c ****                     reg_addr[reg_addr_cnt] = reg_addr[reg_addr_cnt] & 0x7F;
579
 524:../libBME280/src/bme280.c ****                 }
580
 525:../libBME280/src/bme280.c ****             }
581
 526:../libBME280/src/bme280.c **** 
582
 527:../libBME280/src/bme280.c ****             /* Burst write mode */
583
 528:../libBME280/src/bme280.c ****             if (len > 1)
584
 529:../libBME280/src/bme280.c ****             {
585
 530:../libBME280/src/bme280.c ****                 /* Interleave register address w.r.t data for
586
 531:../libBME280/src/bme280.c ****                  * burst write
587
 532:../libBME280/src/bme280.c ****                  */
588
 533:../libBME280/src/bme280.c ****                 interleave_reg_addr(reg_addr, temp_buff, reg_data, len);
589
 534:../libBME280/src/bme280.c ****                 temp_len = ((len * 2) - 1);
590
 535:../libBME280/src/bme280.c ****             }
591
 536:../libBME280/src/bme280.c ****             else
592
 537:../libBME280/src/bme280.c ****             {
593
 538:../libBME280/src/bme280.c ****                 temp_len = len;
594
 539:../libBME280/src/bme280.c ****             }
595
 540:../libBME280/src/bme280.c **** 
596
 541:../libBME280/src/bme280.c ****             dev->intf_rslt = dev->write(reg_addr[0], temp_buff, temp_len, dev->intf_ptr);
597
 542:../libBME280/src/bme280.c **** 
598
 543:../libBME280/src/bme280.c ****             /* Check for communication error */
599
 544:../libBME280/src/bme280.c ****             if (dev->intf_rslt != BME280_INTF_RET_SUCCESS)
600
 545:../libBME280/src/bme280.c ****             {
601
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 11
602
 
603
 
604
 546:../libBME280/src/bme280.c ****                 rslt = BME280_E_COMM_FAIL;
605
 547:../libBME280/src/bme280.c ****             }
606
 548:../libBME280/src/bme280.c ****         }
607
 549:../libBME280/src/bme280.c ****         else
608
 550:../libBME280/src/bme280.c ****         {
609
 551:../libBME280/src/bme280.c ****             rslt = BME280_E_INVALID_LEN;
610
 552:../libBME280/src/bme280.c ****         }
611
 553:../libBME280/src/bme280.c ****     }
612
 554:../libBME280/src/bme280.c ****     else
613
 555:../libBME280/src/bme280.c ****     {
614
 556:../libBME280/src/bme280.c ****         rslt = BME280_E_NULL_PTR;
615
 557:../libBME280/src/bme280.c ****     }
616
 558:../libBME280/src/bme280.c **** 
617
 559:../libBME280/src/bme280.c ****     return rslt;
618
 560:../libBME280/src/bme280.c **** }
619
 561:../libBME280/src/bme280.c **** 
620
 562:../libBME280/src/bme280.c **** /*!
621
 563:../libBME280/src/bme280.c ****  * @brief This API sets the oversampling, filter and standby duration
622
 564:../libBME280/src/bme280.c ****  * (normal mode) settings in the sensor.
623
 565:../libBME280/src/bme280.c ****  */
624
 566:../libBME280/src/bme280.c **** int8_t bme280_set_sensor_settings(uint8_t desired_settings, struct bme280_dev *dev)
625
 567:../libBME280/src/bme280.c **** {
626
 568:../libBME280/src/bme280.c ****     int8_t rslt;
627
 569:../libBME280/src/bme280.c ****     uint8_t sensor_mode;
628
 570:../libBME280/src/bme280.c **** 
629
 571:../libBME280/src/bme280.c ****     /* Check for null pointer in the device structure*/
630
 572:../libBME280/src/bme280.c ****     rslt = null_ptr_check(dev);
631
 573:../libBME280/src/bme280.c **** 
632
 574:../libBME280/src/bme280.c ****     /* Proceed if null check is fine */
633
 575:../libBME280/src/bme280.c ****     if (rslt == BME280_OK)
634
 576:../libBME280/src/bme280.c ****     {
635
 577:../libBME280/src/bme280.c ****         rslt = bme280_get_sensor_mode(&sensor_mode, dev);
636
 578:../libBME280/src/bme280.c **** 
637
 579:../libBME280/src/bme280.c ****         if ((rslt == BME280_OK) && (sensor_mode != BME280_SLEEP_MODE))
638
 580:../libBME280/src/bme280.c ****         {
639
 581:../libBME280/src/bme280.c ****             rslt = put_device_to_sleep(dev);
640
 582:../libBME280/src/bme280.c ****         }
641
 583:../libBME280/src/bme280.c **** 
642
 584:../libBME280/src/bme280.c ****         if (rslt == BME280_OK)
643
 585:../libBME280/src/bme280.c ****         {
644
 586:../libBME280/src/bme280.c ****             /* Check if user wants to change oversampling
645
 587:../libBME280/src/bme280.c ****              * settings
646
 588:../libBME280/src/bme280.c ****              */
647
 589:../libBME280/src/bme280.c ****             if (are_settings_changed(OVERSAMPLING_SETTINGS, desired_settings))
648
 590:../libBME280/src/bme280.c ****             {
649
 591:../libBME280/src/bme280.c ****                 rslt = set_osr_settings(desired_settings, &dev->settings, dev);
650
 592:../libBME280/src/bme280.c ****             }
651
 593:../libBME280/src/bme280.c **** 
652
 594:../libBME280/src/bme280.c ****             /* Check if user wants to change filter and/or
653
 595:../libBME280/src/bme280.c ****              * standby settings
654
 596:../libBME280/src/bme280.c ****              */
655
 597:../libBME280/src/bme280.c ****             if ((rslt == BME280_OK) && are_settings_changed(FILTER_STANDBY_SETTINGS, desired_settin
656
 598:../libBME280/src/bme280.c ****             {
657
 599:../libBME280/src/bme280.c ****                 rslt = set_filter_standby_settings(desired_settings, &dev->settings, dev);
658
 600:../libBME280/src/bme280.c ****             }
659
 601:../libBME280/src/bme280.c ****         }
660
 602:../libBME280/src/bme280.c ****     }
661
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 12
662
 
663
 
664
 603:../libBME280/src/bme280.c **** 
665
 604:../libBME280/src/bme280.c ****     return rslt;
666
 605:../libBME280/src/bme280.c **** }
667
 606:../libBME280/src/bme280.c **** 
668
 607:../libBME280/src/bme280.c **** /*!
669
 608:../libBME280/src/bme280.c ****  * @brief This API gets the oversampling, filter and standby duration
670
 609:../libBME280/src/bme280.c ****  * (normal mode) settings from the sensor.
671
 610:../libBME280/src/bme280.c ****  */
672
 611:../libBME280/src/bme280.c **** int8_t bme280_get_sensor_settings(struct bme280_dev *dev)
673
 612:../libBME280/src/bme280.c **** {
674
 613:../libBME280/src/bme280.c ****     int8_t rslt;
675
 614:../libBME280/src/bme280.c ****     uint8_t reg_data[4];
676
 615:../libBME280/src/bme280.c **** 
677
 616:../libBME280/src/bme280.c ****     /* Check for null pointer in the device structure*/
678
 617:../libBME280/src/bme280.c ****     rslt = null_ptr_check(dev);
679
 618:../libBME280/src/bme280.c **** 
680
 619:../libBME280/src/bme280.c ****     /* Proceed if null check is fine */
681
 620:../libBME280/src/bme280.c ****     if (rslt == BME280_OK)
682
 621:../libBME280/src/bme280.c ****     {
683
 622:../libBME280/src/bme280.c ****         rslt = bme280_get_regs(BME280_CTRL_HUM_ADDR, reg_data, 4, dev);
684
 623:../libBME280/src/bme280.c **** 
685
 624:../libBME280/src/bme280.c ****         if (rslt == BME280_OK)
686
 625:../libBME280/src/bme280.c ****         {
687
 626:../libBME280/src/bme280.c ****             parse_device_settings(reg_data, &dev->settings);
688
 627:../libBME280/src/bme280.c ****         }
689
 628:../libBME280/src/bme280.c ****     }
690
 629:../libBME280/src/bme280.c **** 
691
 630:../libBME280/src/bme280.c ****     return rslt;
692
 631:../libBME280/src/bme280.c **** }
693
 632:../libBME280/src/bme280.c **** 
694
 633:../libBME280/src/bme280.c **** /*!
695
 634:../libBME280/src/bme280.c ****  * @brief This API sets the power mode of the sensor.
696
 635:../libBME280/src/bme280.c ****  */
697
 636:../libBME280/src/bme280.c **** int8_t bme280_set_sensor_mode(uint8_t sensor_mode, struct bme280_dev *dev)
698
 637:../libBME280/src/bme280.c **** {
699
 638:../libBME280/src/bme280.c ****     int8_t rslt;
700
 639:../libBME280/src/bme280.c ****     uint8_t last_set_mode;
701
 640:../libBME280/src/bme280.c **** 
702
 641:../libBME280/src/bme280.c ****     /* Check for null pointer in the device structure*/
703
 642:../libBME280/src/bme280.c ****     rslt = null_ptr_check(dev);
704
 643:../libBME280/src/bme280.c **** 
705
 644:../libBME280/src/bme280.c ****     if (rslt == BME280_OK)
706
 645:../libBME280/src/bme280.c ****     {
707
 646:../libBME280/src/bme280.c ****         rslt = bme280_get_sensor_mode(&last_set_mode, dev);
708
 647:../libBME280/src/bme280.c **** 
709
 648:../libBME280/src/bme280.c ****         /* If the sensor is not in sleep mode put the device to sleep
710
 649:../libBME280/src/bme280.c ****          * mode
711
 650:../libBME280/src/bme280.c ****          */
712
 651:../libBME280/src/bme280.c ****         if ((rslt == BME280_OK) && (last_set_mode != BME280_SLEEP_MODE))
713
 652:../libBME280/src/bme280.c ****         {
714
 653:../libBME280/src/bme280.c ****             rslt = put_device_to_sleep(dev);
715
 654:../libBME280/src/bme280.c ****         }
716
 655:../libBME280/src/bme280.c **** 
717
 656:../libBME280/src/bme280.c ****         /* Set the power mode */
718
 657:../libBME280/src/bme280.c ****         if (rslt == BME280_OK)
719
 658:../libBME280/src/bme280.c ****         {
720
 659:../libBME280/src/bme280.c ****             rslt = write_power_mode(sensor_mode, dev);
721
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 13
722
 
723
 
724
 660:../libBME280/src/bme280.c ****         }
725
 661:../libBME280/src/bme280.c ****     }
726
 662:../libBME280/src/bme280.c **** 
727
 663:../libBME280/src/bme280.c ****     return rslt;
728
 664:../libBME280/src/bme280.c **** }
729
 665:../libBME280/src/bme280.c **** 
730
 666:../libBME280/src/bme280.c **** /*!
731
 667:../libBME280/src/bme280.c ****  * @brief This API gets the power mode of the sensor.
732
 668:../libBME280/src/bme280.c ****  */
733
 669:../libBME280/src/bme280.c **** int8_t bme280_get_sensor_mode(uint8_t *sensor_mode, struct bme280_dev *dev)
734
 670:../libBME280/src/bme280.c **** {
735
 671:../libBME280/src/bme280.c ****     int8_t rslt;
736
 672:../libBME280/src/bme280.c **** 
737
 673:../libBME280/src/bme280.c ****     /* Check for null pointer in the device structure*/
738
 674:../libBME280/src/bme280.c ****     rslt = null_ptr_check(dev);
739
 675:../libBME280/src/bme280.c **** 
740
 676:../libBME280/src/bme280.c ****     if ((rslt == BME280_OK) && (sensor_mode != NULL))
741
 677:../libBME280/src/bme280.c ****     {
742
 678:../libBME280/src/bme280.c ****         /* Read the power mode register */
743
 679:../libBME280/src/bme280.c ****         rslt = bme280_get_regs(BME280_PWR_CTRL_ADDR, sensor_mode, 1, dev);
744
 680:../libBME280/src/bme280.c **** 
745
 681:../libBME280/src/bme280.c ****         /* Assign the power mode in the device structure */
746
 682:../libBME280/src/bme280.c ****         *sensor_mode = BME280_GET_BITS_POS_0(*sensor_mode, BME280_SENSOR_MODE);
747
 683:../libBME280/src/bme280.c ****     }
748
 684:../libBME280/src/bme280.c ****     else
749
 685:../libBME280/src/bme280.c ****     {
750
 686:../libBME280/src/bme280.c ****         rslt = BME280_E_NULL_PTR;
751
 687:../libBME280/src/bme280.c ****     }
752
 688:../libBME280/src/bme280.c **** 
753
 689:../libBME280/src/bme280.c ****     return rslt;
754
 690:../libBME280/src/bme280.c **** }
755
 691:../libBME280/src/bme280.c **** 
756
 692:../libBME280/src/bme280.c **** /*!
757
 693:../libBME280/src/bme280.c ****  * @brief This API performs the soft reset of the sensor.
758
 694:../libBME280/src/bme280.c ****  */
759
 695:../libBME280/src/bme280.c **** int8_t bme280_soft_reset(struct bme280_dev *dev)
760
 696:../libBME280/src/bme280.c **** {
761
 697:../libBME280/src/bme280.c ****     int8_t rslt;
762
 698:../libBME280/src/bme280.c ****     uint8_t reg_addr = BME280_RESET_ADDR;
763
 699:../libBME280/src/bme280.c ****     uint8_t status_reg = 0;
764
 700:../libBME280/src/bme280.c ****     uint8_t try_run = 5;
765
 701:../libBME280/src/bme280.c **** 
766
 702:../libBME280/src/bme280.c ****     /* 0xB6 is the soft reset command */
767
 703:../libBME280/src/bme280.c ****     uint8_t soft_rst_cmd = BME280_SOFT_RESET_COMMAND;
768
 704:../libBME280/src/bme280.c **** 
769
 705:../libBME280/src/bme280.c ****     /* Check for null pointer in the device structure*/
770
 706:../libBME280/src/bme280.c ****     rslt = null_ptr_check(dev);
771
 707:../libBME280/src/bme280.c **** 
772
 708:../libBME280/src/bme280.c ****     /* Proceed if null check is fine */
773
 709:../libBME280/src/bme280.c ****     if (rslt == BME280_OK)
774
 710:../libBME280/src/bme280.c ****     {
775
 711:../libBME280/src/bme280.c ****         /* Write the soft reset command in the sensor */
776
 712:../libBME280/src/bme280.c ****         rslt = bme280_set_regs(&reg_addr, &soft_rst_cmd, 1, dev);
777
 713:../libBME280/src/bme280.c **** 
778
 714:../libBME280/src/bme280.c ****         if (rslt == BME280_OK)
779
 715:../libBME280/src/bme280.c ****         {
780
 716:../libBME280/src/bme280.c ****             /* If NVM not copied yet, Wait for NVM to copy */
781
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 14
782
 
783
 
784
 717:../libBME280/src/bme280.c ****             do
785
 718:../libBME280/src/bme280.c ****             {
786
 719:../libBME280/src/bme280.c ****                 /* As per data sheet - Table 1, startup time is 2 ms. */
787
 720:../libBME280/src/bme280.c ****                 dev->delay_us(2000, dev->intf_ptr);
788
 721:../libBME280/src/bme280.c ****                 rslt = bme280_get_regs(BME280_STATUS_REG_ADDR, &status_reg, 1, dev);
789
 722:../libBME280/src/bme280.c **** 
790
 723:../libBME280/src/bme280.c ****             } while ((rslt == BME280_OK) && (try_run--) && (status_reg & BME280_STATUS_IM_UPDATE));
791
 724:../libBME280/src/bme280.c **** 
792
 725:../libBME280/src/bme280.c ****             if (status_reg & BME280_STATUS_IM_UPDATE)
793
 726:../libBME280/src/bme280.c ****             {
794
 727:../libBME280/src/bme280.c ****                 rslt = BME280_E_NVM_COPY_FAILED;
795
 728:../libBME280/src/bme280.c ****             }
796
 729:../libBME280/src/bme280.c ****         }
797
 730:../libBME280/src/bme280.c ****     }
798
 731:../libBME280/src/bme280.c **** 
799
 732:../libBME280/src/bme280.c ****     return rslt;
800
 733:../libBME280/src/bme280.c **** }
801
 734:../libBME280/src/bme280.c **** 
802
 735:../libBME280/src/bme280.c **** /*!
803
 736:../libBME280/src/bme280.c ****  * @brief This API reads the pressure, temperature and humidity data from the
804
 737:../libBME280/src/bme280.c ****  * sensor, compensates the data and store it in the bme280_data structure
805
 738:../libBME280/src/bme280.c ****  * instance passed by the user.
806
 739:../libBME280/src/bme280.c ****  */
807
 740:../libBME280/src/bme280.c **** int8_t bme280_get_sensor_data(uint8_t sensor_comp, struct bme280_data *comp_data, struct bme280_dev
808
 741:../libBME280/src/bme280.c **** {
809
 742:../libBME280/src/bme280.c ****     int8_t rslt;
810
 743:../libBME280/src/bme280.c **** 
811
 744:../libBME280/src/bme280.c ****     /* Array to store the pressure, temperature and humidity data read from
812
 745:../libBME280/src/bme280.c ****      * the sensor
813
 746:../libBME280/src/bme280.c ****      */
814
 747:../libBME280/src/bme280.c ****     uint8_t reg_data[BME280_P_T_H_DATA_LEN] = { 0 };
815
 748:../libBME280/src/bme280.c ****     struct bme280_uncomp_data uncomp_data = { 0 };
816
 749:../libBME280/src/bme280.c **** 
817
 750:../libBME280/src/bme280.c ****     /* Check for null pointer in the device structure*/
818
 751:../libBME280/src/bme280.c ****     rslt = null_ptr_check(dev);
819
 752:../libBME280/src/bme280.c **** 
820
 753:../libBME280/src/bme280.c ****     if ((rslt == BME280_OK) && (comp_data != NULL))
821
 754:../libBME280/src/bme280.c ****     {
822
 755:../libBME280/src/bme280.c ****         /* Read the pressure and temperature data from the sensor */
823
 756:../libBME280/src/bme280.c ****         rslt = bme280_get_regs(BME280_DATA_ADDR, reg_data, BME280_P_T_H_DATA_LEN, dev);
824
 757:../libBME280/src/bme280.c **** 
825
 758:../libBME280/src/bme280.c ****         if (rslt == BME280_OK)
826
 759:../libBME280/src/bme280.c ****         {
827
 760:../libBME280/src/bme280.c ****             /* Parse the read data from the sensor */
828
 761:../libBME280/src/bme280.c ****             bme280_parse_sensor_data(reg_data, &uncomp_data);
829
 762:../libBME280/src/bme280.c **** 
830
 763:../libBME280/src/bme280.c ****             /* Compensate the pressure and/or temperature and/or
831
 764:../libBME280/src/bme280.c ****              * humidity data from the sensor
832
 765:../libBME280/src/bme280.c ****              */
833
 766:../libBME280/src/bme280.c ****             rslt = bme280_compensate_data(sensor_comp, &uncomp_data, comp_data, &dev->calib_data);
834
 767:../libBME280/src/bme280.c ****         }
835
 768:../libBME280/src/bme280.c ****     }
836
 769:../libBME280/src/bme280.c ****     else
837
 770:../libBME280/src/bme280.c ****     {
838
 771:../libBME280/src/bme280.c ****         rslt = BME280_E_NULL_PTR;
839
 772:../libBME280/src/bme280.c ****     }
840
 773:../libBME280/src/bme280.c **** 
841
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 15
842
 
843
 
844
 774:../libBME280/src/bme280.c ****     return rslt;
845
 775:../libBME280/src/bme280.c **** }
846
 776:../libBME280/src/bme280.c **** 
847
 777:../libBME280/src/bme280.c **** /*!
848
 778:../libBME280/src/bme280.c ****  *  @brief This API is used to parse the pressure, temperature and
849
 779:../libBME280/src/bme280.c ****  *  humidity data and store it in the bme280_uncomp_data structure instance.
850
 780:../libBME280/src/bme280.c ****  */
851
 781:../libBME280/src/bme280.c **** void bme280_parse_sensor_data(const uint8_t *reg_data, struct bme280_uncomp_data *uncomp_data)
852
 782:../libBME280/src/bme280.c **** {
853
 783:../libBME280/src/bme280.c ****     /* Variables to store the sensor data */
854
 784:../libBME280/src/bme280.c ****     uint32_t data_xlsb;
855
 785:../libBME280/src/bme280.c ****     uint32_t data_lsb;
856
 786:../libBME280/src/bme280.c ****     uint32_t data_msb;
857
 787:../libBME280/src/bme280.c **** 
858
 788:../libBME280/src/bme280.c ****     /* Store the parsed register values for pressure data */
859
 789:../libBME280/src/bme280.c ****     data_msb = (uint32_t)reg_data[0] << 12;
860
 790:../libBME280/src/bme280.c ****     data_lsb = (uint32_t)reg_data[1] << 4;
861
 791:../libBME280/src/bme280.c ****     data_xlsb = (uint32_t)reg_data[2] >> 4;
862
 792:../libBME280/src/bme280.c ****     uncomp_data->pressure = data_msb | data_lsb | data_xlsb;
863
 793:../libBME280/src/bme280.c **** 
864
 794:../libBME280/src/bme280.c ****     /* Store the parsed register values for temperature data */
865
 795:../libBME280/src/bme280.c ****     data_msb = (uint32_t)reg_data[3] << 12;
866
 796:../libBME280/src/bme280.c ****     data_lsb = (uint32_t)reg_data[4] << 4;
867
 797:../libBME280/src/bme280.c ****     data_xlsb = (uint32_t)reg_data[5] >> 4;
868
 798:../libBME280/src/bme280.c ****     uncomp_data->temperature = data_msb | data_lsb | data_xlsb;
869
 799:../libBME280/src/bme280.c **** 
870
 800:../libBME280/src/bme280.c ****     /* Store the parsed register values for humidity data */
871
 801:../libBME280/src/bme280.c ****     data_msb = (uint32_t)reg_data[6] << 8;
872
 802:../libBME280/src/bme280.c ****     data_lsb = (uint32_t)reg_data[7];
873
 803:../libBME280/src/bme280.c ****     uncomp_data->humidity = data_msb | data_lsb;
874
 804:../libBME280/src/bme280.c **** }
875
 805:../libBME280/src/bme280.c **** 
876
 806:../libBME280/src/bme280.c **** /*!
877
 807:../libBME280/src/bme280.c ****  * @brief This API is used to compensate the pressure and/or
878
 808:../libBME280/src/bme280.c ****  * temperature and/or humidity data according to the component selected
879
 809:../libBME280/src/bme280.c ****  * by the user.
880
 810:../libBME280/src/bme280.c ****  */
881
 811:../libBME280/src/bme280.c **** int8_t bme280_compensate_data(uint8_t sensor_comp,
882
 812:../libBME280/src/bme280.c ****                               const struct bme280_uncomp_data *uncomp_data,
883
 813:../libBME280/src/bme280.c ****                               struct bme280_data *comp_data,
884
 814:../libBME280/src/bme280.c ****                               struct bme280_calib_data *calib_data)
885
 815:../libBME280/src/bme280.c **** {
886
 816:../libBME280/src/bme280.c ****     int8_t rslt = BME280_OK;
887
 817:../libBME280/src/bme280.c **** 
888
 818:../libBME280/src/bme280.c ****     if ((uncomp_data != NULL) && (comp_data != NULL) && (calib_data != NULL))
889
 819:../libBME280/src/bme280.c ****     {
890
 820:../libBME280/src/bme280.c ****         /* Initialize to zero */
891
 821:../libBME280/src/bme280.c ****         comp_data->temperature = 0;
892
 822:../libBME280/src/bme280.c ****         comp_data->pressure = 0;
893
 823:../libBME280/src/bme280.c ****         comp_data->humidity = 0;
894
 824:../libBME280/src/bme280.c **** 
895
 825:../libBME280/src/bme280.c ****         /* If pressure or temperature component is selected */
896
 826:../libBME280/src/bme280.c ****         if (sensor_comp & (BME280_PRESS | BME280_TEMP | BME280_HUM))
897
 827:../libBME280/src/bme280.c ****         {
898
 828:../libBME280/src/bme280.c ****             /* Compensate the temperature data */
899
 829:../libBME280/src/bme280.c ****             comp_data->temperature = compensate_temperature(uncomp_data, calib_data);
900
 830:../libBME280/src/bme280.c ****         }
901
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 16
902
 
903
 
904
 831:../libBME280/src/bme280.c **** 
905
 832:../libBME280/src/bme280.c ****         if (sensor_comp & BME280_PRESS)
906
 833:../libBME280/src/bme280.c ****         {
907
 834:../libBME280/src/bme280.c ****             /* Compensate the pressure data */
908
 835:../libBME280/src/bme280.c ****             comp_data->pressure = compensate_pressure(uncomp_data, calib_data);
909
 836:../libBME280/src/bme280.c ****         }
910
 837:../libBME280/src/bme280.c **** 
911
 838:../libBME280/src/bme280.c ****         if (sensor_comp & BME280_HUM)
912
 839:../libBME280/src/bme280.c ****         {
913
 840:../libBME280/src/bme280.c ****             /* Compensate the humidity data */
914
 841:../libBME280/src/bme280.c ****             comp_data->humidity = compensate_humidity(uncomp_data, calib_data);
915
 842:../libBME280/src/bme280.c ****         }
916
 843:../libBME280/src/bme280.c ****     }
917
 844:../libBME280/src/bme280.c ****     else
918
 845:../libBME280/src/bme280.c ****     {
919
 846:../libBME280/src/bme280.c ****         rslt = BME280_E_NULL_PTR;
920
 847:../libBME280/src/bme280.c ****     }
921
 848:../libBME280/src/bme280.c **** 
922
 849:../libBME280/src/bme280.c ****     return rslt;
923
 850:../libBME280/src/bme280.c **** }
924
 851:../libBME280/src/bme280.c **** 
925
 852:../libBME280/src/bme280.c **** /*!
926
 853:../libBME280/src/bme280.c ****  * @brief This API is used to calculate the maximum delay in milliseconds required for the
927
 854:../libBME280/src/bme280.c ****  * temperature/pressure/humidity(which ever at enabled) measurement to complete.
928
 855:../libBME280/src/bme280.c ****  */
929
 856:../libBME280/src/bme280.c **** uint32_t bme280_cal_meas_delay(const struct bme280_settings *settings)
930
 857:../libBME280/src/bme280.c **** {
931
 858:../libBME280/src/bme280.c ****     uint32_t max_delay;
932
 859:../libBME280/src/bme280.c ****     uint8_t temp_osr;
933
 860:../libBME280/src/bme280.c ****     uint8_t pres_osr;
934
 861:../libBME280/src/bme280.c ****     uint8_t hum_osr;
935
 862:../libBME280/src/bme280.c **** 
936
 863:../libBME280/src/bme280.c ****     /*Array to map OSR config register value to actual OSR */
937
 864:../libBME280/src/bme280.c ****     uint8_t osr_sett_to_act_osr[] = { 0, 1, 2, 4, 8, 16 };
938
 865:../libBME280/src/bme280.c **** 
939
 866:../libBME280/src/bme280.c ****     /* Mapping osr settings to the actual osr values e.g. 0b101 -> osr X16  */
940
 867:../libBME280/src/bme280.c ****     if (settings->osr_t <= 5)
941
 868:../libBME280/src/bme280.c ****     {
942
 869:../libBME280/src/bme280.c ****         temp_osr = osr_sett_to_act_osr[settings->osr_t];
943
 870:../libBME280/src/bme280.c ****     }
944
 871:../libBME280/src/bme280.c ****     else
945
 872:../libBME280/src/bme280.c ****     {
946
 873:../libBME280/src/bme280.c ****         temp_osr = 16;
947
 874:../libBME280/src/bme280.c ****     }
948
 875:../libBME280/src/bme280.c **** 
949
 876:../libBME280/src/bme280.c ****     if (settings->osr_p <= 5)
950
 877:../libBME280/src/bme280.c ****     {
951
 878:../libBME280/src/bme280.c ****         pres_osr = osr_sett_to_act_osr[settings->osr_p];
952
 879:../libBME280/src/bme280.c ****     }
953
 880:../libBME280/src/bme280.c ****     else
954
 881:../libBME280/src/bme280.c ****     {
955
 882:../libBME280/src/bme280.c ****         pres_osr = 16;
956
 883:../libBME280/src/bme280.c ****     }
957
 884:../libBME280/src/bme280.c **** 
958
 885:../libBME280/src/bme280.c ****     if (settings->osr_h <= 5)
959
 886:../libBME280/src/bme280.c ****     {
960
 887:../libBME280/src/bme280.c ****         hum_osr = osr_sett_to_act_osr[settings->osr_h];
961
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 17
962
 
963
 
964
 888:../libBME280/src/bme280.c ****     }
965
 889:../libBME280/src/bme280.c ****     else
966
 890:../libBME280/src/bme280.c ****     {
967
 891:../libBME280/src/bme280.c ****         hum_osr = 16;
968
 892:../libBME280/src/bme280.c ****     }
969
 893:../libBME280/src/bme280.c **** 
970
 894:../libBME280/src/bme280.c ****     max_delay =
971
 895:../libBME280/src/bme280.c ****         (uint32_t)((BME280_MEAS_OFFSET + (BME280_MEAS_DUR * temp_osr) +
972
 896:../libBME280/src/bme280.c ****                     ((BME280_MEAS_DUR * pres_osr) + BME280_PRES_HUM_MEAS_OFFSET) +
973
 897:../libBME280/src/bme280.c ****                     ((BME280_MEAS_DUR * hum_osr) + BME280_PRES_HUM_MEAS_OFFSET)) / BME280_MEAS_SCAL
974
 898:../libBME280/src/bme280.c **** 
975
 899:../libBME280/src/bme280.c ****     return max_delay;
976
 900:../libBME280/src/bme280.c **** }
977
 901:../libBME280/src/bme280.c **** 
978
 902:../libBME280/src/bme280.c **** /*!
979
 903:../libBME280/src/bme280.c ****  * @brief This internal API sets the oversampling settings for pressure,
980
 904:../libBME280/src/bme280.c ****  * temperature and humidity in the sensor.
981
 905:../libBME280/src/bme280.c ****  */
982
 906:../libBME280/src/bme280.c **** static int8_t set_osr_settings(uint8_t desired_settings, const struct bme280_settings *settings, st
983
 907:../libBME280/src/bme280.c **** {
984
 908:../libBME280/src/bme280.c ****     int8_t rslt = BME280_W_INVALID_OSR_MACRO;
985
 909:../libBME280/src/bme280.c **** 
986
 910:../libBME280/src/bme280.c ****     if (desired_settings & BME280_OSR_HUM_SEL)
987
 911:../libBME280/src/bme280.c ****     {
988
 912:../libBME280/src/bme280.c ****         rslt = set_osr_humidity_settings(settings, dev);
989
 913:../libBME280/src/bme280.c ****     }
990
 914:../libBME280/src/bme280.c **** 
991
 915:../libBME280/src/bme280.c ****     if (desired_settings & (BME280_OSR_PRESS_SEL | BME280_OSR_TEMP_SEL))
992
 916:../libBME280/src/bme280.c ****     {
993
 917:../libBME280/src/bme280.c ****         rslt = set_osr_press_temp_settings(desired_settings, settings, dev);
994
 918:../libBME280/src/bme280.c ****     }
995
 919:../libBME280/src/bme280.c **** 
996
 920:../libBME280/src/bme280.c ****     return rslt;
997
 921:../libBME280/src/bme280.c **** }
998
 922:../libBME280/src/bme280.c **** 
999
 923:../libBME280/src/bme280.c **** /*!
1000
 924:../libBME280/src/bme280.c ****  * @brief This API sets the humidity oversampling settings of the sensor.
1001
 925:../libBME280/src/bme280.c ****  */
1002
 926:../libBME280/src/bme280.c **** static int8_t set_osr_humidity_settings(const struct bme280_settings *settings, struct bme280_dev *
1003
 927:../libBME280/src/bme280.c **** {
1004
 928:../libBME280/src/bme280.c ****     int8_t rslt;
1005
 929:../libBME280/src/bme280.c ****     uint8_t ctrl_hum;
1006
 930:../libBME280/src/bme280.c ****     uint8_t ctrl_meas;
1007
 931:../libBME280/src/bme280.c ****     uint8_t reg_addr = BME280_CTRL_HUM_ADDR;
1008
 932:../libBME280/src/bme280.c **** 
1009
 933:../libBME280/src/bme280.c ****     ctrl_hum = settings->osr_h & BME280_CTRL_HUM_MSK;
1010
 934:../libBME280/src/bme280.c **** 
1011
 935:../libBME280/src/bme280.c ****     /* Write the humidity control value in the register */
1012
 936:../libBME280/src/bme280.c ****     rslt = bme280_set_regs(&reg_addr, &ctrl_hum, 1, dev);
1013
 937:../libBME280/src/bme280.c **** 
1014
 938:../libBME280/src/bme280.c ****     /* Humidity related changes will be only effective after a
1015
 939:../libBME280/src/bme280.c ****      * write operation to ctrl_meas register
1016
 940:../libBME280/src/bme280.c ****      */
1017
 941:../libBME280/src/bme280.c ****     if (rslt == BME280_OK)
1018
 942:../libBME280/src/bme280.c ****     {
1019
 943:../libBME280/src/bme280.c ****         reg_addr = BME280_CTRL_MEAS_ADDR;
1020
 944:../libBME280/src/bme280.c ****         rslt = bme280_get_regs(reg_addr, &ctrl_meas, 1, dev);
1021
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 18
1022
 
1023
 
1024
 945:../libBME280/src/bme280.c **** 
1025
 946:../libBME280/src/bme280.c ****         if (rslt == BME280_OK)
1026
 947:../libBME280/src/bme280.c ****         {
1027
 948:../libBME280/src/bme280.c ****             rslt = bme280_set_regs(&reg_addr, &ctrl_meas, 1, dev);
1028
 949:../libBME280/src/bme280.c ****         }
1029
 950:../libBME280/src/bme280.c ****     }
1030
 951:../libBME280/src/bme280.c **** 
1031
 952:../libBME280/src/bme280.c ****     return rslt;
1032
 953:../libBME280/src/bme280.c **** }
1033
 954:../libBME280/src/bme280.c **** 
1034
 955:../libBME280/src/bme280.c **** /*!
1035
 956:../libBME280/src/bme280.c ****  * @brief This API sets the pressure and/or temperature oversampling settings
1036
 957:../libBME280/src/bme280.c ****  * in the sensor according to the settings selected by the user.
1037
 958:../libBME280/src/bme280.c ****  */
1038
 959:../libBME280/src/bme280.c **** static int8_t set_osr_press_temp_settings(uint8_t desired_settings,
1039
 960:../libBME280/src/bme280.c ****                                           const struct bme280_settings *settings,
1040
 961:../libBME280/src/bme280.c ****                                           struct bme280_dev *dev)
1041
 962:../libBME280/src/bme280.c **** {
1042
 963:../libBME280/src/bme280.c ****     int8_t rslt;
1043
 964:../libBME280/src/bme280.c ****     uint8_t reg_addr = BME280_CTRL_MEAS_ADDR;
1044
 965:../libBME280/src/bme280.c ****     uint8_t reg_data;
1045
 966:../libBME280/src/bme280.c **** 
1046
 967:../libBME280/src/bme280.c ****     rslt = bme280_get_regs(reg_addr, &reg_data, 1, dev);
1047
 968:../libBME280/src/bme280.c **** 
1048
 969:../libBME280/src/bme280.c ****     if (rslt == BME280_OK)
1049
 970:../libBME280/src/bme280.c ****     {
1050
 971:../libBME280/src/bme280.c ****         if (desired_settings & BME280_OSR_PRESS_SEL)
1051
 972:../libBME280/src/bme280.c ****         {
1052
 973:../libBME280/src/bme280.c ****             fill_osr_press_settings(&reg_data, settings);
1053
 974:../libBME280/src/bme280.c ****         }
1054
 975:../libBME280/src/bme280.c **** 
1055
 976:../libBME280/src/bme280.c ****         if (desired_settings & BME280_OSR_TEMP_SEL)
1056
 977:../libBME280/src/bme280.c ****         {
1057
 978:../libBME280/src/bme280.c ****             fill_osr_temp_settings(&reg_data, settings);
1058
 979:../libBME280/src/bme280.c ****         }
1059
 980:../libBME280/src/bme280.c **** 
1060
 981:../libBME280/src/bme280.c ****         /* Write the oversampling settings in the register */
1061
 982:../libBME280/src/bme280.c ****         rslt = bme280_set_regs(&reg_addr, &reg_data, 1, dev);
1062
 983:../libBME280/src/bme280.c ****     }
1063
 984:../libBME280/src/bme280.c **** 
1064
 985:../libBME280/src/bme280.c ****     return rslt;
1065
 986:../libBME280/src/bme280.c **** }
1066
 987:../libBME280/src/bme280.c **** 
1067
 988:../libBME280/src/bme280.c **** /*!
1068
 989:../libBME280/src/bme280.c ****  * @brief This internal API sets the filter and/or standby duration settings
1069
 990:../libBME280/src/bme280.c ****  * in the sensor according to the settings selected by the user.
1070
 991:../libBME280/src/bme280.c ****  */
1071
 992:../libBME280/src/bme280.c **** static int8_t set_filter_standby_settings(uint8_t desired_settings,
1072
 993:../libBME280/src/bme280.c ****                                           const struct bme280_settings *settings,
1073
 994:../libBME280/src/bme280.c ****                                           struct bme280_dev *dev)
1074
 995:../libBME280/src/bme280.c **** {
1075
 996:../libBME280/src/bme280.c ****     int8_t rslt;
1076
 997:../libBME280/src/bme280.c ****     uint8_t reg_addr = BME280_CONFIG_ADDR;
1077
 998:../libBME280/src/bme280.c ****     uint8_t reg_data;
1078
 999:../libBME280/src/bme280.c **** 
1079
1000:../libBME280/src/bme280.c ****     rslt = bme280_get_regs(reg_addr, &reg_data, 1, dev);
1080
1001:../libBME280/src/bme280.c **** 
1081
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 19
1082
 
1083
 
1084
1002:../libBME280/src/bme280.c ****     if (rslt == BME280_OK)
1085
1003:../libBME280/src/bme280.c ****     {
1086
1004:../libBME280/src/bme280.c ****         if (desired_settings & BME280_FILTER_SEL)
1087
1005:../libBME280/src/bme280.c ****         {
1088
1006:../libBME280/src/bme280.c ****             fill_filter_settings(&reg_data, settings);
1089
1007:../libBME280/src/bme280.c ****         }
1090
1008:../libBME280/src/bme280.c **** 
1091
1009:../libBME280/src/bme280.c ****         if (desired_settings & BME280_STANDBY_SEL)
1092
1010:../libBME280/src/bme280.c ****         {
1093
1011:../libBME280/src/bme280.c ****             fill_standby_settings(&reg_data, settings);
1094
1012:../libBME280/src/bme280.c ****         }
1095
1013:../libBME280/src/bme280.c **** 
1096
1014:../libBME280/src/bme280.c ****         /* Write the oversampling settings in the register */
1097
1015:../libBME280/src/bme280.c ****         rslt = bme280_set_regs(&reg_addr, &reg_data, 1, dev);
1098
1016:../libBME280/src/bme280.c ****     }
1099
1017:../libBME280/src/bme280.c **** 
1100
1018:../libBME280/src/bme280.c ****     return rslt;
1101
1019:../libBME280/src/bme280.c **** }
1102
1020:../libBME280/src/bme280.c **** 
1103
1021:../libBME280/src/bme280.c **** /*!
1104
1022:../libBME280/src/bme280.c ****  * @brief This internal API fills the filter settings provided by the user
1105
1023:../libBME280/src/bme280.c ****  * in the data buffer so as to write in the sensor.
1106
1024:../libBME280/src/bme280.c ****  */
1107
1025:../libBME280/src/bme280.c **** static void fill_filter_settings(uint8_t *reg_data, const struct bme280_settings *settings)
1108
1026:../libBME280/src/bme280.c **** {
1109
  27              		.loc 1 1026 1 view -0
1110
  28              		.cfi_startproc
1111
  29              		@ args = 0, pretend = 0, frame = 0
1112
  30              		@ frame_needed = 0, uses_anonymous_args = 0
1113
  31              		@ link register save eliminated.
1114
1027:../libBME280/src/bme280.c ****     *reg_data = BME280_SET_BITS(*reg_data, BME280_FILTER, settings->filter);
1115
  32              		.loc 1 1027 5 view .LVU1
1116
  33              		.loc 1 1027 17 is_stmt 0 view .LVU2
1117
  34 0000 90F90030 		ldrsb	r3, [r0]
1118
  35 0004 23F01C03 		bic	r3, r3, #28
1119
  36 0008 CA78     		ldrb	r2, [r1, #3]	@ zero_extendqisi2
1120
  37 000a 9200     		lsls	r2, r2, #2
1121
  38 000c 02F01C02 		and	r2, r2, #28
1122
  39 0010 1343     		orrs	r3, r3, r2
1123
  40              		.loc 1 1027 15 view .LVU3
1124
  41 0012 0370     		strb	r3, [r0]
1125
1028:../libBME280/src/bme280.c **** }
1126
  42              		.loc 1 1028 1 view .LVU4
1127
  43 0014 7047     		bx	lr
1128
  44              		.cfi_endproc
1129
  45              	.LFE16:
1130
  47              		.section	.text.fill_standby_settings,"ax",%progbits
1131
  48              		.align	1
1132
  49              		.syntax unified
1133
  50              		.thumb
1134
  51              		.thumb_func
1135
  52              		.fpu softvfp
1136
  54              	fill_standby_settings:
1137
  55              	.LVL1:
1138
  56              	.LFB17:
1139
1029:../libBME280/src/bme280.c **** 
1140
1030:../libBME280/src/bme280.c **** /*!
1141
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 20
1142
 
1143
 
1144
1031:../libBME280/src/bme280.c ****  * @brief This internal API fills the standby duration settings provided by
1145
1032:../libBME280/src/bme280.c ****  * the user in the data buffer so as to write in the sensor.
1146
1033:../libBME280/src/bme280.c ****  */
1147
1034:../libBME280/src/bme280.c **** static void fill_standby_settings(uint8_t *reg_data, const struct bme280_settings *settings)
1148
1035:../libBME280/src/bme280.c **** {
1149
  57              		.loc 1 1035 1 is_stmt 1 view -0
1150
  58              		.cfi_startproc
1151
  59              		@ args = 0, pretend = 0, frame = 0
1152
  60              		@ frame_needed = 0, uses_anonymous_args = 0
1153
  61              		@ link register save eliminated.
1154
1036:../libBME280/src/bme280.c ****     *reg_data = BME280_SET_BITS(*reg_data, BME280_STANDBY, settings->standby_time);
1155
  62              		.loc 1 1036 5 view .LVU6
1156
  63              		.loc 1 1036 17 is_stmt 0 view .LVU7
1157
  64 0000 90F90030 		ldrsb	r3, [r0]
1158
  65 0004 03F01F03 		and	r3, r3, #31
1159
  66 0008 0A79     		ldrb	r2, [r1, #4]	@ zero_extendqisi2
1160
  67 000a 43EA4213 		orr	r3, r3, r2, lsl #5
1161
  68              		.loc 1 1036 15 view .LVU8
1162
  69 000e 0370     		strb	r3, [r0]
1163
1037:../libBME280/src/bme280.c **** }
1164
  70              		.loc 1 1037 1 view .LVU9
1165
  71 0010 7047     		bx	lr
1166
  72              		.cfi_endproc
1167
  73              	.LFE17:
1168
  75              		.section	.text.fill_osr_press_settings,"ax",%progbits
1169
  76              		.align	1
1170
  77              		.syntax unified
1171
  78              		.thumb
1172
  79              		.thumb_func
1173
  80              		.fpu softvfp
1174
  82              	fill_osr_press_settings:
1175
  83              	.LVL2:
1176
  84              	.LFB18:
1177
1038:../libBME280/src/bme280.c **** 
1178
1039:../libBME280/src/bme280.c **** /*!
1179
1040:../libBME280/src/bme280.c ****  * @brief This internal API fills the pressure oversampling settings provided by
1180
1041:../libBME280/src/bme280.c ****  * the user in the data buffer so as to write in the sensor.
1181
1042:../libBME280/src/bme280.c ****  */
1182
1043:../libBME280/src/bme280.c **** static void fill_osr_press_settings(uint8_t *reg_data, const struct bme280_settings *settings)
1183
1044:../libBME280/src/bme280.c **** {
1184
  85              		.loc 1 1044 1 is_stmt 1 view -0
1185
  86              		.cfi_startproc
1186
  87              		@ args = 0, pretend = 0, frame = 0
1187
  88              		@ frame_needed = 0, uses_anonymous_args = 0
1188
  89              		@ link register save eliminated.
1189
1045:../libBME280/src/bme280.c ****     *reg_data = BME280_SET_BITS(*reg_data, BME280_CTRL_PRESS, settings->osr_p);
1190
  90              		.loc 1 1045 5 view .LVU11
1191
  91              		.loc 1 1045 17 is_stmt 0 view .LVU12
1192
  92 0000 90F90030 		ldrsb	r3, [r0]
1193
  93 0004 23F01C03 		bic	r3, r3, #28
1194
  94 0008 0A78     		ldrb	r2, [r1]	@ zero_extendqisi2
1195
  95 000a 9200     		lsls	r2, r2, #2
1196
  96 000c 02F01C02 		and	r2, r2, #28
1197
  97 0010 1343     		orrs	r3, r3, r2
1198
  98              		.loc 1 1045 15 view .LVU13
1199
  99 0012 0370     		strb	r3, [r0]
1200
1046:../libBME280/src/bme280.c **** }
1201
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 21
1202
 
1203
 
1204
 100              		.loc 1 1046 1 view .LVU14
1205
 101 0014 7047     		bx	lr
1206
 102              		.cfi_endproc
1207
 103              	.LFE18:
1208
 105              		.section	.text.fill_osr_temp_settings,"ax",%progbits
1209
 106              		.align	1
1210
 107              		.syntax unified
1211
 108              		.thumb
1212
 109              		.thumb_func
1213
 110              		.fpu softvfp
1214
 112              	fill_osr_temp_settings:
1215
 113              	.LVL3:
1216
 114              	.LFB19:
1217
1047:../libBME280/src/bme280.c **** 
1218
1048:../libBME280/src/bme280.c **** /*!
1219
1049:../libBME280/src/bme280.c ****  * @brief This internal API fills the temperature oversampling settings
1220
1050:../libBME280/src/bme280.c ****  * provided by the user in the data buffer so as to write in the sensor.
1221
1051:../libBME280/src/bme280.c ****  */
1222
1052:../libBME280/src/bme280.c **** static void fill_osr_temp_settings(uint8_t *reg_data, const struct bme280_settings *settings)
1223
1053:../libBME280/src/bme280.c **** {
1224
 115              		.loc 1 1053 1 is_stmt 1 view -0
1225
 116              		.cfi_startproc
1226
 117              		@ args = 0, pretend = 0, frame = 0
1227
 118              		@ frame_needed = 0, uses_anonymous_args = 0
1228
 119              		@ link register save eliminated.
1229
1054:../libBME280/src/bme280.c ****     *reg_data = BME280_SET_BITS(*reg_data, BME280_CTRL_TEMP, settings->osr_t);
1230
 120              		.loc 1 1054 5 view .LVU16
1231
 121              		.loc 1 1054 17 is_stmt 0 view .LVU17
1232
 122 0000 90F90030 		ldrsb	r3, [r0]
1233
 123 0004 03F01F03 		and	r3, r3, #31
1234
 124 0008 4A78     		ldrb	r2, [r1, #1]	@ zero_extendqisi2
1235
 125 000a 43EA4213 		orr	r3, r3, r2, lsl #5
1236
 126              		.loc 1 1054 15 view .LVU18
1237
 127 000e 0370     		strb	r3, [r0]
1238
1055:../libBME280/src/bme280.c **** }
1239
 128              		.loc 1 1055 1 view .LVU19
1240
 129 0010 7047     		bx	lr
1241
 130              		.cfi_endproc
1242
 131              	.LFE19:
1243
 133              		.section	.text.parse_device_settings,"ax",%progbits
1244
 134              		.align	1
1245
 135              		.syntax unified
1246
 136              		.thumb
1247
 137              		.thumb_func
1248
 138              		.fpu softvfp
1249
 140              	parse_device_settings:
1250
 141              	.LVL4:
1251
 142              	.LFB20:
1252
1056:../libBME280/src/bme280.c **** 
1253
1057:../libBME280/src/bme280.c **** /*!
1254
1058:../libBME280/src/bme280.c ****  * @brief This internal API parse the oversampling(pressure, temperature
1255
1059:../libBME280/src/bme280.c ****  * and humidity), filter and standby duration settings and store in the
1256
1060:../libBME280/src/bme280.c ****  * device structure.
1257
1061:../libBME280/src/bme280.c ****  */
1258
1062:../libBME280/src/bme280.c **** static void parse_device_settings(const uint8_t *reg_data, struct bme280_settings *settings)
1259
1063:../libBME280/src/bme280.c **** {
1260
 143              		.loc 1 1063 1 is_stmt 1 view -0
1261
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 22
1262
 
1263
 
1264
 144              		.cfi_startproc
1265
 145              		@ args = 0, pretend = 0, frame = 0
1266
 146              		@ frame_needed = 0, uses_anonymous_args = 0
1267
 147              		@ link register save eliminated.
1268
1064:../libBME280/src/bme280.c ****     settings->osr_h = BME280_GET_BITS_POS_0(reg_data[0], BME280_CTRL_HUM);
1269
 148              		.loc 1 1064 5 view .LVU21
1270
 149              		.loc 1 1064 23 is_stmt 0 view .LVU22
1271
 150 0000 0378     		ldrb	r3, [r0]	@ zero_extendqisi2
1272
 151 0002 03F00703 		and	r3, r3, #7
1273
 152              		.loc 1 1064 21 view .LVU23
1274
 153 0006 8B70     		strb	r3, [r1, #2]
1275
1065:../libBME280/src/bme280.c ****     settings->osr_p = BME280_GET_BITS(reg_data[2], BME280_CTRL_PRESS);
1276
 154              		.loc 1 1065 5 is_stmt 1 view .LVU24
1277
 155              		.loc 1 1065 23 is_stmt 0 view .LVU25
1278
 156 0008 8378     		ldrb	r3, [r0, #2]	@ zero_extendqisi2
1279
 157 000a C3F38203 		ubfx	r3, r3, #2, #3
1280
 158              		.loc 1 1065 21 view .LVU26
1281
 159 000e 0B70     		strb	r3, [r1]
1282
1066:../libBME280/src/bme280.c ****     settings->osr_t = BME280_GET_BITS(reg_data[2], BME280_CTRL_TEMP);
1283
 160              		.loc 1 1066 5 is_stmt 1 view .LVU27
1284
 161              		.loc 1 1066 23 is_stmt 0 view .LVU28
1285
 162 0010 8378     		ldrb	r3, [r0, #2]	@ zero_extendqisi2
1286
 163 0012 5B09     		lsrs	r3, r3, #5
1287
 164              		.loc 1 1066 21 view .LVU29
1288
 165 0014 4B70     		strb	r3, [r1, #1]
1289
1067:../libBME280/src/bme280.c ****     settings->filter = BME280_GET_BITS(reg_data[3], BME280_FILTER);
1290
 166              		.loc 1 1067 5 is_stmt 1 view .LVU30
1291
 167              		.loc 1 1067 24 is_stmt 0 view .LVU31
1292
 168 0016 C378     		ldrb	r3, [r0, #3]	@ zero_extendqisi2
1293
 169 0018 C3F38203 		ubfx	r3, r3, #2, #3
1294
 170              		.loc 1 1067 22 view .LVU32
1295
 171 001c CB70     		strb	r3, [r1, #3]
1296
1068:../libBME280/src/bme280.c ****     settings->standby_time = BME280_GET_BITS(reg_data[3], BME280_STANDBY);
1297
 172              		.loc 1 1068 5 is_stmt 1 view .LVU33
1298
 173              		.loc 1 1068 30 is_stmt 0 view .LVU34
1299
 174 001e C378     		ldrb	r3, [r0, #3]	@ zero_extendqisi2
1300
 175 0020 5B09     		lsrs	r3, r3, #5
1301
 176              		.loc 1 1068 28 view .LVU35
1302
 177 0022 0B71     		strb	r3, [r1, #4]
1303
1069:../libBME280/src/bme280.c **** }
1304
 178              		.loc 1 1069 1 view .LVU36
1305
 179 0024 7047     		bx	lr
1306
 180              		.cfi_endproc
1307
 181              	.LFE20:
1308
 183              		.global	__aeabi_ui2d
1309
 184              		.global	__aeabi_dmul
1310
 185              		.global	__aeabi_dsub
1311
 186              		.global	__aeabi_i2d
1312
 187              		.global	__aeabi_dadd
1313
 188              		.global	__aeabi_d2iz
1314
 189              		.global	__aeabi_ddiv
1315
 190              		.global	__aeabi_dcmplt
1316
 191              		.global	__aeabi_dcmpgt
1317
 192              		.section	.text.compensate_temperature,"ax",%progbits
1318
 193              		.align	1
1319
 194              		.syntax unified
1320
 195              		.thumb
1321
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 23
1322
 
1323
 
1324
 196              		.thumb_func
1325
 197              		.fpu softvfp
1326
 199              	compensate_temperature:
1327
 200              	.LVL5:
1328
 201              	.LFB24:
1329
1070:../libBME280/src/bme280.c **** 
1330
1071:../libBME280/src/bme280.c **** /*!
1331
1072:../libBME280/src/bme280.c ****  * @brief This internal API writes the power mode in the sensor.
1332
1073:../libBME280/src/bme280.c ****  */
1333
1074:../libBME280/src/bme280.c **** static int8_t write_power_mode(uint8_t sensor_mode, struct bme280_dev *dev)
1334
1075:../libBME280/src/bme280.c **** {
1335
1076:../libBME280/src/bme280.c ****     int8_t rslt;
1336
1077:../libBME280/src/bme280.c ****     uint8_t reg_addr = BME280_PWR_CTRL_ADDR;
1337
1078:../libBME280/src/bme280.c **** 
1338
1079:../libBME280/src/bme280.c ****     /* Variable to store the value read from power mode register */
1339
1080:../libBME280/src/bme280.c ****     uint8_t sensor_mode_reg_val;
1340
1081:../libBME280/src/bme280.c **** 
1341
1082:../libBME280/src/bme280.c ****     /* Read the power mode register */
1342
1083:../libBME280/src/bme280.c ****     rslt = bme280_get_regs(reg_addr, &sensor_mode_reg_val, 1, dev);
1343
1084:../libBME280/src/bme280.c **** 
1344
1085:../libBME280/src/bme280.c ****     /* Set the power mode */
1345
1086:../libBME280/src/bme280.c ****     if (rslt == BME280_OK)
1346
1087:../libBME280/src/bme280.c ****     {
1347
1088:../libBME280/src/bme280.c ****         sensor_mode_reg_val = BME280_SET_BITS_POS_0(sensor_mode_reg_val, BME280_SENSOR_MODE, sensor
1348
1089:../libBME280/src/bme280.c **** 
1349
1090:../libBME280/src/bme280.c ****         /* Write the power mode in the register */
1350
1091:../libBME280/src/bme280.c ****         rslt = bme280_set_regs(&reg_addr, &sensor_mode_reg_val, 1, dev);
1351
1092:../libBME280/src/bme280.c ****     }
1352
1093:../libBME280/src/bme280.c **** 
1353
1094:../libBME280/src/bme280.c ****     return rslt;
1354
1095:../libBME280/src/bme280.c **** }
1355
1096:../libBME280/src/bme280.c **** 
1356
1097:../libBME280/src/bme280.c **** /*!
1357
1098:../libBME280/src/bme280.c ****  * @brief This internal API puts the device to sleep mode.
1358
1099:../libBME280/src/bme280.c ****  */
1359
1100:../libBME280/src/bme280.c **** static int8_t put_device_to_sleep(struct bme280_dev *dev)
1360
1101:../libBME280/src/bme280.c **** {
1361
1102:../libBME280/src/bme280.c ****     int8_t rslt;
1362
1103:../libBME280/src/bme280.c ****     uint8_t reg_data[4];
1363
1104:../libBME280/src/bme280.c ****     struct bme280_settings settings;
1364
1105:../libBME280/src/bme280.c **** 
1365
1106:../libBME280/src/bme280.c ****     rslt = bme280_get_regs(BME280_CTRL_HUM_ADDR, reg_data, 4, dev);
1366
1107:../libBME280/src/bme280.c **** 
1367
1108:../libBME280/src/bme280.c ****     if (rslt == BME280_OK)
1368
1109:../libBME280/src/bme280.c ****     {
1369
1110:../libBME280/src/bme280.c ****         parse_device_settings(reg_data, &settings);
1370
1111:../libBME280/src/bme280.c ****         rslt = bme280_soft_reset(dev);
1371
1112:../libBME280/src/bme280.c **** 
1372
1113:../libBME280/src/bme280.c ****         if (rslt == BME280_OK)
1373
1114:../libBME280/src/bme280.c ****         {
1374
1115:../libBME280/src/bme280.c ****             rslt = reload_device_settings(&settings, dev);
1375
1116:../libBME280/src/bme280.c ****         }
1376
1117:../libBME280/src/bme280.c ****     }
1377
1118:../libBME280/src/bme280.c **** 
1378
1119:../libBME280/src/bme280.c ****     return rslt;
1379
1120:../libBME280/src/bme280.c **** }
1380
1121:../libBME280/src/bme280.c **** 
1381
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 24
1382
 
1383
 
1384
1122:../libBME280/src/bme280.c **** /*!
1385
1123:../libBME280/src/bme280.c ****  * @brief This internal API reloads the already existing device settings in
1386
1124:../libBME280/src/bme280.c ****  * the sensor after soft reset.
1387
1125:../libBME280/src/bme280.c ****  */
1388
1126:../libBME280/src/bme280.c **** static int8_t reload_device_settings(const struct bme280_settings *settings, struct bme280_dev *dev
1389
1127:../libBME280/src/bme280.c **** {
1390
1128:../libBME280/src/bme280.c ****     int8_t rslt;
1391
1129:../libBME280/src/bme280.c **** 
1392
1130:../libBME280/src/bme280.c ****     rslt = set_osr_settings(BME280_ALL_SETTINGS_SEL, settings, dev);
1393
1131:../libBME280/src/bme280.c **** 
1394
1132:../libBME280/src/bme280.c ****     if (rslt == BME280_OK)
1395
1133:../libBME280/src/bme280.c ****     {
1396
1134:../libBME280/src/bme280.c ****         rslt = set_filter_standby_settings(BME280_ALL_SETTINGS_SEL, settings, dev);
1397
1135:../libBME280/src/bme280.c ****     }
1398
1136:../libBME280/src/bme280.c **** 
1399
1137:../libBME280/src/bme280.c ****     return rslt;
1400
1138:../libBME280/src/bme280.c **** }
1401
1139:../libBME280/src/bme280.c **** 
1402
1140:../libBME280/src/bme280.c **** #ifdef BME280_FLOAT_ENABLE
1403
1141:../libBME280/src/bme280.c **** 
1404
1142:../libBME280/src/bme280.c **** /*!
1405
1143:../libBME280/src/bme280.c ****  * @brief This internal API is used to compensate the raw temperature data and
1406
1144:../libBME280/src/bme280.c ****  * return the compensated temperature data in double data type.
1407
1145:../libBME280/src/bme280.c ****  */
1408
1146:../libBME280/src/bme280.c **** static double compensate_temperature(const struct bme280_uncomp_data *uncomp_data, struct bme280_ca
1409
1147:../libBME280/src/bme280.c **** {
1410
 202              		.loc 1 1147 1 is_stmt 1 view -0
1411
 203              		.cfi_startproc
1412
 204              		@ args = 0, pretend = 0, frame = 0
1413
 205              		@ frame_needed = 0, uses_anonymous_args = 0
1414
 206              		.loc 1 1147 1 is_stmt 0 view .LVU38
1415
 207 0000 2DE9F84F 		push	{r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
1416
 208              	.LCFI0:
1417
 209              		.cfi_def_cfa_offset 40
1418
 210              		.cfi_offset 3, -40
1419
 211              		.cfi_offset 4, -36
1420
 212              		.cfi_offset 5, -32
1421
 213              		.cfi_offset 6, -28
1422
 214              		.cfi_offset 7, -24
1423
 215              		.cfi_offset 8, -20
1424
 216              		.cfi_offset 9, -16
1425
 217              		.cfi_offset 10, -12
1426
 218              		.cfi_offset 11, -8
1427
 219              		.cfi_offset 14, -4
1428
 220 0004 0C46     		mov	r4, r1
1429
1148:../libBME280/src/bme280.c ****     double var1;
1430
 221              		.loc 1 1148 5 is_stmt 1 view .LVU39
1431
1149:../libBME280/src/bme280.c ****     double var2;
1432
 222              		.loc 1 1149 5 view .LVU40
1433
1150:../libBME280/src/bme280.c ****     double temperature;
1434
 223              		.loc 1 1150 5 view .LVU41
1435
1151:../libBME280/src/bme280.c ****     double temperature_min = -40;
1436
 224              		.loc 1 1151 5 view .LVU42
1437
 225              	.LVL6:
1438
1152:../libBME280/src/bme280.c ****     double temperature_max = 85;
1439
 226              		.loc 1 1152 5 view .LVU43
1440
1153:../libBME280/src/bme280.c **** 
1441
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 25
1442
 
1443
 
1444
1154:../libBME280/src/bme280.c ****     var1 = ((double)uncomp_data->temperature) / 16384.0 - ((double)calib_data->dig_t1) / 1024.0;
1445
 227              		.loc 1 1154 5 view .LVU44
1446
 228              		.loc 1 1154 13 is_stmt 0 view .LVU45
1447
 229 0006 4068     		ldr	r0, [r0, #4]
1448
 230              	.LVL7:
1449
 231              		.loc 1 1154 13 view .LVU46
1450
 232 0008 FFF7FEFF 		bl	__aeabi_ui2d
1451
 233              	.LVL8:
1452
 234              		.loc 1 1154 13 view .LVU47
1453
 235 000c 8046     		mov	r8, r0
1454
 236 000e 8946     		mov	r9, r1
1455
 237              		.loc 1 1154 47 view .LVU48
1456
 238 0010 0022     		movs	r2, #0
1457
 239 0012 364B     		ldr	r3, .L11
1458
 240 0014 FFF7FEFF 		bl	__aeabi_dmul
1459
 241              	.LVL9:
1460
 242 0018 0646     		mov	r6, r0
1461
 243 001a 0F46     		mov	r7, r1
1462
 244              		.loc 1 1154 60 view .LVU49
1463
 245 001c 2088     		ldrh	r0, [r4]
1464
 246 001e FFF7FEFF 		bl	__aeabi_ui2d
1465
 247              	.LVL10:
1466
 248 0022 8246     		mov	r10, r0
1467
 249 0024 8B46     		mov	fp, r1
1468
 250              		.loc 1 1154 88 view .LVU50
1469
 251 0026 0022     		movs	r2, #0
1470
 252 0028 314B     		ldr	r3, .L11+4
1471
 253 002a FFF7FEFF 		bl	__aeabi_dmul
1472
 254              	.LVL11:
1473
 255              		.loc 1 1154 10 view .LVU51
1474
 256 002e 0246     		mov	r2, r0
1475
 257 0030 0B46     		mov	r3, r1
1476
 258 0032 3046     		mov	r0, r6
1477
 259 0034 3946     		mov	r1, r7
1478
 260 0036 FFF7FEFF 		bl	__aeabi_dsub
1479
 261              	.LVL12:
1480
 262 003a 0646     		mov	r6, r0
1481
 263 003c 0F46     		mov	r7, r1
1482
 264              	.LVL13:
1483
1155:../libBME280/src/bme280.c ****     var1 = var1 * ((double)calib_data->dig_t2);
1484
 265              		.loc 1 1155 5 is_stmt 1 view .LVU52
1485
 266              		.loc 1 1155 20 is_stmt 0 view .LVU53
1486
 267 003e B4F90200 		ldrsh	r0, [r4, #2]
1487
 268 0042 FFF7FEFF 		bl	__aeabi_i2d
1488
 269              	.LVL14:
1489
 270              		.loc 1 1155 10 view .LVU54
1490
 271 0046 3246     		mov	r2, r6
1491
 272 0048 3B46     		mov	r3, r7
1492
 273 004a FFF7FEFF 		bl	__aeabi_dmul
1493
 274              	.LVL15:
1494
 275 004e 0646     		mov	r6, r0
1495
 276              	.LVL16:
1496
 277              		.loc 1 1155 10 view .LVU55
1497
 278 0050 0F46     		mov	r7, r1
1498
 279              	.LVL17:
1499
1156:../libBME280/src/bme280.c ****     var2 = (((double)uncomp_data->temperature) / 131072.0 - ((double)calib_data->dig_t1) / 8192.0);
1500
 280              		.loc 1 1156 5 is_stmt 1 view .LVU56
1501
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 26
1502
 
1503
 
1504
 281              		.loc 1 1156 48 is_stmt 0 view .LVU57
1505
 282 0052 0022     		movs	r2, #0
1506
 283 0054 274B     		ldr	r3, .L11+8
1507
 284 0056 4046     		mov	r0, r8
1508
 285 0058 4946     		mov	r1, r9
1509
 286 005a FFF7FEFF 		bl	__aeabi_dmul
1510
 287              	.LVL18:
1511
 288 005e 8046     		mov	r8, r0
1512
 289 0060 8946     		mov	r9, r1
1513
 290              		.loc 1 1156 90 view .LVU58
1514
 291 0062 0022     		movs	r2, #0
1515
 292 0064 244B     		ldr	r3, .L11+12
1516
 293 0066 5046     		mov	r0, r10
1517
 294 0068 5946     		mov	r1, fp
1518
 295 006a FFF7FEFF 		bl	__aeabi_dmul
1519
 296              	.LVL19:
1520
 297              		.loc 1 1156 10 view .LVU59
1521
 298 006e 0246     		mov	r2, r0
1522
 299 0070 0B46     		mov	r3, r1
1523
 300 0072 4046     		mov	r0, r8
1524
 301 0074 4946     		mov	r1, r9
1525
 302 0076 FFF7FEFF 		bl	__aeabi_dsub
1526
 303              	.LVL20:
1527
1157:../libBME280/src/bme280.c ****     var2 = (var2 * var2) * ((double)calib_data->dig_t3);
1528
 304              		.loc 1 1157 5 is_stmt 1 view .LVU60
1529
 305              		.loc 1 1157 18 is_stmt 0 view .LVU61
1530
 306 007a 0246     		mov	r2, r0
1531
 307 007c 0B46     		mov	r3, r1
1532
 308 007e FFF7FEFF 		bl	__aeabi_dmul
1533
 309              	.LVL21:
1534
 310              		.loc 1 1157 18 view .LVU62
1535
 311 0082 8046     		mov	r8, r0
1536
 312 0084 8946     		mov	r9, r1
1537
 313              		.loc 1 1157 29 view .LVU63
1538
 314 0086 B4F90400 		ldrsh	r0, [r4, #4]
1539
 315 008a FFF7FEFF 		bl	__aeabi_i2d
1540
 316              	.LVL22:
1541
 317              		.loc 1 1157 10 view .LVU64
1542
 318 008e 0246     		mov	r2, r0
1543
 319 0090 0B46     		mov	r3, r1
1544
 320 0092 4046     		mov	r0, r8
1545
 321 0094 4946     		mov	r1, r9
1546
 322 0096 FFF7FEFF 		bl	__aeabi_dmul
1547
 323              	.LVL23:
1548
1158:../libBME280/src/bme280.c ****     calib_data->t_fine = (int32_t)(var1 + var2);
1549
 324              		.loc 1 1158 5 is_stmt 1 view .LVU65
1550
 325              		.loc 1 1158 41 is_stmt 0 view .LVU66
1551
 326 009a 0246     		mov	r2, r0
1552
 327 009c 0B46     		mov	r3, r1
1553
 328 009e 3046     		mov	r0, r6
1554
 329              	.LVL24:
1555
 330              		.loc 1 1158 41 view .LVU67
1556
 331 00a0 3946     		mov	r1, r7
1557
 332 00a2 FFF7FEFF 		bl	__aeabi_dadd
1558
 333              	.LVL25:
1559
 334 00a6 0646     		mov	r6, r0
1560
 335              	.LVL26:
1561
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 27
1562
 
1563
 
1564
 336              		.loc 1 1158 41 view .LVU68
1565
 337 00a8 0F46     		mov	r7, r1
1566
 338              		.loc 1 1158 26 view .LVU69
1567
 339 00aa FFF7FEFF 		bl	__aeabi_d2iz
1568
 340              	.LVL27:
1569
 341              		.loc 1 1158 24 view .LVU70
1570
 342 00ae 6062     		str	r0, [r4, #36]
1571
1159:../libBME280/src/bme280.c ****     temperature = (var1 + var2) / 5120.0;
1572
 343              		.loc 1 1159 5 is_stmt 1 view .LVU71
1573
 344              		.loc 1 1159 17 is_stmt 0 view .LVU72
1574
 345 00b0 0022     		movs	r2, #0
1575
 346 00b2 124B     		ldr	r3, .L11+16
1576
 347 00b4 3046     		mov	r0, r6
1577
 348 00b6 3946     		mov	r1, r7
1578
 349 00b8 FFF7FEFF 		bl	__aeabi_ddiv
1579
 350              	.LVL28:
1580
 351 00bc 0446     		mov	r4, r0
1581
 352              	.LVL29:
1582
 353              		.loc 1 1159 17 view .LVU73
1583
 354 00be 0D46     		mov	r5, r1
1584
 355              	.LVL30:
1585
1160:../libBME280/src/bme280.c **** 
1586
1161:../libBME280/src/bme280.c ****     if (temperature < temperature_min)
1587
 356              		.loc 1 1161 5 is_stmt 1 view .LVU74
1588
 357              		.loc 1 1161 8 is_stmt 0 view .LVU75
1589
 358 00c0 0022     		movs	r2, #0
1590
 359 00c2 0F4B     		ldr	r3, .L11+20
1591
 360 00c4 FFF7FEFF 		bl	__aeabi_dcmplt
1592
 361              	.LVL31:
1593
 362 00c8 48B9     		cbnz	r0, .L8
1594
1162:../libBME280/src/bme280.c ****     {
1595
1163:../libBME280/src/bme280.c ****         temperature = temperature_min;
1596
1164:../libBME280/src/bme280.c ****     }
1597
1165:../libBME280/src/bme280.c ****     else if (temperature > temperature_max)
1598
 363              		.loc 1 1165 10 is_stmt 1 view .LVU76
1599
 364              		.loc 1 1165 13 is_stmt 0 view .LVU77
1600
 365 00ca 0022     		movs	r2, #0
1601
 366 00cc 0D4B     		ldr	r3, .L11+24
1602
 367 00ce 2046     		mov	r0, r4
1603
 368 00d0 2946     		mov	r1, r5
1604
 369 00d2 FFF7FEFF 		bl	__aeabi_dcmpgt
1605
 370              	.LVL32:
1606
 371 00d6 20B1     		cbz	r0, .L6
1607
1166:../libBME280/src/bme280.c ****     {
1608
1167:../libBME280/src/bme280.c ****         temperature = temperature_max;
1609
 372              		.loc 1 1167 21 view .LVU78
1610
 373 00d8 0024     		movs	r4, #0
1611
 374              	.LVL33:
1612
 375              		.loc 1 1167 21 view .LVU79
1613
 376 00da 0A4D     		ldr	r5, .L11+24
1614
 377              	.LVL34:
1615
1168:../libBME280/src/bme280.c ****     }
1616
1169:../libBME280/src/bme280.c **** 
1617
1170:../libBME280/src/bme280.c ****     return temperature;
1618
 378              		.loc 1 1170 5 is_stmt 1 view .LVU80
1619
 379              		.loc 1 1170 12 is_stmt 0 view .LVU81
1620
 380 00dc 01E0     		b	.L6
1621
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 28
1622
 
1623
 
1624
 381              	.LVL35:
1625
 382              	.L8:
1626
1163:../libBME280/src/bme280.c ****     }
1627
 383              		.loc 1 1163 21 view .LVU82
1628
 384 00de 0024     		movs	r4, #0
1629
 385              	.LVL36:
1630
1163:../libBME280/src/bme280.c ****     }
1631
 386              		.loc 1 1163 21 view .LVU83
1632
 387 00e0 074D     		ldr	r5, .L11+20
1633
 388              	.L6:
1634
1171:../libBME280/src/bme280.c **** }
1635
 389              		.loc 1 1171 1 view .LVU84
1636
 390 00e2 2046     		mov	r0, r4
1637
 391 00e4 2946     		mov	r1, r5
1638
 392 00e6 BDE8F88F 		pop	{r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
1639
 393              	.L12:
1640
 394 00ea 00BF     		.align	2
1641
 395              	.L11:
1642
 396 00ec 0000103F 		.word	1058013184
1643
 397 00f0 0000503F 		.word	1062207488
1644
 398 00f4 0000E03E 		.word	1054867456
1645
 399 00f8 0000203F 		.word	1059061760
1646
 400 00fc 0000B440 		.word	1085538304
1647
 401 0100 000044C0 		.word	-1069285376
1648
 402 0104 00405540 		.word	1079328768
1649
 403              		.cfi_endproc
1650
 404              	.LFE24:
1651
 406              		.section	.text.compensate_pressure,"ax",%progbits
1652
 407              		.align	1
1653
 408              		.syntax unified
1654
 409              		.thumb
1655
 410              		.thumb_func
1656
 411              		.fpu softvfp
1657
 413              	compensate_pressure:
1658
 414              	.LVL37:
1659
 415              	.LFB25:
1660
1172:../libBME280/src/bme280.c **** 
1661
1173:../libBME280/src/bme280.c **** /*!
1662
1174:../libBME280/src/bme280.c ****  * @brief This internal API is used to compensate the raw pressure data and
1663
1175:../libBME280/src/bme280.c ****  * return the compensated pressure data in double data type.
1664
1176:../libBME280/src/bme280.c ****  */
1665
1177:../libBME280/src/bme280.c **** static double compensate_pressure(const struct bme280_uncomp_data *uncomp_data,
1666
1178:../libBME280/src/bme280.c ****                                   const struct bme280_calib_data *calib_data)
1667
1179:../libBME280/src/bme280.c **** {
1668
 416              		.loc 1 1179 1 is_stmt 1 view -0
1669
 417              		.cfi_startproc
1670
 418              		@ args = 0, pretend = 0, frame = 0
1671
 419              		@ frame_needed = 0, uses_anonymous_args = 0
1672
 420              		.loc 1 1179 1 is_stmt 0 view .LVU86
1673
 421 0000 2DE9F84F 		push	{r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
1674
 422              	.LCFI1:
1675
 423              		.cfi_def_cfa_offset 40
1676
 424              		.cfi_offset 3, -40
1677
 425              		.cfi_offset 4, -36
1678
 426              		.cfi_offset 5, -32
1679
 427              		.cfi_offset 6, -28
1680
 428              		.cfi_offset 7, -24
1681
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 29
1682
 
1683
 
1684
 429              		.cfi_offset 8, -20
1685
 430              		.cfi_offset 9, -16
1686
 431              		.cfi_offset 10, -12
1687
 432              		.cfi_offset 11, -8
1688
 433              		.cfi_offset 14, -4
1689
 434 0004 0546     		mov	r5, r0
1690
 435 0006 0C46     		mov	r4, r1
1691
1180:../libBME280/src/bme280.c ****     double var1;
1692
 436              		.loc 1 1180 5 is_stmt 1 view .LVU87
1693
1181:../libBME280/src/bme280.c ****     double var2;
1694
 437              		.loc 1 1181 5 view .LVU88
1695
1182:../libBME280/src/bme280.c ****     double var3;
1696
 438              		.loc 1 1182 5 view .LVU89
1697
1183:../libBME280/src/bme280.c ****     double pressure;
1698
 439              		.loc 1 1183 5 view .LVU90
1699
1184:../libBME280/src/bme280.c ****     double pressure_min = 30000.0;
1700
 440              		.loc 1 1184 5 view .LVU91
1701
 441              	.LVL38:
1702
1185:../libBME280/src/bme280.c ****     double pressure_max = 110000.0;
1703
 442              		.loc 1 1185 5 view .LVU92
1704
1186:../libBME280/src/bme280.c **** 
1705
1187:../libBME280/src/bme280.c ****     var1 = ((double)calib_data->t_fine / 2.0) - 64000.0;
1706
 443              		.loc 1 1187 5 view .LVU93
1707
 444              		.loc 1 1187 13 is_stmt 0 view .LVU94
1708
 445 0008 486A     		ldr	r0, [r1, #36]
1709
 446              	.LVL39:
1710
 447              		.loc 1 1187 13 view .LVU95
1711
 448 000a FFF7FEFF 		bl	__aeabi_i2d
1712
 449              	.LVL40:
1713
 450              		.loc 1 1187 40 view .LVU96
1714
 451 000e 0022     		movs	r2, #0
1715
 452 0010 874B     		ldr	r3, .L22+24
1716
 453 0012 FFF7FEFF 		bl	__aeabi_dmul
1717
 454              	.LVL41:
1718
 455              		.loc 1 1187 10 view .LVU97
1719
 456 0016 0022     		movs	r2, #0
1720
 457 0018 864B     		ldr	r3, .L22+28
1721
 458 001a FFF7FEFF 		bl	__aeabi_dsub
1722
 459              	.LVL42:
1723
 460 001e 0646     		mov	r6, r0
1724
 461 0020 0F46     		mov	r7, r1
1725
 462              	.LVL43:
1726
1188:../libBME280/src/bme280.c ****     var2 = var1 * var1 * ((double)calib_data->dig_p6) / 32768.0;
1727
 463              		.loc 1 1188 5 is_stmt 1 view .LVU98
1728
 464              		.loc 1 1188 17 is_stmt 0 view .LVU99
1729
 465 0022 0246     		mov	r2, r0
1730
 466 0024 0B46     		mov	r3, r1
1731
 467 0026 FFF7FEFF 		bl	__aeabi_dmul
1732
 468              	.LVL44:
1733
 469 002a 8046     		mov	r8, r0
1734
 470 002c 8946     		mov	r9, r1
1735
 471              		.loc 1 1188 27 view .LVU100
1736
 472 002e B4F91000 		ldrsh	r0, [r4, #16]
1737
 473 0032 FFF7FEFF 		bl	__aeabi_i2d
1738
 474              	.LVL45:
1739
 475              		.loc 1 1188 24 view .LVU101
1740
 476 0036 0246     		mov	r2, r0
1741
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 30
1742
 
1743
 
1744
 477 0038 0B46     		mov	r3, r1
1745
 478 003a 4046     		mov	r0, r8
1746
 479 003c 4946     		mov	r1, r9
1747
 480 003e FFF7FEFF 		bl	__aeabi_dmul
1748
 481              	.LVL46:
1749
 482              		.loc 1 1188 10 view .LVU102
1750
 483 0042 0022     		movs	r2, #0
1751
 484 0044 4FF07C53 		mov	r3, #1056964608
1752
 485 0048 FFF7FEFF 		bl	__aeabi_dmul
1753
 486              	.LVL47:
1754
 487 004c 8046     		mov	r8, r0
1755
 488 004e 8946     		mov	r9, r1
1756
 489              	.LVL48:
1757
1189:../libBME280/src/bme280.c ****     var2 = var2 + var1 * ((double)calib_data->dig_p5) * 2.0;
1758
 490              		.loc 1 1189 5 is_stmt 1 view .LVU103
1759
 491              		.loc 1 1189 27 is_stmt 0 view .LVU104
1760
 492 0050 B4F90E00 		ldrsh	r0, [r4, #14]
1761
 493 0054 FFF7FEFF 		bl	__aeabi_i2d
1762
 494              	.LVL49:
1763
 495              		.loc 1 1189 24 view .LVU105
1764
 496 0058 3246     		mov	r2, r6
1765
 497 005a 3B46     		mov	r3, r7
1766
 498 005c FFF7FEFF 		bl	__aeabi_dmul
1767
 499              	.LVL50:
1768
 500              		.loc 1 1189 55 view .LVU106
1769
 501 0060 0246     		mov	r2, r0
1770
 502 0062 0B46     		mov	r3, r1
1771
 503 0064 FFF7FEFF 		bl	__aeabi_dadd
1772
 504              	.LVL51:
1773
 505              		.loc 1 1189 10 view .LVU107
1774
 506 0068 4246     		mov	r2, r8
1775
 507 006a 4B46     		mov	r3, r9
1776
 508 006c FFF7FEFF 		bl	__aeabi_dadd
1777
 509              	.LVL52:
1778
1190:../libBME280/src/bme280.c ****     var2 = (var2 / 4.0) + (((double)calib_data->dig_p4) * 65536.0);
1779
 510              		.loc 1 1190 5 is_stmt 1 view .LVU108
1780
 511              		.loc 1 1190 18 is_stmt 0 view .LVU109
1781
 512 0070 0022     		movs	r2, #0
1782
 513 0072 714B     		ldr	r3, .L22+32
1783
 514 0074 FFF7FEFF 		bl	__aeabi_dmul
1784
 515              	.LVL53:
1785
 516              		.loc 1 1190 18 view .LVU110
1786
 517 0078 8046     		mov	r8, r0
1787
 518 007a 8946     		mov	r9, r1
1788
 519              		.loc 1 1190 29 view .LVU111
1789
 520 007c B4F90C00 		ldrsh	r0, [r4, #12]
1790
 521 0080 FFF7FEFF 		bl	__aeabi_i2d
1791
 522              	.LVL54:
1792
 523              		.loc 1 1190 57 view .LVU112
1793
 524 0084 0022     		movs	r2, #0
1794
 525 0086 6D4B     		ldr	r3, .L22+36
1795
 526 0088 FFF7FEFF 		bl	__aeabi_dmul
1796
 527              	.LVL55:
1797
 528              		.loc 1 1190 10 view .LVU113
1798
 529 008c 0246     		mov	r2, r0
1799
 530 008e 0B46     		mov	r3, r1
1800
 531 0090 4046     		mov	r0, r8
1801
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 31
1802
 
1803
 
1804
 532 0092 4946     		mov	r1, r9
1805
 533 0094 FFF7FEFF 		bl	__aeabi_dadd
1806
 534              	.LVL56:
1807
 535 0098 8046     		mov	r8, r0
1808
 536 009a 8946     		mov	r9, r1
1809
 537              	.LVL57:
1810
1191:../libBME280/src/bme280.c ****     var3 = ((double)calib_data->dig_p3) * var1 * var1 / 524288.0;
1811
 538              		.loc 1 1191 5 is_stmt 1 view .LVU114
1812
 539              		.loc 1 1191 13 is_stmt 0 view .LVU115
1813
 540 009c B4F90A00 		ldrsh	r0, [r4, #10]
1814
 541 00a0 FFF7FEFF 		bl	__aeabi_i2d
1815
 542              	.LVL58:
1816
 543              		.loc 1 1191 41 view .LVU116
1817
 544 00a4 3246     		mov	r2, r6
1818
 545 00a6 3B46     		mov	r3, r7
1819
 546 00a8 FFF7FEFF 		bl	__aeabi_dmul
1820
 547              	.LVL59:
1821
 548              		.loc 1 1191 48 view .LVU117
1822
 549 00ac 3246     		mov	r2, r6
1823
 550 00ae 3B46     		mov	r3, r7
1824
 551 00b0 FFF7FEFF 		bl	__aeabi_dmul
1825
 552              	.LVL60:
1826
 553              		.loc 1 1191 10 view .LVU118
1827
 554 00b4 0022     		movs	r2, #0
1828
 555 00b6 4FF07B53 		mov	r3, #1052770304
1829
 556 00ba FFF7FEFF 		bl	__aeabi_dmul
1830
 557              	.LVL61:
1831
 558 00be 8246     		mov	r10, r0
1832
 559 00c0 8B46     		mov	fp, r1
1833
 560              	.LVL62:
1834
1192:../libBME280/src/bme280.c ****     var1 = (var3 + ((double)calib_data->dig_p2) * var1) / 524288.0;
1835
 561              		.loc 1 1192 5 is_stmt 1 view .LVU119
1836
 562              		.loc 1 1192 21 is_stmt 0 view .LVU120
1837
 563 00c2 B4F90800 		ldrsh	r0, [r4, #8]
1838
 564 00c6 FFF7FEFF 		bl	__aeabi_i2d
1839
 565              	.LVL63:
1840
 566              		.loc 1 1192 49 view .LVU121
1841
 567 00ca 3246     		mov	r2, r6
1842
 568 00cc 3B46     		mov	r3, r7
1843
 569 00ce FFF7FEFF 		bl	__aeabi_dmul
1844
 570              	.LVL64:
1845
 571              		.loc 1 1192 18 view .LVU122
1846
 572 00d2 5246     		mov	r2, r10
1847
 573 00d4 5B46     		mov	r3, fp
1848
 574 00d6 FFF7FEFF 		bl	__aeabi_dadd
1849
 575              	.LVL65:
1850
 576              		.loc 1 1192 10 view .LVU123
1851
 577 00da 0022     		movs	r2, #0
1852
 578 00dc 4FF07B53 		mov	r3, #1052770304
1853
 579 00e0 FFF7FEFF 		bl	__aeabi_dmul
1854
 580              	.LVL66:
1855
1193:../libBME280/src/bme280.c ****     var1 = (1.0 + var1 / 32768.0) * ((double)calib_data->dig_p1);
1856
 581              		.loc 1 1193 5 is_stmt 1 view .LVU124
1857
 582              		.loc 1 1193 24 is_stmt 0 view .LVU125
1858
 583 00e4 0022     		movs	r2, #0
1859
 584 00e6 4FF07C53 		mov	r3, #1056964608
1860
 585 00ea FFF7FEFF 		bl	__aeabi_dmul
1861
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 32
1862
 
1863
 
1864
 586              	.LVL67:
1865
 587              		.loc 1 1193 17 view .LVU126
1866
 588 00ee 0022     		movs	r2, #0
1867
 589 00f0 534B     		ldr	r3, .L22+40
1868
 590 00f2 FFF7FEFF 		bl	__aeabi_dadd
1869
 591              	.LVL68:
1870
 592 00f6 0646     		mov	r6, r0
1871
 593 00f8 0F46     		mov	r7, r1
1872
 594              		.loc 1 1193 38 view .LVU127
1873
 595 00fa E088     		ldrh	r0, [r4, #6]
1874
 596 00fc FFF7FEFF 		bl	__aeabi_ui2d
1875
 597              	.LVL69:
1876
 598              		.loc 1 1193 10 view .LVU128
1877
 599 0100 0246     		mov	r2, r0
1878
 600 0102 0B46     		mov	r3, r1
1879
 601 0104 3046     		mov	r0, r6
1880
 602 0106 3946     		mov	r1, r7
1881
 603 0108 FFF7FEFF 		bl	__aeabi_dmul
1882
 604              	.LVL70:
1883
 605 010c 8246     		mov	r10, r0
1884
 606              	.LVL71:
1885
 607              		.loc 1 1193 10 view .LVU129
1886
 608 010e 8B46     		mov	fp, r1
1887
 609              	.LVL72:
1888
1194:../libBME280/src/bme280.c **** 
1889
1195:../libBME280/src/bme280.c ****     /* avoid exception caused by division by zero */
1890
1196:../libBME280/src/bme280.c ****     if (var1 > (0.0))
1891
 610              		.loc 1 1196 5 is_stmt 1 view .LVU130
1892
 611              		.loc 1 1196 8 is_stmt 0 view .LVU131
1893
 612 0110 0022     		movs	r2, #0
1894
 613 0112 0023     		movs	r3, #0
1895
 614 0114 FFF7FEFF 		bl	__aeabi_dcmpgt
1896
 615              	.LVL73:
1897
 616 0118 0028     		cmp	r0, #0
1898
 617 011a 6FD0     		beq	.L20
1899
1197:../libBME280/src/bme280.c ****     {
1900
1198:../libBME280/src/bme280.c ****         pressure = 1048576.0 - (double) uncomp_data->pressure;
1901
 618              		.loc 1 1198 9 is_stmt 1 view .LVU132
1902
 619              		.loc 1 1198 32 is_stmt 0 view .LVU133
1903
 620 011c 2868     		ldr	r0, [r5]
1904
 621 011e FFF7FEFF 		bl	__aeabi_ui2d
1905
 622              	.LVL74:
1906
 623              		.loc 1 1198 18 view .LVU134
1907
 624 0122 0246     		mov	r2, r0
1908
 625 0124 0B46     		mov	r3, r1
1909
 626 0126 0020     		movs	r0, #0
1910
 627 0128 4649     		ldr	r1, .L22+44
1911
 628 012a FFF7FEFF 		bl	__aeabi_dsub
1912
 629              	.LVL75:
1913
 630 012e 0646     		mov	r6, r0
1914
 631 0130 0F46     		mov	r7, r1
1915
 632              	.LVL76:
1916
1199:../libBME280/src/bme280.c ****         pressure = (pressure - (var2 / 4096.0)) * 6250.0 / var1;
1917
 633              		.loc 1 1199 9 is_stmt 1 view .LVU135
1918
 634              		.loc 1 1199 38 is_stmt 0 view .LVU136
1919
 635 0132 0022     		movs	r2, #0
1920
 636 0134 444B     		ldr	r3, .L22+48
1921
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 33
1922
 
1923
 
1924
 637 0136 4046     		mov	r0, r8
1925
 638 0138 4946     		mov	r1, r9
1926
 639 013a FFF7FEFF 		bl	__aeabi_dmul
1927
 640              	.LVL77:
1928
 641              		.loc 1 1199 30 view .LVU137
1929
 642 013e 0246     		mov	r2, r0
1930
 643 0140 0B46     		mov	r3, r1
1931
 644 0142 3046     		mov	r0, r6
1932
 645 0144 3946     		mov	r1, r7
1933
 646 0146 FFF7FEFF 		bl	__aeabi_dsub
1934
 647              	.LVL78:
1935
 648              		.loc 1 1199 49 view .LVU138
1936
 649 014a 33A3     		adr	r3, .L22
1937
 650 014c D3E90023 		ldrd	r2, [r3]
1938
 651 0150 FFF7FEFF 		bl	__aeabi_dmul
1939
 652              	.LVL79:
1940
 653              		.loc 1 1199 18 view .LVU139
1941
 654 0154 5246     		mov	r2, r10
1942
 655 0156 5B46     		mov	r3, fp
1943
 656 0158 FFF7FEFF 		bl	__aeabi_ddiv
1944
 657              	.LVL80:
1945
 658 015c 0646     		mov	r6, r0
1946
 659              	.LVL81:
1947
 660              		.loc 1 1199 18 view .LVU140
1948
 661 015e 0F46     		mov	r7, r1
1949
 662              	.LVL82:
1950
1200:../libBME280/src/bme280.c ****         var1 = ((double)calib_data->dig_p9) * pressure * pressure / 2147483648.0;
1951
 663              		.loc 1 1200 9 is_stmt 1 view .LVU141
1952
 664              		.loc 1 1200 17 is_stmt 0 view .LVU142
1953
 665 0160 B4F91600 		ldrsh	r0, [r4, #22]
1954
 666 0164 FFF7FEFF 		bl	__aeabi_i2d
1955
 667              	.LVL83:
1956
 668              		.loc 1 1200 45 view .LVU143
1957
 669 0168 3246     		mov	r2, r6
1958
 670 016a 3B46     		mov	r3, r7
1959
 671 016c FFF7FEFF 		bl	__aeabi_dmul
1960
 672              	.LVL84:
1961
 673              		.loc 1 1200 56 view .LVU144
1962
 674 0170 3246     		mov	r2, r6
1963
 675 0172 3B46     		mov	r3, r7
1964
 676 0174 FFF7FEFF 		bl	__aeabi_dmul
1965
 677              	.LVL85:
1966
 678              		.loc 1 1200 14 view .LVU145
1967
 679 0178 0022     		movs	r2, #0
1968
 680 017a 4FF07853 		mov	r3, #1040187392
1969
 681 017e FFF7FEFF 		bl	__aeabi_dmul
1970
 682              	.LVL86:
1971
 683 0182 8046     		mov	r8, r0
1972
 684              	.LVL87:
1973
 685              		.loc 1 1200 14 view .LVU146
1974
 686 0184 8946     		mov	r9, r1
1975
 687              	.LVL88:
1976
1201:../libBME280/src/bme280.c ****         var2 = pressure * ((double)calib_data->dig_p8) / 32768.0;
1977
 688              		.loc 1 1201 9 is_stmt 1 view .LVU147
1978
 689              		.loc 1 1201 28 is_stmt 0 view .LVU148
1979
 690 0186 B4F91400 		ldrsh	r0, [r4, #20]
1980
 691 018a FFF7FEFF 		bl	__aeabi_i2d
1981
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 34
1982
 
1983
 
1984
 692              	.LVL89:
1985
 693              		.loc 1 1201 25 view .LVU149
1986
 694 018e 3246     		mov	r2, r6
1987
 695 0190 3B46     		mov	r3, r7
1988
 696 0192 FFF7FEFF 		bl	__aeabi_dmul
1989
 697              	.LVL90:
1990
 698              		.loc 1 1201 14 view .LVU150
1991
 699 0196 0022     		movs	r2, #0
1992
 700 0198 4FF07C53 		mov	r3, #1056964608
1993
 701 019c FFF7FEFF 		bl	__aeabi_dmul
1994
 702              	.LVL91:
1995
1202:../libBME280/src/bme280.c ****         pressure = pressure + (var1 + var2 + ((double)calib_data->dig_p7)) / 16.0;
1996
 703              		.loc 1 1202 9 is_stmt 1 view .LVU151
1997
 704              		.loc 1 1202 37 is_stmt 0 view .LVU152
1998
 705 01a0 0246     		mov	r2, r0
1999
 706 01a2 0B46     		mov	r3, r1
2000
 707 01a4 4046     		mov	r0, r8
2001
 708              	.LVL92:
2002
 709              		.loc 1 1202 37 view .LVU153
2003
 710 01a6 4946     		mov	r1, r9
2004
 711 01a8 FFF7FEFF 		bl	__aeabi_dadd
2005
 712              	.LVL93:
2006
 713 01ac 8046     		mov	r8, r0
2007
 714              	.LVL94:
2008
 715              		.loc 1 1202 37 view .LVU154
2009
 716 01ae 8946     		mov	r9, r1
2010
 717              		.loc 1 1202 47 view .LVU155
2011
 718 01b0 B4F91200 		ldrsh	r0, [r4, #18]
2012
 719 01b4 FFF7FEFF 		bl	__aeabi_i2d
2013
 720              	.LVL95:
2014
 721              		.loc 1 1202 44 view .LVU156
2015
 722 01b8 0246     		mov	r2, r0
2016
 723 01ba 0B46     		mov	r3, r1
2017
 724 01bc 4046     		mov	r0, r8
2018
 725 01be 4946     		mov	r1, r9
2019
 726 01c0 FFF7FEFF 		bl	__aeabi_dadd
2020
 727              	.LVL96:
2021
 728              		.loc 1 1202 76 view .LVU157
2022
 729 01c4 0022     		movs	r2, #0
2023
 730 01c6 214B     		ldr	r3, .L22+52
2024
 731 01c8 FFF7FEFF 		bl	__aeabi_dmul
2025
 732              	.LVL97:
2026
 733              		.loc 1 1202 18 view .LVU158
2027
 734 01cc 3246     		mov	r2, r6
2028
 735 01ce 3B46     		mov	r3, r7
2029
 736 01d0 FFF7FEFF 		bl	__aeabi_dadd
2030
 737              	.LVL98:
2031
 738 01d4 0446     		mov	r4, r0
2032
 739              	.LVL99:
2033
 740              		.loc 1 1202 18 view .LVU159
2034
 741 01d6 0D46     		mov	r5, r1
2035
 742              	.LVL100:
2036
1203:../libBME280/src/bme280.c **** 
2037
1204:../libBME280/src/bme280.c ****         if (pressure < pressure_min)
2038
 743              		.loc 1 1204 9 is_stmt 1 view .LVU160
2039
 744              		.loc 1 1204 12 is_stmt 0 view .LVU161
2040
 745 01d8 11A3     		adr	r3, .L22+8
2041
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 35
2042
 
2043
 
2044
 746 01da D3E90023 		ldrd	r2, [r3]
2045
 747 01de FFF7FEFF 		bl	__aeabi_dcmplt
2046
 748              	.LVL101:
2047
 749 01e2 90B9     		cbnz	r0, .L17
2048
1205:../libBME280/src/bme280.c ****         {
2049
1206:../libBME280/src/bme280.c ****             pressure = pressure_min;
2050
1207:../libBME280/src/bme280.c ****         }
2051
1208:../libBME280/src/bme280.c ****         else if (pressure > pressure_max)
2052
 750              		.loc 1 1208 14 is_stmt 1 view .LVU162
2053
 751              		.loc 1 1208 17 is_stmt 0 view .LVU163
2054
 752 01e4 10A3     		adr	r3, .L22+16
2055
 753 01e6 D3E90023 		ldrd	r2, [r3]
2056
 754 01ea 2046     		mov	r0, r4
2057
 755 01ec 2946     		mov	r1, r5
2058
 756 01ee FFF7FEFF 		bl	__aeabi_dcmpgt
2059
 757              	.LVL102:
2060
 758 01f2 30B1     		cbz	r0, .L13
2061
1209:../libBME280/src/bme280.c ****         {
2062
1210:../libBME280/src/bme280.c ****             pressure = pressure_max;
2063
 759              		.loc 1 1210 22 view .LVU164
2064
 760 01f4 0CA5     		adr	r5, .L22+16
2065
 761 01f6 D5E90045 		ldrd	r4, [r5]
2066
 762              	.LVL103:
2067
1211:../libBME280/src/bme280.c ****         }
2068
1212:../libBME280/src/bme280.c ****     }
2069
1213:../libBME280/src/bme280.c ****     else /* Invalid case */
2070
1214:../libBME280/src/bme280.c ****     {
2071
1215:../libBME280/src/bme280.c ****         pressure = pressure_min;
2072
1216:../libBME280/src/bme280.c ****     }
2073
1217:../libBME280/src/bme280.c **** 
2074
1218:../libBME280/src/bme280.c ****     return pressure;
2075
 763              		.loc 1 1218 5 is_stmt 1 view .LVU165
2076
 764              		.loc 1 1218 12 is_stmt 0 view .LVU166
2077
 765 01fa 02E0     		b	.L13
2078
 766              	.LVL104:
2079
 767              	.L20:
2080
1215:../libBME280/src/bme280.c ****     }
2081
 768              		.loc 1 1215 18 view .LVU167
2082
 769 01fc 08A5     		adr	r5, .L22+8
2083
 770 01fe D5E90045 		ldrd	r4, [r5]
2084
 771              	.LVL105:
2085
 772              	.L13:
2086
1219:../libBME280/src/bme280.c **** }
2087
 773              		.loc 1 1219 1 view .LVU168
2088
 774 0202 2046     		mov	r0, r4
2089
 775 0204 2946     		mov	r1, r5
2090
 776 0206 BDE8F88F 		pop	{r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
2091
 777              	.LVL106:
2092
 778              	.L17:
2093
1206:../libBME280/src/bme280.c ****         }
2094
 779              		.loc 1 1206 22 view .LVU169
2095
 780 020a 05A5     		adr	r5, .L22+8
2096
 781 020c D5E90045 		ldrd	r4, [r5]
2097
 782              	.LVL107:
2098
1206:../libBME280/src/bme280.c ****         }
2099
 783              		.loc 1 1206 22 view .LVU170
2100
 784 0210 F7E7     		b	.L13
2101
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 36
2102
 
2103
 
2104
 785              	.L23:
2105
 786 0212 00BFAFF3 		.align	3
2106
 786      0080
2107
 787              	.L22:
2108
 788 0218 00000000 		.word	0
2109
 789 021c 006AB840 		.word	1085827584
2110
 790 0220 00000000 		.word	0
2111
 791 0224 004CDD40 		.word	1088244736
2112
 792 0228 00000000 		.word	0
2113
 793 022c 00DBFA40 		.word	1090181888
2114
 794 0230 0000E03F 		.word	1071644672
2115
 795 0234 0040EF40 		.word	1089421312
2116
 796 0238 0000D03F 		.word	1070596096
2117
 797 023c 0000F040 		.word	1089470464
2118
 798 0240 0000F03F 		.word	1072693248
2119
 799 0244 00003041 		.word	1093664768
2120
 800 0248 0000303F 		.word	1060110336
2121
 801 024c 0000B03F 		.word	1068498944
2122
 802              		.cfi_endproc
2123
 803              	.LFE25:
2124
 805              		.section	.text.compensate_humidity,"ax",%progbits
2125
 806              		.align	1
2126
 807              		.syntax unified
2127
 808              		.thumb
2128
 809              		.thumb_func
2129
 810              		.fpu softvfp
2130
 812              	compensate_humidity:
2131
 813              	.LVL108:
2132
 814              	.LFB26:
2133
1220:../libBME280/src/bme280.c **** 
2134
1221:../libBME280/src/bme280.c **** /*!
2135
1222:../libBME280/src/bme280.c ****  * @brief This internal API is used to compensate the raw humidity data and
2136
1223:../libBME280/src/bme280.c ****  * return the compensated humidity data in double data type.
2137
1224:../libBME280/src/bme280.c ****  */
2138
1225:../libBME280/src/bme280.c **** static double compensate_humidity(const struct bme280_uncomp_data *uncomp_data,
2139
1226:../libBME280/src/bme280.c ****                                   const struct bme280_calib_data *calib_data)
2140
1227:../libBME280/src/bme280.c **** {
2141
 815              		.loc 1 1227 1 is_stmt 1 view -0
2142
 816              		.cfi_startproc
2143
 817              		@ args = 0, pretend = 0, frame = 16
2144
 818              		@ frame_needed = 0, uses_anonymous_args = 0
2145
 819              		.loc 1 1227 1 is_stmt 0 view .LVU172
2146
 820 0000 2DE9F047 		push	{r4, r5, r6, r7, r8, r9, r10, lr}
2147
 821              	.LCFI2:
2148
 822              		.cfi_def_cfa_offset 32
2149
 823              		.cfi_offset 4, -32
2150
 824              		.cfi_offset 5, -28
2151
 825              		.cfi_offset 6, -24
2152
 826              		.cfi_offset 7, -20
2153
 827              		.cfi_offset 8, -16
2154
 828              		.cfi_offset 9, -12
2155
 829              		.cfi_offset 10, -8
2156
 830              		.cfi_offset 14, -4
2157
 831 0004 84B0     		sub	sp, sp, #16
2158
 832              	.LCFI3:
2159
 833              		.cfi_def_cfa_offset 48
2160
 834 0006 8046     		mov	r8, r0
2161
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 37
2162
 
2163
 
2164
 835 0008 8A46     		mov	r10, r1
2165
1228:../libBME280/src/bme280.c ****     double humidity;
2166
 836              		.loc 1 1228 5 is_stmt 1 view .LVU173
2167
1229:../libBME280/src/bme280.c ****     double humidity_min = 0.0;
2168
 837              		.loc 1 1229 5 view .LVU174
2169
 838              	.LVL109:
2170
1230:../libBME280/src/bme280.c ****     double humidity_max = 100.0;
2171
 839              		.loc 1 1230 5 view .LVU175
2172
1231:../libBME280/src/bme280.c ****     double var1;
2173
 840              		.loc 1 1231 5 view .LVU176
2174
1232:../libBME280/src/bme280.c ****     double var2;
2175
 841              		.loc 1 1232 5 view .LVU177
2176
1233:../libBME280/src/bme280.c ****     double var3;
2177
 842              		.loc 1 1233 5 view .LVU178
2178
1234:../libBME280/src/bme280.c ****     double var4;
2179
 843              		.loc 1 1234 5 view .LVU179
2180
1235:../libBME280/src/bme280.c ****     double var5;
2181
 844              		.loc 1 1235 5 view .LVU180
2182
1236:../libBME280/src/bme280.c ****     double var6;
2183
 845              		.loc 1 1236 5 view .LVU181
2184
1237:../libBME280/src/bme280.c **** 
2185
1238:../libBME280/src/bme280.c ****     var1 = ((double)calib_data->t_fine) - 76800.0;
2186
 846              		.loc 1 1238 5 view .LVU182
2187
 847              		.loc 1 1238 13 is_stmt 0 view .LVU183
2188
 848 000a 486A     		ldr	r0, [r1, #36]
2189
 849              	.LVL110:
2190
 850              		.loc 1 1238 13 view .LVU184
2191
 851 000c FFF7FEFF 		bl	__aeabi_i2d
2192
 852              	.LVL111:
2193
 853              		.loc 1 1238 10 view .LVU185
2194
 854 0010 0022     		movs	r2, #0
2195
 855 0012 524B     		ldr	r3, .L29
2196
 856 0014 FFF7FEFF 		bl	__aeabi_dsub
2197
 857              	.LVL112:
2198
 858 0018 0646     		mov	r6, r0
2199
 859 001a 0F46     		mov	r7, r1
2200
 860              	.LVL113:
2201
1239:../libBME280/src/bme280.c ****     var2 = (((double)calib_data->dig_h4) * 64.0 + (((double)calib_data->dig_h5) / 16384.0) * var1);
2202
 861              		.loc 1 1239 5 is_stmt 1 view .LVU186
2203
 862              		.loc 1 1239 14 is_stmt 0 view .LVU187
2204
 863 001c BAF91E00 		ldrsh	r0, [r10, #30]
2205
 864 0020 FFF7FEFF 		bl	__aeabi_i2d
2206
 865              	.LVL114:
2207
 866              		.loc 1 1239 42 view .LVU188
2208
 867 0024 0022     		movs	r2, #0
2209
 868 0026 4E4B     		ldr	r3, .L29+4
2210
 869 0028 FFF7FEFF 		bl	__aeabi_dmul
2211
 870              	.LVL115:
2212
 871 002c 0446     		mov	r4, r0
2213
 872 002e 0D46     		mov	r5, r1
2214
 873              		.loc 1 1239 53 view .LVU189
2215
 874 0030 BAF92000 		ldrsh	r0, [r10, #32]
2216
 875 0034 FFF7FEFF 		bl	__aeabi_i2d
2217
 876              	.LVL116:
2218
 877              		.loc 1 1239 81 view .LVU190
2219
 878 0038 0022     		movs	r2, #0
2220
 879 003a 4A4B     		ldr	r3, .L29+8
2221
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 38
2222
 
2223
 
2224
 880 003c FFF7FEFF 		bl	__aeabi_dmul
2225
 881              	.LVL117:
2226
 882              		.loc 1 1239 92 view .LVU191
2227
 883 0040 3246     		mov	r2, r6
2228
 884 0042 3B46     		mov	r3, r7
2229
 885 0044 FFF7FEFF 		bl	__aeabi_dmul
2230
 886              	.LVL118:
2231
 887              		.loc 1 1239 10 view .LVU192
2232
 888 0048 0246     		mov	r2, r0
2233
 889 004a 0B46     		mov	r3, r1
2234
 890 004c 2046     		mov	r0, r4
2235
 891 004e 2946     		mov	r1, r5
2236
 892 0050 FFF7FEFF 		bl	__aeabi_dadd
2237
 893              	.LVL119:
2238
 894 0054 0446     		mov	r4, r0
2239
 895 0056 0D46     		mov	r5, r1
2240
 896              	.LVL120:
2241
1240:../libBME280/src/bme280.c ****     var3 = uncomp_data->humidity - var2;
2242
 897              		.loc 1 1240 5 is_stmt 1 view .LVU193
2243
 898              		.loc 1 1240 34 is_stmt 0 view .LVU194
2244
 899 0058 D8F80800 		ldr	r0, [r8, #8]
2245
 900 005c FFF7FEFF 		bl	__aeabi_ui2d
2246
 901              	.LVL121:
2247
 902              		.loc 1 1240 10 view .LVU195
2248
 903 0060 2246     		mov	r2, r4
2249
 904 0062 2B46     		mov	r3, r5
2250
 905 0064 FFF7FEFF 		bl	__aeabi_dsub
2251
 906              	.LVL122:
2252
 907 0068 CDE90001 		strd	r0, [sp]
2253
 908              	.LVL123:
2254
1241:../libBME280/src/bme280.c ****     var4 = ((double)calib_data->dig_h2) / 65536.0;
2255
 909              		.loc 1 1241 5 is_stmt 1 view .LVU196
2256
 910              		.loc 1 1241 13 is_stmt 0 view .LVU197
2257
 911 006c BAF91A00 		ldrsh	r0, [r10, #26]
2258
 912              	.LVL124:
2259
 913              		.loc 1 1241 13 view .LVU198
2260
 914 0070 FFF7FEFF 		bl	__aeabi_i2d
2261
 915              	.LVL125:
2262
 916              		.loc 1 1241 10 view .LVU199
2263
 917 0074 0022     		movs	r2, #0
2264
 918 0076 3C4B     		ldr	r3, .L29+12
2265
 919 0078 FFF7FEFF 		bl	__aeabi_dmul
2266
 920              	.LVL126:
2267
 921 007c CDE90201 		strd	r0, [sp, #8]
2268
 922              	.LVL127:
2269
1242:../libBME280/src/bme280.c ****     var5 = (1.0 + (((double)calib_data->dig_h3) / 67108864.0) * var1);
2270
 923              		.loc 1 1242 5 is_stmt 1 view .LVU200
2271
 924              		.loc 1 1242 21 is_stmt 0 view .LVU201
2272
 925 0080 9AF81C00 		ldrb	r0, [r10, #28]	@ zero_extendqisi2
2273
 926              	.LVL128:
2274
 927              		.loc 1 1242 21 view .LVU202
2275
 928 0084 FFF7FEFF 		bl	__aeabi_ui2d
2276
 929              	.LVL129:
2277
 930              		.loc 1 1242 49 view .LVU203
2278
 931 0088 0022     		movs	r2, #0
2279
 932 008a 384B     		ldr	r3, .L29+16
2280
 933 008c FFF7FEFF 		bl	__aeabi_dmul
2281
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 39
2282
 
2283
 
2284
 934              	.LVL130:
2285
 935              		.loc 1 1242 63 view .LVU204
2286
 936 0090 3246     		mov	r2, r6
2287
 937 0092 3B46     		mov	r3, r7
2288
 938 0094 FFF7FEFF 		bl	__aeabi_dmul
2289
 939              	.LVL131:
2290
 940              		.loc 1 1242 10 view .LVU205
2291
 941 0098 0022     		movs	r2, #0
2292
 942 009a 354B     		ldr	r3, .L29+20
2293
 943 009c FFF7FEFF 		bl	__aeabi_dadd
2294
 944              	.LVL132:
2295
 945 00a0 0446     		mov	r4, r0
2296
 946              	.LVL133:
2297
 947              		.loc 1 1242 10 view .LVU206
2298
 948 00a2 0D46     		mov	r5, r1
2299
 949              	.LVL134:
2300
1243:../libBME280/src/bme280.c ****     var6 = 1.0 + (((double)calib_data->dig_h6) / 67108864.0) * var1 * var5;
2301
 950              		.loc 1 1243 5 is_stmt 1 view .LVU207
2302
 951              		.loc 1 1243 20 is_stmt 0 view .LVU208
2303
 952 00a4 9AF92200 		ldrsb	r0, [r10, #34]
2304
 953 00a8 FFF7FEFF 		bl	__aeabi_i2d
2305
 954              	.LVL135:
2306
 955              		.loc 1 1243 48 view .LVU209
2307
 956 00ac 0022     		movs	r2, #0
2308
 957 00ae 2F4B     		ldr	r3, .L29+16
2309
 958 00b0 FFF7FEFF 		bl	__aeabi_dmul
2310
 959              	.LVL136:
2311
 960              		.loc 1 1243 62 view .LVU210
2312
 961 00b4 3246     		mov	r2, r6
2313
 962 00b6 3B46     		mov	r3, r7
2314
 963 00b8 FFF7FEFF 		bl	__aeabi_dmul
2315
 964              	.LVL137:
2316
 965              		.loc 1 1243 69 view .LVU211
2317
 966 00bc 2246     		mov	r2, r4
2318
 967 00be 2B46     		mov	r3, r5
2319
 968 00c0 FFF7FEFF 		bl	__aeabi_dmul
2320
 969              	.LVL138:
2321
 970              		.loc 1 1243 10 view .LVU212
2322
 971 00c4 0022     		movs	r2, #0
2323
 972 00c6 2A4B     		ldr	r3, .L29+20
2324
 973 00c8 FFF7FEFF 		bl	__aeabi_dadd
2325
 974              	.LVL139:
2326
 975 00cc 8046     		mov	r8, r0
2327
 976              	.LVL140:
2328
 977              		.loc 1 1243 10 view .LVU213
2329
 978 00ce 8946     		mov	r9, r1
2330
 979              	.LVL141:
2331
1244:../libBME280/src/bme280.c ****     var6 = var3 * var4 * (var5 * var6);
2332
 980              		.loc 1 1244 5 is_stmt 1 view .LVU214
2333
 981              		.loc 1 1244 17 is_stmt 0 view .LVU215
2334
 982 00d0 DDE90223 		ldrd	r2, [sp, #8]
2335
 983 00d4 DDE90001 		ldrd	r0, [sp]
2336
 984 00d8 FFF7FEFF 		bl	__aeabi_dmul
2337
 985              	.LVL142:
2338
 986 00dc 0646     		mov	r6, r0
2339
 987              	.LVL143:
2340
 988              		.loc 1 1244 17 view .LVU216
2341
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 40
2342
 
2343
 
2344
 989 00de 0F46     		mov	r7, r1
2345
 990              		.loc 1 1244 32 view .LVU217
2346
 991 00e0 4246     		mov	r2, r8
2347
 992 00e2 4B46     		mov	r3, r9
2348
 993 00e4 2046     		mov	r0, r4
2349
 994 00e6 2946     		mov	r1, r5
2350
 995 00e8 FFF7FEFF 		bl	__aeabi_dmul
2351
 996              	.LVL144:
2352
 997              		.loc 1 1244 10 view .LVU218
2353
 998 00ec 0246     		mov	r2, r0
2354
 999 00ee 0B46     		mov	r3, r1
2355
 1000 00f0 3046     		mov	r0, r6
2356
 1001 00f2 3946     		mov	r1, r7
2357
 1002 00f4 FFF7FEFF 		bl	__aeabi_dmul
2358
 1003              	.LVL145:
2359
 1004 00f8 0446     		mov	r4, r0
2360
 1005              	.LVL146:
2361
 1006              		.loc 1 1244 10 view .LVU219
2362
 1007 00fa 0D46     		mov	r5, r1
2363
 1008              	.LVL147:
2364
1245:../libBME280/src/bme280.c ****     humidity = var6 * (1.0 - ((double)calib_data->dig_h1) * var6 / 524288.0);
2365
 1009              		.loc 1 1245 5 is_stmt 1 view .LVU220
2366
 1010              		.loc 1 1245 31 is_stmt 0 view .LVU221
2367
 1011 00fc 9AF81800 		ldrb	r0, [r10, #24]	@ zero_extendqisi2
2368
 1012 0100 FFF7FEFF 		bl	__aeabi_ui2d
2369
 1013              	.LVL148:
2370
 1014              		.loc 1 1245 59 view .LVU222
2371
 1015 0104 2246     		mov	r2, r4
2372
 1016 0106 2B46     		mov	r3, r5
2373
 1017 0108 FFF7FEFF 		bl	__aeabi_dmul
2374
 1018              	.LVL149:
2375
 1019              		.loc 1 1245 66 view .LVU223
2376
 1020 010c 0022     		movs	r2, #0
2377
 1021 010e 4FF07B53 		mov	r3, #1052770304
2378
 1022 0112 FFF7FEFF 		bl	__aeabi_dmul
2379
 1023              	.LVL150:
2380
 1024              		.loc 1 1245 28 view .LVU224
2381
 1025 0116 0246     		mov	r2, r0
2382
 1026 0118 0B46     		mov	r3, r1
2383
 1027 011a 0020     		movs	r0, #0
2384
 1028 011c 1449     		ldr	r1, .L29+20
2385
 1029 011e FFF7FEFF 		bl	__aeabi_dsub
2386
 1030              	.LVL151:
2387
 1031              		.loc 1 1245 14 view .LVU225
2388
 1032 0122 2246     		mov	r2, r4
2389
 1033 0124 2B46     		mov	r3, r5
2390
 1034 0126 FFF7FEFF 		bl	__aeabi_dmul
2391
 1035              	.LVL152:
2392
 1036 012a 0446     		mov	r4, r0
2393
 1037              	.LVL153:
2394
 1038              		.loc 1 1245 14 view .LVU226
2395
 1039 012c 0D46     		mov	r5, r1
2396
 1040              	.LVL154:
2397
1246:../libBME280/src/bme280.c **** 
2398
1247:../libBME280/src/bme280.c ****     if (humidity > humidity_max)
2399
 1041              		.loc 1 1247 5 is_stmt 1 view .LVU227
2400
 1042              		.loc 1 1247 8 is_stmt 0 view .LVU228
2401
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 41
2402
 
2403
 
2404
 1043 012e 0022     		movs	r2, #0
2405
 1044 0130 104B     		ldr	r3, .L29+24
2406
 1045 0132 FFF7FEFF 		bl	__aeabi_dcmpgt
2407
 1046              	.LVL155:
2408
 1047 0136 48B9     		cbnz	r0, .L26
2409
1248:../libBME280/src/bme280.c ****     {
2410
1249:../libBME280/src/bme280.c ****         humidity = humidity_max;
2411
1250:../libBME280/src/bme280.c ****     }
2412
1251:../libBME280/src/bme280.c ****     else if (humidity < humidity_min)
2413
 1048              		.loc 1 1251 10 is_stmt 1 view .LVU229
2414
 1049              		.loc 1 1251 13 is_stmt 0 view .LVU230
2415
 1050 0138 0022     		movs	r2, #0
2416
 1051 013a 0023     		movs	r3, #0
2417
 1052 013c 2046     		mov	r0, r4
2418
 1053 013e 2946     		mov	r1, r5
2419
 1054 0140 FFF7FEFF 		bl	__aeabi_dcmplt
2420
 1055              	.LVL156:
2421
 1056 0144 20B1     		cbz	r0, .L24
2422
1252:../libBME280/src/bme280.c ****     {
2423
1253:../libBME280/src/bme280.c ****         humidity = humidity_min;
2424
 1057              		.loc 1 1253 18 view .LVU231
2425
 1058 0146 0024     		movs	r4, #0
2426
 1059              	.LVL157:
2427
 1060              		.loc 1 1253 18 view .LVU232
2428
 1061 0148 0025     		movs	r5, #0
2429
 1062              	.LVL158:
2430
1254:../libBME280/src/bme280.c ****     }
2431
1255:../libBME280/src/bme280.c **** 
2432
1256:../libBME280/src/bme280.c ****     return humidity;
2433
 1063              		.loc 1 1256 5 is_stmt 1 view .LVU233
2434
 1064              		.loc 1 1256 12 is_stmt 0 view .LVU234
2435
 1065 014a 01E0     		b	.L24
2436
 1066              	.LVL159:
2437
 1067              	.L26:
2438
1249:../libBME280/src/bme280.c ****     }
2439
 1068              		.loc 1 1249 18 view .LVU235
2440
 1069 014c 0024     		movs	r4, #0
2441
 1070              	.LVL160:
2442
1249:../libBME280/src/bme280.c ****     }
2443
 1071              		.loc 1 1249 18 view .LVU236
2444
 1072 014e 094D     		ldr	r5, .L29+24
2445
 1073              	.L24:
2446
1257:../libBME280/src/bme280.c **** }
2447
 1074              		.loc 1 1257 1 view .LVU237
2448
 1075 0150 2046     		mov	r0, r4
2449
 1076 0152 2946     		mov	r1, r5
2450
 1077 0154 04B0     		add	sp, sp, #16
2451
 1078              	.LCFI4:
2452
 1079              		.cfi_def_cfa_offset 32
2453
 1080              	.LVL161:
2454
 1081              		.loc 1 1257 1 view .LVU238
2455
 1082              		@ sp needed
2456
 1083 0156 BDE8F087 		pop	{r4, r5, r6, r7, r8, r9, r10, pc}
2457
 1084              	.LVL162:
2458
 1085              	.L30:
2459
 1086              		.loc 1 1257 1 view .LVU239
2460
 1087 015a 00BF     		.align	2
2461
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 42
2462
 
2463
 
2464
 1088              	.L29:
2465
 1089 015c 00C0F240 		.word	1089650688
2466
 1090 0160 00005040 		.word	1078984704
2467
 1091 0164 0000103F 		.word	1058013184
2468
 1092 0168 0000F03E 		.word	1055916032
2469
 1093 016c 0000503E 		.word	1045430272
2470
 1094 0170 0000F03F 		.word	1072693248
2471
 1095 0174 00005940 		.word	1079574528
2472
 1096              		.cfi_endproc
2473
 1097              	.LFE26:
2474
 1099              		.section	.text.interleave_reg_addr,"ax",%progbits
2475
 1100              		.align	1
2476
 1101              		.syntax unified
2477
 1102              		.thumb
2478
 1103              		.thumb_func
2479
 1104              		.fpu softvfp
2480
 1106              	interleave_reg_addr:
2481
 1107              	.LVL163:
2482
 1108              	.LFB28:
2483
1258:../libBME280/src/bme280.c **** 
2484
1259:../libBME280/src/bme280.c **** #else
2485
1260:../libBME280/src/bme280.c **** 
2486
1261:../libBME280/src/bme280.c **** /*!
2487
1262:../libBME280/src/bme280.c ****  * @brief This internal API is used to compensate the raw temperature data and
2488
1263:../libBME280/src/bme280.c ****  * return the compensated temperature data in integer data type.
2489
1264:../libBME280/src/bme280.c ****  */
2490
1265:../libBME280/src/bme280.c **** static int32_t compensate_temperature(const struct bme280_uncomp_data *uncomp_data,
2491
1266:../libBME280/src/bme280.c ****                                       struct bme280_calib_data *calib_data)
2492
1267:../libBME280/src/bme280.c **** {
2493
1268:../libBME280/src/bme280.c ****     int32_t var1;
2494
1269:../libBME280/src/bme280.c ****     int32_t var2;
2495
1270:../libBME280/src/bme280.c ****     int32_t temperature;
2496
1271:../libBME280/src/bme280.c ****     int32_t temperature_min = -4000;
2497
1272:../libBME280/src/bme280.c ****     int32_t temperature_max = 8500;
2498
1273:../libBME280/src/bme280.c **** 
2499
1274:../libBME280/src/bme280.c ****     var1 = (int32_t)((uncomp_data->temperature / 8) - ((int32_t)calib_data->dig_t1 * 2));
2500
1275:../libBME280/src/bme280.c ****     var1 = (var1 * ((int32_t)calib_data->dig_t2)) / 2048;
2501
1276:../libBME280/src/bme280.c ****     var2 = (int32_t)((uncomp_data->temperature / 16) - ((int32_t)calib_data->dig_t1));
2502
1277:../libBME280/src/bme280.c ****     var2 = (((var2 * var2) / 4096) * ((int32_t)calib_data->dig_t3)) / 16384;
2503
1278:../libBME280/src/bme280.c ****     calib_data->t_fine = var1 + var2;
2504
1279:../libBME280/src/bme280.c ****     temperature = (calib_data->t_fine * 5 + 128) / 256;
2505
1280:../libBME280/src/bme280.c **** 
2506
1281:../libBME280/src/bme280.c ****     if (temperature < temperature_min)
2507
1282:../libBME280/src/bme280.c ****     {
2508
1283:../libBME280/src/bme280.c ****         temperature = temperature_min;
2509
1284:../libBME280/src/bme280.c ****     }
2510
1285:../libBME280/src/bme280.c ****     else if (temperature > temperature_max)
2511
1286:../libBME280/src/bme280.c ****     {
2512
1287:../libBME280/src/bme280.c ****         temperature = temperature_max;
2513
1288:../libBME280/src/bme280.c ****     }
2514
1289:../libBME280/src/bme280.c **** 
2515
1290:../libBME280/src/bme280.c ****     return temperature;
2516
1291:../libBME280/src/bme280.c **** }
2517
1292:../libBME280/src/bme280.c **** #ifndef BME280_32BIT_ENABLE /* 64 bit compensation for pressure data */
2518
1293:../libBME280/src/bme280.c **** 
2519
1294:../libBME280/src/bme280.c **** /*!
2520
1295:../libBME280/src/bme280.c ****  * @brief This internal API is used to compensate the raw pressure data and
2521
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 43
2522
 
2523
 
2524
1296:../libBME280/src/bme280.c ****  * return the compensated pressure data in integer data type with higher
2525
1297:../libBME280/src/bme280.c ****  * accuracy.
2526
1298:../libBME280/src/bme280.c ****  */
2527
1299:../libBME280/src/bme280.c **** static uint32_t compensate_pressure(const struct bme280_uncomp_data *uncomp_data,
2528
1300:../libBME280/src/bme280.c ****                                     const struct bme280_calib_data *calib_data)
2529
1301:../libBME280/src/bme280.c **** {
2530
1302:../libBME280/src/bme280.c ****     int64_t var1;
2531
1303:../libBME280/src/bme280.c ****     int64_t var2;
2532
1304:../libBME280/src/bme280.c ****     int64_t var3;
2533
1305:../libBME280/src/bme280.c ****     int64_t var4;
2534
1306:../libBME280/src/bme280.c ****     uint32_t pressure;
2535
1307:../libBME280/src/bme280.c ****     uint32_t pressure_min = 3000000;
2536
1308:../libBME280/src/bme280.c ****     uint32_t pressure_max = 11000000;
2537
1309:../libBME280/src/bme280.c **** 
2538
1310:../libBME280/src/bme280.c ****     var1 = ((int64_t)calib_data->t_fine) - 128000;
2539
1311:../libBME280/src/bme280.c ****     var2 = var1 * var1 * (int64_t)calib_data->dig_p6;
2540
1312:../libBME280/src/bme280.c ****     var2 = var2 + ((var1 * (int64_t)calib_data->dig_p5) * 131072);
2541
1313:../libBME280/src/bme280.c ****     var2 = var2 + (((int64_t)calib_data->dig_p4) * 34359738368);
2542
1314:../libBME280/src/bme280.c ****     var1 = ((var1 * var1 * (int64_t)calib_data->dig_p3) / 256) + ((var1 * ((int64_t)calib_data->dig
2543
1315:../libBME280/src/bme280.c ****     var3 = ((int64_t)1) * 140737488355328;
2544
1316:../libBME280/src/bme280.c ****     var1 = (var3 + var1) * ((int64_t)calib_data->dig_p1) / 8589934592;
2545
1317:../libBME280/src/bme280.c **** 
2546
1318:../libBME280/src/bme280.c ****     /* To avoid divide by zero exception */
2547
1319:../libBME280/src/bme280.c ****     if (var1 != 0)
2548
1320:../libBME280/src/bme280.c ****     {
2549
1321:../libBME280/src/bme280.c ****         var4 = 1048576 - uncomp_data->pressure;
2550
1322:../libBME280/src/bme280.c ****         var4 = (((var4 * INT64_C(2147483648)) - var2) * 3125) / var1;
2551
1323:../libBME280/src/bme280.c ****         var1 = (((int64_t)calib_data->dig_p9) * (var4 / 8192) * (var4 / 8192)) / 33554432;
2552
1324:../libBME280/src/bme280.c ****         var2 = (((int64_t)calib_data->dig_p8) * var4) / 524288;
2553
1325:../libBME280/src/bme280.c ****         var4 = ((var4 + var1 + var2) / 256) + (((int64_t)calib_data->dig_p7) * 16);
2554
1326:../libBME280/src/bme280.c ****         pressure = (uint32_t)(((var4 / 2) * 100) / 128);
2555
1327:../libBME280/src/bme280.c **** 
2556
1328:../libBME280/src/bme280.c ****         if (pressure < pressure_min)
2557
1329:../libBME280/src/bme280.c ****         {
2558
1330:../libBME280/src/bme280.c ****             pressure = pressure_min;
2559
1331:../libBME280/src/bme280.c ****         }
2560
1332:../libBME280/src/bme280.c ****         else if (pressure > pressure_max)
2561
1333:../libBME280/src/bme280.c ****         {
2562
1334:../libBME280/src/bme280.c ****             pressure = pressure_max;
2563
1335:../libBME280/src/bme280.c ****         }
2564
1336:../libBME280/src/bme280.c ****     }
2565
1337:../libBME280/src/bme280.c ****     else
2566
1338:../libBME280/src/bme280.c ****     {
2567
1339:../libBME280/src/bme280.c ****         pressure = pressure_min;
2568
1340:../libBME280/src/bme280.c ****     }
2569
1341:../libBME280/src/bme280.c **** 
2570
1342:../libBME280/src/bme280.c ****     return pressure;
2571
1343:../libBME280/src/bme280.c **** }
2572
1344:../libBME280/src/bme280.c **** #else /* 32 bit compensation for pressure data */
2573
1345:../libBME280/src/bme280.c **** 
2574
1346:../libBME280/src/bme280.c **** /*!
2575
1347:../libBME280/src/bme280.c ****  * @brief This internal API is used to compensate the raw pressure data and
2576
1348:../libBME280/src/bme280.c ****  * return the compensated pressure data in integer data type.
2577
1349:../libBME280/src/bme280.c ****  */
2578
1350:../libBME280/src/bme280.c **** static uint32_t compensate_pressure(const struct bme280_uncomp_data *uncomp_data,
2579
1351:../libBME280/src/bme280.c ****                                     const struct bme280_calib_data *calib_data)
2580
1352:../libBME280/src/bme280.c **** {
2581
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 44
2582
 
2583
 
2584
1353:../libBME280/src/bme280.c ****     int32_t var1;
2585
1354:../libBME280/src/bme280.c ****     int32_t var2;
2586
1355:../libBME280/src/bme280.c ****     int32_t var3;
2587
1356:../libBME280/src/bme280.c ****     int32_t var4;
2588
1357:../libBME280/src/bme280.c ****     uint32_t var5;
2589
1358:../libBME280/src/bme280.c ****     uint32_t pressure;
2590
1359:../libBME280/src/bme280.c ****     uint32_t pressure_min = 30000;
2591
1360:../libBME280/src/bme280.c ****     uint32_t pressure_max = 110000;
2592
1361:../libBME280/src/bme280.c **** 
2593
1362:../libBME280/src/bme280.c ****     var1 = (((int32_t)calib_data->t_fine) / 2) - (int32_t)64000;
2594
1363:../libBME280/src/bme280.c ****     var2 = (((var1 / 4) * (var1 / 4)) / 2048) * ((int32_t)calib_data->dig_p6);
2595
1364:../libBME280/src/bme280.c ****     var2 = var2 + ((var1 * ((int32_t)calib_data->dig_p5)) * 2);
2596
1365:../libBME280/src/bme280.c ****     var2 = (var2 / 4) + (((int32_t)calib_data->dig_p4) * 65536);
2597
1366:../libBME280/src/bme280.c ****     var3 = (calib_data->dig_p3 * (((var1 / 4) * (var1 / 4)) / 8192)) / 8;
2598
1367:../libBME280/src/bme280.c ****     var4 = (((int32_t)calib_data->dig_p2) * var1) / 2;
2599
1368:../libBME280/src/bme280.c ****     var1 = (var3 + var4) / 262144;
2600
1369:../libBME280/src/bme280.c ****     var1 = (((32768 + var1)) * ((int32_t)calib_data->dig_p1)) / 32768;
2601
1370:../libBME280/src/bme280.c **** 
2602
1371:../libBME280/src/bme280.c ****     /* avoid exception caused by division by zero */
2603
1372:../libBME280/src/bme280.c ****     if (var1)
2604
1373:../libBME280/src/bme280.c ****     {
2605
1374:../libBME280/src/bme280.c ****         var5 = (uint32_t)((uint32_t)1048576) - uncomp_data->pressure;
2606
1375:../libBME280/src/bme280.c ****         pressure = ((uint32_t)(var5 - (uint32_t)(var2 / 4096))) * 3125;
2607
1376:../libBME280/src/bme280.c **** 
2608
1377:../libBME280/src/bme280.c ****         if (pressure < 0x80000000)
2609
1378:../libBME280/src/bme280.c ****         {
2610
1379:../libBME280/src/bme280.c ****             pressure = (pressure << 1) / ((uint32_t)var1);
2611
1380:../libBME280/src/bme280.c ****         }
2612
1381:../libBME280/src/bme280.c ****         else
2613
1382:../libBME280/src/bme280.c ****         {
2614
1383:../libBME280/src/bme280.c ****             pressure = (pressure / (uint32_t)var1) * 2;
2615
1384:../libBME280/src/bme280.c ****         }
2616
1385:../libBME280/src/bme280.c **** 
2617
1386:../libBME280/src/bme280.c ****         var1 = (((int32_t)calib_data->dig_p9) * ((int32_t)(((pressure / 8) * (pressure / 8)) / 8192
2618
1387:../libBME280/src/bme280.c ****         var2 = (((int32_t)(pressure / 4)) * ((int32_t)calib_data->dig_p8)) / 8192;
2619
1388:../libBME280/src/bme280.c ****         pressure = (uint32_t)((int32_t)pressure + ((var1 + var2 + calib_data->dig_p7) / 16));
2620
1389:../libBME280/src/bme280.c **** 
2621
1390:../libBME280/src/bme280.c ****         if (pressure < pressure_min)
2622
1391:../libBME280/src/bme280.c ****         {
2623
1392:../libBME280/src/bme280.c ****             pressure = pressure_min;
2624
1393:../libBME280/src/bme280.c ****         }
2625
1394:../libBME280/src/bme280.c ****         else if (pressure > pressure_max)
2626
1395:../libBME280/src/bme280.c ****         {
2627
1396:../libBME280/src/bme280.c ****             pressure = pressure_max;
2628
1397:../libBME280/src/bme280.c ****         }
2629
1398:../libBME280/src/bme280.c ****     }
2630
1399:../libBME280/src/bme280.c ****     else
2631
1400:../libBME280/src/bme280.c ****     {
2632
1401:../libBME280/src/bme280.c ****         pressure = pressure_min;
2633
1402:../libBME280/src/bme280.c ****     }
2634
1403:../libBME280/src/bme280.c **** 
2635
1404:../libBME280/src/bme280.c ****     return pressure;
2636
1405:../libBME280/src/bme280.c **** }
2637
1406:../libBME280/src/bme280.c **** #endif
2638
1407:../libBME280/src/bme280.c **** 
2639
1408:../libBME280/src/bme280.c **** /*!
2640
1409:../libBME280/src/bme280.c ****  * @brief This internal API is used to compensate the raw humidity data and
2641
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 45
2642
 
2643
 
2644
1410:../libBME280/src/bme280.c ****  * return the compensated humidity data in integer data type.
2645
1411:../libBME280/src/bme280.c ****  */
2646
1412:../libBME280/src/bme280.c **** static uint32_t compensate_humidity(const struct bme280_uncomp_data *uncomp_data,
2647
1413:../libBME280/src/bme280.c ****                                     const struct bme280_calib_data *calib_data)
2648
1414:../libBME280/src/bme280.c **** {
2649
1415:../libBME280/src/bme280.c ****     int32_t var1;
2650
1416:../libBME280/src/bme280.c ****     int32_t var2;
2651
1417:../libBME280/src/bme280.c ****     int32_t var3;
2652
1418:../libBME280/src/bme280.c ****     int32_t var4;
2653
1419:../libBME280/src/bme280.c ****     int32_t var5;
2654
1420:../libBME280/src/bme280.c ****     uint32_t humidity;
2655
1421:../libBME280/src/bme280.c ****     uint32_t humidity_max = 102400;
2656
1422:../libBME280/src/bme280.c **** 
2657
1423:../libBME280/src/bme280.c ****     var1 = calib_data->t_fine - ((int32_t)76800);
2658
1424:../libBME280/src/bme280.c ****     var2 = (int32_t)(uncomp_data->humidity * 16384);
2659
1425:../libBME280/src/bme280.c ****     var3 = (int32_t)(((int32_t)calib_data->dig_h4) * 1048576);
2660
1426:../libBME280/src/bme280.c ****     var4 = ((int32_t)calib_data->dig_h5) * var1;
2661
1427:../libBME280/src/bme280.c ****     var5 = (((var2 - var3) - var4) + (int32_t)16384) / 32768;
2662
1428:../libBME280/src/bme280.c ****     var2 = (var1 * ((int32_t)calib_data->dig_h6)) / 1024;
2663
1429:../libBME280/src/bme280.c ****     var3 = (var1 * ((int32_t)calib_data->dig_h3)) / 2048;
2664
1430:../libBME280/src/bme280.c ****     var4 = ((var2 * (var3 + (int32_t)32768)) / 1024) + (int32_t)2097152;
2665
1431:../libBME280/src/bme280.c ****     var2 = ((var4 * ((int32_t)calib_data->dig_h2)) + 8192) / 16384;
2666
1432:../libBME280/src/bme280.c ****     var3 = var5 * var2;
2667
1433:../libBME280/src/bme280.c ****     var4 = ((var3 / 32768) * (var3 / 32768)) / 128;
2668
1434:../libBME280/src/bme280.c ****     var5 = var3 - ((var4 * ((int32_t)calib_data->dig_h1)) / 16);
2669
1435:../libBME280/src/bme280.c ****     var5 = (var5 < 0 ? 0 : var5);
2670
1436:../libBME280/src/bme280.c ****     var5 = (var5 > 419430400 ? 419430400 : var5);
2671
1437:../libBME280/src/bme280.c ****     humidity = (uint32_t)(var5 / 4096);
2672
1438:../libBME280/src/bme280.c **** 
2673
1439:../libBME280/src/bme280.c ****     if (humidity > humidity_max)
2674
1440:../libBME280/src/bme280.c ****     {
2675
1441:../libBME280/src/bme280.c ****         humidity = humidity_max;
2676
1442:../libBME280/src/bme280.c ****     }
2677
1443:../libBME280/src/bme280.c **** 
2678
1444:../libBME280/src/bme280.c ****     return humidity;
2679
1445:../libBME280/src/bme280.c **** }
2680
1446:../libBME280/src/bme280.c **** #endif
2681
1447:../libBME280/src/bme280.c **** 
2682
1448:../libBME280/src/bme280.c **** /*!
2683
1449:../libBME280/src/bme280.c ****  * @brief This internal API reads the calibration data from the sensor, parse
2684
1450:../libBME280/src/bme280.c ****  * it and store in the device structure.
2685
1451:../libBME280/src/bme280.c ****  */
2686
1452:../libBME280/src/bme280.c **** static int8_t get_calib_data(struct bme280_dev *dev)
2687
1453:../libBME280/src/bme280.c **** {
2688
1454:../libBME280/src/bme280.c ****     int8_t rslt;
2689
1455:../libBME280/src/bme280.c ****     uint8_t reg_addr = BME280_TEMP_PRESS_CALIB_DATA_ADDR;
2690
1456:../libBME280/src/bme280.c **** 
2691
1457:../libBME280/src/bme280.c ****     /* Array to store calibration data */
2692
1458:../libBME280/src/bme280.c ****     uint8_t calib_data[BME280_TEMP_PRESS_CALIB_DATA_LEN] = { 0 };
2693
1459:../libBME280/src/bme280.c **** 
2694
1460:../libBME280/src/bme280.c ****     /* Read the calibration data from the sensor */
2695
1461:../libBME280/src/bme280.c ****     rslt = bme280_get_regs(reg_addr, calib_data, BME280_TEMP_PRESS_CALIB_DATA_LEN, dev);
2696
1462:../libBME280/src/bme280.c **** 
2697
1463:../libBME280/src/bme280.c ****     if (rslt == BME280_OK)
2698
1464:../libBME280/src/bme280.c ****     {
2699
1465:../libBME280/src/bme280.c ****         /* Parse temperature and pressure calibration data and store
2700
1466:../libBME280/src/bme280.c ****          * it in device structure
2701
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 46
2702
 
2703
 
2704
1467:../libBME280/src/bme280.c ****          */
2705
1468:../libBME280/src/bme280.c ****         parse_temp_press_calib_data(calib_data, dev);
2706
1469:../libBME280/src/bme280.c ****         reg_addr = BME280_HUMIDITY_CALIB_DATA_ADDR;
2707
1470:../libBME280/src/bme280.c **** 
2708
1471:../libBME280/src/bme280.c ****         /* Read the humidity calibration data from the sensor */
2709
1472:../libBME280/src/bme280.c ****         rslt = bme280_get_regs(reg_addr, calib_data, BME280_HUMIDITY_CALIB_DATA_LEN, dev);
2710
1473:../libBME280/src/bme280.c **** 
2711
1474:../libBME280/src/bme280.c ****         if (rslt == BME280_OK)
2712
1475:../libBME280/src/bme280.c ****         {
2713
1476:../libBME280/src/bme280.c ****             /* Parse humidity calibration data and store it in
2714
1477:../libBME280/src/bme280.c ****              * device structure
2715
1478:../libBME280/src/bme280.c ****              */
2716
1479:../libBME280/src/bme280.c ****             parse_humidity_calib_data(calib_data, dev);
2717
1480:../libBME280/src/bme280.c ****         }
2718
1481:../libBME280/src/bme280.c ****     }
2719
1482:../libBME280/src/bme280.c **** 
2720
1483:../libBME280/src/bme280.c ****     return rslt;
2721
1484:../libBME280/src/bme280.c **** }
2722
1485:../libBME280/src/bme280.c **** 
2723
1486:../libBME280/src/bme280.c **** /*!
2724
1487:../libBME280/src/bme280.c ****  * @brief This internal API interleaves the register address between the
2725
1488:../libBME280/src/bme280.c ****  * register data buffer for burst write operation.
2726
1489:../libBME280/src/bme280.c ****  */
2727
1490:../libBME280/src/bme280.c **** static void interleave_reg_addr(const uint8_t *reg_addr, uint8_t *temp_buff, const uint8_t *reg_dat
2728
1491:../libBME280/src/bme280.c **** {
2729
 1109              		.loc 1 1491 1 is_stmt 1 view -0
2730
 1110              		.cfi_startproc
2731
 1111              		@ args = 0, pretend = 0, frame = 0
2732
 1112              		@ frame_needed = 0, uses_anonymous_args = 0
2733
 1113              		@ link register save eliminated.
2734
 1114              		.loc 1 1491 1 is_stmt 0 view .LVU241
2735
 1115 0000 70B4     		push	{r4, r5, r6}
2736
 1116              	.LCFI5:
2737
 1117              		.cfi_def_cfa_offset 12
2738
 1118              		.cfi_offset 4, -12
2739
 1119              		.cfi_offset 5, -8
2740
 1120              		.cfi_offset 6, -4
2741
1492:../libBME280/src/bme280.c ****     uint8_t index;
2742
 1121              		.loc 1 1492 5 is_stmt 1 view .LVU242
2743
1493:../libBME280/src/bme280.c **** 
2744
1494:../libBME280/src/bme280.c ****     for (index = 1; index < len; index++)
2745
 1122              		.loc 1 1494 5 view .LVU243
2746
 1123              	.LVL164:
2747
 1124              		.loc 1 1494 16 is_stmt 0 view .LVU244
2748
 1125 0002 0124     		movs	r4, #1
2749
 1126              	.LVL165:
2750
 1127              	.L32:
2751
 1128              		.loc 1 1494 5 discriminator 1 view .LVU245
2752
 1129 0004 9C42     		cmp	r4, r3
2753
 1130 0006 09D2     		bcs	.L35
2754
1495:../libBME280/src/bme280.c ****     {
2755
1496:../libBME280/src/bme280.c ****         temp_buff[(index * 2) - 1] = reg_addr[index];
2756
 1131              		.loc 1 1496 9 is_stmt 1 discriminator 3 view .LVU246
2757
 1132              		.loc 1 1496 26 is_stmt 0 discriminator 3 view .LVU247
2758
 1133 0008 6500     		lsls	r5, r4, #1
2759
 1134              		.loc 1 1496 18 discriminator 3 view .LVU248
2760
 1135 000a 013D     		subs	r5, r5, #1
2761
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 47
2762
 
2763
 
2764
 1136              		.loc 1 1496 46 discriminator 3 view .LVU249
2765
 1137 000c 065D     		ldrb	r6, [r0, r4]	@ zero_extendqisi2
2766
 1138              		.loc 1 1496 36 discriminator 3 view .LVU250
2767
 1139 000e 4E55     		strb	r6, [r1, r5]
2768
1497:../libBME280/src/bme280.c ****         temp_buff[index * 2] = reg_data[index];
2769
 1140              		.loc 1 1497 9 is_stmt 1 discriminator 3 view .LVU251
2770
 1141              		.loc 1 1497 40 is_stmt 0 discriminator 3 view .LVU252
2771
 1142 0010 155D     		ldrb	r5, [r2, r4]	@ zero_extendqisi2
2772
 1143              		.loc 1 1497 30 discriminator 3 view .LVU253
2773
 1144 0012 01F81450 		strb	r5, [r1, r4, lsl #1]
2774
1494:../libBME280/src/bme280.c ****     {
2775
 1145              		.loc 1 1494 39 discriminator 3 view .LVU254
2776
 1146 0016 0134     		adds	r4, r4, #1
2777
 1147              	.LVL166:
2778
1494:../libBME280/src/bme280.c ****     {
2779
 1148              		.loc 1 1494 39 discriminator 3 view .LVU255
2780
 1149 0018 E4B2     		uxtb	r4, r4
2781
 1150              	.LVL167:
2782
1494:../libBME280/src/bme280.c ****     {
2783
 1151              		.loc 1 1494 39 discriminator 3 view .LVU256
2784
 1152 001a F3E7     		b	.L32
2785
 1153              	.L35:
2786
1498:../libBME280/src/bme280.c ****     }
2787
1499:../libBME280/src/bme280.c **** }
2788
 1154              		.loc 1 1499 1 view .LVU257
2789
 1155 001c 70BC     		pop	{r4, r5, r6}
2790
 1156              	.LCFI6:
2791
 1157              		.cfi_restore 6
2792
 1158              		.cfi_restore 5
2793
 1159              		.cfi_restore 4
2794
 1160              		.cfi_def_cfa_offset 0
2795
 1161              	.LVL168:
2796
 1162              		.loc 1 1499 1 view .LVU258
2797
 1163 001e 7047     		bx	lr
2798
 1164              		.cfi_endproc
2799
 1165              	.LFE28:
2800
 1167              		.section	.text.parse_temp_press_calib_data,"ax",%progbits
2801
 1168              		.align	1
2802
 1169              		.syntax unified
2803
 1170              		.thumb
2804
 1171              		.thumb_func
2805
 1172              		.fpu softvfp
2806
 1174              	parse_temp_press_calib_data:
2807
 1175              	.LVL169:
2808
 1176              	.LFB29:
2809
1500:../libBME280/src/bme280.c **** 
2810
1501:../libBME280/src/bme280.c **** /*!
2811
1502:../libBME280/src/bme280.c ****  *  @brief This internal API is used to parse the temperature and
2812
1503:../libBME280/src/bme280.c ****  *  pressure calibration data and store it in device structure.
2813
1504:../libBME280/src/bme280.c ****  */
2814
1505:../libBME280/src/bme280.c **** static void parse_temp_press_calib_data(const uint8_t *reg_data, struct bme280_dev *dev)
2815
1506:../libBME280/src/bme280.c **** {
2816
 1177              		.loc 1 1506 1 is_stmt 1 view -0
2817
 1178              		.cfi_startproc
2818
 1179              		@ args = 0, pretend = 0, frame = 0
2819
 1180              		@ frame_needed = 0, uses_anonymous_args = 0
2820
 1181              		@ link register save eliminated.
2821
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 48
2822
 
2823
 
2824
1507:../libBME280/src/bme280.c ****     struct bme280_calib_data *calib_data = &dev->calib_data;
2825
 1182              		.loc 1 1507 5 view .LVU260
2826
1508:../libBME280/src/bme280.c **** 
2827
1509:../libBME280/src/bme280.c ****     calib_data->dig_t1 = BME280_CONCAT_BYTES(reg_data[1], reg_data[0]);
2828
 1183              		.loc 1 1509 5 view .LVU261
2829
 1184              		.loc 1 1509 26 is_stmt 0 view .LVU262
2830
 1185 0000 4278     		ldrb	r2, [r0, #1]	@ zero_extendqisi2
2831
 1186 0002 0378     		ldrb	r3, [r0]	@ zero_extendqisi2
2832
 1187 0004 43EA0223 		orr	r3, r3, r2, lsl #8
2833
 1188              		.loc 1 1509 24 view .LVU263
2834
 1189 0008 0B83     		strh	r3, [r1, #24]	@ movhi
2835
1510:../libBME280/src/bme280.c ****     calib_data->dig_t2 = (int16_t)BME280_CONCAT_BYTES(reg_data[3], reg_data[2]);
2836
 1190              		.loc 1 1510 5 is_stmt 1 view .LVU264
2837
 1191              		.loc 1 1510 35 is_stmt 0 view .LVU265
2838
 1192 000a C278     		ldrb	r2, [r0, #3]	@ zero_extendqisi2
2839
 1193 000c 8378     		ldrb	r3, [r0, #2]	@ zero_extendqisi2
2840
 1194              		.loc 1 1510 26 view .LVU266
2841
 1195 000e 43EA0223 		orr	r3, r3, r2, lsl #8
2842
 1196              		.loc 1 1510 24 view .LVU267
2843
 1197 0012 4B83     		strh	r3, [r1, #26]	@ movhi
2844
1511:../libBME280/src/bme280.c ****     calib_data->dig_t3 = (int16_t)BME280_CONCAT_BYTES(reg_data[5], reg_data[4]);
2845
 1198              		.loc 1 1511 5 is_stmt 1 view .LVU268
2846
 1199              		.loc 1 1511 35 is_stmt 0 view .LVU269
2847
 1200 0014 4279     		ldrb	r2, [r0, #5]	@ zero_extendqisi2
2848
 1201 0016 0379     		ldrb	r3, [r0, #4]	@ zero_extendqisi2
2849
 1202              		.loc 1 1511 26 view .LVU270
2850
 1203 0018 43EA0223 		orr	r3, r3, r2, lsl #8
2851
 1204              		.loc 1 1511 24 view .LVU271
2852
 1205 001c 8B83     		strh	r3, [r1, #28]	@ movhi
2853
1512:../libBME280/src/bme280.c ****     calib_data->dig_p1 = BME280_CONCAT_BYTES(reg_data[7], reg_data[6]);
2854
 1206              		.loc 1 1512 5 is_stmt 1 view .LVU272
2855
 1207              		.loc 1 1512 26 is_stmt 0 view .LVU273
2856
 1208 001e C279     		ldrb	r2, [r0, #7]	@ zero_extendqisi2
2857
 1209 0020 8379     		ldrb	r3, [r0, #6]	@ zero_extendqisi2
2858
 1210 0022 43EA0223 		orr	r3, r3, r2, lsl #8
2859
 1211              		.loc 1 1512 24 view .LVU274
2860
 1212 0026 CB83     		strh	r3, [r1, #30]	@ movhi
2861
1513:../libBME280/src/bme280.c ****     calib_data->dig_p2 = (int16_t)BME280_CONCAT_BYTES(reg_data[9], reg_data[8]);
2862
 1213              		.loc 1 1513 5 is_stmt 1 view .LVU275
2863
 1214              		.loc 1 1513 35 is_stmt 0 view .LVU276
2864
 1215 0028 427A     		ldrb	r2, [r0, #9]	@ zero_extendqisi2
2865
 1216 002a 037A     		ldrb	r3, [r0, #8]	@ zero_extendqisi2
2866
 1217              		.loc 1 1513 26 view .LVU277
2867
 1218 002c 43EA0223 		orr	r3, r3, r2, lsl #8
2868
 1219              		.loc 1 1513 24 view .LVU278
2869
 1220 0030 0B84     		strh	r3, [r1, #32]	@ movhi
2870
1514:../libBME280/src/bme280.c ****     calib_data->dig_p3 = (int16_t)BME280_CONCAT_BYTES(reg_data[11], reg_data[10]);
2871
 1221              		.loc 1 1514 5 is_stmt 1 view .LVU279
2872
 1222              		.loc 1 1514 35 is_stmt 0 view .LVU280
2873
 1223 0032 C27A     		ldrb	r2, [r0, #11]	@ zero_extendqisi2
2874
 1224 0034 837A     		ldrb	r3, [r0, #10]	@ zero_extendqisi2
2875
 1225              		.loc 1 1514 26 view .LVU281
2876
 1226 0036 43EA0223 		orr	r3, r3, r2, lsl #8
2877
 1227              		.loc 1 1514 24 view .LVU282
2878
 1228 003a 4B84     		strh	r3, [r1, #34]	@ movhi
2879
1515:../libBME280/src/bme280.c ****     calib_data->dig_p4 = (int16_t)BME280_CONCAT_BYTES(reg_data[13], reg_data[12]);
2880
 1229              		.loc 1 1515 5 is_stmt 1 view .LVU283
2881
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 49
2882
 
2883
 
2884
 1230              		.loc 1 1515 35 is_stmt 0 view .LVU284
2885
 1231 003c 427B     		ldrb	r2, [r0, #13]	@ zero_extendqisi2
2886
 1232 003e 037B     		ldrb	r3, [r0, #12]	@ zero_extendqisi2
2887
 1233              		.loc 1 1515 26 view .LVU285
2888
 1234 0040 43EA0223 		orr	r3, r3, r2, lsl #8
2889
 1235              		.loc 1 1515 24 view .LVU286
2890
 1236 0044 8B84     		strh	r3, [r1, #36]	@ movhi
2891
1516:../libBME280/src/bme280.c ****     calib_data->dig_p5 = (int16_t)BME280_CONCAT_BYTES(reg_data[15], reg_data[14]);
2892
 1237              		.loc 1 1516 5 is_stmt 1 view .LVU287
2893
 1238              		.loc 1 1516 35 is_stmt 0 view .LVU288
2894
 1239 0046 C27B     		ldrb	r2, [r0, #15]	@ zero_extendqisi2
2895
 1240 0048 837B     		ldrb	r3, [r0, #14]	@ zero_extendqisi2
2896
 1241              		.loc 1 1516 26 view .LVU289
2897
 1242 004a 43EA0223 		orr	r3, r3, r2, lsl #8
2898
 1243              		.loc 1 1516 24 view .LVU290
2899
 1244 004e CB84     		strh	r3, [r1, #38]	@ movhi
2900
1517:../libBME280/src/bme280.c ****     calib_data->dig_p6 = (int16_t)BME280_CONCAT_BYTES(reg_data[17], reg_data[16]);
2901
 1245              		.loc 1 1517 5 is_stmt 1 view .LVU291
2902
 1246              		.loc 1 1517 35 is_stmt 0 view .LVU292
2903
 1247 0050 427C     		ldrb	r2, [r0, #17]	@ zero_extendqisi2
2904
 1248 0052 037C     		ldrb	r3, [r0, #16]	@ zero_extendqisi2
2905
 1249              		.loc 1 1517 26 view .LVU293
2906
 1250 0054 43EA0223 		orr	r3, r3, r2, lsl #8
2907
 1251              		.loc 1 1517 24 view .LVU294
2908
 1252 0058 0B85     		strh	r3, [r1, #40]	@ movhi
2909
1518:../libBME280/src/bme280.c ****     calib_data->dig_p7 = (int16_t)BME280_CONCAT_BYTES(reg_data[19], reg_data[18]);
2910
 1253              		.loc 1 1518 5 is_stmt 1 view .LVU295
2911
 1254              		.loc 1 1518 35 is_stmt 0 view .LVU296
2912
 1255 005a C27C     		ldrb	r2, [r0, #19]	@ zero_extendqisi2
2913
 1256 005c 837C     		ldrb	r3, [r0, #18]	@ zero_extendqisi2
2914
 1257              		.loc 1 1518 26 view .LVU297
2915
 1258 005e 43EA0223 		orr	r3, r3, r2, lsl #8
2916
 1259              		.loc 1 1518 24 view .LVU298
2917
 1260 0062 4B85     		strh	r3, [r1, #42]	@ movhi
2918
1519:../libBME280/src/bme280.c ****     calib_data->dig_p8 = (int16_t)BME280_CONCAT_BYTES(reg_data[21], reg_data[20]);
2919
 1261              		.loc 1 1519 5 is_stmt 1 view .LVU299
2920
 1262              		.loc 1 1519 35 is_stmt 0 view .LVU300
2921
 1263 0064 427D     		ldrb	r2, [r0, #21]	@ zero_extendqisi2
2922
 1264 0066 037D     		ldrb	r3, [r0, #20]	@ zero_extendqisi2
2923
 1265              		.loc 1 1519 26 view .LVU301
2924
 1266 0068 43EA0223 		orr	r3, r3, r2, lsl #8
2925
 1267              		.loc 1 1519 24 view .LVU302
2926
 1268 006c 8B85     		strh	r3, [r1, #44]	@ movhi
2927
1520:../libBME280/src/bme280.c ****     calib_data->dig_p9 = (int16_t)BME280_CONCAT_BYTES(reg_data[23], reg_data[22]);
2928
 1269              		.loc 1 1520 5 is_stmt 1 view .LVU303
2929
 1270              		.loc 1 1520 35 is_stmt 0 view .LVU304
2930
 1271 006e C27D     		ldrb	r2, [r0, #23]	@ zero_extendqisi2
2931
 1272 0070 837D     		ldrb	r3, [r0, #22]	@ zero_extendqisi2
2932
 1273              		.loc 1 1520 26 view .LVU305
2933
 1274 0072 43EA0223 		orr	r3, r3, r2, lsl #8
2934
 1275              		.loc 1 1520 24 view .LVU306
2935
 1276 0076 CB85     		strh	r3, [r1, #46]	@ movhi
2936
1521:../libBME280/src/bme280.c ****     calib_data->dig_h1 = reg_data[25];
2937
 1277              		.loc 1 1521 5 is_stmt 1 view .LVU307
2938
 1278              		.loc 1 1521 24 is_stmt 0 view .LVU308
2939
 1279 0078 437E     		ldrb	r3, [r0, #25]	@ zero_extendqisi2
2940
 1280 007a 81F83030 		strb	r3, [r1, #48]
2941
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 50
2942
 
2943
 
2944
1522:../libBME280/src/bme280.c **** }
2945
 1281              		.loc 1 1522 1 view .LVU309
2946
 1282 007e 7047     		bx	lr
2947
 1283              		.cfi_endproc
2948
 1284              	.LFE29:
2949
 1286              		.section	.text.parse_humidity_calib_data,"ax",%progbits
2950
 1287              		.align	1
2951
 1288              		.syntax unified
2952
 1289              		.thumb
2953
 1290              		.thumb_func
2954
 1291              		.fpu softvfp
2955
 1293              	parse_humidity_calib_data:
2956
 1294              	.LVL170:
2957
 1295              	.LFB30:
2958
1523:../libBME280/src/bme280.c **** 
2959
1524:../libBME280/src/bme280.c **** /*!
2960
1525:../libBME280/src/bme280.c ****  *  @brief This internal API is used to parse the humidity calibration data
2961
1526:../libBME280/src/bme280.c ****  *  and store it in device structure.
2962
1527:../libBME280/src/bme280.c ****  */
2963
1528:../libBME280/src/bme280.c **** static void parse_humidity_calib_data(const uint8_t *reg_data, struct bme280_dev *dev)
2964
1529:../libBME280/src/bme280.c **** {
2965
 1296              		.loc 1 1529 1 is_stmt 1 view -0
2966
 1297              		.cfi_startproc
2967
 1298              		@ args = 0, pretend = 0, frame = 0
2968
 1299              		@ frame_needed = 0, uses_anonymous_args = 0
2969
 1300              		@ link register save eliminated.
2970
1530:../libBME280/src/bme280.c ****     struct bme280_calib_data *calib_data = &dev->calib_data;
2971
 1301              		.loc 1 1530 5 view .LVU311
2972
1531:../libBME280/src/bme280.c ****     int16_t dig_h4_lsb;
2973
 1302              		.loc 1 1531 5 view .LVU312
2974
1532:../libBME280/src/bme280.c ****     int16_t dig_h4_msb;
2975
 1303              		.loc 1 1532 5 view .LVU313
2976
1533:../libBME280/src/bme280.c ****     int16_t dig_h5_lsb;
2977
 1304              		.loc 1 1533 5 view .LVU314
2978
1534:../libBME280/src/bme280.c ****     int16_t dig_h5_msb;
2979
 1305              		.loc 1 1534 5 view .LVU315
2980
1535:../libBME280/src/bme280.c **** 
2981
1536:../libBME280/src/bme280.c ****     calib_data->dig_h2 = (int16_t)BME280_CONCAT_BYTES(reg_data[1], reg_data[0]);
2982
 1306              		.loc 1 1536 5 view .LVU316
2983
 1307              		.loc 1 1536 35 is_stmt 0 view .LVU317
2984
 1308 0000 4278     		ldrb	r2, [r0, #1]	@ zero_extendqisi2
2985
 1309 0002 0378     		ldrb	r3, [r0]	@ zero_extendqisi2
2986
 1310              		.loc 1 1536 26 view .LVU318
2987
 1311 0004 43EA0223 		orr	r3, r3, r2, lsl #8
2988
 1312              		.loc 1 1536 24 view .LVU319
2989
 1313 0008 4B86     		strh	r3, [r1, #50]	@ movhi
2990
1537:../libBME280/src/bme280.c ****     calib_data->dig_h3 = reg_data[2];
2991
 1314              		.loc 1 1537 5 is_stmt 1 view .LVU320
2992
 1315              		.loc 1 1537 24 is_stmt 0 view .LVU321
2993
 1316 000a 8378     		ldrb	r3, [r0, #2]	@ zero_extendqisi2
2994
 1317 000c 81F83430 		strb	r3, [r1, #52]
2995
1538:../libBME280/src/bme280.c ****     dig_h4_msb = (int16_t)(int8_t)reg_data[3] * 16;
2996
 1318              		.loc 1 1538 5 is_stmt 1 view .LVU322
2997
 1319              		.loc 1 1538 27 is_stmt 0 view .LVU323
2998
 1320 0010 90F90330 		ldrsb	r3, [r0, #3]
2999
 1321 0014 9BB2     		uxth	r3, r3
3000
 1322              		.loc 1 1538 47 view .LVU324
3001
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 51
3002
 
3003
 
3004
 1323 0016 1B01     		lsls	r3, r3, #4
3005
 1324              		.loc 1 1538 16 view .LVU325
3006
 1325 0018 1BB2     		sxth	r3, r3
3007
 1326              	.LVL171:
3008
1539:../libBME280/src/bme280.c ****     dig_h4_lsb = (int16_t)(reg_data[4] & 0x0F);
3009
 1327              		.loc 1 1539 5 is_stmt 1 view .LVU326
3010
 1328              		.loc 1 1539 36 is_stmt 0 view .LVU327
3011
 1329 001a 0279     		ldrb	r2, [r0, #4]	@ zero_extendqisi2
3012
 1330              		.loc 1 1539 16 view .LVU328
3013
 1331 001c 02F00F02 		and	r2, r2, #15
3014
 1332              	.LVL172:
3015
1540:../libBME280/src/bme280.c ****     calib_data->dig_h4 = dig_h4_msb | dig_h4_lsb;
3016
 1333              		.loc 1 1540 5 is_stmt 1 view .LVU329
3017
 1334              		.loc 1 1540 24 is_stmt 0 view .LVU330
3018
 1335 0020 1343     		orrs	r3, r3, r2
3019
 1336              	.LVL173:
3020
 1337              		.loc 1 1540 24 view .LVU331
3021
 1338 0022 CB86     		strh	r3, [r1, #54]	@ movhi
3022
 1339              	.LVL174:
3023
1541:../libBME280/src/bme280.c ****     dig_h5_msb = (int16_t)(int8_t)reg_data[5] * 16;
3024
 1340              		.loc 1 1541 5 is_stmt 1 view .LVU332
3025
 1341              		.loc 1 1541 27 is_stmt 0 view .LVU333
3026
 1342 0024 90F90530 		ldrsb	r3, [r0, #5]
3027
 1343 0028 9BB2     		uxth	r3, r3
3028
 1344              		.loc 1 1541 47 view .LVU334
3029
 1345 002a 1B01     		lsls	r3, r3, #4
3030
 1346              		.loc 1 1541 16 view .LVU335
3031
 1347 002c 1BB2     		sxth	r3, r3
3032
 1348              	.LVL175:
3033
1542:../libBME280/src/bme280.c ****     dig_h5_lsb = (int16_t)(reg_data[4] >> 4);
3034
 1349              		.loc 1 1542 5 is_stmt 1 view .LVU336
3035
 1350              		.loc 1 1542 36 is_stmt 0 view .LVU337
3036
 1351 002e 0279     		ldrb	r2, [r0, #4]	@ zero_extendqisi2
3037
 1352              	.LVL176:
3038
1543:../libBME280/src/bme280.c ****     calib_data->dig_h5 = dig_h5_msb | dig_h5_lsb;
3039
 1353              		.loc 1 1543 5 is_stmt 1 view .LVU338
3040
 1354              		.loc 1 1543 24 is_stmt 0 view .LVU339
3041
 1355 0030 43EA1213 		orr	r3, r3, r2, lsr #4
3042
 1356              	.LVL177:
3043
 1357              		.loc 1 1543 24 view .LVU340
3044
 1358 0034 0B87     		strh	r3, [r1, #56]	@ movhi
3045
 1359              	.LVL178:
3046
1544:../libBME280/src/bme280.c ****     calib_data->dig_h6 = (int8_t)reg_data[6];
3047
 1360              		.loc 1 1544 5 is_stmt 1 view .LVU341
3048
 1361              		.loc 1 1544 26 is_stmt 0 view .LVU342
3049
 1362 0036 90F90630 		ldrsb	r3, [r0, #6]
3050
 1363              		.loc 1 1544 24 view .LVU343
3051
 1364 003a 81F83A30 		strb	r3, [r1, #58]
3052
1545:../libBME280/src/bme280.c **** }
3053
 1365              		.loc 1 1545 1 view .LVU344
3054
 1366 003e 7047     		bx	lr
3055
 1367              		.cfi_endproc
3056
 1368              	.LFE30:
3057
 1370              		.section	.text.are_settings_changed,"ax",%progbits
3058
 1371              		.align	1
3059
 1372              		.syntax unified
3060
 1373              		.thumb
3061
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 52
3062
 
3063
 
3064
 1374              		.thumb_func
3065
 1375              		.fpu softvfp
3066
 1377              	are_settings_changed:
3067
 1378              	.LVL179:
3068
 1379              	.LFB31:
3069
1546:../libBME280/src/bme280.c **** 
3070
1547:../libBME280/src/bme280.c **** /*!
3071
1548:../libBME280/src/bme280.c ****  * @brief This internal API is used to identify the settings which the user
3072
1549:../libBME280/src/bme280.c ****  * wants to modify in the sensor.
3073
1550:../libBME280/src/bme280.c ****  */
3074
1551:../libBME280/src/bme280.c **** static uint8_t are_settings_changed(uint8_t sub_settings, uint8_t desired_settings)
3075
1552:../libBME280/src/bme280.c **** {
3076
 1380              		.loc 1 1552 1 is_stmt 1 view -0
3077
 1381              		.cfi_startproc
3078
 1382              		@ args = 0, pretend = 0, frame = 0
3079
 1383              		@ frame_needed = 0, uses_anonymous_args = 0
3080
 1384              		@ link register save eliminated.
3081
1553:../libBME280/src/bme280.c ****     uint8_t settings_changed = FALSE;
3082
 1385              		.loc 1 1553 5 view .LVU346
3083
1554:../libBME280/src/bme280.c **** 
3084
1555:../libBME280/src/bme280.c ****     if (sub_settings & desired_settings)
3085
 1386              		.loc 1 1555 5 view .LVU347
3086
 1387              		.loc 1 1555 8 is_stmt 0 view .LVU348
3087
 1388 0000 0842     		tst	r0, r1
3088
 1389 0002 01D0     		beq	.L40
3089
1556:../libBME280/src/bme280.c ****     {
3090
1557:../libBME280/src/bme280.c ****         /* User wants to modify this particular settings */
3091
1558:../libBME280/src/bme280.c ****         settings_changed = TRUE;
3092
 1390              		.loc 1 1558 26 view .LVU349
3093
 1391 0004 0120     		movs	r0, #1
3094
 1392              	.LVL180:
3095
 1393              		.loc 1 1558 26 view .LVU350
3096
 1394 0006 7047     		bx	lr
3097
 1395              	.LVL181:
3098
 1396              	.L40:
3099
1559:../libBME280/src/bme280.c ****     }
3100
1560:../libBME280/src/bme280.c ****     else
3101
1561:../libBME280/src/bme280.c ****     {
3102
1562:../libBME280/src/bme280.c ****         /* User don't want to modify this particular settings */
3103
1563:../libBME280/src/bme280.c ****         settings_changed = FALSE;
3104
 1397              		.loc 1 1563 26 view .LVU351
3105
 1398 0008 0020     		movs	r0, #0
3106
 1399              	.LVL182:
3107
1564:../libBME280/src/bme280.c ****     }
3108
1565:../libBME280/src/bme280.c **** 
3109
1566:../libBME280/src/bme280.c ****     return settings_changed;
3110
 1400              		.loc 1 1566 5 is_stmt 1 view .LVU352
3111
1567:../libBME280/src/bme280.c **** }
3112
 1401              		.loc 1 1567 1 is_stmt 0 view .LVU353
3113
 1402 000a 7047     		bx	lr
3114
 1403              		.cfi_endproc
3115
 1404              	.LFE31:
3116
 1406              		.section	.text.null_ptr_check,"ax",%progbits
3117
 1407              		.align	1
3118
 1408              		.syntax unified
3119
 1409              		.thumb
3120
 1410              		.thumb_func
3121
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 53
3122
 
3123
 
3124
 1411              		.fpu softvfp
3125
 1413              	null_ptr_check:
3126
 1414              	.LVL183:
3127
 1415              	.LFB32:
3128
1568:../libBME280/src/bme280.c **** 
3129
1569:../libBME280/src/bme280.c **** /*!
3130
1570:../libBME280/src/bme280.c ****  * @brief This internal API is used to validate the device structure pointer for
3131
1571:../libBME280/src/bme280.c ****  * null conditions.
3132
1572:../libBME280/src/bme280.c ****  */
3133
1573:../libBME280/src/bme280.c **** static int8_t null_ptr_check(const struct bme280_dev *dev)
3134
1574:../libBME280/src/bme280.c **** {
3135
 1416              		.loc 1 1574 1 is_stmt 1 view -0
3136
 1417              		.cfi_startproc
3137
 1418              		@ args = 0, pretend = 0, frame = 0
3138
 1419              		@ frame_needed = 0, uses_anonymous_args = 0
3139
 1420              		@ link register save eliminated.
3140
1575:../libBME280/src/bme280.c ****     int8_t rslt;
3141
 1421              		.loc 1 1575 5 view .LVU355
3142
1576:../libBME280/src/bme280.c **** 
3143
1577:../libBME280/src/bme280.c ****     if ((dev == NULL) || (dev->read == NULL) || (dev->write == NULL) || (dev->delay_us == NULL))
3144
 1422              		.loc 1 1577 5 view .LVU356
3145
 1423              		.loc 1 1577 8 is_stmt 0 view .LVU357
3146
 1424 0000 50B1     		cbz	r0, .L43
3147
 1425              		.loc 1 1577 30 discriminator 1 view .LVU358
3148
 1426 0002 C268     		ldr	r2, [r0, #12]
3149
 1427              		.loc 1 1577 23 discriminator 1 view .LVU359
3150
 1428 0004 5AB1     		cbz	r2, .L44
3151
 1429              		.loc 1 1577 53 discriminator 2 view .LVU360
3152
 1430 0006 0269     		ldr	r2, [r0, #16]
3153
 1431              		.loc 1 1577 46 discriminator 2 view .LVU361
3154
 1432 0008 62B1     		cbz	r2, .L45
3155
 1433              		.loc 1 1577 77 discriminator 3 view .LVU362
3156
 1434 000a 4369     		ldr	r3, [r0, #20]
3157
 1435              		.loc 1 1577 70 discriminator 3 view .LVU363
3158
 1436 000c 0BB1     		cbz	r3, .L47
3159
1578:../libBME280/src/bme280.c ****     {
3160
1579:../libBME280/src/bme280.c ****         /* Device structure pointer is not valid */
3161
1580:../libBME280/src/bme280.c ****         rslt = BME280_E_NULL_PTR;
3162
1581:../libBME280/src/bme280.c ****     }
3163
1582:../libBME280/src/bme280.c ****     else
3164
1583:../libBME280/src/bme280.c ****     {
3165
1584:../libBME280/src/bme280.c ****         /* Device structure is fine */
3166
1585:../libBME280/src/bme280.c ****         rslt = BME280_OK;
3167
 1437              		.loc 1 1585 14 view .LVU364
3168
 1438 000e 0020     		movs	r0, #0
3169
 1439              	.LVL184:
3170
1586:../libBME280/src/bme280.c ****     }
3171
1587:../libBME280/src/bme280.c **** 
3172
1588:../libBME280/src/bme280.c ****     return rslt;
3173
 1440              		.loc 1 1588 5 is_stmt 1 view .LVU365
3174
1589:../libBME280/src/bme280.c **** }
3175
 1441              		.loc 1 1589 1 is_stmt 0 view .LVU366
3176
 1442 0010 7047     		bx	lr
3177
 1443              	.LVL185:
3178
 1444              	.L47:
3179
1580:../libBME280/src/bme280.c ****     }
3180
 1445              		.loc 1 1580 14 view .LVU367
3181
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 54
3182
 
3183
 
3184
 1446 0012 4FF0FF30 		mov	r0, #-1
3185
 1447              	.LVL186:
3186
1580:../libBME280/src/bme280.c ****     }
3187
 1448              		.loc 1 1580 14 view .LVU368
3188
 1449 0016 7047     		bx	lr
3189
 1450              	.LVL187:
3190
 1451              	.L43:
3191
1580:../libBME280/src/bme280.c ****     }
3192
 1452              		.loc 1 1580 14 view .LVU369
3193
 1453 0018 4FF0FF30 		mov	r0, #-1
3194
 1454              	.LVL188:
3195
1580:../libBME280/src/bme280.c ****     }
3196
 1455              		.loc 1 1580 14 view .LVU370
3197
 1456 001c 7047     		bx	lr
3198
 1457              	.LVL189:
3199
 1458              	.L44:
3200
1580:../libBME280/src/bme280.c ****     }
3201
 1459              		.loc 1 1580 14 view .LVU371
3202
 1460 001e 4FF0FF30 		mov	r0, #-1
3203
 1461              	.LVL190:
3204
1580:../libBME280/src/bme280.c ****     }
3205
 1462              		.loc 1 1580 14 view .LVU372
3206
 1463 0022 7047     		bx	lr
3207
 1464              	.LVL191:
3208
 1465              	.L45:
3209
1580:../libBME280/src/bme280.c ****     }
3210
 1466              		.loc 1 1580 14 view .LVU373
3211
 1467 0024 4FF0FF30 		mov	r0, #-1
3212
 1468              	.LVL192:
3213
1580:../libBME280/src/bme280.c ****     }
3214
 1469              		.loc 1 1580 14 view .LVU374
3215
 1470 0028 7047     		bx	lr
3216
 1471              		.cfi_endproc
3217
 1472              	.LFE32:
3218
 1474              		.section	.text.bme280_get_regs,"ax",%progbits
3219
 1475              		.align	1
3220
 1476              		.global	bme280_get_regs
3221
 1477              		.syntax unified
3222
 1478              		.thumb
3223
 1479              		.thumb_func
3224
 1480              		.fpu softvfp
3225
 1482              	bme280_get_regs:
3226
 1483              	.LVL193:
3227
 1484              	.LFB1:
3228
 459:../libBME280/src/bme280.c ****     int8_t rslt;
3229
 1485              		.loc 1 459 1 is_stmt 1 view -0
3230
 1486              		.cfi_startproc
3231
 1487              		@ args = 0, pretend = 0, frame = 0
3232
 1488              		@ frame_needed = 0, uses_anonymous_args = 0
3233
 459:../libBME280/src/bme280.c ****     int8_t rslt;
3234
 1489              		.loc 1 459 1 is_stmt 0 view .LVU376
3235
 1490 0000 2DE9F843 		push	{r3, r4, r5, r6, r7, r8, r9, lr}
3236
 1491              	.LCFI7:
3237
 1492              		.cfi_def_cfa_offset 32
3238
 1493              		.cfi_offset 3, -32
3239
 1494              		.cfi_offset 4, -28
3240
 1495              		.cfi_offset 5, -24
3241
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 55
3242
 
3243
 
3244
 1496              		.cfi_offset 6, -20
3245
 1497              		.cfi_offset 7, -16
3246
 1498              		.cfi_offset 8, -12
3247
 1499              		.cfi_offset 9, -8
3248
 1500              		.cfi_offset 14, -4
3249
 1501 0004 0546     		mov	r5, r0
3250
 1502 0006 0E46     		mov	r6, r1
3251
 1503 0008 9146     		mov	r9, r2
3252
 1504 000a 1C46     		mov	r4, r3
3253
 460:../libBME280/src/bme280.c **** 
3254
 1505              		.loc 1 460 5 is_stmt 1 view .LVU377
3255
 463:../libBME280/src/bme280.c **** 
3256
 1506              		.loc 1 463 5 view .LVU378
3257
 463:../libBME280/src/bme280.c **** 
3258
 1507              		.loc 1 463 12 is_stmt 0 view .LVU379
3259
 1508 000c 1846     		mov	r0, r3
3260
 1509              	.LVL194:
3261
 463:../libBME280/src/bme280.c **** 
3262
 1510              		.loc 1 463 12 view .LVU380
3263
 1511 000e FFF7FEFF 		bl	null_ptr_check
3264
 1512              	.LVL195:
3265
 466:../libBME280/src/bme280.c ****     {
3266
 1513              		.loc 1 466 5 is_stmt 1 view .LVU381
3267
 466:../libBME280/src/bme280.c ****     {
3268
 1514              		.loc 1 466 8 is_stmt 0 view .LVU382
3269
 1515 0012 90B9     		cbnz	r0, .L51
3270
 1516 0014 8046     		mov	r8, r0
3271
 466:../libBME280/src/bme280.c ****     {
3272
 1517              		.loc 1 466 29 discriminator 1 view .LVU383
3273
 1518 0016 9EB1     		cbz	r6, .L52
3274
 469:../libBME280/src/bme280.c ****         {
3275
 1519              		.loc 1 469 9 is_stmt 1 view .LVU384
3276
 469:../libBME280/src/bme280.c ****         {
3277
 1520              		.loc 1 469 16 is_stmt 0 view .LVU385
3278
 1521 0018 237A     		ldrb	r3, [r4, #8]	@ zero_extendqisi2
3279
 469:../libBME280/src/bme280.c ****         {
3280
 1522              		.loc 1 469 12 view .LVU386
3281
 1523 001a 012B     		cmp	r3, #1
3282
 1524 001c 01D0     		beq	.L50
3283
 471:../libBME280/src/bme280.c ****         }
3284
 1525              		.loc 1 471 13 is_stmt 1 view .LVU387
3285
 471:../libBME280/src/bme280.c ****         }
3286
 1526              		.loc 1 471 22 is_stmt 0 view .LVU388
3287
 1527 001e 45F08005 		orr	r5, r5, #128
3288
 1528              	.LVL196:
3289
 1529              	.L50:
3290
 475:../libBME280/src/bme280.c **** 
3291
 1530              		.loc 1 475 9 is_stmt 1 view .LVU389
3292
 475:../libBME280/src/bme280.c **** 
3293
 1531              		.loc 1 475 29 is_stmt 0 view .LVU390
3294
 1532 0022 E768     		ldr	r7, [r4, #12]
3295
 475:../libBME280/src/bme280.c **** 
3296
 1533              		.loc 1 475 26 view .LVU391
3297
 1534 0024 6368     		ldr	r3, [r4, #4]
3298
 1535 0026 4A46     		mov	r2, r9
3299
 1536 0028 3146     		mov	r1, r6
3300
 1537 002a 2846     		mov	r0, r5
3301
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 56
3302
 
3303
 
3304
 1538              	.LVL197:
3305
 475:../libBME280/src/bme280.c **** 
3306
 1539              		.loc 1 475 26 view .LVU392
3307
 1540 002c B847     		blx	r7
3308
 1541              	.LVL198:
3309
 475:../libBME280/src/bme280.c **** 
3310
 1542              		.loc 1 475 24 view .LVU393
3311
 1543 002e 84F84500 		strb	r0, [r4, #69]
3312
 478:../libBME280/src/bme280.c ****         {
3313
 1544              		.loc 1 478 9 is_stmt 1 view .LVU394
3314
 478:../libBME280/src/bme280.c ****         {
3315
 1545              		.loc 1 478 12 is_stmt 0 view .LVU395
3316
 1546 0032 40B9     		cbnz	r0, .L55
3317
 1547              	.LVL199:
3318
 1548              	.L49:
3319
 488:../libBME280/src/bme280.c **** }
3320
 1549              		.loc 1 488 5 is_stmt 1 view .LVU396
3321
 489:../libBME280/src/bme280.c **** 
3322
 1550              		.loc 1 489 1 is_stmt 0 view .LVU397
3323
 1551 0034 4046     		mov	r0, r8
3324
 1552 0036 BDE8F883 		pop	{r3, r4, r5, r6, r7, r8, r9, pc}
3325
 1553              	.LVL200:
3326
 1554              	.L51:
3327
 485:../libBME280/src/bme280.c ****     }
3328
 1555              		.loc 1 485 14 view .LVU398
3329
 1556 003a 4FF0FF38 		mov	r8, #-1
3330
 1557 003e F9E7     		b	.L49
3331
 1558              	.L52:
3332
 1559 0040 4FF0FF38 		mov	r8, #-1
3333
 1560 0044 F6E7     		b	.L49
3334
 1561              	.LVL201:
3335
 1562              	.L55:
3336
 480:../libBME280/src/bme280.c ****         }
3337
 1563              		.loc 1 480 18 view .LVU399
3338
 1564 0046 6FF00308 		mvn	r8, #3
3339
 1565 004a F3E7     		b	.L49
3340
 1566              		.cfi_endproc
3341
 1567              	.LFE1:
3342
 1569              		.section	.text.get_calib_data,"ax",%progbits
3343
 1570              		.align	1
3344
 1571              		.syntax unified
3345
 1572              		.thumb
3346
 1573              		.thumb_func
3347
 1574              		.fpu softvfp
3348
 1576              	get_calib_data:
3349
 1577              	.LVL202:
3350
 1578              	.LFB27:
3351
1453:../libBME280/src/bme280.c ****     int8_t rslt;
3352
 1579              		.loc 1 1453 1 is_stmt 1 view -0
3353
 1580              		.cfi_startproc
3354
 1581              		@ args = 0, pretend = 0, frame = 32
3355
 1582              		@ frame_needed = 0, uses_anonymous_args = 0
3356
1453:../libBME280/src/bme280.c ****     int8_t rslt;
3357
 1583              		.loc 1 1453 1 is_stmt 0 view .LVU401
3358
 1584 0000 30B5     		push	{r4, r5, lr}
3359
 1585              	.LCFI8:
3360
 1586              		.cfi_def_cfa_offset 12
3361
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 57
3362
 
3363
 
3364
 1587              		.cfi_offset 4, -12
3365
 1588              		.cfi_offset 5, -8
3366
 1589              		.cfi_offset 14, -4
3367
 1590 0002 89B0     		sub	sp, sp, #36
3368
 1591              	.LCFI9:
3369
 1592              		.cfi_def_cfa_offset 48
3370
 1593 0004 0446     		mov	r4, r0
3371
1454:../libBME280/src/bme280.c ****     uint8_t reg_addr = BME280_TEMP_PRESS_CALIB_DATA_ADDR;
3372
 1594              		.loc 1 1454 5 is_stmt 1 view .LVU402
3373
1455:../libBME280/src/bme280.c **** 
3374
 1595              		.loc 1 1455 5 view .LVU403
3375
 1596              	.LVL203:
3376
1458:../libBME280/src/bme280.c **** 
3377
 1597              		.loc 1 1458 5 view .LVU404
3378
1458:../libBME280/src/bme280.c **** 
3379
 1598              		.loc 1 1458 13 is_stmt 0 view .LVU405
3380
 1599 0006 0023     		movs	r3, #0
3381
 1600 0008 0193     		str	r3, [sp, #4]
3382
 1601 000a 0293     		str	r3, [sp, #8]
3383
 1602 000c 0393     		str	r3, [sp, #12]
3384
 1603 000e 0493     		str	r3, [sp, #16]
3385
 1604 0010 0593     		str	r3, [sp, #20]
3386
 1605 0012 0693     		str	r3, [sp, #24]
3387
 1606 0014 ADF81C30 		strh	r3, [sp, #28]	@ movhi
3388
1461:../libBME280/src/bme280.c **** 
3389
 1607              		.loc 1 1461 5 is_stmt 1 view .LVU406
3390
1461:../libBME280/src/bme280.c **** 
3391
 1608              		.loc 1 1461 12 is_stmt 0 view .LVU407
3392
 1609 0018 0346     		mov	r3, r0
3393
 1610 001a 1A22     		movs	r2, #26
3394
 1611 001c 01A9     		add	r1, sp, #4
3395
 1612 001e 8820     		movs	r0, #136
3396
 1613              	.LVL204:
3397
1461:../libBME280/src/bme280.c **** 
3398
 1614              		.loc 1 1461 12 view .LVU408
3399
 1615 0020 FFF7FEFF 		bl	bme280_get_regs
3400
 1616              	.LVL205:
3401
1463:../libBME280/src/bme280.c ****     {
3402
 1617              		.loc 1 1463 5 is_stmt 1 view .LVU409
3403
1463:../libBME280/src/bme280.c ****     {
3404
 1618              		.loc 1 1463 8 is_stmt 0 view .LVU410
3405
 1619 0024 0546     		mov	r5, r0
3406
 1620 0026 10B1     		cbz	r0, .L59
3407
 1621              	.LVL206:
3408
 1622              	.L57:
3409
1483:../libBME280/src/bme280.c **** }
3410
 1623              		.loc 1 1483 5 is_stmt 1 view .LVU411
3411
1484:../libBME280/src/bme280.c **** 
3412
 1624              		.loc 1 1484 1 is_stmt 0 view .LVU412
3413
 1625 0028 2846     		mov	r0, r5
3414
 1626 002a 09B0     		add	sp, sp, #36
3415
 1627              	.LCFI10:
3416
 1628              		.cfi_remember_state
3417
 1629              		.cfi_def_cfa_offset 12
3418
 1630              		@ sp needed
3419
 1631 002c 30BD     		pop	{r4, r5, pc}
3420
 1632              	.LVL207:
3421
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 58
3422
 
3423
 
3424
 1633              	.L59:
3425
 1634              	.LCFI11:
3426
 1635              		.cfi_restore_state
3427
1468:../libBME280/src/bme280.c ****         reg_addr = BME280_HUMIDITY_CALIB_DATA_ADDR;
3428
 1636              		.loc 1 1468 9 is_stmt 1 view .LVU413
3429
 1637 002e 2146     		mov	r1, r4
3430
 1638 0030 01A8     		add	r0, sp, #4
3431
 1639              	.LVL208:
3432
1468:../libBME280/src/bme280.c ****         reg_addr = BME280_HUMIDITY_CALIB_DATA_ADDR;
3433
 1640              		.loc 1 1468 9 is_stmt 0 view .LVU414
3434
 1641 0032 FFF7FEFF 		bl	parse_temp_press_calib_data
3435
 1642              	.LVL209:
3436
1469:../libBME280/src/bme280.c **** 
3437
 1643              		.loc 1 1469 9 is_stmt 1 view .LVU415
3438
1472:../libBME280/src/bme280.c **** 
3439
 1644              		.loc 1 1472 9 view .LVU416
3440
1472:../libBME280/src/bme280.c **** 
3441
 1645              		.loc 1 1472 16 is_stmt 0 view .LVU417
3442
 1646 0036 2346     		mov	r3, r4
3443
 1647 0038 0722     		movs	r2, #7
3444
 1648 003a 01A9     		add	r1, sp, #4
3445
 1649 003c E120     		movs	r0, #225
3446
 1650 003e FFF7FEFF 		bl	bme280_get_regs
3447
 1651              	.LVL210:
3448
1474:../libBME280/src/bme280.c ****         {
3449
 1652              		.loc 1 1474 9 is_stmt 1 view .LVU418
3450
1474:../libBME280/src/bme280.c ****         {
3451
 1653              		.loc 1 1474 12 is_stmt 0 view .LVU419
3452
 1654 0042 0546     		mov	r5, r0
3453
 1655 0044 0028     		cmp	r0, #0
3454
 1656 0046 EFD1     		bne	.L57
3455
1479:../libBME280/src/bme280.c ****         }
3456
 1657              		.loc 1 1479 13 is_stmt 1 view .LVU420
3457
 1658 0048 2146     		mov	r1, r4
3458
 1659 004a 01A8     		add	r0, sp, #4
3459
 1660              	.LVL211:
3460
1479:../libBME280/src/bme280.c ****         }
3461
 1661              		.loc 1 1479 13 is_stmt 0 view .LVU421
3462
 1662 004c FFF7FEFF 		bl	parse_humidity_calib_data
3463
 1663              	.LVL212:
3464
 1664 0050 EAE7     		b	.L57
3465
 1665              		.cfi_endproc
3466
 1666              	.LFE27:
3467
 1668              		.section	.text.bme280_set_regs,"ax",%progbits
3468
 1669              		.align	1
3469
 1670              		.global	bme280_set_regs
3470
 1671              		.syntax unified
3471
 1672              		.thumb
3472
 1673              		.thumb_func
3473
 1674              		.fpu softvfp
3474
 1676              	bme280_set_regs:
3475
 1677              	.LVL213:
3476
 1678              	.LFB2:
3477
 496:../libBME280/src/bme280.c ****     int8_t rslt;
3478
 1679              		.loc 1 496 1 is_stmt 1 view -0
3479
 1680              		.cfi_startproc
3480
 1681              		@ args = 0, pretend = 0, frame = 24
3481
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 59
3482
 
3483
 
3484
 1682              		@ frame_needed = 0, uses_anonymous_args = 0
3485
 496:../libBME280/src/bme280.c ****     int8_t rslt;
3486
 1683              		.loc 1 496 1 is_stmt 0 view .LVU423
3487
 1684 0000 2DE9F041 		push	{r4, r5, r6, r7, r8, lr}
3488
 1685              	.LCFI12:
3489
 1686              		.cfi_def_cfa_offset 24
3490
 1687              		.cfi_offset 4, -24
3491
 1688              		.cfi_offset 5, -20
3492
 1689              		.cfi_offset 6, -16
3493
 1690              		.cfi_offset 7, -12
3494
 1691              		.cfi_offset 8, -8
3495
 1692              		.cfi_offset 14, -4
3496
 1693 0004 86B0     		sub	sp, sp, #24
3497
 1694              	.LCFI13:
3498
 1695              		.cfi_def_cfa_offset 48
3499
 1696 0006 0546     		mov	r5, r0
3500
 1697 0008 0F46     		mov	r7, r1
3501
 1698 000a 1446     		mov	r4, r2
3502
 1699 000c 1E46     		mov	r6, r3
3503
 497:../libBME280/src/bme280.c ****     uint8_t temp_buff[20]; /* Typically not to write more than 10 registers */
3504
 1700              		.loc 1 497 5 is_stmt 1 view .LVU424
3505
 498:../libBME280/src/bme280.c **** 
3506
 1701              		.loc 1 498 5 view .LVU425
3507
 500:../libBME280/src/bme280.c ****     {
3508
 1702              		.loc 1 500 5 view .LVU426
3509
 500:../libBME280/src/bme280.c ****     {
3510
 1703              		.loc 1 500 8 is_stmt 0 view .LVU427
3511
 1704 000e 0A2A     		cmp	r2, #10
3512
 1705 0010 00D9     		bls	.L61
3513
 502:../libBME280/src/bme280.c ****     }
3514
 1706              		.loc 1 502 13 view .LVU428
3515
 1707 0012 0A24     		movs	r4, #10
3516
 1708              	.L61:
3517
 1709              	.LVL214:
3518
 505:../libBME280/src/bme280.c ****     uint8_t reg_addr_cnt;
3519
 1710              		.loc 1 505 5 is_stmt 1 view .LVU429
3520
 506:../libBME280/src/bme280.c **** 
3521
 1711              		.loc 1 506 5 view .LVU430
3522
 509:../libBME280/src/bme280.c **** 
3523
 1712              		.loc 1 509 5 view .LVU431
3524
 509:../libBME280/src/bme280.c **** 
3525
 1713              		.loc 1 509 12 is_stmt 0 view .LVU432
3526
 1714 0014 3046     		mov	r0, r6
3527
 1715              	.LVL215:
3528
 509:../libBME280/src/bme280.c **** 
3529
 1716              		.loc 1 509 12 view .LVU433
3530
 1717 0016 FFF7FEFF 		bl	null_ptr_check
3531
 1718              	.LVL216:
3532
 512:../libBME280/src/bme280.c ****     {
3533
 1719              		.loc 1 512 5 is_stmt 1 view .LVU434
3534
 512:../libBME280/src/bme280.c ****     {
3535
 1720              		.loc 1 512 8 is_stmt 0 view .LVU435
3536
 1721 001a 8046     		mov	r8, r0
3537
 1722 001c 58BB     		cbnz	r0, .L69
3538
 512:../libBME280/src/bme280.c ****     {
3539
 1723              		.loc 1 512 29 discriminator 1 view .LVU436
3540
 1724 001e 6DB3     		cbz	r5, .L70
3541
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 60
3542
 
3543
 
3544
 512:../libBME280/src/bme280.c ****     {
3545
 1725              		.loc 1 512 51 discriminator 2 view .LVU437
3546
 1726 0020 7FB3     		cbz	r7, .L71
3547
 514:../libBME280/src/bme280.c ****         {
3548
 1727              		.loc 1 514 9 is_stmt 1 view .LVU438
3549
 514:../libBME280/src/bme280.c ****         {
3550
 1728              		.loc 1 514 12 is_stmt 0 view .LVU439
3551
 1729 0022 8CB3     		cbz	r4, .L72
3552
 516:../libBME280/src/bme280.c **** 
3553
 1730              		.loc 1 516 13 is_stmt 1 view .LVU440
3554
 516:../libBME280/src/bme280.c **** 
3555
 1731              		.loc 1 516 36 is_stmt 0 view .LVU441
3556
 1732 0024 3B78     		ldrb	r3, [r7]	@ zero_extendqisi2
3557
 516:../libBME280/src/bme280.c **** 
3558
 1733              		.loc 1 516 26 view .LVU442
3559
 1734 0026 8DF80430 		strb	r3, [sp, #4]
3560
 519:../libBME280/src/bme280.c ****             {
3561
 1735              		.loc 1 519 13 is_stmt 1 view .LVU443
3562
 519:../libBME280/src/bme280.c ****             {
3563
 1736              		.loc 1 519 20 is_stmt 0 view .LVU444
3564
 1737 002a 337A     		ldrb	r3, [r6, #8]	@ zero_extendqisi2
3565
 519:../libBME280/src/bme280.c ****             {
3566
 1738              		.loc 1 519 16 view .LVU445
3567
 1739 002c 012B     		cmp	r3, #1
3568
 1740 002e 09D0     		beq	.L64
3569
 521:../libBME280/src/bme280.c ****                 {
3570
 1741              		.loc 1 521 35 view .LVU446
3571
 1742 0030 0023     		movs	r3, #0
3572
 1743              	.L63:
3573
 1744              	.LVL217:
3574
 521:../libBME280/src/bme280.c ****                 {
3575
 1745              		.loc 1 521 17 discriminator 1 view .LVU447
3576
 1746 0032 9C42     		cmp	r4, r3
3577
 1747 0034 06D9     		bls	.L64
3578
 523:../libBME280/src/bme280.c ****                 }
3579
 1748              		.loc 1 523 21 is_stmt 1 discriminator 3 view .LVU448
3580
 523:../libBME280/src/bme280.c ****                 }
3581
 1749              		.loc 1 523 54 is_stmt 0 discriminator 3 view .LVU449
3582
 1750 0036 E95C     		ldrb	r1, [r5, r3]	@ zero_extendqisi2
3583
 523:../libBME280/src/bme280.c ****                 }
3584
 1751              		.loc 1 523 69 discriminator 3 view .LVU450
3585
 1752 0038 01F07F01 		and	r1, r1, #127
3586
 523:../libBME280/src/bme280.c ****                 }
3587
 1753              		.loc 1 523 44 discriminator 3 view .LVU451
3588
 1754 003c E954     		strb	r1, [r5, r3]
3589
 521:../libBME280/src/bme280.c ****                 {
3590
 1755              		.loc 1 521 72 discriminator 3 view .LVU452
3591
 1756 003e 0133     		adds	r3, r3, #1
3592
 1757              	.LVL218:
3593
 521:../libBME280/src/bme280.c ****                 {
3594
 1758              		.loc 1 521 72 discriminator 3 view .LVU453
3595
 1759 0040 DBB2     		uxtb	r3, r3
3596
 1760              	.LVL219:
3597
 521:../libBME280/src/bme280.c ****                 {
3598
 1761              		.loc 1 521 72 discriminator 3 view .LVU454
3599
 1762 0042 F6E7     		b	.L63
3600
 1763              	.LVL220:
3601
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 61
3602
 
3603
 
3604
 1764              	.L64:
3605
 528:../libBME280/src/bme280.c ****             {
3606
 1765              		.loc 1 528 13 is_stmt 1 view .LVU455
3607
 528:../libBME280/src/bme280.c ****             {
3608
 1766              		.loc 1 528 16 is_stmt 0 view .LVU456
3609
 1767 0044 012C     		cmp	r4, #1
3610
 1768 0046 0CD8     		bhi	.L76
3611
 538:../libBME280/src/bme280.c ****             }
3612
 1769              		.loc 1 538 17 is_stmt 1 view .LVU457
3613
 538:../libBME280/src/bme280.c ****             }
3614
 1770              		.loc 1 538 26 is_stmt 0 view .LVU458
3615
 1771 0048 A2B2     		uxth	r2, r4
3616
 1772              	.LVL221:
3617
 1773              	.L67:
3618
 541:../libBME280/src/bme280.c **** 
3619
 1774              		.loc 1 541 13 is_stmt 1 view .LVU459
3620
 541:../libBME280/src/bme280.c **** 
3621
 1775              		.loc 1 541 33 is_stmt 0 view .LVU460
3622
 1776 004a 3769     		ldr	r7, [r6, #16]
3623
 1777              	.LVL222:
3624
 541:../libBME280/src/bme280.c **** 
3625
 1778              		.loc 1 541 30 view .LVU461
3626
 1779 004c 7368     		ldr	r3, [r6, #4]
3627
 1780 004e 01A9     		add	r1, sp, #4
3628
 1781 0050 2878     		ldrb	r0, [r5]	@ zero_extendqisi2
3629
 1782 0052 B847     		blx	r7
3630
 1783              	.LVL223:
3631
 541:../libBME280/src/bme280.c **** 
3632
 1784              		.loc 1 541 28 view .LVU462
3633
 1785 0054 86F84500 		strb	r0, [r6, #69]
3634
 544:../libBME280/src/bme280.c ****             {
3635
 1786              		.loc 1 544 13 is_stmt 1 view .LVU463
3636
 544:../libBME280/src/bme280.c ****             {
3637
 1787              		.loc 1 544 16 is_stmt 0 view .LVU464
3638
 1788 0058 C8B9     		cbnz	r0, .L77
3639
 1789              	.L62:
3640
 1790              	.LVL224:
3641
 559:../libBME280/src/bme280.c **** }
3642
 1791              		.loc 1 559 5 is_stmt 1 view .LVU465
3643
 560:../libBME280/src/bme280.c **** 
3644
 1792              		.loc 1 560 1 is_stmt 0 view .LVU466
3645
 1793 005a 4046     		mov	r0, r8
3646
 1794 005c 06B0     		add	sp, sp, #24
3647
 1795              	.LCFI14:
3648
 1796              		.cfi_remember_state
3649
 1797              		.cfi_def_cfa_offset 24
3650
 1798              		@ sp needed
3651
 1799 005e BDE8F081 		pop	{r4, r5, r6, r7, r8, pc}
3652
 1800              	.LVL225:
3653
 1801              	.L76:
3654
 1802              	.LCFI15:
3655
 1803              		.cfi_restore_state
3656
 533:../libBME280/src/bme280.c ****                 temp_len = ((len * 2) - 1);
3657
 1804              		.loc 1 533 17 is_stmt 1 view .LVU467
3658
 1805 0062 2346     		mov	r3, r4
3659
 1806 0064 3A46     		mov	r2, r7
3660
 1807 0066 01A9     		add	r1, sp, #4
3661
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 62
3662
 
3663
 
3664
 1808 0068 2846     		mov	r0, r5
3665
 1809              	.LVL226:
3666
 533:../libBME280/src/bme280.c ****                 temp_len = ((len * 2) - 1);
3667
 1810              		.loc 1 533 17 is_stmt 0 view .LVU468
3668
 1811 006a FFF7FEFF 		bl	interleave_reg_addr
3669
 1812              	.LVL227:
3670
 534:../libBME280/src/bme280.c ****             }
3671
 1813              		.loc 1 534 17 is_stmt 1 view .LVU469
3672
 534:../libBME280/src/bme280.c ****             }
3673
 1814              		.loc 1 534 39 is_stmt 0 view .LVU470
3674
 1815 006e 6400     		lsls	r4, r4, #1
3675
 1816              	.LVL228:
3676
 534:../libBME280/src/bme280.c ****             }
3677
 1817              		.loc 1 534 26 view .LVU471
3678
 1818 0070 013C     		subs	r4, r4, #1
3679
 1819 0072 A2B2     		uxth	r2, r4
3680
 1820              	.LVL229:
3681
 534:../libBME280/src/bme280.c ****             }
3682
 1821              		.loc 1 534 26 view .LVU472
3683
 1822 0074 E9E7     		b	.L67
3684
 1823              	.LVL230:
3685
 1824              	.L69:
3686
 556:../libBME280/src/bme280.c ****     }
3687
 1825              		.loc 1 556 14 view .LVU473
3688
 1826 0076 4FF0FF38 		mov	r8, #-1
3689
 1827 007a EEE7     		b	.L62
3690
 1828              	.L70:
3691
 1829 007c 4FF0FF38 		mov	r8, #-1
3692
 1830 0080 EBE7     		b	.L62
3693
 1831              	.L71:
3694
 1832 0082 4FF0FF38 		mov	r8, #-1
3695
 1833 0086 E8E7     		b	.L62
3696
 1834              	.L72:
3697
 551:../libBME280/src/bme280.c ****         }
3698
 1835              		.loc 1 551 18 view .LVU474
3699
 1836 0088 6FF00208 		mvn	r8, #2
3700
 1837 008c E5E7     		b	.L62
3701
 1838              	.LVL231:
3702
 1839              	.L77:
3703
 546:../libBME280/src/bme280.c ****             }
3704
 1840              		.loc 1 546 22 view .LVU475
3705
 1841 008e 6FF00308 		mvn	r8, #3
3706
 1842 0092 E2E7     		b	.L62
3707
 1843              		.cfi_endproc
3708
 1844              	.LFE2:
3709
 1846              		.section	.text.set_osr_humidity_settings,"ax",%progbits
3710
 1847              		.align	1
3711
 1848              		.syntax unified
3712
 1849              		.thumb
3713
 1850              		.thumb_func
3714
 1851              		.fpu softvfp
3715
 1853              	set_osr_humidity_settings:
3716
 1854              	.LVL232:
3717
 1855              	.LFB13:
3718
 927:../libBME280/src/bme280.c ****     int8_t rslt;
3719
 1856              		.loc 1 927 1 is_stmt 1 view -0
3720
 1857              		.cfi_startproc
3721
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 63
3722
 
3723
 
3724
 1858              		@ args = 0, pretend = 0, frame = 8
3725
 1859              		@ frame_needed = 0, uses_anonymous_args = 0
3726
 927:../libBME280/src/bme280.c ****     int8_t rslt;
3727
 1860              		.loc 1 927 1 is_stmt 0 view .LVU477
3728
 1861 0000 10B5     		push	{r4, lr}
3729
 1862              	.LCFI16:
3730
 1863              		.cfi_def_cfa_offset 8
3731
 1864              		.cfi_offset 4, -8
3732
 1865              		.cfi_offset 14, -4
3733
 1866 0002 82B0     		sub	sp, sp, #8
3734
 1867              	.LCFI17:
3735
 1868              		.cfi_def_cfa_offset 16
3736
 1869 0004 0C46     		mov	r4, r1
3737
 928:../libBME280/src/bme280.c ****     uint8_t ctrl_hum;
3738
 1870              		.loc 1 928 5 is_stmt 1 view .LVU478
3739
 929:../libBME280/src/bme280.c ****     uint8_t ctrl_meas;
3740
 1871              		.loc 1 929 5 view .LVU479
3741
 930:../libBME280/src/bme280.c ****     uint8_t reg_addr = BME280_CTRL_HUM_ADDR;
3742
 1872              		.loc 1 930 5 view .LVU480
3743
 931:../libBME280/src/bme280.c **** 
3744
 1873              		.loc 1 931 5 view .LVU481
3745
 931:../libBME280/src/bme280.c **** 
3746
 1874              		.loc 1 931 13 is_stmt 0 view .LVU482
3747
 1875 0006 F223     		movs	r3, #242
3748
 1876 0008 8DF80530 		strb	r3, [sp, #5]
3749
 933:../libBME280/src/bme280.c **** 
3750
 1877              		.loc 1 933 5 is_stmt 1 view .LVU483
3751
 933:../libBME280/src/bme280.c **** 
3752
 1878              		.loc 1 933 24 is_stmt 0 view .LVU484
3753
 1879 000c 8378     		ldrb	r3, [r0, #2]	@ zero_extendqisi2
3754
 933:../libBME280/src/bme280.c **** 
3755
 1880              		.loc 1 933 32 view .LVU485
3756
 1881 000e 03F00703 		and	r3, r3, #7
3757
 933:../libBME280/src/bme280.c **** 
3758
 1882              		.loc 1 933 14 view .LVU486
3759
 1883 0012 8DF80730 		strb	r3, [sp, #7]
3760
 936:../libBME280/src/bme280.c **** 
3761
 1884              		.loc 1 936 5 is_stmt 1 view .LVU487
3762
 936:../libBME280/src/bme280.c **** 
3763
 1885              		.loc 1 936 12 is_stmt 0 view .LVU488
3764
 1886 0016 0B46     		mov	r3, r1
3765
 1887 0018 0122     		movs	r2, #1
3766
 1888 001a 0DF10701 		add	r1, sp, #7
3767
 1889              	.LVL233:
3768
 936:../libBME280/src/bme280.c **** 
3769
 1890              		.loc 1 936 12 view .LVU489
3770
 1891 001e 0DF10500 		add	r0, sp, #5
3771
 1892              	.LVL234:
3772
 936:../libBME280/src/bme280.c **** 
3773
 1893              		.loc 1 936 12 view .LVU490
3774
 1894 0022 FFF7FEFF 		bl	bme280_set_regs
3775
 1895              	.LVL235:
3776
 941:../libBME280/src/bme280.c ****     {
3777
 1896              		.loc 1 941 5 is_stmt 1 view .LVU491
3778
 941:../libBME280/src/bme280.c ****     {
3779
 1897              		.loc 1 941 8 is_stmt 0 view .LVU492
3780
 1898 0026 0346     		mov	r3, r0
3781
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 64
3782
 
3783
 
3784
 1899 0028 10B1     		cbz	r0, .L81
3785
 1900              	.LVL236:
3786
 1901              	.L79:
3787
 952:../libBME280/src/bme280.c **** }
3788
 1902              		.loc 1 952 5 is_stmt 1 view .LVU493
3789
 953:../libBME280/src/bme280.c **** 
3790
 1903              		.loc 1 953 1 is_stmt 0 view .LVU494
3791
 1904 002a 1846     		mov	r0, r3
3792
 1905 002c 02B0     		add	sp, sp, #8
3793
 1906              	.LCFI18:
3794
 1907              		.cfi_remember_state
3795
 1908              		.cfi_def_cfa_offset 8
3796
 1909              		@ sp needed
3797
 1910 002e 10BD     		pop	{r4, pc}
3798
 1911              	.LVL237:
3799
 1912              	.L81:
3800
 1913              	.LCFI19:
3801
 1914              		.cfi_restore_state
3802
 943:../libBME280/src/bme280.c ****         rslt = bme280_get_regs(reg_addr, &ctrl_meas, 1, dev);
3803
 1915              		.loc 1 943 9 is_stmt 1 view .LVU495
3804
 943:../libBME280/src/bme280.c ****         rslt = bme280_get_regs(reg_addr, &ctrl_meas, 1, dev);
3805
 1916              		.loc 1 943 18 is_stmt 0 view .LVU496
3806
 1917 0030 F420     		movs	r0, #244
3807
 1918              	.LVL238:
3808
 943:../libBME280/src/bme280.c ****         rslt = bme280_get_regs(reg_addr, &ctrl_meas, 1, dev);
3809
 1919              		.loc 1 943 18 view .LVU497
3810
 1920 0032 8DF80500 		strb	r0, [sp, #5]
3811
 944:../libBME280/src/bme280.c **** 
3812
 1921              		.loc 1 944 9 is_stmt 1 view .LVU498
3813
 944:../libBME280/src/bme280.c **** 
3814
 1922              		.loc 1 944 16 is_stmt 0 view .LVU499
3815
 1923 0036 2346     		mov	r3, r4
3816
 1924 0038 0122     		movs	r2, #1
3817
 1925 003a 0DF10601 		add	r1, sp, #6
3818
 1926 003e FFF7FEFF 		bl	bme280_get_regs
3819
 1927              	.LVL239:
3820
 946:../libBME280/src/bme280.c ****         {
3821
 1928              		.loc 1 946 9 is_stmt 1 view .LVU500
3822
 946:../libBME280/src/bme280.c ****         {
3823
 1929              		.loc 1 946 12 is_stmt 0 view .LVU501
3824
 1930 0042 0346     		mov	r3, r0
3825
 1931 0044 0028     		cmp	r0, #0
3826
 1932 0046 F0D1     		bne	.L79
3827
 948:../libBME280/src/bme280.c ****         }
3828
 1933              		.loc 1 948 13 is_stmt 1 view .LVU502
3829
 948:../libBME280/src/bme280.c ****         }
3830
 1934              		.loc 1 948 20 is_stmt 0 view .LVU503
3831
 1935 0048 2346     		mov	r3, r4
3832
 1936 004a 0122     		movs	r2, #1
3833
 1937 004c 0DF10601 		add	r1, sp, #6
3834
 1938 0050 0DF10500 		add	r0, sp, #5
3835
 1939              	.LVL240:
3836
 948:../libBME280/src/bme280.c ****         }
3837
 1940              		.loc 1 948 20 view .LVU504
3838
 1941 0054 FFF7FEFF 		bl	bme280_set_regs
3839
 1942              	.LVL241:
3840
 1943 0058 0346     		mov	r3, r0
3841
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 65
3842
 
3843
 
3844
 1944              	.LVL242:
3845
 948:../libBME280/src/bme280.c ****         }
3846
 1945              		.loc 1 948 20 view .LVU505
3847
 1946 005a E6E7     		b	.L79
3848
 1947              		.cfi_endproc
3849
 1948              	.LFE13:
3850
 1950              		.section	.text.set_osr_press_temp_settings,"ax",%progbits
3851
 1951              		.align	1
3852
 1952              		.syntax unified
3853
 1953              		.thumb
3854
 1954              		.thumb_func
3855
 1955              		.fpu softvfp
3856
 1957              	set_osr_press_temp_settings:
3857
 1958              	.LVL243:
3858
 1959              	.LFB14:
3859
 962:../libBME280/src/bme280.c ****     int8_t rslt;
3860
 1960              		.loc 1 962 1 is_stmt 1 view -0
3861
 1961              		.cfi_startproc
3862
 1962              		@ args = 0, pretend = 0, frame = 8
3863
 1963              		@ frame_needed = 0, uses_anonymous_args = 0
3864
 962:../libBME280/src/bme280.c ****     int8_t rslt;
3865
 1964              		.loc 1 962 1 is_stmt 0 view .LVU507
3866
 1965 0000 70B5     		push	{r4, r5, r6, lr}
3867
 1966              	.LCFI20:
3868
 1967              		.cfi_def_cfa_offset 16
3869
 1968              		.cfi_offset 4, -16
3870
 1969              		.cfi_offset 5, -12
3871
 1970              		.cfi_offset 6, -8
3872
 1971              		.cfi_offset 14, -4
3873
 1972 0002 82B0     		sub	sp, sp, #8
3874
 1973              	.LCFI21:
3875
 1974              		.cfi_def_cfa_offset 24
3876
 1975 0004 0546     		mov	r5, r0
3877
 1976 0006 0E46     		mov	r6, r1
3878
 1977 0008 1446     		mov	r4, r2
3879
 963:../libBME280/src/bme280.c ****     uint8_t reg_addr = BME280_CTRL_MEAS_ADDR;
3880
 1978              		.loc 1 963 5 is_stmt 1 view .LVU508
3881
 964:../libBME280/src/bme280.c ****     uint8_t reg_data;
3882
 1979              		.loc 1 964 5 view .LVU509
3883
 964:../libBME280/src/bme280.c ****     uint8_t reg_data;
3884
 1980              		.loc 1 964 13 is_stmt 0 view .LVU510
3885
 1981 000a F420     		movs	r0, #244
3886
 1982              	.LVL244:
3887
 964:../libBME280/src/bme280.c ****     uint8_t reg_data;
3888
 1983              		.loc 1 964 13 view .LVU511
3889
 1984 000c 8DF80700 		strb	r0, [sp, #7]
3890
 965:../libBME280/src/bme280.c **** 
3891
 1985              		.loc 1 965 5 is_stmt 1 view .LVU512
3892
 967:../libBME280/src/bme280.c **** 
3893
 1986              		.loc 1 967 5 view .LVU513
3894
 967:../libBME280/src/bme280.c **** 
3895
 1987              		.loc 1 967 12 is_stmt 0 view .LVU514
3896
 1988 0010 1346     		mov	r3, r2
3897
 1989 0012 0122     		movs	r2, #1
3898
 1990              	.LVL245:
3899
 967:../libBME280/src/bme280.c **** 
3900
 1991              		.loc 1 967 12 view .LVU515
3901
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 66
3902
 
3903
 
3904
 1992 0014 0DF10601 		add	r1, sp, #6
3905
 1993              	.LVL246:
3906
 967:../libBME280/src/bme280.c **** 
3907
 1994              		.loc 1 967 12 view .LVU516
3908
 1995 0018 FFF7FEFF 		bl	bme280_get_regs
3909
 1996              	.LVL247:
3910
 969:../libBME280/src/bme280.c ****     {
3911
 1997              		.loc 1 969 5 is_stmt 1 view .LVU517
3912
 969:../libBME280/src/bme280.c ****     {
3913
 1998              		.loc 1 969 8 is_stmt 0 view .LVU518
3914
 1999 001c 0346     		mov	r3, r0
3915
 2000 001e 70B9     		cbnz	r0, .L83
3916
 971:../libBME280/src/bme280.c ****         {
3917
 2001              		.loc 1 971 9 is_stmt 1 view .LVU519
3918
 971:../libBME280/src/bme280.c ****         {
3919
 2002              		.loc 1 971 12 is_stmt 0 view .LVU520
3920
 2003 0020 15F0010F 		tst	r5, #1
3921
 2004 0024 0ED1     		bne	.L87
3922
 2005              	.LVL248:
3923
 2006              	.L84:
3924
 976:../libBME280/src/bme280.c ****         {
3925
 2007              		.loc 1 976 9 is_stmt 1 view .LVU521
3926
 976:../libBME280/src/bme280.c ****         {
3927
 2008              		.loc 1 976 12 is_stmt 0 view .LVU522
3928
 2009 0026 15F0020F 		tst	r5, #2
3929
 2010 002a 11D1     		bne	.L88
3930
 2011              	.L85:
3931
 982:../libBME280/src/bme280.c ****     }
3932
 2012              		.loc 1 982 9 is_stmt 1 view .LVU523
3933
 982:../libBME280/src/bme280.c ****     }
3934
 2013              		.loc 1 982 16 is_stmt 0 view .LVU524
3935
 2014 002c 2346     		mov	r3, r4
3936
 2015 002e 0122     		movs	r2, #1
3937
 2016 0030 0DF10601 		add	r1, sp, #6
3938
 2017 0034 0DF10700 		add	r0, sp, #7
3939
 2018 0038 FFF7FEFF 		bl	bme280_set_regs
3940
 2019              	.LVL249:
3941
 2020 003c 0346     		mov	r3, r0
3942
 2021              	.LVL250:
3943
 2022              	.L83:
3944
 985:../libBME280/src/bme280.c **** }
3945
 2023              		.loc 1 985 5 is_stmt 1 view .LVU525
3946
 986:../libBME280/src/bme280.c **** 
3947
 2024              		.loc 1 986 1 is_stmt 0 view .LVU526
3948
 2025 003e 1846     		mov	r0, r3
3949
 2026 0040 02B0     		add	sp, sp, #8
3950
 2027              	.LCFI22:
3951
 2028              		.cfi_remember_state
3952
 2029              		.cfi_def_cfa_offset 16
3953
 2030              		@ sp needed
3954
 2031 0042 70BD     		pop	{r4, r5, r6, pc}
3955
 2032              	.LVL251:
3956
 2033              	.L87:
3957
 2034              	.LCFI23:
3958
 2035              		.cfi_restore_state
3959
 973:../libBME280/src/bme280.c ****         }
3960
 2036              		.loc 1 973 13 is_stmt 1 view .LVU527
3961
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 67
3962
 
3963
 
3964
 2037 0044 3146     		mov	r1, r6
3965
 2038 0046 0DF10600 		add	r0, sp, #6
3966
 2039              	.LVL252:
3967
 973:../libBME280/src/bme280.c ****         }
3968
 2040              		.loc 1 973 13 is_stmt 0 view .LVU528
3969
 2041 004a FFF7FEFF 		bl	fill_osr_press_settings
3970
 2042              	.LVL253:
3971
 2043 004e EAE7     		b	.L84
3972
 2044              	.L88:
3973
 978:../libBME280/src/bme280.c ****         }
3974
 2045              		.loc 1 978 13 is_stmt 1 view .LVU529
3975
 2046 0050 3146     		mov	r1, r6
3976
 2047 0052 0DF10600 		add	r0, sp, #6
3977
 2048 0056 FFF7FEFF 		bl	fill_osr_temp_settings
3978
 2049              	.LVL254:
3979
 2050 005a E7E7     		b	.L85
3980
 2051              		.cfi_endproc
3981
 2052              	.LFE14:
3982
 2054              		.section	.text.set_osr_settings,"ax",%progbits
3983
 2055              		.align	1
3984
 2056              		.syntax unified
3985
 2057              		.thumb
3986
 2058              		.thumb_func
3987
 2059              		.fpu softvfp
3988
 2061              	set_osr_settings:
3989
 2062              	.LVL255:
3990
 2063              	.LFB12:
3991
 907:../libBME280/src/bme280.c ****     int8_t rslt = BME280_W_INVALID_OSR_MACRO;
3992
 2064              		.loc 1 907 1 view -0
3993
 2065              		.cfi_startproc
3994
 2066              		@ args = 0, pretend = 0, frame = 0
3995
 2067              		@ frame_needed = 0, uses_anonymous_args = 0
3996
 907:../libBME280/src/bme280.c ****     int8_t rslt = BME280_W_INVALID_OSR_MACRO;
3997
 2068              		.loc 1 907 1 is_stmt 0 view .LVU531
3998
 2069 0000 70B5     		push	{r4, r5, r6, lr}
3999
 2070              	.LCFI24:
4000
 2071              		.cfi_def_cfa_offset 16
4001
 2072              		.cfi_offset 4, -16
4002
 2073              		.cfi_offset 5, -12
4003
 2074              		.cfi_offset 6, -8
4004
 2075              		.cfi_offset 14, -4
4005
 2076 0002 0446     		mov	r4, r0
4006
 2077 0004 0D46     		mov	r5, r1
4007
 2078 0006 1646     		mov	r6, r2
4008
 908:../libBME280/src/bme280.c **** 
4009
 2079              		.loc 1 908 5 is_stmt 1 view .LVU532
4010
 2080              	.LVL256:
4011
 910:../libBME280/src/bme280.c ****     {
4012
 2081              		.loc 1 910 5 view .LVU533
4013
 910:../libBME280/src/bme280.c ****     {
4014
 2082              		.loc 1 910 8 is_stmt 0 view .LVU534
4015
 2083 0008 10F0040F 		tst	r0, #4
4016
 2084 000c 04D1     		bne	.L94
4017
 908:../libBME280/src/bme280.c **** 
4018
 2085              		.loc 1 908 12 view .LVU535
4019
 2086 000e 0120     		movs	r0, #1
4020
 2087              	.LVL257:
4021
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 68
4022
 
4023
 
4024
 2088              	.L90:
4025
 915:../libBME280/src/bme280.c ****     {
4026
 2089              		.loc 1 915 5 is_stmt 1 view .LVU536
4027
 915:../libBME280/src/bme280.c ****     {
4028
 2090              		.loc 1 915 8 is_stmt 0 view .LVU537
4029
 2091 0010 14F0030F 		tst	r4, #3
4030
 2092 0014 05D1     		bne	.L95
4031
 2093              	.L91:
4032
 920:../libBME280/src/bme280.c **** }
4033
 2094              		.loc 1 920 5 is_stmt 1 view .LVU538
4034
 921:../libBME280/src/bme280.c **** 
4035
 2095              		.loc 1 921 1 is_stmt 0 view .LVU539
4036
 2096 0016 70BD     		pop	{r4, r5, r6, pc}
4037
 2097              	.LVL258:
4038
 2098              	.L94:
4039
 912:../libBME280/src/bme280.c ****     }
4040
 2099              		.loc 1 912 9 is_stmt 1 view .LVU540
4041
 912:../libBME280/src/bme280.c ****     }
4042
 2100              		.loc 1 912 16 is_stmt 0 view .LVU541
4043
 2101 0018 1146     		mov	r1, r2
4044
 2102              	.LVL259:
4045
 912:../libBME280/src/bme280.c ****     }
4046
 2103              		.loc 1 912 16 view .LVU542
4047
 2104 001a 2846     		mov	r0, r5
4048
 2105              	.LVL260:
4049
 912:../libBME280/src/bme280.c ****     }
4050
 2106              		.loc 1 912 16 view .LVU543
4051
 2107 001c FFF7FEFF 		bl	set_osr_humidity_settings
4052
 2108              	.LVL261:
4053
 912:../libBME280/src/bme280.c ****     }
4054
 2109              		.loc 1 912 16 view .LVU544
4055
 2110 0020 F6E7     		b	.L90
4056
 2111              	.L95:
4057
 917:../libBME280/src/bme280.c ****     }
4058
 2112              		.loc 1 917 9 is_stmt 1 view .LVU545
4059
 917:../libBME280/src/bme280.c ****     }
4060
 2113              		.loc 1 917 16 is_stmt 0 view .LVU546
4061
 2114 0022 3246     		mov	r2, r6
4062
 2115 0024 2946     		mov	r1, r5
4063
 2116 0026 2046     		mov	r0, r4
4064
 2117              	.LVL262:
4065
 917:../libBME280/src/bme280.c ****     }
4066
 2118              		.loc 1 917 16 view .LVU547
4067
 2119 0028 FFF7FEFF 		bl	set_osr_press_temp_settings
4068
 2120              	.LVL263:
4069
 917:../libBME280/src/bme280.c ****     }
4070
 2121              		.loc 1 917 16 view .LVU548
4071
 2122 002c F3E7     		b	.L91
4072
 2123              		.cfi_endproc
4073
 2124              	.LFE12:
4074
 2126              		.section	.text.set_filter_standby_settings,"ax",%progbits
4075
 2127              		.align	1
4076
 2128              		.syntax unified
4077
 2129              		.thumb
4078
 2130              		.thumb_func
4079
 2131              		.fpu softvfp
4080
 2133              	set_filter_standby_settings:
4081
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 69
4082
 
4083
 
4084
 2134              	.LVL264:
4085
 2135              	.LFB15:
4086
 995:../libBME280/src/bme280.c ****     int8_t rslt;
4087
 2136              		.loc 1 995 1 is_stmt 1 view -0
4088
 2137              		.cfi_startproc
4089
 2138              		@ args = 0, pretend = 0, frame = 8
4090
 2139              		@ frame_needed = 0, uses_anonymous_args = 0
4091
 995:../libBME280/src/bme280.c ****     int8_t rslt;
4092
 2140              		.loc 1 995 1 is_stmt 0 view .LVU550
4093
 2141 0000 70B5     		push	{r4, r5, r6, lr}
4094
 2142              	.LCFI25:
4095
 2143              		.cfi_def_cfa_offset 16
4096
 2144              		.cfi_offset 4, -16
4097
 2145              		.cfi_offset 5, -12
4098
 2146              		.cfi_offset 6, -8
4099
 2147              		.cfi_offset 14, -4
4100
 2148 0002 82B0     		sub	sp, sp, #8
4101
 2149              	.LCFI26:
4102
 2150              		.cfi_def_cfa_offset 24
4103
 2151 0004 0546     		mov	r5, r0
4104
 2152 0006 0E46     		mov	r6, r1
4105
 2153 0008 1446     		mov	r4, r2
4106
 996:../libBME280/src/bme280.c ****     uint8_t reg_addr = BME280_CONFIG_ADDR;
4107
 2154              		.loc 1 996 5 is_stmt 1 view .LVU551
4108
 997:../libBME280/src/bme280.c ****     uint8_t reg_data;
4109
 2155              		.loc 1 997 5 view .LVU552
4110
 997:../libBME280/src/bme280.c ****     uint8_t reg_data;
4111
 2156              		.loc 1 997 13 is_stmt 0 view .LVU553
4112
 2157 000a F520     		movs	r0, #245
4113
 2158              	.LVL265:
4114
 997:../libBME280/src/bme280.c ****     uint8_t reg_data;
4115
 2159              		.loc 1 997 13 view .LVU554
4116
 2160 000c 8DF80700 		strb	r0, [sp, #7]
4117
 998:../libBME280/src/bme280.c **** 
4118
 2161              		.loc 1 998 5 is_stmt 1 view .LVU555
4119
1000:../libBME280/src/bme280.c **** 
4120
 2162              		.loc 1 1000 5 view .LVU556
4121
1000:../libBME280/src/bme280.c **** 
4122
 2163              		.loc 1 1000 12 is_stmt 0 view .LVU557
4123
 2164 0010 1346     		mov	r3, r2
4124
 2165 0012 0122     		movs	r2, #1
4125
 2166              	.LVL266:
4126
1000:../libBME280/src/bme280.c **** 
4127
 2167              		.loc 1 1000 12 view .LVU558
4128
 2168 0014 0DF10601 		add	r1, sp, #6
4129
 2169              	.LVL267:
4130
1000:../libBME280/src/bme280.c **** 
4131
 2170              		.loc 1 1000 12 view .LVU559
4132
 2171 0018 FFF7FEFF 		bl	bme280_get_regs
4133
 2172              	.LVL268:
4134
1002:../libBME280/src/bme280.c ****     {
4135
 2173              		.loc 1 1002 5 is_stmt 1 view .LVU560
4136
1002:../libBME280/src/bme280.c ****     {
4137
 2174              		.loc 1 1002 8 is_stmt 0 view .LVU561
4138
 2175 001c 0346     		mov	r3, r0
4139
 2176 001e 70B9     		cbnz	r0, .L97
4140
1004:../libBME280/src/bme280.c ****         {
4141
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 70
4142
 
4143
 
4144
 2177              		.loc 1 1004 9 is_stmt 1 view .LVU562
4145
1004:../libBME280/src/bme280.c ****         {
4146
 2178              		.loc 1 1004 12 is_stmt 0 view .LVU563
4147
 2179 0020 15F0080F 		tst	r5, #8
4148
 2180 0024 0ED1     		bne	.L101
4149
 2181              	.LVL269:
4150
 2182              	.L98:
4151
1009:../libBME280/src/bme280.c ****         {
4152
 2183              		.loc 1 1009 9 is_stmt 1 view .LVU564
4153
1009:../libBME280/src/bme280.c ****         {
4154
 2184              		.loc 1 1009 12 is_stmt 0 view .LVU565
4155
 2185 0026 15F0100F 		tst	r5, #16
4156
 2186 002a 11D1     		bne	.L102
4157
 2187              	.L99:
4158
1015:../libBME280/src/bme280.c ****     }
4159
 2188              		.loc 1 1015 9 is_stmt 1 view .LVU566
4160
1015:../libBME280/src/bme280.c ****     }
4161
 2189              		.loc 1 1015 16 is_stmt 0 view .LVU567
4162
 2190 002c 2346     		mov	r3, r4
4163
 2191 002e 0122     		movs	r2, #1
4164
 2192 0030 0DF10601 		add	r1, sp, #6
4165
 2193 0034 0DF10700 		add	r0, sp, #7
4166
 2194 0038 FFF7FEFF 		bl	bme280_set_regs
4167
 2195              	.LVL270:
4168
 2196 003c 0346     		mov	r3, r0
4169
 2197              	.LVL271:
4170
 2198              	.L97:
4171
1018:../libBME280/src/bme280.c **** }
4172
 2199              		.loc 1 1018 5 is_stmt 1 view .LVU568
4173
1019:../libBME280/src/bme280.c **** 
4174
 2200              		.loc 1 1019 1 is_stmt 0 view .LVU569
4175
 2201 003e 1846     		mov	r0, r3
4176
 2202 0040 02B0     		add	sp, sp, #8
4177
 2203              	.LCFI27:
4178
 2204              		.cfi_remember_state
4179
 2205              		.cfi_def_cfa_offset 16
4180
 2206              		@ sp needed
4181
 2207 0042 70BD     		pop	{r4, r5, r6, pc}
4182
 2208              	.LVL272:
4183
 2209              	.L101:
4184
 2210              	.LCFI28:
4185
 2211              		.cfi_restore_state
4186
1006:../libBME280/src/bme280.c ****         }
4187
 2212              		.loc 1 1006 13 is_stmt 1 view .LVU570
4188
 2213 0044 3146     		mov	r1, r6
4189
 2214 0046 0DF10600 		add	r0, sp, #6
4190
 2215              	.LVL273:
4191
1006:../libBME280/src/bme280.c ****         }
4192
 2216              		.loc 1 1006 13 is_stmt 0 view .LVU571
4193
 2217 004a FFF7FEFF 		bl	fill_filter_settings
4194
 2218              	.LVL274:
4195
 2219 004e EAE7     		b	.L98
4196
 2220              	.L102:
4197
1011:../libBME280/src/bme280.c ****         }
4198
 2221              		.loc 1 1011 13 is_stmt 1 view .LVU572
4199
 2222 0050 3146     		mov	r1, r6
4200
 2223 0052 0DF10600 		add	r0, sp, #6
4201
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 71
4202
 
4203
 
4204
 2224 0056 FFF7FEFF 		bl	fill_standby_settings
4205
 2225              	.LVL275:
4206
 2226 005a E7E7     		b	.L99
4207
 2227              		.cfi_endproc
4208
 2228              	.LFE15:
4209
 2230              		.section	.text.reload_device_settings,"ax",%progbits
4210
 2231              		.align	1
4211
 2232              		.syntax unified
4212
 2233              		.thumb
4213
 2234              		.thumb_func
4214
 2235              		.fpu softvfp
4215
 2237              	reload_device_settings:
4216
 2238              	.LVL276:
4217
 2239              	.LFB23:
4218
1127:../libBME280/src/bme280.c ****     int8_t rslt;
4219
 2240              		.loc 1 1127 1 view -0
4220
 2241              		.cfi_startproc
4221
 2242              		@ args = 0, pretend = 0, frame = 0
4222
 2243              		@ frame_needed = 0, uses_anonymous_args = 0
4223
1127:../libBME280/src/bme280.c ****     int8_t rslt;
4224
 2244              		.loc 1 1127 1 is_stmt 0 view .LVU574
4225
 2245 0000 38B5     		push	{r3, r4, r5, lr}
4226
 2246              	.LCFI29:
4227
 2247              		.cfi_def_cfa_offset 16
4228
 2248              		.cfi_offset 3, -16
4229
 2249              		.cfi_offset 4, -12
4230
 2250              		.cfi_offset 5, -8
4231
 2251              		.cfi_offset 14, -4
4232
 2252 0002 0446     		mov	r4, r0
4233
 2253 0004 0D46     		mov	r5, r1
4234
1128:../libBME280/src/bme280.c **** 
4235
 2254              		.loc 1 1128 5 is_stmt 1 view .LVU575
4236
1130:../libBME280/src/bme280.c **** 
4237
 2255              		.loc 1 1130 5 view .LVU576
4238
1130:../libBME280/src/bme280.c **** 
4239
 2256              		.loc 1 1130 12 is_stmt 0 view .LVU577
4240
 2257 0006 0A46     		mov	r2, r1
4241
 2258 0008 0146     		mov	r1, r0
4242
 2259              	.LVL277:
4243
1130:../libBME280/src/bme280.c **** 
4244
 2260              		.loc 1 1130 12 view .LVU578
4245
 2261 000a 1F20     		movs	r0, #31
4246
 2262              	.LVL278:
4247
1130:../libBME280/src/bme280.c **** 
4248
 2263              		.loc 1 1130 12 view .LVU579
4249
 2264 000c FFF7FEFF 		bl	set_osr_settings
4250
 2265              	.LVL279:
4251
1132:../libBME280/src/bme280.c ****     {
4252
 2266              		.loc 1 1132 5 is_stmt 1 view .LVU580
4253
1132:../libBME280/src/bme280.c ****     {
4254
 2267              		.loc 1 1132 8 is_stmt 0 view .LVU581
4255
 2268 0010 0346     		mov	r3, r0
4256
 2269 0012 08B1     		cbz	r0, .L106
4257
 2270              	.LVL280:
4258
 2271              	.L104:
4259
1137:../libBME280/src/bme280.c **** }
4260
 2272              		.loc 1 1137 5 is_stmt 1 view .LVU582
4261
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 72
4262
 
4263
 
4264
1138:../libBME280/src/bme280.c **** 
4265
 2273              		.loc 1 1138 1 is_stmt 0 view .LVU583
4266
 2274 0014 1846     		mov	r0, r3
4267
 2275 0016 38BD     		pop	{r3, r4, r5, pc}
4268
 2276              	.LVL281:
4269
 2277              	.L106:
4270
1134:../libBME280/src/bme280.c ****     }
4271
 2278              		.loc 1 1134 9 is_stmt 1 view .LVU584
4272
1134:../libBME280/src/bme280.c ****     }
4273
 2279              		.loc 1 1134 16 is_stmt 0 view .LVU585
4274
 2280 0018 2A46     		mov	r2, r5
4275
 2281 001a 2146     		mov	r1, r4
4276
 2282 001c 1F20     		movs	r0, #31
4277
 2283              	.LVL282:
4278
1134:../libBME280/src/bme280.c ****     }
4279
 2284              		.loc 1 1134 16 view .LVU586
4280
 2285 001e FFF7FEFF 		bl	set_filter_standby_settings
4281
 2286              	.LVL283:
4282
 2287 0022 0346     		mov	r3, r0
4283
 2288              	.LVL284:
4284
1134:../libBME280/src/bme280.c ****     }
4285
 2289              		.loc 1 1134 16 view .LVU587
4286
 2290 0024 F6E7     		b	.L104
4287
 2291              		.cfi_endproc
4288
 2292              	.LFE23:
4289
 2294              		.section	.text.write_power_mode,"ax",%progbits
4290
 2295              		.align	1
4291
 2296              		.syntax unified
4292
 2297              		.thumb
4293
 2298              		.thumb_func
4294
 2299              		.fpu softvfp
4295
 2301              	write_power_mode:
4296
 2302              	.LVL285:
4297
 2303              	.LFB21:
4298
1075:../libBME280/src/bme280.c ****     int8_t rslt;
4299
 2304              		.loc 1 1075 1 is_stmt 1 view -0
4300
 2305              		.cfi_startproc
4301
 2306              		@ args = 0, pretend = 0, frame = 8
4302
 2307              		@ frame_needed = 0, uses_anonymous_args = 0
4303
1075:../libBME280/src/bme280.c ****     int8_t rslt;
4304
 2308              		.loc 1 1075 1 is_stmt 0 view .LVU589
4305
 2309 0000 30B5     		push	{r4, r5, lr}
4306
 2310              	.LCFI30:
4307
 2311              		.cfi_def_cfa_offset 12
4308
 2312              		.cfi_offset 4, -12
4309
 2313              		.cfi_offset 5, -8
4310
 2314              		.cfi_offset 14, -4
4311
 2315 0002 83B0     		sub	sp, sp, #12
4312
 2316              	.LCFI31:
4313
 2317              		.cfi_def_cfa_offset 24
4314
 2318 0004 0546     		mov	r5, r0
4315
 2319 0006 0C46     		mov	r4, r1
4316
1076:../libBME280/src/bme280.c ****     uint8_t reg_addr = BME280_PWR_CTRL_ADDR;
4317
 2320              		.loc 1 1076 5 is_stmt 1 view .LVU590
4318
1077:../libBME280/src/bme280.c **** 
4319
 2321              		.loc 1 1077 5 view .LVU591
4320
1077:../libBME280/src/bme280.c **** 
4321
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 73
4322
 
4323
 
4324
 2322              		.loc 1 1077 13 is_stmt 0 view .LVU592
4325
 2323 0008 F420     		movs	r0, #244
4326
 2324              	.LVL286:
4327
1077:../libBME280/src/bme280.c **** 
4328
 2325              		.loc 1 1077 13 view .LVU593
4329
 2326 000a 8DF80700 		strb	r0, [sp, #7]
4330
1080:../libBME280/src/bme280.c **** 
4331
 2327              		.loc 1 1080 5 is_stmt 1 view .LVU594
4332
1083:../libBME280/src/bme280.c **** 
4333
 2328              		.loc 1 1083 5 view .LVU595
4334
1083:../libBME280/src/bme280.c **** 
4335
 2329              		.loc 1 1083 12 is_stmt 0 view .LVU596
4336
 2330 000e 0B46     		mov	r3, r1
4337
 2331 0010 0122     		movs	r2, #1
4338
 2332 0012 0DF10601 		add	r1, sp, #6
4339
 2333              	.LVL287:
4340
1083:../libBME280/src/bme280.c **** 
4341
 2334              		.loc 1 1083 12 view .LVU597
4342
 2335 0016 FFF7FEFF 		bl	bme280_get_regs
4343
 2336              	.LVL288:
4344
1086:../libBME280/src/bme280.c ****     {
4345
 2337              		.loc 1 1086 5 is_stmt 1 view .LVU598
4346
1086:../libBME280/src/bme280.c ****     {
4347
 2338              		.loc 1 1086 8 is_stmt 0 view .LVU599
4348
 2339 001a 0346     		mov	r3, r0
4349
 2340 001c 10B1     		cbz	r0, .L110
4350
 2341              	.LVL289:
4351
 2342              	.L108:
4352
1094:../libBME280/src/bme280.c **** }
4353
 2343              		.loc 1 1094 5 is_stmt 1 view .LVU600
4354
1095:../libBME280/src/bme280.c **** 
4355
 2344              		.loc 1 1095 1 is_stmt 0 view .LVU601
4356
 2345 001e 1846     		mov	r0, r3
4357
 2346 0020 03B0     		add	sp, sp, #12
4358
 2347              	.LCFI32:
4359
 2348              		.cfi_remember_state
4360
 2349              		.cfi_def_cfa_offset 12
4361
 2350              		@ sp needed
4362
 2351 0022 30BD     		pop	{r4, r5, pc}
4363
 2352              	.LVL290:
4364
 2353              	.L110:
4365
 2354              	.LCFI33:
4366
 2355              		.cfi_restore_state
4367
1088:../libBME280/src/bme280.c **** 
4368
 2356              		.loc 1 1088 9 is_stmt 1 view .LVU602
4369
1088:../libBME280/src/bme280.c **** 
4370
 2357              		.loc 1 1088 31 is_stmt 0 view .LVU603
4371
 2358 0024 9DF80600 		ldrb	r0, [sp, #6]	@ zero_extendqisi2
4372
 2359              	.LVL291:
4373
1088:../libBME280/src/bme280.c **** 
4374
 2360              		.loc 1 1088 31 view .LVU604
4375
 2361 0028 20F00300 		bic	r0, r0, #3
4376
 2362 002c 40B2     		sxtb	r0, r0
4377
 2363 002e 05F00305 		and	r5, r5, #3
4378
 2364 0032 2843     		orrs	r0, r0, r5
4379
1088:../libBME280/src/bme280.c **** 
4380
 2365              		.loc 1 1088 29 view .LVU605
4381
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 74
4382
 
4383
 
4384
 2366 0034 8DF80600 		strb	r0, [sp, #6]
4385
1091:../libBME280/src/bme280.c ****     }
4386
 2367              		.loc 1 1091 9 is_stmt 1 view .LVU606
4387
1091:../libBME280/src/bme280.c ****     }
4388
 2368              		.loc 1 1091 16 is_stmt 0 view .LVU607
4389
 2369 0038 2346     		mov	r3, r4
4390
 2370 003a 0122     		movs	r2, #1
4391
 2371 003c 0DF10601 		add	r1, sp, #6
4392
 2372 0040 0DF10700 		add	r0, sp, #7
4393
 2373 0044 FFF7FEFF 		bl	bme280_set_regs
4394
 2374              	.LVL292:
4395
 2375 0048 0346     		mov	r3, r0
4396
 2376              	.LVL293:
4397
1091:../libBME280/src/bme280.c ****     }
4398
 2377              		.loc 1 1091 16 view .LVU608
4399
 2378 004a E8E7     		b	.L108
4400
 2379              		.cfi_endproc
4401
 2380              	.LFE21:
4402
 2382              		.section	.text.bme280_get_sensor_settings,"ax",%progbits
4403
 2383              		.align	1
4404
 2384              		.global	bme280_get_sensor_settings
4405
 2385              		.syntax unified
4406
 2386              		.thumb
4407
 2387              		.thumb_func
4408
 2388              		.fpu softvfp
4409
 2390              	bme280_get_sensor_settings:
4410
 2391              	.LVL294:
4411
 2392              	.LFB4:
4412
 612:../libBME280/src/bme280.c ****     int8_t rslt;
4413
 2393              		.loc 1 612 1 is_stmt 1 view -0
4414
 2394              		.cfi_startproc
4415
 2395              		@ args = 0, pretend = 0, frame = 8
4416
 2396              		@ frame_needed = 0, uses_anonymous_args = 0
4417
 612:../libBME280/src/bme280.c ****     int8_t rslt;
4418
 2397              		.loc 1 612 1 is_stmt 0 view .LVU610
4419
 2398 0000 30B5     		push	{r4, r5, lr}
4420
 2399              	.LCFI34:
4421
 2400              		.cfi_def_cfa_offset 12
4422
 2401              		.cfi_offset 4, -12
4423
 2402              		.cfi_offset 5, -8
4424
 2403              		.cfi_offset 14, -4
4425
 2404 0002 83B0     		sub	sp, sp, #12
4426
 2405              	.LCFI35:
4427
 2406              		.cfi_def_cfa_offset 24
4428
 2407 0004 0546     		mov	r5, r0
4429
 613:../libBME280/src/bme280.c ****     uint8_t reg_data[4];
4430
 2408              		.loc 1 613 5 is_stmt 1 view .LVU611
4431
 614:../libBME280/src/bme280.c **** 
4432
 2409              		.loc 1 614 5 view .LVU612
4433
 617:../libBME280/src/bme280.c **** 
4434
 2410              		.loc 1 617 5 view .LVU613
4435
 617:../libBME280/src/bme280.c **** 
4436
 2411              		.loc 1 617 12 is_stmt 0 view .LVU614
4437
 2412 0006 FFF7FEFF 		bl	null_ptr_check
4438
 2413              	.LVL295:
4439
 620:../libBME280/src/bme280.c ****     {
4440
 2414              		.loc 1 620 5 is_stmt 1 view .LVU615
4441
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 75
4442
 
4443
 
4444
 620:../libBME280/src/bme280.c ****     {
4445
 2415              		.loc 1 620 8 is_stmt 0 view .LVU616
4446
 2416 000a 0446     		mov	r4, r0
4447
 2417 000c 10B1     		cbz	r0, .L114
4448
 2418              	.LVL296:
4449
 2419              	.L112:
4450
 630:../libBME280/src/bme280.c **** }
4451
 2420              		.loc 1 630 5 is_stmt 1 view .LVU617
4452
 631:../libBME280/src/bme280.c **** 
4453
 2421              		.loc 1 631 1 is_stmt 0 view .LVU618
4454
 2422 000e 2046     		mov	r0, r4
4455
 2423 0010 03B0     		add	sp, sp, #12
4456
 2424              	.LCFI36:
4457
 2425              		.cfi_remember_state
4458
 2426              		.cfi_def_cfa_offset 12
4459
 2427              		@ sp needed
4460
 2428 0012 30BD     		pop	{r4, r5, pc}
4461
 2429              	.LVL297:
4462
 2430              	.L114:
4463
 2431              	.LCFI37:
4464
 2432              		.cfi_restore_state
4465
 622:../libBME280/src/bme280.c **** 
4466
 2433              		.loc 1 622 9 is_stmt 1 view .LVU619
4467
 622:../libBME280/src/bme280.c **** 
4468
 2434              		.loc 1 622 16 is_stmt 0 view .LVU620
4469
 2435 0014 2B46     		mov	r3, r5
4470
 2436 0016 0422     		movs	r2, #4
4471
 2437 0018 0DEB0201 		add	r1, sp, r2
4472
 2438 001c F220     		movs	r0, #242
4473
 2439              	.LVL298:
4474
 622:../libBME280/src/bme280.c **** 
4475
 2440              		.loc 1 622 16 view .LVU621
4476
 2441 001e FFF7FEFF 		bl	bme280_get_regs
4477
 2442              	.LVL299:
4478
 624:../libBME280/src/bme280.c ****         {
4479
 2443              		.loc 1 624 9 is_stmt 1 view .LVU622
4480
 624:../libBME280/src/bme280.c ****         {
4481
 2444              		.loc 1 624 12 is_stmt 0 view .LVU623
4482
 2445 0022 0446     		mov	r4, r0
4483
 2446 0024 0028     		cmp	r0, #0
4484
 2447 0026 F2D1     		bne	.L112
4485
 626:../libBME280/src/bme280.c ****         }
4486
 2448              		.loc 1 626 13 is_stmt 1 view .LVU624
4487
 2449 0028 05F14001 		add	r1, r5, #64
4488
 2450 002c 01A8     		add	r0, sp, #4
4489
 2451              	.LVL300:
4490
 626:../libBME280/src/bme280.c ****         }
4491
 2452              		.loc 1 626 13 is_stmt 0 view .LVU625
4492
 2453 002e FFF7FEFF 		bl	parse_device_settings
4493
 2454              	.LVL301:
4494
 2455 0032 ECE7     		b	.L112
4495
 2456              		.cfi_endproc
4496
 2457              	.LFE4:
4497
 2459              		.section	.text.bme280_get_sensor_mode,"ax",%progbits
4498
 2460              		.align	1
4499
 2461              		.global	bme280_get_sensor_mode
4500
 2462              		.syntax unified
4501
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 76
4502
 
4503
 
4504
 2463              		.thumb
4505
 2464              		.thumb_func
4506
 2465              		.fpu softvfp
4507
 2467              	bme280_get_sensor_mode:
4508
 2468              	.LVL302:
4509
 2469              	.LFB6:
4510
 670:../libBME280/src/bme280.c ****     int8_t rslt;
4511
 2470              		.loc 1 670 1 is_stmt 1 view -0
4512
 2471              		.cfi_startproc
4513
 2472              		@ args = 0, pretend = 0, frame = 0
4514
 2473              		@ frame_needed = 0, uses_anonymous_args = 0
4515
 670:../libBME280/src/bme280.c ****     int8_t rslt;
4516
 2474              		.loc 1 670 1 is_stmt 0 view .LVU627
4517
 2475 0000 38B5     		push	{r3, r4, r5, lr}
4518
 2476              	.LCFI38:
4519
 2477              		.cfi_def_cfa_offset 16
4520
 2478              		.cfi_offset 3, -16
4521
 2479              		.cfi_offset 4, -12
4522
 2480              		.cfi_offset 5, -8
4523
 2481              		.cfi_offset 14, -4
4524
 2482 0002 0446     		mov	r4, r0
4525
 2483 0004 0D46     		mov	r5, r1
4526
 671:../libBME280/src/bme280.c **** 
4527
 2484              		.loc 1 671 5 is_stmt 1 view .LVU628
4528
 674:../libBME280/src/bme280.c **** 
4529
 2485              		.loc 1 674 5 view .LVU629
4530
 674:../libBME280/src/bme280.c **** 
4531
 2486              		.loc 1 674 12 is_stmt 0 view .LVU630
4532
 2487 0006 0846     		mov	r0, r1
4533
 2488              	.LVL303:
4534
 674:../libBME280/src/bme280.c **** 
4535
 2489              		.loc 1 674 12 view .LVU631
4536
 2490 0008 FFF7FEFF 		bl	null_ptr_check
4537
 2491              	.LVL304:
4538
 676:../libBME280/src/bme280.c ****     {
4539
 2492              		.loc 1 676 5 is_stmt 1 view .LVU632
4540
 676:../libBME280/src/bme280.c ****     {
4541
 2493              		.loc 1 676 8 is_stmt 0 view .LVU633
4542
 2494 000c 58B9     		cbnz	r0, .L117
4543
 676:../libBME280/src/bme280.c ****     {
4544
 2495              		.loc 1 676 29 discriminator 1 view .LVU634
4545
 2496 000e 6CB1     		cbz	r4, .L118
4546
 679:../libBME280/src/bme280.c **** 
4547
 2497              		.loc 1 679 9 is_stmt 1 view .LVU635
4548
 679:../libBME280/src/bme280.c **** 
4549
 2498              		.loc 1 679 16 is_stmt 0 view .LVU636
4550
 2499 0010 2B46     		mov	r3, r5
4551
 2500 0012 0122     		movs	r2, #1
4552
 2501 0014 2146     		mov	r1, r4
4553
 2502 0016 F420     		movs	r0, #244
4554
 2503              	.LVL305:
4555
 679:../libBME280/src/bme280.c **** 
4556
 2504              		.loc 1 679 16 view .LVU637
4557
 2505 0018 FFF7FEFF 		bl	bme280_get_regs
4558
 2506              	.LVL306:
4559
 682:../libBME280/src/bme280.c ****     }
4560
 2507              		.loc 1 682 9 is_stmt 1 view .LVU638
4561
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 77
4562
 
4563
 
4564
 682:../libBME280/src/bme280.c ****     }
4565
 2508              		.loc 1 682 24 is_stmt 0 view .LVU639
4566
 2509 001c 2378     		ldrb	r3, [r4]	@ zero_extendqisi2
4567
 2510 001e 03F00303 		and	r3, r3, #3
4568
 682:../libBME280/src/bme280.c ****     }
4569
 2511              		.loc 1 682 22 view .LVU640
4570
 2512 0022 2370     		strb	r3, [r4]
4571
 2513              	.LVL307:
4572
 2514              	.L116:
4573
 689:../libBME280/src/bme280.c **** }
4574
 2515              		.loc 1 689 5 is_stmt 1 view .LVU641
4575
 690:../libBME280/src/bme280.c **** 
4576
 2516              		.loc 1 690 1 is_stmt 0 view .LVU642
4577
 2517 0024 38BD     		pop	{r3, r4, r5, pc}
4578
 2518              	.LVL308:
4579
 2519              	.L117:
4580
 686:../libBME280/src/bme280.c ****     }
4581
 2520              		.loc 1 686 14 view .LVU643
4582
 2521 0026 4FF0FF30 		mov	r0, #-1
4583
 2522              	.LVL309:
4584
 686:../libBME280/src/bme280.c ****     }
4585
 2523              		.loc 1 686 14 view .LVU644
4586
 2524 002a FBE7     		b	.L116
4587
 2525              	.LVL310:
4588
 2526              	.L118:
4589
 686:../libBME280/src/bme280.c ****     }
4590
 2527              		.loc 1 686 14 view .LVU645
4591
 2528 002c 4FF0FF30 		mov	r0, #-1
4592
 2529              	.LVL311:
4593
 686:../libBME280/src/bme280.c ****     }
4594
 2530              		.loc 1 686 14 view .LVU646
4595
 2531 0030 F8E7     		b	.L116
4596
 2532              		.cfi_endproc
4597
 2533              	.LFE6:
4598
 2535              		.section	.text.bme280_soft_reset,"ax",%progbits
4599
 2536              		.align	1
4600
 2537              		.global	bme280_soft_reset
4601
 2538              		.syntax unified
4602
 2539              		.thumb
4603
 2540              		.thumb_func
4604
 2541              		.fpu softvfp
4605
 2543              	bme280_soft_reset:
4606
 2544              	.LVL312:
4607
 2545              	.LFB7:
4608
 696:../libBME280/src/bme280.c ****     int8_t rslt;
4609
 2546              		.loc 1 696 1 is_stmt 1 view -0
4610
 2547              		.cfi_startproc
4611
 2548              		@ args = 0, pretend = 0, frame = 8
4612
 2549              		@ frame_needed = 0, uses_anonymous_args = 0
4613
 696:../libBME280/src/bme280.c ****     int8_t rslt;
4614
 2550              		.loc 1 696 1 is_stmt 0 view .LVU648
4615
 2551 0000 30B5     		push	{r4, r5, lr}
4616
 2552              	.LCFI39:
4617
 2553              		.cfi_def_cfa_offset 12
4618
 2554              		.cfi_offset 4, -12
4619
 2555              		.cfi_offset 5, -8
4620
 2556              		.cfi_offset 14, -4
4621
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 78
4622
 
4623
 
4624
 2557 0002 83B0     		sub	sp, sp, #12
4625
 2558              	.LCFI40:
4626
 2559              		.cfi_def_cfa_offset 24
4627
 2560 0004 0446     		mov	r4, r0
4628
 697:../libBME280/src/bme280.c ****     uint8_t reg_addr = BME280_RESET_ADDR;
4629
 2561              		.loc 1 697 5 is_stmt 1 view .LVU649
4630
 698:../libBME280/src/bme280.c ****     uint8_t status_reg = 0;
4631
 2562              		.loc 1 698 5 view .LVU650
4632
 698:../libBME280/src/bme280.c ****     uint8_t status_reg = 0;
4633
 2563              		.loc 1 698 13 is_stmt 0 view .LVU651
4634
 2564 0006 E023     		movs	r3, #224
4635
 2565 0008 8DF80730 		strb	r3, [sp, #7]
4636
 699:../libBME280/src/bme280.c ****     uint8_t try_run = 5;
4637
 2566              		.loc 1 699 5 is_stmt 1 view .LVU652
4638
 699:../libBME280/src/bme280.c ****     uint8_t try_run = 5;
4639
 2567              		.loc 1 699 13 is_stmt 0 view .LVU653
4640
 2568 000c 0023     		movs	r3, #0
4641
 2569 000e 8DF80630 		strb	r3, [sp, #6]
4642
 700:../libBME280/src/bme280.c **** 
4643
 2570              		.loc 1 700 5 is_stmt 1 view .LVU654
4644
 2571              	.LVL313:
4645
 703:../libBME280/src/bme280.c **** 
4646
 2572              		.loc 1 703 5 view .LVU655
4647
 703:../libBME280/src/bme280.c **** 
4648
 2573              		.loc 1 703 13 is_stmt 0 view .LVU656
4649
 2574 0012 B623     		movs	r3, #182
4650
 2575 0014 8DF80530 		strb	r3, [sp, #5]
4651
 706:../libBME280/src/bme280.c **** 
4652
 2576              		.loc 1 706 5 is_stmt 1 view .LVU657
4653
 706:../libBME280/src/bme280.c **** 
4654
 2577              		.loc 1 706 12 is_stmt 0 view .LVU658
4655
 2578 0018 FFF7FEFF 		bl	null_ptr_check
4656
 2579              	.LVL314:
4657
 709:../libBME280/src/bme280.c ****     {
4658
 2580              		.loc 1 709 5 is_stmt 1 view .LVU659
4659
 709:../libBME280/src/bme280.c ****     {
4660
 2581              		.loc 1 709 8 is_stmt 0 view .LVU660
4661
 2582 001c 0346     		mov	r3, r0
4662
 2583 001e 10B1     		cbz	r0, .L127
4663
 2584              	.LVL315:
4664
 2585              	.L121:
4665
 732:../libBME280/src/bme280.c **** }
4666
 2586              		.loc 1 732 5 is_stmt 1 view .LVU661
4667
 733:../libBME280/src/bme280.c **** 
4668
 2587              		.loc 1 733 1 is_stmt 0 view .LVU662
4669
 2588 0020 1846     		mov	r0, r3
4670
 2589 0022 03B0     		add	sp, sp, #12
4671
 2590              	.LCFI41:
4672
 2591              		.cfi_remember_state
4673
 2592              		.cfi_def_cfa_offset 12
4674
 2593              		@ sp needed
4675
 2594 0024 30BD     		pop	{r4, r5, pc}
4676
 2595              	.LVL316:
4677
 2596              	.L127:
4678
 2597              	.LCFI42:
4679
 2598              		.cfi_restore_state
4680
 712:../libBME280/src/bme280.c **** 
4681
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 79
4682
 
4683
 
4684
 2599              		.loc 1 712 9 is_stmt 1 view .LVU663
4685
 712:../libBME280/src/bme280.c **** 
4686
 2600              		.loc 1 712 16 is_stmt 0 view .LVU664
4687
 2601 0026 2346     		mov	r3, r4
4688
 2602 0028 0122     		movs	r2, #1
4689
 2603 002a 0DF10501 		add	r1, sp, #5
4690
 2604 002e 0DF10700 		add	r0, sp, #7
4691
 2605              	.LVL317:
4692
 712:../libBME280/src/bme280.c **** 
4693
 2606              		.loc 1 712 16 view .LVU665
4694
 2607 0032 FFF7FEFF 		bl	bme280_set_regs
4695
 2608              	.LVL318:
4696
 714:../libBME280/src/bme280.c ****         {
4697
 2609              		.loc 1 714 9 is_stmt 1 view .LVU666
4698
 714:../libBME280/src/bme280.c ****         {
4699
 2610              		.loc 1 714 12 is_stmt 0 view .LVU667
4700
 2611 0036 0346     		mov	r3, r0
4701
 2612 0038 0028     		cmp	r0, #0
4702
 2613 003a F1D1     		bne	.L121
4703
 700:../libBME280/src/bme280.c **** 
4704
 2614              		.loc 1 700 13 view .LVU668
4705
 2615 003c 0525     		movs	r5, #5
4706
 2616 003e 00E0     		b	.L123
4707
 2617              	.LVL319:
4708
 2618              	.L124:
4709
 723:../libBME280/src/bme280.c **** 
4710
 2619              		.loc 1 723 53 view .LVU669
4711
 2620 0040 1546     		mov	r5, r2
4712
 2621              	.LVL320:
4713
 2622              	.L123:
4714
 717:../libBME280/src/bme280.c ****             {
4715
 2623              		.loc 1 717 13 is_stmt 1 discriminator 3 view .LVU670
4716
 720:../libBME280/src/bme280.c ****                 rslt = bme280_get_regs(BME280_STATUS_REG_ADDR, &status_reg, 1, dev);
4717
 2624              		.loc 1 720 17 discriminator 3 view .LVU671
4718
 720:../libBME280/src/bme280.c ****                 rslt = bme280_get_regs(BME280_STATUS_REG_ADDR, &status_reg, 1, dev);
4719
 2625              		.loc 1 720 20 is_stmt 0 discriminator 3 view .LVU672
4720
 2626 0042 6369     		ldr	r3, [r4, #20]
4721
 720:../libBME280/src/bme280.c ****                 rslt = bme280_get_regs(BME280_STATUS_REG_ADDR, &status_reg, 1, dev);
4722
 2627              		.loc 1 720 17 discriminator 3 view .LVU673
4723
 2628 0044 6168     		ldr	r1, [r4, #4]
4724
 2629 0046 4FF4FA60 		mov	r0, #2000
4725
 2630              	.LVL321:
4726
 720:../libBME280/src/bme280.c ****                 rslt = bme280_get_regs(BME280_STATUS_REG_ADDR, &status_reg, 1, dev);
4727
 2631              		.loc 1 720 17 discriminator 3 view .LVU674
4728
 2632 004a 9847     		blx	r3
4729
 2633              	.LVL322:
4730
 721:../libBME280/src/bme280.c **** 
4731
 2634              		.loc 1 721 17 is_stmt 1 discriminator 3 view .LVU675
4732
 721:../libBME280/src/bme280.c **** 
4733
 2635              		.loc 1 721 24 is_stmt 0 discriminator 3 view .LVU676
4734
 2636 004c 2346     		mov	r3, r4
4735
 2637 004e 0122     		movs	r2, #1
4736
 2638 0050 0DF10601 		add	r1, sp, #6
4737
 2639 0054 F320     		movs	r0, #243
4738
 2640 0056 FFF7FEFF 		bl	bme280_get_regs
4739
 2641              	.LVL323:
4740
 723:../libBME280/src/bme280.c **** 
4741
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 80
4742
 
4743
 
4744
 2642              		.loc 1 723 13 discriminator 3 view .LVU677
4745
 2643 005a 0346     		mov	r3, r0
4746
 2644 005c 38B9     		cbnz	r0, .L122
4747
 723:../libBME280/src/bme280.c **** 
4748
 2645              		.loc 1 723 53 discriminator 1 view .LVU678
4749
 2646 005e 6A1E     		subs	r2, r5, #1
4750
 2647 0060 D2B2     		uxtb	r2, r2
4751
 2648              	.LVL324:
4752
 723:../libBME280/src/bme280.c **** 
4753
 2649              		.loc 1 723 42 discriminator 1 view .LVU679
4754
 2650 0062 25B1     		cbz	r5, .L122
4755
 723:../libBME280/src/bme280.c **** 
4756
 2651              		.loc 1 723 72 discriminator 2 view .LVU680
4757
 2652 0064 9DF80610 		ldrb	r1, [sp, #6]	@ zero_extendqisi2
4758
 723:../libBME280/src/bme280.c **** 
4759
 2653              		.loc 1 723 57 discriminator 2 view .LVU681
4760
 2654 0068 11F0010F 		tst	r1, #1
4761
 2655 006c E8D1     		bne	.L124
4762
 2656              	.LVL325:
4763
 2657              	.L122:
4764
 725:../libBME280/src/bme280.c ****             {
4765
 2658              		.loc 1 725 13 is_stmt 1 view .LVU682
4766
 725:../libBME280/src/bme280.c ****             {
4767
 2659              		.loc 1 725 28 is_stmt 0 view .LVU683
4768
 2660 006e 9DF80620 		ldrb	r2, [sp, #6]	@ zero_extendqisi2
4769
 725:../libBME280/src/bme280.c ****             {
4770
 2661              		.loc 1 725 16 view .LVU684
4771
 2662 0072 12F0010F 		tst	r2, #1
4772
 2663 0076 D3D0     		beq	.L121
4773
 727:../libBME280/src/bme280.c ****             }
4774
 2664              		.loc 1 727 22 view .LVU685
4775
 2665 0078 6FF00503 		mvn	r3, #5
4776
 2666 007c D0E7     		b	.L121
4777
 2667              		.cfi_endproc
4778
 2668              	.LFE7:
4779
 2670              		.section	.text.bme280_init,"ax",%progbits
4780
 2671              		.align	1
4781
 2672              		.global	bme280_init
4782
 2673              		.syntax unified
4783
 2674              		.thumb
4784
 2675              		.thumb_func
4785
 2676              		.fpu softvfp
4786
 2678              	bme280_init:
4787
 2679              	.LVL326:
4788
 2680              	.LFB0:
4789
 405:../libBME280/src/bme280.c ****     int8_t rslt;
4790
 2681              		.loc 1 405 1 is_stmt 1 view -0
4791
 2682              		.cfi_startproc
4792
 2683              		@ args = 0, pretend = 0, frame = 8
4793
 2684              		@ frame_needed = 0, uses_anonymous_args = 0
4794
 405:../libBME280/src/bme280.c ****     int8_t rslt;
4795
 2685              		.loc 1 405 1 is_stmt 0 view .LVU687
4796
 2686 0000 70B5     		push	{r4, r5, r6, lr}
4797
 2687              	.LCFI43:
4798
 2688              		.cfi_def_cfa_offset 16
4799
 2689              		.cfi_offset 4, -16
4800
 2690              		.cfi_offset 5, -12
4801
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 81
4802
 
4803
 
4804
 2691              		.cfi_offset 6, -8
4805
 2692              		.cfi_offset 14, -4
4806
 2693 0002 82B0     		sub	sp, sp, #8
4807
 2694              	.LCFI44:
4808
 2695              		.cfi_def_cfa_offset 24
4809
 2696 0004 0546     		mov	r5, r0
4810
 406:../libBME280/src/bme280.c **** 
4811
 2697              		.loc 1 406 5 is_stmt 1 view .LVU688
4812
 409:../libBME280/src/bme280.c ****     uint8_t chip_id = 0;
4813
 2698              		.loc 1 409 5 view .LVU689
4814
 2699              	.LVL327:
4815
 410:../libBME280/src/bme280.c **** 
4816
 2700              		.loc 1 410 5 view .LVU690
4817
 410:../libBME280/src/bme280.c **** 
4818
 2701              		.loc 1 410 13 is_stmt 0 view .LVU691
4819
 2702 0006 0023     		movs	r3, #0
4820
 2703 0008 8DF80730 		strb	r3, [sp, #7]
4821
 413:../libBME280/src/bme280.c **** 
4822
 2704              		.loc 1 413 5 is_stmt 1 view .LVU692
4823
 413:../libBME280/src/bme280.c **** 
4824
 2705              		.loc 1 413 12 is_stmt 0 view .LVU693
4825
 2706 000c FFF7FEFF 		bl	null_ptr_check
4826
 2707              	.LVL328:
4827
 416:../libBME280/src/bme280.c ****     {
4828
 2708              		.loc 1 416 5 is_stmt 1 view .LVU694
4829
 416:../libBME280/src/bme280.c ****     {
4830
 2709              		.loc 1 416 8 is_stmt 0 view .LVU695
4831
 2710 0010 0646     		mov	r6, r0
4832
 2711 0012 48B3     		cbz	r0, .L134
4833
 2712              	.LVL329:
4834
 2713              	.L130:
4835
 452:../libBME280/src/bme280.c **** }
4836
 2714              		.loc 1 452 5 is_stmt 1 view .LVU696
4837
 453:../libBME280/src/bme280.c **** 
4838
 2715              		.loc 1 453 1 is_stmt 0 view .LVU697
4839
 2716 0014 3046     		mov	r0, r6
4840
 2717 0016 02B0     		add	sp, sp, #8
4841
 2718              	.LCFI45:
4842
 2719              		.cfi_remember_state
4843
 2720              		.cfi_def_cfa_offset 16
4844
 2721              		@ sp needed
4845
 2722 0018 70BD     		pop	{r4, r5, r6, pc}
4846
 2723              	.LVL330:
4847
 2724              	.L137:
4848
 2725              	.LCFI46:
4849
 2726              		.cfi_restore_state
4850
 434:../libBME280/src/bme280.c ****                 }
4851
 2727              		.loc 1 434 21 is_stmt 1 view .LVU698
4852
 434:../libBME280/src/bme280.c ****                 }
4853
 2728              		.loc 1 434 28 is_stmt 0 view .LVU699
4854
 2729 001a 2846     		mov	r0, r5
4855
 2730              	.LVL331:
4856
 434:../libBME280/src/bme280.c ****                 }
4857
 2731              		.loc 1 434 28 view .LVU700
4858
 2732 001c FFF7FEFF 		bl	get_calib_data
4859
 2733              	.LVL332:
4860
 2734 0020 0646     		mov	r6, r0
4861
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 82
4862
 
4863
 
4864
 2735              	.LVL333:
4865
 434:../libBME280/src/bme280.c ****                 }
4866
 2736              		.loc 1 434 28 view .LVU701
4867
 2737 0022 1CE0     		b	.L132
4868
 2738              	.LVL334:
4869
 2739              	.L131:
4870
 441:../libBME280/src/bme280.c ****             --try_count;
4871
 2740              		.loc 1 441 13 is_stmt 1 view .LVU702
4872
 441:../libBME280/src/bme280.c ****             --try_count;
4873
 2741              		.loc 1 441 16 is_stmt 0 view .LVU703
4874
 2742 0024 6B69     		ldr	r3, [r5, #20]
4875
 441:../libBME280/src/bme280.c ****             --try_count;
4876
 2743              		.loc 1 441 13 view .LVU704
4877
 2744 0026 6968     		ldr	r1, [r5, #4]
4878
 2745 0028 4FF47A70 		mov	r0, #1000
4879
 2746              	.LVL335:
4880
 441:../libBME280/src/bme280.c ****             --try_count;
4881
 2747              		.loc 1 441 13 view .LVU705
4882
 2748 002c 9847     		blx	r3
4883
 2749              	.LVL336:
4884
 442:../libBME280/src/bme280.c ****         }
4885
 2750              		.loc 1 442 13 is_stmt 1 view .LVU706
4886
 2751 002e 013C     		subs	r4, r4, #1
4887
 2752              	.LVL337:
4888
 442:../libBME280/src/bme280.c ****         }
4889
 2753              		.loc 1 442 13 is_stmt 0 view .LVU707
4890
 2754 0030 E4B2     		uxtb	r4, r4
4891
 2755              	.LVL338:
4892
 2756              	.L129:
4893
 418:../libBME280/src/bme280.c ****         {
4894
 2757              		.loc 1 418 15 view .LVU708
4895
 2758 0032 A4B1     		cbz	r4, .L132
4896
 421:../libBME280/src/bme280.c **** 
4897
 2759              		.loc 1 421 13 is_stmt 1 view .LVU709
4898
 421:../libBME280/src/bme280.c **** 
4899
 2760              		.loc 1 421 20 is_stmt 0 view .LVU710
4900
 2761 0034 2B46     		mov	r3, r5
4901
 2762 0036 0122     		movs	r2, #1
4902
 2763 0038 0DF10701 		add	r1, sp, #7
4903
 2764 003c D020     		movs	r0, #208
4904
 2765 003e FFF7FEFF 		bl	bme280_get_regs
4905
 2766              	.LVL339:
4906
 424:../libBME280/src/bme280.c ****             {
4907
 2767              		.loc 1 424 13 is_stmt 1 view .LVU711
4908
 424:../libBME280/src/bme280.c ****             {
4909
 2768              		.loc 1 424 16 is_stmt 0 view .LVU712
4910
 2769 0042 0646     		mov	r6, r0
4911
 2770 0044 0028     		cmp	r0, #0
4912
 2771 0046 EDD1     		bne	.L131
4913
 424:../libBME280/src/bme280.c ****             {
4914
 2772              		.loc 1 424 49 discriminator 1 view .LVU713
4915
 2773 0048 9DF80730 		ldrb	r3, [sp, #7]	@ zero_extendqisi2
4916
 424:../libBME280/src/bme280.c ****             {
4917
 2774              		.loc 1 424 37 discriminator 1 view .LVU714
4918
 2775 004c 602B     		cmp	r3, #96
4919
 2776 004e E9D1     		bne	.L131
4920
 426:../libBME280/src/bme280.c **** 
4921
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 83
4922
 
4923
 
4924
 2777              		.loc 1 426 17 is_stmt 1 view .LVU715
4925
 426:../libBME280/src/bme280.c **** 
4926
 2778              		.loc 1 426 30 is_stmt 0 view .LVU716
4927
 2779 0050 2B70     		strb	r3, [r5]
4928
 429:../libBME280/src/bme280.c **** 
4929
 2780              		.loc 1 429 17 is_stmt 1 view .LVU717
4930
 429:../libBME280/src/bme280.c **** 
4931
 2781              		.loc 1 429 24 is_stmt 0 view .LVU718
4932
 2782 0052 2846     		mov	r0, r5
4933
 2783              	.LVL340:
4934
 429:../libBME280/src/bme280.c **** 
4935
 2784              		.loc 1 429 24 view .LVU719
4936
 2785 0054 FFF7FEFF 		bl	bme280_soft_reset
4937
 2786              	.LVL341:
4938
 431:../libBME280/src/bme280.c ****                 {
4939
 2787              		.loc 1 431 17 is_stmt 1 view .LVU720
4940
 431:../libBME280/src/bme280.c ****                 {
4941
 2788              		.loc 1 431 20 is_stmt 0 view .LVU721
4942
 2789 0058 0646     		mov	r6, r0
4943
 2790 005a 0028     		cmp	r0, #0
4944
 2791 005c DDD0     		beq	.L137
4945
 2792              	.LVL342:
4946
 2793              	.L132:
4947
 446:../libBME280/src/bme280.c ****         {
4948
 2794              		.loc 1 446 9 is_stmt 1 view .LVU722
4949
 446:../libBME280/src/bme280.c ****         {
4950
 2795              		.loc 1 446 12 is_stmt 0 view .LVU723
4951
 2796 005e 002C     		cmp	r4, #0
4952
 2797 0060 D8D1     		bne	.L130
4953
 448:../libBME280/src/bme280.c ****         }
4954
 2798              		.loc 1 448 18 view .LVU724
4955
 2799 0062 6FF00106 		mvn	r6, #1
4956
 2800              	.LVL343:
4957
 448:../libBME280/src/bme280.c ****         }
4958
 2801              		.loc 1 448 18 view .LVU725
4959
 2802 0066 D5E7     		b	.L130
4960
 2803              	.LVL344:
4961
 2804              	.L134:
4962
 409:../libBME280/src/bme280.c ****     uint8_t chip_id = 0;
4963
 2805              		.loc 1 409 13 view .LVU726
4964
 2806 0068 0524     		movs	r4, #5
4965
 2807 006a E2E7     		b	.L129
4966
 2808              		.cfi_endproc
4967
 2809              	.LFE0:
4968
 2811              		.section	.text.put_device_to_sleep,"ax",%progbits
4969
 2812              		.align	1
4970
 2813              		.syntax unified
4971
 2814              		.thumb
4972
 2815              		.thumb_func
4973
 2816              		.fpu softvfp
4974
 2818              	put_device_to_sleep:
4975
 2819              	.LVL345:
4976
 2820              	.LFB22:
4977
1101:../libBME280/src/bme280.c ****     int8_t rslt;
4978
 2821              		.loc 1 1101 1 is_stmt 1 view -0
4979
 2822              		.cfi_startproc
4980
 2823              		@ args = 0, pretend = 0, frame = 16
4981
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 84
4982
 
4983
 
4984
 2824              		@ frame_needed = 0, uses_anonymous_args = 0
4985
1101:../libBME280/src/bme280.c ****     int8_t rslt;
4986
 2825              		.loc 1 1101 1 is_stmt 0 view .LVU728
4987
 2826 0000 10B5     		push	{r4, lr}
4988
 2827              	.LCFI47:
4989
 2828              		.cfi_def_cfa_offset 8
4990
 2829              		.cfi_offset 4, -8
4991
 2830              		.cfi_offset 14, -4
4992
 2831 0002 84B0     		sub	sp, sp, #16
4993
 2832              	.LCFI48:
4994
 2833              		.cfi_def_cfa_offset 24
4995
 2834 0004 0446     		mov	r4, r0
4996
1102:../libBME280/src/bme280.c ****     uint8_t reg_data[4];
4997
 2835              		.loc 1 1102 5 is_stmt 1 view .LVU729
4998
1103:../libBME280/src/bme280.c ****     struct bme280_settings settings;
4999
 2836              		.loc 1 1103 5 view .LVU730
5000
1104:../libBME280/src/bme280.c **** 
5001
 2837              		.loc 1 1104 5 view .LVU731
5002
1106:../libBME280/src/bme280.c **** 
5003
 2838              		.loc 1 1106 5 view .LVU732
5004
1106:../libBME280/src/bme280.c **** 
5005
 2839              		.loc 1 1106 12 is_stmt 0 view .LVU733
5006
 2840 0006 0346     		mov	r3, r0
5007
 2841 0008 0422     		movs	r2, #4
5008
 2842 000a 03A9     		add	r1, sp, #12
5009
 2843 000c F220     		movs	r0, #242
5010
 2844              	.LVL346:
5011
1106:../libBME280/src/bme280.c **** 
5012
 2845              		.loc 1 1106 12 view .LVU734
5013
 2846 000e FFF7FEFF 		bl	bme280_get_regs
5014
 2847              	.LVL347:
5015
1108:../libBME280/src/bme280.c ****     {
5016
 2848              		.loc 1 1108 5 is_stmt 1 view .LVU735
5017
1108:../libBME280/src/bme280.c ****     {
5018
 2849              		.loc 1 1108 8 is_stmt 0 view .LVU736
5019
 2850 0012 0346     		mov	r3, r0
5020
 2851 0014 10B1     		cbz	r0, .L141
5021
 2852              	.LVL348:
5022
 2853              	.L139:
5023
1119:../libBME280/src/bme280.c **** }
5024
 2854              		.loc 1 1119 5 is_stmt 1 view .LVU737
5025
1120:../libBME280/src/bme280.c **** 
5026
 2855              		.loc 1 1120 1 is_stmt 0 view .LVU738
5027
 2856 0016 1846     		mov	r0, r3
5028
 2857 0018 04B0     		add	sp, sp, #16
5029
 2858              	.LCFI49:
5030
 2859              		.cfi_remember_state
5031
 2860              		.cfi_def_cfa_offset 8
5032
 2861              		@ sp needed
5033
 2862 001a 10BD     		pop	{r4, pc}
5034
 2863              	.LVL349:
5035
 2864              	.L141:
5036
 2865              	.LCFI50:
5037
 2866              		.cfi_restore_state
5038
1110:../libBME280/src/bme280.c ****         rslt = bme280_soft_reset(dev);
5039
 2867              		.loc 1 1110 9 is_stmt 1 view .LVU739
5040
 2868 001c 01A9     		add	r1, sp, #4
5041
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 85
5042
 
5043
 
5044
 2869 001e 03A8     		add	r0, sp, #12
5045
 2870              	.LVL350:
5046
1110:../libBME280/src/bme280.c ****         rslt = bme280_soft_reset(dev);
5047
 2871              		.loc 1 1110 9 is_stmt 0 view .LVU740
5048
 2872 0020 FFF7FEFF 		bl	parse_device_settings
5049
 2873              	.LVL351:
5050
1111:../libBME280/src/bme280.c **** 
5051
 2874              		.loc 1 1111 9 is_stmt 1 view .LVU741
5052
1111:../libBME280/src/bme280.c **** 
5053
 2875              		.loc 1 1111 16 is_stmt 0 view .LVU742
5054
 2876 0024 2046     		mov	r0, r4
5055
 2877 0026 FFF7FEFF 		bl	bme280_soft_reset
5056
 2878              	.LVL352:
5057
1113:../libBME280/src/bme280.c ****         {
5058
 2879              		.loc 1 1113 9 is_stmt 1 view .LVU743
5059
1113:../libBME280/src/bme280.c ****         {
5060
 2880              		.loc 1 1113 12 is_stmt 0 view .LVU744
5061
 2881 002a 0346     		mov	r3, r0
5062
 2882 002c 0028     		cmp	r0, #0
5063
 2883 002e F2D1     		bne	.L139
5064
1115:../libBME280/src/bme280.c ****         }
5065
 2884              		.loc 1 1115 13 is_stmt 1 view .LVU745
5066
1115:../libBME280/src/bme280.c ****         }
5067
 2885              		.loc 1 1115 20 is_stmt 0 view .LVU746
5068
 2886 0030 2146     		mov	r1, r4
5069
 2887 0032 01A8     		add	r0, sp, #4
5070
 2888              	.LVL353:
5071
1115:../libBME280/src/bme280.c ****         }
5072
 2889              		.loc 1 1115 20 view .LVU747
5073
 2890 0034 FFF7FEFF 		bl	reload_device_settings
5074
 2891              	.LVL354:
5075
 2892 0038 0346     		mov	r3, r0
5076
 2893              	.LVL355:
5077
1115:../libBME280/src/bme280.c ****         }
5078
 2894              		.loc 1 1115 20 view .LVU748
5079
 2895 003a ECE7     		b	.L139
5080
 2896              		.cfi_endproc
5081
 2897              	.LFE22:
5082
 2899              		.section	.text.bme280_set_sensor_settings,"ax",%progbits
5083
 2900              		.align	1
5084
 2901              		.global	bme280_set_sensor_settings
5085
 2902              		.syntax unified
5086
 2903              		.thumb
5087
 2904              		.thumb_func
5088
 2905              		.fpu softvfp
5089
 2907              	bme280_set_sensor_settings:
5090
 2908              	.LVL356:
5091
 2909              	.LFB3:
5092
 567:../libBME280/src/bme280.c ****     int8_t rslt;
5093
 2910              		.loc 1 567 1 is_stmt 1 view -0
5094
 2911              		.cfi_startproc
5095
 2912              		@ args = 0, pretend = 0, frame = 8
5096
 2913              		@ frame_needed = 0, uses_anonymous_args = 0
5097
 567:../libBME280/src/bme280.c ****     int8_t rslt;
5098
 2914              		.loc 1 567 1 is_stmt 0 view .LVU750
5099
 2915 0000 70B5     		push	{r4, r5, r6, lr}
5100
 2916              	.LCFI51:
5101
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 86
5102
 
5103
 
5104
 2917              		.cfi_def_cfa_offset 16
5105
 2918              		.cfi_offset 4, -16
5106
 2919              		.cfi_offset 5, -12
5107
 2920              		.cfi_offset 6, -8
5108
 2921              		.cfi_offset 14, -4
5109
 2922 0002 82B0     		sub	sp, sp, #8
5110
 2923              	.LCFI52:
5111
 2924              		.cfi_def_cfa_offset 24
5112
 2925 0004 0646     		mov	r6, r0
5113
 2926 0006 0D46     		mov	r5, r1
5114
 568:../libBME280/src/bme280.c ****     uint8_t sensor_mode;
5115
 2927              		.loc 1 568 5 is_stmt 1 view .LVU751
5116
 569:../libBME280/src/bme280.c **** 
5117
 2928              		.loc 1 569 5 view .LVU752
5118
 572:../libBME280/src/bme280.c **** 
5119
 2929              		.loc 1 572 5 view .LVU753
5120
 572:../libBME280/src/bme280.c **** 
5121
 2930              		.loc 1 572 12 is_stmt 0 view .LVU754
5122
 2931 0008 0846     		mov	r0, r1
5123
 2932              	.LVL357:
5124
 572:../libBME280/src/bme280.c **** 
5125
 2933              		.loc 1 572 12 view .LVU755
5126
 2934 000a FFF7FEFF 		bl	null_ptr_check
5127
 2935              	.LVL358:
5128
 575:../libBME280/src/bme280.c ****     {
5129
 2936              		.loc 1 575 5 is_stmt 1 view .LVU756
5130
 575:../libBME280/src/bme280.c ****     {
5131
 2937              		.loc 1 575 8 is_stmt 0 view .LVU757
5132
 2938 000e 0446     		mov	r4, r0
5133
 2939 0010 10B1     		cbz	r0, .L147
5134
 2940              	.LVL359:
5135
 2941              	.L143:
5136
 604:../libBME280/src/bme280.c **** }
5137
 2942              		.loc 1 604 5 is_stmt 1 view .LVU758
5138
 605:../libBME280/src/bme280.c **** 
5139
 2943              		.loc 1 605 1 is_stmt 0 view .LVU759
5140
 2944 0012 2046     		mov	r0, r4
5141
 2945 0014 02B0     		add	sp, sp, #8
5142
 2946              	.LCFI53:
5143
 2947              		.cfi_remember_state
5144
 2948              		.cfi_def_cfa_offset 16
5145
 2949              		@ sp needed
5146
 2950 0016 70BD     		pop	{r4, r5, r6, pc}
5147
 2951              	.LVL360:
5148
 2952              	.L147:
5149
 2953              	.LCFI54:
5150
 2954              		.cfi_restore_state
5151
 577:../libBME280/src/bme280.c **** 
5152
 2955              		.loc 1 577 9 is_stmt 1 view .LVU760
5153
 577:../libBME280/src/bme280.c **** 
5154
 2956              		.loc 1 577 16 is_stmt 0 view .LVU761
5155
 2957 0018 2946     		mov	r1, r5
5156
 2958 001a 0DF10700 		add	r0, sp, #7
5157
 2959              	.LVL361:
5158
 577:../libBME280/src/bme280.c **** 
5159
 2960              		.loc 1 577 16 view .LVU762
5160
 2961 001e FFF7FEFF 		bl	bme280_get_sensor_mode
5161
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 87
5162
 
5163
 
5164
 2962              	.LVL362:
5165
 579:../libBME280/src/bme280.c ****         {
5166
 2963              		.loc 1 579 9 is_stmt 1 view .LVU763
5167
 579:../libBME280/src/bme280.c ****         {
5168
 2964              		.loc 1 579 12 is_stmt 0 view .LVU764
5169
 2965 0022 0446     		mov	r4, r0
5170
 2966 0024 10B9     		cbnz	r0, .L144
5171
 579:../libBME280/src/bme280.c ****         {
5172
 2967              		.loc 1 579 49 discriminator 1 view .LVU765
5173
 2968 0026 9DF80730 		ldrb	r3, [sp, #7]	@ zero_extendqisi2
5174
 579:../libBME280/src/bme280.c ****         {
5175
 2969              		.loc 1 579 33 discriminator 1 view .LVU766
5176
 2970 002a B3B9     		cbnz	r3, .L148
5177
 2971              	.LVL363:
5178
 2972              	.L144:
5179
 584:../libBME280/src/bme280.c ****         {
5180
 2973              		.loc 1 584 9 is_stmt 1 view .LVU767
5181
 584:../libBME280/src/bme280.c ****         {
5182
 2974              		.loc 1 584 12 is_stmt 0 view .LVU768
5183
 2975 002c 002C     		cmp	r4, #0
5184
 2976 002e F0D1     		bne	.L143
5185
 589:../libBME280/src/bme280.c ****             {
5186
 2977              		.loc 1 589 13 is_stmt 1 view .LVU769
5187
 589:../libBME280/src/bme280.c ****             {
5188
 2978              		.loc 1 589 17 is_stmt 0 view .LVU770
5189
 2979 0030 3146     		mov	r1, r6
5190
 2980 0032 0720     		movs	r0, #7
5191
 2981 0034 FFF7FEFF 		bl	are_settings_changed
5192
 2982              	.LVL364:
5193
 589:../libBME280/src/bme280.c ****             {
5194
 2983              		.loc 1 589 16 view .LVU771
5195
 2984 0038 A0B9     		cbnz	r0, .L149
5196
 2985              	.L145:
5197
 597:../libBME280/src/bme280.c ****             {
5198
 2986              		.loc 1 597 13 is_stmt 1 view .LVU772
5199
 597:../libBME280/src/bme280.c ****             {
5200
 2987              		.loc 1 597 16 is_stmt 0 view .LVU773
5201
 2988 003a 002C     		cmp	r4, #0
5202
 2989 003c E9D1     		bne	.L143
5203
 597:../libBME280/src/bme280.c ****             {
5204
 2990              		.loc 1 597 40 discriminator 1 view .LVU774
5205
 2991 003e 3146     		mov	r1, r6
5206
 2992 0040 1820     		movs	r0, #24
5207
 2993 0042 FFF7FEFF 		bl	are_settings_changed
5208
 2994              	.LVL365:
5209
 597:../libBME280/src/bme280.c ****             {
5210
 2995              		.loc 1 597 37 discriminator 1 view .LVU775
5211
 2996 0046 0028     		cmp	r0, #0
5212
 2997 0048 E3D0     		beq	.L143
5213
 599:../libBME280/src/bme280.c ****             }
5214
 2998              		.loc 1 599 17 is_stmt 1 view .LVU776
5215
 599:../libBME280/src/bme280.c ****             }
5216
 2999              		.loc 1 599 24 is_stmt 0 view .LVU777
5217
 3000 004a 2A46     		mov	r2, r5
5218
 3001 004c 05F14001 		add	r1, r5, #64
5219
 3002 0050 3046     		mov	r0, r6
5220
 3003 0052 FFF7FEFF 		bl	set_filter_standby_settings
5221
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 88
5222
 
5223
 
5224
 3004              	.LVL366:
5225
 3005 0056 0446     		mov	r4, r0
5226
 3006              	.LVL367:
5227
 599:../libBME280/src/bme280.c ****             }
5228
 3007              		.loc 1 599 24 view .LVU778
5229
 3008 0058 DBE7     		b	.L143
5230
 3009              	.LVL368:
5231
 3010              	.L148:
5232
 581:../libBME280/src/bme280.c ****         }
5233
 3011              		.loc 1 581 13 is_stmt 1 view .LVU779
5234
 581:../libBME280/src/bme280.c ****         }
5235
 3012              		.loc 1 581 20 is_stmt 0 view .LVU780
5236
 3013 005a 2846     		mov	r0, r5
5237
 3014              	.LVL369:
5238
 581:../libBME280/src/bme280.c ****         }
5239
 3015              		.loc 1 581 20 view .LVU781
5240
 3016 005c FFF7FEFF 		bl	put_device_to_sleep
5241
 3017              	.LVL370:
5242
 3018 0060 0446     		mov	r4, r0
5243
 3019              	.LVL371:
5244
 581:../libBME280/src/bme280.c ****         }
5245
 3020              		.loc 1 581 20 view .LVU782
5246
 3021 0062 E3E7     		b	.L144
5247
 3022              	.L149:
5248
 591:../libBME280/src/bme280.c ****             }
5249
 3023              		.loc 1 591 17 is_stmt 1 view .LVU783
5250
 591:../libBME280/src/bme280.c ****             }
5251
 3024              		.loc 1 591 24 is_stmt 0 view .LVU784
5252
 3025 0064 2A46     		mov	r2, r5
5253
 3026 0066 05F14001 		add	r1, r5, #64
5254
 3027 006a 3046     		mov	r0, r6
5255
 3028 006c FFF7FEFF 		bl	set_osr_settings
5256
 3029              	.LVL372:
5257
 3030 0070 0446     		mov	r4, r0
5258
 3031              	.LVL373:
5259
 591:../libBME280/src/bme280.c ****             }
5260
 3032              		.loc 1 591 24 view .LVU785
5261
 3033 0072 E2E7     		b	.L145
5262
 3034              		.cfi_endproc
5263
 3035              	.LFE3:
5264
 3037              		.section	.text.bme280_set_sensor_mode,"ax",%progbits
5265
 3038              		.align	1
5266
 3039              		.global	bme280_set_sensor_mode
5267
 3040              		.syntax unified
5268
 3041              		.thumb
5269
 3042              		.thumb_func
5270
 3043              		.fpu softvfp
5271
 3045              	bme280_set_sensor_mode:
5272
 3046              	.LVL374:
5273
 3047              	.LFB5:
5274
 637:../libBME280/src/bme280.c ****     int8_t rslt;
5275
 3048              		.loc 1 637 1 is_stmt 1 view -0
5276
 3049              		.cfi_startproc
5277
 3050              		@ args = 0, pretend = 0, frame = 8
5278
 3051              		@ frame_needed = 0, uses_anonymous_args = 0
5279
 637:../libBME280/src/bme280.c ****     int8_t rslt;
5280
 3052              		.loc 1 637 1 is_stmt 0 view .LVU787
5281
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 89
5282
 
5283
 
5284
 3053 0000 30B5     		push	{r4, r5, lr}
5285
 3054              	.LCFI55:
5286
 3055              		.cfi_def_cfa_offset 12
5287
 3056              		.cfi_offset 4, -12
5288
 3057              		.cfi_offset 5, -8
5289
 3058              		.cfi_offset 14, -4
5290
 3059 0002 83B0     		sub	sp, sp, #12
5291
 3060              	.LCFI56:
5292
 3061              		.cfi_def_cfa_offset 24
5293
 3062 0004 0546     		mov	r5, r0
5294
 3063 0006 0C46     		mov	r4, r1
5295
 638:../libBME280/src/bme280.c ****     uint8_t last_set_mode;
5296
 3064              		.loc 1 638 5 is_stmt 1 view .LVU788
5297
 639:../libBME280/src/bme280.c **** 
5298
 3065              		.loc 1 639 5 view .LVU789
5299
 642:../libBME280/src/bme280.c **** 
5300
 3066              		.loc 1 642 5 view .LVU790
5301
 642:../libBME280/src/bme280.c **** 
5302
 3067              		.loc 1 642 12 is_stmt 0 view .LVU791
5303
 3068 0008 0846     		mov	r0, r1
5304
 3069              	.LVL375:
5305
 642:../libBME280/src/bme280.c **** 
5306
 3070              		.loc 1 642 12 view .LVU792
5307
 3071 000a FFF7FEFF 		bl	null_ptr_check
5308
 3072              	.LVL376:
5309
 644:../libBME280/src/bme280.c ****     {
5310
 3073              		.loc 1 644 5 is_stmt 1 view .LVU793
5311
 644:../libBME280/src/bme280.c ****     {
5312
 3074              		.loc 1 644 8 is_stmt 0 view .LVU794
5313
 3075 000e 0346     		mov	r3, r0
5314
 3076 0010 10B1     		cbz	r0, .L154
5315
 3077              	.LVL377:
5316
 3078              	.L151:
5317
 663:../libBME280/src/bme280.c **** }
5318
 3079              		.loc 1 663 5 is_stmt 1 view .LVU795
5319
 664:../libBME280/src/bme280.c **** 
5320
 3080              		.loc 1 664 1 is_stmt 0 view .LVU796
5321
 3081 0012 1846     		mov	r0, r3
5322
 3082 0014 03B0     		add	sp, sp, #12
5323
 3083              	.LCFI57:
5324
 3084              		.cfi_remember_state
5325
 3085              		.cfi_def_cfa_offset 12
5326
 3086              		@ sp needed
5327
 3087 0016 30BD     		pop	{r4, r5, pc}
5328
 3088              	.LVL378:
5329
 3089              	.L154:
5330
 3090              	.LCFI58:
5331
 3091              		.cfi_restore_state
5332
 646:../libBME280/src/bme280.c **** 
5333
 3092              		.loc 1 646 9 is_stmt 1 view .LVU797
5334
 646:../libBME280/src/bme280.c **** 
5335
 3093              		.loc 1 646 16 is_stmt 0 view .LVU798
5336
 3094 0018 2146     		mov	r1, r4
5337
 3095 001a 0DF10700 		add	r0, sp, #7
5338
 3096              	.LVL379:
5339
 646:../libBME280/src/bme280.c **** 
5340
 3097              		.loc 1 646 16 view .LVU799
5341
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 90
5342
 
5343
 
5344
 3098 001e FFF7FEFF 		bl	bme280_get_sensor_mode
5345
 3099              	.LVL380:
5346
 651:../libBME280/src/bme280.c ****         {
5347
 3100              		.loc 1 651 9 is_stmt 1 view .LVU800
5348
 651:../libBME280/src/bme280.c ****         {
5349
 3101              		.loc 1 651 12 is_stmt 0 view .LVU801
5350
 3102 0022 0346     		mov	r3, r0
5351
 3103 0024 10B9     		cbnz	r0, .L152
5352
 651:../libBME280/src/bme280.c ****         {
5353
 3104              		.loc 1 651 51 discriminator 1 view .LVU802
5354
 3105 0026 9DF80720 		ldrb	r2, [sp, #7]	@ zero_extendqisi2
5355
 651:../libBME280/src/bme280.c ****         {
5356
 3106              		.loc 1 651 33 discriminator 1 view .LVU803
5357
 3107 002a 3AB9     		cbnz	r2, .L155
5358
 3108              	.LVL381:
5359
 3109              	.L152:
5360
 657:../libBME280/src/bme280.c ****         {
5361
 3110              		.loc 1 657 9 is_stmt 1 view .LVU804
5362
 657:../libBME280/src/bme280.c ****         {
5363
 3111              		.loc 1 657 12 is_stmt 0 view .LVU805
5364
 3112 002c 002B     		cmp	r3, #0
5365
 3113 002e F0D1     		bne	.L151
5366
 659:../libBME280/src/bme280.c ****         }
5367
 3114              		.loc 1 659 13 is_stmt 1 view .LVU806
5368
 659:../libBME280/src/bme280.c ****         }
5369
 3115              		.loc 1 659 20 is_stmt 0 view .LVU807
5370
 3116 0030 2146     		mov	r1, r4
5371
 3117 0032 2846     		mov	r0, r5
5372
 3118 0034 FFF7FEFF 		bl	write_power_mode
5373
 3119              	.LVL382:
5374
 659:../libBME280/src/bme280.c ****         }
5375
 3120              		.loc 1 659 20 view .LVU808
5376
 3121 0038 0346     		mov	r3, r0
5377
 3122              	.LVL383:
5378
 659:../libBME280/src/bme280.c ****         }
5379
 3123              		.loc 1 659 20 view .LVU809
5380
 3124 003a EAE7     		b	.L151
5381
 3125              	.LVL384:
5382
 3126              	.L155:
5383
 653:../libBME280/src/bme280.c ****         }
5384
 3127              		.loc 1 653 13 is_stmt 1 view .LVU810
5385
 653:../libBME280/src/bme280.c ****         }
5386
 3128              		.loc 1 653 20 is_stmt 0 view .LVU811
5387
 3129 003c 2046     		mov	r0, r4
5388
 3130              	.LVL385:
5389
 653:../libBME280/src/bme280.c ****         }
5390
 3131              		.loc 1 653 20 view .LVU812
5391
 3132 003e FFF7FEFF 		bl	put_device_to_sleep
5392
 3133              	.LVL386:
5393
 3134 0042 0346     		mov	r3, r0
5394
 3135              	.LVL387:
5395
 653:../libBME280/src/bme280.c ****         }
5396
 3136              		.loc 1 653 20 view .LVU813
5397
 3137 0044 F2E7     		b	.L152
5398
 3138              		.cfi_endproc
5399
 3139              	.LFE5:
5400
 3141              		.section	.text.bme280_parse_sensor_data,"ax",%progbits
5401
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 91
5402
 
5403
 
5404
 3142              		.align	1
5405
 3143              		.global	bme280_parse_sensor_data
5406
 3144              		.syntax unified
5407
 3145              		.thumb
5408
 3146              		.thumb_func
5409
 3147              		.fpu softvfp
5410
 3149              	bme280_parse_sensor_data:
5411
 3150              	.LVL388:
5412
 3151              	.LFB9:
5413
 782:../libBME280/src/bme280.c ****     /* Variables to store the sensor data */
5414
 3152              		.loc 1 782 1 is_stmt 1 view -0
5415
 3153              		.cfi_startproc
5416
 3154              		@ args = 0, pretend = 0, frame = 0
5417
 3155              		@ frame_needed = 0, uses_anonymous_args = 0
5418
 3156              		@ link register save eliminated.
5419
 782:../libBME280/src/bme280.c ****     /* Variables to store the sensor data */
5420
 3157              		.loc 1 782 1 is_stmt 0 view .LVU815
5421
 3158 0000 10B4     		push	{r4}
5422
 3159              	.LCFI59:
5423
 3160              		.cfi_def_cfa_offset 4
5424
 3161              		.cfi_offset 4, -4
5425
 784:../libBME280/src/bme280.c ****     uint32_t data_lsb;
5426
 3162              		.loc 1 784 5 is_stmt 1 view .LVU816
5427
 785:../libBME280/src/bme280.c ****     uint32_t data_msb;
5428
 3163              		.loc 1 785 5 view .LVU817
5429
 786:../libBME280/src/bme280.c **** 
5430
 3164              		.loc 1 786 5 view .LVU818
5431
 789:../libBME280/src/bme280.c ****     data_lsb = (uint32_t)reg_data[1] << 4;
5432
 3165              		.loc 1 789 5 view .LVU819
5433
 789:../libBME280/src/bme280.c ****     data_lsb = (uint32_t)reg_data[1] << 4;
5434
 3166              		.loc 1 789 34 is_stmt 0 view .LVU820
5435
 3167 0002 0478     		ldrb	r4, [r0]	@ zero_extendqisi2
5436
 3168              	.LVL389:
5437
 790:../libBME280/src/bme280.c ****     data_xlsb = (uint32_t)reg_data[2] >> 4;
5438
 3169              		.loc 1 790 5 is_stmt 1 view .LVU821
5439
 790:../libBME280/src/bme280.c ****     data_xlsb = (uint32_t)reg_data[2] >> 4;
5440
 3170              		.loc 1 790 34 is_stmt 0 view .LVU822
5441
 3171 0004 4378     		ldrb	r3, [r0, #1]	@ zero_extendqisi2
5442
 790:../libBME280/src/bme280.c ****     data_xlsb = (uint32_t)reg_data[2] >> 4;
5443
 3172              		.loc 1 790 14 view .LVU823
5444
 3173 0006 1B01     		lsls	r3, r3, #4
5445
 3174              	.LVL390:
5446
 791:../libBME280/src/bme280.c ****     uncomp_data->pressure = data_msb | data_lsb | data_xlsb;
5447
 3175              		.loc 1 791 5 is_stmt 1 view .LVU824
5448
 791:../libBME280/src/bme280.c ****     uncomp_data->pressure = data_msb | data_lsb | data_xlsb;
5449
 3176              		.loc 1 791 35 is_stmt 0 view .LVU825
5450
 3177 0008 8278     		ldrb	r2, [r0, #2]	@ zero_extendqisi2
5451
 3178              	.LVL391:
5452
 792:../libBME280/src/bme280.c **** 
5453
 3179              		.loc 1 792 5 is_stmt 1 view .LVU826
5454
 792:../libBME280/src/bme280.c **** 
5455
 3180              		.loc 1 792 38 is_stmt 0 view .LVU827
5456
 3181 000a 43EA0433 		orr	r3, r3, r4, lsl #12
5457
 3182              	.LVL392:
5458
 792:../libBME280/src/bme280.c **** 
5459
 3183              		.loc 1 792 49 view .LVU828
5460
 3184 000e 43EA1213 		orr	r3, r3, r2, lsr #4
5461
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 92
5462
 
5463
 
5464
 792:../libBME280/src/bme280.c **** 
5465
 3185              		.loc 1 792 27 view .LVU829
5466
 3186 0012 0B60     		str	r3, [r1]
5467
 3187              	.LVL393:
5468
 795:../libBME280/src/bme280.c ****     data_lsb = (uint32_t)reg_data[4] << 4;
5469
 3188              		.loc 1 795 5 is_stmt 1 view .LVU830
5470
 795:../libBME280/src/bme280.c ****     data_lsb = (uint32_t)reg_data[4] << 4;
5471
 3189              		.loc 1 795 34 is_stmt 0 view .LVU831
5472
 3190 0014 C478     		ldrb	r4, [r0, #3]	@ zero_extendqisi2
5473
 3191              	.LVL394:
5474
 796:../libBME280/src/bme280.c ****     data_xlsb = (uint32_t)reg_data[5] >> 4;
5475
 3192              		.loc 1 796 5 is_stmt 1 view .LVU832
5476
 796:../libBME280/src/bme280.c ****     data_xlsb = (uint32_t)reg_data[5] >> 4;
5477
 3193              		.loc 1 796 34 is_stmt 0 view .LVU833
5478
 3194 0016 0379     		ldrb	r3, [r0, #4]	@ zero_extendqisi2
5479
 796:../libBME280/src/bme280.c ****     data_xlsb = (uint32_t)reg_data[5] >> 4;
5480
 3195              		.loc 1 796 14 view .LVU834
5481
 3196 0018 1B01     		lsls	r3, r3, #4
5482
 3197              	.LVL395:
5483
 797:../libBME280/src/bme280.c ****     uncomp_data->temperature = data_msb | data_lsb | data_xlsb;
5484
 3198              		.loc 1 797 5 is_stmt 1 view .LVU835
5485
 797:../libBME280/src/bme280.c ****     uncomp_data->temperature = data_msb | data_lsb | data_xlsb;
5486
 3199              		.loc 1 797 35 is_stmt 0 view .LVU836
5487
 3200 001a 4279     		ldrb	r2, [r0, #5]	@ zero_extendqisi2
5488
 3201              	.LVL396:
5489
 798:../libBME280/src/bme280.c **** 
5490
 3202              		.loc 1 798 5 is_stmt 1 view .LVU837
5491
 798:../libBME280/src/bme280.c **** 
5492
 3203              		.loc 1 798 41 is_stmt 0 view .LVU838
5493
 3204 001c 43EA0433 		orr	r3, r3, r4, lsl #12
5494
 3205              	.LVL397:
5495
 798:../libBME280/src/bme280.c **** 
5496
 3206              		.loc 1 798 52 view .LVU839
5497
 3207 0020 43EA1213 		orr	r3, r3, r2, lsr #4
5498
 798:../libBME280/src/bme280.c **** 
5499
 3208              		.loc 1 798 30 view .LVU840
5500
 3209 0024 4B60     		str	r3, [r1, #4]
5501
 3210              	.LVL398:
5502
 801:../libBME280/src/bme280.c ****     data_lsb = (uint32_t)reg_data[7];
5503
 3211              		.loc 1 801 5 is_stmt 1 view .LVU841
5504
 801:../libBME280/src/bme280.c ****     data_lsb = (uint32_t)reg_data[7];
5505
 3212              		.loc 1 801 34 is_stmt 0 view .LVU842
5506
 3213 0026 8279     		ldrb	r2, [r0, #6]	@ zero_extendqisi2
5507
 3214              	.LVL399:
5508
 802:../libBME280/src/bme280.c ****     uncomp_data->humidity = data_msb | data_lsb;
5509
 3215              		.loc 1 802 5 is_stmt 1 view .LVU843
5510
 802:../libBME280/src/bme280.c ****     uncomp_data->humidity = data_msb | data_lsb;
5511
 3216              		.loc 1 802 34 is_stmt 0 view .LVU844
5512
 3217 0028 C379     		ldrb	r3, [r0, #7]	@ zero_extendqisi2
5513
 3218              	.LVL400:
5514
 803:../libBME280/src/bme280.c **** }
5515
 3219              		.loc 1 803 5 is_stmt 1 view .LVU845
5516
 803:../libBME280/src/bme280.c **** }
5517
 3220              		.loc 1 803 38 is_stmt 0 view .LVU846
5518
 3221 002a 43EA0223 		orr	r3, r3, r2, lsl #8
5519
 3222              	.LVL401:
5520
 803:../libBME280/src/bme280.c **** }
5521
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 93
5522
 
5523
 
5524
 3223              		.loc 1 803 27 view .LVU847
5525
 3224 002e 8B60     		str	r3, [r1, #8]
5526
 3225              	.LVL402:
5527
 804:../libBME280/src/bme280.c **** 
5528
 3226              		.loc 1 804 1 view .LVU848
5529
 3227 0030 10BC     		pop	{r4}
5530
 3228              	.LCFI60:
5531
 3229              		.cfi_restore 4
5532
 3230              		.cfi_def_cfa_offset 0
5533
 3231 0032 7047     		bx	lr
5534
 3232              		.cfi_endproc
5535
 3233              	.LFE9:
5536
 3235              		.section	.text.bme280_compensate_data,"ax",%progbits
5537
 3236              		.align	1
5538
 3237              		.global	bme280_compensate_data
5539
 3238              		.syntax unified
5540
 3239              		.thumb
5541
 3240              		.thumb_func
5542
 3241              		.fpu softvfp
5543
 3243              	bme280_compensate_data:
5544
 3244              	.LVL403:
5545
 3245              	.LFB10:
5546
 815:../libBME280/src/bme280.c ****     int8_t rslt = BME280_OK;
5547
 3246              		.loc 1 815 1 is_stmt 1 view -0
5548
 3247              		.cfi_startproc
5549
 3248              		@ args = 0, pretend = 0, frame = 0
5550
 3249              		@ frame_needed = 0, uses_anonymous_args = 0
5551
 816:../libBME280/src/bme280.c **** 
5552
 3250              		.loc 1 816 5 view .LVU850
5553
 818:../libBME280/src/bme280.c ****     {
5554
 3251              		.loc 1 818 5 view .LVU851
5555
 818:../libBME280/src/bme280.c ****     {
5556
 3252              		.loc 1 818 8 is_stmt 0 view .LVU852
5557
 3253 0000 61B3     		cbz	r1, .L162
5558
 815:../libBME280/src/bme280.c ****     int8_t rslt = BME280_OK;
5559
 3254              		.loc 1 815 1 discriminator 1 view .LVU853
5560
 3255 0002 F8B5     		push	{r3, r4, r5, r6, r7, lr}
5561
 3256              	.LCFI61:
5562
 3257              		.cfi_def_cfa_offset 24
5563
 3258              		.cfi_offset 3, -24
5564
 3259              		.cfi_offset 4, -20
5565
 3260              		.cfi_offset 5, -16
5566
 3261              		.cfi_offset 6, -12
5567
 3262              		.cfi_offset 7, -8
5568
 3263              		.cfi_offset 14, -4
5569
 3264 0004 0F46     		mov	r7, r1
5570
 818:../libBME280/src/bme280.c ****     {
5571
 3265              		.loc 1 818 31 discriminator 1 view .LVU854
5572
 3266 0006 62B3     		cbz	r2, .L163
5573
 818:../libBME280/src/bme280.c ****     {
5574
 3267              		.loc 1 818 54 discriminator 2 view .LVU855
5575
 3268 0008 73B3     		cbz	r3, .L164
5576
 3269 000a 1E46     		mov	r6, r3
5577
 3270 000c 1446     		mov	r4, r2
5578
 3271 000e 0546     		mov	r5, r0
5579
 821:../libBME280/src/bme280.c ****         comp_data->pressure = 0;
5580
 3272              		.loc 1 821 9 is_stmt 1 view .LVU856
5581
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 94
5582
 
5583
 
5584
 821:../libBME280/src/bme280.c ****         comp_data->pressure = 0;
5585
 3273              		.loc 1 821 32 is_stmt 0 view .LVU857
5586
 3274 0010 0022     		movs	r2, #0
5587
 3275              	.LVL404:
5588
 821:../libBME280/src/bme280.c ****         comp_data->pressure = 0;
5589
 3276              		.loc 1 821 32 view .LVU858
5590
 3277 0012 0023     		movs	r3, #0
5591
 3278              	.LVL405:
5592
 821:../libBME280/src/bme280.c ****         comp_data->pressure = 0;
5593
 3279              		.loc 1 821 32 view .LVU859
5594
 3280 0014 C4E90223 		strd	r2, [r4, #8]
5595
 822:../libBME280/src/bme280.c ****         comp_data->humidity = 0;
5596
 3281              		.loc 1 822 9 is_stmt 1 view .LVU860
5597
 822:../libBME280/src/bme280.c ****         comp_data->humidity = 0;
5598
 3282              		.loc 1 822 29 is_stmt 0 view .LVU861
5599
 3283 0018 C4E90023 		strd	r2, [r4]
5600
 823:../libBME280/src/bme280.c **** 
5601
 3284              		.loc 1 823 9 is_stmt 1 view .LVU862
5602
 823:../libBME280/src/bme280.c **** 
5603
 3285              		.loc 1 823 29 is_stmt 0 view .LVU863
5604
 3286 001c C4E90423 		strd	r2, [r4, #16]
5605
 826:../libBME280/src/bme280.c ****         {
5606
 3287              		.loc 1 826 9 is_stmt 1 view .LVU864
5607
 826:../libBME280/src/bme280.c ****         {
5608
 3288              		.loc 1 826 12 is_stmt 0 view .LVU865
5609
 3289 0020 10F0070F 		tst	r0, #7
5610
 3290 0024 13D1     		bne	.L170
5611
 3291              	.LVL406:
5612
 3292              	.L160:
5613
 832:../libBME280/src/bme280.c ****         {
5614
 3293              		.loc 1 832 9 is_stmt 1 view .LVU866
5615
 832:../libBME280/src/bme280.c ****         {
5616
 3294              		.loc 1 832 12 is_stmt 0 view .LVU867
5617
 3295 0026 15F0010F 		tst	r5, #1
5618
 3296 002a 05D0     		beq	.L161
5619
 835:../libBME280/src/bme280.c ****         }
5620
 3297              		.loc 1 835 13 is_stmt 1 view .LVU868
5621
 835:../libBME280/src/bme280.c ****         }
5622
 3298              		.loc 1 835 35 is_stmt 0 view .LVU869
5623
 3299 002c 3146     		mov	r1, r6
5624
 3300 002e 3846     		mov	r0, r7
5625
 3301 0030 FFF7FEFF 		bl	compensate_pressure
5626
 3302              	.LVL407:
5627
 835:../libBME280/src/bme280.c ****         }
5628
 3303              		.loc 1 835 33 view .LVU870
5629
 3304 0034 C4E90001 		strd	r0, [r4]
5630
 3305              	.L161:
5631
 838:../libBME280/src/bme280.c ****         {
5632
 3306              		.loc 1 838 9 is_stmt 1 view .LVU871
5633
 838:../libBME280/src/bme280.c ****         {
5634
 3307              		.loc 1 838 12 is_stmt 0 view .LVU872
5635
 3308 0038 15F0040F 		tst	r5, #4
5636
 3309 003c 17D0     		beq	.L165
5637
 841:../libBME280/src/bme280.c ****         }
5638
 3310              		.loc 1 841 13 is_stmt 1 view .LVU873
5639
 841:../libBME280/src/bme280.c ****         }
5640
 3311              		.loc 1 841 35 is_stmt 0 view .LVU874
5641
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 95
5642
 
5643
 
5644
 3312 003e 3146     		mov	r1, r6
5645
 3313 0040 3846     		mov	r0, r7
5646
 3314 0042 FFF7FEFF 		bl	compensate_humidity
5647
 3315              	.LVL408:
5648
 841:../libBME280/src/bme280.c ****         }
5649
 3316              		.loc 1 841 33 view .LVU875
5650
 3317 0046 C4E90401 		strd	r0, [r4, #16]
5651
 816:../libBME280/src/bme280.c **** 
5652
 3318              		.loc 1 816 12 view .LVU876
5653
 3319 004a 0020     		movs	r0, #0
5654
 3320              	.LVL409:
5655
 3321              	.L159:
5656
 849:../libBME280/src/bme280.c **** }
5657
 3322              		.loc 1 849 5 is_stmt 1 view .LVU877
5658
 850:../libBME280/src/bme280.c **** 
5659
 3323              		.loc 1 850 1 is_stmt 0 view .LVU878
5660
 3324 004c F8BD     		pop	{r3, r4, r5, r6, r7, pc}
5661
 3325              	.LVL410:
5662
 3326              	.L170:
5663
 829:../libBME280/src/bme280.c ****         }
5664
 3327              		.loc 1 829 13 is_stmt 1 view .LVU879
5665
 829:../libBME280/src/bme280.c ****         }
5666
 3328              		.loc 1 829 38 is_stmt 0 view .LVU880
5667
 3329 004e 3146     		mov	r1, r6
5668
 3330              	.LVL411:
5669
 829:../libBME280/src/bme280.c ****         }
5670
 3331              		.loc 1 829 38 view .LVU881
5671
 3332 0050 3846     		mov	r0, r7
5672
 3333              	.LVL412:
5673
 829:../libBME280/src/bme280.c ****         }
5674
 3334              		.loc 1 829 38 view .LVU882
5675
 3335 0052 FFF7FEFF 		bl	compensate_temperature
5676
 3336              	.LVL413:
5677
 829:../libBME280/src/bme280.c ****         }
5678
 3337              		.loc 1 829 36 view .LVU883
5679
 3338 0056 C4E90201 		strd	r0, [r4, #8]
5680
 3339 005a E4E7     		b	.L160
5681
 3340              	.LVL414:
5682
 3341              	.L162:
5683
 3342              	.LCFI62:
5684
 3343              		.cfi_def_cfa_offset 0
5685
 3344              		.cfi_restore 3
5686
 3345              		.cfi_restore 4
5687
 3346              		.cfi_restore 5
5688
 3347              		.cfi_restore 6
5689
 3348              		.cfi_restore 7
5690
 3349              		.cfi_restore 14
5691
 846:../libBME280/src/bme280.c ****     }
5692
 3350              		.loc 1 846 14 view .LVU884
5693
 3351 005c 4FF0FF30 		mov	r0, #-1
5694
 3352              	.LVL415:
5695
 849:../libBME280/src/bme280.c **** }
5696
 3353              		.loc 1 849 5 is_stmt 1 view .LVU885
5697
 850:../libBME280/src/bme280.c **** 
5698
 3354              		.loc 1 850 1 is_stmt 0 view .LVU886
5699
 3355 0060 7047     		bx	lr
5700
 3356              	.LVL416:
5701
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 96
5702
 
5703
 
5704
 3357              	.L163:
5705
 3358              	.LCFI63:
5706
 3359              		.cfi_def_cfa_offset 24
5707
 3360              		.cfi_offset 3, -24
5708
 3361              		.cfi_offset 4, -20
5709
 3362              		.cfi_offset 5, -16
5710
 3363              		.cfi_offset 6, -12
5711
 3364              		.cfi_offset 7, -8
5712
 3365              		.cfi_offset 14, -4
5713
 846:../libBME280/src/bme280.c ****     }
5714
 3366              		.loc 1 846 14 view .LVU887
5715
 3367 0062 4FF0FF30 		mov	r0, #-1
5716
 3368              	.LVL417:
5717
 846:../libBME280/src/bme280.c ****     }
5718
 3369              		.loc 1 846 14 view .LVU888
5719
 3370 0066 F1E7     		b	.L159
5720
 3371              	.LVL418:
5721
 3372              	.L164:
5722
 846:../libBME280/src/bme280.c ****     }
5723
 3373              		.loc 1 846 14 view .LVU889
5724
 3374 0068 4FF0FF30 		mov	r0, #-1
5725
 3375              	.LVL419:
5726
 846:../libBME280/src/bme280.c ****     }
5727
 3376              		.loc 1 846 14 view .LVU890
5728
 3377 006c EEE7     		b	.L159
5729
 3378              	.LVL420:
5730
 3379              	.L165:
5731
 816:../libBME280/src/bme280.c **** 
5732
 3380              		.loc 1 816 12 view .LVU891
5733
 3381 006e 0020     		movs	r0, #0
5734
 3382 0070 ECE7     		b	.L159
5735
 3383              		.cfi_endproc
5736
 3384              	.LFE10:
5737
 3386              		.section	.text.bme280_get_sensor_data,"ax",%progbits
5738
 3387              		.align	1
5739
 3388              		.global	bme280_get_sensor_data
5740
 3389              		.syntax unified
5741
 3390              		.thumb
5742
 3391              		.thumb_func
5743
 3392              		.fpu softvfp
5744
 3394              	bme280_get_sensor_data:
5745
 3395              	.LVL421:
5746
 3396              	.LFB8:
5747
 741:../libBME280/src/bme280.c ****     int8_t rslt;
5748
 3397              		.loc 1 741 1 is_stmt 1 view -0
5749
 3398              		.cfi_startproc
5750
 3399              		@ args = 0, pretend = 0, frame = 24
5751
 3400              		@ frame_needed = 0, uses_anonymous_args = 0
5752
 741:../libBME280/src/bme280.c ****     int8_t rslt;
5753
 3401              		.loc 1 741 1 is_stmt 0 view .LVU893
5754
 3402 0000 70B5     		push	{r4, r5, r6, lr}
5755
 3403              	.LCFI64:
5756
 3404              		.cfi_def_cfa_offset 16
5757
 3405              		.cfi_offset 4, -16
5758
 3406              		.cfi_offset 5, -12
5759
 3407              		.cfi_offset 6, -8
5760
 3408              		.cfi_offset 14, -4
5761
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 97
5762
 
5763
 
5764
 3409 0002 86B0     		sub	sp, sp, #24
5765
 3410              	.LCFI65:
5766
 3411              		.cfi_def_cfa_offset 40
5767
 3412 0004 0646     		mov	r6, r0
5768
 3413 0006 0D46     		mov	r5, r1
5769
 3414 0008 1446     		mov	r4, r2
5770
 742:../libBME280/src/bme280.c **** 
5771
 3415              		.loc 1 742 5 is_stmt 1 view .LVU894
5772
 747:../libBME280/src/bme280.c ****     struct bme280_uncomp_data uncomp_data = { 0 };
5773
 3416              		.loc 1 747 5 view .LVU895
5774
 747:../libBME280/src/bme280.c ****     struct bme280_uncomp_data uncomp_data = { 0 };
5775
 3417              		.loc 1 747 13 is_stmt 0 view .LVU896
5776
 3418 000a 0023     		movs	r3, #0
5777
 3419 000c 0493     		str	r3, [sp, #16]
5778
 3420 000e 0593     		str	r3, [sp, #20]
5779
 748:../libBME280/src/bme280.c **** 
5780
 3421              		.loc 1 748 5 is_stmt 1 view .LVU897
5781
 748:../libBME280/src/bme280.c **** 
5782
 3422              		.loc 1 748 31 is_stmt 0 view .LVU898
5783
 3423 0010 0193     		str	r3, [sp, #4]
5784
 3424 0012 0293     		str	r3, [sp, #8]
5785
 3425 0014 0393     		str	r3, [sp, #12]
5786
 751:../libBME280/src/bme280.c **** 
5787
 3426              		.loc 1 751 5 is_stmt 1 view .LVU899
5788
 751:../libBME280/src/bme280.c **** 
5789
 3427              		.loc 1 751 12 is_stmt 0 view .LVU900
5790
 3428 0016 1046     		mov	r0, r2
5791
 3429              	.LVL422:
5792
 751:../libBME280/src/bme280.c **** 
5793
 3430              		.loc 1 751 12 view .LVU901
5794
 3431 0018 FFF7FEFF 		bl	null_ptr_check
5795
 3432              	.LVL423:
5796
 753:../libBME280/src/bme280.c ****     {
5797
 3433              		.loc 1 753 5 is_stmt 1 view .LVU902
5798
 753:../libBME280/src/bme280.c ****     {
5799
 3434              		.loc 1 753 8 is_stmt 0 view .LVU903
5800
 3435 001c C0B9     		cbnz	r0, .L173
5801
 753:../libBME280/src/bme280.c ****     {
5802
 3436              		.loc 1 753 29 discriminator 1 view .LVU904
5803
 3437 001e D5B1     		cbz	r5, .L174
5804
 756:../libBME280/src/bme280.c **** 
5805
 3438              		.loc 1 756 9 is_stmt 1 view .LVU905
5806
 756:../libBME280/src/bme280.c **** 
5807
 3439              		.loc 1 756 16 is_stmt 0 view .LVU906
5808
 3440 0020 2346     		mov	r3, r4
5809
 3441 0022 0822     		movs	r2, #8
5810
 3442 0024 04A9     		add	r1, sp, #16
5811
 3443 0026 F720     		movs	r0, #247
5812
 3444              	.LVL424:
5813
 756:../libBME280/src/bme280.c **** 
5814
 3445              		.loc 1 756 16 view .LVU907
5815
 3446 0028 FFF7FEFF 		bl	bme280_get_regs
5816
 3447              	.LVL425:
5817
 758:../libBME280/src/bme280.c ****         {
5818
 3448              		.loc 1 758 9 is_stmt 1 view .LVU908
5819
 758:../libBME280/src/bme280.c ****         {
5820
 3449              		.loc 1 758 12 is_stmt 0 view .LVU909
5821
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 98
5822
 
5823
 
5824
 3450 002c 0346     		mov	r3, r0
5825
 3451 002e 10B1     		cbz	r0, .L176
5826
 3452              	.LVL426:
5827
 3453              	.L172:
5828
 774:../libBME280/src/bme280.c **** }
5829
 3454              		.loc 1 774 5 is_stmt 1 view .LVU910
5830
 775:../libBME280/src/bme280.c **** 
5831
 3455              		.loc 1 775 1 is_stmt 0 view .LVU911
5832
 3456 0030 1846     		mov	r0, r3
5833
 3457 0032 06B0     		add	sp, sp, #24
5834
 3458              	.LCFI66:
5835
 3459              		.cfi_remember_state
5836
 3460              		.cfi_def_cfa_offset 16
5837
 3461              		@ sp needed
5838
 3462 0034 70BD     		pop	{r4, r5, r6, pc}
5839
 3463              	.LVL427:
5840
 3464              	.L176:
5841
 3465              	.LCFI67:
5842
 3466              		.cfi_restore_state
5843
 761:../libBME280/src/bme280.c **** 
5844
 3467              		.loc 1 761 13 is_stmt 1 view .LVU912
5845
 3468 0036 01A9     		add	r1, sp, #4
5846
 3469 0038 04A8     		add	r0, sp, #16
5847
 3470              	.LVL428:
5848
 761:../libBME280/src/bme280.c **** 
5849
 3471              		.loc 1 761 13 is_stmt 0 view .LVU913
5850
 3472 003a FFF7FEFF 		bl	bme280_parse_sensor_data
5851
 3473              	.LVL429:
5852
 766:../libBME280/src/bme280.c ****         }
5853
 3474              		.loc 1 766 13 is_stmt 1 view .LVU914
5854
 766:../libBME280/src/bme280.c ****         }
5855
 3475              		.loc 1 766 20 is_stmt 0 view .LVU915
5856
 3476 003e 04F11803 		add	r3, r4, #24
5857
 3477 0042 2A46     		mov	r2, r5
5858
 3478 0044 01A9     		add	r1, sp, #4
5859
 3479 0046 3046     		mov	r0, r6
5860
 3480 0048 FFF7FEFF 		bl	bme280_compensate_data
5861
 3481              	.LVL430:
5862
 3482 004c 0346     		mov	r3, r0
5863
 3483              	.LVL431:
5864
 766:../libBME280/src/bme280.c ****         }
5865
 3484              		.loc 1 766 20 view .LVU916
5866
 3485 004e EFE7     		b	.L172
5867
 3486              	.LVL432:
5868
 3487              	.L173:
5869
 771:../libBME280/src/bme280.c ****     }
5870
 3488              		.loc 1 771 14 view .LVU917
5871
 3489 0050 4FF0FF33 		mov	r3, #-1
5872
 3490 0054 ECE7     		b	.L172
5873
 3491              	.L174:
5874
 3492 0056 4FF0FF33 		mov	r3, #-1
5875
 3493 005a E9E7     		b	.L172
5876
 3494              		.cfi_endproc
5877
 3495              	.LFE8:
5878
 3497              		.section	.text.bme280_cal_meas_delay,"ax",%progbits
5879
 3498              		.align	1
5880
 3499              		.global	bme280_cal_meas_delay
5881
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 99
5882
 
5883
 
5884
 3500              		.syntax unified
5885
 3501              		.thumb
5886
 3502              		.thumb_func
5887
 3503              		.fpu softvfp
5888
 3505              	bme280_cal_meas_delay:
5889
 3506              	.LVL433:
5890
 3507              	.LFB11:
5891
 857:../libBME280/src/bme280.c ****     uint32_t max_delay;
5892
 3508              		.loc 1 857 1 is_stmt 1 view -0
5893
 3509              		.cfi_startproc
5894
 3510              		@ args = 0, pretend = 0, frame = 8
5895
 3511              		@ frame_needed = 0, uses_anonymous_args = 0
5896
 3512              		@ link register save eliminated.
5897
 857:../libBME280/src/bme280.c ****     uint32_t max_delay;
5898
 3513              		.loc 1 857 1 is_stmt 0 view .LVU919
5899
 3514 0000 82B0     		sub	sp, sp, #8
5900
 3515              	.LCFI68:
5901
 3516              		.cfi_def_cfa_offset 8
5902
 3517 0002 0246     		mov	r2, r0
5903
 858:../libBME280/src/bme280.c ****     uint8_t temp_osr;
5904
 3518              		.loc 1 858 5 is_stmt 1 view .LVU920
5905
 859:../libBME280/src/bme280.c ****     uint8_t pres_osr;
5906
 3519              		.loc 1 859 5 view .LVU921
5907
 860:../libBME280/src/bme280.c ****     uint8_t hum_osr;
5908
 3520              		.loc 1 860 5 view .LVU922
5909
 861:../libBME280/src/bme280.c **** 
5910
 3521              		.loc 1 861 5 view .LVU923
5911
 864:../libBME280/src/bme280.c **** 
5912
 3522              		.loc 1 864 5 view .LVU924
5913
 864:../libBME280/src/bme280.c **** 
5914
 3523              		.loc 1 864 13 is_stmt 0 view .LVU925
5915
 3524 0004 1C4B     		ldr	r3, .L185
5916
 3525 0006 93E80300 		ldm	r3, {r0, r1}
5917
 3526              	.LVL434:
5918
 864:../libBME280/src/bme280.c **** 
5919
 3527              		.loc 1 864 13 view .LVU926
5920
 3528 000a 0090     		str	r0, [sp]
5921
 3529 000c ADF80410 		strh	r1, [sp, #4]	@ movhi
5922
 867:../libBME280/src/bme280.c ****     {
5923
 3530              		.loc 1 867 5 is_stmt 1 view .LVU927
5924
 867:../libBME280/src/bme280.c ****     {
5925
 3531              		.loc 1 867 17 is_stmt 0 view .LVU928
5926
 3532 0010 5378     		ldrb	r3, [r2, #1]	@ zero_extendqisi2
5927
 867:../libBME280/src/bme280.c ****     {
5928
 3533              		.loc 1 867 8 view .LVU929
5929
 3534 0012 052B     		cmp	r3, #5
5930
 3535 0014 04D8     		bhi	.L181
5931
 869:../libBME280/src/bme280.c ****     }
5932
 3536              		.loc 1 869 9 is_stmt 1 view .LVU930
5933
 869:../libBME280/src/bme280.c ****     }
5934
 3537              		.loc 1 869 18 is_stmt 0 view .LVU931
5935
 3538 0016 02A9     		add	r1, sp, #8
5936
 3539 0018 0B44     		add	r3, r3, r1
5937
 3540 001a 13F8083C 		ldrb	r3, [r3, #-8]	@ zero_extendqisi2
5938
 3541              	.LVL435:
5939
 869:../libBME280/src/bme280.c ****     }
5940
 3542              		.loc 1 869 18 view .LVU932
5941
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 100
5942
 
5943
 
5944
 3543 001e 00E0     		b	.L178
5945
 3544              	.LVL436:
5946
 3545              	.L181:
5947
 873:../libBME280/src/bme280.c ****     }
5948
 3546              		.loc 1 873 18 view .LVU933
5949
 3547 0020 1023     		movs	r3, #16
5950
 3548              	.L178:
5951
 3549              	.LVL437:
5952
 876:../libBME280/src/bme280.c ****     {
5953
 3550              		.loc 1 876 5 is_stmt 1 view .LVU934
5954
 876:../libBME280/src/bme280.c ****     {
5955
 3551              		.loc 1 876 17 is_stmt 0 view .LVU935
5956
 3552 0022 1178     		ldrb	r1, [r2]	@ zero_extendqisi2
5957
 876:../libBME280/src/bme280.c ****     {
5958
 3553              		.loc 1 876 8 view .LVU936
5959
 3554 0024 0529     		cmp	r1, #5
5960
 3555 0026 04D8     		bhi	.L182
5961
 878:../libBME280/src/bme280.c ****     }
5962
 3556              		.loc 1 878 9 is_stmt 1 view .LVU937
5963
 878:../libBME280/src/bme280.c ****     }
5964
 3557              		.loc 1 878 18 is_stmt 0 view .LVU938
5965
 3558 0028 02A8     		add	r0, sp, #8
5966
 3559 002a 0144     		add	r1, r1, r0
5967
 3560 002c 11F8081C 		ldrb	r1, [r1, #-8]	@ zero_extendqisi2
5968
 3561              	.LVL438:
5969
 878:../libBME280/src/bme280.c ****     }
5970
 3562              		.loc 1 878 18 view .LVU939
5971
 3563 0030 00E0     		b	.L179
5972
 3564              	.LVL439:
5973
 3565              	.L182:
5974
 882:../libBME280/src/bme280.c ****     }
5975
 3566              		.loc 1 882 18 view .LVU940
5976
 3567 0032 1021     		movs	r1, #16
5977
 3568              	.L179:
5978
 3569              	.LVL440:
5979
 885:../libBME280/src/bme280.c ****     {
5980
 3570              		.loc 1 885 5 is_stmt 1 view .LVU941
5981
 885:../libBME280/src/bme280.c ****     {
5982
 3571              		.loc 1 885 17 is_stmt 0 view .LVU942
5983
 3572 0034 9278     		ldrb	r2, [r2, #2]	@ zero_extendqisi2
5984
 3573              	.LVL441:
5985
 885:../libBME280/src/bme280.c ****     {
5986
 3574              		.loc 1 885 8 view .LVU943
5987
 3575 0036 052A     		cmp	r2, #5
5988
 3576 0038 04D8     		bhi	.L183
5989
 887:../libBME280/src/bme280.c ****     }
5990
 3577              		.loc 1 887 9 is_stmt 1 view .LVU944
5991
 887:../libBME280/src/bme280.c ****     }
5992
 3578              		.loc 1 887 17 is_stmt 0 view .LVU945
5993
 3579 003a 02A8     		add	r0, sp, #8
5994
 3580 003c 0244     		add	r2, r2, r0
5995
 3581 003e 12F8080C 		ldrb	r0, [r2, #-8]	@ zero_extendqisi2
5996
 3582              	.LVL442:
5997
 887:../libBME280/src/bme280.c ****     }
5998
 3583              		.loc 1 887 17 view .LVU946
5999
 3584 0042 00E0     		b	.L180
6000
 3585              	.LVL443:
6001
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 101
6002
 
6003
 
6004
 3586              	.L183:
6005
 891:../libBME280/src/bme280.c ****     }
6006
 3587              		.loc 1 891 17 view .LVU947
6007
 3588 0044 1020     		movs	r0, #16
6008
 3589              	.L180:
6009
 3590              	.LVL444:
6010
 894:../libBME280/src/bme280.c ****         (uint32_t)((BME280_MEAS_OFFSET + (BME280_MEAS_DUR * temp_osr) +
6011
 3591              		.loc 1 894 5 is_stmt 1 view .LVU948
6012
 895:../libBME280/src/bme280.c ****                     ((BME280_MEAS_DUR * pres_osr) + BME280_PRES_HUM_MEAS_OFFSET) +
6013
 3592              		.loc 1 895 59 is_stmt 0 view .LVU949
6014
 3593 0046 40F6FC02 		movw	r2, #2300
6015
 3594 004a 02FB03F3 		mul	r3, r2, r3
6016
 3595              	.LVL445:
6017
 895:../libBME280/src/bme280.c ****                     ((BME280_MEAS_DUR * pres_osr) + BME280_PRES_HUM_MEAS_OFFSET) +
6018
 3596              		.loc 1 895 40 view .LVU950
6019
 3597 004e 03F2E243 		addw	r3, r3, #1250
6020
 896:../libBME280/src/bme280.c ****                     ((BME280_MEAS_DUR * hum_osr) + BME280_PRES_HUM_MEAS_OFFSET)) / BME280_MEAS_SCAL
6021
 3598              		.loc 1 896 39 view .LVU951
6022
 3599 0052 02FB01F1 		mul	r1, r2, r1
6023
 3600              	.LVL446:
6024
 896:../libBME280/src/bme280.c ****                     ((BME280_MEAS_DUR * hum_osr) + BME280_PRES_HUM_MEAS_OFFSET)) / BME280_MEAS_SCAL
6025
 3601              		.loc 1 896 51 view .LVU952
6026
 3602 0056 01F23F21 		addw	r1, r1, #575
6027
 895:../libBME280/src/bme280.c ****                     ((BME280_MEAS_DUR * pres_osr) + BME280_PRES_HUM_MEAS_OFFSET) +
6028
 3603              		.loc 1 895 71 view .LVU953
6029
 3604 005a 0B44     		add	r3, r3, r1
6030
 897:../libBME280/src/bme280.c **** 
6031
 3605              		.loc 1 897 39 view .LVU954
6032
 3606 005c 02FB00F2 		mul	r2, r2, r0
6033
 897:../libBME280/src/bme280.c **** 
6034
 3607              		.loc 1 897 50 view .LVU955
6035
 3608 0060 02F23F20 		addw	r0, r2, #575
6036
 3609              	.LVL447:
6037
 896:../libBME280/src/bme280.c ****                     ((BME280_MEAS_DUR * hum_osr) + BME280_PRES_HUM_MEAS_OFFSET)) / BME280_MEAS_SCAL
6038
 3610              		.loc 1 896 82 view .LVU956
6039
 3611 0064 0344     		add	r3, r3, r0
6040
 897:../libBME280/src/bme280.c **** 
6041
 3612              		.loc 1 897 82 view .LVU957
6042
 3613 0066 0548     		ldr	r0, .L185+4
6043
 3614 0068 80FB0320 		smull	r2, r0, r0, r3
6044
 3615 006c DB17     		asrs	r3, r3, #31
6045
 3616              	.LVL448:
6046
 899:../libBME280/src/bme280.c **** }
6047
 3617              		.loc 1 899 5 is_stmt 1 view .LVU958
6048
 900:../libBME280/src/bme280.c **** 
6049
 3618              		.loc 1 900 1 is_stmt 0 view .LVU959
6050
 3619 006e C3EBA010 		rsb	r0, r3, r0, asr #6
6051
 3620              	.LVL449:
6052
 900:../libBME280/src/bme280.c **** 
6053
 3621              		.loc 1 900 1 view .LVU960
6054
 3622 0072 02B0     		add	sp, sp, #8
6055
 3623              	.LCFI69:
6056
 3624              		.cfi_def_cfa_offset 0
6057
 3625              		@ sp needed
6058
 3626 0074 7047     		bx	lr
6059
 3627              	.L186:
6060
 3628 0076 00BF     		.align	2
6061
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 102
6062
 
6063
 
6064
 3629              	.L185:
6065
 3630 0078 00000000 		.word	.LANCHOR0
6066
 3631 007c D34D6210 		.word	274877907
6067
 3632              		.cfi_endproc
6068
 3633              	.LFE11:
6069
 3635              		.section	.rodata
6070
 3636              		.align	2
6071
 3637              		.set	.LANCHOR0,. + 0
6072
 3638              	.LC0:
6073
 3639 0000 00       		.byte	0
6074
 3640 0001 01       		.byte	1
6075
 3641 0002 02       		.byte	2
6076
 3642 0003 04       		.byte	4
6077
 3643 0004 08       		.byte	8
6078
 3644 0005 10       		.byte	16
6079
 3645              		.text
6080
 3646              	.Letext0:
6081
 3647              		.file 2 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
6082
 3648              		.file 3 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
6083
 3649              		.file 4 "../libBME280/inc/libBME280/bme280_defs.h"
6084
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 103
6085
 
6086
 
6087
DEFINED SYMBOLS
6088
                            *ABS*:0000000000000000 bme280.c
6089
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:16     .text.fill_filter_settings:0000000000000000 $t
6090
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:23     .text.fill_filter_settings:0000000000000000 fill_filter_settings
6091
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:48     .text.fill_standby_settings:0000000000000000 $t
6092
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:54     .text.fill_standby_settings:0000000000000000 fill_standby_settings
6093
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:76     .text.fill_osr_press_settings:0000000000000000 $t
6094
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:82     .text.fill_osr_press_settings:0000000000000000 fill_osr_press_settings
6095
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:106    .text.fill_osr_temp_settings:0000000000000000 $t
6096
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:112    .text.fill_osr_temp_settings:0000000000000000 fill_osr_temp_settings
6097
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:134    .text.parse_device_settings:0000000000000000 $t
6098
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:140    .text.parse_device_settings:0000000000000000 parse_device_settings
6099
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:193    .text.compensate_temperature:0000000000000000 $t
6100
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:199    .text.compensate_temperature:0000000000000000 compensate_temperature
6101
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:396    .text.compensate_temperature:00000000000000ec $d
6102
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:407    .text.compensate_pressure:0000000000000000 $t
6103
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:413    .text.compensate_pressure:0000000000000000 compensate_pressure
6104
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:788    .text.compensate_pressure:0000000000000218 $d
6105
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:806    .text.compensate_humidity:0000000000000000 $t
6106
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:812    .text.compensate_humidity:0000000000000000 compensate_humidity
6107
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:1089   .text.compensate_humidity:000000000000015c $d
6108
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:1100   .text.interleave_reg_addr:0000000000000000 $t
6109
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:1106   .text.interleave_reg_addr:0000000000000000 interleave_reg_addr
6110
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:1168   .text.parse_temp_press_calib_data:0000000000000000 $t
6111
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:1174   .text.parse_temp_press_calib_data:0000000000000000 parse_temp_press_calib_data
6112
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:1287   .text.parse_humidity_calib_data:0000000000000000 $t
6113
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:1293   .text.parse_humidity_calib_data:0000000000000000 parse_humidity_calib_data
6114
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:1371   .text.are_settings_changed:0000000000000000 $t
6115
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:1377   .text.are_settings_changed:0000000000000000 are_settings_changed
6116
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:1407   .text.null_ptr_check:0000000000000000 $t
6117
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:1413   .text.null_ptr_check:0000000000000000 null_ptr_check
6118
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:1475   .text.bme280_get_regs:0000000000000000 $t
6119
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:1482   .text.bme280_get_regs:0000000000000000 bme280_get_regs
6120
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:1570   .text.get_calib_data:0000000000000000 $t
6121
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:1576   .text.get_calib_data:0000000000000000 get_calib_data
6122
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:1669   .text.bme280_set_regs:0000000000000000 $t
6123
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:1676   .text.bme280_set_regs:0000000000000000 bme280_set_regs
6124
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:1847   .text.set_osr_humidity_settings:0000000000000000 $t
6125
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:1853   .text.set_osr_humidity_settings:0000000000000000 set_osr_humidity_settings
6126
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:1951   .text.set_osr_press_temp_settings:0000000000000000 $t
6127
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:1957   .text.set_osr_press_temp_settings:0000000000000000 set_osr_press_temp_settings
6128
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:2055   .text.set_osr_settings:0000000000000000 $t
6129
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:2061   .text.set_osr_settings:0000000000000000 set_osr_settings
6130
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:2127   .text.set_filter_standby_settings:0000000000000000 $t
6131
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:2133   .text.set_filter_standby_settings:0000000000000000 set_filter_standby_settings
6132
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:2231   .text.reload_device_settings:0000000000000000 $t
6133
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:2237   .text.reload_device_settings:0000000000000000 reload_device_settings
6134
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:2295   .text.write_power_mode:0000000000000000 $t
6135
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:2301   .text.write_power_mode:0000000000000000 write_power_mode
6136
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:2383   .text.bme280_get_sensor_settings:0000000000000000 $t
6137
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:2390   .text.bme280_get_sensor_settings:0000000000000000 bme280_get_sensor_settings
6138
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:2460   .text.bme280_get_sensor_mode:0000000000000000 $t
6139
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:2467   .text.bme280_get_sensor_mode:0000000000000000 bme280_get_sensor_mode
6140
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:2536   .text.bme280_soft_reset:0000000000000000 $t
6141
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:2543   .text.bme280_soft_reset:0000000000000000 bme280_soft_reset
6142
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:2671   .text.bme280_init:0000000000000000 $t
6143
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:2678   .text.bme280_init:0000000000000000 bme280_init
6144
ARM GAS  C:\Users\mike\AppData\Local\Temp\cci3lQTU.s 			page 104
6145
 
6146
 
6147
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:2812   .text.put_device_to_sleep:0000000000000000 $t
6148
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:2818   .text.put_device_to_sleep:0000000000000000 put_device_to_sleep
6149
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:2900   .text.bme280_set_sensor_settings:0000000000000000 $t
6150
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:2907   .text.bme280_set_sensor_settings:0000000000000000 bme280_set_sensor_settings
6151
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:3038   .text.bme280_set_sensor_mode:0000000000000000 $t
6152
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:3045   .text.bme280_set_sensor_mode:0000000000000000 bme280_set_sensor_mode
6153
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:3142   .text.bme280_parse_sensor_data:0000000000000000 $t
6154
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:3149   .text.bme280_parse_sensor_data:0000000000000000 bme280_parse_sensor_data
6155
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:3236   .text.bme280_compensate_data:0000000000000000 $t
6156
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:3243   .text.bme280_compensate_data:0000000000000000 bme280_compensate_data
6157
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:3387   .text.bme280_get_sensor_data:0000000000000000 $t
6158
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:3394   .text.bme280_get_sensor_data:0000000000000000 bme280_get_sensor_data
6159
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:3498   .text.bme280_cal_meas_delay:0000000000000000 $t
6160
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:3505   .text.bme280_cal_meas_delay:0000000000000000 bme280_cal_meas_delay
6161
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:3630   .text.bme280_cal_meas_delay:0000000000000078 $d
6162
C:\Users\mike\AppData\Local\Temp\cci3lQTU.s:3636   .rodata:0000000000000000 $d
6163
 
6164
UNDEFINED SYMBOLS
6165
__aeabi_ui2d
6166
__aeabi_dmul
6167
__aeabi_dsub
6168
__aeabi_i2d
6169
__aeabi_dadd
6170
__aeabi_d2iz
6171
__aeabi_ddiv
6172
__aeabi_dcmplt
6173
__aeabi_dcmpgt