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(®_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(®_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(®_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, ®_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(®_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(®_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(®_addr, ®_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, ®_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(®_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(®_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(®_addr, ®_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(®_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 |