ARM GAS C:\Users\mike\AppData\Local\Temp\ccfleqTK.s page 1
1 .cpu cortex-m3
2 .eabi_attribute 20, 1
3 .eabi_attribute 21, 1
4 .eabi_attribute 23, 3
5 .eabi_attribute 24, 1
6 .eabi_attribute 25, 1
7 .eabi_attribute 26, 1
8 .eabi_attribute 30, 1
9 .eabi_attribute 34, 1
10 .eabi_attribute 18, 4
11 .file "display.cpp"
12 .text
13 .Ltext0:
14 .cfi_sections .debug_frame
15 .section .text._Z41__static_initialization_and_destruction_0ii,"ax",%progbits
16 .align 1
17 .arch armv7-m
18 .syntax unified
19 .thumb
20 .thumb_func
21 .fpu softvfp
23 _Z41__static_initialization_and_destruction_0ii:
24 .LVL0:
25 .LFB98:
26 .file 1 "src/display.cpp"
1:src/display.cpp **** #include "main.h"
2:src/display.cpp **** #include "libNMEA/nmea.h"
3:src/display.cpp **** #include <cstring>
4:src/display.cpp **** #include "libOLED/stm32_halDisplay.H"
5:src/display.cpp **** #include "libOLED/fontclass.H"
6:src/display.cpp **** #include "libOLED/displayDial.H"
7:src/display.cpp ****
8:src/display.cpp **** #include "libBME280/bme280.h"
9:src/display.cpp ****
10:src/display.cpp **** #include "libSmallPrintf/small_printf.h"
11:src/display.cpp ****
12:src/display.cpp **** #if defined USB_DEVICE
13:src/display.cpp **** #include "usbd_cdc_if.h"
14:src/display.cpp **** #endif
15:src/display.cpp ****
16:src/display.cpp **** namespace
17:src/display.cpp **** {
18:src/display.cpp **** int const WIDTH = 128;
19:src/display.cpp **** int const HEIGHT = 64;
20:src/display.cpp **** int const DISPLAY_RAMWIDTH = 132;
21:src/display.cpp ****
22:src/display.cpp **** }
23:src/display.cpp ****
24:src/display.cpp **** float speedMPH = 0.0;
25:src/display.cpp **** float speedAVG = 0.0;
26:src/display.cpp **** int speedTimer = 0;
27:src/display.cpp **** float speedDist = 0.0;
28:src/display.cpp ****
29:src/display.cpp **** int heading = 0;
30:src/display.cpp **** Location loc;
31:src/display.cpp ****
32:src/display.cpp **** uint32_t lastTick = 0;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccfleqTK.s page 2
33:src/display.cpp **** int32_t rslt;
34:src/display.cpp ****
35:src/display.cpp **** uint8_t displayBuffer[dataSize (WIDTH, HEIGHT)];
36:src/display.cpp ****
37:src/display.cpp **** stm32_halDisplay_t display1 (WIDTH, HEIGHT, DISPLAY_RAMWIDTH, displayBuffer,
38:src/display.cpp **** &hspi1,
39:src/display.cpp ****
40:src/display.cpp **** SPI_CD_GPIO_Port,
41:src/display.cpp **** SPI_CD_Pin,
42:src/display.cpp **** SPI_RESET_GPIO_Port,
43:src/display.cpp **** SPI_RESET_Pin,
44:src/display.cpp **** SPI_NSS1_GPIO_Port,
45:src/display.cpp **** SPI_NSS1_Pin);
46:src/display.cpp ****
47:src/display.cpp **** displayDial_t dial (display1, 96, 32, 32, 180);
48:src/display.cpp ****
49:src/display.cpp **** extern "C" void
50:src/display.cpp **** cc_init ()
51:src/display.cpp **** {
52:src/display.cpp **** display1.reset ();
53:src/display.cpp ****
54:src/display.cpp **** display1.init ();
55:src/display.cpp **** display1.clearDisplay ();
56:src/display.cpp ****
57:src/display.cpp **** dial.draw_scale (0, 360, 8, 1, 45);
58:src/display.cpp ****
59:src/display.cpp **** display1.display ();
60:src/display.cpp ****
61:src/display.cpp **** memset (loc.time, '-', 6);
62:src/display.cpp **** }
63:src/display.cpp ****
64:src/display.cpp **** char fontBuf[] = "01234567";
65:src/display.cpp **** extern "C" void
66:src/display.cpp **** cc_run (struct bme280_dev *dev)
67:src/display.cpp ****
68:src/display.cpp **** {
69:src/display.cpp ****
70:src/display.cpp **** display1.clearDisplay ();
71:src/display.cpp **** dial.draw_scale (0, 360, 8, 1, 45);
72:src/display.cpp ****
73:src/display.cpp **** bool stat = updateLocation (&loc, &uc1);
74:src/display.cpp **** if (loc.good)
75:src/display.cpp **** {
76:src/display.cpp **** heading = loc.heading;
77:src/display.cpp ****
78:src/display.cpp **** loc.good = false;
79:src/display.cpp **** }
80:src/display.cpp **** if (loc.valid == 'V')
81:src/display.cpp **** memset (loc.time, '-', 6);
82:src/display.cpp ****
83:src/display.cpp **** // print out the GMT time at the top of the screen
84:src/display.cpp **** display1.gotoxy (0, 0);
85:src/display.cpp **** display1.printString (small_font, &loc.time[0], 2, WHITE);
86:src/display.cpp **** display1.printString (small_font, ":", 1, WHITE);
87:src/display.cpp **** display1.printString (small_font, &loc.time[2], 2, WHITE);
88:src/display.cpp ****
89:src/display.cpp **** display1.printString (small_font, ":", 1, WHITE);
ARM GAS C:\Users\mike\AppData\Local\Temp\ccfleqTK.s page 3
90:src/display.cpp **** display1.printString (small_font, &loc.time[4], 2, WHITE);
91:src/display.cpp **** int dial_ang = heading + 180;
92:src/display.cpp **** dial.draw_needle (dial_ang);
93:src/display.cpp ****
94:src/display.cpp **** display1.gotoxy (70, 25);
95:src/display.cpp **** if (loc.valid == 'A')
96:src/display.cpp **** {
97:src/display.cpp **** display1.fontDigits (large_font, 3, -1, heading);
98:src/display.cpp **** }
99:src/display.cpp **** else
100:src/display.cpp **** display1.printString (large_font, "GPS?", 4, WHITE);
101:src/display.cpp ****
102:src/display.cpp **** if (loc.valid == 'A')
103:src/display.cpp **** speedMPH = loc.speed / 1.815;
104:src/display.cpp ****
105:src/display.cpp **** display1.gotoxy (0, 8);
106:src/display.cpp **** display1.printString (small_font, "Speed", 5, WHITE);
107:src/display.cpp **** display1.gotoxy (0, 16);
108:src/display.cpp **** display1.fontDigits (large_font, 4, 1, speedMPH * 10);
109:src/display.cpp ****
110:src/display.cpp **** display1.gotoxy (0, 32);
111:src/display.cpp **** display1.printString (small_font, "Average", 7, WHITE);
112:src/display.cpp **** display1.gotoxy (0, 40);
113:src/display.cpp **** display1.fontDigits (large_font, 4, 1, speedAVG * 10);
114:src/display.cpp ****
115:src/display.cpp **** if (HAL_GetTick () - lastTick > 100)
116:src/display.cpp **** {
117:src/display.cpp **** lastTick = HAL_GetTick ();
118:src/display.cpp ****
119:src/display.cpp **** // storage for readings
120:src/display.cpp **** struct bme280_data comp_data;
121:src/display.cpp ****
122:src/display.cpp **** rslt = bme280_get_sensor_data (BME280_ALL, &comp_data, dev);
123:src/display.cpp **** if (rslt == BME280_OK)
124:src/display.cpp **** {
125:src/display.cpp ****
126:src/display.cpp **** float temp, press, hum;
127:src/display.cpp ****
128:src/display.cpp **** #ifdef BME280_FLOAT_ENABLE
129:src/display.cpp **** temp = comp_data.temperature;
130:src/display.cpp **** press = 0.01 * comp_data.pressure;
131:src/display.cpp **** hum = comp_data.humidity;
132:src/display.cpp **** #else
133:src/display.cpp **** #ifdef BME280_64BIT_ENABLE
134:src/display.cpp **** temp = 0.01f * comp_data.temperature;
135:src/display.cpp **** press = 0.0001f * comp_data.pressure;
136:src/display.cpp **** hum = 1.0f / 1024.0f * comp_data.humidity;
137:src/display.cpp **** #else
138:src/display.cpp **** temp = 0.01f * comp_data.temperature;
139:src/display.cpp **** press = 0.01f * comp_data.pressure;
140:src/display.cpp **** hum = 1.0f / 1024.0f * comp_data.humidity;
141:src/display.cpp **** #endif
142:src/display.cpp **** #endif
143:src/display.cpp ****
144:src/display.cpp **** uint32_t temp32 = 0;
145:src/display.cpp **** uint32_t press32 = 0;
146:src/display.cpp **** uint32_t hum32 = 0;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccfleqTK.s page 4
147:src/display.cpp ****
148:src/display.cpp **** #if defined USB_DEVICE
149:src/display.cpp **** /*
150:src/display.cpp **** * $--XDR,a,x.x,a,c--c, ..... *hh<CR><LF> \\
151:src/display.cpp ****
152:src/display.cpp **** Field Number:
153:src/display.cpp **** 1) Transducer Type
154:src/display.cpp **** 2) Measurement Data
155:src/display.cpp **** 3) Units of measurement
156:src/display.cpp **** 4) Name of transducer
157:src/display.cpp **** x) More of the same
158:src/display.cpp **** n) Checksum
159:src/display.cpp ****
160:src/display.cpp **** Example:
161:src/display.cpp **** $IIXDR,C,19.52,C,TempAir*19
162:src/display.cpp **** $IIXDR,P,1.02481,B,Barometer*29
163:src/display.cpp ****
164:src/display.cpp **** Currently, OpenCPN recognizes the following transducers:
165:src/display.cpp ****
166:src/display.cpp **** Measured Value | Transducer Type | Measured Data | Unit of measure | Transducer Name
167:src/display.cpp **** -------------------------------------------------------------------------------------------------
168:src/display.cpp **** barometric | "P" pressure | 0.8..1.1 or 800..1100 | "B" bar | "Barometer
169:src/display.cpp **** air temperature| "C" temperature | 2 decimals | "C" celsius | "TempAir"
170:src/display.cpp **** pitch | "A" angle |-180..0 nose down 0..180 nose up | "D" degrees | "PTCH" or
171:src/display.cpp **** rolling | "A" angle |-180..0 L 0..180 R | "D" degrees | "ROLL"
172:src/display.cpp **** water temp | "C" temperature | 2 decimals | "C" celsius | "ENV_WATER
173:src/display.cpp **** */
174:src/display.cpp **** // compile a logger message over USB
175:src/display.cpp **** char buffer[200];
176:src/display.cpp **** int cnt = small_sprintf(buffer,"$MJXDR,C,%ld.%02ld,C,AirTemp,P,%01ld.%05ld,B,AirPres",temp32/100,t
177:src/display.cpp **** uint8_t sum=0;
178:src/display.cpp **** for(int i=1; i<cnt; i++)
179:src/display.cpp **** sum += buffer[i];
180:src/display.cpp **** cnt+= small_sprintf(buffer+cnt,"*%02X\n",sum);
181:src/display.cpp ****
182:src/display.cpp **** CDC_Transmit_FS(reinterpret_cast<uint8_t*>(&buffer[0]),cnt);
183:src/display.cpp **** #endif
184:src/display.cpp ****
185:src/display.cpp **** display1.gotoxy (0, 56);
186:src/display.cpp **** display1.printString (small_font, "T", 2, WHITE);
187:src/display.cpp **** display1.fontDigits (small_font, 4, 1, temp32 / 10, WHITE);
188:src/display.cpp **** display1.printString (small_font, " P", 2, WHITE);
189:src/display.cpp **** display1.fontDigits (small_font, 5, 0, press32 / 100, WHITE);
190:src/display.cpp **** display1.printString (small_font, " ", 1, WHITE);
191:src/display.cpp ****
192:src/display.cpp **** display1.display ();
193:src/display.cpp **** }
194:src/display.cpp **** }
195:src/display.cpp **** }
27 .loc 1 195 1 view -0
28 .cfi_startproc
29 @ args = 0, pretend = 0, frame = 0
30 @ frame_needed = 0, uses_anonymous_args = 0
31 .loc 1 195 1 is_stmt 0 view .LVU1
32 0000 0128 cmp r0, #1
33 0002 00D0 beq .L7
34 .L4:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccfleqTK.s page 5
35 0004 7047 bx lr
36 .L7:
37 .loc 1 195 1 discriminator 1 view .LVU2
38 0006 4FF6FF73 movw r3, #65535
39 000a 9942 cmp r1, r3
40 000c FAD1 bne .L4
41 .loc 1 195 1 view .LVU3
42 000e 10B5 push {r4, lr}
43 .LCFI0:
44 .cfi_def_cfa_offset 8
45 .cfi_offset 4, -8
46 .cfi_offset 14, -4
47 0010 88B0 sub sp, sp, #32
48 .LCFI1:
49 .cfi_def_cfa_offset 40
45:src/display.cpp ****
50 .loc 1 45 21 view .LVU4
51 0012 134C ldr r4, .L8
52 0014 4022 movs r2, #64
53 0016 0792 str r2, [sp, #28]
54 0018 03F18043 add r3, r3, #1073741824
55 001c 03F60103 addw r3, r3, #2049
56 0020 0693 str r3, [sp, #24]
57 0022 1021 movs r1, #16
58 .LVL1:
45:src/display.cpp ****
59 .loc 1 45 21 view .LVU5
60 0024 0591 str r1, [sp, #20]
61 0026 0493 str r3, [sp, #16]
62 0028 0821 movs r1, #8
63 002a 0391 str r1, [sp, #12]
64 002c 0293 str r3, [sp, #8]
65 002e 0D4B ldr r3, .L8+4
66 0030 0193 str r3, [sp, #4]
67 0032 0D4B ldr r3, .L8+8
68 0034 0093 str r3, [sp]
69 0036 8423 movs r3, #132
70 0038 8021 movs r1, #128
71 003a 2046 mov r0, r4
72 .LVL2:
45:src/display.cpp ****
73 .loc 1 45 21 view .LVU6
74 003c FFF7FEFF bl _ZN18stm32_halDisplay_tC1EiiiPhP19__SPI_HandleTypeDefP12GPIO_TypeDeftS4_tS4_t
75 .LVL3:
37:src/display.cpp **** &hspi1,
76 .loc 1 37 20 view .LVU7
77 0040 0A4A ldr r2, .L8+12
78 0042 0B49 ldr r1, .L8+16
79 0044 2046 mov r0, r4
80 0046 FFF7FEFF bl __aeabi_atexit
81 .LVL4:
47:src/display.cpp ****
82 .loc 1 47 46 view .LVU8
83 004a B423 movs r3, #180
84 004c 0193 str r3, [sp, #4]
85 004e 2023 movs r3, #32
86 0050 0093 str r3, [sp]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccfleqTK.s page 6
87 0052 6022 movs r2, #96
88 0054 2146 mov r1, r4
89 0056 0748 ldr r0, .L8+20
90 0058 FFF7FEFF bl _ZN13displayDial_tC1ER9display_thhht
91 .LVL5:
92 .loc 1 195 1 view .LVU9
93 005c 08B0 add sp, sp, #32
94 .LCFI2:
95 .cfi_def_cfa_offset 8
96 @ sp needed
97 005e 10BD pop {r4, pc}
98 .L9:
99 .align 2
100 .L8:
101 0060 00000000 .word .LANCHOR0
102 0064 00000000 .word hspi1
103 0068 00000000 .word .LANCHOR1
104 006c 00000000 .word __dso_handle
105 0070 00000000 .word _ZN18stm32_halDisplay_tD1Ev
106 0074 00000000 .word .LANCHOR2
107 .cfi_endproc
108 .LFE98:
110 .section .text._ZN18stm32_halDisplay_tD2Ev,"axG",%progbits,_ZN18stm32_halDisplay_tD5Ev,comdat
111 .align 1
112 .weak _ZN18stm32_halDisplay_tD2Ev
113 .syntax unified
114 .thumb
115 .thumb_func
116 .fpu softvfp
118 _ZN18stm32_halDisplay_tD2Ev:
119 .LVL6:
120 .LFB100:
121 .file 2 "../libOLED/inc/libOLED/stm32_halDisplay.H"
1:../libOLED/inc/libOLED/stm32_halDisplay.H **** /*
2:../libOLED/inc/libOLED/stm32_halDisplay.H **** * stm32_halDisplay.H
3:../libOLED/inc/libOLED/stm32_halDisplay.H **** *
4:../libOLED/inc/libOLED/stm32_halDisplay.H **** * Created on: 1 Nov 2020
5:../libOLED/inc/libOLED/stm32_halDisplay.H **** * Author: mike
6:../libOLED/inc/libOLED/stm32_halDisplay.H **** */
7:../libOLED/inc/libOLED/stm32_halDisplay.H ****
8:../libOLED/inc/libOLED/stm32_halDisplay.H **** #pragma once
9:../libOLED/inc/libOLED/stm32_halDisplay.H ****
10:../libOLED/inc/libOLED/stm32_halDisplay.H **** #include "main.h"
11:../libOLED/inc/libOLED/stm32_halDisplay.H ****
12:../libOLED/inc/libOLED/stm32_halDisplay.H **** #include "libOLED/displayclass.H"
13:../libOLED/inc/libOLED/stm32_halDisplay.H ****
14:../libOLED/inc/libOLED/stm32_halDisplay.H **** class stm32_halDisplay_t : public display_t
122 .loc 2 14 7 is_stmt 1 view -0
123 .cfi_startproc
124 @ args = 0, pretend = 0, frame = 0
125 @ frame_needed = 0, uses_anonymous_args = 0
126 .loc 2 14 7 is_stmt 0 view .LVU11
127 0000 10B5 push {r4, lr}
128 .LCFI3:
129 .cfi_def_cfa_offset 8
130 .cfi_offset 4, -8
131 .cfi_offset 14, -4
ARM GAS C:\Users\mike\AppData\Local\Temp\ccfleqTK.s page 7
132 0002 0446 mov r4, r0
133 .LBB24:
134 .loc 2 14 7 view .LVU12
135 0004 024B ldr r3, .L12
136 0006 0360 str r3, [r0]
137 0008 FFF7FEFF bl _ZN9display_tD2Ev
138 .LVL7:
139 .loc 2 14 7 view .LVU13
140 .LBE24:
141 000c 2046 mov r0, r4
142 000e 10BD pop {r4, pc}
143 .LVL8:
144 .L13:
145 .loc 2 14 7 view .LVU14
146 .align 2
147 .L12:
148 0010 08000000 .word _ZTV18stm32_halDisplay_t+8
149 .cfi_endproc
150 .LFE100:
152 .weak _ZN18stm32_halDisplay_tD1Ev
153 .thumb_set _ZN18stm32_halDisplay_tD1Ev,_ZN18stm32_halDisplay_tD2Ev
154 .section .text.cc_init,"ax",%progbits
155 .align 1
156 .global cc_init
157 .syntax unified
158 .thumb
159 .thumb_func
160 .fpu softvfp
162 cc_init:
163 .LFB96:
51:src/display.cpp **** display1.reset ();
164 .loc 1 51 1 is_stmt 1 view -0
165 .cfi_startproc
166 @ args = 0, pretend = 0, frame = 0
167 @ frame_needed = 0, uses_anonymous_args = 0
168 0000 10B5 push {r4, lr}
169 .LCFI4:
170 .cfi_def_cfa_offset 8
171 .cfi_offset 4, -8
172 .cfi_offset 14, -4
173 0002 82B0 sub sp, sp, #8
174 .LCFI5:
175 .cfi_def_cfa_offset 16
52:src/display.cpp ****
176 .loc 1 52 3 view .LVU16
52:src/display.cpp ****
177 .loc 1 52 18 is_stmt 0 view .LVU17
178 0004 104C ldr r4, .L16
179 0006 2046 mov r0, r4
180 0008 FFF7FEFF bl _ZN9display_t5resetEv
181 .LVL9:
54:src/display.cpp **** display1.clearDisplay ();
182 .loc 1 54 3 is_stmt 1 view .LVU18
54:src/display.cpp **** display1.clearDisplay ();
183 .loc 1 54 17 is_stmt 0 view .LVU19
184 000c 2046 mov r0, r4
185 000e FFF7FEFF bl _ZN9display_t4initEv
ARM GAS C:\Users\mike\AppData\Local\Temp\ccfleqTK.s page 8
186 .LVL10:
55:src/display.cpp ****
187 .loc 1 55 3 is_stmt 1 view .LVU20
55:src/display.cpp ****
188 .loc 1 55 25 is_stmt 0 view .LVU21
189 0012 0021 movs r1, #0
190 0014 2046 mov r0, r4
191 0016 FFF7FEFF bl _ZN9display_t12clearDisplayE8colour_t
192 .LVL11:
57:src/display.cpp ****
193 .loc 1 57 3 is_stmt 1 view .LVU22
57:src/display.cpp ****
194 .loc 1 57 19 is_stmt 0 view .LVU23
195 001a 2D23 movs r3, #45
196 001c 0193 str r3, [sp, #4]
197 001e 0123 movs r3, #1
198 0020 0093 str r3, [sp]
199 0022 0823 movs r3, #8
200 0024 4FF4B472 mov r2, #360
201 0028 0021 movs r1, #0
202 002a 0848 ldr r0, .L16+4
203 002c FFF7FEFF bl _ZN13displayDial_t10draw_scaleEsshhs
204 .LVL12:
59:src/display.cpp ****
205 .loc 1 59 3 is_stmt 1 view .LVU24
59:src/display.cpp ****
206 .loc 1 59 20 is_stmt 0 view .LVU25
207 0030 2046 mov r0, r4
208 0032 FFF7FEFF bl _ZN9display_t7displayEv
209 .LVL13:
61:src/display.cpp **** }
210 .loc 1 61 3 is_stmt 1 view .LVU26
61:src/display.cpp **** }
211 .loc 1 61 10 is_stmt 0 view .LVU27
212 0036 064B ldr r3, .L16+8
213 0038 4FF02D32 mov r2, #757935405
214 003c C3F80120 str r2, [r3, #1] @ unaligned
215 0040 A3F80520 strh r2, [r3, #5] @ unaligned
62:src/display.cpp ****
216 .loc 1 62 1 view .LVU28
217 0044 02B0 add sp, sp, #8
218 .LCFI6:
219 .cfi_def_cfa_offset 8
220 @ sp needed
221 0046 10BD pop {r4, pc}
222 .L17:
223 .align 2
224 .L16:
225 0048 00000000 .word .LANCHOR0
226 004c 00000000 .word .LANCHOR2
227 0050 00000000 .word .LANCHOR3
228 .cfi_endproc
229 .LFE96:
231 .global __aeabi_f2iz
232 .global __aeabi_f2d
233 .global __aeabi_ddiv
234 .global __aeabi_d2f
ARM GAS C:\Users\mike\AppData\Local\Temp\ccfleqTK.s page 9
235 .global __aeabi_fmul
236 .section .text.cc_run,"ax",%progbits
237 .align 1
238 .global cc_run
239 .syntax unified
240 .thumb
241 .thumb_func
242 .fpu softvfp
244 cc_run:
245 .LVL14:
246 .LFB97:
68:src/display.cpp ****
247 .loc 1 68 1 is_stmt 1 view -0
248 .cfi_startproc
249 @ args = 0, pretend = 0, frame = 224
250 @ frame_needed = 0, uses_anonymous_args = 0
68:src/display.cpp ****
251 .loc 1 68 1 is_stmt 0 view .LVU30
252 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr}
253 .LCFI7:
254 .cfi_def_cfa_offset 28
255 .cfi_offset 4, -28
256 .cfi_offset 5, -24
257 .cfi_offset 6, -20
258 .cfi_offset 7, -16
259 .cfi_offset 8, -12
260 .cfi_offset 9, -8
261 .cfi_offset 14, -4
262 0004 BBB0 sub sp, sp, #236
263 .LCFI8:
264 .cfi_def_cfa_offset 264
265 0006 8046 mov r8, r0
70:src/display.cpp **** dial.draw_scale (0, 360, 8, 1, 45);
266 .loc 1 70 3 is_stmt 1 view .LVU31
70:src/display.cpp **** dial.draw_scale (0, 360, 8, 1, 45);
267 .loc 1 70 25 is_stmt 0 view .LVU32
268 0008 0021 movs r1, #0
269 000a 9948 ldr r0, .L33+8
270 .LVL15:
70:src/display.cpp **** dial.draw_scale (0, 360, 8, 1, 45);
271 .loc 1 70 25 view .LVU33
272 000c FFF7FEFF bl _ZN9display_t12clearDisplayE8colour_t
273 .LVL16:
71:src/display.cpp ****
274 .loc 1 71 3 is_stmt 1 view .LVU34
71:src/display.cpp ****
275 .loc 1 71 19 is_stmt 0 view .LVU35
276 0010 2D23 movs r3, #45
277 0012 0193 str r3, [sp, #4]
278 0014 0123 movs r3, #1
279 0016 0093 str r3, [sp]
280 0018 0823 movs r3, #8
281 001a 4FF4B472 mov r2, #360
282 001e 0021 movs r1, #0
283 0020 9448 ldr r0, .L33+12
284 0022 FFF7FEFF bl _ZN13displayDial_t10draw_scaleEsshhs
285 .LVL17:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccfleqTK.s page 10
73:src/display.cpp **** if (loc.good)
286 .loc 1 73 3 is_stmt 1 view .LVU36
73:src/display.cpp **** if (loc.good)
287 .loc 1 73 30 is_stmt 0 view .LVU37
288 0026 944C ldr r4, .L33+16
289 0028 9449 ldr r1, .L33+20
290 002a 2046 mov r0, r4
291 002c FFF7FEFF bl updateLocation
292 .LVL18:
74:src/display.cpp **** {
293 .loc 1 74 3 is_stmt 1 view .LVU38
74:src/display.cpp **** {
294 .loc 1 74 11 is_stmt 0 view .LVU39
295 0030 E37B ldrb r3, [r4, #15] @ zero_extendqisi2
74:src/display.cpp **** {
296 .loc 1 74 3 view .LVU40
297 0032 33B1 cbz r3, .L19
76:src/display.cpp ****
298 .loc 1 76 7 is_stmt 1 view .LVU41
76:src/display.cpp ****
299 .loc 1 76 15 is_stmt 0 view .LVU42
300 0034 E069 ldr r0, [r4, #28] @ float
301 0036 FFF7FEFF bl __aeabi_f2iz
302 .LVL19:
303 003a 914B ldr r3, .L33+24
304 003c 1860 str r0, [r3]
78:src/display.cpp **** }
305 .loc 1 78 7 is_stmt 1 view .LVU43
78:src/display.cpp **** }
306 .loc 1 78 16 is_stmt 0 view .LVU44
307 003e 0023 movs r3, #0
308 0040 E373 strb r3, [r4, #15]
309 .L19:
80:src/display.cpp **** memset (loc.time, '-', 6);
310 .loc 1 80 3 is_stmt 1 view .LVU45
80:src/display.cpp **** memset (loc.time, '-', 6);
311 .loc 1 80 11 is_stmt 0 view .LVU46
312 0042 8D4B ldr r3, .L33+16
313 0044 1B78 ldrb r3, [r3] @ zero_extendqisi2
80:src/display.cpp **** memset (loc.time, '-', 6);
314 .loc 1 80 3 view .LVU47
315 0046 562B cmp r3, #86
316 0048 00F08E80 beq .L29
317 .L20:
84:src/display.cpp **** display1.printString (small_font, &loc.time[0], 2, WHITE);
318 .loc 1 84 3 is_stmt 1 view .LVU48
319 .LVL20:
320 .LBB25:
321 .LBI25:
322 .file 3 "../libOLED/inc/libOLED/displayclass.H"
1:../libOLED/inc/libOLED/displayclass.H **** /*
2:../libOLED/inc/libOLED/displayclass.H **** * displayclass.H
3:../libOLED/inc/libOLED/displayclass.H **** *
4:../libOLED/inc/libOLED/displayclass.H **** * Created on: 31 Oct 2020
5:../libOLED/inc/libOLED/displayclass.H **** * Author: mike
6:../libOLED/inc/libOLED/displayclass.H **** */
7:../libOLED/inc/libOLED/displayclass.H ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccfleqTK.s page 11
8:../libOLED/inc/libOLED/displayclass.H **** #pragma once
9:../libOLED/inc/libOLED/displayclass.H **** #include <cstdint>
10:../libOLED/inc/libOLED/displayclass.H **** #include "libOLED/fontclass.H"
11:../libOLED/inc/libOLED/displayclass.H ****
12:../libOLED/inc/libOLED/displayclass.H **** inline int constexpr
13:../libOLED/inc/libOLED/displayclass.H **** dataSize (int const width, int const height)
14:../libOLED/inc/libOLED/displayclass.H **** {
15:../libOLED/inc/libOLED/displayclass.H **** return (width * height / 8);
16:../libOLED/inc/libOLED/displayclass.H **** }
17:../libOLED/inc/libOLED/displayclass.H ****
18:../libOLED/inc/libOLED/displayclass.H **** enum colour_t
19:../libOLED/inc/libOLED/displayclass.H **** {
20:../libOLED/inc/libOLED/displayclass.H **** BLACK, /* and 0, invert 0 */
21:../libOLED/inc/libOLED/displayclass.H **** WHITE, /* and 0, invert 1 */
22:../libOLED/inc/libOLED/displayclass.H **** OVERLAY, /* and 1, invert 0 */
23:../libOLED/inc/libOLED/displayclass.H **** INVERT, /* and 1, invert 1 */
24:../libOLED/inc/libOLED/displayclass.H **** };
25:../libOLED/inc/libOLED/displayclass.H ****
26:../libOLED/inc/libOLED/displayclass.H **** class display_t
27:../libOLED/inc/libOLED/displayclass.H **** {
28:../libOLED/inc/libOLED/displayclass.H **** public:
29:../libOLED/inc/libOLED/displayclass.H **** display_t (int const width, int const height, int const ramwidth,
30:../libOLED/inc/libOLED/displayclass.H **** uint8_t *const data);
31:../libOLED/inc/libOLED/displayclass.H ****
32:../libOLED/inc/libOLED/displayclass.H **** virtual
33:../libOLED/inc/libOLED/displayclass.H **** ~display_t ();
34:../libOLED/inc/libOLED/displayclass.H ****
35:../libOLED/inc/libOLED/displayclass.H **** uint8_t
36:../libOLED/inc/libOLED/displayclass.H **** getRotation ();
37:../libOLED/inc/libOLED/displayclass.H **** int16_t
38:../libOLED/inc/libOLED/displayclass.H **** width ();
39:../libOLED/inc/libOLED/displayclass.H **** int16_t
40:../libOLED/inc/libOLED/displayclass.H **** height ();
41:../libOLED/inc/libOLED/displayclass.H ****
42:../libOLED/inc/libOLED/displayclass.H **** // common hardware reset .
43:../libOLED/inc/libOLED/displayclass.H **** void reset();
44:../libOLED/inc/libOLED/displayclass.H ****
45:../libOLED/inc/libOLED/displayclass.H **** void
46:../libOLED/inc/libOLED/displayclass.H **** init ();
47:../libOLED/inc/libOLED/displayclass.H ****
48:../libOLED/inc/libOLED/displayclass.H **** /// \brief Clear display to colour
49:../libOLED/inc/libOLED/displayclass.H **** void
50:../libOLED/inc/libOLED/displayclass.H **** clearDisplay (colour_t colour = colour_t::BLACK);
51:../libOLED/inc/libOLED/displayclass.H **** void
52:../libOLED/inc/libOLED/displayclass.H **** invertDisplay (uint8_t i);
53:../libOLED/inc/libOLED/displayclass.H **** void
54:../libOLED/inc/libOLED/displayclass.H **** display ();
55:../libOLED/inc/libOLED/displayclass.H ****
56:../libOLED/inc/libOLED/displayclass.H **** void
57:../libOLED/inc/libOLED/displayclass.H **** startscrollright (uint8_t start, uint8_t stop);
58:../libOLED/inc/libOLED/displayclass.H **** void
59:../libOLED/inc/libOLED/displayclass.H **** startscrollleft (uint8_t start, uint8_t stop);
60:../libOLED/inc/libOLED/displayclass.H ****
61:../libOLED/inc/libOLED/displayclass.H **** void
62:../libOLED/inc/libOLED/displayclass.H **** startscrolldiagright (uint8_t start, uint8_t stop);
63:../libOLED/inc/libOLED/displayclass.H **** void
64:../libOLED/inc/libOLED/displayclass.H **** startscrolldiagleft (uint8_t start, uint8_t stop);
ARM GAS C:\Users\mike\AppData\Local\Temp\ccfleqTK.s page 12
65:../libOLED/inc/libOLED/displayclass.H **** void
66:../libOLED/inc/libOLED/displayclass.H **** stopscroll (void);
67:../libOLED/inc/libOLED/displayclass.H ****
68:../libOLED/inc/libOLED/displayclass.H **** void
69:../libOLED/inc/libOLED/displayclass.H **** dim (uint8_t contrast);
70:../libOLED/inc/libOLED/displayclass.H ****
71:../libOLED/inc/libOLED/displayclass.H **** // set drawing mode
72:../libOLED/inc/libOLED/displayclass.H **** void setPixelMode(colour_t colour)
73:../libOLED/inc/libOLED/displayclass.H **** { m_colour = colour; }
74:../libOLED/inc/libOLED/displayclass.H ****
75:../libOLED/inc/libOLED/displayclass.H ****
76:../libOLED/inc/libOLED/displayclass.H **** void
77:../libOLED/inc/libOLED/displayclass.H **** drawPixel (int16_t x, int16_t y, bool pixel);
78:../libOLED/inc/libOLED/displayclass.H ****
79:../libOLED/inc/libOLED/displayclass.H **** void
80:../libOLED/inc/libOLED/displayclass.H **** drawLine (int16_t x1, int16_t y1, int16_t x2, int16_t y2, colour_t color);
81:../libOLED/inc/libOLED/displayclass.H ****
82:../libOLED/inc/libOLED/displayclass.H **** void drawRectangle (int16_t x1, int16_t y1, int16_t x2, int16_t y2, colour_t color);
83:../libOLED/inc/libOLED/displayclass.H ****
84:../libOLED/inc/libOLED/displayclass.H ****
85:../libOLED/inc/libOLED/displayclass.H **** void
86:../libOLED/inc/libOLED/displayclass.H **** gotoxy (int x, int y)
323 .loc 3 86 3 view .LVU49
324 .LBB26:
87:../libOLED/inc/libOLED/displayclass.H **** {
88:../libOLED/inc/libOLED/displayclass.H **** m_cursor_x = x;
325 .loc 3 88 5 view .LVU50
326 .loc 3 88 16 is_stmt 0 view .LVU51
327 004c 884C ldr r4, .L33+8
328 004e 0023 movs r3, #0
329 0050 2361 str r3, [r4, #16]
89:../libOLED/inc/libOLED/displayclass.H **** m_cursor_y = y;
330 .loc 3 89 5 is_stmt 1 view .LVU52
331 .loc 3 89 16 is_stmt 0 view .LVU53
332 0052 6361 str r3, [r4, #20]
333 .LVL21:
334 .loc 3 89 16 view .LVU54
335 .LBE26:
336 .LBE25:
85:src/display.cpp **** display1.printString (small_font, ":", 1, WHITE);
337 .loc 1 85 3 is_stmt 1 view .LVU55
85:src/display.cpp **** display1.printString (small_font, ":", 1, WHITE);
338 .loc 1 85 24 is_stmt 0 view .LVU56
339 0054 884F ldr r7, .L33+16
340 0056 8B4E ldr r6, .L33+28
341 0058 0125 movs r5, #1
342 005a 0095 str r5, [sp]
343 005c 0223 movs r3, #2
344 005e 7A19 adds r2, r7, r5
345 0060 3146 mov r1, r6
346 0062 2046 mov r0, r4
347 0064 FFF7FEFF bl _ZN9display_t11printStringER6font_tPKct8colour_t
348 .LVL22:
86:src/display.cpp **** display1.printString (small_font, &loc.time[2], 2, WHITE);
349 .loc 1 86 3 is_stmt 1 view .LVU57
86:src/display.cpp **** display1.printString (small_font, &loc.time[2], 2, WHITE);
350 .loc 1 86 24 is_stmt 0 view .LVU58
ARM GAS C:\Users\mike\AppData\Local\Temp\ccfleqTK.s page 13
351 0068 DFF85492 ldr r9, .L33+88
352 006c 0095 str r5, [sp]
353 006e 2B46 mov r3, r5
354 0070 4A46 mov r2, r9
355 0072 3146 mov r1, r6
356 0074 2046 mov r0, r4
357 0076 FFF7FEFF bl _ZN9display_t11printStringER6font_tPKct8colour_t
358 .LVL23:
87:src/display.cpp ****
359 .loc 1 87 3 is_stmt 1 view .LVU59
87:src/display.cpp ****
360 .loc 1 87 24 is_stmt 0 view .LVU60
361 007a 0095 str r5, [sp]
362 007c 0223 movs r3, #2
363 007e FA1C adds r2, r7, #3
364 0080 3146 mov r1, r6
365 0082 2046 mov r0, r4
366 0084 FFF7FEFF bl _ZN9display_t11printStringER6font_tPKct8colour_t
367 .LVL24:
89:src/display.cpp **** display1.printString (small_font, &loc.time[4], 2, WHITE);
368 .loc 1 89 3 is_stmt 1 view .LVU61
89:src/display.cpp **** display1.printString (small_font, &loc.time[4], 2, WHITE);
369 .loc 1 89 24 is_stmt 0 view .LVU62
370 0088 0095 str r5, [sp]
371 008a 2B46 mov r3, r5
372 008c 4A46 mov r2, r9
373 008e 3146 mov r1, r6
374 0090 2046 mov r0, r4
375 0092 FFF7FEFF bl _ZN9display_t11printStringER6font_tPKct8colour_t
376 .LVL25:
90:src/display.cpp **** int dial_ang = heading + 180;
377 .loc 1 90 3 is_stmt 1 view .LVU63
90:src/display.cpp **** int dial_ang = heading + 180;
378 .loc 1 90 24 is_stmt 0 view .LVU64
379 0096 0095 str r5, [sp]
380 0098 0223 movs r3, #2
381 009a 7A1D adds r2, r7, #5
382 009c 3146 mov r1, r6
383 009e 2046 mov r0, r4
384 00a0 FFF7FEFF bl _ZN9display_t11printStringER6font_tPKct8colour_t
385 .LVL26:
91:src/display.cpp **** dial.draw_needle (dial_ang);
386 .loc 1 91 3 is_stmt 1 view .LVU65
91:src/display.cpp **** dial.draw_needle (dial_ang);
387 .loc 1 91 26 is_stmt 0 view .LVU66
388 00a4 764B ldr r3, .L33+24
389 00a6 1968 ldr r1, [r3]
91:src/display.cpp **** dial.draw_needle (dial_ang);
390 .loc 1 91 7 view .LVU67
391 00a8 B431 adds r1, r1, #180
392 .LVL27:
92:src/display.cpp ****
393 .loc 1 92 3 is_stmt 1 view .LVU68
92:src/display.cpp ****
394 .loc 1 92 20 is_stmt 0 view .LVU69
395 00aa 09B2 sxth r1, r1
396 .LVL28:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccfleqTK.s page 14
92:src/display.cpp ****
397 .loc 1 92 20 view .LVU70
398 00ac 7148 ldr r0, .L33+12
399 00ae FFF7FEFF bl _ZN13displayDial_t11draw_needleEs
400 .LVL29:
94:src/display.cpp **** if (loc.valid == 'A')
401 .loc 1 94 3 is_stmt 1 view .LVU71
402 .LBB27:
403 .LBI27:
86:../libOLED/inc/libOLED/displayclass.H **** {
404 .loc 3 86 3 view .LVU72
405 .LBB28:
88:../libOLED/inc/libOLED/displayclass.H **** m_cursor_y = y;
406 .loc 3 88 5 view .LVU73
88:../libOLED/inc/libOLED/displayclass.H **** m_cursor_y = y;
407 .loc 3 88 16 is_stmt 0 view .LVU74
408 00b2 4623 movs r3, #70
409 00b4 2361 str r3, [r4, #16]
410 .loc 3 89 5 is_stmt 1 view .LVU75
411 .loc 3 89 16 is_stmt 0 view .LVU76
412 00b6 1923 movs r3, #25
413 00b8 6361 str r3, [r4, #20]
414 .LVL30:
415 .loc 3 89 16 view .LVU77
416 .LBE28:
417 .LBE27:
95:src/display.cpp **** {
418 .loc 1 95 3 is_stmt 1 view .LVU78
95:src/display.cpp **** {
419 .loc 1 95 11 is_stmt 0 view .LVU79
420 00ba 3B78 ldrb r3, [r7] @ zero_extendqisi2
95:src/display.cpp **** {
421 .loc 1 95 3 view .LVU80
422 00bc 412B cmp r3, #65
423 00be 5BD0 beq .L30
100:src/display.cpp ****
424 .loc 1 100 5 is_stmt 1 view .LVU81
100:src/display.cpp ****
425 .loc 1 100 26 is_stmt 0 view .LVU82
426 00c0 0123 movs r3, #1
427 00c2 0093 str r3, [sp]
428 00c4 0423 movs r3, #4
429 00c6 704A ldr r2, .L33+32
430 00c8 7049 ldr r1, .L33+36
431 00ca 6948 ldr r0, .L33+8
432 00cc FFF7FEFF bl _ZN9display_t11printStringER6font_tPKct8colour_t
433 .LVL31:
434 .L22:
102:src/display.cpp **** speedMPH = loc.speed / 1.815;
435 .loc 1 102 3 is_stmt 1 view .LVU83
102:src/display.cpp **** speedMPH = loc.speed / 1.815;
436 .loc 1 102 11 is_stmt 0 view .LVU84
437 00d0 694B ldr r3, .L33+16
438 00d2 1B78 ldrb r3, [r3] @ zero_extendqisi2
102:src/display.cpp **** speedMPH = loc.speed / 1.815;
439 .loc 1 102 3 view .LVU85
440 00d4 412B cmp r3, #65
ARM GAS C:\Users\mike\AppData\Local\Temp\ccfleqTK.s page 15
441 00d6 5AD0 beq .L31
442 .L23:
105:src/display.cpp **** display1.printString (small_font, "Speed", 5, WHITE);
443 .loc 1 105 3 is_stmt 1 view .LVU86
444 .LVL32:
445 .LBB29:
446 .LBI29:
86:../libOLED/inc/libOLED/displayclass.H **** {
447 .loc 3 86 3 view .LVU87
448 .LBB30:
88:../libOLED/inc/libOLED/displayclass.H **** m_cursor_y = y;
449 .loc 3 88 5 view .LVU88
88:../libOLED/inc/libOLED/displayclass.H **** m_cursor_y = y;
450 .loc 3 88 16 is_stmt 0 view .LVU89
451 00d8 654C ldr r4, .L33+8
452 00da 0026 movs r6, #0
453 00dc 2661 str r6, [r4, #16]
454 .loc 3 89 5 is_stmt 1 view .LVU90
455 .loc 3 89 16 is_stmt 0 view .LVU91
456 00de 0823 movs r3, #8
457 00e0 6361 str r3, [r4, #20]
458 .LVL33:
459 .loc 3 89 16 view .LVU92
460 .LBE30:
461 .LBE29:
106:src/display.cpp **** display1.gotoxy (0, 16);
462 .loc 1 106 3 is_stmt 1 view .LVU93
106:src/display.cpp **** display1.gotoxy (0, 16);
463 .loc 1 106 24 is_stmt 0 view .LVU94
464 00e2 DFF8A091 ldr r9, .L33+28
465 00e6 0125 movs r5, #1
466 00e8 0095 str r5, [sp]
467 00ea 0523 movs r3, #5
468 00ec 684A ldr r2, .L33+40
469 00ee 4946 mov r1, r9
470 00f0 2046 mov r0, r4
471 00f2 FFF7FEFF bl _ZN9display_t11printStringER6font_tPKct8colour_t
472 .LVL34:
107:src/display.cpp **** display1.fontDigits (large_font, 4, 1, speedMPH * 10);
473 .loc 1 107 3 is_stmt 1 view .LVU95
474 .LBB31:
475 .LBI31:
86:../libOLED/inc/libOLED/displayclass.H **** {
476 .loc 3 86 3 view .LVU96
477 .LBB32:
88:../libOLED/inc/libOLED/displayclass.H **** m_cursor_y = y;
478 .loc 3 88 5 view .LVU97
88:../libOLED/inc/libOLED/displayclass.H **** m_cursor_y = y;
479 .loc 3 88 16 is_stmt 0 view .LVU98
480 00f6 2661 str r6, [r4, #16]
481 .loc 3 89 5 is_stmt 1 view .LVU99
482 .loc 3 89 16 is_stmt 0 view .LVU100
483 00f8 1023 movs r3, #16
484 00fa 6361 str r3, [r4, #20]
485 .LVL35:
486 .loc 3 89 16 view .LVU101
487 .LBE32:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccfleqTK.s page 16
488 .LBE31:
108:src/display.cpp ****
489 .loc 1 108 3 is_stmt 1 view .LVU102
108:src/display.cpp ****
490 .loc 1 108 51 is_stmt 0 view .LVU103
491 00fc 6549 ldr r1, .L33+44
492 00fe 664B ldr r3, .L33+48
493 0100 1868 ldr r0, [r3] @ float
494 0102 FFF7FEFF bl __aeabi_fmul
495 .LVL36:
108:src/display.cpp ****
496 .loc 1 108 23 view .LVU104
497 0106 614F ldr r7, .L33+36
498 0108 0195 str r5, [sp, #4]
499 010a FFF7FEFF bl __aeabi_f2iz
500 .LVL37:
501 010e 0090 str r0, [sp]
502 0110 2B46 mov r3, r5
503 0112 0422 movs r2, #4
504 0114 3946 mov r1, r7
505 0116 2046 mov r0, r4
506 0118 FFF7FEFF bl _ZN9display_t10fontDigitsER6font_thhi8colour_t
507 .LVL38:
110:src/display.cpp **** display1.printString (small_font, "Average", 7, WHITE);
508 .loc 1 110 3 is_stmt 1 view .LVU105
509 .LBB33:
510 .LBI33:
86:../libOLED/inc/libOLED/displayclass.H **** {
511 .loc 3 86 3 view .LVU106
512 .LBB34:
88:../libOLED/inc/libOLED/displayclass.H **** m_cursor_y = y;
513 .loc 3 88 5 view .LVU107
88:../libOLED/inc/libOLED/displayclass.H **** m_cursor_y = y;
514 .loc 3 88 16 is_stmt 0 view .LVU108
515 011c 2661 str r6, [r4, #16]
516 .loc 3 89 5 is_stmt 1 view .LVU109
517 .loc 3 89 16 is_stmt 0 view .LVU110
518 011e 2023 movs r3, #32
519 0120 6361 str r3, [r4, #20]
520 .LVL39:
521 .loc 3 89 16 view .LVU111
522 .LBE34:
523 .LBE33:
111:src/display.cpp **** display1.gotoxy (0, 40);
524 .loc 1 111 3 is_stmt 1 view .LVU112
111:src/display.cpp **** display1.gotoxy (0, 40);
525 .loc 1 111 24 is_stmt 0 view .LVU113
526 0122 0095 str r5, [sp]
527 0124 0723 movs r3, #7
528 0126 5D4A ldr r2, .L33+52
529 0128 4946 mov r1, r9
530 012a 2046 mov r0, r4
531 012c FFF7FEFF bl _ZN9display_t11printStringER6font_tPKct8colour_t
532 .LVL40:
112:src/display.cpp **** display1.fontDigits (large_font, 4, 1, speedAVG * 10);
533 .loc 1 112 3 is_stmt 1 view .LVU114
534 .LBB35:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccfleqTK.s page 17
535 .LBI35:
86:../libOLED/inc/libOLED/displayclass.H **** {
536 .loc 3 86 3 view .LVU115
537 .LBB36:
88:../libOLED/inc/libOLED/displayclass.H **** m_cursor_y = y;
538 .loc 3 88 5 view .LVU116
88:../libOLED/inc/libOLED/displayclass.H **** m_cursor_y = y;
539 .loc 3 88 16 is_stmt 0 view .LVU117
540 0130 2661 str r6, [r4, #16]
541 .loc 3 89 5 is_stmt 1 view .LVU118
542 .loc 3 89 16 is_stmt 0 view .LVU119
543 0132 2823 movs r3, #40
544 0134 6361 str r3, [r4, #20]
545 .LVL41:
546 .loc 3 89 16 view .LVU120
547 .LBE36:
548 .LBE35:
113:src/display.cpp ****
549 .loc 1 113 3 is_stmt 1 view .LVU121
113:src/display.cpp ****
550 .loc 1 113 51 is_stmt 0 view .LVU122
551 0136 5749 ldr r1, .L33+44
552 0138 594B ldr r3, .L33+56
553 013a 1868 ldr r0, [r3] @ float
554 013c FFF7FEFF bl __aeabi_fmul
555 .LVL42:
113:src/display.cpp ****
556 .loc 1 113 23 view .LVU123
557 0140 0195 str r5, [sp, #4]
558 0142 FFF7FEFF bl __aeabi_f2iz
559 .LVL43:
560 0146 0090 str r0, [sp]
561 0148 2B46 mov r3, r5
562 014a 0422 movs r2, #4
563 014c 3946 mov r1, r7
564 014e 2046 mov r0, r4
565 0150 FFF7FEFF bl _ZN9display_t10fontDigitsER6font_thhi8colour_t
566 .LVL44:
115:src/display.cpp **** {
567 .loc 1 115 1 is_stmt 1 view .LVU124
568 .LBB37:
115:src/display.cpp **** {
569 .loc 1 115 17 is_stmt 0 view .LVU125
570 0154 FFF7FEFF bl HAL_GetTick
571 .LVL45:
115:src/display.cpp **** {
572 .loc 1 115 20 view .LVU126
573 0158 524B ldr r3, .L33+60
574 015a 1B68 ldr r3, [r3]
575 015c C01A subs r0, r0, r3
115:src/display.cpp **** {
576 .loc 1 115 1 view .LVU127
577 015e 6428 cmp r0, #100
578 0160 23D8 bhi .L32
579 .L18:
580 .LBE37:
581 .loc 1 195 1 view .LVU128
ARM GAS C:\Users\mike\AppData\Local\Temp\ccfleqTK.s page 18
582 0162 3BB0 add sp, sp, #236
583 .LCFI9:
584 .cfi_remember_state
585 .cfi_def_cfa_offset 28
586 @ sp needed
587 0164 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc}
588 .LVL46:
589 .L29:
590 .LCFI10:
591 .cfi_restore_state
81:src/display.cpp ****
592 .loc 1 81 5 is_stmt 1 view .LVU129
81:src/display.cpp ****
593 .loc 1 81 12 is_stmt 0 view .LVU130
594 0168 434B ldr r3, .L33+16
595 016a 4FF02D32 mov r2, #757935405
596 016e C3F80120 str r2, [r3, #1] @ unaligned
597 0172 A3F80520 strh r2, [r3, #5] @ unaligned
598 0176 69E7 b .L20
599 .L30:
97:src/display.cpp **** }
600 .loc 1 97 7 is_stmt 1 view .LVU131
97:src/display.cpp **** }
601 .loc 1 97 27 is_stmt 0 view .LVU132
602 0178 0195 str r5, [sp, #4]
603 017a 414B ldr r3, .L33+24
604 017c 1B68 ldr r3, [r3]
605 017e 0093 str r3, [sp]
606 0180 FF23 movs r3, #255
607 0182 0322 movs r2, #3
608 0184 4149 ldr r1, .L33+36
609 0186 2046 mov r0, r4
610 0188 FFF7FEFF bl _ZN9display_t10fontDigitsER6font_thhi8colour_t
611 .LVL47:
612 018c A0E7 b .L22
613 .L31:
103:src/display.cpp ****
614 .loc 1 103 5 is_stmt 1 view .LVU133
103:src/display.cpp ****
615 .loc 1 103 20 is_stmt 0 view .LVU134
616 018e 3A4B ldr r3, .L33+16
617 0190 186A ldr r0, [r3, #32] @ float
618 0192 FFF7FEFF bl __aeabi_f2d
619 .LVL48:
103:src/display.cpp ****
620 .loc 1 103 26 view .LVU135
621 0196 34A3 adr r3, .L33
622 0198 D3E90023 ldrd r2, [r3]
623 019c FFF7FEFF bl __aeabi_ddiv
624 .LVL49:
625 01a0 FFF7FEFF bl __aeabi_d2f
626 .LVL50:
103:src/display.cpp ****
627 .loc 1 103 14 view .LVU136
628 01a4 3C4B ldr r3, .L33+48
629 01a6 1860 str r0, [r3] @ float
630 01a8 96E7 b .L23
ARM GAS C:\Users\mike\AppData\Local\Temp\ccfleqTK.s page 19
631 .L32:
632 .LBB45:
633 .LBB38:
117:src/display.cpp ****
634 .loc 1 117 5 is_stmt 1 view .LVU137
117:src/display.cpp ****
635 .loc 1 117 28 is_stmt 0 view .LVU138
636 01aa FFF7FEFF bl HAL_GetTick
637 .LVL51:
117:src/display.cpp ****
638 .loc 1 117 14 view .LVU139
639 01ae 3D4B ldr r3, .L33+60
640 01b0 1860 str r0, [r3]
120:src/display.cpp ****
641 .loc 1 120 5 is_stmt 1 view .LVU140
122:src/display.cpp **** if (rslt == BME280_OK)
642 .loc 1 122 5 view .LVU141
122:src/display.cpp **** if (rslt == BME280_OK)
643 .loc 1 122 35 is_stmt 0 view .LVU142
644 01b2 4246 mov r2, r8
645 01b4 02A9 add r1, sp, #8
646 01b6 0720 movs r0, #7
647 01b8 FFF7FEFF bl bme280_get_sensor_data
648 .LVL52:
122:src/display.cpp **** if (rslt == BME280_OK)
649 .loc 1 122 10 view .LVU143
650 01bc 3A4B ldr r3, .L33+64
651 01be 1860 str r0, [r3]
123:src/display.cpp **** {
652 .loc 1 123 5 is_stmt 1 view .LVU144
653 .LBB39:
654 01c0 0028 cmp r0, #0
655 01c2 CED1 bne .L18
656 .LBB40:
126:src/display.cpp ****
657 .loc 1 126 2 view .LVU145
129:src/display.cpp **** press = 0.01 * comp_data.pressure;
658 .loc 1 129 2 view .LVU146
659 .LVL53:
130:src/display.cpp **** hum = comp_data.humidity;
660 .loc 1 130 2 view .LVU147
131:src/display.cpp **** #else
661 .loc 1 131 2 view .LVU148
144:src/display.cpp **** uint32_t press32 = 0;
662 .loc 1 144 2 view .LVU149
145:src/display.cpp **** uint32_t hum32 = 0;
663 .loc 1 145 2 view .LVU150
146:src/display.cpp ****
664 .loc 1 146 2 view .LVU151
175:src/display.cpp **** int cnt = small_sprintf(buffer,"$MJXDR,C,%ld.%02ld,C,AirTemp,P,%01ld.%05ld,B,AirPres",temp32/100,t
665 .loc 1 175 2 view .LVU152
176:src/display.cpp **** uint8_t sum=0;
666 .loc 1 176 2 view .LVU153
176:src/display.cpp **** uint8_t sum=0;
667 .loc 1 176 25 is_stmt 0 view .LVU154
668 01c4 0196 str r6, [sp, #4]
669 01c6 0096 str r6, [sp]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccfleqTK.s page 20
670 01c8 3346 mov r3, r6
671 01ca 3246 mov r2, r6
672 01cc 3749 ldr r1, .L33+68
673 01ce 08A8 add r0, sp, #32
674 01d0 FFF7FEFF bl small_sprintf
675 .LVL54:
176:src/display.cpp **** uint8_t sum=0;
676 .loc 1 176 25 view .LVU155
677 01d4 0546 mov r5, r0
678 .LVL55:
177:src/display.cpp **** for(int i=1; i<cnt; i++)
679 .loc 1 177 2 is_stmt 1 view .LVU156
178:src/display.cpp **** sum += buffer[i];
680 .loc 1 178 2 view .LVU157
681 .LBB41:
178:src/display.cpp **** sum += buffer[i];
682 .loc 1 178 10 is_stmt 0 view .LVU158
683 01d6 0123 movs r3, #1
684 .LBE41:
177:src/display.cpp **** for(int i=1; i<cnt; i++)
685 .loc 1 177 10 view .LVU159
686 01d8 3246 mov r2, r6
687 .LVL56:
688 .L27:
689 .LBB42:
178:src/display.cpp **** sum += buffer[i];
690 .loc 1 178 16 discriminator 3 view .LVU160
691 01da AB42 cmp r3, r5
692 01dc 07DA bge .L26
179:src/display.cpp **** cnt+= small_sprintf(buffer+cnt,"*%02X\n",sum);
693 .loc 1 179 2 is_stmt 1 discriminator 2 view .LVU161
179:src/display.cpp **** cnt+= small_sprintf(buffer+cnt,"*%02X\n",sum);
694 .loc 1 179 17 is_stmt 0 discriminator 2 view .LVU162
695 01de 3AA9 add r1, sp, #232
696 01e0 1944 add r1, r1, r3
697 01e2 11F8C81C ldrb r1, [r1, #-200] @ zero_extendqisi2
179:src/display.cpp **** cnt+= small_sprintf(buffer+cnt,"*%02X\n",sum);
698 .loc 1 179 6 discriminator 2 view .LVU163
699 01e6 0A44 add r2, r2, r1
700 .LVL57:
179:src/display.cpp **** cnt+= small_sprintf(buffer+cnt,"*%02X\n",sum);
701 .loc 1 179 6 discriminator 2 view .LVU164
702 01e8 D2B2 uxtb r2, r2
703 .LVL58:
178:src/display.cpp **** sum += buffer[i];
704 .loc 1 178 2 discriminator 2 view .LVU165
705 01ea 0133 adds r3, r3, #1
706 .LVL59:
178:src/display.cpp **** sum += buffer[i];
707 .loc 1 178 2 discriminator 2 view .LVU166
708 01ec F5E7 b .L27
709 .L26:
178:src/display.cpp **** sum += buffer[i];
710 .loc 1 178 2 discriminator 2 view .LVU167
711 .LBE42:
180:src/display.cpp ****
712 .loc 1 180 2 is_stmt 1 view .LVU168
ARM GAS C:\Users\mike\AppData\Local\Temp\ccfleqTK.s page 21
180:src/display.cpp ****
713 .loc 1 180 21 is_stmt 0 view .LVU169
714 01ee 3049 ldr r1, .L33+72
715 01f0 08AB add r3, sp, #32
716 .LVL60:
180:src/display.cpp ****
717 .loc 1 180 21 view .LVU170
718 01f2 5819 adds r0, r3, r5
719 .LVL61:
180:src/display.cpp ****
720 .loc 1 180 21 view .LVU171
721 01f4 FFF7FEFF bl small_sprintf
722 .LVL62:
180:src/display.cpp ****
723 .loc 1 180 5 view .LVU172
724 01f8 2918 adds r1, r5, r0
725 .LVL63:
182:src/display.cpp **** #endif
726 .loc 1 182 2 is_stmt 1 view .LVU173
182:src/display.cpp **** #endif
727 .loc 1 182 17 is_stmt 0 view .LVU174
728 01fa 89B2 uxth r1, r1
729 .LVL64:
182:src/display.cpp **** #endif
730 .loc 1 182 17 view .LVU175
731 01fc 08A8 add r0, sp, #32
732 .LVL65:
182:src/display.cpp **** #endif
733 .loc 1 182 17 view .LVU176
734 01fe FFF7FEFF bl CDC_Transmit_FS
735 .LVL66:
185:src/display.cpp **** display1.printString (small_font, "T", 2, WHITE);
736 .loc 1 185 2 is_stmt 1 view .LVU177
737 .LBB43:
738 .LBI43:
86:../libOLED/inc/libOLED/displayclass.H **** {
739 .loc 3 86 3 view .LVU178
740 .LBB44:
88:../libOLED/inc/libOLED/displayclass.H **** m_cursor_y = y;
741 .loc 3 88 5 view .LVU179
88:../libOLED/inc/libOLED/displayclass.H **** m_cursor_y = y;
742 .loc 3 88 16 is_stmt 0 view .LVU180
743 0202 1B4C ldr r4, .L33+8
744 0204 0027 movs r7, #0
745 0206 2761 str r7, [r4, #16]
746 .loc 3 89 5 is_stmt 1 view .LVU181
747 .loc 3 89 16 is_stmt 0 view .LVU182
748 0208 3823 movs r3, #56
749 020a 6361 str r3, [r4, #20]
750 .LVL67:
751 .loc 3 89 16 view .LVU183
752 .LBE44:
753 .LBE43:
186:src/display.cpp **** display1.fontDigits (small_font, 4, 1, temp32 / 10, WHITE);
754 .loc 1 186 2 is_stmt 1 view .LVU184
186:src/display.cpp **** display1.fontDigits (small_font, 4, 1, temp32 / 10, WHITE);
755 .loc 1 186 23 is_stmt 0 view .LVU185
ARM GAS C:\Users\mike\AppData\Local\Temp\ccfleqTK.s page 22
756 020c 1D4E ldr r6, .L33+28
757 020e 0125 movs r5, #1
186:src/display.cpp **** display1.fontDigits (small_font, 4, 1, temp32 / 10, WHITE);
758 .loc 1 186 23 view .LVU186
759 0210 0095 str r5, [sp]
760 0212 0223 movs r3, #2
761 0214 274A ldr r2, .L33+76
762 0216 3146 mov r1, r6
763 0218 2046 mov r0, r4
764 021a FFF7FEFF bl _ZN9display_t11printStringER6font_tPKct8colour_t
765 .LVL68:
187:src/display.cpp **** display1.printString (small_font, " P", 2, WHITE);
766 .loc 1 187 2 is_stmt 1 view .LVU187
187:src/display.cpp **** display1.printString (small_font, " P", 2, WHITE);
767 .loc 1 187 22 is_stmt 0 view .LVU188
768 021e 0195 str r5, [sp, #4]
769 0220 0097 str r7, [sp]
770 0222 2B46 mov r3, r5
771 0224 0422 movs r2, #4
772 0226 3146 mov r1, r6
773 0228 2046 mov r0, r4
774 022a FFF7FEFF bl _ZN9display_t10fontDigitsER6font_thhi8colour_t
775 .LVL69:
188:src/display.cpp **** display1.fontDigits (small_font, 5, 0, press32 / 100, WHITE);
776 .loc 1 188 2 is_stmt 1 view .LVU189
188:src/display.cpp **** display1.fontDigits (small_font, 5, 0, press32 / 100, WHITE);
777 .loc 1 188 23 is_stmt 0 view .LVU190
778 022e 0095 str r5, [sp]
779 0230 0223 movs r3, #2
780 0232 214A ldr r2, .L33+80
781 0234 3146 mov r1, r6
782 0236 2046 mov r0, r4
783 0238 FFF7FEFF bl _ZN9display_t11printStringER6font_tPKct8colour_t
784 .LVL70:
189:src/display.cpp **** display1.printString (small_font, " ", 1, WHITE);
785 .loc 1 189 2 is_stmt 1 view .LVU191
189:src/display.cpp **** display1.printString (small_font, " ", 1, WHITE);
786 .loc 1 189 22 is_stmt 0 view .LVU192
787 023c 0195 str r5, [sp, #4]
788 023e 0097 str r7, [sp]
789 0240 3B46 mov r3, r7
790 0242 0522 movs r2, #5
791 0244 3146 mov r1, r6
792 0246 2046 mov r0, r4
793 0248 FFF7FEFF bl _ZN9display_t10fontDigitsER6font_thhi8colour_t
794 .LVL71:
190:src/display.cpp ****
795 .loc 1 190 2 is_stmt 1 view .LVU193
190:src/display.cpp ****
796 .loc 1 190 23 is_stmt 0 view .LVU194
797 024c 0095 str r5, [sp]
798 024e 2B46 mov r3, r5
799 0250 1A4A ldr r2, .L33+84
800 0252 3146 mov r1, r6
801 0254 2046 mov r0, r4
802 0256 FFF7FEFF bl _ZN9display_t11printStringER6font_tPKct8colour_t
803 .LVL72:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccfleqTK.s page 23
192:src/display.cpp **** }
804 .loc 1 192 2 is_stmt 1 view .LVU195
192:src/display.cpp **** }
805 .loc 1 192 19 is_stmt 0 view .LVU196
806 025a 2046 mov r0, r4
807 025c FFF7FEFF bl _ZN9display_t7displayEv
808 .LVL73:
809 .LBE40:
810 .LBE39:
811 .LBE38:
812 .LBE45:
813 .loc 1 195 1 view .LVU197
814 0260 7FE7 b .L18
815 .L34:
816 0262 00BFAFF3 .align 3
816 0080
817 .L33:
818 0268 0AD7A370 .word 1889785610
819 026c 3D0AFD3F .word 1073547837
820 0270 00000000 .word .LANCHOR0
821 0274 00000000 .word .LANCHOR2
822 0278 00000000 .word .LANCHOR3
823 027c 00000000 .word uc1
824 0280 00000000 .word .LANCHOR4
825 0284 00000000 .word small_font
826 0288 04000000 .word .LC1
827 028c 00000000 .word large_font
828 0290 0C000000 .word .LC2
829 0294 00002041 .word 1092616192
830 0298 00000000 .word .LANCHOR5
831 029c 14000000 .word .LC3
832 02a0 00000000 .word .LANCHOR6
833 02a4 00000000 .word .LANCHOR7
834 02a8 00000000 .word .LANCHOR8
835 02ac 1C000000 .word .LC4
836 02b0 54000000 .word .LC5
837 02b4 5C000000 .word .LC6
838 02b8 60000000 .word .LC7
839 02bc 64000000 .word .LC8
840 02c0 00000000 .word .LC0
841 .cfi_endproc
842 .LFE97:
844 .section .text._ZN18stm32_halDisplay_tD0Ev,"axG",%progbits,_ZN18stm32_halDisplay_tD5Ev,comdat
845 .align 1
846 .weak _ZN18stm32_halDisplay_tD0Ev
847 .syntax unified
848 .thumb
849 .thumb_func
850 .fpu softvfp
852 _ZN18stm32_halDisplay_tD0Ev:
853 .LVL74:
854 .LFB102:
855 .loc 2 14 7 is_stmt 1 view -0
856 .cfi_startproc
857 @ args = 0, pretend = 0, frame = 0
858 @ frame_needed = 0, uses_anonymous_args = 0
859 .loc 2 14 7 is_stmt 0 view .LVU199
ARM GAS C:\Users\mike\AppData\Local\Temp\ccfleqTK.s page 24
860 0000 10B5 push {r4, lr}
861 .LCFI11:
862 .cfi_def_cfa_offset 8
863 .cfi_offset 4, -8
864 .cfi_offset 14, -4
865 0002 0446 mov r4, r0
866 .LVL75:
867 .LBB46:
868 .LBI46:
869 .loc 2 14 7 is_stmt 1 view .LVU200
870 .LBB47:
871 0004 044B ldr r3, .L37
872 0006 0360 str r3, [r0]
873 0008 FFF7FEFF bl _ZN9display_tD2Ev
874 .LVL76:
875 .loc 2 14 7 is_stmt 0 view .LVU201
876 .LBE47:
877 .LBE46:
878 000c 4021 movs r1, #64
879 000e 2046 mov r0, r4
880 0010 FFF7FEFF bl _ZdlPvj
881 .LVL77:
882 0014 2046 mov r0, r4
883 0016 10BD pop {r4, pc}
884 .LVL78:
885 .L38:
886 .loc 2 14 7 view .LVU202
887 .align 2
888 .L37:
889 0018 08000000 .word _ZTV18stm32_halDisplay_t+8
890 .cfi_endproc
891 .LFE102:
893 .section .text._GLOBAL__sub_I_speedMPH,"ax",%progbits
894 .align 1
895 .syntax unified
896 .thumb
897 .thumb_func
898 .fpu softvfp
900 _GLOBAL__sub_I_speedMPH:
901 .LFB103:
902 .loc 1 195 1 is_stmt 1 view -0
903 .cfi_startproc
904 @ args = 0, pretend = 0, frame = 0
905 @ frame_needed = 0, uses_anonymous_args = 0
906 0000 08B5 push {r3, lr}
907 .LCFI12:
908 .cfi_def_cfa_offset 8
909 .cfi_offset 3, -8
910 .cfi_offset 14, -4
911 .loc 1 195 1 is_stmt 0 view .LVU204
912 0002 4FF6FF71 movw r1, #65535
913 0006 0120 movs r0, #1
914 0008 FFF7FEFF bl _Z41__static_initialization_and_destruction_0ii
915 .LVL79:
916 000c 08BD pop {r3, pc}
917 .cfi_endproc
918 .LFE103:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccfleqTK.s page 25
920 .section .init_array,"aw",%init_array
921 .align 2
922 0000 00000000 .word _GLOBAL__sub_I_speedMPH(target1)
923 .global fontBuf
924 .global dial
925 .global display1
926 .global displayBuffer
927 .global rslt
928 .global lastTick
929 .global loc
930 .global heading
931 .global speedDist
932 .global speedTimer
933 .global speedAVG
934 .global speedMPH
935 .section .bss.dial,"aw",%nobits
936 .align 2
937 .set .LANCHOR2,. + 0
940 dial:
941 0000 00000000 .space 16
941 00000000
941 00000000
941 00000000
942 .section .bss.display1,"aw",%nobits
943 .align 2
944 .set .LANCHOR0,. + 0
947 display1:
948 0000 00000000 .space 64
948 00000000
948 00000000
948 00000000
948 00000000
949 .section .bss.displayBuffer,"aw",%nobits
950 .align 2
951 .set .LANCHOR1,. + 0
954 displayBuffer:
955 0000 00000000 .space 1024
955 00000000
955 00000000
955 00000000
955 00000000
956 .section .bss.heading,"aw",%nobits
957 .align 2
958 .set .LANCHOR4,. + 0
961 heading:
962 0000 00000000 .space 4
963 .section .bss.lastTick,"aw",%nobits
964 .align 2
965 .set .LANCHOR7,. + 0
968 lastTick:
969 0000 00000000 .space 4
970 .section .bss.loc,"aw",%nobits
971 .align 3
972 .set .LANCHOR3,. + 0
975 loc:
976 0000 00000000 .space 80
976 00000000
ARM GAS C:\Users\mike\AppData\Local\Temp\ccfleqTK.s page 26
976 00000000
976 00000000
976 00000000
977 .section .bss.rslt,"aw",%nobits
978 .align 2
979 .set .LANCHOR8,. + 0
982 rslt:
983 0000 00000000 .space 4
984 .section .bss.speedAVG,"aw",%nobits
985 .align 2
986 .set .LANCHOR6,. + 0
989 speedAVG:
990 0000 00000000 .space 4
991 .section .bss.speedDist,"aw",%nobits
992 .align 2
995 speedDist:
996 0000 00000000 .space 4
997 .section .bss.speedMPH,"aw",%nobits
998 .align 2
999 .set .LANCHOR5,. + 0
1002 speedMPH:
1003 0000 00000000 .space 4
1004 .section .bss.speedTimer,"aw",%nobits
1005 .align 2
1008 speedTimer:
1009 0000 00000000 .space 4
1010 .section .data.fontBuf,"aw"
1011 .align 2
1014 fontBuf:
1015 0000 30313233 .ascii "01234567\000"
1015 34353637
1015 00
1016 .section .rodata.cc_run.str1.4,"aMS",%progbits,1
1017 .align 2
1018 .LC0:
1019 0000 3A00 .ascii ":\000"
1020 0002 0000 .space 2
1021 .LC1:
1022 0004 4750533F .ascii "GPS?\000"
1022 00
1023 0009 000000 .space 3
1024 .LC2:
1025 000c 53706565 .ascii "Speed\000"
1025 6400
1026 0012 0000 .space 2
1027 .LC3:
1028 0014 41766572 .ascii "Average\000"
1028 61676500
1029 .LC4:
1030 001c 244D4A58 .ascii "$MJXDR,C,%ld.%02ld,C,AirTemp,P,%01ld.%05ld,B,AirPre"
1030 44522C43
1030 2C256C64
1030 2E253032
1030 6C642C43
1031 004f 7300 .ascii "s\000"
1032 0051 000000 .space 3
1033 .LC5:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccfleqTK.s page 27
1034 0054 2A253032 .ascii "*%02X\012\000"
1034 580A00
1035 005b 00 .space 1
1036 .LC6:
1037 005c 5400 .ascii "T\000"
1038 005e 0000 .space 2
1039 .LC7:
1040 0060 205000 .ascii " P\000"
1041 0063 00 .space 1
1042 .LC8:
1043 0064 2000 .ascii " \000"
1044 .text
1045 .Letext0:
1046 .file 4 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
1047 .file 5 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
1048 .file 6 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
1049 .file 7 "Drivers/CMSIS/Include/core_cm3.h"
1050 .file 8 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h"
1051 .file 9 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h"
1052 .file 10 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
1053 .file 11 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h"
1054 .file 12 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h"
1055 .file 13 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_spi.h"
1056 .file 14 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h"
1057 .file 15 "Core/Inc/main.h"
1058 .file 16 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
1059 .file 17 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
1060 .file 18 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
1061 .file 19 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
1062 .file 20 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
1063 .file 21 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
1064 .file 22 "../libSerial/inc/libSerial/serial.h"
1065 .file 23 "../libNMEA/inc/libNMEA/nmea.h"
1066 .file 24 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
1067 .file 25 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
1068 .file 26 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
1069 .file 27 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
1070 .file 28 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
1071 .file 29 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
1072 .file 30 "../libOLED/inc/libOLED/fontclass.H"
1073 .file 31 "../libOLED/inc/libOLED/displayDial.H"
1074 .file 32 "../libBME280/inc/libBME280/bme280_defs.h"
1075 .file 33 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
1076 .file 34 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
1077 .file 35 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h"
1078 .file 36 "Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc/usbd_cdc.h"
1079 .file 37 "USB_DEVICE/App/usbd_cdc_if.h"
1080 .file 38 "../libSmallPrintf/inc/libSmallPrintf/small_printf.h"
1081 .file 39 "../libBME280/inc/libBME280/bme280.h"
1082 .file 40 "<built-in>"
ARM GAS C:\Users\mike\AppData\Local\Temp\ccfleqTK.s page 28
DEFINED SYMBOLS
*ABS*:0000000000000000 display.cpp
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:16 .text._Z41__static_initialization_and_destruction_0ii:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:23 .text._Z41__static_initialization_and_destruction_0ii:0000000000000000 _Z41__static_initialization_and_destruction_0ii
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:101 .text._Z41__static_initialization_and_destruction_0ii:0000000000000060 $d
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:118 .text._ZN18stm32_halDisplay_tD2Ev:0000000000000000 _ZN18stm32_halDisplay_tD1Ev
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:111 .text._ZN18stm32_halDisplay_tD2Ev:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:118 .text._ZN18stm32_halDisplay_tD2Ev:0000000000000000 _ZN18stm32_halDisplay_tD2Ev
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:148 .text._ZN18stm32_halDisplay_tD2Ev:0000000000000010 $d
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:155 .text.cc_init:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:162 .text.cc_init:0000000000000000 cc_init
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:225 .text.cc_init:0000000000000048 $d
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:237 .text.cc_run:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:244 .text.cc_run:0000000000000000 cc_run
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:818 .text.cc_run:0000000000000268 $d
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:845 .text._ZN18stm32_halDisplay_tD0Ev:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:852 .text._ZN18stm32_halDisplay_tD0Ev:0000000000000000 _ZN18stm32_halDisplay_tD0Ev
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:889 .text._ZN18stm32_halDisplay_tD0Ev:0000000000000018 $d
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:894 .text._GLOBAL__sub_I_speedMPH:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:900 .text._GLOBAL__sub_I_speedMPH:0000000000000000 _GLOBAL__sub_I_speedMPH
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:921 .init_array:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:1014 .data.fontBuf:0000000000000000 fontBuf
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:940 .bss.dial:0000000000000000 dial
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:947 .bss.display1:0000000000000000 display1
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:954 .bss.displayBuffer:0000000000000000 displayBuffer
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:982 .bss.rslt:0000000000000000 rslt
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:968 .bss.lastTick:0000000000000000 lastTick
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:975 .bss.loc:0000000000000000 loc
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:961 .bss.heading:0000000000000000 heading
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:995 .bss.speedDist:0000000000000000 speedDist
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:1008 .bss.speedTimer:0000000000000000 speedTimer
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:989 .bss.speedAVG:0000000000000000 speedAVG
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:1002 .bss.speedMPH:0000000000000000 speedMPH
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:936 .bss.dial:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:943 .bss.display1:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:950 .bss.displayBuffer:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:957 .bss.heading:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:964 .bss.lastTick:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:971 .bss.loc:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:978 .bss.rslt:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:985 .bss.speedAVG:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:992 .bss.speedDist:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:998 .bss.speedMPH:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:1005 .bss.speedTimer:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:1011 .data.fontBuf:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\ccfleqTK.s:1017 .rodata.cc_run.str1.4:0000000000000000 $d
.group:0000000000000000 _ZN18stm32_halDisplay_tD5Ev
UNDEFINED SYMBOLS
_ZN18stm32_halDisplay_tC1EiiiPhP19__SPI_HandleTypeDefP12GPIO_TypeDeftS4_tS4_t
__aeabi_atexit
_ZN13displayDial_tC1ER9display_thhht
hspi1
__dso_handle
_ZN9display_tD2Ev
_ZTV18stm32_halDisplay_t
_ZN9display_t5resetEv
ARM GAS C:\Users\mike\AppData\Local\Temp\ccfleqTK.s page 29
_ZN9display_t4initEv
_ZN9display_t12clearDisplayE8colour_t
_ZN13displayDial_t10draw_scaleEsshhs
_ZN9display_t7displayEv
__aeabi_f2iz
__aeabi_f2d
__aeabi_ddiv
__aeabi_d2f
__aeabi_fmul
updateLocation
_ZN9display_t11printStringER6font_tPKct8colour_t
_ZN13displayDial_t11draw_needleEs
_ZN9display_t10fontDigitsER6font_thhi8colour_t
HAL_GetTick
bme280_get_sensor_data
small_sprintf
CDC_Transmit_FS
uc1
small_font
large_font
_ZdlPvj