Subversion Repositories dashGPS

Rev

Rev 16 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. ARM GAS  C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s                    page 1
  2.  
  3.  
  4.    1                            .cpu cortex-m3
  5.    2                            .eabi_attribute 20, 1
  6.    3                            .eabi_attribute 21, 1
  7.    4                            .eabi_attribute 23, 3
  8.    5                            .eabi_attribute 24, 1
  9.    6                            .eabi_attribute 25, 1
  10.    7                            .eabi_attribute 26, 1
  11.    8                            .eabi_attribute 30, 1
  12.    9                            .eabi_attribute 34, 1
  13.   10                            .eabi_attribute 18, 4
  14.   11                            .file   "display.cpp"
  15.   12                            .text
  16.   13                    .Ltext0:
  17.   14                            .cfi_sections   .debug_frame
  18.   15                            .section        .text._Z41__static_initialization_and_destruction_0ii,"ax",%progbits
  19.   16                            .align  1
  20.   17                            .arch armv7-m
  21.   18                            .syntax unified
  22.   19                            .thumb
  23.   20                            .thumb_func
  24.   21                            .fpu softvfp
  25.   23                    _Z41__static_initialization_and_destruction_0ii:
  26.   24                    .LVL0:
  27.   25                    .LFB98:
  28.   26                            .file 1 "src/display.cpp"
  29.    1:src/display.cpp **** #include "main.h"
  30.    2:src/display.cpp **** #include "libNMEA/nmea.h"
  31.    3:src/display.cpp **** #include <cstring>
  32.    4:src/display.cpp **** #include "libOLED/stm32_halDisplay.H"
  33.    5:src/display.cpp **** #include "libOLED/fontclass.H"
  34.    6:src/display.cpp **** #include "libOLED/displayDial.H"
  35.    7:src/display.cpp ****
  36.    8:src/display.cpp **** #include "libBMP280/bmp280.h"
  37.    9:src/display.cpp ****
  38.   10:src/display.cpp **** #include "libSmallPrintf/small_printf.h"
  39.   11:src/display.cpp ****
  40.   12:src/display.cpp **** #if defined USB_DEVICE
  41.   13:src/display.cpp **** #include "usbd_cdc_if.h"
  42.   14:src/display.cpp **** #endif
  43.   15:src/display.cpp ****
  44.   16:src/display.cpp **** namespace
  45.   17:src/display.cpp **** {
  46.   18:src/display.cpp ****   int const WIDTH = 128;
  47.   19:src/display.cpp ****   int const HEIGHT = 64;
  48.   20:src/display.cpp ****   int const DISPLAY_RAMWIDTH = 132;
  49.   21:src/display.cpp ****
  50.   22:src/display.cpp **** }
  51.   23:src/display.cpp ****
  52.   24:src/display.cpp **** float speedMPH = 0.0;
  53.   25:src/display.cpp **** float speedAVG = 0.0;
  54.   26:src/display.cpp **** int speedTimer  = 0;
  55.   27:src/display.cpp **** float speedDist = 0.0;
  56.   28:src/display.cpp ****
  57.   29:src/display.cpp ****
  58.   30:src/display.cpp **** int heading = 0;
  59.   31:src/display.cpp **** Location loc;
  60.   32:src/display.cpp ****
  61. ARM GAS  C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s                   page 2
  62.  
  63.  
  64.   33:src/display.cpp **** uint32_t lastTick = 0;
  65.   34:src/display.cpp **** int32_t temp32 = 0;
  66.   35:src/display.cpp **** uint32_t pres32 = 0;
  67.   36:src/display.cpp **** int32_t rslt;
  68.   37:src/display.cpp ****
  69.   38:src/display.cpp **** uint8_t displayBuffer[dataSize (WIDTH, HEIGHT)];
  70.   39:src/display.cpp ****
  71.   40:src/display.cpp **** stm32_halDisplay_t display1 (WIDTH, HEIGHT, DISPLAY_RAMWIDTH, displayBuffer,
  72.   41:src/display.cpp ****                            &hspi1,
  73.   42:src/display.cpp ****
  74.   43:src/display.cpp ****                            SPI_CD_GPIO_Port,
  75.   44:src/display.cpp ****                            SPI_CD_Pin,
  76.   45:src/display.cpp ****                            SPI_RESET_GPIO_Port,
  77.   46:src/display.cpp ****                            SPI_RESET_Pin,
  78.   47:src/display.cpp ****                            SPI_NSS1_GPIO_Port,
  79.   48:src/display.cpp ****                            SPI_NSS1_Pin);
  80.   49:src/display.cpp ****
  81.   50:src/display.cpp **** displayDial_t dial (display1, 96, 32, 32, 180);
  82.   51:src/display.cpp ****
  83.   52:src/display.cpp **** extern "C" void
  84.   53:src/display.cpp **** cc_init ()
  85.   54:src/display.cpp **** {
  86.   55:src/display.cpp ****   display1.reset ();
  87.   56:src/display.cpp ****
  88.   57:src/display.cpp ****   display1.init ();
  89.   58:src/display.cpp ****   display1.clearDisplay ();
  90.   59:src/display.cpp ****
  91.   60:src/display.cpp ****   dial.draw_scale (0, 360, 8, 1, 45);
  92.   61:src/display.cpp ****
  93.   62:src/display.cpp ****   display1.display ();
  94.   63:src/display.cpp ****
  95.   64:src/display.cpp ****   memset (loc.time, '-', 6);
  96.   65:src/display.cpp **** }
  97.   66:src/display.cpp ****
  98.   67:src/display.cpp **** char fontBuf[] = "01234567";
  99.   68:src/display.cpp **** extern "C" void
  100.   69:src/display.cpp **** cc_run (struct bmp280_dev *bmp)
  101.   70:src/display.cpp ****
  102.   71:src/display.cpp **** {
  103.   72:src/display.cpp ****
  104.   73:src/display.cpp ****   display1.clearDisplay ();
  105.   74:src/display.cpp ****   dial.draw_scale (0, 360, 8, 1, 45);
  106.   75:src/display.cpp ****
  107.   76:src/display.cpp ****   bool stat = updateLocation (&loc, &uc1);
  108.   77:src/display.cpp ****   if (loc.good)
  109.   78:src/display.cpp ****     {
  110.   79:src/display.cpp ****       heading = loc.heading;
  111.   80:src/display.cpp ****
  112.   81:src/display.cpp ****       loc.good = false;
  113.   82:src/display.cpp ****     }
  114.   83:src/display.cpp ****   if (loc.valid == 'V')
  115.   84:src/display.cpp ****     memset (loc.time, '-', 6);
  116.   85:src/display.cpp ****
  117.   86:src/display.cpp ****
  118.   87:src/display.cpp ****
  119.   88:src/display.cpp ****   // print out the GMT time at the top of the screen
  120.   89:src/display.cpp ****   display1.gotoxy (0, 0);
  121. ARM GAS  C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s                   page 3
  122.  
  123.  
  124.   90:src/display.cpp ****   display1.printString (small_font, &loc.time[0], 2, WHITE);
  125.   91:src/display.cpp ****   display1.printString (small_font, ":", 1, WHITE);
  126.   92:src/display.cpp ****   display1.printString (small_font, &loc.time[2], 2, WHITE);
  127.   93:src/display.cpp ****
  128.   94:src/display.cpp ****   display1.printString (small_font, ":", 1, WHITE);
  129.   95:src/display.cpp ****   display1.printString (small_font, &loc.time[4], 2, WHITE);
  130.   96:src/display.cpp ****   int dial_ang = heading + 180;
  131.   97:src/display.cpp ****   dial.draw_needle (dial_ang);
  132.   98:src/display.cpp ****
  133.   99:src/display.cpp ****   display1.gotoxy (70, 25);
  134.  100:src/display.cpp ****   if (loc.valid == 'A')
  135.  101:src/display.cpp ****     {
  136.  102:src/display.cpp ****       display1.fontDigits (large_font, 3, -1, heading);
  137.  103:src/display.cpp ****     }
  138.  104:src/display.cpp ****   else
  139.  105:src/display.cpp ****     display1.printString (large_font, "GPS?", 4, WHITE);
  140.  106:src/display.cpp ****
  141.  107:src/display.cpp ****   if (loc.valid == 'A')
  142.  108:src/display.cpp ****     speedMPH = loc.speed / 1.815;
  143.  109:src/display.cpp ****
  144.  110:src/display.cpp ****   display1.gotoxy (0, 8);
  145.  111:src/display.cpp ****   display1.printString (small_font, "Speed", 5, WHITE);
  146.  112:src/display.cpp ****   display1.gotoxy (0, 16);
  147.  113:src/display.cpp ****   display1.fontDigits (large_font, 4, 1, speedMPH * 10);
  148.  114:src/display.cpp ****
  149.  115:src/display.cpp ****   display1.gotoxy (0, 32);
  150.  116:src/display.cpp ****   display1.printString (small_font, "Average", 7, WHITE);
  151.  117:src/display.cpp ****   display1.gotoxy (0, 40);
  152.  118:src/display.cpp ****   display1.fontDigits (large_font, 4, 1, speedAVG * 10);
  153.  119:src/display.cpp ****
  154.  120:src/display.cpp ****   struct bmp280_uncomp_data ucomp_data;
  155.  121:src/display.cpp ****
  156.  122:src/display.cpp ****   if (HAL_GetTick () - lastTick > 100)
  157.  123:src/display.cpp ****     {
  158.  124:src/display.cpp ****       lastTick = HAL_GetTick ();
  159.  125:src/display.cpp ****       /* Reading the raw data from sensor */
  160.  126:src/display.cpp ****       rslt = bmp280_get_uncomp_data (&ucomp_data, bmp);
  161.  127:src/display.cpp ****
  162.  128:src/display.cpp ****       if (rslt == BMP280_OK)
  163.  129:src/display.cpp ****       {
  164.  130:src/display.cpp ****         /* Getting the 32 bit compensated temperature */
  165.  131:src/display.cpp ****         rslt = bmp280_get_comp_temp_32bit (&temp32, ucomp_data.uncomp_temp,
  166.  132:src/display.cpp ****                                            bmp);
  167.  133:src/display.cpp ****
  168.  134:src/display.cpp ****         rslt = bmp280_get_comp_pres_32bit (&pres32, ucomp_data.uncomp_press,
  169.  135:src/display.cpp ****                                            bmp);
  170.  136:src/display.cpp ****
  171.  137:src/display.cpp **** #if defined USB_DEVICE
  172.  138:src/display.cpp **** /*
  173.  139:src/display.cpp ****         *  $--XDR,a,x.x,a,c--c, ..... *hh<CR><LF> \\
  174.  140:src/display.cpp ****
  175.  141:src/display.cpp ****             Field Number:
  176.  142:src/display.cpp ****             1) Transducer Type
  177.  143:src/display.cpp ****             2) Measurement Data
  178.  144:src/display.cpp ****             3) Units of measurement
  179.  145:src/display.cpp ****             4) Name of transducer
  180.  146:src/display.cpp ****             x) More of the same
  181. ARM GAS  C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s                   page 4
  182.  
  183.  
  184.  147:src/display.cpp ****             n) Checksum
  185.  148:src/display.cpp ****
  186.  149:src/display.cpp ****             Example:
  187.  150:src/display.cpp ****             $IIXDR,C,19.52,C,TempAir*19
  188.  151:src/display.cpp ****             $IIXDR,P,1.02481,B,Barometer*29
  189.  152:src/display.cpp ****
  190.  153:src/display.cpp ****             Currently, OpenCPN recognizes the following transducers:
  191.  154:src/display.cpp ****
  192.  155:src/display.cpp ****         Measured Value | Transducer Type | Measured Data   | Unit of measure | Transducer Name
  193.  156:src/display.cpp ****         ------------------------------------------------------------------------------------------------
  194.  157:src/display.cpp ****         barometric     | "P" pressure    | 0.8..1.1 or 800..1100           | "B" bar         | "Baromete
  195.  158:src/display.cpp ****         air temperature| "C" temperature |   2 decimals                    | "C" celsius     | "TempAir"
  196.  159:src/display.cpp ****         pitch          | "A" angle       |-180..0 nose down 0..180 nose up | "D" degrees     | "PTCH" or
  197.  160:src/display.cpp ****         rolling        | "A" angle       |-180..0 L         0..180 R       | "D" degrees     | "ROLL"
  198.  161:src/display.cpp ****         water temp     | "C" temperature |   2 decimals                    | "C" celsius     | "ENV_WATE
  199.  162:src/display.cpp **** */
  200.  163:src/display.cpp ****         // compile a logger message over USB
  201.  164:src/display.cpp ****          char buffer[200];
  202.  165:src/display.cpp ****          int cnt = small_sprintf(buffer,"$MJXDR,C,%ld.%02ld,C,AirTemp,P,%01ld.%05ld,B,AirPres",temp32/10
  203.  166:src/display.cpp ****          uint8_t sum=0;
  204.  167:src/display.cpp ****          for(int i=1; i<cnt; i++)
  205.  168:src/display.cpp ****            sum += buffer[i];
  206.  169:src/display.cpp ****          cnt+= small_sprintf(buffer+cnt,"*%02X\n",sum);
  207.  170:src/display.cpp ****
  208.  171:src/display.cpp ****          CDC_Transmit_FS(reinterpret_cast<uint8_t*>(&buffer[0]),cnt);
  209.  172:src/display.cpp **** #endif
  210.  173:src/display.cpp ****
  211.  174:src/display.cpp ****       }
  212.  175:src/display.cpp ****     }
  213.  176:src/display.cpp ****   display1.gotoxy (0, 56);
  214.  177:src/display.cpp ****   display1.printString (small_font, "T", 2, WHITE);
  215.  178:src/display.cpp ****   display1.fontDigits (small_font, 4, 1, temp32/10, WHITE);
  216.  179:src/display.cpp ****   display1.printString (small_font, " P", 2, WHITE);
  217.  180:src/display.cpp ****   display1.fontDigits (small_font, 5, 0, pres32/100, WHITE);
  218.  181:src/display.cpp ****   display1.printString (small_font, " ", 1, WHITE);
  219.  182:src/display.cpp ****
  220.  183:src/display.cpp ****
  221.  184:src/display.cpp ****   display1.display ();
  222.  185:src/display.cpp ****
  223.  186:src/display.cpp **** }
  224.   27                            .loc 1 186 1 view -0
  225.   28                            .cfi_startproc
  226.   29                            @ args = 0, pretend = 0, frame = 0
  227.   30                            @ frame_needed = 0, uses_anonymous_args = 0
  228.   31                            .loc 1 186 1 is_stmt 0 view .LVU1
  229.   32 0000 0128                  cmp     r0, #1
  230.   33 0002 00D0                  beq     .L7
  231.   34                    .L4:
  232.   35 0004 7047                  bx      lr
  233.   36                    .L7:
  234.   37                            .loc 1 186 1 discriminator 1 view .LVU2
  235.   38 0006 4FF6FF73              movw    r3, #65535
  236.   39 000a 9942                  cmp     r1, r3
  237.   40 000c FAD1                  bne     .L4
  238.   41                            .loc 1 186 1 view .LVU3
  239.   42 000e 10B5                  push    {r4, lr}
  240.   43                    .LCFI0:
  241. ARM GAS  C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s                   page 5
  242.  
  243.  
  244.   44                            .cfi_def_cfa_offset 8
  245.   45                            .cfi_offset 4, -8
  246.   46                            .cfi_offset 14, -4
  247.   47 0010 88B0                  sub     sp, sp, #32
  248.   48                    .LCFI1:
  249.   49                            .cfi_def_cfa_offset 40
  250.   48:src/display.cpp ****
  251.   50                            .loc 1 48 21 view .LVU4
  252.   51 0012 134C                  ldr     r4, .L8
  253.   52 0014 4022                  movs    r2, #64
  254.   53 0016 0792                  str     r2, [sp, #28]
  255.   54 0018 03F18043              add     r3, r3, #1073741824
  256.   55 001c 03F60103              addw    r3, r3, #2049
  257.   56 0020 0693                  str     r3, [sp, #24]
  258.   57 0022 1021                  movs    r1, #16
  259.   58                    .LVL1:
  260.   48:src/display.cpp ****
  261.   59                            .loc 1 48 21 view .LVU5
  262.   60 0024 0591                  str     r1, [sp, #20]
  263.   61 0026 0493                  str     r3, [sp, #16]
  264.   62 0028 0821                  movs    r1, #8
  265.   63 002a 0391                  str     r1, [sp, #12]
  266.   64 002c 0293                  str     r3, [sp, #8]
  267.   65 002e 0D4B                  ldr     r3, .L8+4
  268.   66 0030 0193                  str     r3, [sp, #4]
  269.   67 0032 0D4B                  ldr     r3, .L8+8
  270.   68 0034 0093                  str     r3, [sp]
  271.   69 0036 8423                  movs    r3, #132
  272.   70 0038 8021                  movs    r1, #128
  273.   71 003a 2046                  mov     r0, r4
  274.   72                    .LVL2:
  275.   48:src/display.cpp ****
  276.   73                            .loc 1 48 21 view .LVU6
  277.   74 003c FFF7FEFF              bl      _ZN18stm32_halDisplay_tC1EiiiPhP19__SPI_HandleTypeDefP12GPIO_TypeDeftS4_tS4_t
  278.   75                    .LVL3:
  279.   40:src/display.cpp ****                            &hspi1,
  280.   76                            .loc 1 40 20 view .LVU7
  281.   77 0040 0A4A                  ldr     r2, .L8+12
  282.   78 0042 0B49                  ldr     r1, .L8+16
  283.   79 0044 2046                  mov     r0, r4
  284.   80 0046 FFF7FEFF              bl      __aeabi_atexit
  285.   81                    .LVL4:
  286.   50:src/display.cpp ****
  287.   82                            .loc 1 50 46 view .LVU8
  288.   83 004a B423                  movs    r3, #180
  289.   84 004c 0193                  str     r3, [sp, #4]
  290.   85 004e 2023                  movs    r3, #32
  291.   86 0050 0093                  str     r3, [sp]
  292.   87 0052 6022                  movs    r2, #96
  293.   88 0054 2146                  mov     r1, r4
  294.   89 0056 0748                  ldr     r0, .L8+20
  295.   90 0058 FFF7FEFF              bl      _ZN13displayDial_tC1ER9display_thhht
  296.   91                    .LVL5:
  297.   92                            .loc 1 186 1 view .LVU9
  298.   93 005c 08B0                  add     sp, sp, #32
  299.   94                    .LCFI2:
  300.   95                            .cfi_def_cfa_offset 8
  301. ARM GAS  C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s                   page 6
  302.  
  303.  
  304.   96                            @ sp needed
  305.   97 005e 10BD                  pop     {r4, pc}
  306.   98                    .L9:
  307.   99                            .align  2
  308.  100                    .L8:
  309.  101 0060 00000000              .word   .LANCHOR0
  310.  102 0064 00000000              .word   hspi1
  311.  103 0068 00000000              .word   .LANCHOR1
  312.  104 006c 00000000              .word   __dso_handle
  313.  105 0070 00000000              .word   _ZN18stm32_halDisplay_tD1Ev
  314.  106 0074 00000000              .word   .LANCHOR2
  315.  107                            .cfi_endproc
  316.  108                    .LFE98:
  317.  110                            .section        .text._ZN18stm32_halDisplay_tD2Ev,"axG",%progbits,_ZN18stm32_halDisplay_tD5Ev,comdat
  318.  111                            .align  1
  319.  112                            .weak   _ZN18stm32_halDisplay_tD2Ev
  320.  113                            .syntax unified
  321.  114                            .thumb
  322.  115                            .thumb_func
  323.  116                            .fpu softvfp
  324.  118                    _ZN18stm32_halDisplay_tD2Ev:
  325.  119                    .LVL6:
  326.  120                    .LFB100:
  327.  121                            .file 2 "../libOLED/inc/libOLED/stm32_halDisplay.H"
  328.    1:../libOLED/inc/libOLED/stm32_halDisplay.H **** /*
  329.    2:../libOLED/inc/libOLED/stm32_halDisplay.H ****  * stm32_halDisplay.H
  330.    3:../libOLED/inc/libOLED/stm32_halDisplay.H ****  *
  331.    4:../libOLED/inc/libOLED/stm32_halDisplay.H ****  *  Created on: 1 Nov 2020
  332.    5:../libOLED/inc/libOLED/stm32_halDisplay.H ****  *      Author: mike
  333.    6:../libOLED/inc/libOLED/stm32_halDisplay.H ****  */
  334.    7:../libOLED/inc/libOLED/stm32_halDisplay.H ****
  335.    8:../libOLED/inc/libOLED/stm32_halDisplay.H **** #pragma once
  336.    9:../libOLED/inc/libOLED/stm32_halDisplay.H ****
  337.   10:../libOLED/inc/libOLED/stm32_halDisplay.H **** #include "main.h"
  338.   11:../libOLED/inc/libOLED/stm32_halDisplay.H ****
  339.   12:../libOLED/inc/libOLED/stm32_halDisplay.H **** #include "libOLED/displayclass.H"
  340.   13:../libOLED/inc/libOLED/stm32_halDisplay.H ****
  341.   14:../libOLED/inc/libOLED/stm32_halDisplay.H **** class stm32_halDisplay_t : public display_t
  342.  122                            .loc 2 14 7 is_stmt 1 view -0
  343.  123                            .cfi_startproc
  344.  124                            @ args = 0, pretend = 0, frame = 0
  345.  125                            @ frame_needed = 0, uses_anonymous_args = 0
  346.  126                            .loc 2 14 7 is_stmt 0 view .LVU11
  347.  127 0000 10B5                  push    {r4, lr}
  348.  128                    .LCFI3:
  349.  129                            .cfi_def_cfa_offset 8
  350.  130                            .cfi_offset 4, -8
  351.  131                            .cfi_offset 14, -4
  352.  132 0002 0446                  mov     r4, r0
  353.  133                    .LBB24:
  354.  134                            .loc 2 14 7 view .LVU12
  355.  135 0004 024B                  ldr     r3, .L12
  356.  136 0006 0360                  str     r3, [r0]
  357.  137 0008 FFF7FEFF              bl      _ZN9display_tD2Ev
  358.  138                    .LVL7:
  359.  139                            .loc 2 14 7 view .LVU13
  360.  140                    .LBE24:
  361. ARM GAS  C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s                   page 7
  362.  
  363.  
  364.  141 000c 2046                  mov     r0, r4
  365.  142 000e 10BD                  pop     {r4, pc}
  366.  143                    .LVL8:
  367.  144                    .L13:
  368.  145                            .loc 2 14 7 view .LVU14
  369.  146                            .align  2
  370.  147                    .L12:
  371.  148 0010 08000000              .word   _ZTV18stm32_halDisplay_t+8
  372.  149                            .cfi_endproc
  373.  150                    .LFE100:
  374.  152                            .weak   _ZN18stm32_halDisplay_tD1Ev
  375.  153                            .thumb_set _ZN18stm32_halDisplay_tD1Ev,_ZN18stm32_halDisplay_tD2Ev
  376.  154                            .section        .text.cc_init,"ax",%progbits
  377.  155                            .align  1
  378.  156                            .global cc_init
  379.  157                            .syntax unified
  380.  158                            .thumb
  381.  159                            .thumb_func
  382.  160                            .fpu softvfp
  383.  162                    cc_init:
  384.  163                    .LFB96:
  385.   54:src/display.cpp ****   display1.reset ();
  386.  164                            .loc 1 54 1 is_stmt 1 view -0
  387.  165                            .cfi_startproc
  388.  166                            @ args = 0, pretend = 0, frame = 0
  389.  167                            @ frame_needed = 0, uses_anonymous_args = 0
  390.  168 0000 10B5                  push    {r4, lr}
  391.  169                    .LCFI4:
  392.  170                            .cfi_def_cfa_offset 8
  393.  171                            .cfi_offset 4, -8
  394.  172                            .cfi_offset 14, -4
  395.  173 0002 82B0                  sub     sp, sp, #8
  396.  174                    .LCFI5:
  397.  175                            .cfi_def_cfa_offset 16
  398.   55:src/display.cpp ****
  399.  176                            .loc 1 55 3 view .LVU16
  400.   55:src/display.cpp ****
  401.  177                            .loc 1 55 18 is_stmt 0 view .LVU17
  402.  178 0004 104C                  ldr     r4, .L16
  403.  179 0006 2046                  mov     r0, r4
  404.  180 0008 FFF7FEFF              bl      _ZN9display_t5resetEv
  405.  181                    .LVL9:
  406.   57:src/display.cpp ****   display1.clearDisplay ();
  407.  182                            .loc 1 57 3 is_stmt 1 view .LVU18
  408.   57:src/display.cpp ****   display1.clearDisplay ();
  409.  183                            .loc 1 57 17 is_stmt 0 view .LVU19
  410.  184 000c 2046                  mov     r0, r4
  411.  185 000e FFF7FEFF              bl      _ZN9display_t4initEv
  412.  186                    .LVL10:
  413.   58:src/display.cpp ****
  414.  187                            .loc 1 58 3 is_stmt 1 view .LVU20
  415.   58:src/display.cpp ****
  416.  188                            .loc 1 58 25 is_stmt 0 view .LVU21
  417.  189 0012 0021                  movs    r1, #0
  418.  190 0014 2046                  mov     r0, r4
  419.  191 0016 FFF7FEFF              bl      _ZN9display_t12clearDisplayE8colour_t
  420.  192                    .LVL11:
  421. ARM GAS  C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s                   page 8
  422.  
  423.  
  424.   60:src/display.cpp ****
  425.  193                            .loc 1 60 3 is_stmt 1 view .LVU22
  426.   60:src/display.cpp ****
  427.  194                            .loc 1 60 19 is_stmt 0 view .LVU23
  428.  195 001a 2D23                  movs    r3, #45
  429.  196 001c 0193                  str     r3, [sp, #4]
  430.  197 001e 0123                  movs    r3, #1
  431.  198 0020 0093                  str     r3, [sp]
  432.  199 0022 0823                  movs    r3, #8
  433.  200 0024 4FF4B472              mov     r2, #360
  434.  201 0028 0021                  movs    r1, #0
  435.  202 002a 0848                  ldr     r0, .L16+4
  436.  203 002c FFF7FEFF              bl      _ZN13displayDial_t10draw_scaleEsshhs
  437.  204                    .LVL12:
  438.   62:src/display.cpp ****
  439.  205                            .loc 1 62 3 is_stmt 1 view .LVU24
  440.   62:src/display.cpp ****
  441.  206                            .loc 1 62 20 is_stmt 0 view .LVU25
  442.  207 0030 2046                  mov     r0, r4
  443.  208 0032 FFF7FEFF              bl      _ZN9display_t7displayEv
  444.  209                    .LVL13:
  445.   64:src/display.cpp **** }
  446.  210                            .loc 1 64 3 is_stmt 1 view .LVU26
  447.   64:src/display.cpp **** }
  448.  211                            .loc 1 64 10 is_stmt 0 view .LVU27
  449.  212 0036 064B                  ldr     r3, .L16+8
  450.  213 0038 4FF02D32              mov     r2, #757935405
  451.  214 003c C3F80120              str     r2, [r3, #1]    @ unaligned
  452.  215 0040 A3F80520              strh    r2, [r3, #5]    @ unaligned
  453.   65:src/display.cpp ****
  454.  216                            .loc 1 65 1 view .LVU28
  455.  217 0044 02B0                  add     sp, sp, #8
  456.  218                    .LCFI6:
  457.  219                            .cfi_def_cfa_offset 8
  458.  220                            @ sp needed
  459.  221 0046 10BD                  pop     {r4, pc}
  460.  222                    .L17:
  461.  223                            .align  2
  462.  224                    .L16:
  463.  225 0048 00000000              .word   .LANCHOR0
  464.  226 004c 00000000              .word   .LANCHOR2
  465.  227 0050 00000000              .word   .LANCHOR3
  466.  228                            .cfi_endproc
  467.  229                    .LFE96:
  468.  231                            .global __aeabi_f2iz
  469.  232                            .global __aeabi_f2d
  470.  233                            .global __aeabi_ddiv
  471.  234                            .global __aeabi_d2f
  472.  235                            .global __aeabi_fmul
  473.  236                            .section        .text.cc_run,"ax",%progbits
  474.  237                            .align  1
  475.  238                            .global cc_run
  476.  239                            .syntax unified
  477.  240                            .thumb
  478.  241                            .thumb_func
  479.  242                            .fpu softvfp
  480.  244                    cc_run:
  481. ARM GAS  C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s                   page 9
  482.  
  483.  
  484.  245                    .LVL14:
  485.  246                    .LFB97:
  486.   71:src/display.cpp ****
  487.  247                            .loc 1 71 1 is_stmt 1 view -0
  488.  248                            .cfi_startproc
  489.  249                            @ args = 0, pretend = 0, frame = 208
  490.  250                            @ frame_needed = 0, uses_anonymous_args = 0
  491.   71:src/display.cpp ****
  492.  251                            .loc 1 71 1 is_stmt 0 view .LVU30
  493.  252 0000 2DE9F043              push    {r4, r5, r6, r7, r8, r9, lr}
  494.  253                    .LCFI7:
  495.  254                            .cfi_def_cfa_offset 28
  496.  255                            .cfi_offset 4, -28
  497.  256                            .cfi_offset 5, -24
  498.  257                            .cfi_offset 6, -20
  499.  258                            .cfi_offset 7, -16
  500.  259                            .cfi_offset 8, -12
  501.  260                            .cfi_offset 9, -8
  502.  261                            .cfi_offset 14, -4
  503.  262 0004 B7B0                  sub     sp, sp, #220
  504.  263                    .LCFI8:
  505.  264                            .cfi_def_cfa_offset 248
  506.  265 0006 8046                  mov     r8, r0
  507.   73:src/display.cpp ****   dial.draw_scale (0, 360, 8, 1, 45);
  508.  266                            .loc 1 73 3 is_stmt 1 view .LVU31
  509.   73:src/display.cpp ****   dial.draw_scale (0, 360, 8, 1, 45);
  510.  267                            .loc 1 73 25 is_stmt 0 view .LVU32
  511.  268 0008 0021                  movs    r1, #0
  512.  269 000a AF48                  ldr     r0, .L32+8
  513.  270                    .LVL15:
  514.   73:src/display.cpp ****   dial.draw_scale (0, 360, 8, 1, 45);
  515.  271                            .loc 1 73 25 view .LVU33
  516.  272 000c FFF7FEFF              bl      _ZN9display_t12clearDisplayE8colour_t
  517.  273                    .LVL16:
  518.   74:src/display.cpp ****
  519.  274                            .loc 1 74 3 is_stmt 1 view .LVU34
  520.   74:src/display.cpp ****
  521.  275                            .loc 1 74 19 is_stmt 0 view .LVU35
  522.  276 0010 2D23                  movs    r3, #45
  523.  277 0012 0193                  str     r3, [sp, #4]
  524.  278 0014 0123                  movs    r3, #1
  525.  279 0016 0093                  str     r3, [sp]
  526.  280 0018 0823                  movs    r3, #8
  527.  281 001a 4FF4B472              mov     r2, #360
  528.  282 001e 0021                  movs    r1, #0
  529.  283 0020 AA48                  ldr     r0, .L32+12
  530.  284 0022 FFF7FEFF              bl      _ZN13displayDial_t10draw_scaleEsshhs
  531.  285                    .LVL17:
  532.   76:src/display.cpp ****   if (loc.good)
  533.  286                            .loc 1 76 3 is_stmt 1 view .LVU36
  534.   76:src/display.cpp ****   if (loc.good)
  535.  287                            .loc 1 76 30 is_stmt 0 view .LVU37
  536.  288 0026 AA4C                  ldr     r4, .L32+16
  537.  289 0028 AA49                  ldr     r1, .L32+20
  538.  290 002a 2046                  mov     r0, r4
  539.  291 002c FFF7FEFF              bl      updateLocation
  540.  292                    .LVL18:
  541. ARM GAS  C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s                   page 10
  542.  
  543.  
  544.   77:src/display.cpp ****     {
  545.  293                            .loc 1 77 3 is_stmt 1 view .LVU38
  546.   77:src/display.cpp ****     {
  547.  294                            .loc 1 77 11 is_stmt 0 view .LVU39
  548.  295 0030 E37B                  ldrb    r3, [r4, #15]   @ zero_extendqisi2
  549.   77:src/display.cpp ****     {
  550.  296                            .loc 1 77 3 view .LVU40
  551.  297 0032 33B1                  cbz     r3, .L19
  552.   79:src/display.cpp ****
  553.  298                            .loc 1 79 7 is_stmt 1 view .LVU41
  554.   79:src/display.cpp ****
  555.  299                            .loc 1 79 15 is_stmt 0 view .LVU42
  556.  300 0034 E069                  ldr     r0, [r4, #28]   @ float
  557.  301 0036 FFF7FEFF              bl      __aeabi_f2iz
  558.  302                    .LVL19:
  559.  303 003a A74B                  ldr     r3, .L32+24
  560.  304 003c 1860                  str     r0, [r3]
  561.   81:src/display.cpp ****     }
  562.  305                            .loc 1 81 7 is_stmt 1 view .LVU43
  563.   81:src/display.cpp ****     }
  564.  306                            .loc 1 81 16 is_stmt 0 view .LVU44
  565.  307 003e 0023                  movs    r3, #0
  566.  308 0040 E373                  strb    r3, [r4, #15]
  567.  309                    .L19:
  568.   83:src/display.cpp ****     memset (loc.time, '-', 6);
  569.  310                            .loc 1 83 3 is_stmt 1 view .LVU45
  570.   83:src/display.cpp ****     memset (loc.time, '-', 6);
  571.  311                            .loc 1 83 11 is_stmt 0 view .LVU46
  572.  312 0042 A34B                  ldr     r3, .L32+16
  573.  313 0044 1B78                  ldrb    r3, [r3]        @ zero_extendqisi2
  574.   83:src/display.cpp ****     memset (loc.time, '-', 6);
  575.  314                            .loc 1 83 3 view .LVU47
  576.  315 0046 562B                  cmp     r3, #86
  577.  316 0048 00F0CD80              beq     .L28
  578.  317                    .L20:
  579.   89:src/display.cpp ****   display1.printString (small_font, &loc.time[0], 2, WHITE);
  580.  318                            .loc 1 89 3 is_stmt 1 view .LVU48
  581.  319                    .LVL20:
  582.  320                    .LBB25:
  583.  321                    .LBI25:
  584.  322                            .file 3 "../libOLED/inc/libOLED/displayclass.H"
  585.    1:../libOLED/inc/libOLED/displayclass.H **** /*
  586.    2:../libOLED/inc/libOLED/displayclass.H ****  * displayclass.H
  587.    3:../libOLED/inc/libOLED/displayclass.H ****  *
  588.    4:../libOLED/inc/libOLED/displayclass.H ****  *  Created on: 31 Oct 2020
  589.    5:../libOLED/inc/libOLED/displayclass.H ****  *      Author: mike
  590.    6:../libOLED/inc/libOLED/displayclass.H ****  */
  591.    7:../libOLED/inc/libOLED/displayclass.H ****
  592.    8:../libOLED/inc/libOLED/displayclass.H **** #pragma once
  593.    9:../libOLED/inc/libOLED/displayclass.H **** #include <cstdint>
  594.   10:../libOLED/inc/libOLED/displayclass.H **** #include "libOLED/fontclass.H"
  595.   11:../libOLED/inc/libOLED/displayclass.H ****
  596.   12:../libOLED/inc/libOLED/displayclass.H **** inline int constexpr
  597.   13:../libOLED/inc/libOLED/displayclass.H **** dataSize (int const width, int const height)
  598.   14:../libOLED/inc/libOLED/displayclass.H **** {
  599.   15:../libOLED/inc/libOLED/displayclass.H ****   return (width * height / 8);
  600.   16:../libOLED/inc/libOLED/displayclass.H **** }
  601. ARM GAS  C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s                   page 11
  602.  
  603.  
  604.   17:../libOLED/inc/libOLED/displayclass.H ****
  605.   18:../libOLED/inc/libOLED/displayclass.H **** enum colour_t
  606.   19:../libOLED/inc/libOLED/displayclass.H **** {
  607.   20:../libOLED/inc/libOLED/displayclass.H ****   BLACK,   /* and 0, invert 0 */
  608.   21:../libOLED/inc/libOLED/displayclass.H ****   WHITE,   /* and 0, invert 1 */
  609.   22:../libOLED/inc/libOLED/displayclass.H ****   OVERLAY, /* and 1, invert 0 */
  610.   23:../libOLED/inc/libOLED/displayclass.H ****   INVERT,  /* and 1, invert 1 */
  611.   24:../libOLED/inc/libOLED/displayclass.H **** };
  612.   25:../libOLED/inc/libOLED/displayclass.H ****
  613.   26:../libOLED/inc/libOLED/displayclass.H **** class display_t
  614.   27:../libOLED/inc/libOLED/displayclass.H **** {
  615.   28:../libOLED/inc/libOLED/displayclass.H **** public:
  616.   29:../libOLED/inc/libOLED/displayclass.H ****   display_t (int const width, int const height, int const ramwidth,
  617.   30:../libOLED/inc/libOLED/displayclass.H ****              uint8_t *const data);
  618.   31:../libOLED/inc/libOLED/displayclass.H ****
  619.   32:../libOLED/inc/libOLED/displayclass.H ****   virtual
  620.   33:../libOLED/inc/libOLED/displayclass.H ****   ~display_t ();
  621.   34:../libOLED/inc/libOLED/displayclass.H ****
  622.   35:../libOLED/inc/libOLED/displayclass.H ****   uint8_t
  623.   36:../libOLED/inc/libOLED/displayclass.H ****   getRotation ();
  624.   37:../libOLED/inc/libOLED/displayclass.H ****   int16_t
  625.   38:../libOLED/inc/libOLED/displayclass.H ****   width ();
  626.   39:../libOLED/inc/libOLED/displayclass.H ****   int16_t
  627.   40:../libOLED/inc/libOLED/displayclass.H ****   height ();
  628.   41:../libOLED/inc/libOLED/displayclass.H ****
  629.   42:../libOLED/inc/libOLED/displayclass.H ****   // common hardware reset .
  630.   43:../libOLED/inc/libOLED/displayclass.H ****   void reset();
  631.   44:../libOLED/inc/libOLED/displayclass.H ****
  632.   45:../libOLED/inc/libOLED/displayclass.H ****   void
  633.   46:../libOLED/inc/libOLED/displayclass.H ****   init ();
  634.   47:../libOLED/inc/libOLED/displayclass.H ****
  635.   48:../libOLED/inc/libOLED/displayclass.H ****   /// \brief Clear display to colour
  636.   49:../libOLED/inc/libOLED/displayclass.H ****   void
  637.   50:../libOLED/inc/libOLED/displayclass.H ****   clearDisplay (colour_t colour = colour_t::BLACK);
  638.   51:../libOLED/inc/libOLED/displayclass.H ****   void
  639.   52:../libOLED/inc/libOLED/displayclass.H ****   invertDisplay (uint8_t i);
  640.   53:../libOLED/inc/libOLED/displayclass.H ****   void
  641.   54:../libOLED/inc/libOLED/displayclass.H ****   display ();
  642.   55:../libOLED/inc/libOLED/displayclass.H ****
  643.   56:../libOLED/inc/libOLED/displayclass.H ****   void
  644.   57:../libOLED/inc/libOLED/displayclass.H ****   startscrollright (uint8_t start, uint8_t stop);
  645.   58:../libOLED/inc/libOLED/displayclass.H ****   void
  646.   59:../libOLED/inc/libOLED/displayclass.H ****   startscrollleft (uint8_t start, uint8_t stop);
  647.   60:../libOLED/inc/libOLED/displayclass.H ****
  648.   61:../libOLED/inc/libOLED/displayclass.H ****   void
  649.   62:../libOLED/inc/libOLED/displayclass.H ****   startscrolldiagright (uint8_t start, uint8_t stop);
  650.   63:../libOLED/inc/libOLED/displayclass.H ****   void
  651.   64:../libOLED/inc/libOLED/displayclass.H ****   startscrolldiagleft (uint8_t start, uint8_t stop);
  652.   65:../libOLED/inc/libOLED/displayclass.H ****   void
  653.   66:../libOLED/inc/libOLED/displayclass.H ****   stopscroll (void);
  654.   67:../libOLED/inc/libOLED/displayclass.H ****
  655.   68:../libOLED/inc/libOLED/displayclass.H ****   void
  656.   69:../libOLED/inc/libOLED/displayclass.H ****   dim (uint8_t contrast);
  657.   70:../libOLED/inc/libOLED/displayclass.H ****
  658.   71:../libOLED/inc/libOLED/displayclass.H ****   // set drawing mode
  659.   72:../libOLED/inc/libOLED/displayclass.H ****   void setPixelMode(colour_t colour)
  660.   73:../libOLED/inc/libOLED/displayclass.H ****   { m_colour = colour; }
  661. ARM GAS  C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s                   page 12
  662.  
  663.  
  664.   74:../libOLED/inc/libOLED/displayclass.H ****
  665.   75:../libOLED/inc/libOLED/displayclass.H ****
  666.   76:../libOLED/inc/libOLED/displayclass.H ****   void
  667.   77:../libOLED/inc/libOLED/displayclass.H ****   drawPixel (int16_t x, int16_t y, bool pixel);
  668.   78:../libOLED/inc/libOLED/displayclass.H ****
  669.   79:../libOLED/inc/libOLED/displayclass.H ****   void
  670.   80:../libOLED/inc/libOLED/displayclass.H ****   drawLine (int16_t x1, int16_t y1, int16_t x2, int16_t y2, colour_t color);
  671.   81:../libOLED/inc/libOLED/displayclass.H ****
  672.   82:../libOLED/inc/libOLED/displayclass.H ****   void drawRectangle (int16_t x1, int16_t y1, int16_t x2, int16_t y2, colour_t color);
  673.   83:../libOLED/inc/libOLED/displayclass.H ****
  674.   84:../libOLED/inc/libOLED/displayclass.H ****
  675.   85:../libOLED/inc/libOLED/displayclass.H ****   void
  676.   86:../libOLED/inc/libOLED/displayclass.H ****   gotoxy (int x, int y)
  677.  323                            .loc 3 86 3 view .LVU49
  678.  324                    .LBB26:
  679.   87:../libOLED/inc/libOLED/displayclass.H ****   {
  680.   88:../libOLED/inc/libOLED/displayclass.H ****     m_cursor_x = x;
  681.  325                            .loc 3 88 5 view .LVU50
  682.  326                            .loc 3 88 16 is_stmt 0 view .LVU51
  683.  327 004c 9E4C                  ldr     r4, .L32+8
  684.  328 004e 0023                  movs    r3, #0
  685.  329 0050 2361                  str     r3, [r4, #16]
  686.   89:../libOLED/inc/libOLED/displayclass.H ****     m_cursor_y = y;
  687.  330                            .loc 3 89 5 is_stmt 1 view .LVU52
  688.  331                            .loc 3 89 16 is_stmt 0 view .LVU53
  689.  332 0052 6361                  str     r3, [r4, #20]
  690.  333                    .LVL21:
  691.  334                            .loc 3 89 16 view .LVU54
  692.  335                    .LBE26:
  693.  336                    .LBE25:
  694.   90:src/display.cpp ****   display1.printString (small_font, ":", 1, WHITE);
  695.  337                            .loc 1 90 3 is_stmt 1 view .LVU55
  696.   90:src/display.cpp ****   display1.printString (small_font, ":", 1, WHITE);
  697.  338                            .loc 1 90 24 is_stmt 0 view .LVU56
  698.  339 0054 9E4F                  ldr     r7, .L32+16
  699.  340 0056 A14E                  ldr     r6, .L32+28
  700.  341 0058 0125                  movs    r5, #1
  701.  342 005a 0095                  str     r5, [sp]
  702.  343 005c 0223                  movs    r3, #2
  703.  344 005e 7A19                  adds    r2, r7, r5
  704.  345 0060 3146                  mov     r1, r6
  705.  346 0062 2046                  mov     r0, r4
  706.  347 0064 FFF7FEFF              bl      _ZN9display_t11printStringER6font_tPKct8colour_t
  707.  348                    .LVL22:
  708.   91:src/display.cpp ****   display1.printString (small_font, &loc.time[2], 2, WHITE);
  709.  349                            .loc 1 91 3 is_stmt 1 view .LVU57
  710.   91:src/display.cpp ****   display1.printString (small_font, &loc.time[2], 2, WHITE);
  711.  350                            .loc 1 91 24 is_stmt 0 view .LVU58
  712.  351 0068 DFF8C492              ldr     r9, .L32+112
  713.  352 006c 0095                  str     r5, [sp]
  714.  353 006e 2B46                  mov     r3, r5
  715.  354 0070 4A46                  mov     r2, r9
  716.  355 0072 3146                  mov     r1, r6
  717.  356 0074 2046                  mov     r0, r4
  718.  357 0076 FFF7FEFF              bl      _ZN9display_t11printStringER6font_tPKct8colour_t
  719.  358                    .LVL23:
  720.   92:src/display.cpp ****
  721. ARM GAS  C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s                   page 13
  722.  
  723.  
  724.  359                            .loc 1 92 3 is_stmt 1 view .LVU59
  725.   92:src/display.cpp ****
  726.  360                            .loc 1 92 24 is_stmt 0 view .LVU60
  727.  361 007a 0095                  str     r5, [sp]
  728.  362 007c 0223                  movs    r3, #2
  729.  363 007e FA1C                  adds    r2, r7, #3
  730.  364 0080 3146                  mov     r1, r6
  731.  365 0082 2046                  mov     r0, r4
  732.  366 0084 FFF7FEFF              bl      _ZN9display_t11printStringER6font_tPKct8colour_t
  733.  367                    .LVL24:
  734.   94:src/display.cpp ****   display1.printString (small_font, &loc.time[4], 2, WHITE);
  735.  368                            .loc 1 94 3 is_stmt 1 view .LVU61
  736.   94:src/display.cpp ****   display1.printString (small_font, &loc.time[4], 2, WHITE);
  737.  369                            .loc 1 94 24 is_stmt 0 view .LVU62
  738.  370 0088 0095                  str     r5, [sp]
  739.  371 008a 2B46                  mov     r3, r5
  740.  372 008c 4A46                  mov     r2, r9
  741.  373 008e 3146                  mov     r1, r6
  742.  374 0090 2046                  mov     r0, r4
  743.  375 0092 FFF7FEFF              bl      _ZN9display_t11printStringER6font_tPKct8colour_t
  744.  376                    .LVL25:
  745.   95:src/display.cpp ****   int dial_ang = heading + 180;
  746.  377                            .loc 1 95 3 is_stmt 1 view .LVU63
  747.   95:src/display.cpp ****   int dial_ang = heading + 180;
  748.  378                            .loc 1 95 24 is_stmt 0 view .LVU64
  749.  379 0096 0095                  str     r5, [sp]
  750.  380 0098 0223                  movs    r3, #2
  751.  381 009a 7A1D                  adds    r2, r7, #5
  752.  382 009c 3146                  mov     r1, r6
  753.  383 009e 2046                  mov     r0, r4
  754.  384 00a0 FFF7FEFF              bl      _ZN9display_t11printStringER6font_tPKct8colour_t
  755.  385                    .LVL26:
  756.   96:src/display.cpp ****   dial.draw_needle (dial_ang);
  757.  386                            .loc 1 96 3 is_stmt 1 view .LVU65
  758.   96:src/display.cpp ****   dial.draw_needle (dial_ang);
  759.  387                            .loc 1 96 26 is_stmt 0 view .LVU66
  760.  388 00a4 8C4B                  ldr     r3, .L32+24
  761.  389 00a6 1968                  ldr     r1, [r3]
  762.   96:src/display.cpp ****   dial.draw_needle (dial_ang);
  763.  390                            .loc 1 96 7 view .LVU67
  764.  391 00a8 B431                  adds    r1, r1, #180
  765.  392                    .LVL27:
  766.   97:src/display.cpp ****
  767.  393                            .loc 1 97 3 is_stmt 1 view .LVU68
  768.   97:src/display.cpp ****
  769.  394                            .loc 1 97 20 is_stmt 0 view .LVU69
  770.  395 00aa 09B2                  sxth    r1, r1
  771.  396                    .LVL28:
  772.   97:src/display.cpp ****
  773.  397                            .loc 1 97 20 view .LVU70
  774.  398 00ac 8748                  ldr     r0, .L32+12
  775.  399 00ae FFF7FEFF              bl      _ZN13displayDial_t11draw_needleEs
  776.  400                    .LVL29:
  777.   99:src/display.cpp ****   if (loc.valid == 'A')
  778.  401                            .loc 1 99 3 is_stmt 1 view .LVU71
  779.  402                    .LBB27:
  780.  403                    .LBI27:
  781. ARM GAS  C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s                   page 14
  782.  
  783.  
  784.   86:../libOLED/inc/libOLED/displayclass.H ****   {
  785.  404                            .loc 3 86 3 view .LVU72
  786.  405                    .LBB28:
  787.   88:../libOLED/inc/libOLED/displayclass.H ****     m_cursor_y = y;
  788.  406                            .loc 3 88 5 view .LVU73
  789.   88:../libOLED/inc/libOLED/displayclass.H ****     m_cursor_y = y;
  790.  407                            .loc 3 88 16 is_stmt 0 view .LVU74
  791.  408 00b2 4623                  movs    r3, #70
  792.  409 00b4 2361                  str     r3, [r4, #16]
  793.  410                            .loc 3 89 5 is_stmt 1 view .LVU75
  794.  411                            .loc 3 89 16 is_stmt 0 view .LVU76
  795.  412 00b6 1923                  movs    r3, #25
  796.  413 00b8 6361                  str     r3, [r4, #20]
  797.  414                    .LVL30:
  798.  415                            .loc 3 89 16 view .LVU77
  799.  416                    .LBE28:
  800.  417                    .LBE27:
  801.  100:src/display.cpp ****     {
  802.  418                            .loc 1 100 3 is_stmt 1 view .LVU78
  803.  100:src/display.cpp ****     {
  804.  419                            .loc 1 100 11 is_stmt 0 view .LVU79
  805.  420 00ba 3B78                  ldrb    r3, [r7]        @ zero_extendqisi2
  806.  100:src/display.cpp ****     {
  807.  421                            .loc 1 100 3 view .LVU80
  808.  422 00bc 412B                  cmp     r3, #65
  809.  423 00be 00F09A80              beq     .L29
  810.  105:src/display.cpp ****
  811.  424                            .loc 1 105 5 is_stmt 1 view .LVU81
  812.  105:src/display.cpp ****
  813.  425                            .loc 1 105 26 is_stmt 0 view .LVU82
  814.  426 00c2 0123                  movs    r3, #1
  815.  427 00c4 0093                  str     r3, [sp]
  816.  428 00c6 0423                  movs    r3, #4
  817.  429 00c8 854A                  ldr     r2, .L32+32
  818.  430 00ca 8649                  ldr     r1, .L32+36
  819.  431 00cc 7E48                  ldr     r0, .L32+8
  820.  432 00ce FFF7FEFF              bl      _ZN9display_t11printStringER6font_tPKct8colour_t
  821.  433                    .LVL31:
  822.  434                    .L22:
  823.  107:src/display.cpp ****     speedMPH = loc.speed / 1.815;
  824.  435                            .loc 1 107 3 is_stmt 1 view .LVU83
  825.  107:src/display.cpp ****     speedMPH = loc.speed / 1.815;
  826.  436                            .loc 1 107 11 is_stmt 0 view .LVU84
  827.  437 00d2 7F4B                  ldr     r3, .L32+16
  828.  438 00d4 1B78                  ldrb    r3, [r3]        @ zero_extendqisi2
  829.  107:src/display.cpp ****     speedMPH = loc.speed / 1.815;
  830.  439                            .loc 1 107 3 view .LVU85
  831.  440 00d6 412B                  cmp     r3, #65
  832.  441 00d8 00F09880              beq     .L30
  833.  442                    .L23:
  834.  110:src/display.cpp ****   display1.printString (small_font, "Speed", 5, WHITE);
  835.  443                            .loc 1 110 3 is_stmt 1 view .LVU86
  836.  444                    .LVL32:
  837.  445                    .LBB29:
  838.  446                    .LBI29:
  839.   86:../libOLED/inc/libOLED/displayclass.H ****   {
  840.  447                            .loc 3 86 3 view .LVU87
  841. ARM GAS  C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s                   page 15
  842.  
  843.  
  844.  448                    .LBB30:
  845.   88:../libOLED/inc/libOLED/displayclass.H ****     m_cursor_y = y;
  846.  449                            .loc 3 88 5 view .LVU88
  847.   88:../libOLED/inc/libOLED/displayclass.H ****     m_cursor_y = y;
  848.  450                            .loc 3 88 16 is_stmt 0 view .LVU89
  849.  451 00dc 7A4C                  ldr     r4, .L32+8
  850.  452 00de 0026                  movs    r6, #0
  851.  453 00e0 2661                  str     r6, [r4, #16]
  852.  454                            .loc 3 89 5 is_stmt 1 view .LVU90
  853.  455                            .loc 3 89 16 is_stmt 0 view .LVU91
  854.  456 00e2 0823                  movs    r3, #8
  855.  457 00e4 6361                  str     r3, [r4, #20]
  856.  458                    .LVL33:
  857.  459                            .loc 3 89 16 view .LVU92
  858.  460                    .LBE30:
  859.  461                    .LBE29:
  860.  111:src/display.cpp ****   display1.gotoxy (0, 16);
  861.  462                            .loc 1 111 3 is_stmt 1 view .LVU93
  862.  111:src/display.cpp ****   display1.gotoxy (0, 16);
  863.  463                            .loc 1 111 24 is_stmt 0 view .LVU94
  864.  464 00e6 DFF8F491              ldr     r9, .L32+28
  865.  465 00ea 0125                  movs    r5, #1
  866.  466 00ec 0095                  str     r5, [sp]
  867.  467 00ee 0523                  movs    r3, #5
  868.  468 00f0 7D4A                  ldr     r2, .L32+40
  869.  469 00f2 4946                  mov     r1, r9
  870.  470 00f4 2046                  mov     r0, r4
  871.  471 00f6 FFF7FEFF              bl      _ZN9display_t11printStringER6font_tPKct8colour_t
  872.  472                    .LVL34:
  873.  112:src/display.cpp ****   display1.fontDigits (large_font, 4, 1, speedMPH * 10);
  874.  473                            .loc 1 112 3 is_stmt 1 view .LVU95
  875.  474                    .LBB31:
  876.  475                    .LBI31:
  877.   86:../libOLED/inc/libOLED/displayclass.H ****   {
  878.  476                            .loc 3 86 3 view .LVU96
  879.  477                    .LBB32:
  880.   88:../libOLED/inc/libOLED/displayclass.H ****     m_cursor_y = y;
  881.  478                            .loc 3 88 5 view .LVU97
  882.   88:../libOLED/inc/libOLED/displayclass.H ****     m_cursor_y = y;
  883.  479                            .loc 3 88 16 is_stmt 0 view .LVU98
  884.  480 00fa 2661                  str     r6, [r4, #16]
  885.  481                            .loc 3 89 5 is_stmt 1 view .LVU99
  886.  482                            .loc 3 89 16 is_stmt 0 view .LVU100
  887.  483 00fc 1023                  movs    r3, #16
  888.  484 00fe 6361                  str     r3, [r4, #20]
  889.  485                    .LVL35:
  890.  486                            .loc 3 89 16 view .LVU101
  891.  487                    .LBE32:
  892.  488                    .LBE31:
  893.  113:src/display.cpp ****
  894.  489                            .loc 1 113 3 is_stmt 1 view .LVU102
  895.  113:src/display.cpp ****
  896.  490                            .loc 1 113 51 is_stmt 0 view .LVU103
  897.  491 0100 7A49                  ldr     r1, .L32+44
  898.  492 0102 7B4B                  ldr     r3, .L32+48
  899.  493 0104 1868                  ldr     r0, [r3]        @ float
  900.  494 0106 FFF7FEFF              bl      __aeabi_fmul
  901. ARM GAS  C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s                   page 16
  902.  
  903.  
  904.  495                    .LVL36:
  905.  113:src/display.cpp ****
  906.  496                            .loc 1 113 23 view .LVU104
  907.  497 010a 764F                  ldr     r7, .L32+36
  908.  498 010c 0195                  str     r5, [sp, #4]
  909.  499 010e FFF7FEFF              bl      __aeabi_f2iz
  910.  500                    .LVL37:
  911.  501 0112 0090                  str     r0, [sp]
  912.  502 0114 2B46                  mov     r3, r5
  913.  503 0116 0422                  movs    r2, #4
  914.  504 0118 3946                  mov     r1, r7
  915.  505 011a 2046                  mov     r0, r4
  916.  506 011c FFF7FEFF              bl      _ZN9display_t10fontDigitsER6font_thhi8colour_t
  917.  507                    .LVL38:
  918.  115:src/display.cpp ****   display1.printString (small_font, "Average", 7, WHITE);
  919.  508                            .loc 1 115 3 is_stmt 1 view .LVU105
  920.  509                    .LBB33:
  921.  510                    .LBI33:
  922.   86:../libOLED/inc/libOLED/displayclass.H ****   {
  923.  511                            .loc 3 86 3 view .LVU106
  924.  512                    .LBB34:
  925.   88:../libOLED/inc/libOLED/displayclass.H ****     m_cursor_y = y;
  926.  513                            .loc 3 88 5 view .LVU107
  927.   88:../libOLED/inc/libOLED/displayclass.H ****     m_cursor_y = y;
  928.  514                            .loc 3 88 16 is_stmt 0 view .LVU108
  929.  515 0120 2661                  str     r6, [r4, #16]
  930.  516                            .loc 3 89 5 is_stmt 1 view .LVU109
  931.  517                            .loc 3 89 16 is_stmt 0 view .LVU110
  932.  518 0122 2023                  movs    r3, #32
  933.  519 0124 6361                  str     r3, [r4, #20]
  934.  520                    .LVL39:
  935.  521                            .loc 3 89 16 view .LVU111
  936.  522                    .LBE34:
  937.  523                    .LBE33:
  938.  116:src/display.cpp ****   display1.gotoxy (0, 40);
  939.  524                            .loc 1 116 3 is_stmt 1 view .LVU112
  940.  116:src/display.cpp ****   display1.gotoxy (0, 40);
  941.  525                            .loc 1 116 24 is_stmt 0 view .LVU113
  942.  526 0126 0095                  str     r5, [sp]
  943.  527 0128 0723                  movs    r3, #7
  944.  528 012a 724A                  ldr     r2, .L32+52
  945.  529 012c 4946                  mov     r1, r9
  946.  530 012e 2046                  mov     r0, r4
  947.  531 0130 FFF7FEFF              bl      _ZN9display_t11printStringER6font_tPKct8colour_t
  948.  532                    .LVL40:
  949.  117:src/display.cpp ****   display1.fontDigits (large_font, 4, 1, speedAVG * 10);
  950.  533                            .loc 1 117 3 is_stmt 1 view .LVU114
  951.  534                    .LBB35:
  952.  535                    .LBI35:
  953.   86:../libOLED/inc/libOLED/displayclass.H ****   {
  954.  536                            .loc 3 86 3 view .LVU115
  955.  537                    .LBB36:
  956.   88:../libOLED/inc/libOLED/displayclass.H ****     m_cursor_y = y;
  957.  538                            .loc 3 88 5 view .LVU116
  958.   88:../libOLED/inc/libOLED/displayclass.H ****     m_cursor_y = y;
  959.  539                            .loc 3 88 16 is_stmt 0 view .LVU117
  960.  540 0134 2661                  str     r6, [r4, #16]
  961. ARM GAS  C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s                   page 17
  962.  
  963.  
  964.  541                            .loc 3 89 5 is_stmt 1 view .LVU118
  965.  542                            .loc 3 89 16 is_stmt 0 view .LVU119
  966.  543 0136 2823                  movs    r3, #40
  967.  544 0138 6361                  str     r3, [r4, #20]
  968.  545                    .LVL41:
  969.  546                            .loc 3 89 16 view .LVU120
  970.  547                    .LBE36:
  971.  548                    .LBE35:
  972.  118:src/display.cpp ****
  973.  549                            .loc 1 118 3 is_stmt 1 view .LVU121
  974.  118:src/display.cpp ****
  975.  550                            .loc 1 118 51 is_stmt 0 view .LVU122
  976.  551 013a 6C49                  ldr     r1, .L32+44
  977.  552 013c 6E4B                  ldr     r3, .L32+56
  978.  553 013e 1868                  ldr     r0, [r3]        @ float
  979.  554 0140 FFF7FEFF              bl      __aeabi_fmul
  980.  555                    .LVL42:
  981.  118:src/display.cpp ****
  982.  556                            .loc 1 118 23 view .LVU123
  983.  557 0144 0195                  str     r5, [sp, #4]
  984.  558 0146 FFF7FEFF              bl      __aeabi_f2iz
  985.  559                    .LVL43:
  986.  560 014a 0090                  str     r0, [sp]
  987.  561 014c 2B46                  mov     r3, r5
  988.  562 014e 0422                  movs    r2, #4
  989.  563 0150 3946                  mov     r1, r7
  990.  564 0152 2046                  mov     r0, r4
  991.  565 0154 FFF7FEFF              bl      _ZN9display_t10fontDigitsER6font_thhi8colour_t
  992.  566                    .LVL44:
  993.  120:src/display.cpp ****
  994.  567                            .loc 1 120 3 is_stmt 1 view .LVU124
  995.  122:src/display.cpp ****     {
  996.  568                            .loc 1 122 3 view .LVU125
  997.  569                    .LBB37:
  998.  122:src/display.cpp ****     {
  999.  570                            .loc 1 122 19 is_stmt 0 view .LVU126
  1000.  571 0158 FFF7FEFF              bl      HAL_GetTick
  1001.  572                    .LVL45:
  1002.  122:src/display.cpp ****     {
  1003.  573                            .loc 1 122 22 view .LVU127
  1004.  574 015c 674B                  ldr     r3, .L32+60
  1005.  575 015e 1B68                  ldr     r3, [r3]
  1006.  576 0160 C01A                  subs    r0, r0, r3
  1007.  122:src/display.cpp ****     {
  1008.  577                            .loc 1 122 3 view .LVU128
  1009.  578 0162 6428                  cmp     r0, #100
  1010.  579 0164 60D8                  bhi     .L31
  1011.  580                    .L24:
  1012.  581                    .LBE37:
  1013.  176:src/display.cpp ****   display1.printString (small_font, "T", 2, WHITE);
  1014.  582                            .loc 1 176 3 is_stmt 1 view .LVU129
  1015.  583                    .LVL46:
  1016.  584                    .LBB43:
  1017.  585                    .LBI43:
  1018.   86:../libOLED/inc/libOLED/displayclass.H ****   {
  1019.  586                            .loc 3 86 3 view .LVU130
  1020.  587                    .LBB44:
  1021. ARM GAS  C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s                   page 18
  1022.  
  1023.  
  1024.   88:../libOLED/inc/libOLED/displayclass.H ****     m_cursor_y = y;
  1025.  588                            .loc 3 88 5 view .LVU131
  1026.   88:../libOLED/inc/libOLED/displayclass.H ****     m_cursor_y = y;
  1027.  589                            .loc 3 88 16 is_stmt 0 view .LVU132
  1028.  590 0166 584C                  ldr     r4, .L32+8
  1029.  591 0168 0027                  movs    r7, #0
  1030.  592 016a 2761                  str     r7, [r4, #16]
  1031.  593                            .loc 3 89 5 is_stmt 1 view .LVU133
  1032.  594                            .loc 3 89 16 is_stmt 0 view .LVU134
  1033.  595 016c 3823                  movs    r3, #56
  1034.  596 016e 6361                  str     r3, [r4, #20]
  1035.  597                    .LVL47:
  1036.  598                            .loc 3 89 16 view .LVU135
  1037.  599                    .LBE44:
  1038.  600                    .LBE43:
  1039.  177:src/display.cpp ****   display1.fontDigits (small_font, 4, 1, temp32/10, WHITE);
  1040.  601                            .loc 1 177 3 is_stmt 1 view .LVU136
  1041.  177:src/display.cpp ****   display1.fontDigits (small_font, 4, 1, temp32/10, WHITE);
  1042.  602                            .loc 1 177 24 is_stmt 0 view .LVU137
  1043.  603 0170 5A4E                  ldr     r6, .L32+28
  1044.  604 0172 0125                  movs    r5, #1
  1045.  605 0174 0095                  str     r5, [sp]
  1046.  606 0176 0223                  movs    r3, #2
  1047.  607 0178 614A                  ldr     r2, .L32+64
  1048.  608 017a 3146                  mov     r1, r6
  1049.  609 017c 2046                  mov     r0, r4
  1050.  610 017e FFF7FEFF              bl      _ZN9display_t11printStringER6font_tPKct8colour_t
  1051.  611                    .LVL48:
  1052.  178:src/display.cpp ****   display1.printString (small_font, " P", 2, WHITE);
  1053.  612                            .loc 1 178 3 is_stmt 1 view .LVU138
  1054.  178:src/display.cpp ****   display1.printString (small_font, " P", 2, WHITE);
  1055.  613                            .loc 1 178 23 is_stmt 0 view .LVU139
  1056.  614 0182 604B                  ldr     r3, .L32+68
  1057.  615 0184 1B68                  ldr     r3, [r3]
  1058.  178:src/display.cpp ****   display1.printString (small_font, " P", 2, WHITE);
  1059.  616                            .loc 1 178 48 view .LVU140
  1060.  617 0186 604A                  ldr     r2, .L32+72
  1061.  618 0188 82FB0312              smull   r1, r2, r2, r3
  1062.  619 018c DB17                  asrs    r3, r3, #31
  1063.  620 018e C3EBA203              rsb     r3, r3, r2, asr #2
  1064.  178:src/display.cpp ****   display1.printString (small_font, " P", 2, WHITE);
  1065.  621                            .loc 1 178 23 view .LVU141
  1066.  622 0192 0195                  str     r5, [sp, #4]
  1067.  623 0194 0093                  str     r3, [sp]
  1068.  624 0196 2B46                  mov     r3, r5
  1069.  625 0198 0422                  movs    r2, #4
  1070.  626 019a 3146                  mov     r1, r6
  1071.  627 019c 2046                  mov     r0, r4
  1072.  628 019e FFF7FEFF              bl      _ZN9display_t10fontDigitsER6font_thhi8colour_t
  1073.  629                    .LVL49:
  1074.  179:src/display.cpp ****   display1.fontDigits (small_font, 5, 0, pres32/100, WHITE);
  1075.  630                            .loc 1 179 3 is_stmt 1 view .LVU142
  1076.  179:src/display.cpp ****   display1.fontDigits (small_font, 5, 0, pres32/100, WHITE);
  1077.  631                            .loc 1 179 24 is_stmt 0 view .LVU143
  1078.  632 01a2 0095                  str     r5, [sp]
  1079.  633 01a4 0223                  movs    r3, #2
  1080.  634 01a6 594A                  ldr     r2, .L32+76
  1081. ARM GAS  C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s                   page 19
  1082.  
  1083.  
  1084.  635 01a8 3146                  mov     r1, r6
  1085.  636 01aa 2046                  mov     r0, r4
  1086.  637 01ac FFF7FEFF              bl      _ZN9display_t11printStringER6font_tPKct8colour_t
  1087.  638                    .LVL50:
  1088.  180:src/display.cpp ****   display1.printString (small_font, " ", 1, WHITE);
  1089.  639                            .loc 1 180 3 is_stmt 1 view .LVU144
  1090.  180:src/display.cpp ****   display1.printString (small_font, " ", 1, WHITE);
  1091.  640                            .loc 1 180 48 is_stmt 0 view .LVU145
  1092.  641 01b0 574B                  ldr     r3, .L32+80
  1093.  642 01b2 1B68                  ldr     r3, [r3]
  1094.  643 01b4 574A                  ldr     r2, .L32+84
  1095.  644 01b6 A2FB0323              umull   r2, r3, r2, r3
  1096.  645 01ba 5B09                  lsrs    r3, r3, #5
  1097.  180:src/display.cpp ****   display1.printString (small_font, " ", 1, WHITE);
  1098.  646                            .loc 1 180 23 view .LVU146
  1099.  647 01bc 0195                  str     r5, [sp, #4]
  1100.  648 01be 0093                  str     r3, [sp]
  1101.  649 01c0 3B46                  mov     r3, r7
  1102.  650 01c2 0522                  movs    r2, #5
  1103.  651 01c4 3146                  mov     r1, r6
  1104.  652 01c6 2046                  mov     r0, r4
  1105.  653 01c8 FFF7FEFF              bl      _ZN9display_t10fontDigitsER6font_thhi8colour_t
  1106.  654                    .LVL51:
  1107.  181:src/display.cpp ****
  1108.  655                            .loc 1 181 3 is_stmt 1 view .LVU147
  1109.  181:src/display.cpp ****
  1110.  656                            .loc 1 181 24 is_stmt 0 view .LVU148
  1111.  657 01cc 0095                  str     r5, [sp]
  1112.  658 01ce 2B46                  mov     r3, r5
  1113.  659 01d0 514A                  ldr     r2, .L32+88
  1114.  660 01d2 3146                  mov     r1, r6
  1115.  661 01d4 2046                  mov     r0, r4
  1116.  662 01d6 FFF7FEFF              bl      _ZN9display_t11printStringER6font_tPKct8colour_t
  1117.  663                    .LVL52:
  1118.  184:src/display.cpp ****
  1119.  664                            .loc 1 184 3 is_stmt 1 view .LVU149
  1120.  184:src/display.cpp ****
  1121.  665                            .loc 1 184 20 is_stmt 0 view .LVU150
  1122.  666 01da 2046                  mov     r0, r4
  1123.  667 01dc FFF7FEFF              bl      _ZN9display_t7displayEv
  1124.  668                    .LVL53:
  1125.  669                            .loc 1 186 1 view .LVU151
  1126.  670 01e0 37B0                  add     sp, sp, #220
  1127.  671                    .LCFI9:
  1128.  672                            .cfi_remember_state
  1129.  673                            .cfi_def_cfa_offset 28
  1130.  674                            @ sp needed
  1131.  675 01e2 BDE8F083              pop     {r4, r5, r6, r7, r8, r9, pc}
  1132.  676                    .LVL54:
  1133.  677                    .L28:
  1134.  678                    .LCFI10:
  1135.  679                            .cfi_restore_state
  1136.   84:src/display.cpp ****
  1137.  680                            .loc 1 84 5 is_stmt 1 view .LVU152
  1138.   84:src/display.cpp ****
  1139.  681                            .loc 1 84 12 is_stmt 0 view .LVU153
  1140.  682 01e6 3A4B                  ldr     r3, .L32+16
  1141. ARM GAS  C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s                   page 20
  1142.  
  1143.  
  1144.  683 01e8 4FF02D32              mov     r2, #757935405
  1145.  684 01ec C3F80120              str     r2, [r3, #1]    @ unaligned
  1146.  685 01f0 A3F80520              strh    r2, [r3, #5]    @ unaligned
  1147.  686 01f4 2AE7                  b       .L20
  1148.  687                    .L29:
  1149.  102:src/display.cpp ****     }
  1150.  688                            .loc 1 102 7 is_stmt 1 view .LVU154
  1151.  102:src/display.cpp ****     }
  1152.  689                            .loc 1 102 27 is_stmt 0 view .LVU155
  1153.  690 01f6 0195                  str     r5, [sp, #4]
  1154.  691 01f8 374B                  ldr     r3, .L32+24
  1155.  692 01fa 1B68                  ldr     r3, [r3]
  1156.  693 01fc 0093                  str     r3, [sp]
  1157.  694 01fe FF23                  movs    r3, #255
  1158.  695 0200 0322                  movs    r2, #3
  1159.  696 0202 3849                  ldr     r1, .L32+36
  1160.  697 0204 2046                  mov     r0, r4
  1161.  698 0206 FFF7FEFF              bl      _ZN9display_t10fontDigitsER6font_thhi8colour_t
  1162.  699                    .LVL55:
  1163.  700 020a 62E7                  b       .L22
  1164.  701                    .L30:
  1165.  108:src/display.cpp ****
  1166.  702                            .loc 1 108 5 is_stmt 1 view .LVU156
  1167.  108:src/display.cpp ****
  1168.  703                            .loc 1 108 20 is_stmt 0 view .LVU157
  1169.  704 020c 304B                  ldr     r3, .L32+16
  1170.  705 020e 186A                  ldr     r0, [r3, #32]   @ float
  1171.  706 0210 FFF7FEFF              bl      __aeabi_f2d
  1172.  707                    .LVL56:
  1173.  108:src/display.cpp ****
  1174.  708                            .loc 1 108 26 view .LVU158
  1175.  709 0214 2AA3                  adr     r3, .L32
  1176.  710 0216 D3E90023              ldrd    r2, [r3]
  1177.  711 021a FFF7FEFF              bl      __aeabi_ddiv
  1178.  712                    .LVL57:
  1179.  713 021e FFF7FEFF              bl      __aeabi_d2f
  1180.  714                    .LVL58:
  1181.  108:src/display.cpp ****
  1182.  715                            .loc 1 108 14 view .LVU159
  1183.  716 0222 334B                  ldr     r3, .L32+48
  1184.  717 0224 1860                  str     r0, [r3]        @ float
  1185.  718 0226 59E7                  b       .L23
  1186.  719                    .L31:
  1187.  720                    .LBB45:
  1188.  721                    .LBB38:
  1189.  124:src/display.cpp ****       /* Reading the raw data from sensor */
  1190.  722                            .loc 1 124 7 is_stmt 1 view .LVU160
  1191.  124:src/display.cpp ****       /* Reading the raw data from sensor */
  1192.  723                            .loc 1 124 30 is_stmt 0 view .LVU161
  1193.  724 0228 FFF7FEFF              bl      HAL_GetTick
  1194.  725                    .LVL59:
  1195.  124:src/display.cpp ****       /* Reading the raw data from sensor */
  1196.  726                            .loc 1 124 16 view .LVU162
  1197.  727 022c 334B                  ldr     r3, .L32+60
  1198.  728 022e 1860                  str     r0, [r3]
  1199.  126:src/display.cpp ****
  1200.  729                            .loc 1 126 7 is_stmt 1 view .LVU163
  1201. ARM GAS  C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s                   page 21
  1202.  
  1203.  
  1204.  126:src/display.cpp ****
  1205.  730                            .loc 1 126 37 is_stmt 0 view .LVU164
  1206.  731 0230 4146                  mov     r1, r8
  1207.  732 0232 34A8                  add     r0, sp, #208
  1208.  733 0234 FFF7FEFF              bl      bmp280_get_uncomp_data
  1209.  734                    .LVL60:
  1210.  126:src/display.cpp ****
  1211.  735                            .loc 1 126 12 view .LVU165
  1212.  736 0238 384B                  ldr     r3, .L32+92
  1213.  737 023a 1860                  str     r0, [r3]
  1214.  128:src/display.cpp ****       {
  1215.  738                            .loc 1 128 7 is_stmt 1 view .LVU166
  1216.  739                    .LBB39:
  1217.  740 023c 0028                  cmp     r0, #0
  1218.  741 023e 92D1                  bne     .L24
  1219.  742                    .LBB40:
  1220.  131:src/display.cpp ****                                            bmp);
  1221.  743                            .loc 1 131 4 view .LVU167
  1222.  131:src/display.cpp ****                                            bmp);
  1223.  744                            .loc 1 131 38 is_stmt 0 view .LVU168
  1224.  745 0240 304D                  ldr     r5, .L32+68
  1225.  746 0242 4246                  mov     r2, r8
  1226.  747 0244 3499                  ldr     r1, [sp, #208]
  1227.  748 0246 2846                  mov     r0, r5
  1228.  749 0248 FFF7FEFF              bl      bmp280_get_comp_temp_32bit
  1229.  750                    .LVL61:
  1230.  131:src/display.cpp ****                                            bmp);
  1231.  751                            .loc 1 131 9 view .LVU169
  1232.  752 024c 334E                  ldr     r6, .L32+92
  1233.  753 024e 3060                  str     r0, [r6]
  1234.  134:src/display.cpp ****                                            bmp);
  1235.  754                            .loc 1 134 4 is_stmt 1 view .LVU170
  1236.  134:src/display.cpp ****                                            bmp);
  1237.  755                            .loc 1 134 38 is_stmt 0 view .LVU171
  1238.  756 0250 2F4C                  ldr     r4, .L32+80
  1239.  757 0252 4246                  mov     r2, r8
  1240.  758 0254 3599                  ldr     r1, [sp, #212]
  1241.  759 0256 2046                  mov     r0, r4
  1242.  760 0258 FFF7FEFF              bl      bmp280_get_comp_pres_32bit
  1243.  761                    .LVL62:
  1244.  134:src/display.cpp ****                                            bmp);
  1245.  762                            .loc 1 134 9 view .LVU172
  1246.  763 025c 3060                  str     r0, [r6]
  1247.  164:src/display.cpp ****          int cnt = small_sprintf(buffer,"$MJXDR,C,%ld.%02ld,C,AirTemp,P,%01ld.%05ld,B,AirPres",temp32/10
  1248.  764                            .loc 1 164 5 is_stmt 1 view .LVU173
  1249.  165:src/display.cpp ****          uint8_t sum=0;
  1250.  765                            .loc 1 165 5 view .LVU174
  1251.  165:src/display.cpp ****          uint8_t sum=0;
  1252.  766                            .loc 1 165 28 is_stmt 0 view .LVU175
  1253.  767 025e 2B68                  ldr     r3, [r5]
  1254.  768 0260 2468                  ldr     r4, [r4]
  1255.  769 0262 2C49                  ldr     r1, .L32+84
  1256.  770 0264 81FB0321              smull   r2, r1, r1, r3
  1257.  771 0268 DA17                  asrs    r2, r3, #31
  1258.  772 026a C2EB6112              rsb     r2, r2, r1, asr #5
  1259.  773 026e 6109                  lsrs    r1, r4, #5
  1260.  774 0270 2B48                  ldr     r0, .L32+96
  1261. ARM GAS  C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s                   page 22
  1262.  
  1263.  
  1264.  775 0272 A0FB0101              umull   r0, r1, r0, r1
  1265.  776 0276 C909                  lsrs    r1, r1, #7
  1266.  777 0278 2A48                  ldr     r0, .L32+100
  1267.  778 027a 00FB1140              mls     r0, r0, r1, r4
  1268.  779 027e 0190                  str     r0, [sp, #4]
  1269.  780 0280 0091                  str     r1, [sp]
  1270.  781 0282 6421                  movs    r1, #100
  1271.  782 0284 01FB1233              mls     r3, r1, r2, r3
  1272.  783 0288 2749                  ldr     r1, .L32+104
  1273.  784 028a 02A8                  add     r0, sp, #8
  1274.  785 028c FFF7FEFF              bl      small_sprintf
  1275.  786                    .LVL63:
  1276.  787 0290 0446                  mov     r4, r0
  1277.  788                    .LVL64:
  1278.  166:src/display.cpp ****          for(int i=1; i<cnt; i++)
  1279.  789                            .loc 1 166 5 is_stmt 1 view .LVU176
  1280.  167:src/display.cpp ****            sum += buffer[i];
  1281.  790                            .loc 1 167 5 view .LVU177
  1282.  791                    .LBB41:
  1283.  167:src/display.cpp ****            sum += buffer[i];
  1284.  792                            .loc 1 167 13 is_stmt 0 view .LVU178
  1285.  793 0292 0123                  movs    r3, #1
  1286.  794                    .LBE41:
  1287.  166:src/display.cpp ****          for(int i=1; i<cnt; i++)
  1288.  795                            .loc 1 166 13 view .LVU179
  1289.  796 0294 0022                  movs    r2, #0
  1290.  797                    .LVL65:
  1291.  798                    .L26:
  1292.  799                    .LBB42:
  1293.  167:src/display.cpp ****            sum += buffer[i];
  1294.  800                            .loc 1 167 19 discriminator 3 view .LVU180
  1295.  801 0296 A342                  cmp     r3, r4
  1296.  802 0298 07DA                  bge     .L25
  1297.  168:src/display.cpp ****          cnt+= small_sprintf(buffer+cnt,"*%02X\n",sum);
  1298.  803                            .loc 1 168 7 is_stmt 1 discriminator 2 view .LVU181
  1299.  168:src/display.cpp ****          cnt+= small_sprintf(buffer+cnt,"*%02X\n",sum);
  1300.  804                            .loc 1 168 22 is_stmt 0 discriminator 2 view .LVU182
  1301.  805 029a 36A9                  add     r1, sp, #216
  1302.  806 029c 1944                  add     r1, r1, r3
  1303.  807 029e 11F8D01C              ldrb    r1, [r1, #-208] @ zero_extendqisi2
  1304.  168:src/display.cpp ****          cnt+= small_sprintf(buffer+cnt,"*%02X\n",sum);
  1305.  808                            .loc 1 168 11 discriminator 2 view .LVU183
  1306.  809 02a2 0A44                  add     r2, r2, r1
  1307.  810                    .LVL66:
  1308.  168:src/display.cpp ****          cnt+= small_sprintf(buffer+cnt,"*%02X\n",sum);
  1309.  811                            .loc 1 168 11 discriminator 2 view .LVU184
  1310.  812 02a4 D2B2                  uxtb    r2, r2
  1311.  813                    .LVL67:
  1312.  167:src/display.cpp ****            sum += buffer[i];
  1313.  814                            .loc 1 167 5 discriminator 2 view .LVU185
  1314.  815 02a6 0133                  adds    r3, r3, #1
  1315.  816                    .LVL68:
  1316.  167:src/display.cpp ****            sum += buffer[i];
  1317.  817                            .loc 1 167 5 discriminator 2 view .LVU186
  1318.  818 02a8 F5E7                  b       .L26
  1319.  819                    .L25:
  1320.  167:src/display.cpp ****            sum += buffer[i];
  1321. ARM GAS  C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s                   page 23
  1322.  
  1323.  
  1324.  820                            .loc 1 167 5 discriminator 2 view .LVU187
  1325.  821                    .LBE42:
  1326.  169:src/display.cpp ****
  1327.  822                            .loc 1 169 5 is_stmt 1 view .LVU188
  1328.  169:src/display.cpp ****
  1329.  823                            .loc 1 169 24 is_stmt 0 view .LVU189
  1330.  824 02aa 2049                  ldr     r1, .L32+108
  1331.  825 02ac 02AB                  add     r3, sp, #8
  1332.  826                    .LVL69:
  1333.  169:src/display.cpp ****
  1334.  827                            .loc 1 169 24 view .LVU190
  1335.  828 02ae 1819                  adds    r0, r3, r4
  1336.  829                    .LVL70:
  1337.  169:src/display.cpp ****
  1338.  830                            .loc 1 169 24 view .LVU191
  1339.  831 02b0 FFF7FEFF              bl      small_sprintf
  1340.  832                    .LVL71:
  1341.  169:src/display.cpp ****
  1342.  833                            .loc 1 169 8 view .LVU192
  1343.  834 02b4 2118                  adds    r1, r4, r0
  1344.  835                    .LVL72:
  1345.  171:src/display.cpp **** #endif
  1346.  836                            .loc 1 171 5 is_stmt 1 view .LVU193
  1347.  171:src/display.cpp **** #endif
  1348.  837                            .loc 1 171 20 is_stmt 0 view .LVU194
  1349.  838 02b6 89B2                  uxth    r1, r1
  1350.  839                    .LVL73:
  1351.  171:src/display.cpp **** #endif
  1352.  840                            .loc 1 171 20 view .LVU195
  1353.  841 02b8 02A8                  add     r0, sp, #8
  1354.  842                    .LVL74:
  1355.  171:src/display.cpp **** #endif
  1356.  843                            .loc 1 171 20 view .LVU196
  1357.  844 02ba FFF7FEFF              bl      CDC_Transmit_FS
  1358.  845                    .LVL75:
  1359.  846                    .LBE40:
  1360.  847 02be 52E7                  b       .L24
  1361.  848                    .L33:
  1362.  849                            .align  3
  1363.  850                    .L32:
  1364.  851 02c0 0AD7A370              .word   1889785610
  1365.  852 02c4 3D0AFD3F              .word   1073547837
  1366.  853 02c8 00000000              .word   .LANCHOR0
  1367.  854 02cc 00000000              .word   .LANCHOR2
  1368.  855 02d0 00000000              .word   .LANCHOR3
  1369.  856 02d4 00000000              .word   uc1
  1370.  857 02d8 00000000              .word   .LANCHOR4
  1371.  858 02dc 00000000              .word   small_font
  1372.  859 02e0 04000000              .word   .LC1
  1373.  860 02e4 00000000              .word   large_font
  1374.  861 02e8 0C000000              .word   .LC2
  1375.  862 02ec 00002041              .word   1092616192
  1376.  863 02f0 00000000              .word   .LANCHOR5
  1377.  864 02f4 14000000              .word   .LC3
  1378.  865 02f8 00000000              .word   .LANCHOR6
  1379.  866 02fc 00000000              .word   .LANCHOR7
  1380.  867 0300 5C000000              .word   .LC6
  1381. ARM GAS  C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s                   page 24
  1382.  
  1383.  
  1384.  868 0304 00000000              .word   .LANCHOR9
  1385.  869 0308 67666666              .word   1717986919
  1386.  870 030c 60000000              .word   .LC7
  1387.  871 0310 00000000              .word   .LANCHOR10
  1388.  872 0314 1F85EB51              .word   1374389535
  1389.  873 0318 64000000              .word   .LC8
  1390.  874 031c 00000000              .word   .LANCHOR8
  1391.  875 0320 C55A7C0A              .word   175921861
  1392.  876 0324 A0860100              .word   100000
  1393.  877 0328 1C000000              .word   .LC4
  1394.  878 032c 54000000              .word   .LC5
  1395.  879 0330 00000000              .word   .LC0
  1396.  880                    .LBE39:
  1397.  881                    .LBE38:
  1398.  882                    .LBE45:
  1399.  883                            .cfi_endproc
  1400.  884                    .LFE97:
  1401.  886                            .section        .text._ZN18stm32_halDisplay_tD0Ev,"axG",%progbits,_ZN18stm32_halDisplay_tD5Ev,comdat
  1402.  887                            .align  1
  1403.  888                            .weak   _ZN18stm32_halDisplay_tD0Ev
  1404.  889                            .syntax unified
  1405.  890                            .thumb
  1406.  891                            .thumb_func
  1407.  892                            .fpu softvfp
  1408.  894                    _ZN18stm32_halDisplay_tD0Ev:
  1409.  895                    .LVL76:
  1410.  896                    .LFB102:
  1411.  897                            .loc 2 14 7 is_stmt 1 view -0
  1412.  898                            .cfi_startproc
  1413.  899                            @ args = 0, pretend = 0, frame = 0
  1414.  900                            @ frame_needed = 0, uses_anonymous_args = 0
  1415.  901                            .loc 2 14 7 is_stmt 0 view .LVU198
  1416.  902 0000 10B5                  push    {r4, lr}
  1417.  903                    .LCFI11:
  1418.  904                            .cfi_def_cfa_offset 8
  1419.  905                            .cfi_offset 4, -8
  1420.  906                            .cfi_offset 14, -4
  1421.  907 0002 0446                  mov     r4, r0
  1422.  908                    .LVL77:
  1423.  909                    .LBB46:
  1424.  910                    .LBI46:
  1425.  911                            .loc 2 14 7 is_stmt 1 view .LVU199
  1426.  912                    .LBB47:
  1427.  913 0004 044B                  ldr     r3, .L36
  1428.  914 0006 0360                  str     r3, [r0]
  1429.  915 0008 FFF7FEFF              bl      _ZN9display_tD2Ev
  1430.  916                    .LVL78:
  1431.  917                            .loc 2 14 7 is_stmt 0 view .LVU200
  1432.  918                    .LBE47:
  1433.  919                    .LBE46:
  1434.  920 000c 4021                  movs    r1, #64
  1435.  921 000e 2046                  mov     r0, r4
  1436.  922 0010 FFF7FEFF              bl      _ZdlPvj
  1437.  923                    .LVL79:
  1438.  924 0014 2046                  mov     r0, r4
  1439.  925 0016 10BD                  pop     {r4, pc}
  1440.  926                    .LVL80:
  1441. ARM GAS  C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s                   page 25
  1442.  
  1443.  
  1444.  927                    .L37:
  1445.  928                            .loc 2 14 7 view .LVU201
  1446.  929                            .align  2
  1447.  930                    .L36:
  1448.  931 0018 08000000              .word   _ZTV18stm32_halDisplay_t+8
  1449.  932                            .cfi_endproc
  1450.  933                    .LFE102:
  1451.  935                            .section        .text._GLOBAL__sub_I_speedMPH,"ax",%progbits
  1452.  936                            .align  1
  1453.  937                            .syntax unified
  1454.  938                            .thumb
  1455.  939                            .thumb_func
  1456.  940                            .fpu softvfp
  1457.  942                    _GLOBAL__sub_I_speedMPH:
  1458.  943                    .LFB103:
  1459.  944                            .loc 1 186 1 is_stmt 1 view -0
  1460.  945                            .cfi_startproc
  1461.  946                            @ args = 0, pretend = 0, frame = 0
  1462.  947                            @ frame_needed = 0, uses_anonymous_args = 0
  1463.  948 0000 08B5                  push    {r3, lr}
  1464.  949                    .LCFI12:
  1465.  950                            .cfi_def_cfa_offset 8
  1466.  951                            .cfi_offset 3, -8
  1467.  952                            .cfi_offset 14, -4
  1468.  953                            .loc 1 186 1 is_stmt 0 view .LVU203
  1469.  954 0002 4FF6FF71              movw    r1, #65535
  1470.  955 0006 0120                  movs    r0, #1
  1471.  956 0008 FFF7FEFF              bl      _Z41__static_initialization_and_destruction_0ii
  1472.  957                    .LVL81:
  1473.  958 000c 08BD                  pop     {r3, pc}
  1474.  959                            .cfi_endproc
  1475.  960                    .LFE103:
  1476.  962                            .section        .init_array,"aw",%init_array
  1477.  963                            .align  2
  1478.  964 0000 00000000              .word   _GLOBAL__sub_I_speedMPH(target1)
  1479.  965                            .global fontBuf
  1480.  966                            .global dial
  1481.  967                            .global display1
  1482.  968                            .global displayBuffer
  1483.  969                            .global rslt
  1484.  970                            .global pres32
  1485.  971                            .global temp32
  1486.  972                            .global lastTick
  1487.  973                            .global loc
  1488.  974                            .global heading
  1489.  975                            .global speedDist
  1490.  976                            .global speedTimer
  1491.  977                            .global speedAVG
  1492.  978                            .global speedMPH
  1493.  979                            .section        .bss.dial,"aw",%nobits
  1494.  980                            .align  2
  1495.  981                            .set    .LANCHOR2,. + 0
  1496.  984                    dial:
  1497.  985 0000 00000000              .space  16
  1498.  985      00000000
  1499.  985      00000000
  1500.  985      00000000
  1501. ARM GAS  C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s                   page 26
  1502.  
  1503.  
  1504.  986                            .section        .bss.display1,"aw",%nobits
  1505.  987                            .align  2
  1506.  988                            .set    .LANCHOR0,. + 0
  1507.  991                    display1:
  1508.  992 0000 00000000              .space  64
  1509.  992      00000000
  1510.  992      00000000
  1511.  992      00000000
  1512.  992      00000000
  1513.  993                            .section        .bss.displayBuffer,"aw",%nobits
  1514.  994                            .align  2
  1515.  995                            .set    .LANCHOR1,. + 0
  1516.  998                    displayBuffer:
  1517.  999 0000 00000000              .space  1024
  1518.  999      00000000
  1519.  999      00000000
  1520.  999      00000000
  1521.  999      00000000
  1522.  1000                           .section        .bss.heading,"aw",%nobits
  1523.  1001                           .align  2
  1524.  1002                           .set    .LANCHOR4,. + 0
  1525.  1005                   heading:
  1526.  1006 0000 00000000             .space  4
  1527.  1007                           .section        .bss.lastTick,"aw",%nobits
  1528.  1008                           .align  2
  1529.  1009                           .set    .LANCHOR7,. + 0
  1530.  1012                   lastTick:
  1531.  1013 0000 00000000             .space  4
  1532.  1014                           .section        .bss.loc,"aw",%nobits
  1533.  1015                           .align  3
  1534.  1016                           .set    .LANCHOR3,. + 0
  1535.  1019                   loc:
  1536.  1020 0000 00000000             .space  80
  1537.  1020      00000000
  1538.  1020      00000000
  1539.  1020      00000000
  1540.  1020      00000000
  1541.  1021                           .section        .bss.pres32,"aw",%nobits
  1542.  1022                           .align  2
  1543.  1023                           .set    .LANCHOR10,. + 0
  1544.  1026                   pres32:
  1545.  1027 0000 00000000             .space  4
  1546.  1028                           .section        .bss.rslt,"aw",%nobits
  1547.  1029                           .align  2
  1548.  1030                           .set    .LANCHOR8,. + 0
  1549.  1033                   rslt:
  1550.  1034 0000 00000000             .space  4
  1551.  1035                           .section        .bss.speedAVG,"aw",%nobits
  1552.  1036                           .align  2
  1553.  1037                           .set    .LANCHOR6,. + 0
  1554.  1040                   speedAVG:
  1555.  1041 0000 00000000             .space  4
  1556.  1042                           .section        .bss.speedDist,"aw",%nobits
  1557.  1043                           .align  2
  1558.  1046                   speedDist:
  1559.  1047 0000 00000000             .space  4
  1560.  1048                           .section        .bss.speedMPH,"aw",%nobits
  1561. ARM GAS  C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s                   page 27
  1562.  
  1563.  
  1564.  1049                           .align  2
  1565.  1050                           .set    .LANCHOR5,. + 0
  1566.  1053                   speedMPH:
  1567.  1054 0000 00000000             .space  4
  1568.  1055                           .section        .bss.speedTimer,"aw",%nobits
  1569.  1056                           .align  2
  1570.  1059                   speedTimer:
  1571.  1060 0000 00000000             .space  4
  1572.  1061                           .section        .bss.temp32,"aw",%nobits
  1573.  1062                           .align  2
  1574.  1063                           .set    .LANCHOR9,. + 0
  1575.  1066                   temp32:
  1576.  1067 0000 00000000             .space  4
  1577.  1068                           .section        .data.fontBuf,"aw"
  1578.  1069                           .align  2
  1579.  1072                   fontBuf:
  1580.  1073 0000 30313233             .ascii  "01234567\000"
  1581.  1073      34353637
  1582.  1073      00
  1583.  1074                           .section        .rodata.cc_run.str1.4,"aMS",%progbits,1
  1584.  1075                           .align  2
  1585.  1076                   .LC0:
  1586.  1077 0000 3A00                 .ascii  ":\000"
  1587.  1078 0002 0000                 .space  2
  1588.  1079                   .LC1:
  1589.  1080 0004 4750533F             .ascii  "GPS?\000"
  1590.  1080      00
  1591.  1081 0009 000000               .space  3
  1592.  1082                   .LC2:
  1593.  1083 000c 53706565             .ascii  "Speed\000"
  1594.  1083      6400
  1595.  1084 0012 0000                 .space  2
  1596.  1085                   .LC3:
  1597.  1086 0014 41766572             .ascii  "Average\000"
  1598.  1086      61676500
  1599.  1087                   .LC4:
  1600.  1088 001c 244D4A58             .ascii  "$MJXDR,C,%ld.%02ld,C,AirTemp,P,%01ld.%05ld,B,AirPre"
  1601.  1088      44522C43
  1602.  1088      2C256C64
  1603.  1088      2E253032
  1604.  1088      6C642C43
  1605.  1089 004f 7300                 .ascii  "s\000"
  1606.  1090 0051 000000               .space  3
  1607.  1091                   .LC5:
  1608.  1092 0054 2A253032             .ascii  "*%02X\012\000"
  1609.  1092      580A00
  1610.  1093 005b 00                   .space  1
  1611.  1094                   .LC6:
  1612.  1095 005c 5400                 .ascii  "T\000"
  1613.  1096 005e 0000                 .space  2
  1614.  1097                   .LC7:
  1615.  1098 0060 205000               .ascii  " P\000"
  1616.  1099 0063 00                   .space  1
  1617.  1100                   .LC8:
  1618.  1101 0064 2000                 .ascii  " \000"
  1619.  1102                           .text
  1620.  1103                   .Letext0:
  1621. ARM GAS  C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s                   page 28
  1622.  
  1623.  
  1624.  1104                           .file 4 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
  1625.  1105                           .file 5 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
  1626.  1106                           .file 6 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
  1627.  1107                           .file 7 "Drivers/CMSIS/Include/core_cm3.h"
  1628.  1108                           .file 8 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h"
  1629.  1109                           .file 9 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h"
  1630.  1110                           .file 10 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
  1631.  1111                           .file 11 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h"
  1632.  1112                           .file 12 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h"
  1633.  1113                           .file 13 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_spi.h"
  1634.  1114                           .file 14 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h"
  1635.  1115                           .file 15 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h"
  1636.  1116                           .file 16 "Core/Inc/main.h"
  1637.  1117                           .file 17 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
  1638.  1118                           .file 18 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
  1639.  1119                           .file 19 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
  1640.  1120                           .file 20 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
  1641.  1121                           .file 21 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
  1642.  1122                           .file 22 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
  1643.  1123                           .file 23 "../libSerial/inc/libSerial/serial.h"
  1644.  1124                           .file 24 "../libNMEA/inc/libNMEA/nmea.h"
  1645.  1125                           .file 25 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
  1646.  1126                           .file 26 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
  1647.  1127                           .file 27 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
  1648.  1128                           .file 28 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
  1649.  1129                           .file 29 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
  1650.  1130                           .file 30 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
  1651.  1131                           .file 31 "../libOLED/inc/libOLED/fontclass.H"
  1652.  1132                           .file 32 "../libOLED/inc/libOLED/displayDial.H"
  1653.  1133                           .file 33 "../libBMP280/inc/libBMP280/bmp280_defs.h"
  1654.  1134                           .file 34 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
  1655.  1135                           .file 35 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
  1656.  1136                           .file 36 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h"
  1657.  1137                           .file 37 "Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc/usbd_cdc.h"
  1658.  1138                           .file 38 "USB_DEVICE/App/usbd_cdc_if.h"
  1659.  1139                           .file 39 "../libBMP280/inc/libBMP280/bmp280.h"
  1660.  1140                           .file 40 "../libSmallPrintf/inc/libSmallPrintf/small_printf.h"
  1661.  1141                           .file 41 "<built-in>"
  1662. ARM GAS  C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s                   page 29
  1663.  
  1664.  
  1665. DEFINED SYMBOLS
  1666.                             *ABS*:0000000000000000 display.cpp
  1667. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:16     .text._Z41__static_initialization_and_destruction_0ii:0000000000000000 $t
  1668. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:23     .text._Z41__static_initialization_and_destruction_0ii:0000000000000000 _Z41__static_initialization_and_destruction_0ii
  1669. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:101    .text._Z41__static_initialization_and_destruction_0ii:0000000000000060 $d
  1670. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:118    .text._ZN18stm32_halDisplay_tD2Ev:0000000000000000 _ZN18stm32_halDisplay_tD1Ev
  1671. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:111    .text._ZN18stm32_halDisplay_tD2Ev:0000000000000000 $t
  1672. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:118    .text._ZN18stm32_halDisplay_tD2Ev:0000000000000000 _ZN18stm32_halDisplay_tD2Ev
  1673. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:148    .text._ZN18stm32_halDisplay_tD2Ev:0000000000000010 $d
  1674. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:155    .text.cc_init:0000000000000000 $t
  1675. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:162    .text.cc_init:0000000000000000 cc_init
  1676. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:225    .text.cc_init:0000000000000048 $d
  1677. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:237    .text.cc_run:0000000000000000 $t
  1678. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:244    .text.cc_run:0000000000000000 cc_run
  1679. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:851    .text.cc_run:00000000000002c0 $d
  1680. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:887    .text._ZN18stm32_halDisplay_tD0Ev:0000000000000000 $t
  1681. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:894    .text._ZN18stm32_halDisplay_tD0Ev:0000000000000000 _ZN18stm32_halDisplay_tD0Ev
  1682. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:931    .text._ZN18stm32_halDisplay_tD0Ev:0000000000000018 $d
  1683. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:936    .text._GLOBAL__sub_I_speedMPH:0000000000000000 $t
  1684. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:942    .text._GLOBAL__sub_I_speedMPH:0000000000000000 _GLOBAL__sub_I_speedMPH
  1685. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:963    .init_array:0000000000000000 $d
  1686. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1072   .data.fontBuf:0000000000000000 fontBuf
  1687. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:984    .bss.dial:0000000000000000 dial
  1688. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:991    .bss.display1:0000000000000000 display1
  1689. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:998    .bss.displayBuffer:0000000000000000 displayBuffer
  1690. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1033   .bss.rslt:0000000000000000 rslt
  1691. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1026   .bss.pres32:0000000000000000 pres32
  1692. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1066   .bss.temp32:0000000000000000 temp32
  1693. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1012   .bss.lastTick:0000000000000000 lastTick
  1694. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1019   .bss.loc:0000000000000000 loc
  1695. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1005   .bss.heading:0000000000000000 heading
  1696. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1046   .bss.speedDist:0000000000000000 speedDist
  1697. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1059   .bss.speedTimer:0000000000000000 speedTimer
  1698. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1040   .bss.speedAVG:0000000000000000 speedAVG
  1699. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1053   .bss.speedMPH:0000000000000000 speedMPH
  1700. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:980    .bss.dial:0000000000000000 $d
  1701. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:987    .bss.display1:0000000000000000 $d
  1702. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:994    .bss.displayBuffer:0000000000000000 $d
  1703. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1001   .bss.heading:0000000000000000 $d
  1704. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1008   .bss.lastTick:0000000000000000 $d
  1705. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1015   .bss.loc:0000000000000000 $d
  1706. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1022   .bss.pres32:0000000000000000 $d
  1707. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1029   .bss.rslt:0000000000000000 $d
  1708. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1036   .bss.speedAVG:0000000000000000 $d
  1709. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1043   .bss.speedDist:0000000000000000 $d
  1710. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1049   .bss.speedMPH:0000000000000000 $d
  1711. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1056   .bss.speedTimer:0000000000000000 $d
  1712. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1062   .bss.temp32:0000000000000000 $d
  1713. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1069   .data.fontBuf:0000000000000000 $d
  1714. C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s:1075   .rodata.cc_run.str1.4:0000000000000000 $d
  1715.                            .group:0000000000000000 _ZN18stm32_halDisplay_tD5Ev
  1716.  
  1717. UNDEFINED SYMBOLS
  1718. _ZN18stm32_halDisplay_tC1EiiiPhP19__SPI_HandleTypeDefP12GPIO_TypeDeftS4_tS4_t
  1719. __aeabi_atexit
  1720. _ZN13displayDial_tC1ER9display_thhht
  1721. hspi1
  1722. ARM GAS  C:\Users\mike\AppData\Local\Temp\cc1oOcHd.s                   page 30
  1723.  
  1724.  
  1725. __dso_handle
  1726. _ZN9display_tD2Ev
  1727. _ZTV18stm32_halDisplay_t
  1728. _ZN9display_t5resetEv
  1729. _ZN9display_t4initEv
  1730. _ZN9display_t12clearDisplayE8colour_t
  1731. _ZN13displayDial_t10draw_scaleEsshhs
  1732. _ZN9display_t7displayEv
  1733. __aeabi_f2iz
  1734. __aeabi_f2d
  1735. __aeabi_ddiv
  1736. __aeabi_d2f
  1737. __aeabi_fmul
  1738. updateLocation
  1739. _ZN9display_t11printStringER6font_tPKct8colour_t
  1740. _ZN13displayDial_t11draw_needleEs
  1741. _ZN9display_t10fontDigitsER6font_thhi8colour_t
  1742. HAL_GetTick
  1743. bmp280_get_uncomp_data
  1744. bmp280_get_comp_temp_32bit
  1745. bmp280_get_comp_pres_32bit
  1746. small_sprintf
  1747. CDC_Transmit_FS
  1748. uc1
  1749. small_font
  1750. large_font
  1751. _ZdlPvj
  1752.