summaryrefslogtreecommitdiff
path: root/fw/midi-dials/build/main.lst
diff options
context:
space:
mode:
Diffstat (limited to 'fw/midi-dials/build/main.lst')
-rw-r--r--fw/midi-dials/build/main.lst1163
1 files changed, 1163 insertions, 0 deletions
diff --git a/fw/midi-dials/build/main.lst b/fw/midi-dials/build/main.lst
new file mode 100644
index 0000000..67ea82a
--- /dev/null
+++ b/fw/midi-dials/build/main.lst
@@ -0,0 +1,1163 @@
+ARM GAS /tmp/cclvWDtP.s page 1
+
+
+ 1 .cpu cortex-m0
+ 2 .eabi_attribute 20, 1
+ 3 .eabi_attribute 21, 1
+ 4 .eabi_attribute 23, 3
+ 5 .eabi_attribute 24, 1
+ 6 .eabi_attribute 25, 1
+ 7 .eabi_attribute 26, 1
+ 8 .eabi_attribute 30, 1
+ 9 .eabi_attribute 34, 0
+ 10 .eabi_attribute 18, 4
+ 11 .file "main.c"
+ 12 .text
+ 13 .Ltext0:
+ 14 .cfi_sections .debug_frame
+ 15 .section .text.MX_GPIO_Init,"ax",%progbits
+ 16 .align 1
+ 17 .syntax unified
+ 18 .code 16
+ 19 .thumb_func
+ 20 .fpu softvfp
+ 22 MX_GPIO_Init:
+ 23 .LFB48:
+ 24 .file 1 "Src/main.c"
+ 1:Src/main.c ****
+ 2:Src/main.c **** #include "main.h"
+ 3:Src/main.c **** #include "usb_device.h"
+ 4:Src/main.c ****
+ 5:Src/main.c **** #include "device_conf.h"
+ 6:Src/main.c **** #include "curemisc.h"
+ 7:Src/main.c **** #include "curebuffer.h"
+ 8:Src/main.c **** #include "usbd_midi_if.h"
+ 9:Src/main.c **** #include "usbd_midi.h"
+ 10:Src/main.c ****
+ 11:Src/main.c **** #define HYST 50
+ 12:Src/main.c ****
+ 13:Src/main.c **** ADC_HandleTypeDef hadc;
+ 14:Src/main.c **** DMA_HandleTypeDef hdma_adc;
+ 15:Src/main.c ****
+ 16:Src/main.c **** PCD_HandleTypeDef hpcd_USB_FS;
+ 17:Src/main.c ****
+ 18:Src/main.c **** void SystemClock_Config(void);
+ 19:Src/main.c **** static void MX_GPIO_Init(void);
+ 20:Src/main.c **** static void MX_DMA_Init(void);
+ 21:Src/main.c **** static void MX_ADC_Init(void);
+ 22:Src/main.c **** static void MX_USB_PCD_Init(void);
+ 23:Src/main.c ****
+ 24:Src/main.c **** uint16_t ADC_val[8];
+ 25:Src/main.c **** uint16_t ADC_val_old[8];
+ 26:Src/main.c **** uint8_t dial[8];
+ 27:Src/main.c **** uint8_t dial_mapping[8] = {1, 2, 3, 4, 5, 6, 7, 0};
+ 28:Src/main.c **** uint16_t dial_div[8] = {32, 32, 32, 32, 32, 32, 32, 256};
+ 29:Src/main.c ****
+ 30:Src/main.c **** uint8_t midi_packet[4] = {0x0B, 0xB0, 0x00, 0x00};
+ 31:Src/main.c ****
+ 32:Src/main.c **** int main(void)
+ 33:Src/main.c **** {
+ 34:Src/main.c **** HAL_Init();
+ ARM GAS /tmp/cclvWDtP.s page 2
+
+
+ 35:Src/main.c ****
+ 36:Src/main.c **** SystemClock_Config();
+ 37:Src/main.c ****
+ 38:Src/main.c **** MX_GPIO_Init();
+ 39:Src/main.c **** MX_DMA_Init();
+ 40:Src/main.c **** MX_ADC_Init();
+ 41:Src/main.c **** MX_USB_MIDI_INIT();
+ 42:Src/main.c ****
+ 43:Src/main.c **** HAL_ADC_Start_DMA(&hadc, ADC_val, 8);
+ 44:Src/main.c ****
+ 45:Src/main.c ****
+ 46:Src/main.c **** if(FUNC_ERROR == midiInit() ){
+ 47:Src/main.c **** while(1){
+ 48:Src/main.c **** HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, SET);
+ 49:Src/main.c **** HAL_Delay(500);
+ 50:Src/main.c **** HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, RESET);
+ 51:Src/main.c **** HAL_Delay(500);
+ 52:Src/main.c **** }
+ 53:Src/main.c **** }
+ 54:Src/main.c ****
+ 55:Src/main.c **** //Wait usb configuration.
+ 56:Src/main.c **** while(1){
+ 57:Src/main.c ****
+ 58:Src/main.c **** if(USBD_STATE_CONFIGURED == hUsbDeviceFS.dev_state){
+ 59:Src/main.c **** HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, SET);
+ 60:Src/main.c **** break;
+ 61:Src/main.c **** }else{
+ 62:Src/main.c **** HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, RESET);
+ 63:Src/main.c **** }
+ 64:Src/main.c **** }
+ 65:Src/main.c ****
+ 66:Src/main.c **** while (1)
+ 67:Src/main.c **** {
+ 68:Src/main.c **** while(1){
+ 69:Src/main.c **** if(USBD_STATE_CONFIGURED == hUsbDeviceFS.dev_state){
+ 70:Src/main.c **** HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, SET);
+ 71:Src/main.c **** break;
+ 72:Src/main.c **** }else{
+ 73:Src/main.c **** HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, SET);
+ 74:Src/main.c **** HAL_Delay(200);
+ 75:Src/main.c **** HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, RESET);
+ 76:Src/main.c **** HAL_Delay(200);
+ 77:Src/main.c **** }
+ 78:Src/main.c **** }
+ 79:Src/main.c ****
+ 80:Src/main.c **** midiProcess();
+ 81:Src/main.c **** for(uint8_t i = 0; i <= 7; i++){
+ 82:Src/main.c **** if(ADC_val[dial_mapping[i]] >= (ADC_val_old[dial_mapping[i]] + HYST) || ADC_val[dial_mapping[
+ 83:Src/main.c **** ADC_val_old[dial_mapping[i]] = ADC_val[dial_mapping[i]];
+ 84:Src/main.c **** dial[i] = (uint8_t)((ADC_val[dial_mapping[i]]/dial_div[i]) & 0x7F);
+ 85:Src/main.c **** midi_packet[3] = dial[i];
+ 86:Src/main.c **** midi_packet[1] = 0xB0 + i;
+ 87:Src/main.c **** sendMidiMessage(midi_packet, 4);
+ 88:Src/main.c **** USBD_MIDI_SendPacket();
+ 89:Src/main.c **** HAL_Delay(2);
+ 90:Src/main.c **** }
+ 91:Src/main.c **** }
+ ARM GAS /tmp/cclvWDtP.s page 3
+
+
+ 92:Src/main.c **** //USBD_MIDI_SendData(&hUsbDeviceFS, midi_packet, 4);
+ 93:Src/main.c ****
+ 94:Src/main.c ****
+ 95:Src/main.c **** }
+ 96:Src/main.c **** }
+ 97:Src/main.c ****
+ 98:Src/main.c **** void SystemClock_Config(void)
+ 99:Src/main.c **** {
+ 100:Src/main.c **** RCC_OscInitTypeDef RCC_OscInitStruct = {0};
+ 101:Src/main.c **** RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
+ 102:Src/main.c **** RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};
+ 103:Src/main.c ****
+ 104:Src/main.c **** RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI14|RCC_OSCILLATORTYPE_HSI48;
+ 105:Src/main.c **** RCC_OscInitStruct.HSI48State = RCC_HSI48_ON;
+ 106:Src/main.c **** RCC_OscInitStruct.HSI14State = RCC_HSI14_ON;
+ 107:Src/main.c **** RCC_OscInitStruct.HSI14CalibrationValue = 16;
+ 108:Src/main.c **** RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
+ 109:Src/main.c **** HAL_RCC_OscConfig(&RCC_OscInitStruct);
+ 110:Src/main.c ****
+ 111:Src/main.c **** RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
+ 112:Src/main.c **** |RCC_CLOCKTYPE_PCLK1;
+ 113:Src/main.c **** RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI48;
+ 114:Src/main.c **** RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
+ 115:Src/main.c **** RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
+ 116:Src/main.c **** HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1);
+ 117:Src/main.c ****
+ 118:Src/main.c **** PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_USB;
+ 119:Src/main.c **** PeriphClkInit.UsbClockSelection = RCC_USBCLKSOURCE_HSI48;
+ 120:Src/main.c **** HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit);
+ 121:Src/main.c ****
+ 122:Src/main.c **** }
+ 123:Src/main.c ****
+ 124:Src/main.c **** static void MX_ADC_Init(void)
+ 125:Src/main.c **** {
+ 126:Src/main.c ****
+ 127:Src/main.c **** ADC_ChannelConfTypeDef sConfig = {0};
+ 128:Src/main.c ****
+ 129:Src/main.c **** hadc.Instance = ADC1;
+ 130:Src/main.c **** hadc.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV1;
+ 131:Src/main.c **** hadc.Init.Resolution = ADC_RESOLUTION_12B;
+ 132:Src/main.c **** hadc.Init.DataAlign = ADC_DATAALIGN_RIGHT;
+ 133:Src/main.c **** hadc.Init.ScanConvMode = ADC_SCAN_DIRECTION_FORWARD;
+ 134:Src/main.c **** hadc.Init.EOCSelection = ADC_EOC_SEQ_CONV;
+ 135:Src/main.c **** hadc.Init.LowPowerAutoWait = DISABLE;
+ 136:Src/main.c **** hadc.Init.LowPowerAutoPowerOff = DISABLE;
+ 137:Src/main.c **** hadc.Init.ContinuousConvMode = ENABLE;
+ 138:Src/main.c **** hadc.Init.DiscontinuousConvMode = DISABLE;
+ 139:Src/main.c **** hadc.Init.ExternalTrigConv = ADC_SOFTWARE_START;
+ 140:Src/main.c **** hadc.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;
+ 141:Src/main.c **** hadc.Init.DMAContinuousRequests = ENABLE;
+ 142:Src/main.c **** hadc.Init.Overrun = ADC_OVR_DATA_PRESERVED;
+ 143:Src/main.c **** HAL_ADC_Init(&hadc);
+ 144:Src/main.c ****
+ 145:Src/main.c **** sConfig.Rank = ADC_RANK_CHANNEL_NUMBER;
+ 146:Src/main.c **** sConfig.SamplingTime = ADC_SAMPLETIME_71CYCLES_5;
+ 147:Src/main.c **** sConfig.Channel = ADC_CHANNEL_1;
+ 148:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
+ ARM GAS /tmp/cclvWDtP.s page 4
+
+
+ 149:Src/main.c ****
+ 150:Src/main.c **** sConfig.Channel = ADC_CHANNEL_2;
+ 151:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
+ 152:Src/main.c ****
+ 153:Src/main.c **** sConfig.Channel = ADC_CHANNEL_3;
+ 154:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
+ 155:Src/main.c ****
+ 156:Src/main.c **** sConfig.Channel = ADC_CHANNEL_4;
+ 157:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
+ 158:Src/main.c ****
+ 159:Src/main.c **** sConfig.Channel = ADC_CHANNEL_5;
+ 160:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
+ 161:Src/main.c ****
+ 162:Src/main.c **** sConfig.Channel = ADC_CHANNEL_6;
+ 163:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
+ 164:Src/main.c ****
+ 165:Src/main.c **** sConfig.Channel = ADC_CHANNEL_7;
+ 166:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
+ 167:Src/main.c ****
+ 168:Src/main.c **** sConfig.Channel = ADC_CHANNEL_8;
+ 169:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
+ 170:Src/main.c **** }
+ 171:Src/main.c ****
+ 172:Src/main.c **** static void MX_USB_PCD_Init(void)
+ 173:Src/main.c **** {
+ 174:Src/main.c ****
+ 175:Src/main.c **** hpcd_USB_FS.Instance = USB;
+ 176:Src/main.c **** hpcd_USB_FS.Init.dev_endpoints = 8;
+ 177:Src/main.c **** hpcd_USB_FS.Init.speed = PCD_SPEED_FULL;
+ 178:Src/main.c **** hpcd_USB_FS.Init.phy_itface = PCD_PHY_EMBEDDED;
+ 179:Src/main.c **** hpcd_USB_FS.Init.low_power_enable = DISABLE;
+ 180:Src/main.c **** hpcd_USB_FS.Init.lpm_enable = DISABLE;
+ 181:Src/main.c **** hpcd_USB_FS.Init.battery_charging_enable = DISABLE;
+ 182:Src/main.c **** HAL_PCD_Init(&hpcd_USB_FS);
+ 183:Src/main.c **** }
+ 184:Src/main.c ****
+ 185:Src/main.c ****
+ 186:Src/main.c **** static void MX_DMA_Init(void)
+ 187:Src/main.c **** {
+ 188:Src/main.c **** __HAL_RCC_DMA1_CLK_ENABLE();
+ 189:Src/main.c ****
+ 190:Src/main.c **** HAL_NVIC_SetPriority(DMA1_Channel1_IRQn, 0, 0);
+ 191:Src/main.c **** HAL_NVIC_EnableIRQ(DMA1_Channel1_IRQn);
+ 192:Src/main.c **** }
+ 193:Src/main.c ****
+ 194:Src/main.c ****
+ 195:Src/main.c **** static void MX_GPIO_Init(void)
+ 196:Src/main.c **** {
+ 25 .loc 1 196 0
+ 26 .cfi_startproc
+ 27 @ args = 0, pretend = 0, frame = 32
+ 28 @ frame_needed = 0, uses_anonymous_args = 0
+ 29 0000 30B5 push {r4, r5, lr}
+ 30 .LCFI0:
+ 31 .cfi_def_cfa_offset 12
+ 32 .cfi_offset 4, -12
+ 33 .cfi_offset 5, -8
+ ARM GAS /tmp/cclvWDtP.s page 5
+
+
+ 34 .cfi_offset 14, -4
+ 35 0002 89B0 sub sp, sp, #36
+ 36 .LCFI1:
+ 37 .cfi_def_cfa_offset 48
+ 197:Src/main.c ****
+ 198:Src/main.c **** GPIO_InitTypeDef GPIO_InitStruct = {0};
+ 38 .loc 1 198 0
+ 39 0004 1422 movs r2, #20
+ 40 0006 0021 movs r1, #0
+ 41 0008 03A8 add r0, sp, #12
+ 42 000a FFF7FEFF bl memset
+ 43 .LVL0:
+ 44 .LBB2:
+ 199:Src/main.c ****
+ 200:Src/main.c **** __HAL_RCC_GPIOB_CLK_ENABLE();
+ 45 .loc 1 200 0
+ 46 000e 134B ldr r3, .L2
+ 47 0010 5969 ldr r1, [r3, #20]
+ 48 0012 8020 movs r0, #128
+ 49 0014 C002 lsls r0, r0, #11
+ 50 0016 0143 orrs r1, r0
+ 51 0018 5961 str r1, [r3, #20]
+ 52 001a 5A69 ldr r2, [r3, #20]
+ 53 001c 0240 ands r2, r0
+ 54 001e 0192 str r2, [sp, #4]
+ 55 0020 019A ldr r2, [sp, #4]
+ 56 .LBE2:
+ 57 .LBB3:
+ 201:Src/main.c **** __HAL_RCC_GPIOA_CLK_ENABLE();
+ 58 .loc 1 201 0
+ 59 0022 5A69 ldr r2, [r3, #20]
+ 60 0024 8021 movs r1, #128
+ 61 0026 8902 lsls r1, r1, #10
+ 62 0028 0A43 orrs r2, r1
+ 63 002a 5A61 str r2, [r3, #20]
+ 64 002c 5B69 ldr r3, [r3, #20]
+ 65 002e 0B40 ands r3, r1
+ 66 0030 0293 str r3, [sp, #8]
+ 67 0032 029B ldr r3, [sp, #8]
+ 68 .LBE3:
+ 202:Src/main.c ****
+ 203:Src/main.c **** HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, GPIO_PIN_RESET);
+ 69 .loc 1 203 0
+ 70 0034 8025 movs r5, #128
+ 71 0036 AD01 lsls r5, r5, #6
+ 72 0038 094C ldr r4, .L2+4
+ 73 003a 0022 movs r2, #0
+ 74 003c 2900 movs r1, r5
+ 75 003e 2000 movs r0, r4
+ 76 0040 FFF7FEFF bl HAL_GPIO_WritePin
+ 77 .LVL1:
+ 204:Src/main.c ****
+ 205:Src/main.c **** GPIO_InitStruct.Pin = GPIO_PIN_13;
+ 78 .loc 1 205 0
+ 79 0044 0395 str r5, [sp, #12]
+ 206:Src/main.c **** GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ 80 .loc 1 206 0
+ ARM GAS /tmp/cclvWDtP.s page 6
+
+
+ 81 0046 0123 movs r3, #1
+ 82 0048 0493 str r3, [sp, #16]
+ 207:Src/main.c **** GPIO_InitStruct.Pull = GPIO_NOPULL;
+ 83 .loc 1 207 0
+ 84 004a 0023 movs r3, #0
+ 85 004c 0593 str r3, [sp, #20]
+ 208:Src/main.c **** GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ 86 .loc 1 208 0
+ 87 004e 0693 str r3, [sp, #24]
+ 209:Src/main.c **** HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
+ 88 .loc 1 209 0
+ 89 0050 03A9 add r1, sp, #12
+ 90 0052 2000 movs r0, r4
+ 91 0054 FFF7FEFF bl HAL_GPIO_Init
+ 92 .LVL2:
+ 210:Src/main.c **** }
+ 93 .loc 1 210 0
+ 94 0058 09B0 add sp, sp, #36
+ 95 @ sp needed
+ 96 005a 30BD pop {r4, r5, pc}
+ 97 .L3:
+ 98 .align 2
+ 99 .L2:
+ 100 005c 00100240 .word 1073876992
+ 101 0060 00040048 .word 1207960576
+ 102 .cfi_endproc
+ 103 .LFE48:
+ 105 .section .text.MX_DMA_Init,"ax",%progbits
+ 106 .align 1
+ 107 .syntax unified
+ 108 .code 16
+ 109 .thumb_func
+ 110 .fpu softvfp
+ 112 MX_DMA_Init:
+ 113 .LFB47:
+ 187:Src/main.c **** __HAL_RCC_DMA1_CLK_ENABLE();
+ 114 .loc 1 187 0
+ 115 .cfi_startproc
+ 116 @ args = 0, pretend = 0, frame = 8
+ 117 @ frame_needed = 0, uses_anonymous_args = 0
+ 118 0000 00B5 push {lr}
+ 119 .LCFI2:
+ 120 .cfi_def_cfa_offset 4
+ 121 .cfi_offset 14, -4
+ 122 0002 83B0 sub sp, sp, #12
+ 123 .LCFI3:
+ 124 .cfi_def_cfa_offset 16
+ 125 .LBB4:
+ 188:Src/main.c ****
+ 126 .loc 1 188 0
+ 127 0004 094A ldr r2, .L5
+ 128 0006 5169 ldr r1, [r2, #20]
+ 129 0008 0123 movs r3, #1
+ 130 000a 1943 orrs r1, r3
+ 131 000c 5161 str r1, [r2, #20]
+ 132 000e 5269 ldr r2, [r2, #20]
+ 133 0010 1340 ands r3, r2
+ ARM GAS /tmp/cclvWDtP.s page 7
+
+
+ 134 0012 0193 str r3, [sp, #4]
+ 135 0014 019B ldr r3, [sp, #4]
+ 136 .LBE4:
+ 190:Src/main.c **** HAL_NVIC_EnableIRQ(DMA1_Channel1_IRQn);
+ 137 .loc 1 190 0
+ 138 0016 0022 movs r2, #0
+ 139 0018 0021 movs r1, #0
+ 140 001a 0920 movs r0, #9
+ 141 001c FFF7FEFF bl HAL_NVIC_SetPriority
+ 142 .LVL3:
+ 191:Src/main.c **** }
+ 143 .loc 1 191 0
+ 144 0020 0920 movs r0, #9
+ 145 0022 FFF7FEFF bl HAL_NVIC_EnableIRQ
+ 146 .LVL4:
+ 192:Src/main.c ****
+ 147 .loc 1 192 0
+ 148 0026 03B0 add sp, sp, #12
+ 149 @ sp needed
+ 150 0028 00BD pop {pc}
+ 151 .L6:
+ 152 002a C046 .align 2
+ 153 .L5:
+ 154 002c 00100240 .word 1073876992
+ 155 .cfi_endproc
+ 156 .LFE47:
+ 158 .section .text.MX_ADC_Init,"ax",%progbits
+ 159 .align 1
+ 160 .syntax unified
+ 161 .code 16
+ 162 .thumb_func
+ 163 .fpu softvfp
+ 165 MX_ADC_Init:
+ 166 .LFB45:
+ 125:Src/main.c ****
+ 167 .loc 1 125 0
+ 168 .cfi_startproc
+ 169 @ args = 0, pretend = 0, frame = 16
+ 170 @ frame_needed = 0, uses_anonymous_args = 0
+ 171 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 172 .LCFI4:
+ 173 .cfi_def_cfa_offset 20
+ 174 .cfi_offset 4, -20
+ 175 .cfi_offset 5, -16
+ 176 .cfi_offset 6, -12
+ 177 .cfi_offset 7, -8
+ 178 .cfi_offset 14, -4
+ 179 0002 85B0 sub sp, sp, #20
+ 180 .LCFI5:
+ 181 .cfi_def_cfa_offset 40
+ 127:Src/main.c ****
+ 182 .loc 1 127 0
+ 183 0004 0C22 movs r2, #12
+ 184 0006 0021 movs r1, #0
+ 185 0008 01A8 add r0, sp, #4
+ 186 000a FFF7FEFF bl memset
+ 187 .LVL5:
+ ARM GAS /tmp/cclvWDtP.s page 8
+
+
+ 129:Src/main.c **** hadc.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV1;
+ 188 .loc 1 129 0
+ 189 000e 264C ldr r4, .L8
+ 190 0010 264B ldr r3, .L8+4
+ 191 0012 2360 str r3, [r4]
+ 130:Src/main.c **** hadc.Init.Resolution = ADC_RESOLUTION_12B;
+ 192 .loc 1 130 0
+ 193 0014 0023 movs r3, #0
+ 194 0016 6360 str r3, [r4, #4]
+ 131:Src/main.c **** hadc.Init.DataAlign = ADC_DATAALIGN_RIGHT;
+ 195 .loc 1 131 0
+ 196 0018 A360 str r3, [r4, #8]
+ 132:Src/main.c **** hadc.Init.ScanConvMode = ADC_SCAN_DIRECTION_FORWARD;
+ 197 .loc 1 132 0
+ 198 001a E360 str r3, [r4, #12]
+ 133:Src/main.c **** hadc.Init.EOCSelection = ADC_EOC_SEQ_CONV;
+ 199 .loc 1 133 0
+ 200 001c 0125 movs r5, #1
+ 201 001e 2561 str r5, [r4, #16]
+ 134:Src/main.c **** hadc.Init.LowPowerAutoWait = DISABLE;
+ 202 .loc 1 134 0
+ 203 0020 0826 movs r6, #8
+ 204 0022 6661 str r6, [r4, #20]
+ 135:Src/main.c **** hadc.Init.LowPowerAutoPowerOff = DISABLE;
+ 205 .loc 1 135 0
+ 206 0024 2376 strb r3, [r4, #24]
+ 136:Src/main.c **** hadc.Init.ContinuousConvMode = ENABLE;
+ 207 .loc 1 136 0
+ 208 0026 6376 strb r3, [r4, #25]
+ 137:Src/main.c **** hadc.Init.DiscontinuousConvMode = DISABLE;
+ 209 .loc 1 137 0
+ 210 0028 A576 strb r5, [r4, #26]
+ 138:Src/main.c **** hadc.Init.ExternalTrigConv = ADC_SOFTWARE_START;
+ 211 .loc 1 138 0
+ 212 002a E376 strb r3, [r4, #27]
+ 139:Src/main.c **** hadc.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;
+ 213 .loc 1 139 0
+ 214 002c C222 movs r2, #194
+ 215 002e FF32 adds r2, r2, #255
+ 216 0030 E261 str r2, [r4, #28]
+ 140:Src/main.c **** hadc.Init.DMAContinuousRequests = ENABLE;
+ 217 .loc 1 140 0
+ 218 0032 2362 str r3, [r4, #32]
+ 141:Src/main.c **** hadc.Init.Overrun = ADC_OVR_DATA_PRESERVED;
+ 219 .loc 1 141 0
+ 220 0034 2433 adds r3, r3, #36
+ 221 0036 E554 strb r5, [r4, r3]
+ 142:Src/main.c **** HAL_ADC_Init(&hadc);
+ 222 .loc 1 142 0
+ 223 0038 A562 str r5, [r4, #40]
+ 143:Src/main.c ****
+ 224 .loc 1 143 0
+ 225 003a 2000 movs r0, r4
+ 226 003c FFF7FEFF bl HAL_ADC_Init
+ 227 .LVL6:
+ 145:Src/main.c **** sConfig.SamplingTime = ADC_SAMPLETIME_71CYCLES_5;
+ 228 .loc 1 145 0
+ ARM GAS /tmp/cclvWDtP.s page 9
+
+
+ 229 0040 8023 movs r3, #128
+ 230 0042 5B01 lsls r3, r3, #5
+ 231 0044 0293 str r3, [sp, #8]
+ 146:Src/main.c **** sConfig.Channel = ADC_CHANNEL_1;
+ 232 .loc 1 146 0
+ 233 0046 0627 movs r7, #6
+ 234 0048 0397 str r7, [sp, #12]
+ 147:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
+ 235 .loc 1 147 0
+ 236 004a 0195 str r5, [sp, #4]
+ 148:Src/main.c ****
+ 237 .loc 1 148 0
+ 238 004c 01A9 add r1, sp, #4
+ 239 004e 2000 movs r0, r4
+ 240 0050 FFF7FEFF bl HAL_ADC_ConfigChannel
+ 241 .LVL7:
+ 150:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
+ 242 .loc 1 150 0
+ 243 0054 0223 movs r3, #2
+ 244 0056 0193 str r3, [sp, #4]
+ 151:Src/main.c ****
+ 245 .loc 1 151 0
+ 246 0058 01A9 add r1, sp, #4
+ 247 005a 2000 movs r0, r4
+ 248 005c FFF7FEFF bl HAL_ADC_ConfigChannel
+ 249 .LVL8:
+ 153:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
+ 250 .loc 1 153 0
+ 251 0060 0323 movs r3, #3
+ 252 0062 0193 str r3, [sp, #4]
+ 154:Src/main.c ****
+ 253 .loc 1 154 0
+ 254 0064 01A9 add r1, sp, #4
+ 255 0066 2000 movs r0, r4
+ 256 0068 FFF7FEFF bl HAL_ADC_ConfigChannel
+ 257 .LVL9:
+ 156:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
+ 258 .loc 1 156 0
+ 259 006c 0423 movs r3, #4
+ 260 006e 0193 str r3, [sp, #4]
+ 157:Src/main.c ****
+ 261 .loc 1 157 0
+ 262 0070 01A9 add r1, sp, #4
+ 263 0072 2000 movs r0, r4
+ 264 0074 FFF7FEFF bl HAL_ADC_ConfigChannel
+ 265 .LVL10:
+ 159:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
+ 266 .loc 1 159 0
+ 267 0078 0523 movs r3, #5
+ 268 007a 0193 str r3, [sp, #4]
+ 160:Src/main.c ****
+ 269 .loc 1 160 0
+ 270 007c 01A9 add r1, sp, #4
+ 271 007e 2000 movs r0, r4
+ 272 0080 FFF7FEFF bl HAL_ADC_ConfigChannel
+ 273 .LVL11:
+ 162:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
+ ARM GAS /tmp/cclvWDtP.s page 10
+
+
+ 274 .loc 1 162 0
+ 275 0084 0197 str r7, [sp, #4]
+ 163:Src/main.c ****
+ 276 .loc 1 163 0
+ 277 0086 01A9 add r1, sp, #4
+ 278 0088 2000 movs r0, r4
+ 279 008a FFF7FEFF bl HAL_ADC_ConfigChannel
+ 280 .LVL12:
+ 165:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
+ 281 .loc 1 165 0
+ 282 008e 0723 movs r3, #7
+ 283 0090 0193 str r3, [sp, #4]
+ 166:Src/main.c ****
+ 284 .loc 1 166 0
+ 285 0092 01A9 add r1, sp, #4
+ 286 0094 2000 movs r0, r4
+ 287 0096 FFF7FEFF bl HAL_ADC_ConfigChannel
+ 288 .LVL13:
+ 168:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
+ 289 .loc 1 168 0
+ 290 009a 0196 str r6, [sp, #4]
+ 169:Src/main.c **** }
+ 291 .loc 1 169 0
+ 292 009c 01A9 add r1, sp, #4
+ 293 009e 2000 movs r0, r4
+ 294 00a0 FFF7FEFF bl HAL_ADC_ConfigChannel
+ 295 .LVL14:
+ 170:Src/main.c ****
+ 296 .loc 1 170 0
+ 297 00a4 05B0 add sp, sp, #20
+ 298 @ sp needed
+ 299 00a6 F0BD pop {r4, r5, r6, r7, pc}
+ 300 .L9:
+ 301 .align 2
+ 302 .L8:
+ 303 00a8 00000000 .word hadc
+ 304 00ac 00240140 .word 1073816576
+ 305 .cfi_endproc
+ 306 .LFE45:
+ 308 .section .text.SystemClock_Config,"ax",%progbits
+ 309 .align 1
+ 310 .global SystemClock_Config
+ 311 .syntax unified
+ 312 .code 16
+ 313 .thumb_func
+ 314 .fpu softvfp
+ 316 SystemClock_Config:
+ 317 .LFB44:
+ 99:Src/main.c **** RCC_OscInitTypeDef RCC_OscInitStruct = {0};
+ 318 .loc 1 99 0
+ 319 .cfi_startproc
+ 320 @ args = 0, pretend = 0, frame = 96
+ 321 @ frame_needed = 0, uses_anonymous_args = 0
+ 322 0000 10B5 push {r4, lr}
+ 323 .LCFI6:
+ 324 .cfi_def_cfa_offset 8
+ 325 .cfi_offset 4, -8
+ ARM GAS /tmp/cclvWDtP.s page 11
+
+
+ 326 .cfi_offset 14, -4
+ 327 0002 98B0 sub sp, sp, #96
+ 328 .LCFI7:
+ 329 .cfi_def_cfa_offset 104
+ 100:Src/main.c **** RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
+ 330 .loc 1 100 0
+ 331 0004 3022 movs r2, #48
+ 332 0006 0021 movs r1, #0
+ 333 0008 0CA8 add r0, sp, #48
+ 334 000a FFF7FEFF bl memset
+ 335 .LVL15:
+ 101:Src/main.c **** RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};
+ 336 .loc 1 101 0
+ 337 000e 1022 movs r2, #16
+ 338 0010 0021 movs r1, #0
+ 339 0012 07A8 add r0, sp, #28
+ 340 0014 FFF7FEFF bl memset
+ 341 .LVL16:
+ 102:Src/main.c ****
+ 342 .loc 1 102 0
+ 343 0018 1C22 movs r2, #28
+ 344 001a 0021 movs r1, #0
+ 345 001c 6846 mov r0, sp
+ 346 001e FFF7FEFF bl memset
+ 347 .LVL17:
+ 104:Src/main.c **** RCC_OscInitStruct.HSI48State = RCC_HSI48_ON;
+ 348 .loc 1 104 0
+ 349 0022 3023 movs r3, #48
+ 350 0024 0B93 str r3, [sp, #44]
+ 105:Src/main.c **** RCC_OscInitStruct.HSI14State = RCC_HSI14_ON;
+ 351 .loc 1 105 0
+ 352 0026 2F3B subs r3, r3, #47
+ 353 0028 1393 str r3, [sp, #76]
+ 106:Src/main.c **** RCC_OscInitStruct.HSI14CalibrationValue = 16;
+ 354 .loc 1 106 0
+ 355 002a 1093 str r3, [sp, #64]
+ 107:Src/main.c **** RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
+ 356 .loc 1 107 0
+ 357 002c 0F33 adds r3, r3, #15
+ 358 002e 1193 str r3, [sp, #68]
+ 109:Src/main.c ****
+ 359 .loc 1 109 0
+ 360 0030 0BA8 add r0, sp, #44
+ 361 0032 FFF7FEFF bl HAL_RCC_OscConfig
+ 362 .LVL18:
+ 111:Src/main.c **** |RCC_CLOCKTYPE_PCLK1;
+ 363 .loc 1 111 0
+ 364 0036 0723 movs r3, #7
+ 365 0038 0793 str r3, [sp, #28]
+ 113:Src/main.c **** RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
+ 366 .loc 1 113 0
+ 367 003a 043B subs r3, r3, #4
+ 368 003c 0893 str r3, [sp, #32]
+ 114:Src/main.c **** RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
+ 369 .loc 1 114 0
+ 370 003e 0024 movs r4, #0
+ 371 0040 0994 str r4, [sp, #36]
+ ARM GAS /tmp/cclvWDtP.s page 12
+
+
+ 115:Src/main.c **** HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1);
+ 372 .loc 1 115 0
+ 373 0042 0A94 str r4, [sp, #40]
+ 116:Src/main.c ****
+ 374 .loc 1 116 0
+ 375 0044 0121 movs r1, #1
+ 376 0046 07A8 add r0, sp, #28
+ 377 0048 FFF7FEFF bl HAL_RCC_ClockConfig
+ 378 .LVL19:
+ 118:Src/main.c **** PeriphClkInit.UsbClockSelection = RCC_USBCLKSOURCE_HSI48;
+ 379 .loc 1 118 0
+ 380 004c 8023 movs r3, #128
+ 381 004e 9B02 lsls r3, r3, #10
+ 382 0050 0093 str r3, [sp]
+ 119:Src/main.c **** HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit);
+ 383 .loc 1 119 0
+ 384 0052 0694 str r4, [sp, #24]
+ 120:Src/main.c ****
+ 385 .loc 1 120 0
+ 386 0054 6846 mov r0, sp
+ 387 0056 FFF7FEFF bl HAL_RCCEx_PeriphCLKConfig
+ 388 .LVL20:
+ 122:Src/main.c ****
+ 389 .loc 1 122 0
+ 390 005a 18B0 add sp, sp, #96
+ 391 @ sp needed
+ 392 005c 10BD pop {r4, pc}
+ 393 .cfi_endproc
+ 394 .LFE44:
+ 396 .global __aeabi_uidiv
+ 397 .section .text.main,"ax",%progbits
+ 398 .align 1
+ 399 .global main
+ 400 .syntax unified
+ 401 .code 16
+ 402 .thumb_func
+ 403 .fpu softvfp
+ 405 main:
+ 406 .LFB43:
+ 33:Src/main.c **** HAL_Init();
+ 407 .loc 1 33 0
+ 408 .cfi_startproc
+ 409 @ args = 0, pretend = 0, frame = 0
+ 410 @ frame_needed = 0, uses_anonymous_args = 0
+ 411 0000 70B5 push {r4, r5, r6, lr}
+ 412 .LCFI8:
+ 413 .cfi_def_cfa_offset 16
+ 414 .cfi_offset 4, -16
+ 415 .cfi_offset 5, -12
+ 416 .cfi_offset 6, -8
+ 417 .cfi_offset 14, -4
+ 34:Src/main.c ****
+ 418 .loc 1 34 0
+ 419 0002 FFF7FEFF bl HAL_Init
+ 420 .LVL21:
+ 36:Src/main.c ****
+ 421 .loc 1 36 0
+ ARM GAS /tmp/cclvWDtP.s page 13
+
+
+ 422 0006 FFF7FEFF bl SystemClock_Config
+ 423 .LVL22:
+ 38:Src/main.c **** MX_DMA_Init();
+ 424 .loc 1 38 0
+ 425 000a FFF7FEFF bl MX_GPIO_Init
+ 426 .LVL23:
+ 39:Src/main.c **** MX_ADC_Init();
+ 427 .loc 1 39 0
+ 428 000e FFF7FEFF bl MX_DMA_Init
+ 429 .LVL24:
+ 40:Src/main.c **** MX_USB_MIDI_INIT();
+ 430 .loc 1 40 0
+ 431 0012 FFF7FEFF bl MX_ADC_Init
+ 432 .LVL25:
+ 41:Src/main.c ****
+ 433 .loc 1 41 0
+ 434 0016 FFF7FEFF bl MX_USB_MIDI_INIT
+ 435 .LVL26:
+ 43:Src/main.c ****
+ 436 .loc 1 43 0
+ 437 001a 0822 movs r2, #8
+ 438 001c 4049 ldr r1, .L23
+ 439 001e 4148 ldr r0, .L23+4
+ 440 0020 FFF7FEFF bl HAL_ADC_Start_DMA
+ 441 .LVL27:
+ 46:Src/main.c **** while(1){
+ 442 .loc 1 46 0
+ 443 0024 FFF7FEFF bl midiInit
+ 444 .LVL28:
+ 445 0028 0028 cmp r0, #0
+ 446 002a 15D1 bne .L12
+ 447 .L13:
+ 48:Src/main.c **** HAL_Delay(500);
+ 448 .loc 1 48 0 discriminator 1
+ 449 002c 8026 movs r6, #128
+ 450 002e B601 lsls r6, r6, #6
+ 451 0030 3D4D ldr r5, .L23+8
+ 452 0032 0122 movs r2, #1
+ 453 0034 3100 movs r1, r6
+ 454 0036 2800 movs r0, r5
+ 455 0038 FFF7FEFF bl HAL_GPIO_WritePin
+ 456 .LVL29:
+ 49:Src/main.c **** HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, RESET);
+ 457 .loc 1 49 0 discriminator 1
+ 458 003c FA24 movs r4, #250
+ 459 003e 6400 lsls r4, r4, #1
+ 460 0040 2000 movs r0, r4
+ 461 0042 FFF7FEFF bl HAL_Delay
+ 462 .LVL30:
+ 50:Src/main.c **** HAL_Delay(500);
+ 463 .loc 1 50 0 discriminator 1
+ 464 0046 0022 movs r2, #0
+ 465 0048 3100 movs r1, r6
+ 466 004a 2800 movs r0, r5
+ 467 004c FFF7FEFF bl HAL_GPIO_WritePin
+ 468 .LVL31:
+ 51:Src/main.c **** }
+ ARM GAS /tmp/cclvWDtP.s page 14
+
+
+ 469 .loc 1 51 0 discriminator 1
+ 470 0050 2000 movs r0, r4
+ 471 0052 FFF7FEFF bl HAL_Delay
+ 472 .LVL32:
+ 473 0056 E9E7 b .L13
+ 474 .L12:
+ 58:Src/main.c **** HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, SET);
+ 475 .loc 1 58 0
+ 476 0058 344A ldr r2, .L23+12
+ 477 005a FE23 movs r3, #254
+ 478 005c 5B00 lsls r3, r3, #1
+ 479 005e D35C ldrb r3, [r2, r3]
+ 480 0060 032B cmp r3, #3
+ 481 0062 06D0 beq .L22
+ 62:Src/main.c **** }
+ 482 .loc 1 62 0
+ 483 0064 8021 movs r1, #128
+ 484 0066 0022 movs r2, #0
+ 485 0068 8901 lsls r1, r1, #6
+ 486 006a 2F48 ldr r0, .L23+8
+ 487 006c FFF7FEFF bl HAL_GPIO_WritePin
+ 488 .LVL33:
+ 58:Src/main.c **** HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, SET);
+ 489 .loc 1 58 0
+ 490 0070 F2E7 b .L12
+ 491 .L22:
+ 59:Src/main.c **** break;
+ 492 .loc 1 59 0
+ 493 0072 8021 movs r1, #128
+ 494 0074 0122 movs r2, #1
+ 495 0076 8901 lsls r1, r1, #6
+ 496 0078 2B48 ldr r0, .L23+8
+ 497 007a FFF7FEFF bl HAL_GPIO_WritePin
+ 498 .LVL34:
+ 60:Src/main.c **** }else{
+ 499 .loc 1 60 0
+ 500 007e 12E0 b .L15
+ 501 .L16:
+ 73:Src/main.c **** HAL_Delay(200);
+ 502 .loc 1 73 0
+ 503 0080 8025 movs r5, #128
+ 504 0082 AD01 lsls r5, r5, #6
+ 505 0084 284C ldr r4, .L23+8
+ 506 0086 0122 movs r2, #1
+ 507 0088 2900 movs r1, r5
+ 508 008a 2000 movs r0, r4
+ 509 008c FFF7FEFF bl HAL_GPIO_WritePin
+ 510 .LVL35:
+ 74:Src/main.c **** HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, RESET);
+ 511 .loc 1 74 0
+ 512 0090 C820 movs r0, #200
+ 513 0092 FFF7FEFF bl HAL_Delay
+ 514 .LVL36:
+ 75:Src/main.c **** HAL_Delay(200);
+ 515 .loc 1 75 0
+ 516 0096 0022 movs r2, #0
+ 517 0098 2900 movs r1, r5
+ ARM GAS /tmp/cclvWDtP.s page 15
+
+
+ 518 009a 2000 movs r0, r4
+ 519 009c FFF7FEFF bl HAL_GPIO_WritePin
+ 520 .LVL37:
+ 76:Src/main.c **** }
+ 521 .loc 1 76 0
+ 522 00a0 C820 movs r0, #200
+ 523 00a2 FFF7FEFF bl HAL_Delay
+ 524 .LVL38:
+ 525 .L15:
+ 69:Src/main.c **** HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, SET);
+ 526 .loc 1 69 0
+ 527 00a6 214A ldr r2, .L23+12
+ 528 00a8 FE23 movs r3, #254
+ 529 00aa 5B00 lsls r3, r3, #1
+ 530 00ac D35C ldrb r3, [r2, r3]
+ 531 00ae 032B cmp r3, #3
+ 532 00b0 E6D1 bne .L16
+ 70:Src/main.c **** break;
+ 533 .loc 1 70 0
+ 534 00b2 8021 movs r1, #128
+ 535 00b4 0122 movs r2, #1
+ 536 00b6 8901 lsls r1, r1, #6
+ 537 00b8 1B48 ldr r0, .L23+8
+ 538 00ba FFF7FEFF bl HAL_GPIO_WritePin
+ 539 .LVL39:
+ 80:Src/main.c **** for(uint8_t i = 0; i <= 7; i++){
+ 540 .loc 1 80 0
+ 541 00be FFF7FEFF bl midiProcess
+ 542 .LVL40:
+ 543 .LBB5:
+ 81:Src/main.c **** if(ADC_val[dial_mapping[i]] >= (ADC_val_old[dial_mapping[i]] + HYST) || ADC_val[dial_mapping[
+ 544 .loc 1 81 0
+ 545 00c2 0024 movs r4, #0
+ 546 00c4 1AE0 b .L17
+ 547 .LVL41:
+ 548 .L19:
+ 83:Src/main.c **** dial[i] = (uint8_t)((ADC_val[dial_mapping[i]]/dial_div[i]) & 0x7F);
+ 549 .loc 1 83 0
+ 550 00c6 5200 lsls r2, r2, #1
+ 551 00c8 194B ldr r3, .L23+16
+ 552 00ca D052 strh r0, [r2, r3]
+ 84:Src/main.c **** midi_packet[3] = dial[i];
+ 553 .loc 1 84 0
+ 554 00cc 6A00 lsls r2, r5, #1
+ 555 00ce 194B ldr r3, .L23+20
+ 556 00d0 D15A ldrh r1, [r2, r3]
+ 557 00d2 FFF7FEFF bl __aeabi_uidiv
+ 558 .LVL42:
+ 559 00d6 7F23 movs r3, #127
+ 560 00d8 0340 ands r3, r0
+ 561 00da 174A ldr r2, .L23+24
+ 562 00dc 5355 strb r3, [r2, r5]
+ 85:Src/main.c **** midi_packet[1] = 0xB0 + i;
+ 563 .loc 1 85 0
+ 564 00de 1748 ldr r0, .L23+28
+ 565 00e0 C370 strb r3, [r0, #3]
+ 86:Src/main.c **** sendMidiMessage(midi_packet, 4);
+ ARM GAS /tmp/cclvWDtP.s page 16
+
+
+ 566 .loc 1 86 0
+ 567 00e2 2300 movs r3, r4
+ 568 00e4 503B subs r3, r3, #80
+ 569 00e6 4370 strb r3, [r0, #1]
+ 87:Src/main.c **** USBD_MIDI_SendPacket();
+ 570 .loc 1 87 0
+ 571 00e8 0421 movs r1, #4
+ 572 00ea FFF7FEFF bl sendMidiMessage
+ 573 .LVL43:
+ 88:Src/main.c **** HAL_Delay(2);
+ 574 .loc 1 88 0
+ 575 00ee FFF7FEFF bl USBD_MIDI_SendPacket
+ 576 .LVL44:
+ 89:Src/main.c **** }
+ 577 .loc 1 89 0
+ 578 00f2 0220 movs r0, #2
+ 579 00f4 FFF7FEFF bl HAL_Delay
+ 580 .LVL45:
+ 581 .L20:
+ 81:Src/main.c **** if(ADC_val[dial_mapping[i]] >= (ADC_val_old[dial_mapping[i]] + HYST) || ADC_val[dial_mapping[
+ 582 .loc 1 81 0 discriminator 2
+ 583 00f8 0134 adds r4, r4, #1
+ 584 .LVL46:
+ 585 00fa E4B2 uxtb r4, r4
+ 586 .LVL47:
+ 587 .L17:
+ 81:Src/main.c **** if(ADC_val[dial_mapping[i]] >= (ADC_val_old[dial_mapping[i]] + HYST) || ADC_val[dial_mapping[
+ 588 .loc 1 81 0 is_stmt 0 discriminator 1
+ 589 00fc 072C cmp r4, #7
+ 590 00fe D2D8 bhi .L15
+ 82:Src/main.c **** ADC_val_old[dial_mapping[i]] = ADC_val[dial_mapping[i]];
+ 591 .loc 1 82 0 is_stmt 1
+ 592 0100 2500 movs r5, r4
+ 593 0102 0F4B ldr r3, .L23+32
+ 594 0104 1A5D ldrb r2, [r3, r4]
+ 595 0106 5300 lsls r3, r2, #1
+ 596 0108 0549 ldr r1, .L23
+ 597 010a 585A ldrh r0, [r3, r1]
+ 598 010c 084E ldr r6, .L23+16
+ 599 010e 9B5B ldrh r3, [r3, r6]
+ 600 0110 1E00 movs r6, r3
+ 601 0112 3236 adds r6, r6, #50
+ 602 0114 B042 cmp r0, r6
+ 603 0116 D6DA bge .L19
+ 82:Src/main.c **** ADC_val_old[dial_mapping[i]] = ADC_val[dial_mapping[i]];
+ 604 .loc 1 82 0 is_stmt 0 discriminator 1
+ 605 0118 323B subs r3, r3, #50
+ 606 011a 9842 cmp r0, r3
+ 607 011c ECDC bgt .L20
+ 608 011e D2E7 b .L19
+ 609 .L24:
+ 610 .align 2
+ 611 .L23:
+ 612 0120 00000000 .word ADC_val
+ 613 0124 00000000 .word hadc
+ 614 0128 00040048 .word 1207960576
+ 615 012c 00000000 .word hUsbDeviceFS
+ ARM GAS /tmp/cclvWDtP.s page 17
+
+
+ 616 0130 00000000 .word ADC_val_old
+ 617 0134 00000000 .word .LANCHOR1
+ 618 0138 00000000 .word dial
+ 619 013c 00000000 .word .LANCHOR2
+ 620 0140 00000000 .word .LANCHOR0
+ 621 .LBE5:
+ 622 .cfi_endproc
+ 623 .LFE43:
+ 625 .section .text.Error_Handler,"ax",%progbits
+ 626 .align 1
+ 627 .global Error_Handler
+ 628 .syntax unified
+ 629 .code 16
+ 630 .thumb_func
+ 631 .fpu softvfp
+ 633 Error_Handler:
+ 634 .LFB49:
+ 211:Src/main.c ****
+ 212:Src/main.c **** void Error_Handler(void)
+ 213:Src/main.c **** {
+ 635 .loc 1 213 0 is_stmt 1
+ 636 .cfi_startproc
+ 637 @ Volatile: function does not return.
+ 638 @ args = 0, pretend = 0, frame = 0
+ 639 @ frame_needed = 0, uses_anonymous_args = 0
+ 640 0000 70B5 push {r4, r5, r6, lr}
+ 641 .LCFI9:
+ 642 .cfi_def_cfa_offset 16
+ 643 .cfi_offset 4, -16
+ 644 .cfi_offset 5, -12
+ 645 .cfi_offset 6, -8
+ 646 .cfi_offset 14, -4
+ 647 .L26:
+ 214:Src/main.c **** while(1){
+ 215:Src/main.c **** HAL_GPIO_WritePin(GPIOB,GPIO_PIN_13,1);
+ 648 .loc 1 215 0 discriminator 1
+ 649 0002 8025 movs r5, #128
+ 650 0004 AD01 lsls r5, r5, #6
+ 651 0006 094C ldr r4, .L27
+ 652 0008 0122 movs r2, #1
+ 653 000a 2900 movs r1, r5
+ 654 000c 2000 movs r0, r4
+ 655 000e FFF7FEFF bl HAL_GPIO_WritePin
+ 656 .LVL48:
+ 216:Src/main.c **** HAL_Delay(100);
+ 657 .loc 1 216 0 discriminator 1
+ 658 0012 6420 movs r0, #100
+ 659 0014 FFF7FEFF bl HAL_Delay
+ 660 .LVL49:
+ 217:Src/main.c **** HAL_GPIO_WritePin(GPIOB,GPIO_PIN_13,0);
+ 661 .loc 1 217 0 discriminator 1
+ 662 0018 0022 movs r2, #0
+ 663 001a 2900 movs r1, r5
+ 664 001c 2000 movs r0, r4
+ 665 001e FFF7FEFF bl HAL_GPIO_WritePin
+ 666 .LVL50:
+ 218:Src/main.c **** HAL_Delay(100);
+ ARM GAS /tmp/cclvWDtP.s page 18
+
+
+ 667 .loc 1 218 0 discriminator 1
+ 668 0022 6420 movs r0, #100
+ 669 0024 FFF7FEFF bl HAL_Delay
+ 670 .LVL51:
+ 671 0028 EBE7 b .L26
+ 672 .L28:
+ 673 002a C046 .align 2
+ 674 .L27:
+ 675 002c 00040048 .word 1207960576
+ 676 .cfi_endproc
+ 677 .LFE49:
+ 679 .global midi_packet
+ 680 .global dial_div
+ 681 .global dial_mapping
+ 682 .comm dial,8,4
+ 683 .comm ADC_val_old,16,4
+ 684 .comm ADC_val,16,4
+ 685 .comm hpcd_USB_FS,628,4
+ 686 .comm hdma_adc,68,4
+ 687 .comm hadc,64,4
+ 688 .section .data.dial_div,"aw",%progbits
+ 689 .align 2
+ 690 .set .LANCHOR1,. + 0
+ 693 dial_div:
+ 694 0000 2000 .short 32
+ 695 0002 2000 .short 32
+ 696 0004 2000 .short 32
+ 697 0006 2000 .short 32
+ 698 0008 2000 .short 32
+ 699 000a 2000 .short 32
+ 700 000c 2000 .short 32
+ 701 000e 0001 .short 256
+ 702 .section .data.dial_mapping,"aw",%progbits
+ 703 .align 2
+ 704 .set .LANCHOR0,. + 0
+ 707 dial_mapping:
+ 708 0000 01 .byte 1
+ 709 0001 02 .byte 2
+ 710 0002 03 .byte 3
+ 711 0003 04 .byte 4
+ 712 0004 05 .byte 5
+ 713 0005 06 .byte 6
+ 714 0006 07 .byte 7
+ 715 0007 00 .byte 0
+ 716 .section .data.midi_packet,"aw",%progbits
+ 717 .align 2
+ 718 .set .LANCHOR2,. + 0
+ 721 midi_packet:
+ 722 0000 0B .byte 11
+ 723 0001 B0 .byte -80
+ 724 0002 00 .byte 0
+ 725 0003 00 .byte 0
+ 726 .text
+ 727 .Letext0:
+ 728 .file 2 "/usr/include/newlib/machine/_default_types.h"
+ 729 .file 3 "/usr/include/newlib/sys/_stdint.h"
+ 730 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
+ ARM GAS /tmp/cclvWDtP.s page 19
+
+
+ 731 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h"
+ 732 .file 6 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h"
+ 733 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h"
+ 734 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h"
+ 735 .file 9 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h"
+ 736 .file 10 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h"
+ 737 .file 11 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h"
+ 738 .file 12 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h"
+ 739 .file 13 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h"
+ 740 .file 14 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h"
+ 741 .file 15 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
+ 742 .file 16 "/usr/include/newlib/sys/lock.h"
+ 743 .file 17 "/usr/include/newlib/sys/_types.h"
+ 744 .file 18 "/usr/lib/gcc/arm-none-eabi/7.3.1/include/stddef.h"
+ 745 .file 19 "/usr/include/newlib/sys/reent.h"
+ 746 .file 20 "/usr/include/newlib/stdlib.h"
+ 747 .file 21 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h"
+ 748 .file 22 "Inc/usb_device.h"
+ 749 .file 23 "Inc/curelib_inc/curemisc.h"
+ 750 .file 24 "Middlewares/USBMIDI/Inc/usbd_midi.h"
+ 751 .file 25 "Inc/usbd_desc.h"
+ 752 .file 26 "Inc/usbd_midi_if.h"
+ 753 .file 27 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h"
+ 754 .file 28 "<built-in>"
+ ARM GAS /tmp/cclvWDtP.s page 20
+
+
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 main.c
+ /tmp/cclvWDtP.s:16 .text.MX_GPIO_Init:0000000000000000 $t
+ /tmp/cclvWDtP.s:22 .text.MX_GPIO_Init:0000000000000000 MX_GPIO_Init
+ /tmp/cclvWDtP.s:100 .text.MX_GPIO_Init:000000000000005c $d
+ /tmp/cclvWDtP.s:106 .text.MX_DMA_Init:0000000000000000 $t
+ /tmp/cclvWDtP.s:112 .text.MX_DMA_Init:0000000000000000 MX_DMA_Init
+ /tmp/cclvWDtP.s:154 .text.MX_DMA_Init:000000000000002c $d
+ /tmp/cclvWDtP.s:159 .text.MX_ADC_Init:0000000000000000 $t
+ /tmp/cclvWDtP.s:165 .text.MX_ADC_Init:0000000000000000 MX_ADC_Init
+ /tmp/cclvWDtP.s:303 .text.MX_ADC_Init:00000000000000a8 $d
+ *COM*:0000000000000040 hadc
+ /tmp/cclvWDtP.s:309 .text.SystemClock_Config:0000000000000000 $t
+ /tmp/cclvWDtP.s:316 .text.SystemClock_Config:0000000000000000 SystemClock_Config
+ /tmp/cclvWDtP.s:398 .text.main:0000000000000000 $t
+ /tmp/cclvWDtP.s:405 .text.main:0000000000000000 main
+ /tmp/cclvWDtP.s:612 .text.main:0000000000000120 $d
+ *COM*:0000000000000010 ADC_val
+ *COM*:0000000000000010 ADC_val_old
+ *COM*:0000000000000008 dial
+ /tmp/cclvWDtP.s:626 .text.Error_Handler:0000000000000000 $t
+ /tmp/cclvWDtP.s:633 .text.Error_Handler:0000000000000000 Error_Handler
+ /tmp/cclvWDtP.s:675 .text.Error_Handler:000000000000002c $d
+ /tmp/cclvWDtP.s:721 .data.midi_packet:0000000000000000 midi_packet
+ /tmp/cclvWDtP.s:693 .data.dial_div:0000000000000000 dial_div
+ /tmp/cclvWDtP.s:707 .data.dial_mapping:0000000000000000 dial_mapping
+ *COM*:0000000000000274 hpcd_USB_FS
+ *COM*:0000000000000044 hdma_adc
+ /tmp/cclvWDtP.s:689 .data.dial_div:0000000000000000 $d
+ /tmp/cclvWDtP.s:703 .data.dial_mapping:0000000000000000 $d
+ /tmp/cclvWDtP.s:717 .data.midi_packet:0000000000000000 $d
+
+UNDEFINED SYMBOLS
+memset
+HAL_GPIO_WritePin
+HAL_GPIO_Init
+HAL_NVIC_SetPriority
+HAL_NVIC_EnableIRQ
+HAL_ADC_Init
+HAL_ADC_ConfigChannel
+HAL_RCC_OscConfig
+HAL_RCC_ClockConfig
+HAL_RCCEx_PeriphCLKConfig
+__aeabi_uidiv
+HAL_Init
+MX_USB_MIDI_INIT
+HAL_ADC_Start_DMA
+midiInit
+HAL_Delay
+midiProcess
+sendMidiMessage
+USBD_MIDI_SendPacket
+hUsbDeviceFS