ARM GAS C:\Users\mike\AppData\Local\Temp\cc1oOcHd.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 "libBMP280/bmp280.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 ****
30:src/display.cpp **** int heading = 0;
31:src/display.cpp **** Location loc;
32:src/display.cpp ****
ARM GAS C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s page 2
33:src/display.cpp **** uint32_t lastTick = 0;
34:src/display.cpp **** int32_t temp32 = 0;
35:src/display.cpp **** uint32_t pres32 = 0;
36:src/display.cpp **** int32_t rslt;
37:src/display.cpp ****
38:src/display.cpp **** uint8_t displayBuffer[dataSize (WIDTH, HEIGHT)];
39:src/display.cpp ****
40:src/display.cpp **** stm32_halDisplay_t display1 (WIDTH, HEIGHT, DISPLAY_RAMWIDTH, displayBuffer,
41:src/display.cpp **** &hspi1,
42:src/display.cpp ****
43:src/display.cpp **** SPI_CD_GPIO_Port,
44:src/display.cpp **** SPI_CD_Pin,
45:src/display.cpp **** SPI_RESET_GPIO_Port,
46:src/display.cpp **** SPI_RESET_Pin,
47:src/display.cpp **** SPI_NSS1_GPIO_Port,
48:src/display.cpp **** SPI_NSS1_Pin);
49:src/display.cpp ****
50:src/display.cpp **** displayDial_t dial (display1, 96, 32, 32, 180);
51:src/display.cpp ****
52:src/display.cpp **** extern "C" void
53:src/display.cpp **** cc_init ()
54:src/display.cpp **** {
55:src/display.cpp **** display1.reset ();
56:src/display.cpp ****
57:src/display.cpp **** display1.init ();
58:src/display.cpp **** display1.clearDisplay ();
59:src/display.cpp ****
60:src/display.cpp **** dial.draw_scale (0, 360, 8, 1, 45);
61:src/display.cpp ****
62:src/display.cpp **** display1.display ();
63:src/display.cpp ****
64:src/display.cpp **** memset (loc.time, '-', 6);
65:src/display.cpp **** }
66:src/display.cpp ****
67:src/display.cpp **** char fontBuf[] = "01234567";
68:src/display.cpp **** extern "C" void
69:src/display.cpp **** cc_run (struct bmp280_dev *bmp)
70:src/display.cpp ****
71:src/display.cpp **** {
72:src/display.cpp ****
73:src/display.cpp **** display1.clearDisplay ();
74:src/display.cpp **** dial.draw_scale (0, 360, 8, 1, 45);
75:src/display.cpp ****
76:src/display.cpp **** bool stat = updateLocation (&loc, &uc1);
77:src/display.cpp **** if (loc.good)
78:src/display.cpp **** {
79:src/display.cpp **** heading = loc.heading;
80:src/display.cpp ****
81:src/display.cpp **** loc.good = false;
82:src/display.cpp **** }
83:src/display.cpp **** if (loc.valid == 'V')
84:src/display.cpp **** memset (loc.time, '-', 6);
85:src/display.cpp ****
86:src/display.cpp ****
87:src/display.cpp ****
88:src/display.cpp **** // print out the GMT time at the top of the screen
89:src/display.cpp **** display1.gotoxy (0, 0);
ARM GAS C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s page 3
90:src/display.cpp **** display1.printString (small_font, &loc.time[0], 2, WHITE);
91:src/display.cpp **** display1.printString (small_font, ":", 1, WHITE);
92:src/display.cpp **** display1.printString (small_font, &loc.time[2], 2, WHITE);
93:src/display.cpp ****
94:src/display.cpp **** display1.printString (small_font, ":", 1, WHITE);
95:src/display.cpp **** display1.printString (small_font, &loc.time[4], 2, WHITE);
96:src/display.cpp **** int dial_ang = heading + 180;
97:src/display.cpp **** dial.draw_needle (dial_ang);
98:src/display.cpp ****
99:src/display.cpp **** display1.gotoxy (70, 25);
100:src/display.cpp **** if (loc.valid == 'A')
101:src/display.cpp **** {
102:src/display.cpp **** display1.fontDigits (large_font, 3, -1, heading);
103:src/display.cpp **** }
104:src/display.cpp **** else
105:src/display.cpp **** display1.printString (large_font, "GPS?", 4, WHITE);
106:src/display.cpp ****
107:src/display.cpp **** if (loc.valid == 'A')
108:src/display.cpp **** speedMPH = loc.speed / 1.815;
109:src/display.cpp ****
110:src/display.cpp **** display1.gotoxy (0, 8);
111:src/display.cpp **** display1.printString (small_font, "Speed", 5, WHITE);
112:src/display.cpp **** display1.gotoxy (0, 16);
113:src/display.cpp **** display1.fontDigits (large_font, 4, 1, speedMPH * 10);
114:src/display.cpp ****
115:src/display.cpp **** display1.gotoxy (0, 32);
116:src/display.cpp **** display1.printString (small_font, "Average", 7, WHITE);
117:src/display.cpp **** display1.gotoxy (0, 40);
118:src/display.cpp **** display1.fontDigits (large_font, 4, 1, speedAVG * 10);
119:src/display.cpp ****
120:src/display.cpp **** struct bmp280_uncomp_data ucomp_data;
121:src/display.cpp ****
122:src/display.cpp **** if (HAL_GetTick () - lastTick > 100)
123:src/display.cpp **** {
124:src/display.cpp **** lastTick = HAL_GetTick ();
125:src/display.cpp **** /* Reading the raw data from sensor */
126:src/display.cpp **** rslt = bmp280_get_uncomp_data (&ucomp_data, bmp);
127:src/display.cpp ****
128:src/display.cpp **** if (rslt == BMP280_OK)
129:src/display.cpp **** {
130:src/display.cpp **** /* Getting the 32 bit compensated temperature */
131:src/display.cpp **** rslt = bmp280_get_comp_temp_32bit (&temp32, ucomp_data.uncomp_temp,
132:src/display.cpp **** bmp);
133:src/display.cpp ****
134:src/display.cpp **** rslt = bmp280_get_comp_pres_32bit (&pres32, ucomp_data.uncomp_press,
135:src/display.cpp **** bmp);
136:src/display.cpp ****
137:src/display.cpp **** #if defined USB_DEVICE
138:src/display.cpp **** /*
139:src/display.cpp **** * $--XDR,a,x.x,a,c--c, ..... *hh<CR><LF> \\
140:src/display.cpp ****
141:src/display.cpp **** Field Number:
142:src/display.cpp **** 1) Transducer Type
143:src/display.cpp **** 2) Measurement Data
144:src/display.cpp **** 3) Units of measurement
145:src/display.cpp **** 4) Name of transducer
146:src/display.cpp **** x) More of the same
ARM GAS C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s page 4
147:src/display.cpp **** n) Checksum
148:src/display.cpp ****
149:src/display.cpp **** Example:
150:src/display.cpp **** $IIXDR,C,19.52,C,TempAir*19
151:src/display.cpp **** $IIXDR,P,1.02481,B,Barometer*29
152:src/display.cpp ****
153:src/display.cpp **** Currently, OpenCPN recognizes the following transducers:
154:src/display.cpp ****
155:src/display.cpp **** Measured Value | Transducer Type | Measured Data | Unit of measure | Transducer Name
156:src/display.cpp **** ------------------------------------------------------------------------------------------------
157:src/display.cpp **** barometric | "P" pressure | 0.8..1.1 or 800..1100 | "B" bar | "Baromete
158:src/display.cpp **** air temperature| "C" temperature | 2 decimals | "C" celsius | "TempAir"
159:src/display.cpp **** pitch | "A" angle |-180..0 nose down 0..180 nose up | "D" degrees | "PTCH" or
160:src/display.cpp **** rolling | "A" angle |-180..0 L 0..180 R | "D" degrees | "ROLL"
161:src/display.cpp **** water temp | "C" temperature | 2 decimals | "C" celsius | "ENV_WATE
162:src/display.cpp **** */
163:src/display.cpp **** // compile a logger message over USB
164:src/display.cpp **** char buffer[200];
165:src/display.cpp **** int cnt = small_sprintf(buffer,"$MJXDR,C,%ld.%02ld,C,AirTemp,P,%01ld.%05ld,B,AirPres",temp32/10
166:src/display.cpp **** uint8_t sum=0;
167:src/display.cpp **** for(int i=1; i<cnt; i++)
168:src/display.cpp **** sum += buffer[i];
169:src/display.cpp **** cnt+= small_sprintf(buffer+cnt,"*%02X\n",sum);
170:src/display.cpp ****
171:src/display.cpp **** CDC_Transmit_FS(reinterpret_cast<uint8_t*>(&buffer[0]),cnt);
172:src/display.cpp **** #endif
173:src/display.cpp ****
174:src/display.cpp **** }
175:src/display.cpp **** }
176:src/display.cpp **** display1.gotoxy (0, 56);
177:src/display.cpp **** display1.printString (small_font, "T", 2, WHITE);
178:src/display.cpp **** display1.fontDigits (small_font, 4, 1, temp32/10, WHITE);
179:src/display.cpp **** display1.printString (small_font, " P", 2, WHITE);
180:src/display.cpp **** display1.fontDigits (small_font, 5, 0, pres32/100, WHITE);
181:src/display.cpp **** display1.printString (small_font, " ", 1, WHITE);
182:src/display.cpp ****
183:src/display.cpp ****
184:src/display.cpp **** display1.display ();
185:src/display.cpp ****
186:src/display.cpp **** }
27 .loc 1 186 1 view -0
28 .cfi_startproc
29 @ args = 0, pretend = 0, frame = 0
30 @ frame_needed = 0, uses_anonymous_args = 0
31 .loc 1 186 1 is_stmt 0 view .LVU1
32 0000 0128 cmp r0, #1
33 0002 00D0 beq .L7
34 .L4:
35 0004 7047 bx lr
36 .L7:
37 .loc 1 186 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 186 1 view .LVU3
42 000e 10B5 push {r4, lr}
43 .LCFI0:
ARM GAS C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s page 5
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
48:src/display.cpp ****
50 .loc 1 48 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:
48:src/display.cpp ****
59 .loc 1 48 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:
48:src/display.cpp ****
73 .loc 1 48 21 view .LVU6
74 003c FFF7FEFF bl _ZN18stm32_halDisplay_tC1EiiiPhP19__SPI_HandleTypeDefP12GPIO_TypeDeftS4_tS4_t
75 .LVL3:
40:src/display.cpp **** &hspi1,
76 .loc 1 40 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:
50:src/display.cpp ****
82 .loc 1 50 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]
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 186 1 view .LVU9
93 005c 08B0 add sp, sp, #32
94 .LCFI2:
95 .cfi_def_cfa_offset 8
ARM GAS C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s page 6
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
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:
ARM GAS C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s page 7
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:
54:src/display.cpp **** display1.reset ();
164 .loc 1 54 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
55:src/display.cpp ****
176 .loc 1 55 3 view .LVU16
55:src/display.cpp ****
177 .loc 1 55 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:
57:src/display.cpp **** display1.clearDisplay ();
182 .loc 1 57 3 is_stmt 1 view .LVU18
57:src/display.cpp **** display1.clearDisplay ();
183 .loc 1 57 17 is_stmt 0 view .LVU19
184 000c 2046 mov r0, r4
185 000e FFF7FEFF bl _ZN9display_t4initEv
186 .LVL10:
58:src/display.cpp ****
187 .loc 1 58 3 is_stmt 1 view .LVU20
58:src/display.cpp ****
188 .loc 1 58 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:
ARM GAS C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s page 8
60:src/display.cpp ****
193 .loc 1 60 3 is_stmt 1 view .LVU22
60:src/display.cpp ****
194 .loc 1 60 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:
62:src/display.cpp ****
205 .loc 1 62 3 is_stmt 1 view .LVU24
62:src/display.cpp ****
206 .loc 1 62 20 is_stmt 0 view .LVU25
207 0030 2046 mov r0, r4
208 0032 FFF7FEFF bl _ZN9display_t7displayEv
209 .LVL13:
64:src/display.cpp **** }
210 .loc 1 64 3 is_stmt 1 view .LVU26
64:src/display.cpp **** }
211 .loc 1 64 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
65:src/display.cpp ****
216 .loc 1 65 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
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:
ARM GAS C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s page 9
245 .LVL14:
246 .LFB97:
71:src/display.cpp ****
247 .loc 1 71 1 is_stmt 1 view -0
248 .cfi_startproc
249 @ args = 0, pretend = 0, frame = 208
250 @ frame_needed = 0, uses_anonymous_args = 0
71:src/display.cpp ****
251 .loc 1 71 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 B7B0 sub sp, sp, #220
263 .LCFI8:
264 .cfi_def_cfa_offset 248
265 0006 8046 mov r8, r0
73:src/display.cpp **** dial.draw_scale (0, 360, 8, 1, 45);
266 .loc 1 73 3 is_stmt 1 view .LVU31
73:src/display.cpp **** dial.draw_scale (0, 360, 8, 1, 45);
267 .loc 1 73 25 is_stmt 0 view .LVU32
268 0008 0021 movs r1, #0
269 000a AF48 ldr r0, .L32+8
270 .LVL15:
73:src/display.cpp **** dial.draw_scale (0, 360, 8, 1, 45);
271 .loc 1 73 25 view .LVU33
272 000c FFF7FEFF bl _ZN9display_t12clearDisplayE8colour_t
273 .LVL16:
74:src/display.cpp ****
274 .loc 1 74 3 is_stmt 1 view .LVU34
74:src/display.cpp ****
275 .loc 1 74 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 AA48 ldr r0, .L32+12
284 0022 FFF7FEFF bl _ZN13displayDial_t10draw_scaleEsshhs
285 .LVL17:
76:src/display.cpp **** if (loc.good)
286 .loc 1 76 3 is_stmt 1 view .LVU36
76:src/display.cpp **** if (loc.good)
287 .loc 1 76 30 is_stmt 0 view .LVU37
288 0026 AA4C ldr r4, .L32+16
289 0028 AA49 ldr r1, .L32+20
290 002a 2046 mov r0, r4
291 002c FFF7FEFF bl updateLocation
292 .LVL18:
ARM GAS C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s page 10
77:src/display.cpp **** {
293 .loc 1 77 3 is_stmt 1 view .LVU38
77:src/display.cpp **** {
294 .loc 1 77 11 is_stmt 0 view .LVU39
295 0030 E37B ldrb r3, [r4, #15] @ zero_extendqisi2
77:src/display.cpp **** {
296 .loc 1 77 3 view .LVU40
297 0032 33B1 cbz r3, .L19
79:src/display.cpp ****
298 .loc 1 79 7 is_stmt 1 view .LVU41
79:src/display.cpp ****
299 .loc 1 79 15 is_stmt 0 view .LVU42
300 0034 E069 ldr r0, [r4, #28] @ float
301 0036 FFF7FEFF bl __aeabi_f2iz
302 .LVL19:
303 003a A74B ldr r3, .L32+24
304 003c 1860 str r0, [r3]
81:src/display.cpp **** }
305 .loc 1 81 7 is_stmt 1 view .LVU43
81:src/display.cpp **** }
306 .loc 1 81 16 is_stmt 0 view .LVU44
307 003e 0023 movs r3, #0
308 0040 E373 strb r3, [r4, #15]
309 .L19:
83:src/display.cpp **** memset (loc.time, '-', 6);
310 .loc 1 83 3 is_stmt 1 view .LVU45
83:src/display.cpp **** memset (loc.time, '-', 6);
311 .loc 1 83 11 is_stmt 0 view .LVU46
312 0042 A34B ldr r3, .L32+16
313 0044 1B78 ldrb r3, [r3] @ zero_extendqisi2
83:src/display.cpp **** memset (loc.time, '-', 6);
314 .loc 1 83 3 view .LVU47
315 0046 562B cmp r3, #86
316 0048 00F0CD80 beq .L28
317 .L20:
89:src/display.cpp **** display1.printString (small_font, &loc.time[0], 2, WHITE);
318 .loc 1 89 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 ****
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 **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s page 11
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);
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; }
ARM GAS C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s page 12
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 9E4C ldr r4, .L32+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:
90:src/display.cpp **** display1.printString (small_font, ":", 1, WHITE);
337 .loc 1 90 3 is_stmt 1 view .LVU55
90:src/display.cpp **** display1.printString (small_font, ":", 1, WHITE);
338 .loc 1 90 24 is_stmt 0 view .LVU56
339 0054 9E4F ldr r7, .L32+16
340 0056 A14E ldr r6, .L32+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:
91:src/display.cpp **** display1.printString (small_font, &loc.time[2], 2, WHITE);
349 .loc 1 91 3 is_stmt 1 view .LVU57
91:src/display.cpp **** display1.printString (small_font, &loc.time[2], 2, WHITE);
350 .loc 1 91 24 is_stmt 0 view .LVU58
351 0068 DFF8C492 ldr r9, .L32+112
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:
92:src/display.cpp ****
ARM GAS C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s page 13
359 .loc 1 92 3 is_stmt 1 view .LVU59
92:src/display.cpp ****
360 .loc 1 92 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:
94:src/display.cpp **** display1.printString (small_font, &loc.time[4], 2, WHITE);
368 .loc 1 94 3 is_stmt 1 view .LVU61
94:src/display.cpp **** display1.printString (small_font, &loc.time[4], 2, WHITE);
369 .loc 1 94 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:
95:src/display.cpp **** int dial_ang = heading + 180;
377 .loc 1 95 3 is_stmt 1 view .LVU63
95:src/display.cpp **** int dial_ang = heading + 180;
378 .loc 1 95 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:
96:src/display.cpp **** dial.draw_needle (dial_ang);
386 .loc 1 96 3 is_stmt 1 view .LVU65
96:src/display.cpp **** dial.draw_needle (dial_ang);
387 .loc 1 96 26 is_stmt 0 view .LVU66
388 00a4 8C4B ldr r3, .L32+24
389 00a6 1968 ldr r1, [r3]
96:src/display.cpp **** dial.draw_needle (dial_ang);
390 .loc 1 96 7 view .LVU67
391 00a8 B431 adds r1, r1, #180
392 .LVL27:
97:src/display.cpp ****
393 .loc 1 97 3 is_stmt 1 view .LVU68
97:src/display.cpp ****
394 .loc 1 97 20 is_stmt 0 view .LVU69
395 00aa 09B2 sxth r1, r1
396 .LVL28:
97:src/display.cpp ****
397 .loc 1 97 20 view .LVU70
398 00ac 8748 ldr r0, .L32+12
399 00ae FFF7FEFF bl _ZN13displayDial_t11draw_needleEs
400 .LVL29:
99:src/display.cpp **** if (loc.valid == 'A')
401 .loc 1 99 3 is_stmt 1 view .LVU71
402 .LBB27:
403 .LBI27:
ARM GAS C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s page 14
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:
100:src/display.cpp **** {
418 .loc 1 100 3 is_stmt 1 view .LVU78
100:src/display.cpp **** {
419 .loc 1 100 11 is_stmt 0 view .LVU79
420 00ba 3B78 ldrb r3, [r7] @ zero_extendqisi2
100:src/display.cpp **** {
421 .loc 1 100 3 view .LVU80
422 00bc 412B cmp r3, #65
423 00be 00F09A80 beq .L29
105:src/display.cpp ****
424 .loc 1 105 5 is_stmt 1 view .LVU81
105:src/display.cpp ****
425 .loc 1 105 26 is_stmt 0 view .LVU82
426 00c2 0123 movs r3, #1
427 00c4 0093 str r3, [sp]
428 00c6 0423 movs r3, #4
429 00c8 854A ldr r2, .L32+32
430 00ca 8649 ldr r1, .L32+36
431 00cc 7E48 ldr r0, .L32+8
432 00ce FFF7FEFF bl _ZN9display_t11printStringER6font_tPKct8colour_t
433 .LVL31:
434 .L22:
107:src/display.cpp **** speedMPH = loc.speed / 1.815;
435 .loc 1 107 3 is_stmt 1 view .LVU83
107:src/display.cpp **** speedMPH = loc.speed / 1.815;
436 .loc 1 107 11 is_stmt 0 view .LVU84
437 00d2 7F4B ldr r3, .L32+16
438 00d4 1B78 ldrb r3, [r3] @ zero_extendqisi2
107:src/display.cpp **** speedMPH = loc.speed / 1.815;
439 .loc 1 107 3 view .LVU85
440 00d6 412B cmp r3, #65
441 00d8 00F09880 beq .L30
442 .L23:
110:src/display.cpp **** display1.printString (small_font, "Speed", 5, WHITE);
443 .loc 1 110 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
ARM GAS C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s page 15
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 00dc 7A4C ldr r4, .L32+8
452 00de 0026 movs r6, #0
453 00e0 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 00e2 0823 movs r3, #8
457 00e4 6361 str r3, [r4, #20]
458 .LVL33:
459 .loc 3 89 16 view .LVU92
460 .LBE30:
461 .LBE29:
111:src/display.cpp **** display1.gotoxy (0, 16);
462 .loc 1 111 3 is_stmt 1 view .LVU93
111:src/display.cpp **** display1.gotoxy (0, 16);
463 .loc 1 111 24 is_stmt 0 view .LVU94
464 00e6 DFF8F491 ldr r9, .L32+28
465 00ea 0125 movs r5, #1
466 00ec 0095 str r5, [sp]
467 00ee 0523 movs r3, #5
468 00f0 7D4A ldr r2, .L32+40
469 00f2 4946 mov r1, r9
470 00f4 2046 mov r0, r4
471 00f6 FFF7FEFF bl _ZN9display_t11printStringER6font_tPKct8colour_t
472 .LVL34:
112:src/display.cpp **** display1.fontDigits (large_font, 4, 1, speedMPH * 10);
473 .loc 1 112 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 00fa 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 00fc 1023 movs r3, #16
484 00fe 6361 str r3, [r4, #20]
485 .LVL35:
486 .loc 3 89 16 view .LVU101
487 .LBE32:
488 .LBE31:
113:src/display.cpp ****
489 .loc 1 113 3 is_stmt 1 view .LVU102
113:src/display.cpp ****
490 .loc 1 113 51 is_stmt 0 view .LVU103
491 0100 7A49 ldr r1, .L32+44
492 0102 7B4B ldr r3, .L32+48
493 0104 1868 ldr r0, [r3] @ float
494 0106 FFF7FEFF bl __aeabi_fmul
ARM GAS C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s page 16
495 .LVL36:
113:src/display.cpp ****
496 .loc 1 113 23 view .LVU104
497 010a 764F ldr r7, .L32+36
498 010c 0195 str r5, [sp, #4]
499 010e FFF7FEFF bl __aeabi_f2iz
500 .LVL37:
501 0112 0090 str r0, [sp]
502 0114 2B46 mov r3, r5
503 0116 0422 movs r2, #4
504 0118 3946 mov r1, r7
505 011a 2046 mov r0, r4
506 011c FFF7FEFF bl _ZN9display_t10fontDigitsER6font_thhi8colour_t
507 .LVL38:
115:src/display.cpp **** display1.printString (small_font, "Average", 7, WHITE);
508 .loc 1 115 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 0120 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 0122 2023 movs r3, #32
519 0124 6361 str r3, [r4, #20]
520 .LVL39:
521 .loc 3 89 16 view .LVU111
522 .LBE34:
523 .LBE33:
116:src/display.cpp **** display1.gotoxy (0, 40);
524 .loc 1 116 3 is_stmt 1 view .LVU112
116:src/display.cpp **** display1.gotoxy (0, 40);
525 .loc 1 116 24 is_stmt 0 view .LVU113
526 0126 0095 str r5, [sp]
527 0128 0723 movs r3, #7
528 012a 724A ldr r2, .L32+52
529 012c 4946 mov r1, r9
530 012e 2046 mov r0, r4
531 0130 FFF7FEFF bl _ZN9display_t11printStringER6font_tPKct8colour_t
532 .LVL40:
117:src/display.cpp **** display1.fontDigits (large_font, 4, 1, speedAVG * 10);
533 .loc 1 117 3 is_stmt 1 view .LVU114
534 .LBB35:
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 0134 2661 str r6, [r4, #16]
ARM GAS C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s page 17
541 .loc 3 89 5 is_stmt 1 view .LVU118
542 .loc 3 89 16 is_stmt 0 view .LVU119
543 0136 2823 movs r3, #40
544 0138 6361 str r3, [r4, #20]
545 .LVL41:
546 .loc 3 89 16 view .LVU120
547 .LBE36:
548 .LBE35:
118:src/display.cpp ****
549 .loc 1 118 3 is_stmt 1 view .LVU121
118:src/display.cpp ****
550 .loc 1 118 51 is_stmt 0 view .LVU122
551 013a 6C49 ldr r1, .L32+44
552 013c 6E4B ldr r3, .L32+56
553 013e 1868 ldr r0, [r3] @ float
554 0140 FFF7FEFF bl __aeabi_fmul
555 .LVL42:
118:src/display.cpp ****
556 .loc 1 118 23 view .LVU123
557 0144 0195 str r5, [sp, #4]
558 0146 FFF7FEFF bl __aeabi_f2iz
559 .LVL43:
560 014a 0090 str r0, [sp]
561 014c 2B46 mov r3, r5
562 014e 0422 movs r2, #4
563 0150 3946 mov r1, r7
564 0152 2046 mov r0, r4
565 0154 FFF7FEFF bl _ZN9display_t10fontDigitsER6font_thhi8colour_t
566 .LVL44:
120:src/display.cpp ****
567 .loc 1 120 3 is_stmt 1 view .LVU124
122:src/display.cpp **** {
568 .loc 1 122 3 view .LVU125
569 .LBB37:
122:src/display.cpp **** {
570 .loc 1 122 19 is_stmt 0 view .LVU126
571 0158 FFF7FEFF bl HAL_GetTick
572 .LVL45:
122:src/display.cpp **** {
573 .loc 1 122 22 view .LVU127
574 015c 674B ldr r3, .L32+60
575 015e 1B68 ldr r3, [r3]
576 0160 C01A subs r0, r0, r3
122:src/display.cpp **** {
577 .loc 1 122 3 view .LVU128
578 0162 6428 cmp r0, #100
579 0164 60D8 bhi .L31
580 .L24:
581 .LBE37:
176:src/display.cpp **** display1.printString (small_font, "T", 2, WHITE);
582 .loc 1 176 3 is_stmt 1 view .LVU129
583 .LVL46:
584 .LBB43:
585 .LBI43:
86:../libOLED/inc/libOLED/displayclass.H **** {
586 .loc 3 86 3 view .LVU130
587 .LBB44:
ARM GAS C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s page 18
88:../libOLED/inc/libOLED/displayclass.H **** m_cursor_y = y;
588 .loc 3 88 5 view .LVU131
88:../libOLED/inc/libOLED/displayclass.H **** m_cursor_y = y;
589 .loc 3 88 16 is_stmt 0 view .LVU132
590 0166 584C ldr r4, .L32+8
591 0168 0027 movs r7, #0
592 016a 2761 str r7, [r4, #16]
593 .loc 3 89 5 is_stmt 1 view .LVU133
594 .loc 3 89 16 is_stmt 0 view .LVU134
595 016c 3823 movs r3, #56
596 016e 6361 str r3, [r4, #20]
597 .LVL47:
598 .loc 3 89 16 view .LVU135
599 .LBE44:
600 .LBE43:
177:src/display.cpp **** display1.fontDigits (small_font, 4, 1, temp32/10, WHITE);
601 .loc 1 177 3 is_stmt 1 view .LVU136
177:src/display.cpp **** display1.fontDigits (small_font, 4, 1, temp32/10, WHITE);
602 .loc 1 177 24 is_stmt 0 view .LVU137
603 0170 5A4E ldr r6, .L32+28
604 0172 0125 movs r5, #1
605 0174 0095 str r5, [sp]
606 0176 0223 movs r3, #2
607 0178 614A ldr r2, .L32+64
608 017a 3146 mov r1, r6
609 017c 2046 mov r0, r4
610 017e FFF7FEFF bl _ZN9display_t11printStringER6font_tPKct8colour_t
611 .LVL48:
178:src/display.cpp **** display1.printString (small_font, " P", 2, WHITE);
612 .loc 1 178 3 is_stmt 1 view .LVU138
178:src/display.cpp **** display1.printString (small_font, " P", 2, WHITE);
613 .loc 1 178 23 is_stmt 0 view .LVU139
614 0182 604B ldr r3, .L32+68
615 0184 1B68 ldr r3, [r3]
178:src/display.cpp **** display1.printString (small_font, " P", 2, WHITE);
616 .loc 1 178 48 view .LVU140
617 0186 604A ldr r2, .L32+72
618 0188 82FB0312 smull r1, r2, r2, r3
619 018c DB17 asrs r3, r3, #31
620 018e C3EBA203 rsb r3, r3, r2, asr #2
178:src/display.cpp **** display1.printString (small_font, " P", 2, WHITE);
621 .loc 1 178 23 view .LVU141
622 0192 0195 str r5, [sp, #4]
623 0194 0093 str r3, [sp]
624 0196 2B46 mov r3, r5
625 0198 0422 movs r2, #4
626 019a 3146 mov r1, r6
627 019c 2046 mov r0, r4
628 019e FFF7FEFF bl _ZN9display_t10fontDigitsER6font_thhi8colour_t
629 .LVL49:
179:src/display.cpp **** display1.fontDigits (small_font, 5, 0, pres32/100, WHITE);
630 .loc 1 179 3 is_stmt 1 view .LVU142
179:src/display.cpp **** display1.fontDigits (small_font, 5, 0, pres32/100, WHITE);
631 .loc 1 179 24 is_stmt 0 view .LVU143
632 01a2 0095 str r5, [sp]
633 01a4 0223 movs r3, #2
634 01a6 594A ldr r2, .L32+76
ARM GAS C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s page 19
635 01a8 3146 mov r1, r6
636 01aa 2046 mov r0, r4
637 01ac FFF7FEFF bl _ZN9display_t11printStringER6font_tPKct8colour_t
638 .LVL50:
180:src/display.cpp **** display1.printString (small_font, " ", 1, WHITE);
639 .loc 1 180 3 is_stmt 1 view .LVU144
180:src/display.cpp **** display1.printString (small_font, " ", 1, WHITE);
640 .loc 1 180 48 is_stmt 0 view .LVU145
641 01b0 574B ldr r3, .L32+80
642 01b2 1B68 ldr r3, [r3]
643 01b4 574A ldr r2, .L32+84
644 01b6 A2FB0323 umull r2, r3, r2, r3
645 01ba 5B09 lsrs r3, r3, #5
180:src/display.cpp **** display1.printString (small_font, " ", 1, WHITE);
646 .loc 1 180 23 view .LVU146
647 01bc 0195 str r5, [sp, #4]
648 01be 0093 str r3, [sp]
649 01c0 3B46 mov r3, r7
650 01c2 0522 movs r2, #5
651 01c4 3146 mov r1, r6
652 01c6 2046 mov r0, r4
653 01c8 FFF7FEFF bl _ZN9display_t10fontDigitsER6font_thhi8colour_t
654 .LVL51:
181:src/display.cpp ****
655 .loc 1 181 3 is_stmt 1 view .LVU147
181:src/display.cpp ****
656 .loc 1 181 24 is_stmt 0 view .LVU148
657 01cc 0095 str r5, [sp]
658 01ce 2B46 mov r3, r5
659 01d0 514A ldr r2, .L32+88
660 01d2 3146 mov r1, r6
661 01d4 2046 mov r0, r4
662 01d6 FFF7FEFF bl _ZN9display_t11printStringER6font_tPKct8colour_t
663 .LVL52:
184:src/display.cpp ****
664 .loc 1 184 3 is_stmt 1 view .LVU149
184:src/display.cpp ****
665 .loc 1 184 20 is_stmt 0 view .LVU150
666 01da 2046 mov r0, r4
667 01dc FFF7FEFF bl _ZN9display_t7displayEv
668 .LVL53:
669 .loc 1 186 1 view .LVU151
670 01e0 37B0 add sp, sp, #220
671 .LCFI9:
672 .cfi_remember_state
673 .cfi_def_cfa_offset 28
674 @ sp needed
675 01e2 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc}
676 .LVL54:
677 .L28:
678 .LCFI10:
679 .cfi_restore_state
84:src/display.cpp ****
680 .loc 1 84 5 is_stmt 1 view .LVU152
84:src/display.cpp ****
681 .loc 1 84 12 is_stmt 0 view .LVU153
682 01e6 3A4B ldr r3, .L32+16
ARM GAS C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s page 20
683 01e8 4FF02D32 mov r2, #757935405
684 01ec C3F80120 str r2, [r3, #1] @ unaligned
685 01f0 A3F80520 strh r2, [r3, #5] @ unaligned
686 01f4 2AE7 b .L20
687 .L29:
102:src/display.cpp **** }
688 .loc 1 102 7 is_stmt 1 view .LVU154
102:src/display.cpp **** }
689 .loc 1 102 27 is_stmt 0 view .LVU155
690 01f6 0195 str r5, [sp, #4]
691 01f8 374B ldr r3, .L32+24
692 01fa 1B68 ldr r3, [r3]
693 01fc 0093 str r3, [sp]
694 01fe FF23 movs r3, #255
695 0200 0322 movs r2, #3
696 0202 3849 ldr r1, .L32+36
697 0204 2046 mov r0, r4
698 0206 FFF7FEFF bl _ZN9display_t10fontDigitsER6font_thhi8colour_t
699 .LVL55:
700 020a 62E7 b .L22
701 .L30:
108:src/display.cpp ****
702 .loc 1 108 5 is_stmt 1 view .LVU156
108:src/display.cpp ****
703 .loc 1 108 20 is_stmt 0 view .LVU157
704 020c 304B ldr r3, .L32+16
705 020e 186A ldr r0, [r3, #32] @ float
706 0210 FFF7FEFF bl __aeabi_f2d
707 .LVL56:
108:src/display.cpp ****
708 .loc 1 108 26 view .LVU158
709 0214 2AA3 adr r3, .L32
710 0216 D3E90023 ldrd r2, [r3]
711 021a FFF7FEFF bl __aeabi_ddiv
712 .LVL57:
713 021e FFF7FEFF bl __aeabi_d2f
714 .LVL58:
108:src/display.cpp ****
715 .loc 1 108 14 view .LVU159
716 0222 334B ldr r3, .L32+48
717 0224 1860 str r0, [r3] @ float
718 0226 59E7 b .L23
719 .L31:
720 .LBB45:
721 .LBB38:
124:src/display.cpp **** /* Reading the raw data from sensor */
722 .loc 1 124 7 is_stmt 1 view .LVU160
124:src/display.cpp **** /* Reading the raw data from sensor */
723 .loc 1 124 30 is_stmt 0 view .LVU161
724 0228 FFF7FEFF bl HAL_GetTick
725 .LVL59:
124:src/display.cpp **** /* Reading the raw data from sensor */
726 .loc 1 124 16 view .LVU162
727 022c 334B ldr r3, .L32+60
728 022e 1860 str r0, [r3]
126:src/display.cpp ****
729 .loc 1 126 7 is_stmt 1 view .LVU163
ARM GAS C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s page 21
126:src/display.cpp ****
730 .loc 1 126 37 is_stmt 0 view .LVU164
731 0230 4146 mov r1, r8
732 0232 34A8 add r0, sp, #208
733 0234 FFF7FEFF bl bmp280_get_uncomp_data
734 .LVL60:
126:src/display.cpp ****
735 .loc 1 126 12 view .LVU165
736 0238 384B ldr r3, .L32+92
737 023a 1860 str r0, [r3]
128:src/display.cpp **** {
738 .loc 1 128 7 is_stmt 1 view .LVU166
739 .LBB39:
740 023c 0028 cmp r0, #0
741 023e 92D1 bne .L24
742 .LBB40:
131:src/display.cpp **** bmp);
743 .loc 1 131 4 view .LVU167
131:src/display.cpp **** bmp);
744 .loc 1 131 38 is_stmt 0 view .LVU168
745 0240 304D ldr r5, .L32+68
746 0242 4246 mov r2, r8
747 0244 3499 ldr r1, [sp, #208]
748 0246 2846 mov r0, r5
749 0248 FFF7FEFF bl bmp280_get_comp_temp_32bit
750 .LVL61:
131:src/display.cpp **** bmp);
751 .loc 1 131 9 view .LVU169
752 024c 334E ldr r6, .L32+92
753 024e 3060 str r0, [r6]
134:src/display.cpp **** bmp);
754 .loc 1 134 4 is_stmt 1 view .LVU170
134:src/display.cpp **** bmp);
755 .loc 1 134 38 is_stmt 0 view .LVU171
756 0250 2F4C ldr r4, .L32+80
757 0252 4246 mov r2, r8
758 0254 3599 ldr r1, [sp, #212]
759 0256 2046 mov r0, r4
760 0258 FFF7FEFF bl bmp280_get_comp_pres_32bit
761 .LVL62:
134:src/display.cpp **** bmp);
762 .loc 1 134 9 view .LVU172
763 025c 3060 str r0, [r6]
164:src/display.cpp **** int cnt = small_sprintf(buffer,"$MJXDR,C,%ld.%02ld,C,AirTemp,P,%01ld.%05ld,B,AirPres",temp32/10
764 .loc 1 164 5 is_stmt 1 view .LVU173
165:src/display.cpp **** uint8_t sum=0;
765 .loc 1 165 5 view .LVU174
165:src/display.cpp **** uint8_t sum=0;
766 .loc 1 165 28 is_stmt 0 view .LVU175
767 025e 2B68 ldr r3, [r5]
768 0260 2468 ldr r4, [r4]
769 0262 2C49 ldr r1, .L32+84
770 0264 81FB0321 smull r2, r1, r1, r3
771 0268 DA17 asrs r2, r3, #31
772 026a C2EB6112 rsb r2, r2, r1, asr #5
773 026e 6109 lsrs r1, r4, #5
774 0270 2B48 ldr r0, .L32+96
ARM GAS C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s page 22
775 0272 A0FB0101 umull r0, r1, r0, r1
776 0276 C909 lsrs r1, r1, #7
777 0278 2A48 ldr r0, .L32+100
778 027a 00FB1140 mls r0, r0, r1, r4
779 027e 0190 str r0, [sp, #4]
780 0280 0091 str r1, [sp]
781 0282 6421 movs r1, #100
782 0284 01FB1233 mls r3, r1, r2, r3
783 0288 2749 ldr r1, .L32+104
784 028a 02A8 add r0, sp, #8
785 028c FFF7FEFF bl small_sprintf
786 .LVL63:
787 0290 0446 mov r4, r0
788 .LVL64:
166:src/display.cpp **** for(int i=1; i<cnt; i++)
789 .loc 1 166 5 is_stmt 1 view .LVU176
167:src/display.cpp **** sum += buffer[i];
790 .loc 1 167 5 view .LVU177
791 .LBB41:
167:src/display.cpp **** sum += buffer[i];
792 .loc 1 167 13 is_stmt 0 view .LVU178
793 0292 0123 movs r3, #1
794 .LBE41:
166:src/display.cpp **** for(int i=1; i<cnt; i++)
795 .loc 1 166 13 view .LVU179
796 0294 0022 movs r2, #0
797 .LVL65:
798 .L26:
799 .LBB42:
167:src/display.cpp **** sum += buffer[i];
800 .loc 1 167 19 discriminator 3 view .LVU180
801 0296 A342 cmp r3, r4
802 0298 07DA bge .L25
168:src/display.cpp **** cnt+= small_sprintf(buffer+cnt,"*%02X\n",sum);
803 .loc 1 168 7 is_stmt 1 discriminator 2 view .LVU181
168:src/display.cpp **** cnt+= small_sprintf(buffer+cnt,"*%02X\n",sum);
804 .loc 1 168 22 is_stmt 0 discriminator 2 view .LVU182
805 029a 36A9 add r1, sp, #216
806 029c 1944 add r1, r1, r3
807 029e 11F8D01C ldrb r1, [r1, #-208] @ zero_extendqisi2
168:src/display.cpp **** cnt+= small_sprintf(buffer+cnt,"*%02X\n",sum);
808 .loc 1 168 11 discriminator 2 view .LVU183
809 02a2 0A44 add r2, r2, r1
810 .LVL66:
168:src/display.cpp **** cnt+= small_sprintf(buffer+cnt,"*%02X\n",sum);
811 .loc 1 168 11 discriminator 2 view .LVU184
812 02a4 D2B2 uxtb r2, r2
813 .LVL67:
167:src/display.cpp **** sum += buffer[i];
814 .loc 1 167 5 discriminator 2 view .LVU185
815 02a6 0133 adds r3, r3, #1
816 .LVL68:
167:src/display.cpp **** sum += buffer[i];
817 .loc 1 167 5 discriminator 2 view .LVU186
818 02a8 F5E7 b .L26
819 .L25:
167:src/display.cpp **** sum += buffer[i];
ARM GAS C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s page 23
820 .loc 1 167 5 discriminator 2 view .LVU187
821 .LBE42:
169:src/display.cpp ****
822 .loc 1 169 5 is_stmt 1 view .LVU188
169:src/display.cpp ****
823 .loc 1 169 24 is_stmt 0 view .LVU189
824 02aa 2049 ldr r1, .L32+108
825 02ac 02AB add r3, sp, #8
826 .LVL69:
169:src/display.cpp ****
827 .loc 1 169 24 view .LVU190
828 02ae 1819 adds r0, r3, r4
829 .LVL70:
169:src/display.cpp ****
830 .loc 1 169 24 view .LVU191
831 02b0 FFF7FEFF bl small_sprintf
832 .LVL71:
169:src/display.cpp ****
833 .loc 1 169 8 view .LVU192
834 02b4 2118 adds r1, r4, r0
835 .LVL72:
171:src/display.cpp **** #endif
836 .loc 1 171 5 is_stmt 1 view .LVU193
171:src/display.cpp **** #endif
837 .loc 1 171 20 is_stmt 0 view .LVU194
838 02b6 89B2 uxth r1, r1
839 .LVL73:
171:src/display.cpp **** #endif
840 .loc 1 171 20 view .LVU195
841 02b8 02A8 add r0, sp, #8
842 .LVL74:
171:src/display.cpp **** #endif
843 .loc 1 171 20 view .LVU196
844 02ba FFF7FEFF bl CDC_Transmit_FS
845 .LVL75:
846 .LBE40:
847 02be 52E7 b .L24
848 .L33:
849 .align 3
850 .L32:
851 02c0 0AD7A370 .word 1889785610
852 02c4 3D0AFD3F .word 1073547837
853 02c8 00000000 .word .LANCHOR0
854 02cc 00000000 .word .LANCHOR2
855 02d0 00000000 .word .LANCHOR3
856 02d4 00000000 .word uc1
857 02d8 00000000 .word .LANCHOR4
858 02dc 00000000 .word small_font
859 02e0 04000000 .word .LC1
860 02e4 00000000 .word large_font
861 02e8 0C000000 .word .LC2
862 02ec 00002041 .word 1092616192
863 02f0 00000000 .word .LANCHOR5
864 02f4 14000000 .word .LC3
865 02f8 00000000 .word .LANCHOR6
866 02fc 00000000 .word .LANCHOR7
867 0300 5C000000 .word .LC6
ARM GAS C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s page 24
868 0304 00000000 .word .LANCHOR9
869 0308 67666666 .word 1717986919
870 030c 60000000 .word .LC7
871 0310 00000000 .word .LANCHOR10
872 0314 1F85EB51 .word 1374389535
873 0318 64000000 .word .LC8
874 031c 00000000 .word .LANCHOR8
875 0320 C55A7C0A .word 175921861
876 0324 A0860100 .word 100000
877 0328 1C000000 .word .LC4
878 032c 54000000 .word .LC5
879 0330 00000000 .word .LC0
880 .LBE39:
881 .LBE38:
882 .LBE45:
883 .cfi_endproc
884 .LFE97:
886 .section .text._ZN18stm32_halDisplay_tD0Ev,"axG",%progbits,_ZN18stm32_halDisplay_tD5Ev,comdat
887 .align 1
888 .weak _ZN18stm32_halDisplay_tD0Ev
889 .syntax unified
890 .thumb
891 .thumb_func
892 .fpu softvfp
894 _ZN18stm32_halDisplay_tD0Ev:
895 .LVL76:
896 .LFB102:
897 .loc 2 14 7 is_stmt 1 view -0
898 .cfi_startproc
899 @ args = 0, pretend = 0, frame = 0
900 @ frame_needed = 0, uses_anonymous_args = 0
901 .loc 2 14 7 is_stmt 0 view .LVU198
902 0000 10B5 push {r4, lr}
903 .LCFI11:
904 .cfi_def_cfa_offset 8
905 .cfi_offset 4, -8
906 .cfi_offset 14, -4
907 0002 0446 mov r4, r0
908 .LVL77:
909 .LBB46:
910 .LBI46:
911 .loc 2 14 7 is_stmt 1 view .LVU199
912 .LBB47:
913 0004 044B ldr r3, .L36
914 0006 0360 str r3, [r0]
915 0008 FFF7FEFF bl _ZN9display_tD2Ev
916 .LVL78:
917 .loc 2 14 7 is_stmt 0 view .LVU200
918 .LBE47:
919 .LBE46:
920 000c 4021 movs r1, #64
921 000e 2046 mov r0, r4
922 0010 FFF7FEFF bl _ZdlPvj
923 .LVL79:
924 0014 2046 mov r0, r4
925 0016 10BD pop {r4, pc}
926 .LVL80:
ARM GAS C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s page 25
927 .L37:
928 .loc 2 14 7 view .LVU201
929 .align 2
930 .L36:
931 0018 08000000 .word _ZTV18stm32_halDisplay_t+8
932 .cfi_endproc
933 .LFE102:
935 .section .text._GLOBAL__sub_I_speedMPH,"ax",%progbits
936 .align 1
937 .syntax unified
938 .thumb
939 .thumb_func
940 .fpu softvfp
942 _GLOBAL__sub_I_speedMPH:
943 .LFB103:
944 .loc 1 186 1 is_stmt 1 view -0
945 .cfi_startproc
946 @ args = 0, pretend = 0, frame = 0
947 @ frame_needed = 0, uses_anonymous_args = 0
948 0000 08B5 push {r3, lr}
949 .LCFI12:
950 .cfi_def_cfa_offset 8
951 .cfi_offset 3, -8
952 .cfi_offset 14, -4
953 .loc 1 186 1 is_stmt 0 view .LVU203
954 0002 4FF6FF71 movw r1, #65535
955 0006 0120 movs r0, #1
956 0008 FFF7FEFF bl _Z41__static_initialization_and_destruction_0ii
957 .LVL81:
958 000c 08BD pop {r3, pc}
959 .cfi_endproc
960 .LFE103:
962 .section .init_array,"aw",%init_array
963 .align 2
964 0000 00000000 .word _GLOBAL__sub_I_speedMPH(target1)
965 .global fontBuf
966 .global dial
967 .global display1
968 .global displayBuffer
969 .global rslt
970 .global pres32
971 .global temp32
972 .global lastTick
973 .global loc
974 .global heading
975 .global speedDist
976 .global speedTimer
977 .global speedAVG
978 .global speedMPH
979 .section .bss.dial,"aw",%nobits
980 .align 2
981 .set .LANCHOR2,. + 0
984 dial:
985 0000 00000000 .space 16
985 00000000
985 00000000
985 00000000
ARM GAS C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s page 26
986 .section .bss.display1,"aw",%nobits
987 .align 2
988 .set .LANCHOR0,. + 0
991 display1:
992 0000 00000000 .space 64
992 00000000
992 00000000
992 00000000
992 00000000
993 .section .bss.displayBuffer,"aw",%nobits
994 .align 2
995 .set .LANCHOR1,. + 0
998 displayBuffer:
999 0000 00000000 .space 1024
999 00000000
999 00000000
999 00000000
999 00000000
1000 .section .bss.heading,"aw",%nobits
1001 .align 2
1002 .set .LANCHOR4,. + 0
1005 heading:
1006 0000 00000000 .space 4
1007 .section .bss.lastTick,"aw",%nobits
1008 .align 2
1009 .set .LANCHOR7,. + 0
1012 lastTick:
1013 0000 00000000 .space 4
1014 .section .bss.loc,"aw",%nobits
1015 .align 3
1016 .set .LANCHOR3,. + 0
1019 loc:
1020 0000 00000000 .space 80
1020 00000000
1020 00000000
1020 00000000
1020 00000000
1021 .section .bss.pres32,"aw",%nobits
1022 .align 2
1023 .set .LANCHOR10,. + 0
1026 pres32:
1027 0000 00000000 .space 4
1028 .section .bss.rslt,"aw",%nobits
1029 .align 2
1030 .set .LANCHOR8,. + 0
1033 rslt:
1034 0000 00000000 .space 4
1035 .section .bss.speedAVG,"aw",%nobits
1036 .align 2
1037 .set .LANCHOR6,. + 0
1040 speedAVG:
1041 0000 00000000 .space 4
1042 .section .bss.speedDist,"aw",%nobits
1043 .align 2
1046 speedDist:
1047 0000 00000000 .space 4
1048 .section .bss.speedMPH,"aw",%nobits
ARM GAS C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s page 27
1049 .align 2
1050 .set .LANCHOR5,. + 0
1053 speedMPH:
1054 0000 00000000 .space 4
1055 .section .bss.speedTimer,"aw",%nobits
1056 .align 2
1059 speedTimer:
1060 0000 00000000 .space 4
1061 .section .bss.temp32,"aw",%nobits
1062 .align 2
1063 .set .LANCHOR9,. + 0
1066 temp32:
1067 0000 00000000 .space 4
1068 .section .data.fontBuf,"aw"
1069 .align 2
1072 fontBuf:
1073 0000 30313233 .ascii "01234567\000"
1073 34353637
1073 00
1074 .section .rodata.cc_run.str1.4,"aMS",%progbits,1
1075 .align 2
1076 .LC0:
1077 0000 3A00 .ascii ":\000"
1078 0002 0000 .space 2
1079 .LC1:
1080 0004 4750533F .ascii "GPS?\000"
1080 00
1081 0009 000000 .space 3
1082 .LC2:
1083 000c 53706565 .ascii "Speed\000"
1083 6400
1084 0012 0000 .space 2
1085 .LC3:
1086 0014 41766572 .ascii "Average\000"
1086 61676500
1087 .LC4:
1088 001c 244D4A58 .ascii "$MJXDR,C,%ld.%02ld,C,AirTemp,P,%01ld.%05ld,B,AirPre"
1088 44522C43
1088 2C256C64
1088 2E253032
1088 6C642C43
1089 004f 7300 .ascii "s\000"
1090 0051 000000 .space 3
1091 .LC5:
1092 0054 2A253032 .ascii "*%02X\012\000"
1092 580A00
1093 005b 00 .space 1
1094 .LC6:
1095 005c 5400 .ascii "T\000"
1096 005e 0000 .space 2
1097 .LC7:
1098 0060 205000 .ascii " P\000"
1099 0063 00 .space 1
1100 .LC8:
1101 0064 2000 .ascii " \000"
1102 .text
1103 .Letext0:
ARM GAS C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s page 28
1104 .file 4 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
1105 .file 5 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
1106 .file 6 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
1107 .file 7 "Drivers/CMSIS/Include/core_cm3.h"
1108 .file 8 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h"
1109 .file 9 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h"
1110 .file 10 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
1111 .file 11 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h"
1112 .file 12 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h"
1113 .file 13 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_spi.h"
1114 .file 14 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h"
1115 .file 15 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h"
1116 .file 16 "Core/Inc/main.h"
1117 .file 17 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
1118 .file 18 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
1119 .file 19 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
1120 .file 20 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
1121 .file 21 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
1122 .file 22 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
1123 .file 23 "../libSerial/inc/libSerial/serial.h"
1124 .file 24 "../libNMEA/inc/libNMEA/nmea.h"
1125 .file 25 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
1126 .file 26 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
1127 .file 27 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
1128 .file 28 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
1129 .file 29 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
1130 .file 30 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
1131 .file 31 "../libOLED/inc/libOLED/fontclass.H"
1132 .file 32 "../libOLED/inc/libOLED/displayDial.H"
1133 .file 33 "../libBMP280/inc/libBMP280/bmp280_defs.h"
1134 .file 34 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
1135 .file 35 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
1136 .file 36 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h"
1137 .file 37 "Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc/usbd_cdc.h"
1138 .file 38 "USB_DEVICE/App/usbd_cdc_if.h"
1139 .file 39 "../libBMP280/inc/libBMP280/bmp280.h"
1140 .file 40 "../libSmallPrintf/inc/libSmallPrintf/small_printf.h"
1141 .file 41 "<built-in>"
ARM GAS C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s page 29
DEFINED SYMBOLS
*ABS*:0000000000000000 display.cpp
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:16 .text._Z41__static_initialization_and_destruction_0ii:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:23 .text._Z41__static_initialization_and_destruction_0ii:0000000000000000 _Z41__static_initialization_and_destruction_0ii
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:101 .text._Z41__static_initialization_and_destruction_0ii:0000000000000060 $d
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:118 .text._ZN18stm32_halDisplay_tD2Ev:0000000000000000 _ZN18stm32_halDisplay_tD1Ev
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:111 .text._ZN18stm32_halDisplay_tD2Ev:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:118 .text._ZN18stm32_halDisplay_tD2Ev:0000000000000000 _ZN18stm32_halDisplay_tD2Ev
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:148 .text._ZN18stm32_halDisplay_tD2Ev:0000000000000010 $d
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:155 .text.cc_init:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:162 .text.cc_init:0000000000000000 cc_init
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:225 .text.cc_init:0000000000000048 $d
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:237 .text.cc_run:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:244 .text.cc_run:0000000000000000 cc_run
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:851 .text.cc_run:00000000000002c0 $d
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:887 .text._ZN18stm32_halDisplay_tD0Ev:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:894 .text._ZN18stm32_halDisplay_tD0Ev:0000000000000000 _ZN18stm32_halDisplay_tD0Ev
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:931 .text._ZN18stm32_halDisplay_tD0Ev:0000000000000018 $d
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:936 .text._GLOBAL__sub_I_speedMPH:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:942 .text._GLOBAL__sub_I_speedMPH:0000000000000000 _GLOBAL__sub_I_speedMPH
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:963 .init_array:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1072 .data.fontBuf:0000000000000000 fontBuf
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:984 .bss.dial:0000000000000000 dial
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:991 .bss.display1:0000000000000000 display1
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:998 .bss.displayBuffer:0000000000000000 displayBuffer
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1033 .bss.rslt:0000000000000000 rslt
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1026 .bss.pres32:0000000000000000 pres32
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1066 .bss.temp32:0000000000000000 temp32
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1012 .bss.lastTick:0000000000000000 lastTick
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1019 .bss.loc:0000000000000000 loc
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1005 .bss.heading:0000000000000000 heading
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1046 .bss.speedDist:0000000000000000 speedDist
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1059 .bss.speedTimer:0000000000000000 speedTimer
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1040 .bss.speedAVG:0000000000000000 speedAVG
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1053 .bss.speedMPH:0000000000000000 speedMPH
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:980 .bss.dial:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:987 .bss.display1:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:994 .bss.displayBuffer:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1001 .bss.heading:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1008 .bss.lastTick:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1015 .bss.loc:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1022 .bss.pres32:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1029 .bss.rslt:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1036 .bss.speedAVG:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1043 .bss.speedDist:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1049 .bss.speedMPH:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1056 .bss.speedTimer:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1062 .bss.temp32:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1069 .data.fontBuf:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1075 .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
ARM GAS C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s page 30
__dso_handle
_ZN9display_tD2Ev
_ZTV18stm32_halDisplay_t
_ZN9display_t5resetEv
_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
bmp280_get_uncomp_data
bmp280_get_comp_temp_32bit
bmp280_get_comp_pres_32bit
small_sprintf
CDC_Transmit_FS
uc1
small_font
large_font
_ZdlPvj