]> git.leonardobizzoni.com Git - pioneer-stm32/commitdiff
pid: log dutycycle->velocity for matlab
authorFederica Di Lauro <federicadilauro1998@gmail.com>
Wed, 18 Dec 2019 11:25:23 +0000 (12:25 +0100)
committerFederica Di Lauro <federicadilauro1998@gmail.com>
Wed, 18 Dec 2019 11:25:23 +0000 (12:25 +0100)
otto_controller_source/Core/Src/encoder.cpp
otto_controller_source/Core/Src/main.cpp
otto_controller_source/Debug/otto_controller_source.list
pid_tuning/data/left-motor-2019-12-18-11-55-33.csv [new file with mode: 0644]
pid_tuning/data/right-motor-2019-12-18-11-24-51.csv [new file with mode: 0644]
pid_tuning/pid_logger.py [new file with mode: 0644]

index 311ec117b05421af5411c41d539e50c140f9e434..47ff7eacc476c4d51dd851fa80006a1d7fb17ea7 100644 (file)
@@ -30,6 +30,8 @@ float Encoder::GetLinearVelocity() {
   float meters = ((float) this->ticks_ * kWheelCircumference)
       / kTicksPerRevolution;
   float deltaTime = this->current_millis_ - this->previous_millis_;
+  if (deltaTime == 0)
+    return 0;
   float linear_velocity = (meters / (deltaTime / 1000));
   return linear_velocity;
 }
index 66ae8a762e94dd36707782272d204a4a41ef576a..44197ccbb55cb88e349a487ba8a4faf6dd79bad1 100644 (file)
@@ -97,6 +97,9 @@ uint8_t *rx_buffer;
 odometry_msg odom_msg;\r
 velocity_msg vel_msg;\r
 \r
+//test stuff\r
+bool flag = true;\r
+\r
 /* USER CODE END PV */\r
 \r
 /* Private function prototypes -----------------------------------------------*/\r
@@ -168,10 +171,10 @@ int main(void) {
 //  HAL_UART_Receive_IT(&huart6, rx_buffer, 8);\r
 \r
   //Enables TIM3 interrupt (used for PID control)\r
-  HAL_TIM_Base_Start_IT(&htim3);\r
+//  HAL_TIM_Base_Start_IT(&htim3);\r
 \r
   //Enables TIM6 interrupt (used for periodic transmission)\r
-//  HAL_TIM_Base_Start_IT(&htim6);\r
+  HAL_TIM_Base_Start_IT(&htim6);\r
 \r
   /* USER CODE END 2 */\r
 \r
@@ -592,10 +595,19 @@ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) {
 \r
   //TIMER 2Hz Transmit\r
   if (htim->Instance == TIM6) {\r
-    odom.UpdateValues();\r
+    if(left_dutycycle >= 790){\r
+      flag = false;\r
+    } else if(left_dutycycle <= -790){\r
+      flag = true;\r
+    }\r
 \r
-    odom_msg.angular_velocity = odom.angular_velocity;\r
-    odom_msg.linear_velocity = odom.linear_velocity;\r
+    left_motor.set_speed(left_dutycycle);\r
+    odom_msg.angular_velocity = left_dutycycle;\r
+    odom_msg.linear_velocity = left_encoder.GetLinearVelocity();\r
+    if (flag)\r
+      left_dutycycle++;\r
+    else\r
+      left_dutycycle--;\r
 \r
     HAL_UART_Transmit(&huart6, tx_buffer, 8, 100);\r
   }\r
@@ -653,7 +665,7 @@ void assert_failed(uint8_t *file, uint32_t line)
 { \r
   /* USER CODE BEGIN 6 */\r
   /* User can add his own implementation to report the file name and line number,\r
-     tex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */\r
+     tex: printf("Wrong parameduty_cycleters value: file %s on line %d\r\n", file, line) */\r
   /* USER CODE END 6 */\r
 }\r
 #endif /* USE_FULL_ASSERT */\r
index 0788b7662631b603c81f9441897415dfd1dc99e2..dd3fd41bfa52d0f27ad818d706dfbf7f58f6de86 100644 (file)
@@ -5,45 +5,45 @@ Sections:
 Idx Name          Size      VMA       LMA       File off  Algn
   0 .isr_vector   000001f8  08000000  08000000  00010000  2**0
                   CONTENTS, ALLOC, LOAD, READONLY, DATA
-  1 .text         00004d94  080001f8  080001f8  000101f8  2**2
+  1 .text         00004dc4  080001f8  080001f8  000101f8  2**2
                   CONTENTS, ALLOC, LOAD, READONLY, CODE
-  2 .rodata       00000018  08004f8c  08004f8c  00014f8c  2**2
+  2 .rodata       00000018  08004fbc  08004fbc  00014fbc  2**2
                   CONTENTS, ALLOC, LOAD, READONLY, DATA
-  3 .ARM.extab    00000000  08004fa4  08004fa4  0002000c  2**0
+  3 .ARM.extab    00000000  08004fd4  08004fd4  00020010  2**0
                   CONTENTS
-  4 .ARM          00000008  08004fa4  08004fa4  00014fa4  2**2
+  4 .ARM          00000008  08004fd4  08004fd4  00014fd4  2**2
                   CONTENTS, ALLOC, LOAD, READONLY, DATA
-  5 .preinit_array 00000000  08004fac  08004fac  0002000c  2**0
+  5 .preinit_array 00000000  08004fdc  08004fdc  00020010  2**0
                   CONTENTS, ALLOC, LOAD, DATA
-  6 .init_array   00000008  08004fac  08004fac  00014fac  2**2
+  6 .init_array   00000008  08004fdc  08004fdc  00014fdc  2**2
                   CONTENTS, ALLOC, LOAD, DATA
-  7 .fini_array   00000004  08004fb4  08004fb4  00014fb4  2**2
+  7 .fini_array   00000004  08004fe4  08004fe4  00014fe4  2**2
                   CONTENTS, ALLOC, LOAD, DATA
-  8 .data         0000000c  20000000  08004fb8  00020000  2**2
+  8 .data         00000010  20000000  08004fe8  00020000  2**2
                   CONTENTS, ALLOC, LOAD, DATA
-  9 .bss          00000380  2000000c  08004fc4  0002000c  2**2
+  9 .bss          00000384  20000010  08004ff8  00020010  2**2
                   ALLOC
- 10 ._user_heap_stack 00000604  2000038c  08004fc4  0002038c  2**0
+ 10 ._user_heap_stack 00000604  20000394  08004ff8  00020394  2**0
                   ALLOC
- 11 .ARM.attributes 0000002e  00000000  00000000  0002000c  2**0
+ 11 .ARM.attributes 0000002e  00000000  00000000  00020010  2**0
                   CONTENTS, READONLY
- 12 .debug_info   0000db84  00000000  00000000  0002003a  2**0
+ 12 .debug_info   0000db58  00000000  00000000  0002003e  2**0
                   CONTENTS, READONLY, DEBUGGING
- 13 .debug_abbrev 00001e8f  00000000  00000000  0002dbbe  2**0
+ 13 .debug_abbrev 00001e8f  00000000  00000000  0002db96  2**0
                   CONTENTS, READONLY, DEBUGGING
- 14 .debug_aranges 00000d60  00000000  00000000  0002fa50  2**3
+ 14 .debug_aranges 00000d58  00000000  00000000  0002fa28  2**3
                   CONTENTS, READONLY, DEBUGGING
- 15 .debug_ranges 00000c78  00000000  00000000  000307b0  2**3
+ 15 .debug_ranges 00000c70  00000000  00000000  00030780  2**3
                   CONTENTS, READONLY, DEBUGGING
- 16 .debug_macro  000281fd  00000000  00000000  00031428  2**0
+ 16 .debug_macro  000281fd  00000000  00000000  000313f0  2**0
                   CONTENTS, READONLY, DEBUGGING
- 17 .debug_line   00009a83  00000000  00000000  00059625  2**0
+ 17 .debug_line   00009a74  00000000  00000000  000595ed  2**0
                   CONTENTS, READONLY, DEBUGGING
- 18 .debug_str    000f1caf  00000000  00000000  000630a8  2**0
+ 18 .debug_str    000f1cb9  00000000  00000000  00063061  2**0
                   CONTENTS, READONLY, DEBUGGING
- 19 .comment      0000007b  00000000  00000000  00154d57  2**0
+ 19 .comment      0000007b  00000000  00000000  00154d1a  2**0
                   CONTENTS, READONLY
- 20 .debug_frame  0000383c  00000000  00000000  00154dd4  2**2
+ 20 .debug_frame  00003818  00000000  00000000  00154d98  2**2
                   CONTENTS, READONLY, DEBUGGING
 
 Disassembly of section .text:
@@ -60,9 +60,9 @@ Disassembly of section .text:
  800020a:      2301            movs    r3, #1
  800020c:      7023            strb    r3, [r4, #0]
  800020e:      bd10            pop     {r4, pc}
- 8000210:      2000000c        .word   0x2000000c
+ 8000210:      20000010        .word   0x20000010
  8000214:      00000000        .word   0x00000000
- 8000218:      08004f74        .word   0x08004f74
+ 8000218:      08004fa4        .word   0x08004fa4
 
 0800021c <frame_dummy>:
  800021c:      b508            push    {r3, lr}
@@ -73,8 +73,8 @@ Disassembly of section .text:
  8000226:      f3af 8000       nop.w
  800022a:      bd08            pop     {r3, pc}
  800022c:      00000000        .word   0x00000000
- 8000230:      20000010        .word   0x20000010
- 8000234:      08004f74        .word   0x08004f74
+ 8000230:      20000014        .word   0x20000014
+ 8000234:      08004fa4        .word   0x08004fa4
 
 08000238 <__aeabi_uldivmod>:
  8000238:      b953            cbnz    r3, 8000250 <__aeabi_uldivmod+0x18>
@@ -455,7 +455,7 @@ void Encoder::Setup() {
  80005ce:      681b            ldr     r3, [r3, #0]
  80005d0:      213c            movs    r1, #60 ; 0x3c
  80005d2:      4618            mov     r0, r3
- 80005d4:      f002 fefe       bl      80033d4 <HAL_TIM_Encoder_Start>
+ 80005d4:      f002 ff16       bl      8003404 <HAL_TIM_Encoder_Start>
   this->ResetCount();
  80005d8:      6878            ldr     r0, [r7, #4]
  80005da:      f7ff ffc2       bl      8000562 <_ZN7Encoder10ResetCountEv>
@@ -464,7 +464,7 @@ void Encoder::Setup() {
  80005e0:      2200            movs    r2, #0
  80005e2:      605a            str     r2, [r3, #4]
   this->current_millis_ = HAL_GetTick();
- 80005e4:      f001 fa12       bl      8001a0c <HAL_GetTick>
+ 80005e4:      f001 fa2a       bl      8001a3c <HAL_GetTick>
  80005e8:      4602            mov     r2, r0
  80005ea:      687b            ldr     r3, [r7, #4]
  80005ec:      609a            str     r2, [r3, #8]
@@ -487,7 +487,7 @@ void Encoder::UpdateValues() {
  8000602:      687b            ldr     r3, [r7, #4]
  8000604:      605a            str     r2, [r3, #4]
   this->current_millis_ = HAL_GetTick();
- 8000606:      f001 fa01       bl      8001a0c <HAL_GetTick>
+ 8000606:      f001 fa19       bl      8001a3c <HAL_GetTick>
  800060a:      4602            mov     r2, r0
  800060c:      687b            ldr     r3, [r7, #4]
  800060e:      609a            str     r2, [r3, #8]
@@ -546,12640 +546,12653 @@ float Encoder::GetLinearVelocity() {
  800066e:      ee07 3a90       vmov    s15, r3
  8000672:      eef8 7a67       vcvt.f32.u32    s15, s15
  8000676:      edc7 7a04       vstr    s15, [r7, #16]
-  float linear_velocity = (meters / (deltaTime / 1000));
+  if (deltaTime == 0)
  800067a:      edd7 7a04       vldr    s15, [r7, #16]
- 800067e:      eddf 6a09       vldr    s13, [pc, #36]  ; 80006a4 <_ZN7Encoder17GetLinearVelocityEv+0x78>
- 8000682:      ee87 7aa6       vdiv.f32        s14, s15, s13
- 8000686:      edd7 6a05       vldr    s13, [r7, #20]
- 800068a:      eec6 7a87       vdiv.f32        s15, s13, s14
- 800068e:      edc7 7a03       vstr    s15, [r7, #12]
+ 800067e:      eef5 7a40       vcmp.f32        s15, #0.0
+ 8000682:      eef1 fa10       vmrs    APSR_nzcv, fpscr
+ 8000686:      d102            bne.n   800068e <_ZN7Encoder17GetLinearVelocityEv+0x62>
+    return 0;
+ 8000688:      f04f 0300       mov.w   r3, #0
+ 800068c:      e00c            b.n     80006a8 <_ZN7Encoder17GetLinearVelocityEv+0x7c>
+  float linear_velocity = (meters / (deltaTime / 1000));
+ 800068e:      edd7 7a04       vldr    s15, [r7, #16]
+ 8000692:      eddf 6a09       vldr    s13, [pc, #36]  ; 80006b8 <_ZN7Encoder17GetLinearVelocityEv+0x8c>
+ 8000696:      ee87 7aa6       vdiv.f32        s14, s15, s13
+ 800069a:      edd7 6a05       vldr    s13, [r7, #20]
+ 800069e:      eec6 7a87       vdiv.f32        s15, s13, s14
+ 80006a2:      edc7 7a03       vstr    s15, [r7, #12]
   return linear_velocity;
- 8000692:      68fb            ldr     r3, [r7, #12]
- 8000694:      ee07 3a90       vmov    s15, r3
+ 80006a6:      68fb            ldr     r3, [r7, #12]
+ 80006a8:      ee07 3a90       vmov    s15, r3
 }
- 8000698:      eeb0 0a67       vmov.f32        s0, s15
- 800069c:      3718            adds    r7, #24
- 800069e:      46bd            mov     sp, r7
- 80006a0:      bd80            pop     {r7, pc}
- 80006a2:      bf00            nop
- 80006a4:      447a0000        .word   0x447a0000
-
-080006a8 <_ZN7EncoderC1Ev>:
+ 80006ac:      eeb0 0a67       vmov.f32        s0, s15
+ 80006b0:      3718            adds    r7, #24
+ 80006b2:      46bd            mov     sp, r7
+ 80006b4:      bd80            pop     {r7, pc}
+ 80006b6:      bf00            nop
+ 80006b8:      447a0000        .word   0x447a0000
+
+080006bc <_ZN7EncoderC1Ev>:
   Encoder() {
- 80006a8:      b480            push    {r7}
- 80006aa:      b083            sub     sp, #12
- 80006ac:      af00            add     r7, sp, #0
- 80006ae:      6078            str     r0, [r7, #4]
- 80006b0:      687b            ldr     r3, [r7, #4]
- 80006b2:      4a09            ldr     r2, [pc, #36]   ; (80006d8 <_ZN7EncoderC1Ev+0x30>)
- 80006b4:      611a            str     r2, [r3, #16]
- 80006b6:      687b            ldr     r3, [r7, #4]
- 80006b8:      4a08            ldr     r2, [pc, #32]   ; (80006dc <_ZN7EncoderC1Ev+0x34>)
- 80006ba:      615a            str     r2, [r3, #20]
- 80006bc:      687b            ldr     r3, [r7, #4]
- 80006be:      4a08            ldr     r2, [pc, #32]   ; (80006e0 <_ZN7EncoderC1Ev+0x38>)
- 80006c0:      619a            str     r2, [r3, #24]
+ 80006bc:      b480            push    {r7}
+ 80006be:      b083            sub     sp, #12
+ 80006c0:      af00            add     r7, sp, #0
+ 80006c2:      6078            str     r0, [r7, #4]
+ 80006c4:      687b            ldr     r3, [r7, #4]
+ 80006c6:      4a09            ldr     r2, [pc, #36]   ; (80006ec <_ZN7EncoderC1Ev+0x30>)
+ 80006c8:      611a            str     r2, [r3, #16]
+ 80006ca:      687b            ldr     r3, [r7, #4]
+ 80006cc:      4a08            ldr     r2, [pc, #32]   ; (80006f0 <_ZN7EncoderC1Ev+0x34>)
+ 80006ce:      615a            str     r2, [r3, #20]
+ 80006d0:      687b            ldr     r3, [r7, #4]
+ 80006d2:      4a08            ldr     r2, [pc, #32]   ; (80006f4 <_ZN7EncoderC1Ev+0x38>)
+ 80006d4:      619a            str     r2, [r3, #24]
     timer_ = NULL;
- 80006c2:      687b            ldr     r3, [r7, #4]
- 80006c4:      2200            movs    r2, #0
- 80006c6:      601a            str     r2, [r3, #0]
-  }
- 80006c8:      687b            ldr     r3, [r7, #4]
- 80006ca:      4618            mov     r0, r3
- 80006cc:      370c            adds    r7, #12
- 80006ce:      46bd            mov     sp, r7
- 80006d0:      f85d 7b04       ldr.w   r7, [sp], #4
- 80006d4:      4770            bx      lr
- 80006d6:      bf00            nop
- 80006d8:      00012110        .word   0x00012110
- 80006dc:      40490fd0        .word   0x40490fd0
- 80006e0:      3f40ff97        .word   0x3f40ff97
-
-080006e4 <_ZN8OdometryC1E7EncoderS0_>:
+ 80006d6:      687b            ldr     r3, [r7, #4]
+ 80006d8:      2200            movs    r2, #0
+ 80006da:      601a            str     r2, [r3, #0]
+  }
+ 80006dc:      687b            ldr     r3, [r7, #4]
+ 80006de:      4618            mov     r0, r3
+ 80006e0:      370c            adds    r7, #12
+ 80006e2:      46bd            mov     sp, r7
+ 80006e4:      f85d 7b04       ldr.w   r7, [sp], #4
+ 80006e8:      4770            bx      lr
+ 80006ea:      bf00            nop
+ 80006ec:      00012110        .word   0x00012110
+ 80006f0:      40490fd0        .word   0x40490fd0
+ 80006f4:      3f40ff97        .word   0x3f40ff97
+
+080006f8 <_ZN8OdometryC1E7EncoderS0_>:
     left_encoder_ = NULL;
     right_encoder_ = NULL;
     kBaseline = 0.35;  //in meters
   }
 
   Odometry(Encoder left, Encoder right) {
- 80006e4:      b084            sub     sp, #16
- 80006e6:      b5b0            push    {r4, r5, r7, lr}
- 80006e8:      b082            sub     sp, #8
- 80006ea:      af00            add     r7, sp, #0
- 80006ec:      6078            str     r0, [r7, #4]
- 80006ee:      f107 001c       add.w   r0, r7, #28
- 80006f2:      e880 000e       stmia.w r0, {r1, r2, r3}
- 80006f6:      687b            ldr     r3, [r7, #4]
- 80006f8:      4618            mov     r0, r3
- 80006fa:      f7ff ffd5       bl      80006a8 <_ZN7EncoderC1Ev>
- 80006fe:      687b            ldr     r3, [r7, #4]
- 8000700:      331c            adds    r3, #28
- 8000702:      4618            mov     r0, r3
- 8000704:      f7ff ffd0       bl      80006a8 <_ZN7EncoderC1Ev>
+ 80006f8:      b084            sub     sp, #16
+ 80006fa:      b5b0            push    {r4, r5, r7, lr}
+ 80006fc:      b082            sub     sp, #8
+ 80006fe:      af00            add     r7, sp, #0
+ 8000700:      6078            str     r0, [r7, #4]
+ 8000702:      f107 001c       add.w   r0, r7, #28
+ 8000706:      e880 000e       stmia.w r0, {r1, r2, r3}
+ 800070a:      687b            ldr     r3, [r7, #4]
+ 800070c:      4618            mov     r0, r3
+ 800070e:      f7ff ffd5       bl      80006bc <_ZN7EncoderC1Ev>
+ 8000712:      687b            ldr     r3, [r7, #4]
+ 8000714:      331c            adds    r3, #28
+ 8000716:      4618            mov     r0, r3
+ 8000718:      f7ff ffd0       bl      80006bc <_ZN7EncoderC1Ev>
 
     left_encoder_ = left;
- 8000708:      687b            ldr     r3, [r7, #4]
- 800070a:      461d            mov     r5, r3
- 800070c:      f107 041c       add.w   r4, r7, #28
- 8000710:      cc0f            ldmia   r4!, {r0, r1, r2, r3}
- 8000712:      c50f            stmia   r5!, {r0, r1, r2, r3}
- 8000714:      e894 0007       ldmia.w r4, {r0, r1, r2}
- 8000718:      e885 0007       stmia.w r5, {r0, r1, r2}
-    right_encoder_ = right;
  800071c:      687b            ldr     r3, [r7, #4]
- 800071e:      f103 041c       add.w   r4, r3, #28
- 8000722:      f107 0538       add.w   r5, r7, #56     ; 0x38
- 8000726:      cd0f            ldmia   r5!, {r0, r1, r2, r3}
- 8000728:      c40f            stmia   r4!, {r0, r1, r2, r3}
- 800072a:      e895 0007       ldmia.w r5, {r0, r1, r2}
- 800072e:      e884 0007       stmia.w r4, {r0, r1, r2}
+ 800071e:      461d            mov     r5, r3
+ 8000720:      f107 041c       add.w   r4, r7, #28
+ 8000724:      cc0f            ldmia   r4!, {r0, r1, r2, r3}
+ 8000726:      c50f            stmia   r5!, {r0, r1, r2, r3}
+ 8000728:      e894 0007       ldmia.w r4, {r0, r1, r2}
+ 800072c:      e885 0007       stmia.w r5, {r0, r1, r2}
+    right_encoder_ = right;
+ 8000730:      687b            ldr     r3, [r7, #4]
+ 8000732:      f103 041c       add.w   r4, r3, #28
+ 8000736:      f107 0538       add.w   r5, r7, #56     ; 0x38
+ 800073a:      cd0f            ldmia   r5!, {r0, r1, r2, r3}
+ 800073c:      c40f            stmia   r4!, {r0, r1, r2, r3}
+ 800073e:      e895 0007       ldmia.w r5, {r0, r1, r2}
+ 8000742:      e884 0007       stmia.w r4, {r0, r1, r2}
     kBaseline = 0.35;  //in meters
- 8000732:      687b            ldr     r3, [r7, #4]
- 8000734:      4a04            ldr     r2, [pc, #16]   ; (8000748 <_ZN8OdometryC1E7EncoderS0_+0x64>)
- 8000736:      639a            str     r2, [r3, #56]   ; 0x38
-  }
- 8000738:      687b            ldr     r3, [r7, #4]
- 800073a:      4618            mov     r0, r3
- 800073c:      3708            adds    r7, #8
- 800073e:      46bd            mov     sp, r7
- 8000740:      e8bd 40b0       ldmia.w sp!, {r4, r5, r7, lr}
- 8000744:      b004            add     sp, #16
- 8000746:      4770            bx      lr
- 8000748:      3eb33333        .word   0x3eb33333
-
-0800074c <_ZN8Odometry12UpdateValuesEv>:
-
-  void UpdateValues() {
- 800074c:      b580            push    {r7, lr}
- 800074e:      b084            sub     sp, #16
- 8000750:      af00            add     r7, sp, #0
- 8000752:      6078            str     r0, [r7, #4]
-    float left_velocity = left_encoder_.GetLinearVelocity();
- 8000754:      687b            ldr     r3, [r7, #4]
- 8000756:      4618            mov     r0, r3
- 8000758:      f7ff ff68       bl      800062c <_ZN7Encoder17GetLinearVelocityEv>
- 800075c:      ed87 0a03       vstr    s0, [r7, #12]
-    float right_velocity = right_encoder_.GetLinearVelocity();
- 8000760:      687b            ldr     r3, [r7, #4]
- 8000762:      331c            adds    r3, #28
- 8000764:      4618            mov     r0, r3
- 8000766:      f7ff ff61       bl      800062c <_ZN7Encoder17GetLinearVelocityEv>
- 800076a:      ed87 0a02       vstr    s0, [r7, #8]
-
-    //verificato che delta_r == delta_l
-    this->delta_time = left_encoder_.current_millis_
- 800076e:      687b            ldr     r3, [r7, #4]
- 8000770:      689a            ldr     r2, [r3, #8]
-        - left_encoder_.previous_millis_;
- 8000772:      687b            ldr     r3, [r7, #4]
- 8000774:      685b            ldr     r3, [r3, #4]
- 8000776:      1ad3            subs    r3, r2, r3
- 8000778:      461a            mov     r2, r3
-    this->delta_time = left_encoder_.current_millis_
- 800077a:      687b            ldr     r3, [r7, #4]
- 800077c:      645a            str     r2, [r3, #68]   ; 0x44
-
-    this->linear_velocity = (left_velocity + right_velocity) / 2;
- 800077e:      ed97 7a03       vldr    s14, [r7, #12]
- 8000782:      edd7 7a02       vldr    s15, [r7, #8]
- 8000786:      ee37 7a27       vadd.f32        s14, s14, s15
- 800078a:      eef0 6a00       vmov.f32        s13, #0 ; 0x40000000  2.0
- 800078e:      eec7 7a26       vdiv.f32        s15, s14, s13
- 8000792:      687b            ldr     r3, [r7, #4]
- 8000794:      edc3 7a0f       vstr    s15, [r3, #60]  ; 0x3c
-    this->angular_velocity = (right_velocity - left_velocity) / kBaseline;
- 8000798:      ed97 7a02       vldr    s14, [r7, #8]
- 800079c:      edd7 7a03       vldr    s15, [r7, #12]
- 80007a0:      ee77 6a67       vsub.f32        s13, s14, s15
- 80007a4:      687b            ldr     r3, [r7, #4]
- 80007a6:      ed93 7a0e       vldr    s14, [r3, #56]  ; 0x38
- 80007aa:      eec6 7a87       vdiv.f32        s15, s13, s14
- 80007ae:      687b            ldr     r3, [r7, #4]
- 80007b0:      edc3 7a10       vstr    s15, [r3, #64]  ; 0x40
-    return;
- 80007b4:      bf00            nop
-  }
- 80007b6:      3710            adds    r7, #16
- 80007b8:      46bd            mov     sp, r7
- 80007ba:      bd80            pop     {r7, pc}
-
-080007bc <_ZN15MotorControllerC1EP12GPIO_TypeDeftS1_tP17TIM_HandleTypeDefm>:
+ 8000746:      687b            ldr     r3, [r7, #4]
+ 8000748:      4a04            ldr     r2, [pc, #16]   ; (800075c <_ZN8OdometryC1E7EncoderS0_+0x64>)
+ 800074a:      639a            str     r2, [r3, #56]   ; 0x38
+  }
+ 800074c:      687b            ldr     r3, [r7, #4]
+ 800074e:      4618            mov     r0, r3
+ 8000750:      3708            adds    r7, #8
+ 8000752:      46bd            mov     sp, r7
+ 8000754:      e8bd 40b0       ldmia.w sp!, {r4, r5, r7, lr}
+ 8000758:      b004            add     sp, #16
+ 800075a:      4770            bx      lr
+ 800075c:      3eb33333        .word   0x3eb33333
+
+08000760 <_ZN15MotorControllerC1EP12GPIO_TypeDeftS1_tP17TIM_HandleTypeDefm>:
   GPIO_TypeDef *dir_gpio_port_;
   uint16_t dir_pin_;
   TIM_HandleTypeDef *pwm_timer_;
   uint32_t pwm_channel_;
 
   MotorController(GPIO_TypeDef *sleep_gpio_port, uint16_t sleep_pin,
- 80007bc:      b480            push    {r7}
- 80007be:      b085            sub     sp, #20
- 80007c0:      af00            add     r7, sp, #0
- 80007c2:      60f8            str     r0, [r7, #12]
- 80007c4:      60b9            str     r1, [r7, #8]
- 80007c6:      603b            str     r3, [r7, #0]
- 80007c8:      4613            mov     r3, r2
- 80007ca:      80fb            strh    r3, [r7, #6]
+ 8000760:      b480            push    {r7}
+ 8000762:      b085            sub     sp, #20
+ 8000764:      af00            add     r7, sp, #0
+ 8000766:      60f8            str     r0, [r7, #12]
+ 8000768:      60b9            str     r1, [r7, #8]
+ 800076a:      603b            str     r3, [r7, #0]
+ 800076c:      4613            mov     r3, r2
+ 800076e:      80fb            strh    r3, [r7, #6]
                   GPIO_TypeDef *dir_gpio_port, uint16_t dir_pin,
                   TIM_HandleTypeDef *pwm_timer, uint32_t pwm_channel) {
     this->sleep_gpio_port_ = sleep_gpio_port;
- 80007cc:      68fb            ldr     r3, [r7, #12]
- 80007ce:      68ba            ldr     r2, [r7, #8]
- 80007d0:      601a            str     r2, [r3, #0]
+ 8000770:      68fb            ldr     r3, [r7, #12]
+ 8000772:      68ba            ldr     r2, [r7, #8]
+ 8000774:      601a            str     r2, [r3, #0]
     this->sleep_pin_ = sleep_pin;
- 80007d2:      68fb            ldr     r3, [r7, #12]
- 80007d4:      88fa            ldrh    r2, [r7, #6]
- 80007d6:      809a            strh    r2, [r3, #4]
+ 8000776:      68fb            ldr     r3, [r7, #12]
+ 8000778:      88fa            ldrh    r2, [r7, #6]
+ 800077a:      809a            strh    r2, [r3, #4]
     this->dir_gpio_port_ = dir_gpio_port;
- 80007d8:      68fb            ldr     r3, [r7, #12]
- 80007da:      683a            ldr     r2, [r7, #0]
- 80007dc:      609a            str     r2, [r3, #8]
+ 800077c:      68fb            ldr     r3, [r7, #12]
+ 800077e:      683a            ldr     r2, [r7, #0]
+ 8000780:      609a            str     r2, [r3, #8]
     this->dir_pin_ = dir_pin;
- 80007de:      68fb            ldr     r3, [r7, #12]
- 80007e0:      8b3a            ldrh    r2, [r7, #24]
- 80007e2:      819a            strh    r2, [r3, #12]
+ 8000782:      68fb            ldr     r3, [r7, #12]
+ 8000784:      8b3a            ldrh    r2, [r7, #24]
+ 8000786:      819a            strh    r2, [r3, #12]
     this->pwm_timer_ = pwm_timer;
- 80007e4:      68fb            ldr     r3, [r7, #12]
- 80007e6:      69fa            ldr     r2, [r7, #28]
- 80007e8:      611a            str     r2, [r3, #16]
+ 8000788:      68fb            ldr     r3, [r7, #12]
+ 800078a:      69fa            ldr     r2, [r7, #28]
+ 800078c:      611a            str     r2, [r3, #16]
     this->pwm_channel_ = pwm_channel;
- 80007ea:      68fb            ldr     r3, [r7, #12]
- 80007ec:      6a3a            ldr     r2, [r7, #32]
- 80007ee:      615a            str     r2, [r3, #20]
+ 800078e:      68fb            ldr     r3, [r7, #12]
+ 8000790:      6a3a            ldr     r2, [r7, #32]
+ 8000792:      615a            str     r2, [r3, #20]
   }
- 80007f0:      68fb            ldr     r3, [r7, #12]
- 80007f2:      4618            mov     r0, r3
- 80007f4:      3714            adds    r7, #20
- 80007f6:      46bd            mov     sp, r7
- 80007f8:      f85d 7b04       ldr.w   r7, [sp], #4
- 80007fc:      4770            bx      lr
+ 8000794:      68fb            ldr     r3, [r7, #12]
+ 8000796:      4618            mov     r0, r3
+ 8000798:      3714            adds    r7, #20
+ 800079a:      46bd            mov     sp, r7
+ 800079c:      f85d 7b04       ldr.w   r7, [sp], #4
+ 80007a0:      4770            bx      lr
 
-080007fe <_ZN15MotorController5setupEv>:
+080007a2 <_ZN15MotorController5setupEv>:
 
   void setup() {
- 80007fe:      b580            push    {r7, lr}
- 8000800:      b082            sub     sp, #8
- 8000802:      af00            add     r7, sp, #0
- 8000804:      6078            str     r0, [r7, #4]
+ 80007a2:      b580            push    {r7, lr}
+ 80007a4:      b082            sub     sp, #8
+ 80007a6:      af00            add     r7, sp, #0
+ 80007a8:      6078            str     r0, [r7, #4]
     HAL_TIM_PWM_Start(pwm_timer_, pwm_channel_);
- 8000806:      687b            ldr     r3, [r7, #4]
- 8000808:      691a            ldr     r2, [r3, #16]
- 800080a:      687b            ldr     r3, [r7, #4]
- 800080c:      695b            ldr     r3, [r3, #20]
- 800080e:      4619            mov     r1, r3
- 8000810:      4610            mov     r0, r2
- 8000812:      f002 fd09       bl      8003228 <HAL_TIM_PWM_Start>
+ 80007aa:      687b            ldr     r3, [r7, #4]
+ 80007ac:      691a            ldr     r2, [r3, #16]
+ 80007ae:      687b            ldr     r3, [r7, #4]
+ 80007b0:      695b            ldr     r3, [r3, #20]
+ 80007b2:      4619            mov     r1, r3
+ 80007b4:      4610            mov     r0, r2
+ 80007b6:      f002 fd4f       bl      8003258 <HAL_TIM_PWM_Start>
   }
- 8000816:      bf00            nop
- 8000818:      3708            adds    r7, #8
- 800081a:      46bd            mov     sp, r7
- 800081c:      bd80            pop     {r7, pc}
+ 80007ba:      bf00            nop
+ 80007bc:      3708            adds    r7, #8
+ 80007be:      46bd            mov     sp, r7
+ 80007c0:      bd80            pop     {r7, pc}
 
-0800081e <_ZN15MotorController9set_speedEi>:
+080007c2 <_ZN15MotorController9set_speedEi>:
 
   void set_speed(int duty_cycle) {
- 800081e:      b580            push    {r7, lr}
- 8000820:      b082            sub     sp, #8
- 8000822:      af00            add     r7, sp, #0
- 8000824:      6078            str     r0, [r7, #4]
- 8000826:      6039            str     r1, [r7, #0]
+ 80007c2:      b580            push    {r7, lr}
+ 80007c4:      b082            sub     sp, #8
+ 80007c6:      af00            add     r7, sp, #0
+ 80007c8:      6078            str     r0, [r7, #4]
+ 80007ca:      6039            str     r1, [r7, #0]
     if (duty_cycle >= 0) {
- 8000828:      683b            ldr     r3, [r7, #0]
- 800082a:      2b00            cmp     r3, #0
- 800082c:      db3f            blt.n   80008ae <_ZN15MotorController9set_speedEi+0x90>
+ 80007cc:      683b            ldr     r3, [r7, #0]
+ 80007ce:      2b00            cmp     r3, #0
+ 80007d0:      db3f            blt.n   8000852 <_ZN15MotorController9set_speedEi+0x90>
 //      HAL_GPIO_WritePin(sleep_gpio_port_, sleep_pin_, GPIO_PIN_SET);
       HAL_GPIO_WritePin(dir_gpio_port_, dir_pin_, GPIO_PIN_RESET);
- 800082e:      687b            ldr     r3, [r7, #4]
- 8000830:      6898            ldr     r0, [r3, #8]
- 8000832:      687b            ldr     r3, [r7, #4]
- 8000834:      899b            ldrh    r3, [r3, #12]
- 8000836:      2200            movs    r2, #0
- 8000838:      4619            mov     r1, r3
- 800083a:      f001 fbd1       bl      8001fe0 <HAL_GPIO_WritePin>
+ 80007d2:      687b            ldr     r3, [r7, #4]
+ 80007d4:      6898            ldr     r0, [r3, #8]
+ 80007d6:      687b            ldr     r3, [r7, #4]
+ 80007d8:      899b            ldrh    r3, [r3, #12]
+ 80007da:      2200            movs    r2, #0
+ 80007dc:      4619            mov     r1, r3
+ 80007de:      f001 fc17       bl      8002010 <HAL_GPIO_WritePin>
       __HAL_TIM_SET_COMPARE(pwm_timer_, pwm_channel_, duty_cycle);
- 800083e:      687b            ldr     r3, [r7, #4]
- 8000840:      695b            ldr     r3, [r3, #20]
- 8000842:      2b00            cmp     r3, #0
- 8000844:      d105            bne.n   8000852 <_ZN15MotorController9set_speedEi+0x34>
- 8000846:      683a            ldr     r2, [r7, #0]
- 8000848:      687b            ldr     r3, [r7, #4]
- 800084a:      691b            ldr     r3, [r3, #16]
- 800084c:      681b            ldr     r3, [r3, #0]
- 800084e:      635a            str     r2, [r3, #52]   ; 0x34
+ 80007e2:      687b            ldr     r3, [r7, #4]
+ 80007e4:      695b            ldr     r3, [r3, #20]
+ 80007e6:      2b00            cmp     r3, #0
+ 80007e8:      d105            bne.n   80007f6 <_ZN15MotorController9set_speedEi+0x34>
+ 80007ea:      683a            ldr     r2, [r7, #0]
+ 80007ec:      687b            ldr     r3, [r7, #4]
+ 80007ee:      691b            ldr     r3, [r3, #16]
+ 80007f0:      681b            ldr     r3, [r3, #0]
+ 80007f2:      635a            str     r2, [r3, #52]   ; 0x34
 //      HAL_GPIO_WritePin(sleep_gpio_port_, sleep_pin_, GPIO_PIN_SET);
       HAL_GPIO_WritePin(dir_gpio_port_, dir_pin_, GPIO_PIN_SET);
       __HAL_TIM_SET_COMPARE(pwm_timer_, pwm_channel_, -duty_cycle);
     }
 
   }
- 8000850:      e072            b.n     8000938 <_ZN15MotorController9set_speedEi+0x11a>
+ 80007f4:      e072            b.n     80008dc <_ZN15MotorController9set_speedEi+0x11a>
       __HAL_TIM_SET_COMPARE(pwm_timer_, pwm_channel_, duty_cycle);
- 8000852:      687b            ldr     r3, [r7, #4]
- 8000854:      695b            ldr     r3, [r3, #20]
- 8000856:      2b04            cmp     r3, #4
- 8000858:      d105            bne.n   8000866 <_ZN15MotorController9set_speedEi+0x48>
- 800085a:      683a            ldr     r2, [r7, #0]
- 800085c:      687b            ldr     r3, [r7, #4]
- 800085e:      691b            ldr     r3, [r3, #16]
- 8000860:      681b            ldr     r3, [r3, #0]
- 8000862:      639a            str     r2, [r3, #56]   ; 0x38
-  }
- 8000864:      e068            b.n     8000938 <_ZN15MotorController9set_speedEi+0x11a>
+ 80007f6:      687b            ldr     r3, [r7, #4]
+ 80007f8:      695b            ldr     r3, [r3, #20]
+ 80007fa:      2b04            cmp     r3, #4
+ 80007fc:      d105            bne.n   800080a <_ZN15MotorController9set_speedEi+0x48>
+ 80007fe:      683a            ldr     r2, [r7, #0]
+ 8000800:      687b            ldr     r3, [r7, #4]
+ 8000802:      691b            ldr     r3, [r3, #16]
+ 8000804:      681b            ldr     r3, [r3, #0]
+ 8000806:      639a            str     r2, [r3, #56]   ; 0x38
+  }
+ 8000808:      e068            b.n     80008dc <_ZN15MotorController9set_speedEi+0x11a>
       __HAL_TIM_SET_COMPARE(pwm_timer_, pwm_channel_, duty_cycle);
- 8000866:      687b            ldr     r3, [r7, #4]
- 8000868:      695b            ldr     r3, [r3, #20]
- 800086a:      2b08            cmp     r3, #8
- 800086c:      d105            bne.n   800087a <_ZN15MotorController9set_speedEi+0x5c>
- 800086e:      683a            ldr     r2, [r7, #0]
- 8000870:      687b            ldr     r3, [r7, #4]
- 8000872:      691b            ldr     r3, [r3, #16]
- 8000874:      681b            ldr     r3, [r3, #0]
- 8000876:      63da            str     r2, [r3, #60]   ; 0x3c
-  }
- 8000878:      e05e            b.n     8000938 <_ZN15MotorController9set_speedEi+0x11a>
+ 800080a:      687b            ldr     r3, [r7, #4]
+ 800080c:      695b            ldr     r3, [r3, #20]
+ 800080e:      2b08            cmp     r3, #8
+ 8000810:      d105            bne.n   800081e <_ZN15MotorController9set_speedEi+0x5c>
+ 8000812:      683a            ldr     r2, [r7, #0]
+ 8000814:      687b            ldr     r3, [r7, #4]
+ 8000816:      691b            ldr     r3, [r3, #16]
+ 8000818:      681b            ldr     r3, [r3, #0]
+ 800081a:      63da            str     r2, [r3, #60]   ; 0x3c
+  }
+ 800081c:      e05e            b.n     80008dc <_ZN15MotorController9set_speedEi+0x11a>
+      __HAL_TIM_SET_COMPARE(pwm_timer_, pwm_channel_, duty_cycle);
+ 800081e:      687b            ldr     r3, [r7, #4]
+ 8000820:      695b            ldr     r3, [r3, #20]
+ 8000822:      2b0c            cmp     r3, #12
+ 8000824:      d105            bne.n   8000832 <_ZN15MotorController9set_speedEi+0x70>
+ 8000826:      683a            ldr     r2, [r7, #0]
+ 8000828:      687b            ldr     r3, [r7, #4]
+ 800082a:      691b            ldr     r3, [r3, #16]
+ 800082c:      681b            ldr     r3, [r3, #0]
+ 800082e:      641a            str     r2, [r3, #64]   ; 0x40
+  }
+ 8000830:      e054            b.n     80008dc <_ZN15MotorController9set_speedEi+0x11a>
       __HAL_TIM_SET_COMPARE(pwm_timer_, pwm_channel_, duty_cycle);
- 800087a:      687b            ldr     r3, [r7, #4]
- 800087c:      695b            ldr     r3, [r3, #20]
- 800087e:      2b0c            cmp     r3, #12
- 8000880:      d105            bne.n   800088e <_ZN15MotorController9set_speedEi+0x70>
- 8000882:      683a            ldr     r2, [r7, #0]
+ 8000832:      687b            ldr     r3, [r7, #4]
+ 8000834:      695b            ldr     r3, [r3, #20]
+ 8000836:      2b10            cmp     r3, #16
+ 8000838:      d105            bne.n   8000846 <_ZN15MotorController9set_speedEi+0x84>
+ 800083a:      683a            ldr     r2, [r7, #0]
+ 800083c:      687b            ldr     r3, [r7, #4]
+ 800083e:      691b            ldr     r3, [r3, #16]
+ 8000840:      681b            ldr     r3, [r3, #0]
+ 8000842:      659a            str     r2, [r3, #88]   ; 0x58
+  }
+ 8000844:      e04a            b.n     80008dc <_ZN15MotorController9set_speedEi+0x11a>
+      __HAL_TIM_SET_COMPARE(pwm_timer_, pwm_channel_, duty_cycle);
+ 8000846:      683a            ldr     r2, [r7, #0]
+ 8000848:      687b            ldr     r3, [r7, #4]
+ 800084a:      691b            ldr     r3, [r3, #16]
+ 800084c:      681b            ldr     r3, [r3, #0]
+ 800084e:      65da            str     r2, [r3, #92]   ; 0x5c
+  }
+ 8000850:      e044            b.n     80008dc <_ZN15MotorController9set_speedEi+0x11a>
+      HAL_GPIO_WritePin(dir_gpio_port_, dir_pin_, GPIO_PIN_SET);
+ 8000852:      687b            ldr     r3, [r7, #4]
+ 8000854:      6898            ldr     r0, [r3, #8]
+ 8000856:      687b            ldr     r3, [r7, #4]
+ 8000858:      899b            ldrh    r3, [r3, #12]
+ 800085a:      2201            movs    r2, #1
+ 800085c:      4619            mov     r1, r3
+ 800085e:      f001 fbd7       bl      8002010 <HAL_GPIO_WritePin>
+      __HAL_TIM_SET_COMPARE(pwm_timer_, pwm_channel_, -duty_cycle);
+ 8000862:      687b            ldr     r3, [r7, #4]
+ 8000864:      695b            ldr     r3, [r3, #20]
+ 8000866:      2b00            cmp     r3, #0
+ 8000868:      d106            bne.n   8000878 <_ZN15MotorController9set_speedEi+0xb6>
+ 800086a:      683b            ldr     r3, [r7, #0]
+ 800086c:      425a            negs    r2, r3
+ 800086e:      687b            ldr     r3, [r7, #4]
+ 8000870:      691b            ldr     r3, [r3, #16]
+ 8000872:      681b            ldr     r3, [r3, #0]
+ 8000874:      635a            str     r2, [r3, #52]   ; 0x34
+  }
+ 8000876:      e031            b.n     80008dc <_ZN15MotorController9set_speedEi+0x11a>
+      __HAL_TIM_SET_COMPARE(pwm_timer_, pwm_channel_, -duty_cycle);
+ 8000878:      687b            ldr     r3, [r7, #4]
+ 800087a:      695b            ldr     r3, [r3, #20]
+ 800087c:      2b04            cmp     r3, #4
+ 800087e:      d106            bne.n   800088e <_ZN15MotorController9set_speedEi+0xcc>
+ 8000880:      683b            ldr     r3, [r7, #0]
+ 8000882:      425a            negs    r2, r3
  8000884:      687b            ldr     r3, [r7, #4]
  8000886:      691b            ldr     r3, [r3, #16]
  8000888:      681b            ldr     r3, [r3, #0]
- 800088a:      641a            str     r2, [r3, #64]   ; 0x40
+ 800088a:      639a            str     r2, [r3, #56]   ; 0x38
   }
- 800088c:      e054            b.n     8000938 <_ZN15MotorController9set_speedEi+0x11a>
-      __HAL_TIM_SET_COMPARE(pwm_timer_, pwm_channel_, duty_cycle);
+ 800088c:      e026            b.n     80008dc <_ZN15MotorController9set_speedEi+0x11a>
+      __HAL_TIM_SET_COMPARE(pwm_timer_, pwm_channel_, -duty_cycle);
  800088e:      687b            ldr     r3, [r7, #4]
  8000890:      695b            ldr     r3, [r3, #20]
- 8000892:      2b10            cmp     r3, #16
- 8000894:      d105            bne.n   80008a2 <_ZN15MotorController9set_speedEi+0x84>
- 8000896:      683a            ldr     r2, [r7, #0]
- 8000898:      687b            ldr     r3, [r7, #4]
- 800089a:      691b            ldr     r3, [r3, #16]
- 800089c:      681b            ldr     r3, [r3, #0]
- 800089e:      659a            str     r2, [r3, #88]   ; 0x58
-  }
- 80008a0:      e04a            b.n     8000938 <_ZN15MotorController9set_speedEi+0x11a>
-      __HAL_TIM_SET_COMPARE(pwm_timer_, pwm_channel_, duty_cycle);
- 80008a2:      683a            ldr     r2, [r7, #0]
+ 8000892:      2b08            cmp     r3, #8
+ 8000894:      d106            bne.n   80008a4 <_ZN15MotorController9set_speedEi+0xe2>
+ 8000896:      683b            ldr     r3, [r7, #0]
+ 8000898:      425a            negs    r2, r3
+ 800089a:      687b            ldr     r3, [r7, #4]
+ 800089c:      691b            ldr     r3, [r3, #16]
+ 800089e:      681b            ldr     r3, [r3, #0]
+ 80008a0:      63da            str     r2, [r3, #60]   ; 0x3c
+  }
+ 80008a2:      e01b            b.n     80008dc <_ZN15MotorController9set_speedEi+0x11a>
+      __HAL_TIM_SET_COMPARE(pwm_timer_, pwm_channel_, -duty_cycle);
  80008a4:      687b            ldr     r3, [r7, #4]
- 80008a6:      691b            ldr     r3, [r3, #16]
- 80008a8:      681b            ldr     r3, [r3, #0]
- 80008aa:      65da            str     r2, [r3, #92]   ; 0x5c
-  }
- 80008ac:      e044            b.n     8000938 <_ZN15MotorController9set_speedEi+0x11a>
-      HAL_GPIO_WritePin(dir_gpio_port_, dir_pin_, GPIO_PIN_SET);
- 80008ae:      687b            ldr     r3, [r7, #4]
- 80008b0:      6898            ldr     r0, [r3, #8]
- 80008b2:      687b            ldr     r3, [r7, #4]
- 80008b4:      899b            ldrh    r3, [r3, #12]
- 80008b6:      2201            movs    r2, #1
- 80008b8:      4619            mov     r1, r3
- 80008ba:      f001 fb91       bl      8001fe0 <HAL_GPIO_WritePin>
+ 80008a6:      695b            ldr     r3, [r3, #20]
+ 80008a8:      2b0c            cmp     r3, #12
+ 80008aa:      d106            bne.n   80008ba <_ZN15MotorController9set_speedEi+0xf8>
+ 80008ac:      683b            ldr     r3, [r7, #0]
+ 80008ae:      425a            negs    r2, r3
+ 80008b0:      687b            ldr     r3, [r7, #4]
+ 80008b2:      691b            ldr     r3, [r3, #16]
+ 80008b4:      681b            ldr     r3, [r3, #0]
+ 80008b6:      641a            str     r2, [r3, #64]   ; 0x40
+  }
+ 80008b8:      e010            b.n     80008dc <_ZN15MotorController9set_speedEi+0x11a>
       __HAL_TIM_SET_COMPARE(pwm_timer_, pwm_channel_, -duty_cycle);
- 80008be:      687b            ldr     r3, [r7, #4]
- 80008c0:      695b            ldr     r3, [r3, #20]
- 80008c2:      2b00            cmp     r3, #0
- 80008c4:      d106            bne.n   80008d4 <_ZN15MotorController9set_speedEi+0xb6>
- 80008c6:      683b            ldr     r3, [r7, #0]
- 80008c8:      425a            negs    r2, r3
- 80008ca:      687b            ldr     r3, [r7, #4]
- 80008cc:      691b            ldr     r3, [r3, #16]
- 80008ce:      681b            ldr     r3, [r3, #0]
- 80008d0:      635a            str     r2, [r3, #52]   ; 0x34
-  }
- 80008d2:      e031            b.n     8000938 <_ZN15MotorController9set_speedEi+0x11a>
+ 80008ba:      687b            ldr     r3, [r7, #4]
+ 80008bc:      695b            ldr     r3, [r3, #20]
+ 80008be:      2b10            cmp     r3, #16
+ 80008c0:      d106            bne.n   80008d0 <_ZN15MotorController9set_speedEi+0x10e>
+ 80008c2:      683b            ldr     r3, [r7, #0]
+ 80008c4:      425a            negs    r2, r3
+ 80008c6:      687b            ldr     r3, [r7, #4]
+ 80008c8:      691b            ldr     r3, [r3, #16]
+ 80008ca:      681b            ldr     r3, [r3, #0]
+ 80008cc:      659a            str     r2, [r3, #88]   ; 0x58
+  }
+ 80008ce:      e005            b.n     80008dc <_ZN15MotorController9set_speedEi+0x11a>
       __HAL_TIM_SET_COMPARE(pwm_timer_, pwm_channel_, -duty_cycle);
+ 80008d0:      683b            ldr     r3, [r7, #0]
+ 80008d2:      425a            negs    r2, r3
  80008d4:      687b            ldr     r3, [r7, #4]
- 80008d6:      695b            ldr     r3, [r3, #20]
- 80008d8:      2b04            cmp     r3, #4
- 80008da:      d106            bne.n   80008ea <_ZN15MotorController9set_speedEi+0xcc>
- 80008dc:      683b            ldr     r3, [r7, #0]
- 80008de:      425a            negs    r2, r3
- 80008e0:      687b            ldr     r3, [r7, #4]
- 80008e2:      691b            ldr     r3, [r3, #16]
- 80008e4:      681b            ldr     r3, [r3, #0]
- 80008e6:      639a            str     r2, [r3, #56]   ; 0x38
-  }
- 80008e8:      e026            b.n     8000938 <_ZN15MotorController9set_speedEi+0x11a>
-      __HAL_TIM_SET_COMPARE(pwm_timer_, pwm_channel_, -duty_cycle);
- 80008ea:      687b            ldr     r3, [r7, #4]
- 80008ec:      695b            ldr     r3, [r3, #20]
- 80008ee:      2b08            cmp     r3, #8
- 80008f0:      d106            bne.n   8000900 <_ZN15MotorController9set_speedEi+0xe2>
- 80008f2:      683b            ldr     r3, [r7, #0]
- 80008f4:      425a            negs    r2, r3
- 80008f6:      687b            ldr     r3, [r7, #4]
- 80008f8:      691b            ldr     r3, [r3, #16]
- 80008fa:      681b            ldr     r3, [r3, #0]
- 80008fc:      63da            str     r2, [r3, #60]   ; 0x3c
-  }
- 80008fe:      e01b            b.n     8000938 <_ZN15MotorController9set_speedEi+0x11a>
-      __HAL_TIM_SET_COMPARE(pwm_timer_, pwm_channel_, -duty_cycle);
+ 80008d6:      691b            ldr     r3, [r3, #16]
+ 80008d8:      681b            ldr     r3, [r3, #0]
+ 80008da:      65da            str     r2, [r3, #92]   ; 0x5c
+  }
+ 80008dc:      bf00            nop
+ 80008de:      3708            adds    r7, #8
+ 80008e0:      46bd            mov     sp, r7
+ 80008e2:      bd80            pop     {r7, pc}
+
+080008e4 <_ZN15MotorController5brakeEv>:
+
+  void brake() {
+ 80008e4:      b480            push    {r7}
+ 80008e6:      b083            sub     sp, #12
+ 80008e8:      af00            add     r7, sp, #0
+ 80008ea:      6078            str     r0, [r7, #4]
+    __HAL_TIM_SET_COMPARE(pwm_timer_, pwm_channel_, 0);
+ 80008ec:      687b            ldr     r3, [r7, #4]
+ 80008ee:      695b            ldr     r3, [r3, #20]
+ 80008f0:      2b00            cmp     r3, #0
+ 80008f2:      d105            bne.n   8000900 <_ZN15MotorController5brakeEv+0x1c>
+ 80008f4:      687b            ldr     r3, [r7, #4]
+ 80008f6:      691b            ldr     r3, [r3, #16]
+ 80008f8:      681b            ldr     r3, [r3, #0]
+ 80008fa:      2200            movs    r2, #0
+ 80008fc:      635a            str     r2, [r3, #52]   ; 0x34
+  }
+ 80008fe:      e02c            b.n     800095a <_ZN15MotorController5brakeEv+0x76>
+    __HAL_TIM_SET_COMPARE(pwm_timer_, pwm_channel_, 0);
  8000900:      687b            ldr     r3, [r7, #4]
  8000902:      695b            ldr     r3, [r3, #20]
- 8000904:      2b0c            cmp     r3, #12
- 8000906:      d106            bne.n   8000916 <_ZN15MotorController9set_speedEi+0xf8>
- 8000908:      683b            ldr     r3, [r7, #0]
- 800090a:      425a            negs    r2, r3
- 800090c:      687b            ldr     r3, [r7, #4]
- 800090e:      691b            ldr     r3, [r3, #16]
- 8000910:      681b            ldr     r3, [r3, #0]
- 8000912:      641a            str     r2, [r3, #64]   ; 0x40
-  }
- 8000914:      e010            b.n     8000938 <_ZN15MotorController9set_speedEi+0x11a>
-      __HAL_TIM_SET_COMPARE(pwm_timer_, pwm_channel_, -duty_cycle);
- 8000916:      687b            ldr     r3, [r7, #4]
- 8000918:      695b            ldr     r3, [r3, #20]
- 800091a:      2b10            cmp     r3, #16
- 800091c:      d106            bne.n   800092c <_ZN15MotorController9set_speedEi+0x10e>
- 800091e:      683b            ldr     r3, [r7, #0]
- 8000920:      425a            negs    r2, r3
- 8000922:      687b            ldr     r3, [r7, #4]
- 8000924:      691b            ldr     r3, [r3, #16]
- 8000926:      681b            ldr     r3, [r3, #0]
- 8000928:      659a            str     r2, [r3, #88]   ; 0x58
-  }
- 800092a:      e005            b.n     8000938 <_ZN15MotorController9set_speedEi+0x11a>
-      __HAL_TIM_SET_COMPARE(pwm_timer_, pwm_channel_, -duty_cycle);
- 800092c:      683b            ldr     r3, [r7, #0]
- 800092e:      425a            negs    r2, r3
+ 8000904:      2b04            cmp     r3, #4
+ 8000906:      d105            bne.n   8000914 <_ZN15MotorController5brakeEv+0x30>
+ 8000908:      687b            ldr     r3, [r7, #4]
+ 800090a:      691b            ldr     r3, [r3, #16]
+ 800090c:      681b            ldr     r3, [r3, #0]
+ 800090e:      2200            movs    r2, #0
+ 8000910:      639a            str     r2, [r3, #56]   ; 0x38
+  }
+ 8000912:      e022            b.n     800095a <_ZN15MotorController5brakeEv+0x76>
+    __HAL_TIM_SET_COMPARE(pwm_timer_, pwm_channel_, 0);
+ 8000914:      687b            ldr     r3, [r7, #4]
+ 8000916:      695b            ldr     r3, [r3, #20]
+ 8000918:      2b08            cmp     r3, #8
+ 800091a:      d105            bne.n   8000928 <_ZN15MotorController5brakeEv+0x44>
+ 800091c:      687b            ldr     r3, [r7, #4]
+ 800091e:      691b            ldr     r3, [r3, #16]
+ 8000920:      681b            ldr     r3, [r3, #0]
+ 8000922:      2200            movs    r2, #0
+ 8000924:      63da            str     r2, [r3, #60]   ; 0x3c
+  }
+ 8000926:      e018            b.n     800095a <_ZN15MotorController5brakeEv+0x76>
+    __HAL_TIM_SET_COMPARE(pwm_timer_, pwm_channel_, 0);
+ 8000928:      687b            ldr     r3, [r7, #4]
+ 800092a:      695b            ldr     r3, [r3, #20]
+ 800092c:      2b0c            cmp     r3, #12
+ 800092e:      d105            bne.n   800093c <_ZN15MotorController5brakeEv+0x58>
  8000930:      687b            ldr     r3, [r7, #4]
  8000932:      691b            ldr     r3, [r3, #16]
  8000934:      681b            ldr     r3, [r3, #0]
- 8000936:      65da            str     r2, [r3, #92]   ; 0x5c
+ 8000936:      2200            movs    r2, #0
+ 8000938:      641a            str     r2, [r3, #64]   ; 0x40
   }
- 8000938:      bf00            nop
- 800093a:      3708            adds    r7, #8
- 800093c:      46bd            mov     sp, r7
- 800093e:      bd80            pop     {r7, pc}
-
-08000940 <_ZN15MotorController5brakeEv>:
-
-  void brake() {
- 8000940:      b480            push    {r7}
- 8000942:      b083            sub     sp, #12
- 8000944:      af00            add     r7, sp, #0
- 8000946:      6078            str     r0, [r7, #4]
+ 800093a:      e00e            b.n     800095a <_ZN15MotorController5brakeEv+0x76>
+    __HAL_TIM_SET_COMPARE(pwm_timer_, pwm_channel_, 0);
+ 800093c:      687b            ldr     r3, [r7, #4]
+ 800093e:      695b            ldr     r3, [r3, #20]
+ 8000940:      2b10            cmp     r3, #16
+ 8000942:      d105            bne.n   8000950 <_ZN15MotorController5brakeEv+0x6c>
+ 8000944:      687b            ldr     r3, [r7, #4]
+ 8000946:      691b            ldr     r3, [r3, #16]
+ 8000948:      681b            ldr     r3, [r3, #0]
+ 800094a:      2200            movs    r2, #0
+ 800094c:      659a            str     r2, [r3, #88]   ; 0x58
+  }
+ 800094e:      e004            b.n     800095a <_ZN15MotorController5brakeEv+0x76>
     __HAL_TIM_SET_COMPARE(pwm_timer_, pwm_channel_, 0);
- 8000948:      687b            ldr     r3, [r7, #4]
- 800094a:      695b            ldr     r3, [r3, #20]
- 800094c:      2b00            cmp     r3, #0
- 800094e:      d105            bne.n   800095c <_ZN15MotorController5brakeEv+0x1c>
  8000950:      687b            ldr     r3, [r7, #4]
  8000952:      691b            ldr     r3, [r3, #16]
  8000954:      681b            ldr     r3, [r3, #0]
  8000956:      2200            movs    r2, #0
- 8000958:      635a            str     r2, [r3, #52]   ; 0x34
+ 8000958:      65da            str     r2, [r3, #92]   ; 0x5c
   }
- 800095a:      e02c            b.n     80009b6 <_ZN15MotorController5brakeEv+0x76>
-    __HAL_TIM_SET_COMPARE(pwm_timer_, pwm_channel_, 0);
- 800095c:      687b            ldr     r3, [r7, #4]
- 800095e:      695b            ldr     r3, [r3, #20]
- 8000960:      2b04            cmp     r3, #4
- 8000962:      d105            bne.n   8000970 <_ZN15MotorController5brakeEv+0x30>
- 8000964:      687b            ldr     r3, [r7, #4]
- 8000966:      691b            ldr     r3, [r3, #16]
- 8000968:      681b            ldr     r3, [r3, #0]
- 800096a:      2200            movs    r2, #0
- 800096c:      639a            str     r2, [r3, #56]   ; 0x38
-  }
- 800096e:      e022            b.n     80009b6 <_ZN15MotorController5brakeEv+0x76>
-    __HAL_TIM_SET_COMPARE(pwm_timer_, pwm_channel_, 0);
- 8000970:      687b            ldr     r3, [r7, #4]
- 8000972:      695b            ldr     r3, [r3, #20]
- 8000974:      2b08            cmp     r3, #8
- 8000976:      d105            bne.n   8000984 <_ZN15MotorController5brakeEv+0x44>
- 8000978:      687b            ldr     r3, [r7, #4]
- 800097a:      691b            ldr     r3, [r3, #16]
- 800097c:      681b            ldr     r3, [r3, #0]
- 800097e:      2200            movs    r2, #0
- 8000980:      63da            str     r2, [r3, #60]   ; 0x3c
-  }
- 8000982:      e018            b.n     80009b6 <_ZN15MotorController5brakeEv+0x76>
-    __HAL_TIM_SET_COMPARE(pwm_timer_, pwm_channel_, 0);
- 8000984:      687b            ldr     r3, [r7, #4]
- 8000986:      695b            ldr     r3, [r3, #20]
- 8000988:      2b0c            cmp     r3, #12
- 800098a:      d105            bne.n   8000998 <_ZN15MotorController5brakeEv+0x58>
- 800098c:      687b            ldr     r3, [r7, #4]
- 800098e:      691b            ldr     r3, [r3, #16]
- 8000990:      681b            ldr     r3, [r3, #0]
- 8000992:      2200            movs    r2, #0
- 8000994:      641a            str     r2, [r3, #64]   ; 0x40
-  }
- 8000996:      e00e            b.n     80009b6 <_ZN15MotorController5brakeEv+0x76>
-    __HAL_TIM_SET_COMPARE(pwm_timer_, pwm_channel_, 0);
- 8000998:      687b            ldr     r3, [r7, #4]
- 800099a:      695b            ldr     r3, [r3, #20]
- 800099c:      2b10            cmp     r3, #16
- 800099e:      d105            bne.n   80009ac <_ZN15MotorController5brakeEv+0x6c>
- 80009a0:      687b            ldr     r3, [r7, #4]
- 80009a2:      691b            ldr     r3, [r3, #16]
- 80009a4:      681b            ldr     r3, [r3, #0]
- 80009a6:      2200            movs    r2, #0
- 80009a8:      659a            str     r2, [r3, #88]   ; 0x58
-  }
- 80009aa:      e004            b.n     80009b6 <_ZN15MotorController5brakeEv+0x76>
-    __HAL_TIM_SET_COMPARE(pwm_timer_, pwm_channel_, 0);
- 80009ac:      687b            ldr     r3, [r7, #4]
- 80009ae:      691b            ldr     r3, [r3, #16]
- 80009b0:      681b            ldr     r3, [r3, #0]
- 80009b2:      2200            movs    r2, #0
- 80009b4:      65da            str     r2, [r3, #92]   ; 0x5c
-  }
- 80009b6:      bf00            nop
- 80009b8:      370c            adds    r7, #12
- 80009ba:      46bd            mov     sp, r7
- 80009bc:      f85d 7b04       ldr.w   r7, [sp], #4
- 80009c0:      4770            bx      lr
-
-080009c2 <_ZN3PidC1Efff>:
+ 800095a:      bf00            nop
+ 800095c:      370c            adds    r7, #12
+ 800095e:      46bd            mov     sp, r7
+ 8000960:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8000964:      4770            bx      lr
+
+08000966 <_ZN3PidC1Efff>:
   float previous_error_;
 
 //  int min_;
 //  int max_;
 
   Pid(float kp, float ki, float kd) {
- 80009c2:      b480            push    {r7}
- 80009c4:      b087            sub     sp, #28
- 80009c6:      af00            add     r7, sp, #0
- 80009c8:      60f8            str     r0, [r7, #12]
- 80009ca:      ed87 0a02       vstr    s0, [r7, #8]
- 80009ce:      edc7 0a01       vstr    s1, [r7, #4]
- 80009d2:      ed87 1a00       vstr    s2, [r7]
+ 8000966:      b480            push    {r7}
+ 8000968:      b087            sub     sp, #28
+ 800096a:      af00            add     r7, sp, #0
+ 800096c:      60f8            str     r0, [r7, #12]
+ 800096e:      ed87 0a02       vstr    s0, [r7, #8]
+ 8000972:      edc7 0a01       vstr    s1, [r7, #4]
+ 8000976:      ed87 1a00       vstr    s2, [r7]
     this->kp_ = kp;
- 80009d6:      68fb            ldr     r3, [r7, #12]
- 80009d8:      68ba            ldr     r2, [r7, #8]
- 80009da:      601a            str     r2, [r3, #0]
+ 800097a:      68fb            ldr     r3, [r7, #12]
+ 800097c:      68ba            ldr     r2, [r7, #8]
+ 800097e:      601a            str     r2, [r3, #0]
     this->ki_ = ki;
- 80009dc:      68fb            ldr     r3, [r7, #12]
- 80009de:      687a            ldr     r2, [r7, #4]
- 80009e0:      605a            str     r2, [r3, #4]
+ 8000980:      68fb            ldr     r3, [r7, #12]
+ 8000982:      687a            ldr     r2, [r7, #4]
+ 8000984:      605a            str     r2, [r3, #4]
     this->kd_ = kd;
- 80009e2:      68fb            ldr     r3, [r7, #12]
- 80009e4:      683a            ldr     r2, [r7, #0]
- 80009e6:      609a            str     r2, [r3, #8]
+ 8000986:      68fb            ldr     r3, [r7, #12]
+ 8000988:      683a            ldr     r2, [r7, #0]
+ 800098a:      609a            str     r2, [r3, #8]
 
     this->error_ = 0;
- 80009e8:      68fb            ldr     r3, [r7, #12]
- 80009ea:      f04f 0200       mov.w   r2, #0
- 80009ee:      60da            str     r2, [r3, #12]
+ 800098c:      68fb            ldr     r3, [r7, #12]
+ 800098e:      f04f 0200       mov.w   r2, #0
+ 8000992:      60da            str     r2, [r3, #12]
     this->setpoint_ = 0;
- 80009f0:      68fb            ldr     r3, [r7, #12]
- 80009f2:      f04f 0200       mov.w   r2, #0
- 80009f6:      611a            str     r2, [r3, #16]
+ 8000994:      68fb            ldr     r3, [r7, #12]
+ 8000996:      f04f 0200       mov.w   r2, #0
+ 800099a:      611a            str     r2, [r3, #16]
 
     this->previous_error_ = 0;
- 80009f8:      68fb            ldr     r3, [r7, #12]
- 80009fa:      f04f 0200       mov.w   r2, #0
- 80009fe:      641a            str     r2, [r3, #64]   ; 0x40
+ 800099c:      68fb            ldr     r3, [r7, #12]
+ 800099e:      f04f 0200       mov.w   r2, #0
+ 80009a2:      641a            str     r2, [r3, #64]   ; 0x40
     this->error_sum_index_ = 0;
- 8000a00:      68fb            ldr     r3, [r7, #12]
- 8000a02:      2200            movs    r2, #0
- 8000a04:      63da            str     r2, [r3, #60]   ; 0x3c
+ 80009a4:      68fb            ldr     r3, [r7, #12]
+ 80009a6:      2200            movs    r2, #0
+ 80009a8:      63da            str     r2, [r3, #60]   ; 0x3c
 
     for (int i = 0; i < 10; i++) {
- 8000a06:      2300            movs    r3, #0
- 8000a08:      617b            str     r3, [r7, #20]
- 8000a0a:      697b            ldr     r3, [r7, #20]
- 8000a0c:      2b09            cmp     r3, #9
- 8000a0e:      dc0c            bgt.n   8000a2a <_ZN3PidC1Efff+0x68>
+ 80009aa:      2300            movs    r3, #0
+ 80009ac:      617b            str     r3, [r7, #20]
+ 80009ae:      697b            ldr     r3, [r7, #20]
+ 80009b0:      2b09            cmp     r3, #9
+ 80009b2:      dc0c            bgt.n   80009ce <_ZN3PidC1Efff+0x68>
       this->error_sum_array_[i] = 0;
- 8000a10:      68fa            ldr     r2, [r7, #12]
- 8000a12:      697b            ldr     r3, [r7, #20]
- 8000a14:      3304            adds    r3, #4
- 8000a16:      009b            lsls    r3, r3, #2
- 8000a18:      4413            add     r3, r2
- 8000a1a:      3304            adds    r3, #4
- 8000a1c:      f04f 0200       mov.w   r2, #0
- 8000a20:      601a            str     r2, [r3, #0]
+ 80009b4:      68fa            ldr     r2, [r7, #12]
+ 80009b6:      697b            ldr     r3, [r7, #20]
+ 80009b8:      3304            adds    r3, #4
+ 80009ba:      009b            lsls    r3, r3, #2
+ 80009bc:      4413            add     r3, r2
+ 80009be:      3304            adds    r3, #4
+ 80009c0:      f04f 0200       mov.w   r2, #0
+ 80009c4:      601a            str     r2, [r3, #0]
     for (int i = 0; i < 10; i++) {
- 8000a22:      697b            ldr     r3, [r7, #20]
- 8000a24:      3301            adds    r3, #1
- 8000a26:      617b            str     r3, [r7, #20]
- 8000a28:      e7ef            b.n     8000a0a <_ZN3PidC1Efff+0x48>
+ 80009c6:      697b            ldr     r3, [r7, #20]
+ 80009c8:      3301            adds    r3, #1
+ 80009ca:      617b            str     r3, [r7, #20]
+ 80009cc:      e7ef            b.n     80009ae <_ZN3PidC1Efff+0x48>
     }
 
   }
- 8000a2a:      68fb            ldr     r3, [r7, #12]
- 8000a2c:      4618            mov     r0, r3
- 8000a2e:      371c            adds    r7, #28
- 8000a30:      46bd            mov     sp, r7
- 8000a32:      f85d 7b04       ldr.w   r7, [sp], #4
- 8000a36:      4770            bx      lr
+ 80009ce:      68fb            ldr     r3, [r7, #12]
+ 80009d0:      4618            mov     r0, r3
+ 80009d2:      371c            adds    r7, #28
+ 80009d4:      46bd            mov     sp, r7
+ 80009d6:      f85d 7b04       ldr.w   r7, [sp], #4
+ 80009da:      4770            bx      lr
 
-08000a38 <_ZN3Pid3setEf>:
+080009dc <_ZN3Pid3setEf>:
 
   void set(float setpoint) {
- 8000a38:      b480            push    {r7}
- 8000a3a:      b083            sub     sp, #12
- 8000a3c:      af00            add     r7, sp, #0
- 8000a3e:      6078            str     r0, [r7, #4]
- 8000a40:      ed87 0a00       vstr    s0, [r7]
+ 80009dc:      b480            push    {r7}
+ 80009de:      b083            sub     sp, #12
+ 80009e0:      af00            add     r7, sp, #0
+ 80009e2:      6078            str     r0, [r7, #4]
+ 80009e4:      ed87 0a00       vstr    s0, [r7]
     this->setpoint_ = setpoint;
- 8000a44:      687b            ldr     r3, [r7, #4]
- 8000a46:      683a            ldr     r2, [r7, #0]
- 8000a48:      611a            str     r2, [r3, #16]
+ 80009e8:      687b            ldr     r3, [r7, #4]
+ 80009ea:      683a            ldr     r2, [r7, #0]
+ 80009ec:      611a            str     r2, [r3, #16]
   }
- 8000a4a:      bf00            nop
- 8000a4c:      370c            adds    r7, #12
- 8000a4e:      46bd            mov     sp, r7
- 8000a50:      f85d 7b04       ldr.w   r7, [sp], #4
- 8000a54:      4770            bx      lr
+ 80009ee:      bf00            nop
+ 80009f0:      370c            adds    r7, #12
+ 80009f2:      46bd            mov     sp, r7
+ 80009f4:      f85d 7b04       ldr.w   r7, [sp], #4
+ 80009f8:      4770            bx      lr
 
-08000a56 <_ZN3Pid6updateEf>:
+080009fa <_ZN3Pid6updateEf>:
 
   int update(float measure) {
- 8000a56:      b480            push    {r7}
- 8000a58:      b087            sub     sp, #28
- 8000a5a:      af00            add     r7, sp, #0
- 8000a5c:      6078            str     r0, [r7, #4]
- 8000a5e:      ed87 0a00       vstr    s0, [r7]
-
-    //TODO si rompono i numeri negativi, da fixare
+ 80009fa:      b480            push    {r7}
+ 80009fc:      b087            sub     sp, #28
+ 80009fe:      af00            add     r7, sp, #0
+ 8000a00:      6078            str     r0, [r7, #4]
+ 8000a02:      ed87 0a00       vstr    s0, [r7]
 
     this->error_ = this->setpoint_ - measure;
- 8000a62:      687b            ldr     r3, [r7, #4]
- 8000a64:      ed93 7a04       vldr    s14, [r3, #16]
- 8000a68:      edd7 7a00       vldr    s15, [r7]
- 8000a6c:      ee77 7a67       vsub.f32        s15, s14, s15
- 8000a70:      687b            ldr     r3, [r7, #4]
- 8000a72:      edc3 7a03       vstr    s15, [r3, #12]
+ 8000a06:      687b            ldr     r3, [r7, #4]
+ 8000a08:      ed93 7a04       vldr    s14, [r3, #16]
+ 8000a0c:      edd7 7a00       vldr    s15, [r7]
+ 8000a10:      ee77 7a67       vsub.f32        s15, s14, s15
+ 8000a14:      687b            ldr     r3, [r7, #4]
+ 8000a16:      edc3 7a03       vstr    s15, [r3, #12]
 
     //proportional term
     float output = this->error_ * this->kp_;
- 8000a76:      687b            ldr     r3, [r7, #4]
- 8000a78:      ed93 7a03       vldr    s14, [r3, #12]
- 8000a7c:      687b            ldr     r3, [r7, #4]
- 8000a7e:      edd3 7a00       vldr    s15, [r3]
- 8000a82:      ee67 7a27       vmul.f32        s15, s14, s15
- 8000a86:      edc7 7a03       vstr    s15, [r7, #12]
+ 8000a1a:      687b            ldr     r3, [r7, #4]
+ 8000a1c:      ed93 7a03       vldr    s14, [r3, #12]
+ 8000a20:      687b            ldr     r3, [r7, #4]
+ 8000a22:      edd3 7a00       vldr    s15, [r3]
+ 8000a26:      ee67 7a27       vmul.f32        s15, s14, s15
+ 8000a2a:      edc7 7a03       vstr    s15, [r7, #12]
 
     //integral term
-
     if (this->error_sum_index_ == 10) {
- 8000a8a:      687b            ldr     r3, [r7, #4]
- 8000a8c:      6bdb            ldr     r3, [r3, #60]   ; 0x3c
- 8000a8e:      2b0a            cmp     r3, #10
- 8000a90:      d107            bne.n   8000aa2 <_ZN3Pid6updateEf+0x4c>
+ 8000a2e:      687b            ldr     r3, [r7, #4]
+ 8000a30:      6bdb            ldr     r3, [r3, #60]   ; 0x3c
+ 8000a32:      2b0a            cmp     r3, #10
+ 8000a34:      d107            bne.n   8000a46 <_ZN3Pid6updateEf+0x4c>
       this->error_sum_array_[0] = this->error_;
- 8000a92:      687b            ldr     r3, [r7, #4]
- 8000a94:      68da            ldr     r2, [r3, #12]
- 8000a96:      687b            ldr     r3, [r7, #4]
- 8000a98:      615a            str     r2, [r3, #20]
+ 8000a36:      687b            ldr     r3, [r7, #4]
+ 8000a38:      68da            ldr     r2, [r3, #12]
+ 8000a3a:      687b            ldr     r3, [r7, #4]
+ 8000a3c:      615a            str     r2, [r3, #20]
       this->error_sum_index_ = 0;
- 8000a9a:      687b            ldr     r3, [r7, #4]
- 8000a9c:      2200            movs    r2, #0
- 8000a9e:      63da            str     r2, [r3, #60]   ; 0x3c
- 8000aa0:      e00e            b.n     8000ac0 <_ZN3Pid6updateEf+0x6a>
+ 8000a3e:      687b            ldr     r3, [r7, #4]
+ 8000a40:      2200            movs    r2, #0
+ 8000a42:      63da            str     r2, [r3, #60]   ; 0x3c
+ 8000a44:      e00e            b.n     8000a64 <_ZN3Pid6updateEf+0x6a>
     } else {
       this->error_sum_array_[this->error_sum_index_] = this->error_;
- 8000aa2:      687b            ldr     r3, [r7, #4]
- 8000aa4:      6bdb            ldr     r3, [r3, #60]   ; 0x3c
- 8000aa6:      687a            ldr     r2, [r7, #4]
- 8000aa8:      68d2            ldr     r2, [r2, #12]
- 8000aaa:      6879            ldr     r1, [r7, #4]
- 8000aac:      3304            adds    r3, #4
- 8000aae:      009b            lsls    r3, r3, #2
- 8000ab0:      440b            add     r3, r1
- 8000ab2:      3304            adds    r3, #4
- 8000ab4:      601a            str     r2, [r3, #0]
+ 8000a46:      687b            ldr     r3, [r7, #4]
+ 8000a48:      6bdb            ldr     r3, [r3, #60]   ; 0x3c
+ 8000a4a:      687a            ldr     r2, [r7, #4]
+ 8000a4c:      68d2            ldr     r2, [r2, #12]
+ 8000a4e:      6879            ldr     r1, [r7, #4]
+ 8000a50:      3304            adds    r3, #4
+ 8000a52:      009b            lsls    r3, r3, #2
+ 8000a54:      440b            add     r3, r1
+ 8000a56:      3304            adds    r3, #4
+ 8000a58:      601a            str     r2, [r3, #0]
       this->error_sum_index_++;
- 8000ab6:      687b            ldr     r3, [r7, #4]
- 8000ab8:      6bdb            ldr     r3, [r3, #60]   ; 0x3c
- 8000aba:      1c5a            adds    r2, r3, #1
- 8000abc:      687b            ldr     r3, [r7, #4]
- 8000abe:      63da            str     r2, [r3, #60]   ; 0x3c
+ 8000a5a:      687b            ldr     r3, [r7, #4]
+ 8000a5c:      6bdb            ldr     r3, [r3, #60]   ; 0x3c
+ 8000a5e:      1c5a            adds    r2, r3, #1
+ 8000a60:      687b            ldr     r3, [r7, #4]
+ 8000a62:      63da            str     r2, [r3, #60]   ; 0x3c
     }
 
     float error_sum = 0;
- 8000ac0:      f04f 0300       mov.w   r3, #0
- 8000ac4:      617b            str     r3, [r7, #20]
+ 8000a64:      f04f 0300       mov.w   r3, #0
+ 8000a68:      617b            str     r3, [r7, #20]
     for (int i = 0; i < 10; i++) {
- 8000ac6:      2300            movs    r3, #0
- 8000ac8:      613b            str     r3, [r7, #16]
- 8000aca:      693b            ldr     r3, [r7, #16]
- 8000acc:      2b09            cmp     r3, #9
- 8000ace:      dc11            bgt.n   8000af4 <_ZN3Pid6updateEf+0x9e>
+ 8000a6a:      2300            movs    r3, #0
+ 8000a6c:      613b            str     r3, [r7, #16]
+ 8000a6e:      693b            ldr     r3, [r7, #16]
+ 8000a70:      2b09            cmp     r3, #9
+ 8000a72:      dc11            bgt.n   8000a98 <_ZN3Pid6updateEf+0x9e>
       error_sum += this->error_sum_array_[i];
- 8000ad0:      687a            ldr     r2, [r7, #4]
- 8000ad2:      693b            ldr     r3, [r7, #16]
- 8000ad4:      3304            adds    r3, #4
- 8000ad6:      009b            lsls    r3, r3, #2
- 8000ad8:      4413            add     r3, r2
- 8000ada:      3304            adds    r3, #4
- 8000adc:      edd3 7a00       vldr    s15, [r3]
- 8000ae0:      ed97 7a05       vldr    s14, [r7, #20]
- 8000ae4:      ee77 7a27       vadd.f32        s15, s14, s15
- 8000ae8:      edc7 7a05       vstr    s15, [r7, #20]
+ 8000a74:      687a            ldr     r2, [r7, #4]
+ 8000a76:      693b            ldr     r3, [r7, #16]
+ 8000a78:      3304            adds    r3, #4
+ 8000a7a:      009b            lsls    r3, r3, #2
+ 8000a7c:      4413            add     r3, r2
+ 8000a7e:      3304            adds    r3, #4
+ 8000a80:      edd3 7a00       vldr    s15, [r3]
+ 8000a84:      ed97 7a05       vldr    s14, [r7, #20]
+ 8000a88:      ee77 7a27       vadd.f32        s15, s14, s15
+ 8000a8c:      edc7 7a05       vstr    s15, [r7, #20]
     for (int i = 0; i < 10; i++) {
- 8000aec:      693b            ldr     r3, [r7, #16]
- 8000aee:      3301            adds    r3, #1
- 8000af0:      613b            str     r3, [r7, #16]
- 8000af2:      e7ea            b.n     8000aca <_ZN3Pid6updateEf+0x74>
+ 8000a90:      693b            ldr     r3, [r7, #16]
+ 8000a92:      3301            adds    r3, #1
+ 8000a94:      613b            str     r3, [r7, #16]
+ 8000a96:      e7ea            b.n     8000a6e <_ZN3Pid6updateEf+0x74>
     }
 
 
     output += error_sum * this->ki_;
- 8000af4:      687b            ldr     r3, [r7, #4]
- 8000af6:      ed93 7a01       vldr    s14, [r3, #4]
- 8000afa:      edd7 7a05       vldr    s15, [r7, #20]
- 8000afe:      ee67 7a27       vmul.f32        s15, s14, s15
- 8000b02:      ed97 7a03       vldr    s14, [r7, #12]
- 8000b06:      ee77 7a27       vadd.f32        s15, s14, s15
- 8000b0a:      edc7 7a03       vstr    s15, [r7, #12]
-
-    //TODO derivative term
+ 8000a98:      687b            ldr     r3, [r7, #4]
+ 8000a9a:      ed93 7a01       vldr    s14, [r3, #4]
+ 8000a9e:      edd7 7a05       vldr    s15, [r7, #20]
+ 8000aa2:      ee67 7a27       vmul.f32        s15, s14, s15
+ 8000aa6:      ed97 7a03       vldr    s14, [r7, #12]
+ 8000aaa:      ee77 7a27       vadd.f32        s15, s14, s15
+ 8000aae:      edc7 7a03       vstr    s15, [r7, #12]
+
+    //derivative term
+    output += (this->error_ - this->previous_error_);
+ 8000ab2:      687b            ldr     r3, [r7, #4]
+ 8000ab4:      ed93 7a03       vldr    s14, [r3, #12]
+ 8000ab8:      687b            ldr     r3, [r7, #4]
+ 8000aba:      edd3 7a10       vldr    s15, [r3, #64]  ; 0x40
+ 8000abe:      ee77 7a67       vsub.f32        s15, s14, s15
+ 8000ac2:      ed97 7a03       vldr    s14, [r7, #12]
+ 8000ac6:      ee77 7a27       vadd.f32        s15, s14, s15
+ 8000aca:      edc7 7a03       vstr    s15, [r7, #12]
+    this->previous_error_ = this->error_;
+ 8000ace:      687b            ldr     r3, [r7, #4]
+ 8000ad0:      68da            ldr     r2, [r3, #12]
+ 8000ad2:      687b            ldr     r3, [r7, #4]
+ 8000ad4:      641a            str     r2, [r3, #64]   ; 0x40
 
     int integer_output = (int) output;
- 8000b0e:      edd7 7a03       vldr    s15, [r7, #12]
- 8000b12:      eefd 7ae7       vcvt.s32.f32    s15, s15
- 8000b16:      ee17 3a90       vmov    r3, s15
- 8000b1a:      60bb            str     r3, [r7, #8]
+ 8000ad6:      edd7 7a03       vldr    s15, [r7, #12]
+ 8000ada:      eefd 7ae7       vcvt.s32.f32    s15, s15
+ 8000ade:      ee17 3a90       vmov    r3, s15
+ 8000ae2:      60bb            str     r3, [r7, #8]
 
     return integer_output;
- 8000b1c:      68bb            ldr     r3, [r7, #8]
+ 8000ae4:      68bb            ldr     r3, [r7, #8]
 
   }
- 8000b1e:      4618            mov     r0, r3
- 8000b20:      371c            adds    r7, #28
- 8000b22:      46bd            mov     sp, r7
- 8000b24:      f85d 7b04       ldr.w   r7, [sp], #4
- 8000b28:      4770            bx      lr
+ 8000ae6:      4618            mov     r0, r3
+ 8000ae8:      371c            adds    r7, #28
+ 8000aea:      46bd            mov     sp, r7
+ 8000aec:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8000af0:      4770            bx      lr
        ...
 
-08000b2c <main>:
+08000af4 <main>:
 
 /**
  * @brief  The application entry point.
  * @retval int
  */
 int main(void) {
- 8000b2c:      b580            push    {r7, lr}
- 8000b2e:      af00            add     r7, sp, #0
+ 8000af4:      b580            push    {r7, lr}
+ 8000af6:      af00            add     r7, sp, #0
   /* USER CODE END 1 */
 
   /* MCU Configuration--------------------------------------------------------*/
 
   /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
   HAL_Init();
- 8000b30:      f000 ff1b       bl      800196a <HAL_Init>
+ 8000af8:      f000 ff4f       bl      800199a <HAL_Init>
   /* USER CODE BEGIN Init */
 
   /* USER CODE END Init */
 
   /* Configure the system clock */
   SystemClock_Config();
- 8000b34:      f000 f838       bl      8000ba8 <_Z18SystemClock_Configv>
+ 8000afc:      f000 f838       bl      8000b70 <_Z18SystemClock_Configv>
   /* USER CODE BEGIN SysInit */
 
   /* USER CODE END SysInit */
 
   /* Initialize all configured peripherals */
   MX_GPIO_Init();
- 8000b38:      f000 fb10       bl      800115c <_ZL12MX_GPIO_Initv>
+ 8000b00:      f000 fb10       bl      8001124 <_ZL12MX_GPIO_Initv>
   MX_TIM2_Init();
- 8000b3c:      f000 f8da       bl      8000cf4 <_ZL12MX_TIM2_Initv>
+ 8000b04:      f000 f8da       bl      8000cbc <_ZL12MX_TIM2_Initv>
   MX_TIM3_Init();
- 8000b40:      f000 f936       bl      8000db0 <_ZL12MX_TIM3_Initv>
+ 8000b08:      f000 f936       bl      8000d78 <_ZL12MX_TIM3_Initv>
   MX_TIM4_Init();
- 8000b44:      f000 f992       bl      8000e6c <_ZL12MX_TIM4_Initv>
+ 8000b0c:      f000 f992       bl      8000e34 <_ZL12MX_TIM4_Initv>
   MX_TIM5_Init();
- 8000b48:      f000 fa30       bl      8000fac <_ZL12MX_TIM5_Initv>
+ 8000b10:      f000 fa30       bl      8000f74 <_ZL12MX_TIM5_Initv>
   MX_USART6_UART_Init();
- 8000b4c:      f000 fad0       bl      80010f0 <_ZL19MX_USART6_UART_Initv>
+ 8000b14:      f000 fad0       bl      80010b8 <_ZL19MX_USART6_UART_Initv>
   MX_TIM6_Init();
- 8000b50:      f000 fa8c       bl      800106c <_ZL12MX_TIM6_Initv>
+ 8000b18:      f000 fa8c       bl      8001034 <_ZL12MX_TIM6_Initv>
 
   /* Initialize interrupts */
   MX_NVIC_Init();
- 8000b54:      f000 f8b2       bl      8000cbc <_ZL12MX_NVIC_Initv>
+ 8000b1c:      f000 f8b2       bl      8000c84 <_ZL12MX_NVIC_Initv>
   /* USER CODE BEGIN 2 */
 
   left_encoder.Setup();
- 8000b58:      480a            ldr     r0, [pc, #40]   ; (8000b84 <main+0x58>)
- 8000b5a:      f7ff fd33       bl      80005c4 <_ZN7Encoder5SetupEv>
+ 8000b20:      480a            ldr     r0, [pc, #40]   ; (8000b4c <main+0x58>)
+ 8000b22:      f7ff fd4f       bl      80005c4 <_ZN7Encoder5SetupEv>
   right_encoder.Setup();
- 8000b5e:      480a            ldr     r0, [pc, #40]   ; (8000b88 <main+0x5c>)
- 8000b60:      f7ff fd30       bl      80005c4 <_ZN7Encoder5SetupEv>
+ 8000b26:      480a            ldr     r0, [pc, #40]   ; (8000b50 <main+0x5c>)
+ 8000b28:      f7ff fd4c       bl      80005c4 <_ZN7Encoder5SetupEv>
 
   left_motor.setup();
- 8000b64:      4809            ldr     r0, [pc, #36]   ; (8000b8c <main+0x60>)
- 8000b66:      f7ff fe4a       bl      80007fe <_ZN15MotorController5setupEv>
+ 8000b2c:      4809            ldr     r0, [pc, #36]   ; (8000b54 <main+0x60>)
+ 8000b2e:      f7ff fe38       bl      80007a2 <_ZN15MotorController5setupEv>
   right_motor.setup();
- 8000b6a:      4809            ldr     r0, [pc, #36]   ; (8000b90 <main+0x64>)
- 8000b6c:      f7ff fe47       bl      80007fe <_ZN15MotorController5setupEv>
+ 8000b32:      4809            ldr     r0, [pc, #36]   ; (8000b58 <main+0x64>)
+ 8000b34:      f7ff fe35       bl      80007a2 <_ZN15MotorController5setupEv>
 
   tx_buffer = (uint8_t*) &odom_msg;
- 8000b70:      4b08            ldr     r3, [pc, #32]   ; (8000b94 <main+0x68>)
- 8000b72:      4a09            ldr     r2, [pc, #36]   ; (8000b98 <main+0x6c>)
- 8000b74:      601a            str     r2, [r3, #0]
+ 8000b38:      4b08            ldr     r3, [pc, #32]   ; (8000b5c <main+0x68>)
+ 8000b3a:      4a09            ldr     r2, [pc, #36]   ; (8000b60 <main+0x6c>)
+ 8000b3c:      601a            str     r2, [r3, #0]
   rx_buffer = (uint8_t*) &vel_msg;
- 8000b76:      4b09            ldr     r3, [pc, #36]   ; (8000b9c <main+0x70>)
- 8000b78:      4a09            ldr     r2, [pc, #36]   ; (8000ba0 <main+0x74>)
- 8000b7a:      601a            str     r2, [r3, #0]
-
-  //Enables UART RX interrupt
-//  HAL_UART_Receive_IT(&huart6, rx_buffer, 8);
+ 8000b3e:      4b09            ldr     r3, [pc, #36]   ; (8000b64 <main+0x70>)
+ 8000b40:      4a09            ldr     r2, [pc, #36]   ; (8000b68 <main+0x74>)
+ 8000b42:      601a            str     r2, [r3, #0]
 
   //Enables TIM3 interrupt (used for PID control)
-  HAL_TIM_Base_Start_IT(&htim3);
- 8000b7c:      4809            ldr     r0, [pc, #36]   ; (8000ba4 <main+0x78>)
- 8000b7e:      f002 faf3       bl      8003168 <HAL_TIM_Base_Start_IT>
+//  HAL_TIM_Base_Start_IT(&htim3);
+
+  //Enables TIM6 interrupt (used for periodic transmission)
+  HAL_TIM_Base_Start_IT(&htim6);
+ 8000b44:      4809            ldr     r0, [pc, #36]   ; (8000b6c <main+0x78>)
+ 8000b46:      f002 fb27       bl      8003198 <HAL_TIM_Base_Start_IT>
 
   /* USER CODE END 2 */
 
   /* Infinite loop */
   /* USER CODE BEGIN WHILE */
   while (1) {
- 8000b82:      e7fe            b.n     8000b82 <main+0x56>
- 8000b84:      200001e8        .word   0x200001e8
- 8000b88:      20000204        .word   0x20000204
- 8000b8c:      2000033c        .word   0x2000033c
- 8000b90:      20000354        .word   0x20000354
- 8000b94:      2000036c        .word   0x2000036c
- 8000b98:      20000374        .word   0x20000374
- 8000b9c:      20000370        .word   0x20000370
- 8000ba0:      20000380        .word   0x20000380
- 8000ba4:      20000068        .word   0x20000068
-
-08000ba8 <_Z18SystemClock_Configv>:
+ 8000b4a:      e7fe            b.n     8000b4a <main+0x56>
+ 8000b4c:      200001ec        .word   0x200001ec
+ 8000b50:      20000208        .word   0x20000208
+ 8000b54:      20000344        .word   0x20000344
+ 8000b58:      2000035c        .word   0x2000035c
+ 8000b5c:      20000374        .word   0x20000374
+ 8000b60:      2000037c        .word   0x2000037c
+ 8000b64:      20000378        .word   0x20000378
+ 8000b68:      20000388        .word   0x20000388
+ 8000b6c:      2000012c        .word   0x2000012c
+
+08000b70 <_Z18SystemClock_Configv>:
 
 /**
  * @brief System Clock Configuration
  * @retval None
  */
 void SystemClock_Config(void) {
- 8000ba8:      b580            push    {r7, lr}
- 8000baa:      b0b8            sub     sp, #224        ; 0xe0
- 8000bac:      af00            add     r7, sp, #0
+ 8000b70:      b580            push    {r7, lr}
+ 8000b72:      b0b8            sub     sp, #224        ; 0xe0
+ 8000b74:      af00            add     r7, sp, #0
   RCC_OscInitTypeDef RCC_OscInitStruct = { 0 };
- 8000bae:      f107 03ac       add.w   r3, r7, #172    ; 0xac
- 8000bb2:      2234            movs    r2, #52 ; 0x34
- 8000bb4:      2100            movs    r1, #0
- 8000bb6:      4618            mov     r0, r3
- 8000bb8:      f004 f9d4       bl      8004f64 <memset>
+ 8000b76:      f107 03ac       add.w   r3, r7, #172    ; 0xac
+ 8000b7a:      2234            movs    r2, #52 ; 0x34
+ 8000b7c:      2100            movs    r1, #0
+ 8000b7e:      4618            mov     r0, r3
+ 8000b80:      f004 fa08       bl      8004f94 <memset>
   RCC_ClkInitTypeDef RCC_ClkInitStruct = { 0 };
- 8000bbc:      f107 0398       add.w   r3, r7, #152    ; 0x98
- 8000bc0:      2200            movs    r2, #0
- 8000bc2:      601a            str     r2, [r3, #0]
- 8000bc4:      605a            str     r2, [r3, #4]
- 8000bc6:      609a            str     r2, [r3, #8]
- 8000bc8:      60da            str     r2, [r3, #12]
- 8000bca:      611a            str     r2, [r3, #16]
+ 8000b84:      f107 0398       add.w   r3, r7, #152    ; 0x98
+ 8000b88:      2200            movs    r2, #0
+ 8000b8a:      601a            str     r2, [r3, #0]
+ 8000b8c:      605a            str     r2, [r3, #4]
+ 8000b8e:      609a            str     r2, [r3, #8]
+ 8000b90:      60da            str     r2, [r3, #12]
+ 8000b92:      611a            str     r2, [r3, #16]
   RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = { 0 };
- 8000bcc:      f107 0308       add.w   r3, r7, #8
- 8000bd0:      2290            movs    r2, #144        ; 0x90
- 8000bd2:      2100            movs    r1, #0
- 8000bd4:      4618            mov     r0, r3
- 8000bd6:      f004 f9c5       bl      8004f64 <memset>
+ 8000b94:      f107 0308       add.w   r3, r7, #8
+ 8000b98:      2290            movs    r2, #144        ; 0x90
+ 8000b9a:      2100            movs    r1, #0
+ 8000b9c:      4618            mov     r0, r3
+ 8000b9e:      f004 f9f9       bl      8004f94 <memset>
 
   /** Configure the main internal regulator output voltage 
    */
   __HAL_RCC_PWR_CLK_ENABLE();
- 8000bda:      4b36            ldr     r3, [pc, #216]  ; (8000cb4 <_Z18SystemClock_Configv+0x10c>)
- 8000bdc:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 8000bde:      4a35            ldr     r2, [pc, #212]  ; (8000cb4 <_Z18SystemClock_Configv+0x10c>)
- 8000be0:      f043 5380       orr.w   r3, r3, #268435456      ; 0x10000000
- 8000be4:      6413            str     r3, [r2, #64]   ; 0x40
- 8000be6:      4b33            ldr     r3, [pc, #204]  ; (8000cb4 <_Z18SystemClock_Configv+0x10c>)
- 8000be8:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 8000bea:      f003 5380       and.w   r3, r3, #268435456      ; 0x10000000
- 8000bee:      607b            str     r3, [r7, #4]
- 8000bf0:      687b            ldr     r3, [r7, #4]
+ 8000ba2:      4b36            ldr     r3, [pc, #216]  ; (8000c7c <_Z18SystemClock_Configv+0x10c>)
+ 8000ba4:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 8000ba6:      4a35            ldr     r2, [pc, #212]  ; (8000c7c <_Z18SystemClock_Configv+0x10c>)
+ 8000ba8:      f043 5380       orr.w   r3, r3, #268435456      ; 0x10000000
+ 8000bac:      6413            str     r3, [r2, #64]   ; 0x40
+ 8000bae:      4b33            ldr     r3, [pc, #204]  ; (8000c7c <_Z18SystemClock_Configv+0x10c>)
+ 8000bb0:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 8000bb2:      f003 5380       and.w   r3, r3, #268435456      ; 0x10000000
+ 8000bb6:      607b            str     r3, [r7, #4]
+ 8000bb8:      687b            ldr     r3, [r7, #4]
   __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3);
- 8000bf2:      4b31            ldr     r3, [pc, #196]  ; (8000cb8 <_Z18SystemClock_Configv+0x110>)
- 8000bf4:      681b            ldr     r3, [r3, #0]
- 8000bf6:      f423 4340       bic.w   r3, r3, #49152  ; 0xc000
- 8000bfa:      4a2f            ldr     r2, [pc, #188]  ; (8000cb8 <_Z18SystemClock_Configv+0x110>)
- 8000bfc:      f443 4380       orr.w   r3, r3, #16384  ; 0x4000
- 8000c00:      6013            str     r3, [r2, #0]
- 8000c02:      4b2d            ldr     r3, [pc, #180]  ; (8000cb8 <_Z18SystemClock_Configv+0x110>)
- 8000c04:      681b            ldr     r3, [r3, #0]
- 8000c06:      f403 4340       and.w   r3, r3, #49152  ; 0xc000
- 8000c0a:      603b            str     r3, [r7, #0]
- 8000c0c:      683b            ldr     r3, [r7, #0]
+ 8000bba:      4b31            ldr     r3, [pc, #196]  ; (8000c80 <_Z18SystemClock_Configv+0x110>)
+ 8000bbc:      681b            ldr     r3, [r3, #0]
+ 8000bbe:      f423 4340       bic.w   r3, r3, #49152  ; 0xc000
+ 8000bc2:      4a2f            ldr     r2, [pc, #188]  ; (8000c80 <_Z18SystemClock_Configv+0x110>)
+ 8000bc4:      f443 4380       orr.w   r3, r3, #16384  ; 0x4000
+ 8000bc8:      6013            str     r3, [r2, #0]
+ 8000bca:      4b2d            ldr     r3, [pc, #180]  ; (8000c80 <_Z18SystemClock_Configv+0x110>)
+ 8000bcc:      681b            ldr     r3, [r3, #0]
+ 8000bce:      f403 4340       and.w   r3, r3, #49152  ; 0xc000
+ 8000bd2:      603b            str     r3, [r7, #0]
+ 8000bd4:      683b            ldr     r3, [r7, #0]
   /** Initializes the CPU, AHB and APB busses clocks 
    */
   RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
- 8000c0e:      2302            movs    r3, #2
- 8000c10:      f8c7 30ac       str.w   r3, [r7, #172]  ; 0xac
+ 8000bd6:      2302            movs    r3, #2
+ 8000bd8:      f8c7 30ac       str.w   r3, [r7, #172]  ; 0xac
   RCC_OscInitStruct.HSIState = RCC_HSI_ON;
- 8000c14:      2301            movs    r3, #1
- 8000c16:      f8c7 30b8       str.w   r3, [r7, #184]  ; 0xb8
+ 8000bdc:      2301            movs    r3, #1
+ 8000bde:      f8c7 30b8       str.w   r3, [r7, #184]  ; 0xb8
   RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
- 8000c1a:      2310            movs    r3, #16
- 8000c1c:      f8c7 30bc       str.w   r3, [r7, #188]  ; 0xbc
+ 8000be2:      2310            movs    r3, #16
+ 8000be4:      f8c7 30bc       str.w   r3, [r7, #188]  ; 0xbc
   RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
- 8000c20:      2300            movs    r3, #0
- 8000c22:      f8c7 30c4       str.w   r3, [r7, #196]  ; 0xc4
+ 8000be8:      2300            movs    r3, #0
+ 8000bea:      f8c7 30c4       str.w   r3, [r7, #196]  ; 0xc4
   if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
- 8000c26:      f107 03ac       add.w   r3, r7, #172    ; 0xac
- 8000c2a:      4618            mov     r0, r3
- 8000c2c:      f001 fa0a       bl      8002044 <HAL_RCC_OscConfig>
- 8000c30:      4603            mov     r3, r0
- 8000c32:      2b00            cmp     r3, #0
- 8000c34:      bf14            ite     ne
- 8000c36:      2301            movne   r3, #1
- 8000c38:      2300            moveq   r3, #0
- 8000c3a:      b2db            uxtb    r3, r3
- 8000c3c:      2b00            cmp     r3, #0
- 8000c3e:      d001            beq.n   8000c44 <_Z18SystemClock_Configv+0x9c>
+ 8000bee:      f107 03ac       add.w   r3, r7, #172    ; 0xac
+ 8000bf2:      4618            mov     r0, r3
+ 8000bf4:      f001 fa3e       bl      8002074 <HAL_RCC_OscConfig>
+ 8000bf8:      4603            mov     r3, r0
+ 8000bfa:      2b00            cmp     r3, #0
+ 8000bfc:      bf14            ite     ne
+ 8000bfe:      2301            movne   r3, #1
+ 8000c00:      2300            moveq   r3, #0
+ 8000c02:      b2db            uxtb    r3, r3
+ 8000c04:      2b00            cmp     r3, #0
+ 8000c06:      d001            beq.n   8000c0c <_Z18SystemClock_Configv+0x9c>
     Error_Handler();
- 8000c40:      f000 fbd0       bl      80013e4 <Error_Handler>
+ 8000c08:      f000 fc04       bl      8001414 <Error_Handler>
   }
   /** Initializes the CPU, AHB and APB busses clocks 
    */
   RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK
- 8000c44:      230f            movs    r3, #15
- 8000c46:      f8c7 3098       str.w   r3, [r7, #152]  ; 0x98
+ 8000c0c:      230f            movs    r3, #15
+ 8000c0e:      f8c7 3098       str.w   r3, [r7, #152]  ; 0x98
       | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2;
   RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI;
- 8000c4a:      2300            movs    r3, #0
- 8000c4c:      f8c7 309c       str.w   r3, [r7, #156]  ; 0x9c
+ 8000c12:      2300            movs    r3, #0
+ 8000c14:      f8c7 309c       str.w   r3, [r7, #156]  ; 0x9c
   RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
- 8000c50:      2300            movs    r3, #0
- 8000c52:      f8c7 30a0       str.w   r3, [r7, #160]  ; 0xa0
+ 8000c18:      2300            movs    r3, #0
+ 8000c1a:      f8c7 30a0       str.w   r3, [r7, #160]  ; 0xa0
   RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
- 8000c56:      2300            movs    r3, #0
- 8000c58:      f8c7 30a4       str.w   r3, [r7, #164]  ; 0xa4
+ 8000c1e:      2300            movs    r3, #0
+ 8000c20:      f8c7 30a4       str.w   r3, [r7, #164]  ; 0xa4
   RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
- 8000c5c:      2300            movs    r3, #0
- 8000c5e:      f8c7 30a8       str.w   r3, [r7, #168]  ; 0xa8
+ 8000c24:      2300            movs    r3, #0
+ 8000c26:      f8c7 30a8       str.w   r3, [r7, #168]  ; 0xa8
 
   if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) {
- 8000c62:      f107 0398       add.w   r3, r7, #152    ; 0x98
- 8000c66:      2100            movs    r1, #0
- 8000c68:      4618            mov     r0, r3
- 8000c6a:      f001 fc5d       bl      8002528 <HAL_RCC_ClockConfig>
- 8000c6e:      4603            mov     r3, r0
- 8000c70:      2b00            cmp     r3, #0
- 8000c72:      bf14            ite     ne
- 8000c74:      2301            movne   r3, #1
- 8000c76:      2300            moveq   r3, #0
- 8000c78:      b2db            uxtb    r3, r3
- 8000c7a:      2b00            cmp     r3, #0
- 8000c7c:      d001            beq.n   8000c82 <_Z18SystemClock_Configv+0xda>
+ 8000c2a:      f107 0398       add.w   r3, r7, #152    ; 0x98
+ 8000c2e:      2100            movs    r1, #0
+ 8000c30:      4618            mov     r0, r3
+ 8000c32:      f001 fc91       bl      8002558 <HAL_RCC_ClockConfig>
+ 8000c36:      4603            mov     r3, r0
+ 8000c38:      2b00            cmp     r3, #0
+ 8000c3a:      bf14            ite     ne
+ 8000c3c:      2301            movne   r3, #1
+ 8000c3e:      2300            moveq   r3, #0
+ 8000c40:      b2db            uxtb    r3, r3
+ 8000c42:      2b00            cmp     r3, #0
+ 8000c44:      d001            beq.n   8000c4a <_Z18SystemClock_Configv+0xda>
     Error_Handler();
- 8000c7e:      f000 fbb1       bl      80013e4 <Error_Handler>
+ 8000c46:      f000 fbe5       bl      8001414 <Error_Handler>
   }
   PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USART6;
- 8000c82:      f44f 6300       mov.w   r3, #2048       ; 0x800
- 8000c86:      60bb            str     r3, [r7, #8]
+ 8000c4a:      f44f 6300       mov.w   r3, #2048       ; 0x800
+ 8000c4e:      60bb            str     r3, [r7, #8]
   PeriphClkInitStruct.Usart6ClockSelection = RCC_USART6CLKSOURCE_PCLK2;
- 8000c88:      2300            movs    r3, #0
- 8000c8a:      663b            str     r3, [r7, #96]   ; 0x60
+ 8000c50:      2300            movs    r3, #0
+ 8000c52:      663b            str     r3, [r7, #96]   ; 0x60
   if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) {
- 8000c8c:      f107 0308       add.w   r3, r7, #8
- 8000c90:      4618            mov     r0, r3
- 8000c92:      f001 fe17       bl      80028c4 <HAL_RCCEx_PeriphCLKConfig>
- 8000c96:      4603            mov     r3, r0
- 8000c98:      2b00            cmp     r3, #0
- 8000c9a:      bf14            ite     ne
- 8000c9c:      2301            movne   r3, #1
- 8000c9e:      2300            moveq   r3, #0
- 8000ca0:      b2db            uxtb    r3, r3
- 8000ca2:      2b00            cmp     r3, #0
- 8000ca4:      d001            beq.n   8000caa <_Z18SystemClock_Configv+0x102>
+ 8000c54:      f107 0308       add.w   r3, r7, #8
+ 8000c58:      4618            mov     r0, r3
+ 8000c5a:      f001 fe4b       bl      80028f4 <HAL_RCCEx_PeriphCLKConfig>
+ 8000c5e:      4603            mov     r3, r0
+ 8000c60:      2b00            cmp     r3, #0
+ 8000c62:      bf14            ite     ne
+ 8000c64:      2301            movne   r3, #1
+ 8000c66:      2300            moveq   r3, #0
+ 8000c68:      b2db            uxtb    r3, r3
+ 8000c6a:      2b00            cmp     r3, #0
+ 8000c6c:      d001            beq.n   8000c72 <_Z18SystemClock_Configv+0x102>
     Error_Handler();
- 8000ca6:      f000 fb9d       bl      80013e4 <Error_Handler>
+ 8000c6e:      f000 fbd1       bl      8001414 <Error_Handler>
   }
 }
- 8000caa:      bf00            nop
- 8000cac:      37e0            adds    r7, #224        ; 0xe0
- 8000cae:      46bd            mov     sp, r7
- 8000cb0:      bd80            pop     {r7, pc}
- 8000cb2:      bf00            nop
- 8000cb4:      40023800        .word   0x40023800
- 8000cb8:      40007000        .word   0x40007000
+ 8000c72:      bf00            nop
+ 8000c74:      37e0            adds    r7, #224        ; 0xe0
+ 8000c76:      46bd            mov     sp, r7
+ 8000c78:      bd80            pop     {r7, pc}
+ 8000c7a:      bf00            nop
+ 8000c7c:      40023800        .word   0x40023800
+ 8000c80:      40007000        .word   0x40007000
 
-08000cbc <_ZL12MX_NVIC_Initv>:
+08000c84 <_ZL12MX_NVIC_Initv>:
 
 /**
  * @brief NVIC Configuration.
  * @retval None
  */
 static void MX_NVIC_Init(void) {
- 8000cbc:      b580            push    {r7, lr}
- 8000cbe:      af00            add     r7, sp, #0
+ 8000c84:      b580            push    {r7, lr}
+ 8000c86:      af00            add     r7, sp, #0
   /* TIM3_IRQn interrupt configuration */
   HAL_NVIC_SetPriority(TIM3_IRQn, 2, 1);
- 8000cc0:      2201            movs    r2, #1
- 8000cc2:      2102            movs    r1, #2
- 8000cc4:      201d            movs    r0, #29
- 8000cc6:      f000 ff88       bl      8001bda <HAL_NVIC_SetPriority>
+ 8000c88:      2201            movs    r2, #1
+ 8000c8a:      2102            movs    r1, #2
+ 8000c8c:      201d            movs    r0, #29
+ 8000c8e:      f000 ffbc       bl      8001c0a <HAL_NVIC_SetPriority>
   HAL_NVIC_EnableIRQ(TIM3_IRQn);
- 8000cca:      201d            movs    r0, #29
- 8000ccc:      f000 ffa1       bl      8001c12 <HAL_NVIC_EnableIRQ>
+ 8000c92:      201d            movs    r0, #29
+ 8000c94:      f000 ffd5       bl      8001c42 <HAL_NVIC_EnableIRQ>
   /* TIM6_DAC_IRQn interrupt configuration */
   HAL_NVIC_SetPriority(TIM6_DAC_IRQn, 2, 2);
- 8000cd0:      2202            movs    r2, #2
- 8000cd2:      2102            movs    r1, #2
- 8000cd4:      2036            movs    r0, #54 ; 0x36
- 8000cd6:      f000 ff80       bl      8001bda <HAL_NVIC_SetPriority>
+ 8000c98:      2202            movs    r2, #2
+ 8000c9a:      2102            movs    r1, #2
+ 8000c9c:      2036            movs    r0, #54 ; 0x36
+ 8000c9e:      f000 ffb4       bl      8001c0a <HAL_NVIC_SetPriority>
   HAL_NVIC_EnableIRQ(TIM6_DAC_IRQn);
- 8000cda:      2036            movs    r0, #54 ; 0x36
- 8000cdc:      f000 ff99       bl      8001c12 <HAL_NVIC_EnableIRQ>
+ 8000ca2:      2036            movs    r0, #54 ; 0x36
+ 8000ca4:      f000 ffcd       bl      8001c42 <HAL_NVIC_EnableIRQ>
   /* USART6_IRQn interrupt configuration */
   HAL_NVIC_SetPriority(USART6_IRQn, 2, 0);
- 8000ce0:      2200            movs    r2, #0
- 8000ce2:      2102            movs    r1, #2
- 8000ce4:      2047            movs    r0, #71 ; 0x47
- 8000ce6:      f000 ff78       bl      8001bda <HAL_NVIC_SetPriority>
+ 8000ca8:      2200            movs    r2, #0
+ 8000caa:      2102            movs    r1, #2
+ 8000cac:      2047            movs    r0, #71 ; 0x47
+ 8000cae:      f000 ffac       bl      8001c0a <HAL_NVIC_SetPriority>
   HAL_NVIC_EnableIRQ(USART6_IRQn);
- 8000cea:      2047            movs    r0, #71 ; 0x47
- 8000cec:      f000 ff91       bl      8001c12 <HAL_NVIC_EnableIRQ>
+ 8000cb2:      2047            movs    r0, #71 ; 0x47
+ 8000cb4:      f000 ffc5       bl      8001c42 <HAL_NVIC_EnableIRQ>
 }
- 8000cf0:      bf00            nop
- 8000cf2:      bd80            pop     {r7, pc}
+ 8000cb8:      bf00            nop
+ 8000cba:      bd80            pop     {r7, pc}
 
-08000cf4 <_ZL12MX_TIM2_Initv>:
+08000cbc <_ZL12MX_TIM2_Initv>:
 /**
  * @brief TIM2 Initialization Function
  * @param None
  * @retval None
  */
 static void MX_TIM2_Init(void) {
- 8000cf4:      b580            push    {r7, lr}
- 8000cf6:      b08c            sub     sp, #48 ; 0x30
- 8000cf8:      af00            add     r7, sp, #0
+ 8000cbc:      b580            push    {r7, lr}
+ 8000cbe:      b08c            sub     sp, #48 ; 0x30
+ 8000cc0:      af00            add     r7, sp, #0
 
   /* USER CODE BEGIN TIM2_Init 0 */
 
   /* USER CODE END TIM2_Init 0 */
 
   TIM_Encoder_InitTypeDef sConfig = { 0 };
- 8000cfa:      f107 030c       add.w   r3, r7, #12
- 8000cfe:      2224            movs    r2, #36 ; 0x24
- 8000d00:      2100            movs    r1, #0
- 8000d02:      4618            mov     r0, r3
- 8000d04:      f004 f92e       bl      8004f64 <memset>
+ 8000cc2:      f107 030c       add.w   r3, r7, #12
+ 8000cc6:      2224            movs    r2, #36 ; 0x24
+ 8000cc8:      2100            movs    r1, #0
+ 8000cca:      4618            mov     r0, r3
+ 8000ccc:      f004 f962       bl      8004f94 <memset>
   TIM_MasterConfigTypeDef sMasterConfig = { 0 };
- 8000d08:      463b            mov     r3, r7
- 8000d0a:      2200            movs    r2, #0
- 8000d0c:      601a            str     r2, [r3, #0]
- 8000d0e:      605a            str     r2, [r3, #4]
- 8000d10:      609a            str     r2, [r3, #8]
+ 8000cd0:      463b            mov     r3, r7
+ 8000cd2:      2200            movs    r2, #0
+ 8000cd4:      601a            str     r2, [r3, #0]
+ 8000cd6:      605a            str     r2, [r3, #4]
+ 8000cd8:      609a            str     r2, [r3, #8]
 
   /* USER CODE BEGIN TIM2_Init 1 */
 
   /* USER CODE END TIM2_Init 1 */
   htim2.Instance = TIM2;
- 8000d12:      4b26            ldr     r3, [pc, #152]  ; (8000dac <_ZL12MX_TIM2_Initv+0xb8>)
- 8000d14:      f04f 4280       mov.w   r2, #1073741824 ; 0x40000000
- 8000d18:      601a            str     r2, [r3, #0]
+ 8000cda:      4b26            ldr     r3, [pc, #152]  ; (8000d74 <_ZL12MX_TIM2_Initv+0xb8>)
+ 8000cdc:      f04f 4280       mov.w   r2, #1073741824 ; 0x40000000
+ 8000ce0:      601a            str     r2, [r3, #0]
   htim2.Init.Prescaler = 0;
- 8000d1a:      4b24            ldr     r3, [pc, #144]  ; (8000dac <_ZL12MX_TIM2_Initv+0xb8>)
- 8000d1c:      2200            movs    r2, #0
- 8000d1e:      605a            str     r2, [r3, #4]
+ 8000ce2:      4b24            ldr     r3, [pc, #144]  ; (8000d74 <_ZL12MX_TIM2_Initv+0xb8>)
+ 8000ce4:      2200            movs    r2, #0
+ 8000ce6:      605a            str     r2, [r3, #4]
   htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
- 8000d20:      4b22            ldr     r3, [pc, #136]  ; (8000dac <_ZL12MX_TIM2_Initv+0xb8>)
- 8000d22:      2200            movs    r2, #0
- 8000d24:      609a            str     r2, [r3, #8]
+ 8000ce8:      4b22            ldr     r3, [pc, #136]  ; (8000d74 <_ZL12MX_TIM2_Initv+0xb8>)
+ 8000cea:      2200            movs    r2, #0
+ 8000cec:      609a            str     r2, [r3, #8]
   htim2.Init.Period = 4294967295;
- 8000d26:      4b21            ldr     r3, [pc, #132]  ; (8000dac <_ZL12MX_TIM2_Initv+0xb8>)
- 8000d28:      f04f 32ff       mov.w   r2, #4294967295 ; 0xffffffff
- 8000d2c:      60da            str     r2, [r3, #12]
+ 8000cee:      4b21            ldr     r3, [pc, #132]  ; (8000d74 <_ZL12MX_TIM2_Initv+0xb8>)
+ 8000cf0:      f04f 32ff       mov.w   r2, #4294967295 ; 0xffffffff
+ 8000cf4:      60da            str     r2, [r3, #12]
   htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
- 8000d2e:      4b1f            ldr     r3, [pc, #124]  ; (8000dac <_ZL12MX_TIM2_Initv+0xb8>)
- 8000d30:      2200            movs    r2, #0
- 8000d32:      611a            str     r2, [r3, #16]
+ 8000cf6:      4b1f            ldr     r3, [pc, #124]  ; (8000d74 <_ZL12MX_TIM2_Initv+0xb8>)
+ 8000cf8:      2200            movs    r2, #0
+ 8000cfa:      611a            str     r2, [r3, #16]
   htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
- 8000d34:      4b1d            ldr     r3, [pc, #116]  ; (8000dac <_ZL12MX_TIM2_Initv+0xb8>)
- 8000d36:      2200            movs    r2, #0
- 8000d38:      619a            str     r2, [r3, #24]
+ 8000cfc:      4b1d            ldr     r3, [pc, #116]  ; (8000d74 <_ZL12MX_TIM2_Initv+0xb8>)
+ 8000cfe:      2200            movs    r2, #0
+ 8000d00:      619a            str     r2, [r3, #24]
   sConfig.EncoderMode = TIM_ENCODERMODE_TI12;
- 8000d3a:      2303            movs    r3, #3
- 8000d3c:      60fb            str     r3, [r7, #12]
+ 8000d02:      2303            movs    r3, #3
+ 8000d04:      60fb            str     r3, [r7, #12]
   sConfig.IC1Polarity = TIM_ICPOLARITY_RISING;
- 8000d3e:      2300            movs    r3, #0
- 8000d40:      613b            str     r3, [r7, #16]
+ 8000d06:      2300            movs    r3, #0
+ 8000d08:      613b            str     r3, [r7, #16]
   sConfig.IC1Selection = TIM_ICSELECTION_DIRECTTI;
- 8000d42:      2301            movs    r3, #1
- 8000d44:      617b            str     r3, [r7, #20]
+ 8000d0a:      2301            movs    r3, #1
+ 8000d0c:      617b            str     r3, [r7, #20]
   sConfig.IC1Prescaler = TIM_ICPSC_DIV1;
- 8000d46:      2300            movs    r3, #0
- 8000d48:      61bb            str     r3, [r7, #24]
+ 8000d0e:      2300            movs    r3, #0
+ 8000d10:      61bb            str     r3, [r7, #24]
   sConfig.IC1Filter = 0;
- 8000d4a:      2300            movs    r3, #0
- 8000d4c:      61fb            str     r3, [r7, #28]
+ 8000d12:      2300            movs    r3, #0
+ 8000d14:      61fb            str     r3, [r7, #28]
   sConfig.IC2Polarity = TIM_ICPOLARITY_RISING;
- 8000d4e:      2300            movs    r3, #0
- 8000d50:      623b            str     r3, [r7, #32]
+ 8000d16:      2300            movs    r3, #0
+ 8000d18:      623b            str     r3, [r7, #32]
   sConfig.IC2Selection = TIM_ICSELECTION_DIRECTTI;
- 8000d52:      2301            movs    r3, #1
- 8000d54:      627b            str     r3, [r7, #36]   ; 0x24
+ 8000d1a:      2301            movs    r3, #1
+ 8000d1c:      627b            str     r3, [r7, #36]   ; 0x24
   sConfig.IC2Prescaler = TIM_ICPSC_DIV1;
- 8000d56:      2300            movs    r3, #0
- 8000d58:      62bb            str     r3, [r7, #40]   ; 0x28
+ 8000d1e:      2300            movs    r3, #0
+ 8000d20:      62bb            str     r3, [r7, #40]   ; 0x28
   sConfig.IC2Filter = 0;
- 8000d5a:      2300            movs    r3, #0
- 8000d5c:      62fb            str     r3, [r7, #44]   ; 0x2c
+ 8000d22:      2300            movs    r3, #0
+ 8000d24:      62fb            str     r3, [r7, #44]   ; 0x2c
   if (HAL_TIM_Encoder_Init(&htim2, &sConfig) != HAL_OK) {
- 8000d5e:      f107 030c       add.w   r3, r7, #12
- 8000d62:      4619            mov     r1, r3
- 8000d64:      4811            ldr     r0, [pc, #68]   ; (8000dac <_ZL12MX_TIM2_Initv+0xb8>)
- 8000d66:      f002 faa3       bl      80032b0 <HAL_TIM_Encoder_Init>
- 8000d6a:      4603            mov     r3, r0
- 8000d6c:      2b00            cmp     r3, #0
- 8000d6e:      bf14            ite     ne
- 8000d70:      2301            movne   r3, #1
- 8000d72:      2300            moveq   r3, #0
- 8000d74:      b2db            uxtb    r3, r3
- 8000d76:      2b00            cmp     r3, #0
- 8000d78:      d001            beq.n   8000d7e <_ZL12MX_TIM2_Initv+0x8a>
+ 8000d26:      f107 030c       add.w   r3, r7, #12
+ 8000d2a:      4619            mov     r1, r3
+ 8000d2c:      4811            ldr     r0, [pc, #68]   ; (8000d74 <_ZL12MX_TIM2_Initv+0xb8>)
+ 8000d2e:      f002 fad7       bl      80032e0 <HAL_TIM_Encoder_Init>
+ 8000d32:      4603            mov     r3, r0
+ 8000d34:      2b00            cmp     r3, #0
+ 8000d36:      bf14            ite     ne
+ 8000d38:      2301            movne   r3, #1
+ 8000d3a:      2300            moveq   r3, #0
+ 8000d3c:      b2db            uxtb    r3, r3
+ 8000d3e:      2b00            cmp     r3, #0
+ 8000d40:      d001            beq.n   8000d46 <_ZL12MX_TIM2_Initv+0x8a>
     Error_Handler();
- 8000d7a:      f000 fb33       bl      80013e4 <Error_Handler>
+ 8000d42:      f000 fb67       bl      8001414 <Error_Handler>
   }
   sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
- 8000d7e:      2300            movs    r3, #0
- 8000d80:      603b            str     r3, [r7, #0]
+ 8000d46:      2300            movs    r3, #0
+ 8000d48:      603b            str     r3, [r7, #0]
   sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
- 8000d82:      2300            movs    r3, #0
- 8000d84:      60bb            str     r3, [r7, #8]
+ 8000d4a:      2300            movs    r3, #0
+ 8000d4c:      60bb            str     r3, [r7, #8]
   if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK) {
- 8000d86:      463b            mov     r3, r7
- 8000d88:      4619            mov     r1, r3
- 8000d8a:      4808            ldr     r0, [pc, #32]   ; (8000dac <_ZL12MX_TIM2_Initv+0xb8>)
- 8000d8c:      f003 fa30       bl      80041f0 <HAL_TIMEx_MasterConfigSynchronization>
- 8000d90:      4603            mov     r3, r0
- 8000d92:      2b00            cmp     r3, #0
- 8000d94:      bf14            ite     ne
- 8000d96:      2301            movne   r3, #1
- 8000d98:      2300            moveq   r3, #0
- 8000d9a:      b2db            uxtb    r3, r3
- 8000d9c:      2b00            cmp     r3, #0
- 8000d9e:      d001            beq.n   8000da4 <_ZL12MX_TIM2_Initv+0xb0>
+ 8000d4e:      463b            mov     r3, r7
+ 8000d50:      4619            mov     r1, r3
+ 8000d52:      4808            ldr     r0, [pc, #32]   ; (8000d74 <_ZL12MX_TIM2_Initv+0xb8>)
+ 8000d54:      f003 fa64       bl      8004220 <HAL_TIMEx_MasterConfigSynchronization>
+ 8000d58:      4603            mov     r3, r0
+ 8000d5a:      2b00            cmp     r3, #0
+ 8000d5c:      bf14            ite     ne
+ 8000d5e:      2301            movne   r3, #1
+ 8000d60:      2300            moveq   r3, #0
+ 8000d62:      b2db            uxtb    r3, r3
+ 8000d64:      2b00            cmp     r3, #0
+ 8000d66:      d001            beq.n   8000d6c <_ZL12MX_TIM2_Initv+0xb0>
     Error_Handler();
- 8000da0:      f000 fb20       bl      80013e4 <Error_Handler>
+ 8000d68:      f000 fb54       bl      8001414 <Error_Handler>
   }
   /* USER CODE BEGIN TIM2_Init 2 */
 
   /* USER CODE END TIM2_Init 2 */
 
 }
- 8000da4:      bf00            nop
- 8000da6:      3730            adds    r7, #48 ; 0x30
- 8000da8:      46bd            mov     sp, r7
- 8000daa:      bd80            pop     {r7, pc}
- 8000dac:      20000028        .word   0x20000028
+ 8000d6c:      bf00            nop
+ 8000d6e:      3730            adds    r7, #48 ; 0x30
+ 8000d70:      46bd            mov     sp, r7
+ 8000d72:      bd80            pop     {r7, pc}
+ 8000d74:      2000002c        .word   0x2000002c
 
-08000db0 <_ZL12MX_TIM3_Initv>:
+08000d78 <_ZL12MX_TIM3_Initv>:
 /**
  * @brief TIM3 Initialization Function
  * @param None
  * @retval None
  */
 static void MX_TIM3_Init(void) {
- 8000db0:      b580            push    {r7, lr}
- 8000db2:      b088            sub     sp, #32
- 8000db4:      af00            add     r7, sp, #0
+ 8000d78:      b580            push    {r7, lr}
+ 8000d7a:      b088            sub     sp, #32
+ 8000d7c:      af00            add     r7, sp, #0
 
   /* USER CODE BEGIN TIM3_Init 0 */
 
   /* USER CODE END TIM3_Init 0 */
 
   TIM_ClockConfigTypeDef sClockSourceConfig = { 0 };
- 8000db6:      f107 0310       add.w   r3, r7, #16
- 8000dba:      2200            movs    r2, #0
- 8000dbc:      601a            str     r2, [r3, #0]
- 8000dbe:      605a            str     r2, [r3, #4]
- 8000dc0:      609a            str     r2, [r3, #8]
- 8000dc2:      60da            str     r2, [r3, #12]
+ 8000d7e:      f107 0310       add.w   r3, r7, #16
+ 8000d82:      2200            movs    r2, #0
+ 8000d84:      601a            str     r2, [r3, #0]
+ 8000d86:      605a            str     r2, [r3, #4]
+ 8000d88:      609a            str     r2, [r3, #8]
+ 8000d8a:      60da            str     r2, [r3, #12]
   TIM_MasterConfigTypeDef sMasterConfig = { 0 };
- 8000dc4:      1d3b            adds    r3, r7, #4
- 8000dc6:      2200            movs    r2, #0
- 8000dc8:      601a            str     r2, [r3, #0]
- 8000dca:      605a            str     r2, [r3, #4]
- 8000dcc:      609a            str     r2, [r3, #8]
+ 8000d8c:      1d3b            adds    r3, r7, #4
+ 8000d8e:      2200            movs    r2, #0
+ 8000d90:      601a            str     r2, [r3, #0]
+ 8000d92:      605a            str     r2, [r3, #4]
+ 8000d94:      609a            str     r2, [r3, #8]
 
   /* USER CODE BEGIN TIM3_Init 1 */
 
   /* USER CODE END TIM3_Init 1 */
   htim3.Instance = TIM3;
- 8000dce:      4b25            ldr     r3, [pc, #148]  ; (8000e64 <_ZL12MX_TIM3_Initv+0xb4>)
- 8000dd0:      4a25            ldr     r2, [pc, #148]  ; (8000e68 <_ZL12MX_TIM3_Initv+0xb8>)
- 8000dd2:      601a            str     r2, [r3, #0]
+ 8000d96:      4b25            ldr     r3, [pc, #148]  ; (8000e2c <_ZL12MX_TIM3_Initv+0xb4>)
+ 8000d98:      4a25            ldr     r2, [pc, #148]  ; (8000e30 <_ZL12MX_TIM3_Initv+0xb8>)
+ 8000d9a:      601a            str     r2, [r3, #0]
   htim3.Init.Prescaler = 9999;
- 8000dd4:      4b23            ldr     r3, [pc, #140]  ; (8000e64 <_ZL12MX_TIM3_Initv+0xb4>)
- 8000dd6:      f242 720f       movw    r2, #9999       ; 0x270f
- 8000dda:      605a            str     r2, [r3, #4]
+ 8000d9c:      4b23            ldr     r3, [pc, #140]  ; (8000e2c <_ZL12MX_TIM3_Initv+0xb4>)
+ 8000d9e:      f242 720f       movw    r2, #9999       ; 0x270f
+ 8000da2:      605a            str     r2, [r3, #4]
   htim3.Init.CounterMode = TIM_COUNTERMODE_UP;
- 8000ddc:      4b21            ldr     r3, [pc, #132]  ; (8000e64 <_ZL12MX_TIM3_Initv+0xb4>)
- 8000dde:      2200            movs    r2, #0
- 8000de0:      609a            str     r2, [r3, #8]
+ 8000da4:      4b21            ldr     r3, [pc, #132]  ; (8000e2c <_ZL12MX_TIM3_Initv+0xb4>)
+ 8000da6:      2200            movs    r2, #0
+ 8000da8:      609a            str     r2, [r3, #8]
   htim3.Init.Period = 159;
- 8000de2:      4b20            ldr     r3, [pc, #128]  ; (8000e64 <_ZL12MX_TIM3_Initv+0xb4>)
- 8000de4:      229f            movs    r2, #159        ; 0x9f
- 8000de6:      60da            str     r2, [r3, #12]
+ 8000daa:      4b20            ldr     r3, [pc, #128]  ; (8000e2c <_ZL12MX_TIM3_Initv+0xb4>)
+ 8000dac:      229f            movs    r2, #159        ; 0x9f
+ 8000dae:      60da            str     r2, [r3, #12]
   htim3.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
- 8000de8:      4b1e            ldr     r3, [pc, #120]  ; (8000e64 <_ZL12MX_TIM3_Initv+0xb4>)
- 8000dea:      2200            movs    r2, #0
- 8000dec:      611a            str     r2, [r3, #16]
+ 8000db0:      4b1e            ldr     r3, [pc, #120]  ; (8000e2c <_ZL12MX_TIM3_Initv+0xb4>)
+ 8000db2:      2200            movs    r2, #0
+ 8000db4:      611a            str     r2, [r3, #16]
   htim3.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
- 8000dee:      4b1d            ldr     r3, [pc, #116]  ; (8000e64 <_ZL12MX_TIM3_Initv+0xb4>)
- 8000df0:      2200            movs    r2, #0
- 8000df2:      619a            str     r2, [r3, #24]
+ 8000db6:      4b1d            ldr     r3, [pc, #116]  ; (8000e2c <_ZL12MX_TIM3_Initv+0xb4>)
+ 8000db8:      2200            movs    r2, #0
+ 8000dba:      619a            str     r2, [r3, #24]
   if (HAL_TIM_Base_Init(&htim3) != HAL_OK) {
- 8000df4:      481b            ldr     r0, [pc, #108]  ; (8000e64 <_ZL12MX_TIM3_Initv+0xb4>)
- 8000df6:      f002 f98b       bl      8003110 <HAL_TIM_Base_Init>
- 8000dfa:      4603            mov     r3, r0
- 8000dfc:      2b00            cmp     r3, #0
- 8000dfe:      bf14            ite     ne
- 8000e00:      2301            movne   r3, #1
- 8000e02:      2300            moveq   r3, #0
- 8000e04:      b2db            uxtb    r3, r3
- 8000e06:      2b00            cmp     r3, #0
- 8000e08:      d001            beq.n   8000e0e <_ZL12MX_TIM3_Initv+0x5e>
+ 8000dbc:      481b            ldr     r0, [pc, #108]  ; (8000e2c <_ZL12MX_TIM3_Initv+0xb4>)
+ 8000dbe:      f002 f9bf       bl      8003140 <HAL_TIM_Base_Init>
+ 8000dc2:      4603            mov     r3, r0
+ 8000dc4:      2b00            cmp     r3, #0
+ 8000dc6:      bf14            ite     ne
+ 8000dc8:      2301            movne   r3, #1
+ 8000dca:      2300            moveq   r3, #0
+ 8000dcc:      b2db            uxtb    r3, r3
+ 8000dce:      2b00            cmp     r3, #0
+ 8000dd0:      d001            beq.n   8000dd6 <_ZL12MX_TIM3_Initv+0x5e>
     Error_Handler();
- 8000e0a:      f000 faeb       bl      80013e4 <Error_Handler>
+ 8000dd2:      f000 fb1f       bl      8001414 <Error_Handler>
   }
   sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
- 8000e0e:      f44f 5380       mov.w   r3, #4096       ; 0x1000
- 8000e12:      613b            str     r3, [r7, #16]
+ 8000dd6:      f44f 5380       mov.w   r3, #4096       ; 0x1000
+ 8000dda:      613b            str     r3, [r7, #16]
   if (HAL_TIM_ConfigClockSource(&htim3, &sClockSourceConfig) != HAL_OK) {
- 8000e14:      f107 0310       add.w   r3, r7, #16
- 8000e18:      4619            mov     r1, r3
- 8000e1a:      4812            ldr     r0, [pc, #72]   ; (8000e64 <_ZL12MX_TIM3_Initv+0xb4>)
- 8000e1c:      f002 fd48       bl      80038b0 <HAL_TIM_ConfigClockSource>
- 8000e20:      4603            mov     r3, r0
- 8000e22:      2b00            cmp     r3, #0
- 8000e24:      bf14            ite     ne
- 8000e26:      2301            movne   r3, #1
- 8000e28:      2300            moveq   r3, #0
- 8000e2a:      b2db            uxtb    r3, r3
- 8000e2c:      2b00            cmp     r3, #0
- 8000e2e:      d001            beq.n   8000e34 <_ZL12MX_TIM3_Initv+0x84>
+ 8000ddc:      f107 0310       add.w   r3, r7, #16
+ 8000de0:      4619            mov     r1, r3
+ 8000de2:      4812            ldr     r0, [pc, #72]   ; (8000e2c <_ZL12MX_TIM3_Initv+0xb4>)
+ 8000de4:      f002 fd7c       bl      80038e0 <HAL_TIM_ConfigClockSource>
+ 8000de8:      4603            mov     r3, r0
+ 8000dea:      2b00            cmp     r3, #0
+ 8000dec:      bf14            ite     ne
+ 8000dee:      2301            movne   r3, #1
+ 8000df0:      2300            moveq   r3, #0
+ 8000df2:      b2db            uxtb    r3, r3
+ 8000df4:      2b00            cmp     r3, #0
+ 8000df6:      d001            beq.n   8000dfc <_ZL12MX_TIM3_Initv+0x84>
     Error_Handler();
- 8000e30:      f000 fad8       bl      80013e4 <Error_Handler>
+ 8000df8:      f000 fb0c       bl      8001414 <Error_Handler>
   }
   sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
- 8000e34:      2300            movs    r3, #0
- 8000e36:      607b            str     r3, [r7, #4]
+ 8000dfc:      2300            movs    r3, #0
+ 8000dfe:      607b            str     r3, [r7, #4]
   sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
- 8000e38:      2300            movs    r3, #0
- 8000e3a:      60fb            str     r3, [r7, #12]
+ 8000e00:      2300            movs    r3, #0
+ 8000e02:      60fb            str     r3, [r7, #12]
   if (HAL_TIMEx_MasterConfigSynchronization(&htim3, &sMasterConfig) != HAL_OK) {
- 8000e3c:      1d3b            adds    r3, r7, #4
- 8000e3e:      4619            mov     r1, r3
- 8000e40:      4808            ldr     r0, [pc, #32]   ; (8000e64 <_ZL12MX_TIM3_Initv+0xb4>)
- 8000e42:      f003 f9d5       bl      80041f0 <HAL_TIMEx_MasterConfigSynchronization>
- 8000e46:      4603            mov     r3, r0
- 8000e48:      2b00            cmp     r3, #0
- 8000e4a:      bf14            ite     ne
- 8000e4c:      2301            movne   r3, #1
- 8000e4e:      2300            moveq   r3, #0
- 8000e50:      b2db            uxtb    r3, r3
- 8000e52:      2b00            cmp     r3, #0
- 8000e54:      d001            beq.n   8000e5a <_ZL12MX_TIM3_Initv+0xaa>
+ 8000e04:      1d3b            adds    r3, r7, #4
+ 8000e06:      4619            mov     r1, r3
+ 8000e08:      4808            ldr     r0, [pc, #32]   ; (8000e2c <_ZL12MX_TIM3_Initv+0xb4>)
+ 8000e0a:      f003 fa09       bl      8004220 <HAL_TIMEx_MasterConfigSynchronization>
+ 8000e0e:      4603            mov     r3, r0
+ 8000e10:      2b00            cmp     r3, #0
+ 8000e12:      bf14            ite     ne
+ 8000e14:      2301            movne   r3, #1
+ 8000e16:      2300            moveq   r3, #0
+ 8000e18:      b2db            uxtb    r3, r3
+ 8000e1a:      2b00            cmp     r3, #0
+ 8000e1c:      d001            beq.n   8000e22 <_ZL12MX_TIM3_Initv+0xaa>
     Error_Handler();
- 8000e56:      f000 fac5       bl      80013e4 <Error_Handler>
+ 8000e1e:      f000 faf9       bl      8001414 <Error_Handler>
   }
   /* USER CODE BEGIN TIM3_Init 2 */
 
   /* USER CODE END TIM3_Init 2 */
 
 }
- 8000e5a:      bf00            nop
- 8000e5c:      3720            adds    r7, #32
- 8000e5e:      46bd            mov     sp, r7
- 8000e60:      bd80            pop     {r7, pc}
- 8000e62:      bf00            nop
- 8000e64:      20000068        .word   0x20000068
- 8000e68:      40000400        .word   0x40000400
-
-08000e6c <_ZL12MX_TIM4_Initv>:
+ 8000e22:      bf00            nop
+ 8000e24:      3720            adds    r7, #32
+ 8000e26:      46bd            mov     sp, r7
+ 8000e28:      bd80            pop     {r7, pc}
+ 8000e2a:      bf00            nop
+ 8000e2c:      2000006c        .word   0x2000006c
+ 8000e30:      40000400        .word   0x40000400
+
+08000e34 <_ZL12MX_TIM4_Initv>:
 /**
  * @brief TIM4 Initialization Function
  * @param None
  * @retval None
  */
 static void MX_TIM4_Init(void) {
- 8000e6c:      b580            push    {r7, lr}
- 8000e6e:      b08e            sub     sp, #56 ; 0x38
- 8000e70:      af00            add     r7, sp, #0
+ 8000e34:      b580            push    {r7, lr}
+ 8000e36:      b08e            sub     sp, #56 ; 0x38
+ 8000e38:      af00            add     r7, sp, #0
 
   /* USER CODE BEGIN TIM4_Init 0 */
 
   /* USER CODE END TIM4_Init 0 */
 
   TIM_ClockConfigTypeDef sClockSourceConfig = { 0 };
- 8000e72:      f107 0328       add.w   r3, r7, #40     ; 0x28
- 8000e76:      2200            movs    r2, #0
- 8000e78:      601a            str     r2, [r3, #0]
- 8000e7a:      605a            str     r2, [r3, #4]
- 8000e7c:      609a            str     r2, [r3, #8]
- 8000e7e:      60da            str     r2, [r3, #12]
+ 8000e3a:      f107 0328       add.w   r3, r7, #40     ; 0x28
+ 8000e3e:      2200            movs    r2, #0
+ 8000e40:      601a            str     r2, [r3, #0]
+ 8000e42:      605a            str     r2, [r3, #4]
+ 8000e44:      609a            str     r2, [r3, #8]
+ 8000e46:      60da            str     r2, [r3, #12]
   TIM_MasterConfigTypeDef sMasterConfig = { 0 };
- 8000e80:      f107 031c       add.w   r3, r7, #28
- 8000e84:      2200            movs    r2, #0
- 8000e86:      601a            str     r2, [r3, #0]
- 8000e88:      605a            str     r2, [r3, #4]
- 8000e8a:      609a            str     r2, [r3, #8]
+ 8000e48:      f107 031c       add.w   r3, r7, #28
+ 8000e4c:      2200            movs    r2, #0
+ 8000e4e:      601a            str     r2, [r3, #0]
+ 8000e50:      605a            str     r2, [r3, #4]
+ 8000e52:      609a            str     r2, [r3, #8]
   TIM_OC_InitTypeDef sConfigOC = { 0 };
- 8000e8c:      463b            mov     r3, r7
- 8000e8e:      2200            movs    r2, #0
- 8000e90:      601a            str     r2, [r3, #0]
- 8000e92:      605a            str     r2, [r3, #4]
- 8000e94:      609a            str     r2, [r3, #8]
- 8000e96:      60da            str     r2, [r3, #12]
- 8000e98:      611a            str     r2, [r3, #16]
- 8000e9a:      615a            str     r2, [r3, #20]
- 8000e9c:      619a            str     r2, [r3, #24]
+ 8000e54:      463b            mov     r3, r7
+ 8000e56:      2200            movs    r2, #0
+ 8000e58:      601a            str     r2, [r3, #0]
+ 8000e5a:      605a            str     r2, [r3, #4]
+ 8000e5c:      609a            str     r2, [r3, #8]
+ 8000e5e:      60da            str     r2, [r3, #12]
+ 8000e60:      611a            str     r2, [r3, #16]
+ 8000e62:      615a            str     r2, [r3, #20]
+ 8000e64:      619a            str     r2, [r3, #24]
 
   /* USER CODE BEGIN TIM4_Init 1 */
 
   /* USER CODE END TIM4_Init 1 */
   htim4.Instance = TIM4;
- 8000e9e:      4b41            ldr     r3, [pc, #260]  ; (8000fa4 <_ZL12MX_TIM4_Initv+0x138>)
- 8000ea0:      4a41            ldr     r2, [pc, #260]  ; (8000fa8 <_ZL12MX_TIM4_Initv+0x13c>)
- 8000ea2:      601a            str     r2, [r3, #0]
+ 8000e66:      4b41            ldr     r3, [pc, #260]  ; (8000f6c <_ZL12MX_TIM4_Initv+0x138>)
+ 8000e68:      4a41            ldr     r2, [pc, #260]  ; (8000f70 <_ZL12MX_TIM4_Initv+0x13c>)
+ 8000e6a:      601a            str     r2, [r3, #0]
   htim4.Init.Prescaler = 0;
- 8000ea4:      4b3f            ldr     r3, [pc, #252]  ; (8000fa4 <_ZL12MX_TIM4_Initv+0x138>)
- 8000ea6:      2200            movs    r2, #0
- 8000ea8:      605a            str     r2, [r3, #4]
+ 8000e6c:      4b3f            ldr     r3, [pc, #252]  ; (8000f6c <_ZL12MX_TIM4_Initv+0x138>)
+ 8000e6e:      2200            movs    r2, #0
+ 8000e70:      605a            str     r2, [r3, #4]
   htim4.Init.CounterMode = TIM_COUNTERMODE_UP;
- 8000eaa:      4b3e            ldr     r3, [pc, #248]  ; (8000fa4 <_ZL12MX_TIM4_Initv+0x138>)
- 8000eac:      2200            movs    r2, #0
- 8000eae:      609a            str     r2, [r3, #8]
+ 8000e72:      4b3e            ldr     r3, [pc, #248]  ; (8000f6c <_ZL12MX_TIM4_Initv+0x138>)
+ 8000e74:      2200            movs    r2, #0
+ 8000e76:      609a            str     r2, [r3, #8]
   htim4.Init.Period = 799;
- 8000eb0:      4b3c            ldr     r3, [pc, #240]  ; (8000fa4 <_ZL12MX_TIM4_Initv+0x138>)
- 8000eb2:      f240 321f       movw    r2, #799        ; 0x31f
- 8000eb6:      60da            str     r2, [r3, #12]
+ 8000e78:      4b3c            ldr     r3, [pc, #240]  ; (8000f6c <_ZL12MX_TIM4_Initv+0x138>)
+ 8000e7a:      f240 321f       movw    r2, #799        ; 0x31f
+ 8000e7e:      60da            str     r2, [r3, #12]
   htim4.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
- 8000eb8:      4b3a            ldr     r3, [pc, #232]  ; (8000fa4 <_ZL12MX_TIM4_Initv+0x138>)
- 8000eba:      2200            movs    r2, #0
- 8000ebc:      611a            str     r2, [r3, #16]
+ 8000e80:      4b3a            ldr     r3, [pc, #232]  ; (8000f6c <_ZL12MX_TIM4_Initv+0x138>)
+ 8000e82:      2200            movs    r2, #0
+ 8000e84:      611a            str     r2, [r3, #16]
   htim4.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
- 8000ebe:      4b39            ldr     r3, [pc, #228]  ; (8000fa4 <_ZL12MX_TIM4_Initv+0x138>)
- 8000ec0:      2200            movs    r2, #0
- 8000ec2:      619a            str     r2, [r3, #24]
+ 8000e86:      4b39            ldr     r3, [pc, #228]  ; (8000f6c <_ZL12MX_TIM4_Initv+0x138>)
+ 8000e88:      2200            movs    r2, #0
+ 8000e8a:      619a            str     r2, [r3, #24]
   if (HAL_TIM_Base_Init(&htim4) != HAL_OK) {
- 8000ec4:      4837            ldr     r0, [pc, #220]  ; (8000fa4 <_ZL12MX_TIM4_Initv+0x138>)
- 8000ec6:      f002 f923       bl      8003110 <HAL_TIM_Base_Init>
- 8000eca:      4603            mov     r3, r0
- 8000ecc:      2b00            cmp     r3, #0
- 8000ece:      bf14            ite     ne
- 8000ed0:      2301            movne   r3, #1
- 8000ed2:      2300            moveq   r3, #0
- 8000ed4:      b2db            uxtb    r3, r3
- 8000ed6:      2b00            cmp     r3, #0
- 8000ed8:      d001            beq.n   8000ede <_ZL12MX_TIM4_Initv+0x72>
+ 8000e8c:      4837            ldr     r0, [pc, #220]  ; (8000f6c <_ZL12MX_TIM4_Initv+0x138>)
+ 8000e8e:      f002 f957       bl      8003140 <HAL_TIM_Base_Init>
+ 8000e92:      4603            mov     r3, r0
+ 8000e94:      2b00            cmp     r3, #0
+ 8000e96:      bf14            ite     ne
+ 8000e98:      2301            movne   r3, #1
+ 8000e9a:      2300            moveq   r3, #0
+ 8000e9c:      b2db            uxtb    r3, r3
+ 8000e9e:      2b00            cmp     r3, #0
+ 8000ea0:      d001            beq.n   8000ea6 <_ZL12MX_TIM4_Initv+0x72>
     Error_Handler();
- 8000eda:      f000 fa83       bl      80013e4 <Error_Handler>
+ 8000ea2:      f000 fab7       bl      8001414 <Error_Handler>
   }
   sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
- 8000ede:      f44f 5380       mov.w   r3, #4096       ; 0x1000
- 8000ee2:      62bb            str     r3, [r7, #40]   ; 0x28
+ 8000ea6:      f44f 5380       mov.w   r3, #4096       ; 0x1000
+ 8000eaa:      62bb            str     r3, [r7, #40]   ; 0x28
   if (HAL_TIM_ConfigClockSource(&htim4, &sClockSourceConfig) != HAL_OK) {
- 8000ee4:      f107 0328       add.w   r3, r7, #40     ; 0x28
- 8000ee8:      4619            mov     r1, r3
- 8000eea:      482e            ldr     r0, [pc, #184]  ; (8000fa4 <_ZL12MX_TIM4_Initv+0x138>)
- 8000eec:      f002 fce0       bl      80038b0 <HAL_TIM_ConfigClockSource>
- 8000ef0:      4603            mov     r3, r0
- 8000ef2:      2b00            cmp     r3, #0
- 8000ef4:      bf14            ite     ne
- 8000ef6:      2301            movne   r3, #1
- 8000ef8:      2300            moveq   r3, #0
- 8000efa:      b2db            uxtb    r3, r3
- 8000efc:      2b00            cmp     r3, #0
- 8000efe:      d001            beq.n   8000f04 <_ZL12MX_TIM4_Initv+0x98>
+ 8000eac:      f107 0328       add.w   r3, r7, #40     ; 0x28
+ 8000eb0:      4619            mov     r1, r3
+ 8000eb2:      482e            ldr     r0, [pc, #184]  ; (8000f6c <_ZL12MX_TIM4_Initv+0x138>)
+ 8000eb4:      f002 fd14       bl      80038e0 <HAL_TIM_ConfigClockSource>
+ 8000eb8:      4603            mov     r3, r0
+ 8000eba:      2b00            cmp     r3, #0
+ 8000ebc:      bf14            ite     ne
+ 8000ebe:      2301            movne   r3, #1
+ 8000ec0:      2300            moveq   r3, #0
+ 8000ec2:      b2db            uxtb    r3, r3
+ 8000ec4:      2b00            cmp     r3, #0
+ 8000ec6:      d001            beq.n   8000ecc <_ZL12MX_TIM4_Initv+0x98>
     Error_Handler();
- 8000f00:      f000 fa70       bl      80013e4 <Error_Handler>
+ 8000ec8:      f000 faa4       bl      8001414 <Error_Handler>
   }
   if (HAL_TIM_PWM_Init(&htim4) != HAL_OK) {
- 8000f04:      4827            ldr     r0, [pc, #156]  ; (8000fa4 <_ZL12MX_TIM4_Initv+0x138>)
- 8000f06:      f002 f959       bl      80031bc <HAL_TIM_PWM_Init>
- 8000f0a:      4603            mov     r3, r0
- 8000f0c:      2b00            cmp     r3, #0
- 8000f0e:      bf14            ite     ne
- 8000f10:      2301            movne   r3, #1
- 8000f12:      2300            moveq   r3, #0
- 8000f14:      b2db            uxtb    r3, r3
- 8000f16:      2b00            cmp     r3, #0
- 8000f18:      d001            beq.n   8000f1e <_ZL12MX_TIM4_Initv+0xb2>
+ 8000ecc:      4827            ldr     r0, [pc, #156]  ; (8000f6c <_ZL12MX_TIM4_Initv+0x138>)
+ 8000ece:      f002 f98d       bl      80031ec <HAL_TIM_PWM_Init>
+ 8000ed2:      4603            mov     r3, r0
+ 8000ed4:      2b00            cmp     r3, #0
+ 8000ed6:      bf14            ite     ne
+ 8000ed8:      2301            movne   r3, #1
+ 8000eda:      2300            moveq   r3, #0
+ 8000edc:      b2db            uxtb    r3, r3
+ 8000ede:      2b00            cmp     r3, #0
+ 8000ee0:      d001            beq.n   8000ee6 <_ZL12MX_TIM4_Initv+0xb2>
     Error_Handler();
- 8000f1a:      f000 fa63       bl      80013e4 <Error_Handler>
+ 8000ee2:      f000 fa97       bl      8001414 <Error_Handler>
   }
   sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
- 8000f1e:      2300            movs    r3, #0
- 8000f20:      61fb            str     r3, [r7, #28]
+ 8000ee6:      2300            movs    r3, #0
+ 8000ee8:      61fb            str     r3, [r7, #28]
   sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
- 8000f22:      2300            movs    r3, #0
- 8000f24:      627b            str     r3, [r7, #36]   ; 0x24
+ 8000eea:      2300            movs    r3, #0
+ 8000eec:      627b            str     r3, [r7, #36]   ; 0x24
   if (HAL_TIMEx_MasterConfigSynchronization(&htim4, &sMasterConfig) != HAL_OK) {
- 8000f26:      f107 031c       add.w   r3, r7, #28
- 8000f2a:      4619            mov     r1, r3
- 8000f2c:      481d            ldr     r0, [pc, #116]  ; (8000fa4 <_ZL12MX_TIM4_Initv+0x138>)
- 8000f2e:      f003 f95f       bl      80041f0 <HAL_TIMEx_MasterConfigSynchronization>
- 8000f32:      4603            mov     r3, r0
- 8000f34:      2b00            cmp     r3, #0
- 8000f36:      bf14            ite     ne
- 8000f38:      2301            movne   r3, #1
- 8000f3a:      2300            moveq   r3, #0
- 8000f3c:      b2db            uxtb    r3, r3
- 8000f3e:      2b00            cmp     r3, #0
- 8000f40:      d001            beq.n   8000f46 <_ZL12MX_TIM4_Initv+0xda>
+ 8000eee:      f107 031c       add.w   r3, r7, #28
+ 8000ef2:      4619            mov     r1, r3
+ 8000ef4:      481d            ldr     r0, [pc, #116]  ; (8000f6c <_ZL12MX_TIM4_Initv+0x138>)
+ 8000ef6:      f003 f993       bl      8004220 <HAL_TIMEx_MasterConfigSynchronization>
+ 8000efa:      4603            mov     r3, r0
+ 8000efc:      2b00            cmp     r3, #0
+ 8000efe:      bf14            ite     ne
+ 8000f00:      2301            movne   r3, #1
+ 8000f02:      2300            moveq   r3, #0
+ 8000f04:      b2db            uxtb    r3, r3
+ 8000f06:      2b00            cmp     r3, #0
+ 8000f08:      d001            beq.n   8000f0e <_ZL12MX_TIM4_Initv+0xda>
     Error_Handler();
- 8000f42:      f000 fa4f       bl      80013e4 <Error_Handler>
+ 8000f0a:      f000 fa83       bl      8001414 <Error_Handler>
   }
   sConfigOC.OCMode = TIM_OCMODE_PWM1;
- 8000f46:      2360            movs    r3, #96 ; 0x60
- 8000f48:      603b            str     r3, [r7, #0]
+ 8000f0e:      2360            movs    r3, #96 ; 0x60
+ 8000f10:      603b            str     r3, [r7, #0]
   sConfigOC.Pulse = 0;
- 8000f4a:      2300            movs    r3, #0
- 8000f4c:      607b            str     r3, [r7, #4]
+ 8000f12:      2300            movs    r3, #0
+ 8000f14:      607b            str     r3, [r7, #4]
   sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
- 8000f4e:      2300            movs    r3, #0
- 8000f50:      60bb            str     r3, [r7, #8]
+ 8000f16:      2300            movs    r3, #0
+ 8000f18:      60bb            str     r3, [r7, #8]
   sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
- 8000f52:      2300            movs    r3, #0
- 8000f54:      613b            str     r3, [r7, #16]
+ 8000f1a:      2300            movs    r3, #0
+ 8000f1c:      613b            str     r3, [r7, #16]
   if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_3) != HAL_OK) {
- 8000f56:      463b            mov     r3, r7
- 8000f58:      2208            movs    r2, #8
- 8000f5a:      4619            mov     r1, r3
- 8000f5c:      4811            ldr     r0, [pc, #68]   ; (8000fa4 <_ZL12MX_TIM4_Initv+0x138>)
- 8000f5e:      f002 fb8f       bl      8003680 <HAL_TIM_PWM_ConfigChannel>
- 8000f62:      4603            mov     r3, r0
- 8000f64:      2b00            cmp     r3, #0
- 8000f66:      bf14            ite     ne
- 8000f68:      2301            movne   r3, #1
- 8000f6a:      2300            moveq   r3, #0
- 8000f6c:      b2db            uxtb    r3, r3
- 8000f6e:      2b00            cmp     r3, #0
- 8000f70:      d001            beq.n   8000f76 <_ZL12MX_TIM4_Initv+0x10a>
+ 8000f1e:      463b            mov     r3, r7
+ 8000f20:      2208            movs    r2, #8
+ 8000f22:      4619            mov     r1, r3
+ 8000f24:      4811            ldr     r0, [pc, #68]   ; (8000f6c <_ZL12MX_TIM4_Initv+0x138>)
+ 8000f26:      f002 fbc3       bl      80036b0 <HAL_TIM_PWM_ConfigChannel>
+ 8000f2a:      4603            mov     r3, r0
+ 8000f2c:      2b00            cmp     r3, #0
+ 8000f2e:      bf14            ite     ne
+ 8000f30:      2301            movne   r3, #1
+ 8000f32:      2300            moveq   r3, #0
+ 8000f34:      b2db            uxtb    r3, r3
+ 8000f36:      2b00            cmp     r3, #0
+ 8000f38:      d001            beq.n   8000f3e <_ZL12MX_TIM4_Initv+0x10a>
     Error_Handler();
- 8000f72:      f000 fa37       bl      80013e4 <Error_Handler>
+ 8000f3a:      f000 fa6b       bl      8001414 <Error_Handler>
   }
   if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_4) != HAL_OK) {
- 8000f76:      463b            mov     r3, r7
- 8000f78:      220c            movs    r2, #12
- 8000f7a:      4619            mov     r1, r3
- 8000f7c:      4809            ldr     r0, [pc, #36]   ; (8000fa4 <_ZL12MX_TIM4_Initv+0x138>)
- 8000f7e:      f002 fb7f       bl      8003680 <HAL_TIM_PWM_ConfigChannel>
- 8000f82:      4603            mov     r3, r0
- 8000f84:      2b00            cmp     r3, #0
- 8000f86:      bf14            ite     ne
- 8000f88:      2301            movne   r3, #1
- 8000f8a:      2300            moveq   r3, #0
- 8000f8c:      b2db            uxtb    r3, r3
- 8000f8e:      2b00            cmp     r3, #0
- 8000f90:      d001            beq.n   8000f96 <_ZL12MX_TIM4_Initv+0x12a>
+ 8000f3e:      463b            mov     r3, r7
+ 8000f40:      220c            movs    r2, #12
+ 8000f42:      4619            mov     r1, r3
+ 8000f44:      4809            ldr     r0, [pc, #36]   ; (8000f6c <_ZL12MX_TIM4_Initv+0x138>)
+ 8000f46:      f002 fbb3       bl      80036b0 <HAL_TIM_PWM_ConfigChannel>
+ 8000f4a:      4603            mov     r3, r0
+ 8000f4c:      2b00            cmp     r3, #0
+ 8000f4e:      bf14            ite     ne
+ 8000f50:      2301            movne   r3, #1
+ 8000f52:      2300            moveq   r3, #0
+ 8000f54:      b2db            uxtb    r3, r3
+ 8000f56:      2b00            cmp     r3, #0
+ 8000f58:      d001            beq.n   8000f5e <_ZL12MX_TIM4_Initv+0x12a>
     Error_Handler();
- 8000f92:      f000 fa27       bl      80013e4 <Error_Handler>
+ 8000f5a:      f000 fa5b       bl      8001414 <Error_Handler>
   }
   /* USER CODE BEGIN TIM4_Init 2 */
 
   /* USER CODE END TIM4_Init 2 */
   HAL_TIM_MspPostInit(&htim4);
- 8000f96:      4803            ldr     r0, [pc, #12]   ; (8000fa4 <_ZL12MX_TIM4_Initv+0x138>)
- 8000f98:      f000 fbb8       bl      800170c <HAL_TIM_MspPostInit>
+ 8000f5e:      4803            ldr     r0, [pc, #12]   ; (8000f6c <_ZL12MX_TIM4_Initv+0x138>)
+ 8000f60:      f000 fbec       bl      800173c <HAL_TIM_MspPostInit>
 
 }
- 8000f9c:      bf00            nop
- 8000f9e:      3738            adds    r7, #56 ; 0x38
- 8000fa0:      46bd            mov     sp, r7
- 8000fa2:      bd80            pop     {r7, pc}
- 8000fa4:      200000a8        .word   0x200000a8
- 8000fa8:      40000800        .word   0x40000800
-
-08000fac <_ZL12MX_TIM5_Initv>:
+ 8000f64:      bf00            nop
+ 8000f66:      3738            adds    r7, #56 ; 0x38
+ 8000f68:      46bd            mov     sp, r7
+ 8000f6a:      bd80            pop     {r7, pc}
+ 8000f6c:      200000ac        .word   0x200000ac
+ 8000f70:      40000800        .word   0x40000800
+
+08000f74 <_ZL12MX_TIM5_Initv>:
 /**
  * @brief TIM5 Initialization Function
  * @param None
  * @retval None
  */
 static void MX_TIM5_Init(void) {
- 8000fac:      b580            push    {r7, lr}
- 8000fae:      b08c            sub     sp, #48 ; 0x30
- 8000fb0:      af00            add     r7, sp, #0
+ 8000f74:      b580            push    {r7, lr}
+ 8000f76:      b08c            sub     sp, #48 ; 0x30
+ 8000f78:      af00            add     r7, sp, #0
 
   /* USER CODE BEGIN TIM5_Init 0 */
 
   /* USER CODE END TIM5_Init 0 */
 
   TIM_Encoder_InitTypeDef sConfig = { 0 };
- 8000fb2:      f107 030c       add.w   r3, r7, #12
- 8000fb6:      2224            movs    r2, #36 ; 0x24
- 8000fb8:      2100            movs    r1, #0
- 8000fba:      4618            mov     r0, r3
- 8000fbc:      f003 ffd2       bl      8004f64 <memset>
+ 8000f7a:      f107 030c       add.w   r3, r7, #12
+ 8000f7e:      2224            movs    r2, #36 ; 0x24
+ 8000f80:      2100            movs    r1, #0
+ 8000f82:      4618            mov     r0, r3
+ 8000f84:      f004 f806       bl      8004f94 <memset>
   TIM_MasterConfigTypeDef sMasterConfig = { 0 };
- 8000fc0:      463b            mov     r3, r7
- 8000fc2:      2200            movs    r2, #0
- 8000fc4:      601a            str     r2, [r3, #0]
- 8000fc6:      605a            str     r2, [r3, #4]
- 8000fc8:      609a            str     r2, [r3, #8]
+ 8000f88:      463b            mov     r3, r7
+ 8000f8a:      2200            movs    r2, #0
+ 8000f8c:      601a            str     r2, [r3, #0]
+ 8000f8e:      605a            str     r2, [r3, #4]
+ 8000f90:      609a            str     r2, [r3, #8]
 
   /* USER CODE BEGIN TIM5_Init 1 */
 
   /* USER CODE END TIM5_Init 1 */
   htim5.Instance = TIM5;
- 8000fca:      4b26            ldr     r3, [pc, #152]  ; (8001064 <_ZL12MX_TIM5_Initv+0xb8>)
- 8000fcc:      4a26            ldr     r2, [pc, #152]  ; (8001068 <_ZL12MX_TIM5_Initv+0xbc>)
- 8000fce:      601a            str     r2, [r3, #0]
+ 8000f92:      4b26            ldr     r3, [pc, #152]  ; (800102c <_ZL12MX_TIM5_Initv+0xb8>)
+ 8000f94:      4a26            ldr     r2, [pc, #152]  ; (8001030 <_ZL12MX_TIM5_Initv+0xbc>)
+ 8000f96:      601a            str     r2, [r3, #0]
   htim5.Init.Prescaler = 0;
- 8000fd0:      4b24            ldr     r3, [pc, #144]  ; (8001064 <_ZL12MX_TIM5_Initv+0xb8>)
- 8000fd2:      2200            movs    r2, #0
- 8000fd4:      605a            str     r2, [r3, #4]
+ 8000f98:      4b24            ldr     r3, [pc, #144]  ; (800102c <_ZL12MX_TIM5_Initv+0xb8>)
+ 8000f9a:      2200            movs    r2, #0
+ 8000f9c:      605a            str     r2, [r3, #4]
   htim5.Init.CounterMode = TIM_COUNTERMODE_UP;
- 8000fd6:      4b23            ldr     r3, [pc, #140]  ; (8001064 <_ZL12MX_TIM5_Initv+0xb8>)
- 8000fd8:      2200            movs    r2, #0
- 8000fda:      609a            str     r2, [r3, #8]
+ 8000f9e:      4b23            ldr     r3, [pc, #140]  ; (800102c <_ZL12MX_TIM5_Initv+0xb8>)
+ 8000fa0:      2200            movs    r2, #0
+ 8000fa2:      609a            str     r2, [r3, #8]
   htim5.Init.Period = 4294967295;
- 8000fdc:      4b21            ldr     r3, [pc, #132]  ; (8001064 <_ZL12MX_TIM5_Initv+0xb8>)
- 8000fde:      f04f 32ff       mov.w   r2, #4294967295 ; 0xffffffff
- 8000fe2:      60da            str     r2, [r3, #12]
+ 8000fa4:      4b21            ldr     r3, [pc, #132]  ; (800102c <_ZL12MX_TIM5_Initv+0xb8>)
+ 8000fa6:      f04f 32ff       mov.w   r2, #4294967295 ; 0xffffffff
+ 8000faa:      60da            str     r2, [r3, #12]
   htim5.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
- 8000fe4:      4b1f            ldr     r3, [pc, #124]  ; (8001064 <_ZL12MX_TIM5_Initv+0xb8>)
- 8000fe6:      2200            movs    r2, #0
- 8000fe8:      611a            str     r2, [r3, #16]
+ 8000fac:      4b1f            ldr     r3, [pc, #124]  ; (800102c <_ZL12MX_TIM5_Initv+0xb8>)
+ 8000fae:      2200            movs    r2, #0
+ 8000fb0:      611a            str     r2, [r3, #16]
   htim5.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
- 8000fea:      4b1e            ldr     r3, [pc, #120]  ; (8001064 <_ZL12MX_TIM5_Initv+0xb8>)
- 8000fec:      2200            movs    r2, #0
- 8000fee:      619a            str     r2, [r3, #24]
+ 8000fb2:      4b1e            ldr     r3, [pc, #120]  ; (800102c <_ZL12MX_TIM5_Initv+0xb8>)
+ 8000fb4:      2200            movs    r2, #0
+ 8000fb6:      619a            str     r2, [r3, #24]
   sConfig.EncoderMode = TIM_ENCODERMODE_TI12;
- 8000ff0:      2303            movs    r3, #3
- 8000ff2:      60fb            str     r3, [r7, #12]
+ 8000fb8:      2303            movs    r3, #3
+ 8000fba:      60fb            str     r3, [r7, #12]
   sConfig.IC1Polarity = TIM_ICPOLARITY_RISING;
- 8000ff4:      2300            movs    r3, #0
- 8000ff6:      613b            str     r3, [r7, #16]
+ 8000fbc:      2300            movs    r3, #0
+ 8000fbe:      613b            str     r3, [r7, #16]
   sConfig.IC1Selection = TIM_ICSELECTION_DIRECTTI;
- 8000ff8:      2301            movs    r3, #1
- 8000ffa:      617b            str     r3, [r7, #20]
+ 8000fc0:      2301            movs    r3, #1
+ 8000fc2:      617b            str     r3, [r7, #20]
   sConfig.IC1Prescaler = TIM_ICPSC_DIV1;
- 8000ffc:      2300            movs    r3, #0
- 8000ffe:      61bb            str     r3, [r7, #24]
+ 8000fc4:      2300            movs    r3, #0
+ 8000fc6:      61bb            str     r3, [r7, #24]
   sConfig.IC1Filter = 0;
- 8001000:      2300            movs    r3, #0
- 8001002:      61fb            str     r3, [r7, #28]
+ 8000fc8:      2300            movs    r3, #0
+ 8000fca:      61fb            str     r3, [r7, #28]
   sConfig.IC2Polarity = TIM_ICPOLARITY_RISING;
- 8001004:      2300            movs    r3, #0
- 8001006:      623b            str     r3, [r7, #32]
+ 8000fcc:      2300            movs    r3, #0
+ 8000fce:      623b            str     r3, [r7, #32]
   sConfig.IC2Selection = TIM_ICSELECTION_DIRECTTI;
- 8001008:      2301            movs    r3, #1
- 800100a:      627b            str     r3, [r7, #36]   ; 0x24
+ 8000fd0:      2301            movs    r3, #1
+ 8000fd2:      627b            str     r3, [r7, #36]   ; 0x24
   sConfig.IC2Prescaler = TIM_ICPSC_DIV1;
- 800100c:      2300            movs    r3, #0
- 800100e:      62bb            str     r3, [r7, #40]   ; 0x28
+ 8000fd4:      2300            movs    r3, #0
+ 8000fd6:      62bb            str     r3, [r7, #40]   ; 0x28
   sConfig.IC2Filter = 0;
- 8001010:      2300            movs    r3, #0
- 8001012:      62fb            str     r3, [r7, #44]   ; 0x2c
+ 8000fd8:      2300            movs    r3, #0
+ 8000fda:      62fb            str     r3, [r7, #44]   ; 0x2c
   if (HAL_TIM_Encoder_Init(&htim5, &sConfig) != HAL_OK) {
- 8001014:      f107 030c       add.w   r3, r7, #12
- 8001018:      4619            mov     r1, r3
- 800101a:      4812            ldr     r0, [pc, #72]   ; (8001064 <_ZL12MX_TIM5_Initv+0xb8>)
- 800101c:      f002 f948       bl      80032b0 <HAL_TIM_Encoder_Init>
- 8001020:      4603            mov     r3, r0
- 8001022:      2b00            cmp     r3, #0
- 8001024:      bf14            ite     ne
- 8001026:      2301            movne   r3, #1
- 8001028:      2300            moveq   r3, #0
- 800102a:      b2db            uxtb    r3, r3
- 800102c:      2b00            cmp     r3, #0
- 800102e:      d001            beq.n   8001034 <_ZL12MX_TIM5_Initv+0x88>
+ 8000fdc:      f107 030c       add.w   r3, r7, #12
+ 8000fe0:      4619            mov     r1, r3
+ 8000fe2:      4812            ldr     r0, [pc, #72]   ; (800102c <_ZL12MX_TIM5_Initv+0xb8>)
+ 8000fe4:      f002 f97c       bl      80032e0 <HAL_TIM_Encoder_Init>
+ 8000fe8:      4603            mov     r3, r0
+ 8000fea:      2b00            cmp     r3, #0
+ 8000fec:      bf14            ite     ne
+ 8000fee:      2301            movne   r3, #1
+ 8000ff0:      2300            moveq   r3, #0
+ 8000ff2:      b2db            uxtb    r3, r3
+ 8000ff4:      2b00            cmp     r3, #0
+ 8000ff6:      d001            beq.n   8000ffc <_ZL12MX_TIM5_Initv+0x88>
     Error_Handler();
- 8001030:      f000 f9d8       bl      80013e4 <Error_Handler>
+ 8000ff8:      f000 fa0c       bl      8001414 <Error_Handler>
   }
   sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
- 8001034:      2300            movs    r3, #0
- 8001036:      603b            str     r3, [r7, #0]
+ 8000ffc:      2300            movs    r3, #0
+ 8000ffe:      603b            str     r3, [r7, #0]
   sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
- 8001038:      2300            movs    r3, #0
- 800103a:      60bb            str     r3, [r7, #8]
+ 8001000:      2300            movs    r3, #0
+ 8001002:      60bb            str     r3, [r7, #8]
   if (HAL_TIMEx_MasterConfigSynchronization(&htim5, &sMasterConfig) != HAL_OK) {
- 800103c:      463b            mov     r3, r7
- 800103e:      4619            mov     r1, r3
- 8001040:      4808            ldr     r0, [pc, #32]   ; (8001064 <_ZL12MX_TIM5_Initv+0xb8>)
- 8001042:      f003 f8d5       bl      80041f0 <HAL_TIMEx_MasterConfigSynchronization>
- 8001046:      4603            mov     r3, r0
- 8001048:      2b00            cmp     r3, #0
- 800104a:      bf14            ite     ne
- 800104c:      2301            movne   r3, #1
- 800104e:      2300            moveq   r3, #0
- 8001050:      b2db            uxtb    r3, r3
- 8001052:      2b00            cmp     r3, #0
- 8001054:      d001            beq.n   800105a <_ZL12MX_TIM5_Initv+0xae>
+ 8001004:      463b            mov     r3, r7
+ 8001006:      4619            mov     r1, r3
+ 8001008:      4808            ldr     r0, [pc, #32]   ; (800102c <_ZL12MX_TIM5_Initv+0xb8>)
+ 800100a:      f003 f909       bl      8004220 <HAL_TIMEx_MasterConfigSynchronization>
+ 800100e:      4603            mov     r3, r0
+ 8001010:      2b00            cmp     r3, #0
+ 8001012:      bf14            ite     ne
+ 8001014:      2301            movne   r3, #1
+ 8001016:      2300            moveq   r3, #0
+ 8001018:      b2db            uxtb    r3, r3
+ 800101a:      2b00            cmp     r3, #0
+ 800101c:      d001            beq.n   8001022 <_ZL12MX_TIM5_Initv+0xae>
     Error_Handler();
- 8001056:      f000 f9c5       bl      80013e4 <Error_Handler>
+ 800101e:      f000 f9f9       bl      8001414 <Error_Handler>
   }
   /* USER CODE BEGIN TIM5_Init 2 */
 
   /* USER CODE END TIM5_Init 2 */
 
 }
- 800105a:      bf00            nop
- 800105c:      3730            adds    r7, #48 ; 0x30
- 800105e:      46bd            mov     sp, r7
- 8001060:      bd80            pop     {r7, pc}
- 8001062:      bf00            nop
- 8001064:      200000e8        .word   0x200000e8
- 8001068:      40000c00        .word   0x40000c00
-
-0800106c <_ZL12MX_TIM6_Initv>:
+ 8001022:      bf00            nop
+ 8001024:      3730            adds    r7, #48 ; 0x30
+ 8001026:      46bd            mov     sp, r7
+ 8001028:      bd80            pop     {r7, pc}
+ 800102a:      bf00            nop
+ 800102c:      200000ec        .word   0x200000ec
+ 8001030:      40000c00        .word   0x40000c00
+
+08001034 <_ZL12MX_TIM6_Initv>:
 /**
  * @brief TIM6 Initialization Function
  * @param None
  * @retval None
  */
 static void MX_TIM6_Init(void) {
- 800106c:      b580            push    {r7, lr}
- 800106e:      b084            sub     sp, #16
- 8001070:      af00            add     r7, sp, #0
+ 8001034:      b580            push    {r7, lr}
+ 8001036:      b084            sub     sp, #16
+ 8001038:      af00            add     r7, sp, #0
 
   /* USER CODE BEGIN TIM6_Init 0 */
 
   /* USER CODE END TIM6_Init 0 */
 
   TIM_MasterConfigTypeDef sMasterConfig = { 0 };
- 8001072:      1d3b            adds    r3, r7, #4
- 8001074:      2200            movs    r2, #0
- 8001076:      601a            str     r2, [r3, #0]
- 8001078:      605a            str     r2, [r3, #4]
- 800107a:      609a            str     r2, [r3, #8]
+ 800103a:      1d3b            adds    r3, r7, #4
+ 800103c:      2200            movs    r2, #0
+ 800103e:      601a            str     r2, [r3, #0]
+ 8001040:      605a            str     r2, [r3, #4]
+ 8001042:      609a            str     r2, [r3, #8]
 
   /* USER CODE BEGIN TIM6_Init 1 */
 
   /* USER CODE END TIM6_Init 1 */
   htim6.Instance = TIM6;
- 800107c:      4b1a            ldr     r3, [pc, #104]  ; (80010e8 <_ZL12MX_TIM6_Initv+0x7c>)
- 800107e:      4a1b            ldr     r2, [pc, #108]  ; (80010ec <_ZL12MX_TIM6_Initv+0x80>)
- 8001080:      601a            str     r2, [r3, #0]
+ 8001044:      4b1a            ldr     r3, [pc, #104]  ; (80010b0 <_ZL12MX_TIM6_Initv+0x7c>)
+ 8001046:      4a1b            ldr     r2, [pc, #108]  ; (80010b4 <_ZL12MX_TIM6_Initv+0x80>)
+ 8001048:      601a            str     r2, [r3, #0]
   htim6.Init.Prescaler = 9999;
- 8001082:      4b19            ldr     r3, [pc, #100]  ; (80010e8 <_ZL12MX_TIM6_Initv+0x7c>)
- 8001084:      f242 720f       movw    r2, #9999       ; 0x270f
- 8001088:      605a            str     r2, [r3, #4]
+ 800104a:      4b19            ldr     r3, [pc, #100]  ; (80010b0 <_ZL12MX_TIM6_Initv+0x7c>)
+ 800104c:      f242 720f       movw    r2, #9999       ; 0x270f
+ 8001050:      605a            str     r2, [r3, #4]
   htim6.Init.CounterMode = TIM_COUNTERMODE_UP;
- 800108a:      4b17            ldr     r3, [pc, #92]   ; (80010e8 <_ZL12MX_TIM6_Initv+0x7c>)
- 800108c:      2200            movs    r2, #0
- 800108e:      609a            str     r2, [r3, #8]
+ 8001052:      4b17            ldr     r3, [pc, #92]   ; (80010b0 <_ZL12MX_TIM6_Initv+0x7c>)
+ 8001054:      2200            movs    r2, #0
+ 8001056:      609a            str     r2, [r3, #8]
   htim6.Init.Period = 799;
- 8001090:      4b15            ldr     r3, [pc, #84]   ; (80010e8 <_ZL12MX_TIM6_Initv+0x7c>)
- 8001092:      f240 321f       movw    r2, #799        ; 0x31f
- 8001096:      60da            str     r2, [r3, #12]
+ 8001058:      4b15            ldr     r3, [pc, #84]   ; (80010b0 <_ZL12MX_TIM6_Initv+0x7c>)
+ 800105a:      f240 321f       movw    r2, #799        ; 0x31f
+ 800105e:      60da            str     r2, [r3, #12]
   htim6.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
- 8001098:      4b13            ldr     r3, [pc, #76]   ; (80010e8 <_ZL12MX_TIM6_Initv+0x7c>)
- 800109a:      2200            movs    r2, #0
- 800109c:      619a            str     r2, [r3, #24]
+ 8001060:      4b13            ldr     r3, [pc, #76]   ; (80010b0 <_ZL12MX_TIM6_Initv+0x7c>)
+ 8001062:      2200            movs    r2, #0
+ 8001064:      619a            str     r2, [r3, #24]
   if (HAL_TIM_Base_Init(&htim6) != HAL_OK) {
- 800109e:      4812            ldr     r0, [pc, #72]   ; (80010e8 <_ZL12MX_TIM6_Initv+0x7c>)
- 80010a0:      f002 f836       bl      8003110 <HAL_TIM_Base_Init>
- 80010a4:      4603            mov     r3, r0
- 80010a6:      2b00            cmp     r3, #0
- 80010a8:      bf14            ite     ne
- 80010aa:      2301            movne   r3, #1
- 80010ac:      2300            moveq   r3, #0
- 80010ae:      b2db            uxtb    r3, r3
- 80010b0:      2b00            cmp     r3, #0
- 80010b2:      d001            beq.n   80010b8 <_ZL12MX_TIM6_Initv+0x4c>
+ 8001066:      4812            ldr     r0, [pc, #72]   ; (80010b0 <_ZL12MX_TIM6_Initv+0x7c>)
+ 8001068:      f002 f86a       bl      8003140 <HAL_TIM_Base_Init>
+ 800106c:      4603            mov     r3, r0
+ 800106e:      2b00            cmp     r3, #0
+ 8001070:      bf14            ite     ne
+ 8001072:      2301            movne   r3, #1
+ 8001074:      2300            moveq   r3, #0
+ 8001076:      b2db            uxtb    r3, r3
+ 8001078:      2b00            cmp     r3, #0
+ 800107a:      d001            beq.n   8001080 <_ZL12MX_TIM6_Initv+0x4c>
     Error_Handler();
- 80010b4:      f000 f996       bl      80013e4 <Error_Handler>
+ 800107c:      f000 f9ca       bl      8001414 <Error_Handler>
   }
   sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
- 80010b8:      2300            movs    r3, #0
- 80010ba:      607b            str     r3, [r7, #4]
+ 8001080:      2300            movs    r3, #0
+ 8001082:      607b            str     r3, [r7, #4]
   sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
- 80010bc:      2300            movs    r3, #0
- 80010be:      60fb            str     r3, [r7, #12]
+ 8001084:      2300            movs    r3, #0
+ 8001086:      60fb            str     r3, [r7, #12]
   if (HAL_TIMEx_MasterConfigSynchronization(&htim6, &sMasterConfig) != HAL_OK) {
- 80010c0:      1d3b            adds    r3, r7, #4
- 80010c2:      4619            mov     r1, r3
- 80010c4:      4808            ldr     r0, [pc, #32]   ; (80010e8 <_ZL12MX_TIM6_Initv+0x7c>)
- 80010c6:      f003 f893       bl      80041f0 <HAL_TIMEx_MasterConfigSynchronization>
- 80010ca:      4603            mov     r3, r0
- 80010cc:      2b00            cmp     r3, #0
- 80010ce:      bf14            ite     ne
- 80010d0:      2301            movne   r3, #1
- 80010d2:      2300            moveq   r3, #0
- 80010d4:      b2db            uxtb    r3, r3
- 80010d6:      2b00            cmp     r3, #0
- 80010d8:      d001            beq.n   80010de <_ZL12MX_TIM6_Initv+0x72>
+ 8001088:      1d3b            adds    r3, r7, #4
+ 800108a:      4619            mov     r1, r3
+ 800108c:      4808            ldr     r0, [pc, #32]   ; (80010b0 <_ZL12MX_TIM6_Initv+0x7c>)
+ 800108e:      f003 f8c7       bl      8004220 <HAL_TIMEx_MasterConfigSynchronization>
+ 8001092:      4603            mov     r3, r0
+ 8001094:      2b00            cmp     r3, #0
+ 8001096:      bf14            ite     ne
+ 8001098:      2301            movne   r3, #1
+ 800109a:      2300            moveq   r3, #0
+ 800109c:      b2db            uxtb    r3, r3
+ 800109e:      2b00            cmp     r3, #0
+ 80010a0:      d001            beq.n   80010a6 <_ZL12MX_TIM6_Initv+0x72>
     Error_Handler();
- 80010da:      f000 f983       bl      80013e4 <Error_Handler>
+ 80010a2:      f000 f9b7       bl      8001414 <Error_Handler>
   }
   /* USER CODE BEGIN TIM6_Init 2 */
 
   /* USER CODE END TIM6_Init 2 */
 
 }
- 80010de:      bf00            nop
- 80010e0:      3710            adds    r7, #16
- 80010e2:      46bd            mov     sp, r7
- 80010e4:      bd80            pop     {r7, pc}
- 80010e6:      bf00            nop
- 80010e8:      20000128        .word   0x20000128
- 80010ec:      40001000        .word   0x40001000
-
-080010f0 <_ZL19MX_USART6_UART_Initv>:
+ 80010a6:      bf00            nop
+ 80010a8:      3710            adds    r7, #16
+ 80010aa:      46bd            mov     sp, r7
+ 80010ac:      bd80            pop     {r7, pc}
+ 80010ae:      bf00            nop
+ 80010b0:      2000012c        .word   0x2000012c
+ 80010b4:      40001000        .word   0x40001000
+
+080010b8 <_ZL19MX_USART6_UART_Initv>:
 /**
  * @brief USART6 Initialization Function
  * @param None
  * @retval None
  */
 static void MX_USART6_UART_Init(void) {
- 80010f0:      b580            push    {r7, lr}
- 80010f2:      af00            add     r7, sp, #0
+ 80010b8:      b580            push    {r7, lr}
+ 80010ba:      af00            add     r7, sp, #0
   /* USER CODE END USART6_Init 0 */
 
   /* USER CODE BEGIN USART6_Init 1 */
 
   /* USER CODE END USART6_Init 1 */
   huart6.Instance = USART6;
- 80010f4:      4b17            ldr     r3, [pc, #92]   ; (8001154 <_ZL19MX_USART6_UART_Initv+0x64>)
- 80010f6:      4a18            ldr     r2, [pc, #96]   ; (8001158 <_ZL19MX_USART6_UART_Initv+0x68>)
- 80010f8:      601a            str     r2, [r3, #0]
+ 80010bc:      4b17            ldr     r3, [pc, #92]   ; (800111c <_ZL19MX_USART6_UART_Initv+0x64>)
+ 80010be:      4a18            ldr     r2, [pc, #96]   ; (8001120 <_ZL19MX_USART6_UART_Initv+0x68>)
+ 80010c0:      601a            str     r2, [r3, #0]
   huart6.Init.BaudRate = 115200;
- 80010fa:      4b16            ldr     r3, [pc, #88]   ; (8001154 <_ZL19MX_USART6_UART_Initv+0x64>)
- 80010fc:      f44f 32e1       mov.w   r2, #115200     ; 0x1c200
- 8001100:      605a            str     r2, [r3, #4]
+ 80010c2:      4b16            ldr     r3, [pc, #88]   ; (800111c <_ZL19MX_USART6_UART_Initv+0x64>)
+ 80010c4:      f44f 32e1       mov.w   r2, #115200     ; 0x1c200
+ 80010c8:      605a            str     r2, [r3, #4]
   huart6.Init.WordLength = UART_WORDLENGTH_9B;
- 8001102:      4b14            ldr     r3, [pc, #80]   ; (8001154 <_ZL19MX_USART6_UART_Initv+0x64>)
- 8001104:      f44f 5280       mov.w   r2, #4096       ; 0x1000
- 8001108:      609a            str     r2, [r3, #8]
+ 80010ca:      4b14            ldr     r3, [pc, #80]   ; (800111c <_ZL19MX_USART6_UART_Initv+0x64>)
+ 80010cc:      f44f 5280       mov.w   r2, #4096       ; 0x1000
+ 80010d0:      609a            str     r2, [r3, #8]
   huart6.Init.StopBits = UART_STOPBITS_1;
- 800110a:      4b12            ldr     r3, [pc, #72]   ; (8001154 <_ZL19MX_USART6_UART_Initv+0x64>)
- 800110c:      2200            movs    r2, #0
- 800110e:      60da            str     r2, [r3, #12]
+ 80010d2:      4b12            ldr     r3, [pc, #72]   ; (800111c <_ZL19MX_USART6_UART_Initv+0x64>)
+ 80010d4:      2200            movs    r2, #0
+ 80010d6:      60da            str     r2, [r3, #12]
   huart6.Init.Parity = UART_PARITY_ODD;
- 8001110:      4b10            ldr     r3, [pc, #64]   ; (8001154 <_ZL19MX_USART6_UART_Initv+0x64>)
- 8001112:      f44f 62c0       mov.w   r2, #1536       ; 0x600
- 8001116:      611a            str     r2, [r3, #16]
+ 80010d8:      4b10            ldr     r3, [pc, #64]   ; (800111c <_ZL19MX_USART6_UART_Initv+0x64>)
+ 80010da:      f44f 62c0       mov.w   r2, #1536       ; 0x600
+ 80010de:      611a            str     r2, [r3, #16]
   huart6.Init.Mode = UART_MODE_TX_RX;
- 8001118:      4b0e            ldr     r3, [pc, #56]   ; (8001154 <_ZL19MX_USART6_UART_Initv+0x64>)
- 800111a:      220c            movs    r2, #12
- 800111c:      615a            str     r2, [r3, #20]
+ 80010e0:      4b0e            ldr     r3, [pc, #56]   ; (800111c <_ZL19MX_USART6_UART_Initv+0x64>)
+ 80010e2:      220c            movs    r2, #12
+ 80010e4:      615a            str     r2, [r3, #20]
   huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE;
- 800111e:      4b0d            ldr     r3, [pc, #52]   ; (8001154 <_ZL19MX_USART6_UART_Initv+0x64>)
- 8001120:      2200            movs    r2, #0
- 8001122:      619a            str     r2, [r3, #24]
+ 80010e6:      4b0d            ldr     r3, [pc, #52]   ; (800111c <_ZL19MX_USART6_UART_Initv+0x64>)
+ 80010e8:      2200            movs    r2, #0
+ 80010ea:      619a            str     r2, [r3, #24]
   huart6.Init.OverSampling = UART_OVERSAMPLING_16;
- 8001124:      4b0b            ldr     r3, [pc, #44]   ; (8001154 <_ZL19MX_USART6_UART_Initv+0x64>)
- 8001126:      2200            movs    r2, #0
- 8001128:      61da            str     r2, [r3, #28]
+ 80010ec:      4b0b            ldr     r3, [pc, #44]   ; (800111c <_ZL19MX_USART6_UART_Initv+0x64>)
+ 80010ee:      2200            movs    r2, #0
+ 80010f0:      61da            str     r2, [r3, #28]
   huart6.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
- 800112a:      4b0a            ldr     r3, [pc, #40]   ; (8001154 <_ZL19MX_USART6_UART_Initv+0x64>)
- 800112c:      2200            movs    r2, #0
- 800112e:      621a            str     r2, [r3, #32]
+ 80010f2:      4b0a            ldr     r3, [pc, #40]   ; (800111c <_ZL19MX_USART6_UART_Initv+0x64>)
+ 80010f4:      2200            movs    r2, #0
+ 80010f6:      621a            str     r2, [r3, #32]
   huart6.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
- 8001130:      4b08            ldr     r3, [pc, #32]   ; (8001154 <_ZL19MX_USART6_UART_Initv+0x64>)
- 8001132:      2200            movs    r2, #0
- 8001134:      625a            str     r2, [r3, #36]   ; 0x24
+ 80010f8:      4b08            ldr     r3, [pc, #32]   ; (800111c <_ZL19MX_USART6_UART_Initv+0x64>)
+ 80010fa:      2200            movs    r2, #0
+ 80010fc:      625a            str     r2, [r3, #36]   ; 0x24
   if (HAL_UART_Init(&huart6) != HAL_OK) {
- 8001136:      4807            ldr     r0, [pc, #28]   ; (8001154 <_ZL19MX_USART6_UART_Initv+0x64>)
- 8001138:      f003 f8d4       bl      80042e4 <HAL_UART_Init>
- 800113c:      4603            mov     r3, r0
- 800113e:      2b00            cmp     r3, #0
- 8001140:      bf14            ite     ne
- 8001142:      2301            movne   r3, #1
- 8001144:      2300            moveq   r3, #0
- 8001146:      b2db            uxtb    r3, r3
- 8001148:      2b00            cmp     r3, #0
- 800114a:      d001            beq.n   8001150 <_ZL19MX_USART6_UART_Initv+0x60>
+ 80010fe:      4807            ldr     r0, [pc, #28]   ; (800111c <_ZL19MX_USART6_UART_Initv+0x64>)
+ 8001100:      f003 f908       bl      8004314 <HAL_UART_Init>
+ 8001104:      4603            mov     r3, r0
+ 8001106:      2b00            cmp     r3, #0
+ 8001108:      bf14            ite     ne
+ 800110a:      2301            movne   r3, #1
+ 800110c:      2300            moveq   r3, #0
+ 800110e:      b2db            uxtb    r3, r3
+ 8001110:      2b00            cmp     r3, #0
+ 8001112:      d001            beq.n   8001118 <_ZL19MX_USART6_UART_Initv+0x60>
     Error_Handler();
- 800114c:      f000 f94a       bl      80013e4 <Error_Handler>
+ 8001114:      f000 f97e       bl      8001414 <Error_Handler>
   }
   /* USER CODE BEGIN USART6_Init 2 */
 
   /* USER CODE END USART6_Init 2 */
 
 }
- 8001150:      bf00            nop
- 8001152:      bd80            pop     {r7, pc}
- 8001154:      20000168        .word   0x20000168
- 8001158:      40011400        .word   0x40011400
+ 8001118:      bf00            nop
+ 800111a:      bd80            pop     {r7, pc}
+ 800111c:      2000016c        .word   0x2000016c
+ 8001120:      40011400        .word   0x40011400
 
-0800115c <_ZL12MX_GPIO_Initv>:
+08001124 <_ZL12MX_GPIO_Initv>:
 /**
  * @brief GPIO Initialization Function
  * @param None
  * @retval None
  */
 static void MX_GPIO_Init(void) {
- 800115c:      b580            push    {r7, lr}
- 800115e:      b08c            sub     sp, #48 ; 0x30
- 8001160:      af00            add     r7, sp, #0
+ 8001124:      b580            push    {r7, lr}
+ 8001126:      b08c            sub     sp, #48 ; 0x30
+ 8001128:      af00            add     r7, sp, #0
   GPIO_InitTypeDef GPIO_InitStruct = { 0 };
- 8001162:      f107 031c       add.w   r3, r7, #28
- 8001166:      2200            movs    r2, #0
- 8001168:      601a            str     r2, [r3, #0]
- 800116a:      605a            str     r2, [r3, #4]
- 800116c:      609a            str     r2, [r3, #8]
- 800116e:      60da            str     r2, [r3, #12]
- 8001170:      611a            str     r2, [r3, #16]
+ 800112a:      f107 031c       add.w   r3, r7, #28
+ 800112e:      2200            movs    r2, #0
+ 8001130:      601a            str     r2, [r3, #0]
+ 8001132:      605a            str     r2, [r3, #4]
+ 8001134:      609a            str     r2, [r3, #8]
+ 8001136:      60da            str     r2, [r3, #12]
+ 8001138:      611a            str     r2, [r3, #16]
 
   /* GPIO Ports Clock Enable */
   __HAL_RCC_GPIOC_CLK_ENABLE();
- 8001172:      4b5e            ldr     r3, [pc, #376]  ; (80012ec <_ZL12MX_GPIO_Initv+0x190>)
- 8001174:      6b1b            ldr     r3, [r3, #48]   ; 0x30
- 8001176:      4a5d            ldr     r2, [pc, #372]  ; (80012ec <_ZL12MX_GPIO_Initv+0x190>)
- 8001178:      f043 0304       orr.w   r3, r3, #4
- 800117c:      6313            str     r3, [r2, #48]   ; 0x30
- 800117e:      4b5b            ldr     r3, [pc, #364]  ; (80012ec <_ZL12MX_GPIO_Initv+0x190>)
- 8001180:      6b1b            ldr     r3, [r3, #48]   ; 0x30
- 8001182:      f003 0304       and.w   r3, r3, #4
- 8001186:      61bb            str     r3, [r7, #24]
- 8001188:      69bb            ldr     r3, [r7, #24]
+ 800113a:      4b5e            ldr     r3, [pc, #376]  ; (80012b4 <_ZL12MX_GPIO_Initv+0x190>)
+ 800113c:      6b1b            ldr     r3, [r3, #48]   ; 0x30
+ 800113e:      4a5d            ldr     r2, [pc, #372]  ; (80012b4 <_ZL12MX_GPIO_Initv+0x190>)
+ 8001140:      f043 0304       orr.w   r3, r3, #4
+ 8001144:      6313            str     r3, [r2, #48]   ; 0x30
+ 8001146:      4b5b            ldr     r3, [pc, #364]  ; (80012b4 <_ZL12MX_GPIO_Initv+0x190>)
+ 8001148:      6b1b            ldr     r3, [r3, #48]   ; 0x30
+ 800114a:      f003 0304       and.w   r3, r3, #4
+ 800114e:      61bb            str     r3, [r7, #24]
+ 8001150:      69bb            ldr     r3, [r7, #24]
   __HAL_RCC_GPIOA_CLK_ENABLE();
- 800118a:      4b58            ldr     r3, [pc, #352]  ; (80012ec <_ZL12MX_GPIO_Initv+0x190>)
- 800118c:      6b1b            ldr     r3, [r3, #48]   ; 0x30
- 800118e:      4a57            ldr     r2, [pc, #348]  ; (80012ec <_ZL12MX_GPIO_Initv+0x190>)
- 8001190:      f043 0301       orr.w   r3, r3, #1
- 8001194:      6313            str     r3, [r2, #48]   ; 0x30
- 8001196:      4b55            ldr     r3, [pc, #340]  ; (80012ec <_ZL12MX_GPIO_Initv+0x190>)
- 8001198:      6b1b            ldr     r3, [r3, #48]   ; 0x30
- 800119a:      f003 0301       and.w   r3, r3, #1
- 800119e:      617b            str     r3, [r7, #20]
- 80011a0:      697b            ldr     r3, [r7, #20]
+ 8001152:      4b58            ldr     r3, [pc, #352]  ; (80012b4 <_ZL12MX_GPIO_Initv+0x190>)
+ 8001154:      6b1b            ldr     r3, [r3, #48]   ; 0x30
+ 8001156:      4a57            ldr     r2, [pc, #348]  ; (80012b4 <_ZL12MX_GPIO_Initv+0x190>)
+ 8001158:      f043 0301       orr.w   r3, r3, #1
+ 800115c:      6313            str     r3, [r2, #48]   ; 0x30
+ 800115e:      4b55            ldr     r3, [pc, #340]  ; (80012b4 <_ZL12MX_GPIO_Initv+0x190>)
+ 8001160:      6b1b            ldr     r3, [r3, #48]   ; 0x30
+ 8001162:      f003 0301       and.w   r3, r3, #1
+ 8001166:      617b            str     r3, [r7, #20]
+ 8001168:      697b            ldr     r3, [r7, #20]
   __HAL_RCC_GPIOF_CLK_ENABLE();
- 80011a2:      4b52            ldr     r3, [pc, #328]  ; (80012ec <_ZL12MX_GPIO_Initv+0x190>)
- 80011a4:      6b1b            ldr     r3, [r3, #48]   ; 0x30
- 80011a6:      4a51            ldr     r2, [pc, #324]  ; (80012ec <_ZL12MX_GPIO_Initv+0x190>)
- 80011a8:      f043 0320       orr.w   r3, r3, #32
- 80011ac:      6313            str     r3, [r2, #48]   ; 0x30
- 80011ae:      4b4f            ldr     r3, [pc, #316]  ; (80012ec <_ZL12MX_GPIO_Initv+0x190>)
- 80011b0:      6b1b            ldr     r3, [r3, #48]   ; 0x30
- 80011b2:      f003 0320       and.w   r3, r3, #32
- 80011b6:      613b            str     r3, [r7, #16]
- 80011b8:      693b            ldr     r3, [r7, #16]
+ 800116a:      4b52            ldr     r3, [pc, #328]  ; (80012b4 <_ZL12MX_GPIO_Initv+0x190>)
+ 800116c:      6b1b            ldr     r3, [r3, #48]   ; 0x30
+ 800116e:      4a51            ldr     r2, [pc, #324]  ; (80012b4 <_ZL12MX_GPIO_Initv+0x190>)
+ 8001170:      f043 0320       orr.w   r3, r3, #32
+ 8001174:      6313            str     r3, [r2, #48]   ; 0x30
+ 8001176:      4b4f            ldr     r3, [pc, #316]  ; (80012b4 <_ZL12MX_GPIO_Initv+0x190>)
+ 8001178:      6b1b            ldr     r3, [r3, #48]   ; 0x30
+ 800117a:      f003 0320       and.w   r3, r3, #32
+ 800117e:      613b            str     r3, [r7, #16]
+ 8001180:      693b            ldr     r3, [r7, #16]
   __HAL_RCC_GPIOE_CLK_ENABLE();
- 80011ba:      4b4c            ldr     r3, [pc, #304]  ; (80012ec <_ZL12MX_GPIO_Initv+0x190>)
- 80011bc:      6b1b            ldr     r3, [r3, #48]   ; 0x30
- 80011be:      4a4b            ldr     r2, [pc, #300]  ; (80012ec <_ZL12MX_GPIO_Initv+0x190>)
- 80011c0:      f043 0310       orr.w   r3, r3, #16
- 80011c4:      6313            str     r3, [r2, #48]   ; 0x30
- 80011c6:      4b49            ldr     r3, [pc, #292]  ; (80012ec <_ZL12MX_GPIO_Initv+0x190>)
- 80011c8:      6b1b            ldr     r3, [r3, #48]   ; 0x30
- 80011ca:      f003 0310       and.w   r3, r3, #16
- 80011ce:      60fb            str     r3, [r7, #12]
- 80011d0:      68fb            ldr     r3, [r7, #12]
+ 8001182:      4b4c            ldr     r3, [pc, #304]  ; (80012b4 <_ZL12MX_GPIO_Initv+0x190>)
+ 8001184:      6b1b            ldr     r3, [r3, #48]   ; 0x30
+ 8001186:      4a4b            ldr     r2, [pc, #300]  ; (80012b4 <_ZL12MX_GPIO_Initv+0x190>)
+ 8001188:      f043 0310       orr.w   r3, r3, #16
+ 800118c:      6313            str     r3, [r2, #48]   ; 0x30
+ 800118e:      4b49            ldr     r3, [pc, #292]  ; (80012b4 <_ZL12MX_GPIO_Initv+0x190>)
+ 8001190:      6b1b            ldr     r3, [r3, #48]   ; 0x30
+ 8001192:      f003 0310       and.w   r3, r3, #16
+ 8001196:      60fb            str     r3, [r7, #12]
+ 8001198:      68fb            ldr     r3, [r7, #12]
   __HAL_RCC_GPIOD_CLK_ENABLE();
- 80011d2:      4b46            ldr     r3, [pc, #280]  ; (80012ec <_ZL12MX_GPIO_Initv+0x190>)
- 80011d4:      6b1b            ldr     r3, [r3, #48]   ; 0x30
- 80011d6:      4a45            ldr     r2, [pc, #276]  ; (80012ec <_ZL12MX_GPIO_Initv+0x190>)
- 80011d8:      f043 0308       orr.w   r3, r3, #8
- 80011dc:      6313            str     r3, [r2, #48]   ; 0x30
- 80011de:      4b43            ldr     r3, [pc, #268]  ; (80012ec <_ZL12MX_GPIO_Initv+0x190>)
- 80011e0:      6b1b            ldr     r3, [r3, #48]   ; 0x30
- 80011e2:      f003 0308       and.w   r3, r3, #8
- 80011e6:      60bb            str     r3, [r7, #8]
- 80011e8:      68bb            ldr     r3, [r7, #8]
+ 800119a:      4b46            ldr     r3, [pc, #280]  ; (80012b4 <_ZL12MX_GPIO_Initv+0x190>)
+ 800119c:      6b1b            ldr     r3, [r3, #48]   ; 0x30
+ 800119e:      4a45            ldr     r2, [pc, #276]  ; (80012b4 <_ZL12MX_GPIO_Initv+0x190>)
+ 80011a0:      f043 0308       orr.w   r3, r3, #8
+ 80011a4:      6313            str     r3, [r2, #48]   ; 0x30
+ 80011a6:      4b43            ldr     r3, [pc, #268]  ; (80012b4 <_ZL12MX_GPIO_Initv+0x190>)
+ 80011a8:      6b1b            ldr     r3, [r3, #48]   ; 0x30
+ 80011aa:      f003 0308       and.w   r3, r3, #8
+ 80011ae:      60bb            str     r3, [r7, #8]
+ 80011b0:      68bb            ldr     r3, [r7, #8]
   __HAL_RCC_GPIOB_CLK_ENABLE();
- 80011ea:      4b40            ldr     r3, [pc, #256]  ; (80012ec <_ZL12MX_GPIO_Initv+0x190>)
- 80011ec:      6b1b            ldr     r3, [r3, #48]   ; 0x30
- 80011ee:      4a3f            ldr     r2, [pc, #252]  ; (80012ec <_ZL12MX_GPIO_Initv+0x190>)
- 80011f0:      f043 0302       orr.w   r3, r3, #2
- 80011f4:      6313            str     r3, [r2, #48]   ; 0x30
- 80011f6:      4b3d            ldr     r3, [pc, #244]  ; (80012ec <_ZL12MX_GPIO_Initv+0x190>)
- 80011f8:      6b1b            ldr     r3, [r3, #48]   ; 0x30
- 80011fa:      f003 0302       and.w   r3, r3, #2
- 80011fe:      607b            str     r3, [r7, #4]
- 8001200:      687b            ldr     r3, [r7, #4]
+ 80011b2:      4b40            ldr     r3, [pc, #256]  ; (80012b4 <_ZL12MX_GPIO_Initv+0x190>)
+ 80011b4:      6b1b            ldr     r3, [r3, #48]   ; 0x30
+ 80011b6:      4a3f            ldr     r2, [pc, #252]  ; (80012b4 <_ZL12MX_GPIO_Initv+0x190>)
+ 80011b8:      f043 0302       orr.w   r3, r3, #2
+ 80011bc:      6313            str     r3, [r2, #48]   ; 0x30
+ 80011be:      4b3d            ldr     r3, [pc, #244]  ; (80012b4 <_ZL12MX_GPIO_Initv+0x190>)
+ 80011c0:      6b1b            ldr     r3, [r3, #48]   ; 0x30
+ 80011c2:      f003 0302       and.w   r3, r3, #2
+ 80011c6:      607b            str     r3, [r7, #4]
+ 80011c8:      687b            ldr     r3, [r7, #4]
 
   /*Configure GPIO pin Output Level */
   HAL_GPIO_WritePin(GPIOF, dir2_Pin | dir1_Pin, GPIO_PIN_RESET);
- 8001202:      2200            movs    r2, #0
- 8001204:      f44f 5140       mov.w   r1, #12288      ; 0x3000
- 8001208:      4839            ldr     r0, [pc, #228]  ; (80012f0 <_ZL12MX_GPIO_Initv+0x194>)
- 800120a:      f000 fee9       bl      8001fe0 <HAL_GPIO_WritePin>
+ 80011ca:      2200            movs    r2, #0
+ 80011cc:      f44f 5140       mov.w   r1, #12288      ; 0x3000
+ 80011d0:      4839            ldr     r0, [pc, #228]  ; (80012b8 <_ZL12MX_GPIO_Initv+0x194>)
+ 80011d2:      f000 ff1d       bl      8002010 <HAL_GPIO_WritePin>
 
   /*Configure GPIO pin Output Level */
   HAL_GPIO_WritePin(GPIOF, sleep2_Pin | sleep1_Pin, GPIO_PIN_SET);
- 800120e:      2201            movs    r2, #1
- 8001210:      f44f 4140       mov.w   r1, #49152      ; 0xc000
- 8001214:      4836            ldr     r0, [pc, #216]  ; (80012f0 <_ZL12MX_GPIO_Initv+0x194>)
- 8001216:      f000 fee3       bl      8001fe0 <HAL_GPIO_WritePin>
+ 80011d6:      2201            movs    r2, #1
+ 80011d8:      f44f 4140       mov.w   r1, #49152      ; 0xc000
+ 80011dc:      4836            ldr     r0, [pc, #216]  ; (80012b8 <_ZL12MX_GPIO_Initv+0x194>)
+ 80011de:      f000 ff17       bl      8002010 <HAL_GPIO_WritePin>
 
   /*Configure GPIO pin : user_button_Pin */
   GPIO_InitStruct.Pin = user_button_Pin;
- 800121a:      f44f 5300       mov.w   r3, #8192       ; 0x2000
- 800121e:      61fb            str     r3, [r7, #28]
+ 80011e2:      f44f 5300       mov.w   r3, #8192       ; 0x2000
+ 80011e6:      61fb            str     r3, [r7, #28]
   GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;
- 8001220:      4b34            ldr     r3, [pc, #208]  ; (80012f4 <_ZL12MX_GPIO_Initv+0x198>)
- 8001222:      623b            str     r3, [r7, #32]
+ 80011e8:      4b34            ldr     r3, [pc, #208]  ; (80012bc <_ZL12MX_GPIO_Initv+0x198>)
+ 80011ea:      623b            str     r3, [r7, #32]
   GPIO_InitStruct.Pull = GPIO_NOPULL;
- 8001224:      2300            movs    r3, #0
- 8001226:      627b            str     r3, [r7, #36]   ; 0x24
+ 80011ec:      2300            movs    r3, #0
+ 80011ee:      627b            str     r3, [r7, #36]   ; 0x24
   HAL_GPIO_Init(user_button_GPIO_Port, &GPIO_InitStruct);
- 8001228:      f107 031c       add.w   r3, r7, #28
- 800122c:      4619            mov     r1, r3
- 800122e:      4832            ldr     r0, [pc, #200]  ; (80012f8 <_ZL12MX_GPIO_Initv+0x19c>)
- 8001230:      f000 fd2c       bl      8001c8c <HAL_GPIO_Init>
+ 80011f0:      f107 031c       add.w   r3, r7, #28
+ 80011f4:      4619            mov     r1, r3
+ 80011f6:      4832            ldr     r0, [pc, #200]  ; (80012c0 <_ZL12MX_GPIO_Initv+0x19c>)
+ 80011f8:      f000 fd60       bl      8001cbc <HAL_GPIO_Init>
 
   /*Configure GPIO pin : current2_Pin */
   GPIO_InitStruct.Pin = current2_Pin;
- 8001234:      2301            movs    r3, #1
- 8001236:      61fb            str     r3, [r7, #28]
+ 80011fc:      2301            movs    r3, #1
+ 80011fe:      61fb            str     r3, [r7, #28]
   GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
- 8001238:      2303            movs    r3, #3
- 800123a:      623b            str     r3, [r7, #32]
+ 8001200:      2303            movs    r3, #3
+ 8001202:      623b            str     r3, [r7, #32]
   GPIO_InitStruct.Pull = GPIO_NOPULL;
- 800123c:      2300            movs    r3, #0
- 800123e:      627b            str     r3, [r7, #36]   ; 0x24
+ 8001204:      2300            movs    r3, #0
+ 8001206:      627b            str     r3, [r7, #36]   ; 0x24
   HAL_GPIO_Init(current2_GPIO_Port, &GPIO_InitStruct);
- 8001240:      f107 031c       add.w   r3, r7, #28
- 8001244:      4619            mov     r1, r3
- 8001246:      482c            ldr     r0, [pc, #176]  ; (80012f8 <_ZL12MX_GPIO_Initv+0x19c>)
- 8001248:      f000 fd20       bl      8001c8c <HAL_GPIO_Init>
+ 8001208:      f107 031c       add.w   r3, r7, #28
+ 800120c:      4619            mov     r1, r3
+ 800120e:      482c            ldr     r0, [pc, #176]  ; (80012c0 <_ZL12MX_GPIO_Initv+0x19c>)
+ 8001210:      f000 fd54       bl      8001cbc <HAL_GPIO_Init>
 
   /*Configure GPIO pin : current1_Pin */
   GPIO_InitStruct.Pin = current1_Pin;
- 800124c:      2308            movs    r3, #8
- 800124e:      61fb            str     r3, [r7, #28]
+ 8001214:      2308            movs    r3, #8
+ 8001216:      61fb            str     r3, [r7, #28]
   GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
- 8001250:      2303            movs    r3, #3
- 8001252:      623b            str     r3, [r7, #32]
+ 8001218:      2303            movs    r3, #3
+ 800121a:      623b            str     r3, [r7, #32]
   GPIO_InitStruct.Pull = GPIO_NOPULL;
- 8001254:      2300            movs    r3, #0
- 8001256:      627b            str     r3, [r7, #36]   ; 0x24
+ 800121c:      2300            movs    r3, #0
+ 800121e:      627b            str     r3, [r7, #36]   ; 0x24
   HAL_GPIO_Init(current1_GPIO_Port, &GPIO_InitStruct);
- 8001258:      f107 031c       add.w   r3, r7, #28
- 800125c:      4619            mov     r1, r3
- 800125e:      4827            ldr     r0, [pc, #156]  ; (80012fc <_ZL12MX_GPIO_Initv+0x1a0>)
- 8001260:      f000 fd14       bl      8001c8c <HAL_GPIO_Init>
+ 8001220:      f107 031c       add.w   r3, r7, #28
+ 8001224:      4619            mov     r1, r3
+ 8001226:      4827            ldr     r0, [pc, #156]  ; (80012c4 <_ZL12MX_GPIO_Initv+0x1a0>)
+ 8001228:      f000 fd48       bl      8001cbc <HAL_GPIO_Init>
 
   /*Configure GPIO pin : fault2_Pin */
   GPIO_InitStruct.Pin = fault2_Pin;
- 8001264:      2340            movs    r3, #64 ; 0x40
- 8001266:      61fb            str     r3, [r7, #28]
+ 800122c:      2340            movs    r3, #64 ; 0x40
+ 800122e:      61fb            str     r3, [r7, #28]
   GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
- 8001268:      2300            movs    r3, #0
- 800126a:      623b            str     r3, [r7, #32]
+ 8001230:      2300            movs    r3, #0
+ 8001232:      623b            str     r3, [r7, #32]
   GPIO_InitStruct.Pull = GPIO_NOPULL;
- 800126c:      2300            movs    r3, #0
- 800126e:      627b            str     r3, [r7, #36]   ; 0x24
+ 8001234:      2300            movs    r3, #0
+ 8001236:      627b            str     r3, [r7, #36]   ; 0x24
   HAL_GPIO_Init(fault2_GPIO_Port, &GPIO_InitStruct);
- 8001270:      f107 031c       add.w   r3, r7, #28
- 8001274:      4619            mov     r1, r3
- 8001276:      4821            ldr     r0, [pc, #132]  ; (80012fc <_ZL12MX_GPIO_Initv+0x1a0>)
- 8001278:      f000 fd08       bl      8001c8c <HAL_GPIO_Init>
+ 8001238:      f107 031c       add.w   r3, r7, #28
+ 800123c:      4619            mov     r1, r3
+ 800123e:      4821            ldr     r0, [pc, #132]  ; (80012c4 <_ZL12MX_GPIO_Initv+0x1a0>)
+ 8001240:      f000 fd3c       bl      8001cbc <HAL_GPIO_Init>
 
   /*Configure GPIO pins : dir2_Pin dir1_Pin */
   GPIO_InitStruct.Pin = dir2_Pin | dir1_Pin;
- 800127c:      f44f 5340       mov.w   r3, #12288      ; 0x3000
- 8001280:      61fb            str     r3, [r7, #28]
+ 8001244:      f44f 5340       mov.w   r3, #12288      ; 0x3000
+ 8001248:      61fb            str     r3, [r7, #28]
   GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
- 8001282:      2301            movs    r3, #1
- 8001284:      623b            str     r3, [r7, #32]
+ 800124a:      2301            movs    r3, #1
+ 800124c:      623b            str     r3, [r7, #32]
   GPIO_InitStruct.Pull = GPIO_NOPULL;
- 8001286:      2300            movs    r3, #0
- 8001288:      627b            str     r3, [r7, #36]   ; 0x24
+ 800124e:      2300            movs    r3, #0
+ 8001250:      627b            str     r3, [r7, #36]   ; 0x24
   GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
- 800128a:      2300            movs    r3, #0
- 800128c:      62bb            str     r3, [r7, #40]   ; 0x28
+ 8001252:      2300            movs    r3, #0
+ 8001254:      62bb            str     r3, [r7, #40]   ; 0x28
   HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
- 800128e:      f107 031c       add.w   r3, r7, #28
- 8001292:      4619            mov     r1, r3
- 8001294:      4816            ldr     r0, [pc, #88]   ; (80012f0 <_ZL12MX_GPIO_Initv+0x194>)
- 8001296:      f000 fcf9       bl      8001c8c <HAL_GPIO_Init>
+ 8001256:      f107 031c       add.w   r3, r7, #28
+ 800125a:      4619            mov     r1, r3
+ 800125c:      4816            ldr     r0, [pc, #88]   ; (80012b8 <_ZL12MX_GPIO_Initv+0x194>)
+ 800125e:      f000 fd2d       bl      8001cbc <HAL_GPIO_Init>
 
   /*Configure GPIO pins : sleep2_Pin sleep1_Pin */
   GPIO_InitStruct.Pin = sleep2_Pin | sleep1_Pin;
- 800129a:      f44f 4340       mov.w   r3, #49152      ; 0xc000
- 800129e:      61fb            str     r3, [r7, #28]
+ 8001262:      f44f 4340       mov.w   r3, #49152      ; 0xc000
+ 8001266:      61fb            str     r3, [r7, #28]
   GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
- 80012a0:      2301            movs    r3, #1
- 80012a2:      623b            str     r3, [r7, #32]
+ 8001268:      2301            movs    r3, #1
+ 800126a:      623b            str     r3, [r7, #32]
   GPIO_InitStruct.Pull = GPIO_PULLUP;
- 80012a4:      2301            movs    r3, #1
- 80012a6:      627b            str     r3, [r7, #36]   ; 0x24
+ 800126c:      2301            movs    r3, #1
+ 800126e:      627b            str     r3, [r7, #36]   ; 0x24
   GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
- 80012a8:      2300            movs    r3, #0
- 80012aa:      62bb            str     r3, [r7, #40]   ; 0x28
+ 8001270:      2300            movs    r3, #0
+ 8001272:      62bb            str     r3, [r7, #40]   ; 0x28
   HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
- 80012ac:      f107 031c       add.w   r3, r7, #28
- 80012b0:      4619            mov     r1, r3
- 80012b2:      480f            ldr     r0, [pc, #60]   ; (80012f0 <_ZL12MX_GPIO_Initv+0x194>)
- 80012b4:      f000 fcea       bl      8001c8c <HAL_GPIO_Init>
+ 8001274:      f107 031c       add.w   r3, r7, #28
+ 8001278:      4619            mov     r1, r3
+ 800127a:      480f            ldr     r0, [pc, #60]   ; (80012b8 <_ZL12MX_GPIO_Initv+0x194>)
+ 800127c:      f000 fd1e       bl      8001cbc <HAL_GPIO_Init>
 
   /*Configure GPIO pin : fault1_Pin */
   GPIO_InitStruct.Pin = fault1_Pin;
- 80012b8:      f44f 7300       mov.w   r3, #512        ; 0x200
- 80012bc:      61fb            str     r3, [r7, #28]
+ 8001280:      f44f 7300       mov.w   r3, #512        ; 0x200
+ 8001284:      61fb            str     r3, [r7, #28]
   GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
- 80012be:      2300            movs    r3, #0
- 80012c0:      623b            str     r3, [r7, #32]
+ 8001286:      2300            movs    r3, #0
+ 8001288:      623b            str     r3, [r7, #32]
   GPIO_InitStruct.Pull = GPIO_NOPULL;
- 80012c2:      2300            movs    r3, #0
- 80012c4:      627b            str     r3, [r7, #36]   ; 0x24
+ 800128a:      2300            movs    r3, #0
+ 800128c:      627b            str     r3, [r7, #36]   ; 0x24
   HAL_GPIO_Init(fault1_GPIO_Port, &GPIO_InitStruct);
- 80012c6:      f107 031c       add.w   r3, r7, #28
- 80012ca:      4619            mov     r1, r3
- 80012cc:      480c            ldr     r0, [pc, #48]   ; (8001300 <_ZL12MX_GPIO_Initv+0x1a4>)
- 80012ce:      f000 fcdd       bl      8001c8c <HAL_GPIO_Init>
+ 800128e:      f107 031c       add.w   r3, r7, #28
+ 8001292:      4619            mov     r1, r3
+ 8001294:      480c            ldr     r0, [pc, #48]   ; (80012c8 <_ZL12MX_GPIO_Initv+0x1a4>)
+ 8001296:      f000 fd11       bl      8001cbc <HAL_GPIO_Init>
 
   /* EXTI interrupt init*/
   HAL_NVIC_SetPriority(EXTI15_10_IRQn, 0, 0);
- 80012d2:      2200            movs    r2, #0
- 80012d4:      2100            movs    r1, #0
- 80012d6:      2028            movs    r0, #40 ; 0x28
- 80012d8:      f000 fc7f       bl      8001bda <HAL_NVIC_SetPriority>
+ 800129a:      2200            movs    r2, #0
+ 800129c:      2100            movs    r1, #0
+ 800129e:      2028            movs    r0, #40 ; 0x28
+ 80012a0:      f000 fcb3       bl      8001c0a <HAL_NVIC_SetPriority>
   HAL_NVIC_EnableIRQ(EXTI15_10_IRQn);
- 80012dc:      2028            movs    r0, #40 ; 0x28
- 80012de:      f000 fc98       bl      8001c12 <HAL_NVIC_EnableIRQ>
+ 80012a4:      2028            movs    r0, #40 ; 0x28
+ 80012a6:      f000 fccc       bl      8001c42 <HAL_NVIC_EnableIRQ>
 
 }
- 80012e2:      bf00            nop
- 80012e4:      3730            adds    r7, #48 ; 0x30
- 80012e6:      46bd            mov     sp, r7
- 80012e8:      bd80            pop     {r7, pc}
- 80012ea:      bf00            nop
- 80012ec:      40023800        .word   0x40023800
- 80012f0:      40021400        .word   0x40021400
- 80012f4:      10110000        .word   0x10110000
- 80012f8:      40020800        .word   0x40020800
- 80012fc:      40020000        .word   0x40020000
- 8001300:      40021000        .word   0x40021000
-
-08001304 <HAL_TIM_PeriodElapsedCallback>:
+ 80012aa:      bf00            nop
+ 80012ac:      3730            adds    r7, #48 ; 0x30
+ 80012ae:      46bd            mov     sp, r7
+ 80012b0:      bd80            pop     {r7, pc}
+ 80012b2:      bf00            nop
+ 80012b4:      40023800        .word   0x40023800
+ 80012b8:      40021400        .word   0x40021400
+ 80012bc:      10110000        .word   0x10110000
+ 80012c0:      40020800        .word   0x40020800
+ 80012c4:      40020000        .word   0x40020000
+ 80012c8:      40021000        .word   0x40021000
+
+080012cc <HAL_TIM_PeriodElapsedCallback>:
 
 /* USER CODE BEGIN 4 */
 void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) {
- 8001304:      b580            push    {r7, lr}
- 8001306:      b082            sub     sp, #8
- 8001308:      af00            add     r7, sp, #0
- 800130a:      6078            str     r0, [r7, #4]
+ 80012cc:      b580            push    {r7, lr}
+ 80012ce:      b082            sub     sp, #8
+ 80012d0:      af00            add     r7, sp, #0
+ 80012d2:      6078            str     r0, [r7, #4]
 
   //TIMER 10Hz PID control
   if (htim->Instance == TIM3) {
- 800130c:      687b            ldr     r3, [r7, #4]
- 800130e:      681b            ldr     r3, [r3, #0]
- 8001310:      4a1d            ldr     r2, [pc, #116]  ; (8001388 <HAL_TIM_PeriodElapsedCallback+0x84>)
- 8001312:      4293            cmp     r3, r2
- 8001314:      d11d            bne.n   8001352 <HAL_TIM_PeriodElapsedCallback+0x4e>
+ 80012d4:      687b            ldr     r3, [r7, #4]
+ 80012d6:      681b            ldr     r3, [r3, #0]
+ 80012d8:      4a34            ldr     r2, [pc, #208]  ; (80013ac <HAL_TIM_PeriodElapsedCallback+0xe0>)
+ 80012da:      4293            cmp     r3, r2
+ 80012dc:      d11d            bne.n   800131a <HAL_TIM_PeriodElapsedCallback+0x4e>
 
 //    left_pid.set(1.0);
     right_pid.set(-0.5);
- 8001316:      eebe 0a00       vmov.f32        s0, #224        ; 0xbf000000 -0.5
- 800131a:      481c            ldr     r0, [pc, #112]  ; (800138c <HAL_TIM_PeriodElapsedCallback+0x88>)
- 800131c:      f7ff fb8c       bl      8000a38 <_ZN3Pid3setEf>
+ 80012de:      eebe 0a00       vmov.f32        s0, #224        ; 0xbf000000 -0.5
+ 80012e2:      4833            ldr     r0, [pc, #204]  ; (80013b0 <HAL_TIM_PeriodElapsedCallback+0xe4>)
+ 80012e4:      f7ff fb7a       bl      80009dc <_ZN3Pid3setEf>
 
-//    left_velocity = left_encoder.GetLinearVelocity(5);
+//    left_velocity = left_encoder.GetLinearVelocity();
     right_velocity = right_encoder.GetLinearVelocity();
- 8001320:      481b            ldr     r0, [pc, #108]  ; (8001390 <HAL_TIM_PeriodElapsedCallback+0x8c>)
- 8001322:      f7ff f983       bl      800062c <_ZN7Encoder17GetLinearVelocityEv>
- 8001326:      eef0 7a40       vmov.f32        s15, s0
- 800132a:      4b1a            ldr     r3, [pc, #104]  ; (8001394 <HAL_TIM_PeriodElapsedCallback+0x90>)
- 800132c:      edc3 7a00       vstr    s15, [r3]
+ 80012e8:      4832            ldr     r0, [pc, #200]  ; (80013b4 <HAL_TIM_PeriodElapsedCallback+0xe8>)
+ 80012ea:      f7ff f99f       bl      800062c <_ZN7Encoder17GetLinearVelocityEv>
+ 80012ee:      eef0 7a40       vmov.f32        s15, s0
+ 80012f2:      4b31            ldr     r3, [pc, #196]  ; (80013b8 <HAL_TIM_PeriodElapsedCallback+0xec>)
+ 80012f4:      edc3 7a00       vstr    s15, [r3]
 //    left_dutycycle = left_pid.update(left_velocity);
     right_dutycycle = right_pid.update(right_velocity);
- 8001330:      4b18            ldr     r3, [pc, #96]   ; (8001394 <HAL_TIM_PeriodElapsedCallback+0x90>)
- 8001332:      edd3 7a00       vldr    s15, [r3]
- 8001336:      eeb0 0a67       vmov.f32        s0, s15
- 800133a:      4814            ldr     r0, [pc, #80]   ; (800138c <HAL_TIM_PeriodElapsedCallback+0x88>)
- 800133c:      f7ff fb8b       bl      8000a56 <_ZN3Pid6updateEf>
- 8001340:      4602            mov     r2, r0
- 8001342:      4b15            ldr     r3, [pc, #84]   ; (8001398 <HAL_TIM_PeriodElapsedCallback+0x94>)
- 8001344:      601a            str     r2, [r3, #0]
+ 80012f8:      4b2f            ldr     r3, [pc, #188]  ; (80013b8 <HAL_TIM_PeriodElapsedCallback+0xec>)
+ 80012fa:      edd3 7a00       vldr    s15, [r3]
+ 80012fe:      eeb0 0a67       vmov.f32        s0, s15
+ 8001302:      482b            ldr     r0, [pc, #172]  ; (80013b0 <HAL_TIM_PeriodElapsedCallback+0xe4>)
+ 8001304:      f7ff fb79       bl      80009fa <_ZN3Pid6updateEf>
+ 8001308:      4602            mov     r2, r0
+ 800130a:      4b2c            ldr     r3, [pc, #176]  ; (80013bc <HAL_TIM_PeriodElapsedCallback+0xf0>)
+ 800130c:      601a            str     r2, [r3, #0]
 
 //    left_motor.set_speed(left_dutycycle);
     right_motor.set_speed(right_dutycycle);
- 8001346:      4b14            ldr     r3, [pc, #80]   ; (8001398 <HAL_TIM_PeriodElapsedCallback+0x94>)
- 8001348:      681b            ldr     r3, [r3, #0]
- 800134a:      4619            mov     r1, r3
- 800134c:      4813            ldr     r0, [pc, #76]   ; (800139c <HAL_TIM_PeriodElapsedCallback+0x98>)
- 800134e:      f7ff fa66       bl      800081e <_ZN15MotorController9set_speedEi>
+ 800130e:      4b2b            ldr     r3, [pc, #172]  ; (80013bc <HAL_TIM_PeriodElapsedCallback+0xf0>)
+ 8001310:      681b            ldr     r3, [r3, #0]
+ 8001312:      4619            mov     r1, r3
+ 8001314:      482a            ldr     r0, [pc, #168]  ; (80013c0 <HAL_TIM_PeriodElapsedCallback+0xf4>)
+ 8001316:      f7ff fa54       bl      80007c2 <_ZN15MotorController9set_speedEi>
   }
 
   //TIMER 2Hz Transmit
   if (htim->Instance == TIM6) {
- 8001352:      687b            ldr     r3, [r7, #4]
- 8001354:      681b            ldr     r3, [r3, #0]
- 8001356:      4a12            ldr     r2, [pc, #72]   ; (80013a0 <HAL_TIM_PeriodElapsedCallback+0x9c>)
- 8001358:      4293            cmp     r3, r2
- 800135a:      d111            bne.n   8001380 <HAL_TIM_PeriodElapsedCallback+0x7c>
-    odom.UpdateValues();
- 800135c:      4811            ldr     r0, [pc, #68]   ; (80013a4 <HAL_TIM_PeriodElapsedCallback+0xa0>)
- 800135e:      f7ff f9f5       bl      800074c <_ZN8Odometry12UpdateValuesEv>
-
-    odom_msg.angular_velocity = odom.angular_velocity;
- 8001362:      4b10            ldr     r3, [pc, #64]   ; (80013a4 <HAL_TIM_PeriodElapsedCallback+0xa0>)
- 8001364:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 8001366:      4a10            ldr     r2, [pc, #64]   ; (80013a8 <HAL_TIM_PeriodElapsedCallback+0xa4>)
- 8001368:      6013            str     r3, [r2, #0]
-    odom_msg.linear_velocity = odom.linear_velocity;
- 800136a:      4b0e            ldr     r3, [pc, #56]   ; (80013a4 <HAL_TIM_PeriodElapsedCallback+0xa0>)
- 800136c:      6bdb            ldr     r3, [r3, #60]   ; 0x3c
- 800136e:      4a0e            ldr     r2, [pc, #56]   ; (80013a8 <HAL_TIM_PeriodElapsedCallback+0xa4>)
- 8001370:      6053            str     r3, [r2, #4]
+ 800131a:      687b            ldr     r3, [r7, #4]
+ 800131c:      681b            ldr     r3, [r3, #0]
+ 800131e:      4a29            ldr     r2, [pc, #164]  ; (80013c4 <HAL_TIM_PeriodElapsedCallback+0xf8>)
+ 8001320:      4293            cmp     r3, r2
+ 8001322:      d13f            bne.n   80013a4 <HAL_TIM_PeriodElapsedCallback+0xd8>
+    if(left_dutycycle >= 790){
+ 8001324:      4b28            ldr     r3, [pc, #160]  ; (80013c8 <HAL_TIM_PeriodElapsedCallback+0xfc>)
+ 8001326:      681b            ldr     r3, [r3, #0]
+ 8001328:      f240 3215       movw    r2, #789        ; 0x315
+ 800132c:      4293            cmp     r3, r2
+ 800132e:      dd03            ble.n   8001338 <HAL_TIM_PeriodElapsedCallback+0x6c>
+      flag = false;
+ 8001330:      4b26            ldr     r3, [pc, #152]  ; (80013cc <HAL_TIM_PeriodElapsedCallback+0x100>)
+ 8001332:      2200            movs    r2, #0
+ 8001334:      701a            strb    r2, [r3, #0]
+ 8001336:      e008            b.n     800134a <HAL_TIM_PeriodElapsedCallback+0x7e>
+    } else if(left_dutycycle <= -790){
+ 8001338:      4b23            ldr     r3, [pc, #140]  ; (80013c8 <HAL_TIM_PeriodElapsedCallback+0xfc>)
+ 800133a:      681b            ldr     r3, [r3, #0]
+ 800133c:      f46f 7245       mvn.w   r2, #788        ; 0x314
+ 8001340:      4293            cmp     r3, r2
+ 8001342:      da02            bge.n   800134a <HAL_TIM_PeriodElapsedCallback+0x7e>
+      flag = true;
+ 8001344:      4b21            ldr     r3, [pc, #132]  ; (80013cc <HAL_TIM_PeriodElapsedCallback+0x100>)
+ 8001346:      2201            movs    r2, #1
+ 8001348:      701a            strb    r2, [r3, #0]
+    }
+
+    left_motor.set_speed(left_dutycycle);
+ 800134a:      4b1f            ldr     r3, [pc, #124]  ; (80013c8 <HAL_TIM_PeriodElapsedCallback+0xfc>)
+ 800134c:      681b            ldr     r3, [r3, #0]
+ 800134e:      4619            mov     r1, r3
+ 8001350:      481f            ldr     r0, [pc, #124]  ; (80013d0 <HAL_TIM_PeriodElapsedCallback+0x104>)
+ 8001352:      f7ff fa36       bl      80007c2 <_ZN15MotorController9set_speedEi>
+    odom_msg.angular_velocity = left_dutycycle;
+ 8001356:      4b1c            ldr     r3, [pc, #112]  ; (80013c8 <HAL_TIM_PeriodElapsedCallback+0xfc>)
+ 8001358:      681b            ldr     r3, [r3, #0]
+ 800135a:      ee07 3a90       vmov    s15, r3
+ 800135e:      eef8 7ae7       vcvt.f32.s32    s15, s15
+ 8001362:      4b1c            ldr     r3, [pc, #112]  ; (80013d4 <HAL_TIM_PeriodElapsedCallback+0x108>)
+ 8001364:      edc3 7a00       vstr    s15, [r3]
+    odom_msg.linear_velocity = left_encoder.GetLinearVelocity();
+ 8001368:      481b            ldr     r0, [pc, #108]  ; (80013d8 <HAL_TIM_PeriodElapsedCallback+0x10c>)
+ 800136a:      f7ff f95f       bl      800062c <_ZN7Encoder17GetLinearVelocityEv>
+ 800136e:      eef0 7a40       vmov.f32        s15, s0
+ 8001372:      4b18            ldr     r3, [pc, #96]   ; (80013d4 <HAL_TIM_PeriodElapsedCallback+0x108>)
+ 8001374:      edc3 7a01       vstr    s15, [r3, #4]
+    if (flag)
+ 8001378:      4b14            ldr     r3, [pc, #80]   ; (80013cc <HAL_TIM_PeriodElapsedCallback+0x100>)
+ 800137a:      781b            ldrb    r3, [r3, #0]
+ 800137c:      2b00            cmp     r3, #0
+ 800137e:      d005            beq.n   800138c <HAL_TIM_PeriodElapsedCallback+0xc0>
+      left_dutycycle++;
+ 8001380:      4b11            ldr     r3, [pc, #68]   ; (80013c8 <HAL_TIM_PeriodElapsedCallback+0xfc>)
+ 8001382:      681b            ldr     r3, [r3, #0]
+ 8001384:      3301            adds    r3, #1
+ 8001386:      4a10            ldr     r2, [pc, #64]   ; (80013c8 <HAL_TIM_PeriodElapsedCallback+0xfc>)
+ 8001388:      6013            str     r3, [r2, #0]
+ 800138a:      e004            b.n     8001396 <HAL_TIM_PeriodElapsedCallback+0xca>
+    else
+      left_dutycycle--;
+ 800138c:      4b0e            ldr     r3, [pc, #56]   ; (80013c8 <HAL_TIM_PeriodElapsedCallback+0xfc>)
+ 800138e:      681b            ldr     r3, [r3, #0]
+ 8001390:      3b01            subs    r3, #1
+ 8001392:      4a0d            ldr     r2, [pc, #52]   ; (80013c8 <HAL_TIM_PeriodElapsedCallback+0xfc>)
+ 8001394:      6013            str     r3, [r2, #0]
 
     HAL_UART_Transmit(&huart6, tx_buffer, 8, 100);
- 8001372:      4b0e            ldr     r3, [pc, #56]   ; (80013ac <HAL_TIM_PeriodElapsedCallback+0xa8>)
- 8001374:      6819            ldr     r1, [r3, #0]
- 8001376:      2364            movs    r3, #100        ; 0x64
- 8001378:      2208            movs    r2, #8
- 800137a:      480d            ldr     r0, [pc, #52]   ; (80013b0 <HAL_TIM_PeriodElapsedCallback+0xac>)
- 800137c:      f003 f800       bl      8004380 <HAL_UART_Transmit>
+ 8001396:      4b11            ldr     r3, [pc, #68]   ; (80013dc <HAL_TIM_PeriodElapsedCallback+0x110>)
+ 8001398:      6819            ldr     r1, [r3, #0]
+ 800139a:      2364            movs    r3, #100        ; 0x64
+ 800139c:      2208            movs    r2, #8
+ 800139e:      4810            ldr     r0, [pc, #64]   ; (80013e0 <HAL_TIM_PeriodElapsedCallback+0x114>)
+ 80013a0:      f003 f806       bl      80043b0 <HAL_UART_Transmit>
   }
 }
- 8001380:      bf00            nop
- 8001382:      3708            adds    r7, #8
- 8001384:      46bd            mov     sp, r7
- 8001386:      bd80            pop     {r7, pc}
- 8001388:      40000400        .word   0x40000400
- 800138c:      200002b0        .word   0x200002b0
- 8001390:      20000204        .word   0x20000204
- 8001394:      20000268        .word   0x20000268
- 8001398:      20000338        .word   0x20000338
- 800139c:      20000354        .word   0x20000354
- 80013a0:      40001000        .word   0x40001000
- 80013a4:      20000220        .word   0x20000220
- 80013a8:      20000374        .word   0x20000374
- 80013ac:      2000036c        .word   0x2000036c
- 80013b0:      20000168        .word   0x20000168
-
-080013b4 <HAL_GPIO_EXTI_Callback>:
+ 80013a4:      bf00            nop
+ 80013a6:      3708            adds    r7, #8
+ 80013a8:      46bd            mov     sp, r7
+ 80013aa:      bd80            pop     {r7, pc}
+ 80013ac:      40000400        .word   0x40000400
+ 80013b0:      200002b4        .word   0x200002b4
+ 80013b4:      20000208        .word   0x20000208
+ 80013b8:      2000026c        .word   0x2000026c
+ 80013bc:      20000340        .word   0x20000340
+ 80013c0:      2000035c        .word   0x2000035c
+ 80013c4:      40001000        .word   0x40001000
+ 80013c8:      2000033c        .word   0x2000033c
+ 80013cc:      20000000        .word   0x20000000
+ 80013d0:      20000344        .word   0x20000344
+ 80013d4:      2000037c        .word   0x2000037c
+ 80013d8:      200001ec        .word   0x200001ec
+ 80013dc:      20000374        .word   0x20000374
+ 80013e0:      2000016c        .word   0x2000016c
+
+080013e4 <HAL_GPIO_EXTI_Callback>:
   //abilita interrupt nuovamente
   HAL_UART_Receive_IT(&huart6, rx_buffer, 8);
 
 }
 
 void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) {
- 80013b4:      b580            push    {r7, lr}
- 80013b6:      b082            sub     sp, #8
- 80013b8:      af00            add     r7, sp, #0
- 80013ba:      4603            mov     r3, r0
- 80013bc:      80fb            strh    r3, [r7, #6]
+ 80013e4:      b580            push    {r7, lr}
+ 80013e6:      b082            sub     sp, #8
+ 80013e8:      af00            add     r7, sp, #0
+ 80013ea:      4603            mov     r3, r0
+ 80013ec:      80fb            strh    r3, [r7, #6]
   if (GPIO_Pin == GPIO_PIN_13) {
- 80013be:      88fb            ldrh    r3, [r7, #6]
- 80013c0:      f5b3 5f00       cmp.w   r3, #8192       ; 0x2000
- 80013c4:      d106            bne.n   80013d4 <HAL_GPIO_EXTI_Callback+0x20>
+ 80013ee:      88fb            ldrh    r3, [r7, #6]
+ 80013f0:      f5b3 5f00       cmp.w   r3, #8192       ; 0x2000
+ 80013f4:      d106            bne.n   8001404 <HAL_GPIO_EXTI_Callback+0x20>
     left_motor.brake();
- 80013c6:      4805            ldr     r0, [pc, #20]   ; (80013dc <HAL_GPIO_EXTI_Callback+0x28>)
- 80013c8:      f7ff faba       bl      8000940 <_ZN15MotorController5brakeEv>
+ 80013f6:      4805            ldr     r0, [pc, #20]   ; (800140c <HAL_GPIO_EXTI_Callback+0x28>)
+ 80013f8:      f7ff fa74       bl      80008e4 <_ZN15MotorController5brakeEv>
     right_motor.brake();
- 80013cc:      4804            ldr     r0, [pc, #16]   ; (80013e0 <HAL_GPIO_EXTI_Callback+0x2c>)
- 80013ce:      f7ff fab7       bl      8000940 <_ZN15MotorController5brakeEv>
+ 80013fc:      4804            ldr     r0, [pc, #16]   ; (8001410 <HAL_GPIO_EXTI_Callback+0x2c>)
+ 80013fe:      f7ff fa71       bl      80008e4 <_ZN15MotorController5brakeEv>
     while(1){
- 80013d2:      e7fe            b.n     80013d2 <HAL_GPIO_EXTI_Callback+0x1e>
+ 8001402:      e7fe            b.n     8001402 <HAL_GPIO_EXTI_Callback+0x1e>
 
     }
   }
 }
- 80013d4:      bf00            nop
- 80013d6:      3708            adds    r7, #8
- 80013d8:      46bd            mov     sp, r7
- 80013da:      bd80            pop     {r7, pc}
- 80013dc:      2000033c        .word   0x2000033c
- 80013e0:      20000354        .word   0x20000354
+ 8001404:      bf00            nop
+ 8001406:      3708            adds    r7, #8
+ 8001408:      46bd            mov     sp, r7
+ 800140a:      bd80            pop     {r7, pc}
+ 800140c:      20000344        .word   0x20000344
+ 8001410:      2000035c        .word   0x2000035c
 
-080013e4 <Error_Handler>:
+08001414 <Error_Handler>:
 
 /**
  * @brief  This function is executed in case of error occurrence.
  * @retval None
  */
 void Error_Handler(void) {
- 80013e4:      b480            push    {r7}
- 80013e6:      af00            add     r7, sp, #0
+ 8001414:      b480            push    {r7}
+ 8001416:      af00            add     r7, sp, #0
   /* USER CODE BEGIN Error_Handler_Debug */
   /* User can add his own implementation to report the HAL error return state */
 
   /* USER CODE END Error_Handler_Debug */
 }
- 80013e8:      bf00            nop
- 80013ea:      46bd            mov     sp, r7
- 80013ec:      f85d 7b04       ldr.w   r7, [sp], #4
- 80013f0:      4770            bx      lr
+ 8001418:      bf00            nop
+ 800141a:      46bd            mov     sp, r7
+ 800141c:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8001420:      4770            bx      lr
        ...
 
-080013f4 <_Z41__static_initialization_and_destruction_0ii>:
- 80013f4:      b5f0            push    {r4, r5, r6, r7, lr}
- 80013f6:      b08f            sub     sp, #60 ; 0x3c
- 80013f8:      af0c            add     r7, sp, #48     ; 0x30
- 80013fa:      6078            str     r0, [r7, #4]
- 80013fc:      6039            str     r1, [r7, #0]
- 80013fe:      687b            ldr     r3, [r7, #4]
- 8001400:      2b01            cmp     r3, #1
- 8001402:      d158            bne.n   80014b6 <_Z41__static_initialization_and_destruction_0ii+0xc2>
- 8001404:      683b            ldr     r3, [r7, #0]
- 8001406:      f64f 72ff       movw    r2, #65535      ; 0xffff
- 800140a:      4293            cmp     r3, r2
- 800140c:      d153            bne.n   80014b6 <_Z41__static_initialization_and_destruction_0ii+0xc2>
+08001424 <_Z41__static_initialization_and_destruction_0ii>:
+ 8001424:      b5f0            push    {r4, r5, r6, r7, lr}
+ 8001426:      b08f            sub     sp, #60 ; 0x3c
+ 8001428:      af0c            add     r7, sp, #48     ; 0x30
+ 800142a:      6078            str     r0, [r7, #4]
+ 800142c:      6039            str     r1, [r7, #0]
+ 800142e:      687b            ldr     r3, [r7, #4]
+ 8001430:      2b01            cmp     r3, #1
+ 8001432:      d158            bne.n   80014e6 <_Z41__static_initialization_and_destruction_0ii+0xc2>
+ 8001434:      683b            ldr     r3, [r7, #0]
+ 8001436:      f64f 72ff       movw    r2, #65535      ; 0xffff
+ 800143a:      4293            cmp     r3, r2
+ 800143c:      d153            bne.n   80014e6 <_Z41__static_initialization_and_destruction_0ii+0xc2>
 Encoder left_encoder = Encoder(&htim5);
- 800140e:      492c            ldr     r1, [pc, #176]  ; (80014c0 <_Z41__static_initialization_and_destruction_0ii+0xcc>)
- 8001410:      482c            ldr     r0, [pc, #176]  ; (80014c4 <_Z41__static_initialization_and_destruction_0ii+0xd0>)
- 8001412:      f7ff f8b9       bl      8000588 <_ZN7EncoderC1EP17TIM_HandleTypeDef>
+ 800143e:      492c            ldr     r1, [pc, #176]  ; (80014f0 <_Z41__static_initialization_and_destruction_0ii+0xcc>)
+ 8001440:      482c            ldr     r0, [pc, #176]  ; (80014f4 <_Z41__static_initialization_and_destruction_0ii+0xd0>)
+ 8001442:      f7ff f8a1       bl      8000588 <_ZN7EncoderC1EP17TIM_HandleTypeDef>
 Encoder right_encoder = Encoder(&htim2);
- 8001416:      492c            ldr     r1, [pc, #176]  ; (80014c8 <_Z41__static_initialization_and_destruction_0ii+0xd4>)
- 8001418:      482c            ldr     r0, [pc, #176]  ; (80014cc <_Z41__static_initialization_and_destruction_0ii+0xd8>)
- 800141a:      f7ff f8b5       bl      8000588 <_ZN7EncoderC1EP17TIM_HandleTypeDef>
+ 8001446:      492c            ldr     r1, [pc, #176]  ; (80014f8 <_Z41__static_initialization_and_destruction_0ii+0xd4>)
+ 8001448:      482c            ldr     r0, [pc, #176]  ; (80014fc <_Z41__static_initialization_and_destruction_0ii+0xd8>)
+ 800144a:      f7ff f89d       bl      8000588 <_ZN7EncoderC1EP17TIM_HandleTypeDef>
 Odometry odom = Odometry(left_encoder, right_encoder);
- 800141e:      4e29            ldr     r6, [pc, #164]  ; (80014c4 <_Z41__static_initialization_and_destruction_0ii+0xd0>)
- 8001420:      4b2a            ldr     r3, [pc, #168]  ; (80014cc <_Z41__static_initialization_and_destruction_0ii+0xd8>)
- 8001422:      ac04            add     r4, sp, #16
- 8001424:      461d            mov     r5, r3
- 8001426:      cd0f            ldmia   r5!, {r0, r1, r2, r3}
- 8001428:      c40f            stmia   r4!, {r0, r1, r2, r3}
- 800142a:      e895 0007       ldmia.w r5, {r0, r1, r2}
- 800142e:      e884 0007       stmia.w r4, {r0, r1, r2}
- 8001432:      466c            mov     r4, sp
- 8001434:      f106 030c       add.w   r3, r6, #12
- 8001438:      cb0f            ldmia   r3, {r0, r1, r2, r3}
- 800143a:      e884 000f       stmia.w r4, {r0, r1, r2, r3}
- 800143e:      e896 000e       ldmia.w r6, {r1, r2, r3}
- 8001442:      4823            ldr     r0, [pc, #140]  ; (80014d0 <_Z41__static_initialization_and_destruction_0ii+0xdc>)
- 8001444:      f7ff f94e       bl      80006e4 <_ZN8OdometryC1E7EncoderS0_>
+ 800144e:      4e29            ldr     r6, [pc, #164]  ; (80014f4 <_Z41__static_initialization_and_destruction_0ii+0xd0>)
+ 8001450:      4b2a            ldr     r3, [pc, #168]  ; (80014fc <_Z41__static_initialization_and_destruction_0ii+0xd8>)
+ 8001452:      ac04            add     r4, sp, #16
+ 8001454:      461d            mov     r5, r3
+ 8001456:      cd0f            ldmia   r5!, {r0, r1, r2, r3}
+ 8001458:      c40f            stmia   r4!, {r0, r1, r2, r3}
+ 800145a:      e895 0007       ldmia.w r5, {r0, r1, r2}
+ 800145e:      e884 0007       stmia.w r4, {r0, r1, r2}
+ 8001462:      466c            mov     r4, sp
+ 8001464:      f106 030c       add.w   r3, r6, #12
+ 8001468:      cb0f            ldmia   r3, {r0, r1, r2, r3}
+ 800146a:      e884 000f       stmia.w r4, {r0, r1, r2, r3}
+ 800146e:      e896 000e       ldmia.w r6, {r1, r2, r3}
+ 8001472:      4823            ldr     r0, [pc, #140]  ; (8001500 <_Z41__static_initialization_and_destruction_0ii+0xdc>)
+ 8001474:      f7ff f940       bl      80006f8 <_ZN8OdometryC1E7EncoderS0_>
 Pid left_pid(100, 10, 0.0);
- 8001448:      ed9f 1a22       vldr    s2, [pc, #136]  ; 80014d4 <_Z41__static_initialization_and_destruction_0ii+0xe0>
- 800144c:      eef2 0a04       vmov.f32        s1, #36 ; 0x41200000  10.0
- 8001450:      ed9f 0a21       vldr    s0, [pc, #132]  ; 80014d8 <_Z41__static_initialization_and_destruction_0ii+0xe4>
- 8001454:      4821            ldr     r0, [pc, #132]  ; (80014dc <_Z41__static_initialization_and_destruction_0ii+0xe8>)
- 8001456:      f7ff fab4       bl      80009c2 <_ZN3PidC1Efff>
+ 8001478:      ed9f 1a22       vldr    s2, [pc, #136]  ; 8001504 <_Z41__static_initialization_and_destruction_0ii+0xe0>
+ 800147c:      eef2 0a04       vmov.f32        s1, #36 ; 0x41200000  10.0
+ 8001480:      ed9f 0a21       vldr    s0, [pc, #132]  ; 8001508 <_Z41__static_initialization_and_destruction_0ii+0xe4>
+ 8001484:      4821            ldr     r0, [pc, #132]  ; (800150c <_Z41__static_initialization_and_destruction_0ii+0xe8>)
+ 8001486:      f7ff fa6e       bl      8000966 <_ZN3PidC1Efff>
 Pid right_pid(300, 50, 0.0);
- 800145a:      ed9f 1a1e       vldr    s2, [pc, #120]  ; 80014d4 <_Z41__static_initialization_and_destruction_0ii+0xe0>
- 800145e:      eddf 0a20       vldr    s1, [pc, #128]  ; 80014e0 <_Z41__static_initialization_and_destruction_0ii+0xec>
- 8001462:      ed9f 0a20       vldr    s0, [pc, #128]  ; 80014e4 <_Z41__static_initialization_and_destruction_0ii+0xf0>
- 8001466:      4820            ldr     r0, [pc, #128]  ; (80014e8 <_Z41__static_initialization_and_destruction_0ii+0xf4>)
- 8001468:      f7ff faab       bl      80009c2 <_ZN3PidC1Efff>
+ 800148a:      ed9f 1a1e       vldr    s2, [pc, #120]  ; 8001504 <_Z41__static_initialization_and_destruction_0ii+0xe0>
+ 800148e:      eddf 0a20       vldr    s1, [pc, #128]  ; 8001510 <_Z41__static_initialization_and_destruction_0ii+0xec>
+ 8001492:      ed9f 0a20       vldr    s0, [pc, #128]  ; 8001514 <_Z41__static_initialization_and_destruction_0ii+0xf0>
+ 8001496:      4820            ldr     r0, [pc, #128]  ; (8001518 <_Z41__static_initialization_and_destruction_0ii+0xf4>)
+ 8001498:      f7ff fa65       bl      8000966 <_ZN3PidC1Efff>
 Pid cross_pid(1, 0.1, 0.0);
- 800146c:      ed9f 1a19       vldr    s2, [pc, #100]  ; 80014d4 <_Z41__static_initialization_and_destruction_0ii+0xe0>
- 8001470:      eddf 0a1e       vldr    s1, [pc, #120]  ; 80014ec <_Z41__static_initialization_and_destruction_0ii+0xf8>
- 8001474:      eeb7 0a00       vmov.f32        s0, #112        ; 0x3f800000  1.0
- 8001478:      481d            ldr     r0, [pc, #116]  ; (80014f0 <_Z41__static_initialization_and_destruction_0ii+0xfc>)
- 800147a:      f7ff faa2       bl      80009c2 <_ZN3PidC1Efff>
+ 800149c:      ed9f 1a19       vldr    s2, [pc, #100]  ; 8001504 <_Z41__static_initialization_and_destruction_0ii+0xe0>
+ 80014a0:      eddf 0a1e       vldr    s1, [pc, #120]  ; 800151c <_Z41__static_initialization_and_destruction_0ii+0xf8>
+ 80014a4:      eeb7 0a00       vmov.f32        s0, #112        ; 0x3f800000  1.0
+ 80014a8:      481d            ldr     r0, [pc, #116]  ; (8001520 <_Z41__static_initialization_and_destruction_0ii+0xfc>)
+ 80014aa:      f7ff fa5c       bl      8000966 <_ZN3PidC1Efff>
     TIM_CHANNEL_4);
- 800147e:      230c            movs    r3, #12
- 8001480:      9302            str     r3, [sp, #8]
- 8001482:      4b1c            ldr     r3, [pc, #112]  ; (80014f4 <_Z41__static_initialization_and_destruction_0ii+0x100>)
- 8001484:      9301            str     r3, [sp, #4]
- 8001486:      f44f 5300       mov.w   r3, #8192       ; 0x2000
- 800148a:      9300            str     r3, [sp, #0]
- 800148c:      4b1a            ldr     r3, [pc, #104]  ; (80014f8 <_Z41__static_initialization_and_destruction_0ii+0x104>)
- 800148e:      f44f 4200       mov.w   r2, #32768      ; 0x8000
- 8001492:      4919            ldr     r1, [pc, #100]  ; (80014f8 <_Z41__static_initialization_and_destruction_0ii+0x104>)
- 8001494:      4819            ldr     r0, [pc, #100]  ; (80014fc <_Z41__static_initialization_and_destruction_0ii+0x108>)
- 8001496:      f7ff f991       bl      80007bc <_ZN15MotorControllerC1EP12GPIO_TypeDeftS1_tP17TIM_HandleTypeDefm>
+ 80014ae:      230c            movs    r3, #12
+ 80014b0:      9302            str     r3, [sp, #8]
+ 80014b2:      4b1c            ldr     r3, [pc, #112]  ; (8001524 <_Z41__static_initialization_and_destruction_0ii+0x100>)
+ 80014b4:      9301            str     r3, [sp, #4]
+ 80014b6:      f44f 5300       mov.w   r3, #8192       ; 0x2000
+ 80014ba:      9300            str     r3, [sp, #0]
+ 80014bc:      4b1a            ldr     r3, [pc, #104]  ; (8001528 <_Z41__static_initialization_and_destruction_0ii+0x104>)
+ 80014be:      f44f 4200       mov.w   r2, #32768      ; 0x8000
+ 80014c2:      4919            ldr     r1, [pc, #100]  ; (8001528 <_Z41__static_initialization_and_destruction_0ii+0x104>)
+ 80014c4:      4819            ldr     r0, [pc, #100]  ; (800152c <_Z41__static_initialization_and_destruction_0ii+0x108>)
+ 80014c6:      f7ff f94b       bl      8000760 <_ZN15MotorControllerC1EP12GPIO_TypeDeftS1_tP17TIM_HandleTypeDefm>
     TIM_CHANNEL_3);
- 800149a:      2308            movs    r3, #8
- 800149c:      9302            str     r3, [sp, #8]
- 800149e:      4b15            ldr     r3, [pc, #84]   ; (80014f4 <_Z41__static_initialization_and_destruction_0ii+0x100>)
- 80014a0:      9301            str     r3, [sp, #4]
- 80014a2:      f44f 5380       mov.w   r3, #4096       ; 0x1000
- 80014a6:      9300            str     r3, [sp, #0]
- 80014a8:      4b13            ldr     r3, [pc, #76]   ; (80014f8 <_Z41__static_initialization_and_destruction_0ii+0x104>)
- 80014aa:      f44f 4280       mov.w   r2, #16384      ; 0x4000
- 80014ae:      4912            ldr     r1, [pc, #72]   ; (80014f8 <_Z41__static_initialization_and_destruction_0ii+0x104>)
- 80014b0:      4813            ldr     r0, [pc, #76]   ; (8001500 <_Z41__static_initialization_and_destruction_0ii+0x10c>)
- 80014b2:      f7ff f983       bl      80007bc <_ZN15MotorControllerC1EP12GPIO_TypeDeftS1_tP17TIM_HandleTypeDefm>
+ 80014ca:      2308            movs    r3, #8
+ 80014cc:      9302            str     r3, [sp, #8]
+ 80014ce:      4b15            ldr     r3, [pc, #84]   ; (8001524 <_Z41__static_initialization_and_destruction_0ii+0x100>)
+ 80014d0:      9301            str     r3, [sp, #4]
+ 80014d2:      f44f 5380       mov.w   r3, #4096       ; 0x1000
+ 80014d6:      9300            str     r3, [sp, #0]
+ 80014d8:      4b13            ldr     r3, [pc, #76]   ; (8001528 <_Z41__static_initialization_and_destruction_0ii+0x104>)
+ 80014da:      f44f 4280       mov.w   r2, #16384      ; 0x4000
+ 80014de:      4912            ldr     r1, [pc, #72]   ; (8001528 <_Z41__static_initialization_and_destruction_0ii+0x104>)
+ 80014e0:      4813            ldr     r0, [pc, #76]   ; (8001530 <_Z41__static_initialization_and_destruction_0ii+0x10c>)
+ 80014e2:      f7ff f93d       bl      8000760 <_ZN15MotorControllerC1EP12GPIO_TypeDeftS1_tP17TIM_HandleTypeDefm>
 }
- 80014b6:      bf00            nop
- 80014b8:      370c            adds    r7, #12
- 80014ba:      46bd            mov     sp, r7
- 80014bc:      bdf0            pop     {r4, r5, r6, r7, pc}
- 80014be:      bf00            nop
- 80014c0:      200000e8        .word   0x200000e8
- 80014c4:      200001e8        .word   0x200001e8
- 80014c8:      20000028        .word   0x20000028
- 80014cc:      20000204        .word   0x20000204
- 80014d0:      20000220        .word   0x20000220
- 80014d4:      00000000        .word   0x00000000
- 80014d8:      42c80000        .word   0x42c80000
- 80014dc:      2000026c        .word   0x2000026c
- 80014e0:      42480000        .word   0x42480000
- 80014e4:      43960000        .word   0x43960000
- 80014e8:      200002b0        .word   0x200002b0
- 80014ec:      3dcccccd        .word   0x3dcccccd
- 80014f0:      200002f4        .word   0x200002f4
- 80014f4:      200000a8        .word   0x200000a8
- 80014f8:      40021400        .word   0x40021400
- 80014fc:      2000033c        .word   0x2000033c
- 8001500:      20000354        .word   0x20000354
-
-08001504 <_GLOBAL__sub_I_htim2>:
- 8001504:      b580            push    {r7, lr}
- 8001506:      af00            add     r7, sp, #0
- 8001508:      f64f 71ff       movw    r1, #65535      ; 0xffff
- 800150c:      2001            movs    r0, #1
- 800150e:      f7ff ff71       bl      80013f4 <_Z41__static_initialization_and_destruction_0ii>
- 8001512:      bd80            pop     {r7, pc}
-
-08001514 <HAL_MspInit>:
+ 80014e6:      bf00            nop
+ 80014e8:      370c            adds    r7, #12
+ 80014ea:      46bd            mov     sp, r7
+ 80014ec:      bdf0            pop     {r4, r5, r6, r7, pc}
+ 80014ee:      bf00            nop
+ 80014f0:      200000ec        .word   0x200000ec
+ 80014f4:      200001ec        .word   0x200001ec
+ 80014f8:      2000002c        .word   0x2000002c
+ 80014fc:      20000208        .word   0x20000208
+ 8001500:      20000224        .word   0x20000224
+ 8001504:      00000000        .word   0x00000000
+ 8001508:      42c80000        .word   0x42c80000
+ 800150c:      20000270        .word   0x20000270
+ 8001510:      42480000        .word   0x42480000
+ 8001514:      43960000        .word   0x43960000
+ 8001518:      200002b4        .word   0x200002b4
+ 800151c:      3dcccccd        .word   0x3dcccccd
+ 8001520:      200002f8        .word   0x200002f8
+ 8001524:      200000ac        .word   0x200000ac
+ 8001528:      40021400        .word   0x40021400
+ 800152c:      20000344        .word   0x20000344
+ 8001530:      2000035c        .word   0x2000035c
+
+08001534 <_GLOBAL__sub_I_htim2>:
+ 8001534:      b580            push    {r7, lr}
+ 8001536:      af00            add     r7, sp, #0
+ 8001538:      f64f 71ff       movw    r1, #65535      ; 0xffff
+ 800153c:      2001            movs    r0, #1
+ 800153e:      f7ff ff71       bl      8001424 <_Z41__static_initialization_and_destruction_0ii>
+ 8001542:      bd80            pop     {r7, pc}
+
+08001544 <HAL_MspInit>:
 void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim);
                     /**
   * Initializes the Global MSP.
   */
 void HAL_MspInit(void)
 {
- 8001514:      b480            push    {r7}
- 8001516:      b083            sub     sp, #12
- 8001518:      af00            add     r7, sp, #0
+ 8001544:      b480            push    {r7}
+ 8001546:      b083            sub     sp, #12
+ 8001548:      af00            add     r7, sp, #0
   /* USER CODE BEGIN MspInit 0 */
 
   /* USER CODE END MspInit 0 */
 
   __HAL_RCC_PWR_CLK_ENABLE();
- 800151a:      4b0f            ldr     r3, [pc, #60]   ; (8001558 <HAL_MspInit+0x44>)
- 800151c:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 800151e:      4a0e            ldr     r2, [pc, #56]   ; (8001558 <HAL_MspInit+0x44>)
- 8001520:      f043 5380       orr.w   r3, r3, #268435456      ; 0x10000000
- 8001524:      6413            str     r3, [r2, #64]   ; 0x40
- 8001526:      4b0c            ldr     r3, [pc, #48]   ; (8001558 <HAL_MspInit+0x44>)
- 8001528:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 800152a:      f003 5380       and.w   r3, r3, #268435456      ; 0x10000000
- 800152e:      607b            str     r3, [r7, #4]
- 8001530:      687b            ldr     r3, [r7, #4]
+ 800154a:      4b0f            ldr     r3, [pc, #60]   ; (8001588 <HAL_MspInit+0x44>)
+ 800154c:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 800154e:      4a0e            ldr     r2, [pc, #56]   ; (8001588 <HAL_MspInit+0x44>)
+ 8001550:      f043 5380       orr.w   r3, r3, #268435456      ; 0x10000000
+ 8001554:      6413            str     r3, [r2, #64]   ; 0x40
+ 8001556:      4b0c            ldr     r3, [pc, #48]   ; (8001588 <HAL_MspInit+0x44>)
+ 8001558:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 800155a:      f003 5380       and.w   r3, r3, #268435456      ; 0x10000000
+ 800155e:      607b            str     r3, [r7, #4]
+ 8001560:      687b            ldr     r3, [r7, #4]
   __HAL_RCC_SYSCFG_CLK_ENABLE();
- 8001532:      4b09            ldr     r3, [pc, #36]   ; (8001558 <HAL_MspInit+0x44>)
- 8001534:      6c5b            ldr     r3, [r3, #68]   ; 0x44
- 8001536:      4a08            ldr     r2, [pc, #32]   ; (8001558 <HAL_MspInit+0x44>)
- 8001538:      f443 4380       orr.w   r3, r3, #16384  ; 0x4000
- 800153c:      6453            str     r3, [r2, #68]   ; 0x44
- 800153e:      4b06            ldr     r3, [pc, #24]   ; (8001558 <HAL_MspInit+0x44>)
- 8001540:      6c5b            ldr     r3, [r3, #68]   ; 0x44
- 8001542:      f403 4380       and.w   r3, r3, #16384  ; 0x4000
- 8001546:      603b            str     r3, [r7, #0]
- 8001548:      683b            ldr     r3, [r7, #0]
+ 8001562:      4b09            ldr     r3, [pc, #36]   ; (8001588 <HAL_MspInit+0x44>)
+ 8001564:      6c5b            ldr     r3, [r3, #68]   ; 0x44
+ 8001566:      4a08            ldr     r2, [pc, #32]   ; (8001588 <HAL_MspInit+0x44>)
+ 8001568:      f443 4380       orr.w   r3, r3, #16384  ; 0x4000
+ 800156c:      6453            str     r3, [r2, #68]   ; 0x44
+ 800156e:      4b06            ldr     r3, [pc, #24]   ; (8001588 <HAL_MspInit+0x44>)
+ 8001570:      6c5b            ldr     r3, [r3, #68]   ; 0x44
+ 8001572:      f403 4380       and.w   r3, r3, #16384  ; 0x4000
+ 8001576:      603b            str     r3, [r7, #0]
+ 8001578:      683b            ldr     r3, [r7, #0]
   /* System interrupt init*/
 
   /* USER CODE BEGIN MspInit 1 */
 
   /* USER CODE END MspInit 1 */
 }
- 800154a:      bf00            nop
- 800154c:      370c            adds    r7, #12
- 800154e:      46bd            mov     sp, r7
- 8001550:      f85d 7b04       ldr.w   r7, [sp], #4
- 8001554:      4770            bx      lr
- 8001556:      bf00            nop
- 8001558:      40023800        .word   0x40023800
-
-0800155c <HAL_TIM_Encoder_MspInit>:
+ 800157a:      bf00            nop
+ 800157c:      370c            adds    r7, #12
+ 800157e:      46bd            mov     sp, r7
+ 8001580:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8001584:      4770            bx      lr
+ 8001586:      bf00            nop
+ 8001588:      40023800        .word   0x40023800
+
+0800158c <HAL_TIM_Encoder_MspInit>:
 * This function configures the hardware resources used in this example
 * @param htim_encoder: TIM_Encoder handle pointer
 * @retval None
 */
 void HAL_TIM_Encoder_MspInit(TIM_HandleTypeDef* htim_encoder)
 {
- 800155c:      b580            push    {r7, lr}
- 800155e:      b08c            sub     sp, #48 ; 0x30
- 8001560:      af00            add     r7, sp, #0
- 8001562:      6078            str     r0, [r7, #4]
+ 800158c:      b580            push    {r7, lr}
+ 800158e:      b08c            sub     sp, #48 ; 0x30
+ 8001590:      af00            add     r7, sp, #0
+ 8001592:      6078            str     r0, [r7, #4]
   GPIO_InitTypeDef GPIO_InitStruct = {0};
- 8001564:      f107 031c       add.w   r3, r7, #28
- 8001568:      2200            movs    r2, #0
- 800156a:      601a            str     r2, [r3, #0]
- 800156c:      605a            str     r2, [r3, #4]
- 800156e:      609a            str     r2, [r3, #8]
- 8001570:      60da            str     r2, [r3, #12]
- 8001572:      611a            str     r2, [r3, #16]
+ 8001594:      f107 031c       add.w   r3, r7, #28
+ 8001598:      2200            movs    r2, #0
+ 800159a:      601a            str     r2, [r3, #0]
+ 800159c:      605a            str     r2, [r3, #4]
+ 800159e:      609a            str     r2, [r3, #8]
+ 80015a0:      60da            str     r2, [r3, #12]
+ 80015a2:      611a            str     r2, [r3, #16]
   if(htim_encoder->Instance==TIM2)
- 8001574:      687b            ldr     r3, [r7, #4]
- 8001576:      681b            ldr     r3, [r3, #0]
- 8001578:      f1b3 4f80       cmp.w   r3, #1073741824 ; 0x40000000
- 800157c:      d144            bne.n   8001608 <HAL_TIM_Encoder_MspInit+0xac>
+ 80015a4:      687b            ldr     r3, [r7, #4]
+ 80015a6:      681b            ldr     r3, [r3, #0]
+ 80015a8:      f1b3 4f80       cmp.w   r3, #1073741824 ; 0x40000000
+ 80015ac:      d144            bne.n   8001638 <HAL_TIM_Encoder_MspInit+0xac>
   {
   /* USER CODE BEGIN TIM2_MspInit 0 */
 
   /* USER CODE END TIM2_MspInit 0 */
     /* Peripheral clock enable */
     __HAL_RCC_TIM2_CLK_ENABLE();
- 800157e:      4b3b            ldr     r3, [pc, #236]  ; (800166c <HAL_TIM_Encoder_MspInit+0x110>)
- 8001580:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 8001582:      4a3a            ldr     r2, [pc, #232]  ; (800166c <HAL_TIM_Encoder_MspInit+0x110>)
- 8001584:      f043 0301       orr.w   r3, r3, #1
- 8001588:      6413            str     r3, [r2, #64]   ; 0x40
- 800158a:      4b38            ldr     r3, [pc, #224]  ; (800166c <HAL_TIM_Encoder_MspInit+0x110>)
- 800158c:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 800158e:      f003 0301       and.w   r3, r3, #1
- 8001592:      61bb            str     r3, [r7, #24]
- 8001594:      69bb            ldr     r3, [r7, #24]
+ 80015ae:      4b3b            ldr     r3, [pc, #236]  ; (800169c <HAL_TIM_Encoder_MspInit+0x110>)
+ 80015b0:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 80015b2:      4a3a            ldr     r2, [pc, #232]  ; (800169c <HAL_TIM_Encoder_MspInit+0x110>)
+ 80015b4:      f043 0301       orr.w   r3, r3, #1
+ 80015b8:      6413            str     r3, [r2, #64]   ; 0x40
+ 80015ba:      4b38            ldr     r3, [pc, #224]  ; (800169c <HAL_TIM_Encoder_MspInit+0x110>)
+ 80015bc:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 80015be:      f003 0301       and.w   r3, r3, #1
+ 80015c2:      61bb            str     r3, [r7, #24]
+ 80015c4:      69bb            ldr     r3, [r7, #24]
   
     __HAL_RCC_GPIOA_CLK_ENABLE();
- 8001596:      4b35            ldr     r3, [pc, #212]  ; (800166c <HAL_TIM_Encoder_MspInit+0x110>)
- 8001598:      6b1b            ldr     r3, [r3, #48]   ; 0x30
- 800159a:      4a34            ldr     r2, [pc, #208]  ; (800166c <HAL_TIM_Encoder_MspInit+0x110>)
- 800159c:      f043 0301       orr.w   r3, r3, #1
- 80015a0:      6313            str     r3, [r2, #48]   ; 0x30
- 80015a2:      4b32            ldr     r3, [pc, #200]  ; (800166c <HAL_TIM_Encoder_MspInit+0x110>)
- 80015a4:      6b1b            ldr     r3, [r3, #48]   ; 0x30
- 80015a6:      f003 0301       and.w   r3, r3, #1
- 80015aa:      617b            str     r3, [r7, #20]
- 80015ac:      697b            ldr     r3, [r7, #20]
+ 80015c6:      4b35            ldr     r3, [pc, #212]  ; (800169c <HAL_TIM_Encoder_MspInit+0x110>)
+ 80015c8:      6b1b            ldr     r3, [r3, #48]   ; 0x30
+ 80015ca:      4a34            ldr     r2, [pc, #208]  ; (800169c <HAL_TIM_Encoder_MspInit+0x110>)
+ 80015cc:      f043 0301       orr.w   r3, r3, #1
+ 80015d0:      6313            str     r3, [r2, #48]   ; 0x30
+ 80015d2:      4b32            ldr     r3, [pc, #200]  ; (800169c <HAL_TIM_Encoder_MspInit+0x110>)
+ 80015d4:      6b1b            ldr     r3, [r3, #48]   ; 0x30
+ 80015d6:      f003 0301       and.w   r3, r3, #1
+ 80015da:      617b            str     r3, [r7, #20]
+ 80015dc:      697b            ldr     r3, [r7, #20]
     __HAL_RCC_GPIOB_CLK_ENABLE();
- 80015ae:      4b2f            ldr     r3, [pc, #188]  ; (800166c <HAL_TIM_Encoder_MspInit+0x110>)
- 80015b0:      6b1b            ldr     r3, [r3, #48]   ; 0x30
- 80015b2:      4a2e            ldr     r2, [pc, #184]  ; (800166c <HAL_TIM_Encoder_MspInit+0x110>)
- 80015b4:      f043 0302       orr.w   r3, r3, #2
- 80015b8:      6313            str     r3, [r2, #48]   ; 0x30
- 80015ba:      4b2c            ldr     r3, [pc, #176]  ; (800166c <HAL_TIM_Encoder_MspInit+0x110>)
- 80015bc:      6b1b            ldr     r3, [r3, #48]   ; 0x30
- 80015be:      f003 0302       and.w   r3, r3, #2
- 80015c2:      613b            str     r3, [r7, #16]
- 80015c4:      693b            ldr     r3, [r7, #16]
+ 80015de:      4b2f            ldr     r3, [pc, #188]  ; (800169c <HAL_TIM_Encoder_MspInit+0x110>)
+ 80015e0:      6b1b            ldr     r3, [r3, #48]   ; 0x30
+ 80015e2:      4a2e            ldr     r2, [pc, #184]  ; (800169c <HAL_TIM_Encoder_MspInit+0x110>)
+ 80015e4:      f043 0302       orr.w   r3, r3, #2
+ 80015e8:      6313            str     r3, [r2, #48]   ; 0x30
+ 80015ea:      4b2c            ldr     r3, [pc, #176]  ; (800169c <HAL_TIM_Encoder_MspInit+0x110>)
+ 80015ec:      6b1b            ldr     r3, [r3, #48]   ; 0x30
+ 80015ee:      f003 0302       and.w   r3, r3, #2
+ 80015f2:      613b            str     r3, [r7, #16]
+ 80015f4:      693b            ldr     r3, [r7, #16]
     /**TIM2 GPIO Configuration    
     PA5     ------> TIM2_CH1
     PB3     ------> TIM2_CH2 
     */
     GPIO_InitStruct.Pin = encoder_dx1_Pin;
- 80015c6:      2320            movs    r3, #32
- 80015c8:      61fb            str     r3, [r7, #28]
+ 80015f6:      2320            movs    r3, #32
+ 80015f8:      61fb            str     r3, [r7, #28]
     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- 80015ca:      2302            movs    r3, #2
- 80015cc:      623b            str     r3, [r7, #32]
+ 80015fa:      2302            movs    r3, #2
+ 80015fc:      623b            str     r3, [r7, #32]
     GPIO_InitStruct.Pull = GPIO_NOPULL;
- 80015ce:      2300            movs    r3, #0
- 80015d0:      627b            str     r3, [r7, #36]   ; 0x24
+ 80015fe:      2300            movs    r3, #0
+ 8001600:      627b            str     r3, [r7, #36]   ; 0x24
     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
- 80015d2:      2300            movs    r3, #0
- 80015d4:      62bb            str     r3, [r7, #40]   ; 0x28
+ 8001602:      2300            movs    r3, #0
+ 8001604:      62bb            str     r3, [r7, #40]   ; 0x28
     GPIO_InitStruct.Alternate = GPIO_AF1_TIM2;
- 80015d6:      2301            movs    r3, #1
- 80015d8:      62fb            str     r3, [r7, #44]   ; 0x2c
+ 8001606:      2301            movs    r3, #1
+ 8001608:      62fb            str     r3, [r7, #44]   ; 0x2c
     HAL_GPIO_Init(encoder_dx1_GPIO_Port, &GPIO_InitStruct);
- 80015da:      f107 031c       add.w   r3, r7, #28
- 80015de:      4619            mov     r1, r3
- 80015e0:      4823            ldr     r0, [pc, #140]  ; (8001670 <HAL_TIM_Encoder_MspInit+0x114>)
- 80015e2:      f000 fb53       bl      8001c8c <HAL_GPIO_Init>
+ 800160a:      f107 031c       add.w   r3, r7, #28
+ 800160e:      4619            mov     r1, r3
+ 8001610:      4823            ldr     r0, [pc, #140]  ; (80016a0 <HAL_TIM_Encoder_MspInit+0x114>)
+ 8001612:      f000 fb53       bl      8001cbc <HAL_GPIO_Init>
 
     GPIO_InitStruct.Pin = encoder_dx2_Pin;
- 80015e6:      2308            movs    r3, #8
- 80015e8:      61fb            str     r3, [r7, #28]
+ 8001616:      2308            movs    r3, #8
+ 8001618:      61fb            str     r3, [r7, #28]
     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- 80015ea:      2302            movs    r3, #2
- 80015ec:      623b            str     r3, [r7, #32]
+ 800161a:      2302            movs    r3, #2
+ 800161c:      623b            str     r3, [r7, #32]
     GPIO_InitStruct.Pull = GPIO_NOPULL;
- 80015ee:      2300            movs    r3, #0
- 80015f0:      627b            str     r3, [r7, #36]   ; 0x24
+ 800161e:      2300            movs    r3, #0
+ 8001620:      627b            str     r3, [r7, #36]   ; 0x24
     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
- 80015f2:      2300            movs    r3, #0
- 80015f4:      62bb            str     r3, [r7, #40]   ; 0x28
+ 8001622:      2300            movs    r3, #0
+ 8001624:      62bb            str     r3, [r7, #40]   ; 0x28
     GPIO_InitStruct.Alternate = GPIO_AF1_TIM2;
- 80015f6:      2301            movs    r3, #1
- 80015f8:      62fb            str     r3, [r7, #44]   ; 0x2c
+ 8001626:      2301            movs    r3, #1
+ 8001628:      62fb            str     r3, [r7, #44]   ; 0x2c
     HAL_GPIO_Init(encoder_dx2_GPIO_Port, &GPIO_InitStruct);
- 80015fa:      f107 031c       add.w   r3, r7, #28
- 80015fe:      4619            mov     r1, r3
- 8001600:      481c            ldr     r0, [pc, #112]  ; (8001674 <HAL_TIM_Encoder_MspInit+0x118>)
- 8001602:      f000 fb43       bl      8001c8c <HAL_GPIO_Init>
+ 800162a:      f107 031c       add.w   r3, r7, #28
+ 800162e:      4619            mov     r1, r3
+ 8001630:      481c            ldr     r0, [pc, #112]  ; (80016a4 <HAL_TIM_Encoder_MspInit+0x118>)
+ 8001632:      f000 fb43       bl      8001cbc <HAL_GPIO_Init>
   /* USER CODE BEGIN TIM5_MspInit 1 */
 
   /* USER CODE END TIM5_MspInit 1 */
   }
 
 }
- 8001606:      e02c            b.n     8001662 <HAL_TIM_Encoder_MspInit+0x106>
+ 8001636:      e02c            b.n     8001692 <HAL_TIM_Encoder_MspInit+0x106>
   else if(htim_encoder->Instance==TIM5)
- 8001608:      687b            ldr     r3, [r7, #4]
- 800160a:      681b            ldr     r3, [r3, #0]
- 800160c:      4a1a            ldr     r2, [pc, #104]  ; (8001678 <HAL_TIM_Encoder_MspInit+0x11c>)
- 800160e:      4293            cmp     r3, r2
- 8001610:      d127            bne.n   8001662 <HAL_TIM_Encoder_MspInit+0x106>
+ 8001638:      687b            ldr     r3, [r7, #4]
+ 800163a:      681b            ldr     r3, [r3, #0]
+ 800163c:      4a1a            ldr     r2, [pc, #104]  ; (80016a8 <HAL_TIM_Encoder_MspInit+0x11c>)
+ 800163e:      4293            cmp     r3, r2
+ 8001640:      d127            bne.n   8001692 <HAL_TIM_Encoder_MspInit+0x106>
     __HAL_RCC_TIM5_CLK_ENABLE();
- 8001612:      4b16            ldr     r3, [pc, #88]   ; (800166c <HAL_TIM_Encoder_MspInit+0x110>)
- 8001614:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 8001616:      4a15            ldr     r2, [pc, #84]   ; (800166c <HAL_TIM_Encoder_MspInit+0x110>)
- 8001618:      f043 0308       orr.w   r3, r3, #8
- 800161c:      6413            str     r3, [r2, #64]   ; 0x40
- 800161e:      4b13            ldr     r3, [pc, #76]   ; (800166c <HAL_TIM_Encoder_MspInit+0x110>)
- 8001620:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 8001622:      f003 0308       and.w   r3, r3, #8
- 8001626:      60fb            str     r3, [r7, #12]
- 8001628:      68fb            ldr     r3, [r7, #12]
+ 8001642:      4b16            ldr     r3, [pc, #88]   ; (800169c <HAL_TIM_Encoder_MspInit+0x110>)
+ 8001644:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 8001646:      4a15            ldr     r2, [pc, #84]   ; (800169c <HAL_TIM_Encoder_MspInit+0x110>)
+ 8001648:      f043 0308       orr.w   r3, r3, #8
+ 800164c:      6413            str     r3, [r2, #64]   ; 0x40
+ 800164e:      4b13            ldr     r3, [pc, #76]   ; (800169c <HAL_TIM_Encoder_MspInit+0x110>)
+ 8001650:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 8001652:      f003 0308       and.w   r3, r3, #8
+ 8001656:      60fb            str     r3, [r7, #12]
+ 8001658:      68fb            ldr     r3, [r7, #12]
     __HAL_RCC_GPIOA_CLK_ENABLE();
- 800162a:      4b10            ldr     r3, [pc, #64]   ; (800166c <HAL_TIM_Encoder_MspInit+0x110>)
- 800162c:      6b1b            ldr     r3, [r3, #48]   ; 0x30
- 800162e:      4a0f            ldr     r2, [pc, #60]   ; (800166c <HAL_TIM_Encoder_MspInit+0x110>)
- 8001630:      f043 0301       orr.w   r3, r3, #1
- 8001634:      6313            str     r3, [r2, #48]   ; 0x30
- 8001636:      4b0d            ldr     r3, [pc, #52]   ; (800166c <HAL_TIM_Encoder_MspInit+0x110>)
- 8001638:      6b1b            ldr     r3, [r3, #48]   ; 0x30
- 800163a:      f003 0301       and.w   r3, r3, #1
- 800163e:      60bb            str     r3, [r7, #8]
- 8001640:      68bb            ldr     r3, [r7, #8]
+ 800165a:      4b10            ldr     r3, [pc, #64]   ; (800169c <HAL_TIM_Encoder_MspInit+0x110>)
+ 800165c:      6b1b            ldr     r3, [r3, #48]   ; 0x30
+ 800165e:      4a0f            ldr     r2, [pc, #60]   ; (800169c <HAL_TIM_Encoder_MspInit+0x110>)
+ 8001660:      f043 0301       orr.w   r3, r3, #1
+ 8001664:      6313            str     r3, [r2, #48]   ; 0x30
+ 8001666:      4b0d            ldr     r3, [pc, #52]   ; (800169c <HAL_TIM_Encoder_MspInit+0x110>)
+ 8001668:      6b1b            ldr     r3, [r3, #48]   ; 0x30
+ 800166a:      f003 0301       and.w   r3, r3, #1
+ 800166e:      60bb            str     r3, [r7, #8]
+ 8001670:      68bb            ldr     r3, [r7, #8]
     GPIO_InitStruct.Pin = encoder_sx1_Pin|encoder_sx2_Pin;
- 8001642:      2303            movs    r3, #3
- 8001644:      61fb            str     r3, [r7, #28]
+ 8001672:      2303            movs    r3, #3
+ 8001674:      61fb            str     r3, [r7, #28]
     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- 8001646:      2302            movs    r3, #2
- 8001648:      623b            str     r3, [r7, #32]
+ 8001676:      2302            movs    r3, #2
+ 8001678:      623b            str     r3, [r7, #32]
     GPIO_InitStruct.Pull = GPIO_NOPULL;
- 800164a:      2300            movs    r3, #0
- 800164c:      627b            str     r3, [r7, #36]   ; 0x24
+ 800167a:      2300            movs    r3, #0
+ 800167c:      627b            str     r3, [r7, #36]   ; 0x24
     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
- 800164e:      2300            movs    r3, #0
- 8001650:      62bb            str     r3, [r7, #40]   ; 0x28
+ 800167e:      2300            movs    r3, #0
+ 8001680:      62bb            str     r3, [r7, #40]   ; 0x28
     GPIO_InitStruct.Alternate = GPIO_AF2_TIM5;
- 8001652:      2302            movs    r3, #2
- 8001654:      62fb            str     r3, [r7, #44]   ; 0x2c
+ 8001682:      2302            movs    r3, #2
+ 8001684:      62fb            str     r3, [r7, #44]   ; 0x2c
     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
- 8001656:      f107 031c       add.w   r3, r7, #28
- 800165a:      4619            mov     r1, r3
- 800165c:      4804            ldr     r0, [pc, #16]   ; (8001670 <HAL_TIM_Encoder_MspInit+0x114>)
- 800165e:      f000 fb15       bl      8001c8c <HAL_GPIO_Init>
+ 8001686:      f107 031c       add.w   r3, r7, #28
+ 800168a:      4619            mov     r1, r3
+ 800168c:      4804            ldr     r0, [pc, #16]   ; (80016a0 <HAL_TIM_Encoder_MspInit+0x114>)
+ 800168e:      f000 fb15       bl      8001cbc <HAL_GPIO_Init>
 }
- 8001662:      bf00            nop
- 8001664:      3730            adds    r7, #48 ; 0x30
- 8001666:      46bd            mov     sp, r7
- 8001668:      bd80            pop     {r7, pc}
- 800166a:      bf00            nop
- 800166c:      40023800        .word   0x40023800
- 8001670:      40020000        .word   0x40020000
- 8001674:      40020400        .word   0x40020400
- 8001678:      40000c00        .word   0x40000c00
-
-0800167c <HAL_TIM_Base_MspInit>:
+ 8001692:      bf00            nop
+ 8001694:      3730            adds    r7, #48 ; 0x30
+ 8001696:      46bd            mov     sp, r7
+ 8001698:      bd80            pop     {r7, pc}
+ 800169a:      bf00            nop
+ 800169c:      40023800        .word   0x40023800
+ 80016a0:      40020000        .word   0x40020000
+ 80016a4:      40020400        .word   0x40020400
+ 80016a8:      40000c00        .word   0x40000c00
+
+080016ac <HAL_TIM_Base_MspInit>:
 * This function configures the hardware resources used in this example
 * @param htim_base: TIM_Base handle pointer
 * @retval None
 */
 void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
 {
- 800167c:      b480            push    {r7}
- 800167e:      b087            sub     sp, #28
- 8001680:      af00            add     r7, sp, #0
- 8001682:      6078            str     r0, [r7, #4]
+ 80016ac:      b480            push    {r7}
+ 80016ae:      b087            sub     sp, #28
+ 80016b0:      af00            add     r7, sp, #0
+ 80016b2:      6078            str     r0, [r7, #4]
   if(htim_base->Instance==TIM3)
- 8001684:      687b            ldr     r3, [r7, #4]
- 8001686:      681b            ldr     r3, [r3, #0]
- 8001688:      4a1c            ldr     r2, [pc, #112]  ; (80016fc <HAL_TIM_Base_MspInit+0x80>)
- 800168a:      4293            cmp     r3, r2
- 800168c:      d10c            bne.n   80016a8 <HAL_TIM_Base_MspInit+0x2c>
+ 80016b4:      687b            ldr     r3, [r7, #4]
+ 80016b6:      681b            ldr     r3, [r3, #0]
+ 80016b8:      4a1c            ldr     r2, [pc, #112]  ; (800172c <HAL_TIM_Base_MspInit+0x80>)
+ 80016ba:      4293            cmp     r3, r2
+ 80016bc:      d10c            bne.n   80016d8 <HAL_TIM_Base_MspInit+0x2c>
   {
   /* USER CODE BEGIN TIM3_MspInit 0 */
 
   /* USER CODE END TIM3_MspInit 0 */
     /* Peripheral clock enable */
     __HAL_RCC_TIM3_CLK_ENABLE();
- 800168e:      4b1c            ldr     r3, [pc, #112]  ; (8001700 <HAL_TIM_Base_MspInit+0x84>)
- 8001690:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 8001692:      4a1b            ldr     r2, [pc, #108]  ; (8001700 <HAL_TIM_Base_MspInit+0x84>)
- 8001694:      f043 0302       orr.w   r3, r3, #2
- 8001698:      6413            str     r3, [r2, #64]   ; 0x40
- 800169a:      4b19            ldr     r3, [pc, #100]  ; (8001700 <HAL_TIM_Base_MspInit+0x84>)
- 800169c:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 800169e:      f003 0302       and.w   r3, r3, #2
- 80016a2:      617b            str     r3, [r7, #20]
- 80016a4:      697b            ldr     r3, [r7, #20]
+ 80016be:      4b1c            ldr     r3, [pc, #112]  ; (8001730 <HAL_TIM_Base_MspInit+0x84>)
+ 80016c0:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 80016c2:      4a1b            ldr     r2, [pc, #108]  ; (8001730 <HAL_TIM_Base_MspInit+0x84>)
+ 80016c4:      f043 0302       orr.w   r3, r3, #2
+ 80016c8:      6413            str     r3, [r2, #64]   ; 0x40
+ 80016ca:      4b19            ldr     r3, [pc, #100]  ; (8001730 <HAL_TIM_Base_MspInit+0x84>)
+ 80016cc:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 80016ce:      f003 0302       and.w   r3, r3, #2
+ 80016d2:      617b            str     r3, [r7, #20]
+ 80016d4:      697b            ldr     r3, [r7, #20]
   /* USER CODE BEGIN TIM6_MspInit 1 */
 
   /* USER CODE END TIM6_MspInit 1 */
   }
 
 }
- 80016a6:      e022            b.n     80016ee <HAL_TIM_Base_MspInit+0x72>
+ 80016d6:      e022            b.n     800171e <HAL_TIM_Base_MspInit+0x72>
   else if(htim_base->Instance==TIM4)
- 80016a8:      687b            ldr     r3, [r7, #4]
- 80016aa:      681b            ldr     r3, [r3, #0]
- 80016ac:      4a15            ldr     r2, [pc, #84]   ; (8001704 <HAL_TIM_Base_MspInit+0x88>)
- 80016ae:      4293            cmp     r3, r2
- 80016b0:      d10c            bne.n   80016cc <HAL_TIM_Base_MspInit+0x50>
+ 80016d8:      687b            ldr     r3, [r7, #4]
+ 80016da:      681b            ldr     r3, [r3, #0]
+ 80016dc:      4a15            ldr     r2, [pc, #84]   ; (8001734 <HAL_TIM_Base_MspInit+0x88>)
+ 80016de:      4293            cmp     r3, r2
+ 80016e0:      d10c            bne.n   80016fc <HAL_TIM_Base_MspInit+0x50>
     __HAL_RCC_TIM4_CLK_ENABLE();
- 80016b2:      4b13            ldr     r3, [pc, #76]   ; (8001700 <HAL_TIM_Base_MspInit+0x84>)
- 80016b4:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 80016b6:      4a12            ldr     r2, [pc, #72]   ; (8001700 <HAL_TIM_Base_MspInit+0x84>)
- 80016b8:      f043 0304       orr.w   r3, r3, #4
- 80016bc:      6413            str     r3, [r2, #64]   ; 0x40
- 80016be:      4b10            ldr     r3, [pc, #64]   ; (8001700 <HAL_TIM_Base_MspInit+0x84>)
- 80016c0:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 80016c2:      f003 0304       and.w   r3, r3, #4
- 80016c6:      613b            str     r3, [r7, #16]
- 80016c8:      693b            ldr     r3, [r7, #16]
+ 80016e2:      4b13            ldr     r3, [pc, #76]   ; (8001730 <HAL_TIM_Base_MspInit+0x84>)
+ 80016e4:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 80016e6:      4a12            ldr     r2, [pc, #72]   ; (8001730 <HAL_TIM_Base_MspInit+0x84>)
+ 80016e8:      f043 0304       orr.w   r3, r3, #4
+ 80016ec:      6413            str     r3, [r2, #64]   ; 0x40
+ 80016ee:      4b10            ldr     r3, [pc, #64]   ; (8001730 <HAL_TIM_Base_MspInit+0x84>)
+ 80016f0:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 80016f2:      f003 0304       and.w   r3, r3, #4
+ 80016f6:      613b            str     r3, [r7, #16]
+ 80016f8:      693b            ldr     r3, [r7, #16]
 }
- 80016ca:      e010            b.n     80016ee <HAL_TIM_Base_MspInit+0x72>
+ 80016fa:      e010            b.n     800171e <HAL_TIM_Base_MspInit+0x72>
   else if(htim_base->Instance==TIM6)
- 80016cc:      687b            ldr     r3, [r7, #4]
- 80016ce:      681b            ldr     r3, [r3, #0]
- 80016d0:      4a0d            ldr     r2, [pc, #52]   ; (8001708 <HAL_TIM_Base_MspInit+0x8c>)
- 80016d2:      4293            cmp     r3, r2
- 80016d4:      d10b            bne.n   80016ee <HAL_TIM_Base_MspInit+0x72>
+ 80016fc:      687b            ldr     r3, [r7, #4]
+ 80016fe:      681b            ldr     r3, [r3, #0]
+ 8001700:      4a0d            ldr     r2, [pc, #52]   ; (8001738 <HAL_TIM_Base_MspInit+0x8c>)
+ 8001702:      4293            cmp     r3, r2
+ 8001704:      d10b            bne.n   800171e <HAL_TIM_Base_MspInit+0x72>
     __HAL_RCC_TIM6_CLK_ENABLE();
- 80016d6:      4b0a            ldr     r3, [pc, #40]   ; (8001700 <HAL_TIM_Base_MspInit+0x84>)
- 80016d8:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 80016da:      4a09            ldr     r2, [pc, #36]   ; (8001700 <HAL_TIM_Base_MspInit+0x84>)
- 80016dc:      f043 0310       orr.w   r3, r3, #16
- 80016e0:      6413            str     r3, [r2, #64]   ; 0x40
- 80016e2:      4b07            ldr     r3, [pc, #28]   ; (8001700 <HAL_TIM_Base_MspInit+0x84>)
- 80016e4:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 80016e6:      f003 0310       and.w   r3, r3, #16
- 80016ea:      60fb            str     r3, [r7, #12]
- 80016ec:      68fb            ldr     r3, [r7, #12]
+ 8001706:      4b0a            ldr     r3, [pc, #40]   ; (8001730 <HAL_TIM_Base_MspInit+0x84>)
+ 8001708:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 800170a:      4a09            ldr     r2, [pc, #36]   ; (8001730 <HAL_TIM_Base_MspInit+0x84>)
+ 800170c:      f043 0310       orr.w   r3, r3, #16
+ 8001710:      6413            str     r3, [r2, #64]   ; 0x40
+ 8001712:      4b07            ldr     r3, [pc, #28]   ; (8001730 <HAL_TIM_Base_MspInit+0x84>)
+ 8001714:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 8001716:      f003 0310       and.w   r3, r3, #16
+ 800171a:      60fb            str     r3, [r7, #12]
+ 800171c:      68fb            ldr     r3, [r7, #12]
 }
- 80016ee:      bf00            nop
- 80016f0:      371c            adds    r7, #28
- 80016f2:      46bd            mov     sp, r7
- 80016f4:      f85d 7b04       ldr.w   r7, [sp], #4
- 80016f8:      4770            bx      lr
- 80016fa:      bf00            nop
- 80016fc:      40000400        .word   0x40000400
- 8001700:      40023800        .word   0x40023800
- 8001704:      40000800        .word   0x40000800
- 8001708:      40001000        .word   0x40001000
-
-0800170c <HAL_TIM_MspPostInit>:
+ 800171e:      bf00            nop
+ 8001720:      371c            adds    r7, #28
+ 8001722:      46bd            mov     sp, r7
+ 8001724:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8001728:      4770            bx      lr
+ 800172a:      bf00            nop
+ 800172c:      40000400        .word   0x40000400
+ 8001730:      40023800        .word   0x40023800
+ 8001734:      40000800        .word   0x40000800
+ 8001738:      40001000        .word   0x40001000
+
+0800173c <HAL_TIM_MspPostInit>:
 
 void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim)
 {
- 800170c:      b580            push    {r7, lr}
- 800170e:      b088            sub     sp, #32
- 8001710:      af00            add     r7, sp, #0
- 8001712:      6078            str     r0, [r7, #4]
+ 800173c:      b580            push    {r7, lr}
+ 800173e:      b088            sub     sp, #32
+ 8001740:      af00            add     r7, sp, #0
+ 8001742:      6078            str     r0, [r7, #4]
   GPIO_InitTypeDef GPIO_InitStruct = {0};
- 8001714:      f107 030c       add.w   r3, r7, #12
- 8001718:      2200            movs    r2, #0
- 800171a:      601a            str     r2, [r3, #0]
- 800171c:      605a            str     r2, [r3, #4]
- 800171e:      609a            str     r2, [r3, #8]
- 8001720:      60da            str     r2, [r3, #12]
- 8001722:      611a            str     r2, [r3, #16]
+ 8001744:      f107 030c       add.w   r3, r7, #12
+ 8001748:      2200            movs    r2, #0
+ 800174a:      601a            str     r2, [r3, #0]
+ 800174c:      605a            str     r2, [r3, #4]
+ 800174e:      609a            str     r2, [r3, #8]
+ 8001750:      60da            str     r2, [r3, #12]
+ 8001752:      611a            str     r2, [r3, #16]
   if(htim->Instance==TIM4)
- 8001724:      687b            ldr     r3, [r7, #4]
- 8001726:      681b            ldr     r3, [r3, #0]
- 8001728:      4a11            ldr     r2, [pc, #68]   ; (8001770 <HAL_TIM_MspPostInit+0x64>)
- 800172a:      4293            cmp     r3, r2
- 800172c:      d11c            bne.n   8001768 <HAL_TIM_MspPostInit+0x5c>
+ 8001754:      687b            ldr     r3, [r7, #4]
+ 8001756:      681b            ldr     r3, [r3, #0]
+ 8001758:      4a11            ldr     r2, [pc, #68]   ; (80017a0 <HAL_TIM_MspPostInit+0x64>)
+ 800175a:      4293            cmp     r3, r2
+ 800175c:      d11c            bne.n   8001798 <HAL_TIM_MspPostInit+0x5c>
   {
   /* USER CODE BEGIN TIM4_MspPostInit 0 */
 
   /* USER CODE END TIM4_MspPostInit 0 */
   
     __HAL_RCC_GPIOD_CLK_ENABLE();
- 800172e:      4b11            ldr     r3, [pc, #68]   ; (8001774 <HAL_TIM_MspPostInit+0x68>)
- 8001730:      6b1b            ldr     r3, [r3, #48]   ; 0x30
- 8001732:      4a10            ldr     r2, [pc, #64]   ; (8001774 <HAL_TIM_MspPostInit+0x68>)
- 8001734:      f043 0308       orr.w   r3, r3, #8
- 8001738:      6313            str     r3, [r2, #48]   ; 0x30
- 800173a:      4b0e            ldr     r3, [pc, #56]   ; (8001774 <HAL_TIM_MspPostInit+0x68>)
- 800173c:      6b1b            ldr     r3, [r3, #48]   ; 0x30
- 800173e:      f003 0308       and.w   r3, r3, #8
- 8001742:      60bb            str     r3, [r7, #8]
- 8001744:      68bb            ldr     r3, [r7, #8]
+ 800175e:      4b11            ldr     r3, [pc, #68]   ; (80017a4 <HAL_TIM_MspPostInit+0x68>)
+ 8001760:      6b1b            ldr     r3, [r3, #48]   ; 0x30
+ 8001762:      4a10            ldr     r2, [pc, #64]   ; (80017a4 <HAL_TIM_MspPostInit+0x68>)
+ 8001764:      f043 0308       orr.w   r3, r3, #8
+ 8001768:      6313            str     r3, [r2, #48]   ; 0x30
+ 800176a:      4b0e            ldr     r3, [pc, #56]   ; (80017a4 <HAL_TIM_MspPostInit+0x68>)
+ 800176c:      6b1b            ldr     r3, [r3, #48]   ; 0x30
+ 800176e:      f003 0308       and.w   r3, r3, #8
+ 8001772:      60bb            str     r3, [r7, #8]
+ 8001774:      68bb            ldr     r3, [r7, #8]
     /**TIM4 GPIO Configuration    
     PD14     ------> TIM4_CH3
     PD15     ------> TIM4_CH4 
     */
     GPIO_InitStruct.Pin = pwm2_Pin|pwm1_Pin;
- 8001746:      f44f 4340       mov.w   r3, #49152      ; 0xc000
- 800174a:      60fb            str     r3, [r7, #12]
+ 8001776:      f44f 4340       mov.w   r3, #49152      ; 0xc000
+ 800177a:      60fb            str     r3, [r7, #12]
     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- 800174c:      2302            movs    r3, #2
- 800174e:      613b            str     r3, [r7, #16]
+ 800177c:      2302            movs    r3, #2
+ 800177e:      613b            str     r3, [r7, #16]
     GPIO_InitStruct.Pull = GPIO_NOPULL;
- 8001750:      2300            movs    r3, #0
- 8001752:      617b            str     r3, [r7, #20]
+ 8001780:      2300            movs    r3, #0
+ 8001782:      617b            str     r3, [r7, #20]
     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
- 8001754:      2300            movs    r3, #0
- 8001756:      61bb            str     r3, [r7, #24]
+ 8001784:      2300            movs    r3, #0
+ 8001786:      61bb            str     r3, [r7, #24]
     GPIO_InitStruct.Alternate = GPIO_AF2_TIM4;
- 8001758:      2302            movs    r3, #2
- 800175a:      61fb            str     r3, [r7, #28]
+ 8001788:      2302            movs    r3, #2
+ 800178a:      61fb            str     r3, [r7, #28]
     HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
- 800175c:      f107 030c       add.w   r3, r7, #12
- 8001760:      4619            mov     r1, r3
- 8001762:      4805            ldr     r0, [pc, #20]   ; (8001778 <HAL_TIM_MspPostInit+0x6c>)
- 8001764:      f000 fa92       bl      8001c8c <HAL_GPIO_Init>
+ 800178c:      f107 030c       add.w   r3, r7, #12
+ 8001790:      4619            mov     r1, r3
+ 8001792:      4805            ldr     r0, [pc, #20]   ; (80017a8 <HAL_TIM_MspPostInit+0x6c>)
+ 8001794:      f000 fa92       bl      8001cbc <HAL_GPIO_Init>
   /* USER CODE BEGIN TIM4_MspPostInit 1 */
 
   /* USER CODE END TIM4_MspPostInit 1 */
   }
 
 }
- 8001768:      bf00            nop
- 800176a:      3720            adds    r7, #32
- 800176c:      46bd            mov     sp, r7
- 800176e:      bd80            pop     {r7, pc}
- 8001770:      40000800        .word   0x40000800
- 8001774:      40023800        .word   0x40023800
- 8001778:      40020c00        .word   0x40020c00
-
-0800177c <HAL_UART_MspInit>:
+ 8001798:      bf00            nop
+ 800179a:      3720            adds    r7, #32
+ 800179c:      46bd            mov     sp, r7
+ 800179e:      bd80            pop     {r7, pc}
+ 80017a0:      40000800        .word   0x40000800
+ 80017a4:      40023800        .word   0x40023800
+ 80017a8:      40020c00        .word   0x40020c00
+
+080017ac <HAL_UART_MspInit>:
 * This function configures the hardware resources used in this example
 * @param huart: UART handle pointer
 * @retval None
 */
 void HAL_UART_MspInit(UART_HandleTypeDef* huart)
 {
- 800177c:      b580            push    {r7, lr}
- 800177e:      b08a            sub     sp, #40 ; 0x28
- 8001780:      af00            add     r7, sp, #0
- 8001782:      6078            str     r0, [r7, #4]
+ 80017ac:      b580            push    {r7, lr}
+ 80017ae:      b08a            sub     sp, #40 ; 0x28
+ 80017b0:      af00            add     r7, sp, #0
+ 80017b2:      6078            str     r0, [r7, #4]
   GPIO_InitTypeDef GPIO_InitStruct = {0};
- 8001784:      f107 0314       add.w   r3, r7, #20
- 8001788:      2200            movs    r2, #0
- 800178a:      601a            str     r2, [r3, #0]
- 800178c:      605a            str     r2, [r3, #4]
- 800178e:      609a            str     r2, [r3, #8]
- 8001790:      60da            str     r2, [r3, #12]
- 8001792:      611a            str     r2, [r3, #16]
+ 80017b4:      f107 0314       add.w   r3, r7, #20
+ 80017b8:      2200            movs    r2, #0
+ 80017ba:      601a            str     r2, [r3, #0]
+ 80017bc:      605a            str     r2, [r3, #4]
+ 80017be:      609a            str     r2, [r3, #8]
+ 80017c0:      60da            str     r2, [r3, #12]
+ 80017c2:      611a            str     r2, [r3, #16]
   if(huart->Instance==USART6)
- 8001794:      687b            ldr     r3, [r7, #4]
- 8001796:      681b            ldr     r3, [r3, #0]
- 8001798:      4a17            ldr     r2, [pc, #92]   ; (80017f8 <HAL_UART_MspInit+0x7c>)
- 800179a:      4293            cmp     r3, r2
- 800179c:      d127            bne.n   80017ee <HAL_UART_MspInit+0x72>
+ 80017c4:      687b            ldr     r3, [r7, #4]
+ 80017c6:      681b            ldr     r3, [r3, #0]
+ 80017c8:      4a17            ldr     r2, [pc, #92]   ; (8001828 <HAL_UART_MspInit+0x7c>)
+ 80017ca:      4293            cmp     r3, r2
+ 80017cc:      d127            bne.n   800181e <HAL_UART_MspInit+0x72>
   {
   /* USER CODE BEGIN USART6_MspInit 0 */
 
   /* USER CODE END USART6_MspInit 0 */
     /* Peripheral clock enable */
     __HAL_RCC_USART6_CLK_ENABLE();
- 800179e:      4b17            ldr     r3, [pc, #92]   ; (80017fc <HAL_UART_MspInit+0x80>)
- 80017a0:      6c5b            ldr     r3, [r3, #68]   ; 0x44
- 80017a2:      4a16            ldr     r2, [pc, #88]   ; (80017fc <HAL_UART_MspInit+0x80>)
- 80017a4:      f043 0320       orr.w   r3, r3, #32
- 80017a8:      6453            str     r3, [r2, #68]   ; 0x44
- 80017aa:      4b14            ldr     r3, [pc, #80]   ; (80017fc <HAL_UART_MspInit+0x80>)
- 80017ac:      6c5b            ldr     r3, [r3, #68]   ; 0x44
- 80017ae:      f003 0320       and.w   r3, r3, #32
- 80017b2:      613b            str     r3, [r7, #16]
- 80017b4:      693b            ldr     r3, [r7, #16]
+ 80017ce:      4b17            ldr     r3, [pc, #92]   ; (800182c <HAL_UART_MspInit+0x80>)
+ 80017d0:      6c5b            ldr     r3, [r3, #68]   ; 0x44
+ 80017d2:      4a16            ldr     r2, [pc, #88]   ; (800182c <HAL_UART_MspInit+0x80>)
+ 80017d4:      f043 0320       orr.w   r3, r3, #32
+ 80017d8:      6453            str     r3, [r2, #68]   ; 0x44
+ 80017da:      4b14            ldr     r3, [pc, #80]   ; (800182c <HAL_UART_MspInit+0x80>)
+ 80017dc:      6c5b            ldr     r3, [r3, #68]   ; 0x44
+ 80017de:      f003 0320       and.w   r3, r3, #32
+ 80017e2:      613b            str     r3, [r7, #16]
+ 80017e4:      693b            ldr     r3, [r7, #16]
   
     __HAL_RCC_GPIOC_CLK_ENABLE();
- 80017b6:      4b11            ldr     r3, [pc, #68]   ; (80017fc <HAL_UART_MspInit+0x80>)
- 80017b8:      6b1b            ldr     r3, [r3, #48]   ; 0x30
- 80017ba:      4a10            ldr     r2, [pc, #64]   ; (80017fc <HAL_UART_MspInit+0x80>)
- 80017bc:      f043 0304       orr.w   r3, r3, #4
- 80017c0:      6313            str     r3, [r2, #48]   ; 0x30
- 80017c2:      4b0e            ldr     r3, [pc, #56]   ; (80017fc <HAL_UART_MspInit+0x80>)
- 80017c4:      6b1b            ldr     r3, [r3, #48]   ; 0x30
- 80017c6:      f003 0304       and.w   r3, r3, #4
- 80017ca:      60fb            str     r3, [r7, #12]
- 80017cc:      68fb            ldr     r3, [r7, #12]
+ 80017e6:      4b11            ldr     r3, [pc, #68]   ; (800182c <HAL_UART_MspInit+0x80>)
+ 80017e8:      6b1b            ldr     r3, [r3, #48]   ; 0x30
+ 80017ea:      4a10            ldr     r2, [pc, #64]   ; (800182c <HAL_UART_MspInit+0x80>)
+ 80017ec:      f043 0304       orr.w   r3, r3, #4
+ 80017f0:      6313            str     r3, [r2, #48]   ; 0x30
+ 80017f2:      4b0e            ldr     r3, [pc, #56]   ; (800182c <HAL_UART_MspInit+0x80>)
+ 80017f4:      6b1b            ldr     r3, [r3, #48]   ; 0x30
+ 80017f6:      f003 0304       and.w   r3, r3, #4
+ 80017fa:      60fb            str     r3, [r7, #12]
+ 80017fc:      68fb            ldr     r3, [r7, #12]
     /**USART6 GPIO Configuration    
     PC6     ------> USART6_TX
     PC7     ------> USART6_RX 
     */
     GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7;
- 80017ce:      23c0            movs    r3, #192        ; 0xc0
- 80017d0:      617b            str     r3, [r7, #20]
+ 80017fe:      23c0            movs    r3, #192        ; 0xc0
+ 8001800:      617b            str     r3, [r7, #20]
     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- 80017d2:      2302            movs    r3, #2
- 80017d4:      61bb            str     r3, [r7, #24]
+ 8001802:      2302            movs    r3, #2
+ 8001804:      61bb            str     r3, [r7, #24]
     GPIO_InitStruct.Pull = GPIO_NOPULL;
- 80017d6:      2300            movs    r3, #0
- 80017d8:      61fb            str     r3, [r7, #28]
+ 8001806:      2300            movs    r3, #0
+ 8001808:      61fb            str     r3, [r7, #28]
     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
- 80017da:      2303            movs    r3, #3
- 80017dc:      623b            str     r3, [r7, #32]
+ 800180a:      2303            movs    r3, #3
+ 800180c:      623b            str     r3, [r7, #32]
     GPIO_InitStruct.Alternate = GPIO_AF8_USART6;
- 80017de:      2308            movs    r3, #8
- 80017e0:      627b            str     r3, [r7, #36]   ; 0x24
+ 800180e:      2308            movs    r3, #8
+ 8001810:      627b            str     r3, [r7, #36]   ; 0x24
     HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
- 80017e2:      f107 0314       add.w   r3, r7, #20
- 80017e6:      4619            mov     r1, r3
- 80017e8:      4805            ldr     r0, [pc, #20]   ; (8001800 <HAL_UART_MspInit+0x84>)
- 80017ea:      f000 fa4f       bl      8001c8c <HAL_GPIO_Init>
+ 8001812:      f107 0314       add.w   r3, r7, #20
+ 8001816:      4619            mov     r1, r3
+ 8001818:      4805            ldr     r0, [pc, #20]   ; (8001830 <HAL_UART_MspInit+0x84>)
+ 800181a:      f000 fa4f       bl      8001cbc <HAL_GPIO_Init>
   /* USER CODE BEGIN USART6_MspInit 1 */
 
   /* USER CODE END USART6_MspInit 1 */
   }
 
 }
- 80017ee:      bf00            nop
- 80017f0:      3728            adds    r7, #40 ; 0x28
- 80017f2:      46bd            mov     sp, r7
- 80017f4:      bd80            pop     {r7, pc}
- 80017f6:      bf00            nop
- 80017f8:      40011400        .word   0x40011400
- 80017fc:      40023800        .word   0x40023800
- 8001800:      40020800        .word   0x40020800
-
-08001804 <NMI_Handler>:
+ 800181e:      bf00            nop
+ 8001820:      3728            adds    r7, #40 ; 0x28
+ 8001822:      46bd            mov     sp, r7
+ 8001824:      bd80            pop     {r7, pc}
+ 8001826:      bf00            nop
+ 8001828:      40011400        .word   0x40011400
+ 800182c:      40023800        .word   0x40023800
+ 8001830:      40020800        .word   0x40020800
+
+08001834 <NMI_Handler>:
 /******************************************************************************/
 /**
   * @brief This function handles Non maskable interrupt.
   */
 void NMI_Handler(void)
 {
- 8001804:      b480            push    {r7}
- 8001806:      af00            add     r7, sp, #0
+ 8001834:      b480            push    {r7}
+ 8001836:      af00            add     r7, sp, #0
 
   /* USER CODE END NonMaskableInt_IRQn 0 */
   /* USER CODE BEGIN NonMaskableInt_IRQn 1 */
 
   /* USER CODE END NonMaskableInt_IRQn 1 */
 }
- 8001808:      bf00            nop
- 800180a:      46bd            mov     sp, r7
- 800180c:      f85d 7b04       ldr.w   r7, [sp], #4
- 8001810:      4770            bx      lr
+ 8001838:      bf00            nop
+ 800183a:      46bd            mov     sp, r7
+ 800183c:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8001840:      4770            bx      lr
 
-08001812 <HardFault_Handler>:
+08001842 <HardFault_Handler>:
 
 /**
   * @brief This function handles Hard fault interrupt.
   */
 void HardFault_Handler(void)
 {
- 8001812:      b480            push    {r7}
- 8001814:      af00            add     r7, sp, #0
+ 8001842:      b480            push    {r7}
+ 8001844:      af00            add     r7, sp, #0
   /* USER CODE BEGIN HardFault_IRQn 0 */
 
   /* USER CODE END HardFault_IRQn 0 */
   while (1)
- 8001816:      e7fe            b.n     8001816 <HardFault_Handler+0x4>
+ 8001846:      e7fe            b.n     8001846 <HardFault_Handler+0x4>
 
-08001818 <MemManage_Handler>:
+08001848 <MemManage_Handler>:
 
 /**
   * @brief This function handles Memory management fault.
   */
 void MemManage_Handler(void)
 {
- 8001818:      b480            push    {r7}
- 800181a:      af00            add     r7, sp, #0
+ 8001848:      b480            push    {r7}
+ 800184a:      af00            add     r7, sp, #0
   /* USER CODE BEGIN MemoryManagement_IRQn 0 */
 
   /* USER CODE END MemoryManagement_IRQn 0 */
   while (1)
- 800181c:      e7fe            b.n     800181c <MemManage_Handler+0x4>
+ 800184c:      e7fe            b.n     800184c <MemManage_Handler+0x4>
 
-0800181e <BusFault_Handler>:
+0800184e <BusFault_Handler>:
 
 /**
   * @brief This function handles Pre-fetch fault, memory access fault.
   */
 void BusFault_Handler(void)
 {
- 800181e:      b480            push    {r7}
- 8001820:      af00            add     r7, sp, #0
+ 800184e:      b480            push    {r7}
+ 8001850:      af00            add     r7, sp, #0
   /* USER CODE BEGIN BusFault_IRQn 0 */
 
   /* USER CODE END BusFault_IRQn 0 */
   while (1)
- 8001822:      e7fe            b.n     8001822 <BusFault_Handler+0x4>
+ 8001852:      e7fe            b.n     8001852 <BusFault_Handler+0x4>
 
-08001824 <UsageFault_Handler>:
+08001854 <UsageFault_Handler>:
 
 /**
   * @brief This function handles Undefined instruction or illegal state.
   */
 void UsageFault_Handler(void)
 {
- 8001824:      b480            push    {r7}
- 8001826:      af00            add     r7, sp, #0
+ 8001854:      b480            push    {r7}
+ 8001856:      af00            add     r7, sp, #0
   /* USER CODE BEGIN UsageFault_IRQn 0 */
 
   /* USER CODE END UsageFault_IRQn 0 */
   while (1)
- 8001828:      e7fe            b.n     8001828 <UsageFault_Handler+0x4>
+ 8001858:      e7fe            b.n     8001858 <UsageFault_Handler+0x4>
 
-0800182a <SVC_Handler>:
+0800185a <SVC_Handler>:
 
 /**
   * @brief This function handles System service call via SWI instruction.
   */
 void SVC_Handler(void)
 {
- 800182a:      b480            push    {r7}
- 800182c:      af00            add     r7, sp, #0
+ 800185a:      b480            push    {r7}
+ 800185c:      af00            add     r7, sp, #0
 
   /* USER CODE END SVCall_IRQn 0 */
   /* USER CODE BEGIN SVCall_IRQn 1 */
 
   /* USER CODE END SVCall_IRQn 1 */
 }
- 800182e:      bf00            nop
- 8001830:      46bd            mov     sp, r7
- 8001832:      f85d 7b04       ldr.w   r7, [sp], #4
- 8001836:      4770            bx      lr
+ 800185e:      bf00            nop
+ 8001860:      46bd            mov     sp, r7
+ 8001862:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8001866:      4770            bx      lr
 
-08001838 <DebugMon_Handler>:
+08001868 <DebugMon_Handler>:
 
 /**
   * @brief This function handles Debug monitor.
   */
 void DebugMon_Handler(void)
 {
- 8001838:      b480            push    {r7}
- 800183a:      af00            add     r7, sp, #0
+ 8001868:      b480            push    {r7}
+ 800186a:      af00            add     r7, sp, #0
 
   /* USER CODE END DebugMonitor_IRQn 0 */
   /* USER CODE BEGIN DebugMonitor_IRQn 1 */
 
   /* USER CODE END DebugMonitor_IRQn 1 */
 }
- 800183c:      bf00            nop
- 800183e:      46bd            mov     sp, r7
- 8001840:      f85d 7b04       ldr.w   r7, [sp], #4
- 8001844:      4770            bx      lr
+ 800186c:      bf00            nop
+ 800186e:      46bd            mov     sp, r7
+ 8001870:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8001874:      4770            bx      lr
 
-08001846 <PendSV_Handler>:
+08001876 <PendSV_Handler>:
 
 /**
   * @brief This function handles Pendable request for system service.
   */
 void PendSV_Handler(void)
 {
- 8001846:      b480            push    {r7}
- 8001848:      af00            add     r7, sp, #0
+ 8001876:      b480            push    {r7}
+ 8001878:      af00            add     r7, sp, #0
 
   /* USER CODE END PendSV_IRQn 0 */
   /* USER CODE BEGIN PendSV_IRQn 1 */
 
   /* USER CODE END PendSV_IRQn 1 */
 }
- 800184a:      bf00            nop
- 800184c:      46bd            mov     sp, r7
- 800184e:      f85d 7b04       ldr.w   r7, [sp], #4
- 8001852:      4770            bx      lr
+ 800187a:      bf00            nop
+ 800187c:      46bd            mov     sp, r7
+ 800187e:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8001882:      4770            bx      lr
 
-08001854 <SysTick_Handler>:
+08001884 <SysTick_Handler>:
 
 /**
   * @brief This function handles System tick timer.
   */
 void SysTick_Handler(void)
 {
- 8001854:      b580            push    {r7, lr}
- 8001856:      af00            add     r7, sp, #0
+ 8001884:      b580            push    {r7, lr}
+ 8001886:      af00            add     r7, sp, #0
   /* USER CODE BEGIN SysTick_IRQn 0 */
 
   /* USER CODE END SysTick_IRQn 0 */
   HAL_IncTick();
- 8001858:      f000 f8c4       bl      80019e4 <HAL_IncTick>
+ 8001888:      f000 f8c4       bl      8001a14 <HAL_IncTick>
   /* USER CODE BEGIN SysTick_IRQn 1 */
 
   /* USER CODE END SysTick_IRQn 1 */
 }
- 800185c:      bf00            nop
- 800185e:      bd80            pop     {r7, pc}
+ 800188c:      bf00            nop
+ 800188e:      bd80            pop     {r7, pc}
 
-08001860 <TIM3_IRQHandler>:
+08001890 <TIM3_IRQHandler>:
 
 /**
   * @brief This function handles TIM3 global interrupt.
   */
 void TIM3_IRQHandler(void)
 {
- 8001860:      b580            push    {r7, lr}
- 8001862:      af00            add     r7, sp, #0
+ 8001890:      b580            push    {r7, lr}
+ 8001892:      af00            add     r7, sp, #0
   /* USER CODE BEGIN TIM3_IRQn 0 */
 
   /* USER CODE END TIM3_IRQn 0 */
   HAL_TIM_IRQHandler(&htim3);
- 8001864:      4802            ldr     r0, [pc, #8]    ; (8001870 <TIM3_IRQHandler+0x10>)
- 8001866:      f001 fdec       bl      8003442 <HAL_TIM_IRQHandler>
+ 8001894:      4802            ldr     r0, [pc, #8]    ; (80018a0 <TIM3_IRQHandler+0x10>)
+ 8001896:      f001 fdec       bl      8003472 <HAL_TIM_IRQHandler>
   /* USER CODE BEGIN TIM3_IRQn 1 */
 
   /* USER CODE END TIM3_IRQn 1 */
 }
- 800186a:      bf00            nop
- 800186c:      bd80            pop     {r7, pc}
- 800186e:      bf00            nop
- 8001870:      20000068        .word   0x20000068
+ 800189a:      bf00            nop
+ 800189c:      bd80            pop     {r7, pc}
+ 800189e:      bf00            nop
+ 80018a0:      2000006c        .word   0x2000006c
 
-08001874 <EXTI15_10_IRQHandler>:
+080018a4 <EXTI15_10_IRQHandler>:
 
 /**
   * @brief This function handles EXTI line[15:10] interrupts.
   */
 void EXTI15_10_IRQHandler(void)
 {
- 8001874:      b580            push    {r7, lr}
- 8001876:      af00            add     r7, sp, #0
+ 80018a4:      b580            push    {r7, lr}
+ 80018a6:      af00            add     r7, sp, #0
   /* USER CODE BEGIN EXTI15_10_IRQn 0 */
 
   /* USER CODE END EXTI15_10_IRQn 0 */
   HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_13);
- 8001878:      f44f 5000       mov.w   r0, #8192       ; 0x2000
- 800187c:      f000 fbca       bl      8002014 <HAL_GPIO_EXTI_IRQHandler>
+ 80018a8:      f44f 5000       mov.w   r0, #8192       ; 0x2000
+ 80018ac:      f000 fbca       bl      8002044 <HAL_GPIO_EXTI_IRQHandler>
   /* USER CODE BEGIN EXTI15_10_IRQn 1 */
 
   /* USER CODE END EXTI15_10_IRQn 1 */
 }
- 8001880:      bf00            nop
- 8001882:      bd80            pop     {r7, pc}
+ 80018b0:      bf00            nop
+ 80018b2:      bd80            pop     {r7, pc}
 
-08001884 <TIM6_DAC_IRQHandler>:
+080018b4 <TIM6_DAC_IRQHandler>:
 
 /**
   * @brief This function handles TIM6 global interrupt, DAC1 and DAC2 underrun error interrupts.
   */
 void TIM6_DAC_IRQHandler(void)
 {
- 8001884:      b580            push    {r7, lr}
- 8001886:      af00            add     r7, sp, #0
+ 80018b4:      b580            push    {r7, lr}
+ 80018b6:      af00            add     r7, sp, #0
   /* USER CODE BEGIN TIM6_DAC_IRQn 0 */
 
   /* USER CODE END TIM6_DAC_IRQn 0 */
   HAL_TIM_IRQHandler(&htim6);
- 8001888:      4802            ldr     r0, [pc, #8]    ; (8001894 <TIM6_DAC_IRQHandler+0x10>)
- 800188a:      f001 fdda       bl      8003442 <HAL_TIM_IRQHandler>
+ 80018b8:      4802            ldr     r0, [pc, #8]    ; (80018c4 <TIM6_DAC_IRQHandler+0x10>)
+ 80018ba:      f001 fdda       bl      8003472 <HAL_TIM_IRQHandler>
   /* USER CODE BEGIN TIM6_DAC_IRQn 1 */
 
   /* USER CODE END TIM6_DAC_IRQn 1 */
 }
- 800188e:      bf00            nop
- 8001890:      bd80            pop     {r7, pc}
- 8001892:      bf00            nop
- 8001894:      20000128        .word   0x20000128
+ 80018be:      bf00            nop
+ 80018c0:      bd80            pop     {r7, pc}
+ 80018c2:      bf00            nop
+ 80018c4:      2000012c        .word   0x2000012c
 
-08001898 <USART6_IRQHandler>:
+080018c8 <USART6_IRQHandler>:
 
 /**
   * @brief This function handles USART6 global interrupt.
   */
 void USART6_IRQHandler(void)
 {
- 8001898:      b580            push    {r7, lr}
- 800189a:      af00            add     r7, sp, #0
+ 80018c8:      b580            push    {r7, lr}
+ 80018ca:      af00            add     r7, sp, #0
   /* USER CODE BEGIN USART6_IRQn 0 */
 
   /* USER CODE END USART6_IRQn 0 */
   HAL_UART_IRQHandler(&huart6);
- 800189c:      4802            ldr     r0, [pc, #8]    ; (80018a8 <USART6_IRQHandler+0x10>)
- 800189e:      f002 fe01       bl      80044a4 <HAL_UART_IRQHandler>
+ 80018cc:      4802            ldr     r0, [pc, #8]    ; (80018d8 <USART6_IRQHandler+0x10>)
+ 80018ce:      f002 fe01       bl      80044d4 <HAL_UART_IRQHandler>
   /* USER CODE BEGIN USART6_IRQn 1 */
 
   /* USER CODE END USART6_IRQn 1 */
 }
- 80018a2:      bf00            nop
- 80018a4:      bd80            pop     {r7, pc}
- 80018a6:      bf00            nop
- 80018a8:      20000168        .word   0x20000168
+ 80018d2:      bf00            nop
+ 80018d4:      bd80            pop     {r7, pc}
+ 80018d6:      bf00            nop
+ 80018d8:      2000016c        .word   0x2000016c
 
-080018ac <SystemInit>:
+080018dc <SystemInit>:
   *         SystemFrequency variable.
   * @param  None
   * @retval None
   */
 void SystemInit(void)
 {
- 80018ac:      b480            push    {r7}
- 80018ae:      af00            add     r7, sp, #0
+ 80018dc:      b480            push    {r7}
+ 80018de:      af00            add     r7, sp, #0
   /* FPU settings ------------------------------------------------------------*/
   #if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
     SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2));  /* set CP10 and CP11 Full Access */
- 80018b0:      4b15            ldr     r3, [pc, #84]   ; (8001908 <SystemInit+0x5c>)
- 80018b2:      f8d3 3088       ldr.w   r3, [r3, #136]  ; 0x88
- 80018b6:      4a14            ldr     r2, [pc, #80]   ; (8001908 <SystemInit+0x5c>)
- 80018b8:      f443 0370       orr.w   r3, r3, #15728640       ; 0xf00000
- 80018bc:      f8c2 3088       str.w   r3, [r2, #136]  ; 0x88
+ 80018e0:      4b15            ldr     r3, [pc, #84]   ; (8001938 <SystemInit+0x5c>)
+ 80018e2:      f8d3 3088       ldr.w   r3, [r3, #136]  ; 0x88
+ 80018e6:      4a14            ldr     r2, [pc, #80]   ; (8001938 <SystemInit+0x5c>)
+ 80018e8:      f443 0370       orr.w   r3, r3, #15728640       ; 0xf00000
+ 80018ec:      f8c2 3088       str.w   r3, [r2, #136]  ; 0x88
   #endif
   /* Reset the RCC clock configuration to the default reset state ------------*/
   /* Set HSION bit */
   RCC->CR |= (uint32_t)0x00000001;
- 80018c0:      4b12            ldr     r3, [pc, #72]   ; (800190c <SystemInit+0x60>)
- 80018c2:      681b            ldr     r3, [r3, #0]
- 80018c4:      4a11            ldr     r2, [pc, #68]   ; (800190c <SystemInit+0x60>)
- 80018c6:      f043 0301       orr.w   r3, r3, #1
- 80018ca:      6013            str     r3, [r2, #0]
+ 80018f0:      4b12            ldr     r3, [pc, #72]   ; (800193c <SystemInit+0x60>)
+ 80018f2:      681b            ldr     r3, [r3, #0]
+ 80018f4:      4a11            ldr     r2, [pc, #68]   ; (800193c <SystemInit+0x60>)
+ 80018f6:      f043 0301       orr.w   r3, r3, #1
+ 80018fa:      6013            str     r3, [r2, #0]
 
   /* Reset CFGR register */
   RCC->CFGR = 0x00000000;
- 80018cc:      4b0f            ldr     r3, [pc, #60]   ; (800190c <SystemInit+0x60>)
- 80018ce:      2200            movs    r2, #0
- 80018d0:      609a            str     r2, [r3, #8]
+ 80018fc:      4b0f            ldr     r3, [pc, #60]   ; (800193c <SystemInit+0x60>)
+ 80018fe:      2200            movs    r2, #0
+ 8001900:      609a            str     r2, [r3, #8]
 
   /* Reset HSEON, CSSON and PLLON bits */
   RCC->CR &= (uint32_t)0xFEF6FFFF;
- 80018d2:      4b0e            ldr     r3, [pc, #56]   ; (800190c <SystemInit+0x60>)
- 80018d4:      681a            ldr     r2, [r3, #0]
- 80018d6:      490d            ldr     r1, [pc, #52]   ; (800190c <SystemInit+0x60>)
- 80018d8:      4b0d            ldr     r3, [pc, #52]   ; (8001910 <SystemInit+0x64>)
- 80018da:      4013            ands    r3, r2
- 80018dc:      600b            str     r3, [r1, #0]
+ 8001902:      4b0e            ldr     r3, [pc, #56]   ; (800193c <SystemInit+0x60>)
+ 8001904:      681a            ldr     r2, [r3, #0]
+ 8001906:      490d            ldr     r1, [pc, #52]   ; (800193c <SystemInit+0x60>)
+ 8001908:      4b0d            ldr     r3, [pc, #52]   ; (8001940 <SystemInit+0x64>)
+ 800190a:      4013            ands    r3, r2
+ 800190c:      600b            str     r3, [r1, #0]
 
   /* Reset PLLCFGR register */
   RCC->PLLCFGR = 0x24003010;
- 80018de:      4b0b            ldr     r3, [pc, #44]   ; (800190c <SystemInit+0x60>)
- 80018e0:      4a0c            ldr     r2, [pc, #48]   ; (8001914 <SystemInit+0x68>)
- 80018e2:      605a            str     r2, [r3, #4]
+ 800190e:      4b0b            ldr     r3, [pc, #44]   ; (800193c <SystemInit+0x60>)
+ 8001910:      4a0c            ldr     r2, [pc, #48]   ; (8001944 <SystemInit+0x68>)
+ 8001912:      605a            str     r2, [r3, #4]
 
   /* Reset HSEBYP bit */
   RCC->CR &= (uint32_t)0xFFFBFFFF;
- 80018e4:      4b09            ldr     r3, [pc, #36]   ; (800190c <SystemInit+0x60>)
- 80018e6:      681b            ldr     r3, [r3, #0]
- 80018e8:      4a08            ldr     r2, [pc, #32]   ; (800190c <SystemInit+0x60>)
- 80018ea:      f423 2380       bic.w   r3, r3, #262144 ; 0x40000
- 80018ee:      6013            str     r3, [r2, #0]
+ 8001914:      4b09            ldr     r3, [pc, #36]   ; (800193c <SystemInit+0x60>)
+ 8001916:      681b            ldr     r3, [r3, #0]
+ 8001918:      4a08            ldr     r2, [pc, #32]   ; (800193c <SystemInit+0x60>)
+ 800191a:      f423 2380       bic.w   r3, r3, #262144 ; 0x40000
+ 800191e:      6013            str     r3, [r2, #0]
 
   /* Disable all interrupts */
   RCC->CIR = 0x00000000;
- 80018f0:      4b06            ldr     r3, [pc, #24]   ; (800190c <SystemInit+0x60>)
- 80018f2:      2200            movs    r2, #0
- 80018f4:      60da            str     r2, [r3, #12]
+ 8001920:      4b06            ldr     r3, [pc, #24]   ; (800193c <SystemInit+0x60>)
+ 8001922:      2200            movs    r2, #0
+ 8001924:      60da            str     r2, [r3, #12]
 
   /* Configure the Vector Table location add offset address ------------------*/
 #ifdef VECT_TAB_SRAM
   SCB->VTOR = RAMDTCM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */
 #else
   SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */
- 80018f6:      4b04            ldr     r3, [pc, #16]   ; (8001908 <SystemInit+0x5c>)
- 80018f8:      f04f 6200       mov.w   r2, #134217728  ; 0x8000000
- 80018fc:      609a            str     r2, [r3, #8]
+ 8001926:      4b04            ldr     r3, [pc, #16]   ; (8001938 <SystemInit+0x5c>)
+ 8001928:      f04f 6200       mov.w   r2, #134217728  ; 0x8000000
+ 800192c:      609a            str     r2, [r3, #8]
 #endif
 }
- 80018fe:      bf00            nop
- 8001900:      46bd            mov     sp, r7
- 8001902:      f85d 7b04       ldr.w   r7, [sp], #4
- 8001906:      4770            bx      lr
- 8001908:      e000ed00        .word   0xe000ed00
- 800190c:      40023800        .word   0x40023800
- 8001910:      fef6ffff        .word   0xfef6ffff
- 8001914:      24003010        .word   0x24003010
+ 800192e:      bf00            nop
+ 8001930:      46bd            mov     sp, r7
+ 8001932:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8001936:      4770            bx      lr
+ 8001938:      e000ed00        .word   0xe000ed00
+ 800193c:      40023800        .word   0x40023800
+ 8001940:      fef6ffff        .word   0xfef6ffff
+ 8001944:      24003010        .word   0x24003010
 
-08001918 <Reset_Handler>:
+08001948 <Reset_Handler>:
 
     .section  .text.Reset_Handler
   .weak  Reset_Handler
   .type  Reset_Handler, %function
 Reset_Handler:  
   ldr   sp, =_estack      /* set stack pointer */
- 8001918:      f8df d034       ldr.w   sp, [pc, #52]   ; 8001950 <LoopFillZerobss+0x14>
+ 8001948:      f8df d034       ldr.w   sp, [pc, #52]   ; 8001980 <LoopFillZerobss+0x14>
 
 /* Copy the data segment initializers from flash to SRAM */  
   movs  r1, #0
- 800191c:      2100            movs    r1, #0
+ 800194c:      2100            movs    r1, #0
   b  LoopCopyDataInit
- 800191e:      e003            b.n     8001928 <LoopCopyDataInit>
+ 800194e:      e003            b.n     8001958 <LoopCopyDataInit>
 
-08001920 <CopyDataInit>:
+08001950 <CopyDataInit>:
 
 CopyDataInit:
   ldr  r3, =_sidata
- 8001920:      4b0c            ldr     r3, [pc, #48]   ; (8001954 <LoopFillZerobss+0x18>)
+ 8001950:      4b0c            ldr     r3, [pc, #48]   ; (8001984 <LoopFillZerobss+0x18>)
   ldr  r3, [r3, r1]
- 8001922:      585b            ldr     r3, [r3, r1]
+ 8001952:      585b            ldr     r3, [r3, r1]
   str  r3, [r0, r1]
- 8001924:      5043            str     r3, [r0, r1]
+ 8001954:      5043            str     r3, [r0, r1]
   adds  r1, r1, #4
- 8001926:      3104            adds    r1, #4
+ 8001956:      3104            adds    r1, #4
 
-08001928 <LoopCopyDataInit>:
+08001958 <LoopCopyDataInit>:
     
 LoopCopyDataInit:
   ldr  r0, =_sdata
- 8001928:      480b            ldr     r0, [pc, #44]   ; (8001958 <LoopFillZerobss+0x1c>)
+ 8001958:      480b            ldr     r0, [pc, #44]   ; (8001988 <LoopFillZerobss+0x1c>)
   ldr  r3, =_edata
- 800192a:      4b0c            ldr     r3, [pc, #48]   ; (800195c <LoopFillZerobss+0x20>)
+ 800195a:      4b0c            ldr     r3, [pc, #48]   ; (800198c <LoopFillZerobss+0x20>)
   adds  r2, r0, r1
- 800192c:      1842            adds    r2, r0, r1
+ 800195c:      1842            adds    r2, r0, r1
   cmp  r2, r3
- 800192e:      429a            cmp     r2, r3
+ 800195e:      429a            cmp     r2, r3
   bcc  CopyDataInit
- 8001930:      d3f6            bcc.n   8001920 <CopyDataInit>
+ 8001960:      d3f6            bcc.n   8001950 <CopyDataInit>
   ldr  r2, =_sbss
- 8001932:      4a0b            ldr     r2, [pc, #44]   ; (8001960 <LoopFillZerobss+0x24>)
+ 8001962:      4a0b            ldr     r2, [pc, #44]   ; (8001990 <LoopFillZerobss+0x24>)
   b  LoopFillZerobss
- 8001934:      e002            b.n     800193c <LoopFillZerobss>
+ 8001964:      e002            b.n     800196c <LoopFillZerobss>
 
-08001936 <FillZerobss>:
+08001966 <FillZerobss>:
 /* Zero fill the bss segment. */  
 FillZerobss:
   movs  r3, #0
- 8001936:      2300            movs    r3, #0
+ 8001966:      2300            movs    r3, #0
   str  r3, [r2], #4
- 8001938:      f842 3b04       str.w   r3, [r2], #4
+ 8001968:      f842 3b04       str.w   r3, [r2], #4
 
-0800193c <LoopFillZerobss>:
+0800196c <LoopFillZerobss>:
     
 LoopFillZerobss:
   ldr  r3, = _ebss
- 800193c:      4b09            ldr     r3, [pc, #36]   ; (8001964 <LoopFillZerobss+0x28>)
+ 800196c:      4b09            ldr     r3, [pc, #36]   ; (8001994 <LoopFillZerobss+0x28>)
   cmp  r2, r3
- 800193e:      429a            cmp     r2, r3
+ 800196e:      429a            cmp     r2, r3
   bcc  FillZerobss
- 8001940:      d3f9            bcc.n   8001936 <FillZerobss>
+ 8001970:      d3f9            bcc.n   8001966 <FillZerobss>
 
 /* Call the clock system initialization function.*/
   bl  SystemInit   
- 8001942:      f7ff ffb3       bl      80018ac <SystemInit>
+ 8001972:      f7ff ffb3       bl      80018dc <SystemInit>
 /* Call static constructors */
     bl __libc_init_array
- 8001946:      f003 fae9       bl      8004f1c <__libc_init_array>
+ 8001976:      f003 fae9       bl      8004f4c <__libc_init_array>
 /* Call the application's entry point.*/
   bl  main
- 800194a:      f7ff f8ef       bl      8000b2c <main>
+ 800197a:      f7ff f8bb       bl      8000af4 <main>
   bx  lr    
- 800194e:      4770            bx      lr
+ 800197e:      4770            bx      lr
   ldr   sp, =_estack      /* set stack pointer */
- 8001950:      20080000        .word   0x20080000
+ 8001980:      20080000        .word   0x20080000
   ldr  r3, =_sidata
- 8001954:      08004fb8        .word   0x08004fb8
+ 8001984:      08004fe8        .word   0x08004fe8
   ldr  r0, =_sdata
- 8001958:      20000000        .word   0x20000000
+ 8001988:      20000000        .word   0x20000000
   ldr  r3, =_edata
- 800195c:      2000000c        .word   0x2000000c
+ 800198c:      20000010        .word   0x20000010
   ldr  r2, =_sbss
- 8001960:      2000000c        .word   0x2000000c
+ 8001990:      20000010        .word   0x20000010
   ldr  r3, = _ebss
- 8001964:      2000038c        .word   0x2000038c
+ 8001994:      20000394        .word   0x20000394
 
-08001968 <ADC_IRQHandler>:
+08001998 <ADC_IRQHandler>:
  * @retval None       
 */
     .section  .text.Default_Handler,"ax",%progbits
 Default_Handler:
 Infinite_Loop:
   b  Infinite_Loop
- 8001968:      e7fe            b.n     8001968 <ADC_IRQHandler>
+ 8001998:      e7fe            b.n     8001998 <ADC_IRQHandler>
 
-0800196a <HAL_Init>:
+0800199a <HAL_Init>:
   *         need to ensure that the SysTick time base is always set to 1 millisecond
   *         to have correct HAL operation.
   * @retval HAL status
   */
 HAL_StatusTypeDef HAL_Init(void)
 {
- 800196a:      b580            push    {r7, lr}
- 800196c:      af00            add     r7, sp, #0
+ 800199a:      b580            push    {r7, lr}
+ 800199c:      af00            add     r7, sp, #0
 #if (PREFETCH_ENABLE != 0U)
   __HAL_FLASH_PREFETCH_BUFFER_ENABLE();
 #endif /* PREFETCH_ENABLE */
 
   /* Set Interrupt Group Priority */
   HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4);
- 800196e:      2003            movs    r0, #3
- 8001970:      f000 f928       bl      8001bc4 <HAL_NVIC_SetPriorityGrouping>
+ 800199e:      2003            movs    r0, #3
+ 80019a0:      f000 f928       bl      8001bf4 <HAL_NVIC_SetPriorityGrouping>
 
   /* Use systick as time base source and configure 1ms tick (default clock after Reset is HSI) */
   HAL_InitTick(TICK_INT_PRIORITY);
- 8001974:      2000            movs    r0, #0
- 8001976:      f000 f805       bl      8001984 <HAL_InitTick>
+ 80019a4:      2000            movs    r0, #0
+ 80019a6:      f000 f805       bl      80019b4 <HAL_InitTick>
   
   /* Init the low level hardware */
   HAL_MspInit();
- 800197a:      f7ff fdcb       bl      8001514 <HAL_MspInit>
+ 80019aa:      f7ff fdcb       bl      8001544 <HAL_MspInit>
   
   /* Return function status */
   return HAL_OK;
- 800197e:      2300            movs    r3, #0
+ 80019ae:      2300            movs    r3, #0
 }
- 8001980:      4618            mov     r0, r3
- 8001982:      bd80            pop     {r7, pc}
+ 80019b0:      4618            mov     r0, r3
+ 80019b2:      bd80            pop     {r7, pc}
 
-08001984 <HAL_InitTick>:
+080019b4 <HAL_InitTick>:
   *       implementation  in user file.
   * @param TickPriority Tick interrupt priority.
   * @retval HAL status
   */
 __weak HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority)
 {
- 8001984:      b580            push    {r7, lr}
- 8001986:      b082            sub     sp, #8
- 8001988:      af00            add     r7, sp, #0
- 800198a:      6078            str     r0, [r7, #4]
+ 80019b4:      b580            push    {r7, lr}
+ 80019b6:      b082            sub     sp, #8
+ 80019b8:      af00            add     r7, sp, #0
+ 80019ba:      6078            str     r0, [r7, #4]
   /* Configure the SysTick to have interrupt in 1ms time basis*/
   if (HAL_SYSTICK_Config(SystemCoreClock / (1000U / uwTickFreq)) > 0U)
- 800198c:      4b12            ldr     r3, [pc, #72]   ; (80019d8 <HAL_InitTick+0x54>)
- 800198e:      681a            ldr     r2, [r3, #0]
- 8001990:      4b12            ldr     r3, [pc, #72]   ; (80019dc <HAL_InitTick+0x58>)
- 8001992:      781b            ldrb    r3, [r3, #0]
- 8001994:      4619            mov     r1, r3
- 8001996:      f44f 737a       mov.w   r3, #1000       ; 0x3e8
- 800199a:      fbb3 f3f1       udiv    r3, r3, r1
- 800199e:      fbb2 f3f3       udiv    r3, r2, r3
- 80019a2:      4618            mov     r0, r3
- 80019a4:      f000 f943       bl      8001c2e <HAL_SYSTICK_Config>
- 80019a8:      4603            mov     r3, r0
- 80019aa:      2b00            cmp     r3, #0
- 80019ac:      d001            beq.n   80019b2 <HAL_InitTick+0x2e>
+ 80019bc:      4b12            ldr     r3, [pc, #72]   ; (8001a08 <HAL_InitTick+0x54>)
+ 80019be:      681a            ldr     r2, [r3, #0]
+ 80019c0:      4b12            ldr     r3, [pc, #72]   ; (8001a0c <HAL_InitTick+0x58>)
+ 80019c2:      781b            ldrb    r3, [r3, #0]
+ 80019c4:      4619            mov     r1, r3
+ 80019c6:      f44f 737a       mov.w   r3, #1000       ; 0x3e8
+ 80019ca:      fbb3 f3f1       udiv    r3, r3, r1
+ 80019ce:      fbb2 f3f3       udiv    r3, r2, r3
+ 80019d2:      4618            mov     r0, r3
+ 80019d4:      f000 f943       bl      8001c5e <HAL_SYSTICK_Config>
+ 80019d8:      4603            mov     r3, r0
+ 80019da:      2b00            cmp     r3, #0
+ 80019dc:      d001            beq.n   80019e2 <HAL_InitTick+0x2e>
   {
     return HAL_ERROR;
- 80019ae:      2301            movs    r3, #1
- 80019b0:      e00e            b.n     80019d0 <HAL_InitTick+0x4c>
+ 80019de:      2301            movs    r3, #1
+ 80019e0:      e00e            b.n     8001a00 <HAL_InitTick+0x4c>
   }
 
   /* Configure the SysTick IRQ priority */
   if (TickPriority < (1UL << __NVIC_PRIO_BITS))
- 80019b2:      687b            ldr     r3, [r7, #4]
- 80019b4:      2b0f            cmp     r3, #15
- 80019b6:      d80a            bhi.n   80019ce <HAL_InitTick+0x4a>
+ 80019e2:      687b            ldr     r3, [r7, #4]
+ 80019e4:      2b0f            cmp     r3, #15
+ 80019e6:      d80a            bhi.n   80019fe <HAL_InitTick+0x4a>
   {
     HAL_NVIC_SetPriority(SysTick_IRQn, TickPriority, 0U);
- 80019b8:      2200            movs    r2, #0
- 80019ba:      6879            ldr     r1, [r7, #4]
- 80019bc:      f04f 30ff       mov.w   r0, #4294967295 ; 0xffffffff
- 80019c0:      f000 f90b       bl      8001bda <HAL_NVIC_SetPriority>
+ 80019e8:      2200            movs    r2, #0
+ 80019ea:      6879            ldr     r1, [r7, #4]
+ 80019ec:      f04f 30ff       mov.w   r0, #4294967295 ; 0xffffffff
+ 80019f0:      f000 f90b       bl      8001c0a <HAL_NVIC_SetPriority>
     uwTickPrio = TickPriority;
- 80019c4:      4a06            ldr     r2, [pc, #24]   ; (80019e0 <HAL_InitTick+0x5c>)
- 80019c6:      687b            ldr     r3, [r7, #4]
- 80019c8:      6013            str     r3, [r2, #0]
+ 80019f4:      4a06            ldr     r2, [pc, #24]   ; (8001a10 <HAL_InitTick+0x5c>)
+ 80019f6:      687b            ldr     r3, [r7, #4]
+ 80019f8:      6013            str     r3, [r2, #0]
   {
     return HAL_ERROR;
   }
 
   /* Return function status */
   return HAL_OK;
- 80019ca:      2300            movs    r3, #0
- 80019cc:      e000            b.n     80019d0 <HAL_InitTick+0x4c>
+ 80019fa:      2300            movs    r3, #0
+ 80019fc:      e000            b.n     8001a00 <HAL_InitTick+0x4c>
     return HAL_ERROR;
- 80019ce:      2301            movs    r3, #1
+ 80019fe:      2301            movs    r3, #1
 }
- 80019d0:      4618            mov     r0, r3
- 80019d2:      3708            adds    r7, #8
- 80019d4:      46bd            mov     sp, r7
- 80019d6:      bd80            pop     {r7, pc}
- 80019d8:      20000000        .word   0x20000000
- 80019dc:      20000008        .word   0x20000008
- 80019e0:      20000004        .word   0x20000004
-
-080019e4 <HAL_IncTick>:
+ 8001a00:      4618            mov     r0, r3
+ 8001a02:      3708            adds    r7, #8
+ 8001a04:      46bd            mov     sp, r7
+ 8001a06:      bd80            pop     {r7, pc}
+ 8001a08:      20000004        .word   0x20000004
+ 8001a0c:      2000000c        .word   0x2000000c
+ 8001a10:      20000008        .word   0x20000008
+
+08001a14 <HAL_IncTick>:
  * @note This function is declared as __weak to be overwritten in case of other 
   *      implementations in user file.
   * @retval None
   */
 __weak void HAL_IncTick(void)
 {
- 80019e4:      b480            push    {r7}
- 80019e6:      af00            add     r7, sp, #0
+ 8001a14:      b480            push    {r7}
+ 8001a16:      af00            add     r7, sp, #0
   uwTick += uwTickFreq;
- 80019e8:      4b06            ldr     r3, [pc, #24]   ; (8001a04 <HAL_IncTick+0x20>)
- 80019ea:      781b            ldrb    r3, [r3, #0]
- 80019ec:      461a            mov     r2, r3
- 80019ee:      4b06            ldr     r3, [pc, #24]   ; (8001a08 <HAL_IncTick+0x24>)
- 80019f0:      681b            ldr     r3, [r3, #0]
- 80019f2:      4413            add     r3, r2
- 80019f4:      4a04            ldr     r2, [pc, #16]   ; (8001a08 <HAL_IncTick+0x24>)
- 80019f6:      6013            str     r3, [r2, #0]
+ 8001a18:      4b06            ldr     r3, [pc, #24]   ; (8001a34 <HAL_IncTick+0x20>)
+ 8001a1a:      781b            ldrb    r3, [r3, #0]
+ 8001a1c:      461a            mov     r2, r3
+ 8001a1e:      4b06            ldr     r3, [pc, #24]   ; (8001a38 <HAL_IncTick+0x24>)
+ 8001a20:      681b            ldr     r3, [r3, #0]
+ 8001a22:      4413            add     r3, r2
+ 8001a24:      4a04            ldr     r2, [pc, #16]   ; (8001a38 <HAL_IncTick+0x24>)
+ 8001a26:      6013            str     r3, [r2, #0]
 }
- 80019f8:      bf00            nop
- 80019fa:      46bd            mov     sp, r7
- 80019fc:      f85d 7b04       ldr.w   r7, [sp], #4
- 8001a00:      4770            bx      lr
- 8001a02:      bf00            nop
- 8001a04:      20000008        .word   0x20000008
- 8001a08:      20000388        .word   0x20000388
-
-08001a0c <HAL_GetTick>:
+ 8001a28:      bf00            nop
+ 8001a2a:      46bd            mov     sp, r7
+ 8001a2c:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8001a30:      4770            bx      lr
+ 8001a32:      bf00            nop
+ 8001a34:      2000000c        .word   0x2000000c
+ 8001a38:      20000390        .word   0x20000390
+
+08001a3c <HAL_GetTick>:
   * @note This function is declared as __weak to be overwritten in case of other 
   *       implementations in user file.
   * @retval tick value
   */
 __weak uint32_t HAL_GetTick(void)
 {
- 8001a0c:      b480            push    {r7}
- 8001a0e:      af00            add     r7, sp, #0
+ 8001a3c:      b480            push    {r7}
+ 8001a3e:      af00            add     r7, sp, #0
   return uwTick;
- 8001a10:      4b03            ldr     r3, [pc, #12]   ; (8001a20 <HAL_GetTick+0x14>)
- 8001a12:      681b            ldr     r3, [r3, #0]
+ 8001a40:      4b03            ldr     r3, [pc, #12]   ; (8001a50 <HAL_GetTick+0x14>)
+ 8001a42:      681b            ldr     r3, [r3, #0]
 }
- 8001a14:      4618            mov     r0, r3
- 8001a16:      46bd            mov     sp, r7
- 8001a18:      f85d 7b04       ldr.w   r7, [sp], #4
- 8001a1c:      4770            bx      lr
- 8001a1e:      bf00            nop
- 8001a20:      20000388        .word   0x20000388
-
-08001a24 <__NVIC_SetPriorityGrouping>:
+ 8001a44:      4618            mov     r0, r3
+ 8001a46:      46bd            mov     sp, r7
+ 8001a48:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8001a4c:      4770            bx      lr
+ 8001a4e:      bf00            nop
+ 8001a50:      20000390        .word   0x20000390
+
+08001a54 <__NVIC_SetPriorityGrouping>:
            In case of a conflict between priority grouping and available
            priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set.
   \param [in]      PriorityGroup  Priority grouping field.
  */
 __STATIC_INLINE void __NVIC_SetPriorityGrouping(uint32_t PriorityGroup)
 {
- 8001a24:      b480            push    {r7}
- 8001a26:      b085            sub     sp, #20
- 8001a28:      af00            add     r7, sp, #0
- 8001a2a:      6078            str     r0, [r7, #4]
+ 8001a54:      b480            push    {r7}
+ 8001a56:      b085            sub     sp, #20
+ 8001a58:      af00            add     r7, sp, #0
+ 8001a5a:      6078            str     r0, [r7, #4]
   uint32_t reg_value;
   uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL);             /* only values 0..7 are used          */
- 8001a2c:      687b            ldr     r3, [r7, #4]
- 8001a2e:      f003 0307       and.w   r3, r3, #7
- 8001a32:      60fb            str     r3, [r7, #12]
+ 8001a5c:      687b            ldr     r3, [r7, #4]
+ 8001a5e:      f003 0307       and.w   r3, r3, #7
+ 8001a62:      60fb            str     r3, [r7, #12]
 
   reg_value  =  SCB->AIRCR;                                                   /* read old register configuration    */
- 8001a34:      4b0b            ldr     r3, [pc, #44]   ; (8001a64 <__NVIC_SetPriorityGrouping+0x40>)
- 8001a36:      68db            ldr     r3, [r3, #12]
- 8001a38:      60bb            str     r3, [r7, #8]
+ 8001a64:      4b0b            ldr     r3, [pc, #44]   ; (8001a94 <__NVIC_SetPriorityGrouping+0x40>)
+ 8001a66:      68db            ldr     r3, [r3, #12]
+ 8001a68:      60bb            str     r3, [r7, #8]
   reg_value &= ~((uint32_t)(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_PRIGROUP_Msk)); /* clear bits to change               */
- 8001a3a:      68ba            ldr     r2, [r7, #8]
- 8001a3c:      f64f 03ff       movw    r3, #63743      ; 0xf8ff
- 8001a40:      4013            ands    r3, r2
- 8001a42:      60bb            str     r3, [r7, #8]
+ 8001a6a:      68ba            ldr     r2, [r7, #8]
+ 8001a6c:      f64f 03ff       movw    r3, #63743      ; 0xf8ff
+ 8001a70:      4013            ands    r3, r2
+ 8001a72:      60bb            str     r3, [r7, #8]
   reg_value  =  (reg_value                                   |
                 ((uint32_t)0x5FAUL << SCB_AIRCR_VECTKEY_Pos) |
                 (PriorityGroupTmp << SCB_AIRCR_PRIGROUP_Pos)  );              /* Insert write key and priority group */
- 8001a44:      68fb            ldr     r3, [r7, #12]
- 8001a46:      021a            lsls    r2, r3, #8
+ 8001a74:      68fb            ldr     r3, [r7, #12]
+ 8001a76:      021a            lsls    r2, r3, #8
                 ((uint32_t)0x5FAUL << SCB_AIRCR_VECTKEY_Pos) |
- 8001a48:      68bb            ldr     r3, [r7, #8]
- 8001a4a:      431a            orrs    r2, r3
+ 8001a78:      68bb            ldr     r3, [r7, #8]
+ 8001a7a:      431a            orrs    r2, r3
   reg_value  =  (reg_value                                   |
- 8001a4c:      4b06            ldr     r3, [pc, #24]   ; (8001a68 <__NVIC_SetPriorityGrouping+0x44>)
- 8001a4e:      4313            orrs    r3, r2
- 8001a50:      60bb            str     r3, [r7, #8]
+ 8001a7c:      4b06            ldr     r3, [pc, #24]   ; (8001a98 <__NVIC_SetPriorityGrouping+0x44>)
+ 8001a7e:      4313            orrs    r3, r2
+ 8001a80:      60bb            str     r3, [r7, #8]
   SCB->AIRCR =  reg_value;
- 8001a52:      4a04            ldr     r2, [pc, #16]   ; (8001a64 <__NVIC_SetPriorityGrouping+0x40>)
- 8001a54:      68bb            ldr     r3, [r7, #8]
- 8001a56:      60d3            str     r3, [r2, #12]
+ 8001a82:      4a04            ldr     r2, [pc, #16]   ; (8001a94 <__NVIC_SetPriorityGrouping+0x40>)
+ 8001a84:      68bb            ldr     r3, [r7, #8]
+ 8001a86:      60d3            str     r3, [r2, #12]
 }
- 8001a58:      bf00            nop
- 8001a5a:      3714            adds    r7, #20
- 8001a5c:      46bd            mov     sp, r7
- 8001a5e:      f85d 7b04       ldr.w   r7, [sp], #4
- 8001a62:      4770            bx      lr
- 8001a64:      e000ed00        .word   0xe000ed00
- 8001a68:      05fa0000        .word   0x05fa0000
-
-08001a6c <__NVIC_GetPriorityGrouping>:
+ 8001a88:      bf00            nop
+ 8001a8a:      3714            adds    r7, #20
+ 8001a8c:      46bd            mov     sp, r7
+ 8001a8e:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8001a92:      4770            bx      lr
+ 8001a94:      e000ed00        .word   0xe000ed00
+ 8001a98:      05fa0000        .word   0x05fa0000
+
+08001a9c <__NVIC_GetPriorityGrouping>:
   \brief   Get Priority Grouping
   \details Reads the priority grouping field from the NVIC Interrupt Controller.
   \return                Priority grouping field (SCB->AIRCR [10:8] PRIGROUP field).
  */
 __STATIC_INLINE uint32_t __NVIC_GetPriorityGrouping(void)
 {
- 8001a6c:      b480            push    {r7}
- 8001a6e:      af00            add     r7, sp, #0
+ 8001a9c:      b480            push    {r7}
+ 8001a9e:      af00            add     r7, sp, #0
   return ((uint32_t)((SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) >> SCB_AIRCR_PRIGROUP_Pos));
- 8001a70:      4b04            ldr     r3, [pc, #16]   ; (8001a84 <__NVIC_GetPriorityGrouping+0x18>)
- 8001a72:      68db            ldr     r3, [r3, #12]
- 8001a74:      0a1b            lsrs    r3, r3, #8
- 8001a76:      f003 0307       and.w   r3, r3, #7
+ 8001aa0:      4b04            ldr     r3, [pc, #16]   ; (8001ab4 <__NVIC_GetPriorityGrouping+0x18>)
+ 8001aa2:      68db            ldr     r3, [r3, #12]
+ 8001aa4:      0a1b            lsrs    r3, r3, #8
+ 8001aa6:      f003 0307       and.w   r3, r3, #7
 }
- 8001a7a:      4618            mov     r0, r3
- 8001a7c:      46bd            mov     sp, r7
- 8001a7e:      f85d 7b04       ldr.w   r7, [sp], #4
- 8001a82:      4770            bx      lr
- 8001a84:      e000ed00        .word   0xe000ed00
+ 8001aaa:      4618            mov     r0, r3
+ 8001aac:      46bd            mov     sp, r7
+ 8001aae:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8001ab2:      4770            bx      lr
+ 8001ab4:      e000ed00        .word   0xe000ed00
 
-08001a88 <__NVIC_EnableIRQ>:
+08001ab8 <__NVIC_EnableIRQ>:
   \details Enables a device specific interrupt in the NVIC interrupt controller.
   \param [in]      IRQn  Device specific interrupt number.
   \note    IRQn must not be negative.
  */
 __STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn)
 {
- 8001a88:      b480            push    {r7}
- 8001a8a:      b083            sub     sp, #12
- 8001a8c:      af00            add     r7, sp, #0
- 8001a8e:      4603            mov     r3, r0
- 8001a90:      71fb            strb    r3, [r7, #7]
+ 8001ab8:      b480            push    {r7}
+ 8001aba:      b083            sub     sp, #12
+ 8001abc:      af00            add     r7, sp, #0
+ 8001abe:      4603            mov     r3, r0
+ 8001ac0:      71fb            strb    r3, [r7, #7]
   if ((int32_t)(IRQn) >= 0)
- 8001a92:      f997 3007       ldrsb.w r3, [r7, #7]
- 8001a96:      2b00            cmp     r3, #0
- 8001a98:      db0b            blt.n   8001ab2 <__NVIC_EnableIRQ+0x2a>
+ 8001ac2:      f997 3007       ldrsb.w r3, [r7, #7]
+ 8001ac6:      2b00            cmp     r3, #0
+ 8001ac8:      db0b            blt.n   8001ae2 <__NVIC_EnableIRQ+0x2a>
   {
     NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
- 8001a9a:      79fb            ldrb    r3, [r7, #7]
- 8001a9c:      f003 021f       and.w   r2, r3, #31
- 8001aa0:      4907            ldr     r1, [pc, #28]   ; (8001ac0 <__NVIC_EnableIRQ+0x38>)
- 8001aa2:      f997 3007       ldrsb.w r3, [r7, #7]
- 8001aa6:      095b            lsrs    r3, r3, #5
- 8001aa8:      2001            movs    r0, #1
- 8001aaa:      fa00 f202       lsl.w   r2, r0, r2
- 8001aae:      f841 2023       str.w   r2, [r1, r3, lsl #2]
+ 8001aca:      79fb            ldrb    r3, [r7, #7]
+ 8001acc:      f003 021f       and.w   r2, r3, #31
+ 8001ad0:      4907            ldr     r1, [pc, #28]   ; (8001af0 <__NVIC_EnableIRQ+0x38>)
+ 8001ad2:      f997 3007       ldrsb.w r3, [r7, #7]
+ 8001ad6:      095b            lsrs    r3, r3, #5
+ 8001ad8:      2001            movs    r0, #1
+ 8001ada:      fa00 f202       lsl.w   r2, r0, r2
+ 8001ade:      f841 2023       str.w   r2, [r1, r3, lsl #2]
   }
 }
- 8001ab2:      bf00            nop
- 8001ab4:      370c            adds    r7, #12
- 8001ab6:      46bd            mov     sp, r7
- 8001ab8:      f85d 7b04       ldr.w   r7, [sp], #4
- 8001abc:      4770            bx      lr
- 8001abe:      bf00            nop
- 8001ac0:      e000e100        .word   0xe000e100
-
-08001ac4 <__NVIC_SetPriority>:
+ 8001ae2:      bf00            nop
+ 8001ae4:      370c            adds    r7, #12
+ 8001ae6:      46bd            mov     sp, r7
+ 8001ae8:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8001aec:      4770            bx      lr
+ 8001aee:      bf00            nop
+ 8001af0:      e000e100        .word   0xe000e100
+
+08001af4 <__NVIC_SetPriority>:
   \param [in]      IRQn  Interrupt number.
   \param [in]  priority  Priority to set.
   \note    The priority cannot be set for every processor exception.
  */
 __STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
 {
- 8001ac4:      b480            push    {r7}
- 8001ac6:      b083            sub     sp, #12
- 8001ac8:      af00            add     r7, sp, #0
- 8001aca:      4603            mov     r3, r0
- 8001acc:      6039            str     r1, [r7, #0]
- 8001ace:      71fb            strb    r3, [r7, #7]
+ 8001af4:      b480            push    {r7}
+ 8001af6:      b083            sub     sp, #12
+ 8001af8:      af00            add     r7, sp, #0
+ 8001afa:      4603            mov     r3, r0
+ 8001afc:      6039            str     r1, [r7, #0]
+ 8001afe:      71fb            strb    r3, [r7, #7]
   if ((int32_t)(IRQn) >= 0)
- 8001ad0:      f997 3007       ldrsb.w r3, [r7, #7]
- 8001ad4:      2b00            cmp     r3, #0
- 8001ad6:      db0a            blt.n   8001aee <__NVIC_SetPriority+0x2a>
+ 8001b00:      f997 3007       ldrsb.w r3, [r7, #7]
+ 8001b04:      2b00            cmp     r3, #0
+ 8001b06:      db0a            blt.n   8001b1e <__NVIC_SetPriority+0x2a>
   {
     NVIC->IP[((uint32_t)IRQn)]                = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL);
- 8001ad8:      683b            ldr     r3, [r7, #0]
- 8001ada:      b2da            uxtb    r2, r3
- 8001adc:      490c            ldr     r1, [pc, #48]   ; (8001b10 <__NVIC_SetPriority+0x4c>)
- 8001ade:      f997 3007       ldrsb.w r3, [r7, #7]
- 8001ae2:      0112            lsls    r2, r2, #4
- 8001ae4:      b2d2            uxtb    r2, r2
- 8001ae6:      440b            add     r3, r1
- 8001ae8:      f883 2300       strb.w  r2, [r3, #768]  ; 0x300
+ 8001b08:      683b            ldr     r3, [r7, #0]
+ 8001b0a:      b2da            uxtb    r2, r3
+ 8001b0c:      490c            ldr     r1, [pc, #48]   ; (8001b40 <__NVIC_SetPriority+0x4c>)
+ 8001b0e:      f997 3007       ldrsb.w r3, [r7, #7]
+ 8001b12:      0112            lsls    r2, r2, #4
+ 8001b14:      b2d2            uxtb    r2, r2
+ 8001b16:      440b            add     r3, r1
+ 8001b18:      f883 2300       strb.w  r2, [r3, #768]  ; 0x300
   }
   else
   {
     SCB->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL);
   }
 }
- 8001aec:      e00a            b.n     8001b04 <__NVIC_SetPriority+0x40>
+ 8001b1c:      e00a            b.n     8001b34 <__NVIC_SetPriority+0x40>
     SCB->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL);
- 8001aee:      683b            ldr     r3, [r7, #0]
- 8001af0:      b2da            uxtb    r2, r3
- 8001af2:      4908            ldr     r1, [pc, #32]   ; (8001b14 <__NVIC_SetPriority+0x50>)
- 8001af4:      79fb            ldrb    r3, [r7, #7]
- 8001af6:      f003 030f       and.w   r3, r3, #15
- 8001afa:      3b04            subs    r3, #4
- 8001afc:      0112            lsls    r2, r2, #4
- 8001afe:      b2d2            uxtb    r2, r2
- 8001b00:      440b            add     r3, r1
- 8001b02:      761a            strb    r2, [r3, #24]
+ 8001b1e:      683b            ldr     r3, [r7, #0]
+ 8001b20:      b2da            uxtb    r2, r3
+ 8001b22:      4908            ldr     r1, [pc, #32]   ; (8001b44 <__NVIC_SetPriority+0x50>)
+ 8001b24:      79fb            ldrb    r3, [r7, #7]
+ 8001b26:      f003 030f       and.w   r3, r3, #15
+ 8001b2a:      3b04            subs    r3, #4
+ 8001b2c:      0112            lsls    r2, r2, #4
+ 8001b2e:      b2d2            uxtb    r2, r2
+ 8001b30:      440b            add     r3, r1
+ 8001b32:      761a            strb    r2, [r3, #24]
 }
- 8001b04:      bf00            nop
- 8001b06:      370c            adds    r7, #12
- 8001b08:      46bd            mov     sp, r7
- 8001b0a:      f85d 7b04       ldr.w   r7, [sp], #4
- 8001b0e:      4770            bx      lr
- 8001b10:      e000e100        .word   0xe000e100
- 8001b14:      e000ed00        .word   0xe000ed00
-
-08001b18 <NVIC_EncodePriority>:
+ 8001b34:      bf00            nop
+ 8001b36:      370c            adds    r7, #12
+ 8001b38:      46bd            mov     sp, r7
+ 8001b3a:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8001b3e:      4770            bx      lr
+ 8001b40:      e000e100        .word   0xe000e100
+ 8001b44:      e000ed00        .word   0xe000ed00
+
+08001b48 <NVIC_EncodePriority>:
   \param [in]   PreemptPriority  Preemptive priority value (starting from 0).
   \param [in]       SubPriority  Subpriority value (starting from 0).
   \return                        Encoded priority. Value can be used in the function \ref NVIC_SetPriority().
  */
 __STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority)
 {
- 8001b18:      b480            push    {r7}
- 8001b1a:      b089            sub     sp, #36 ; 0x24
- 8001b1c:      af00            add     r7, sp, #0
- 8001b1e:      60f8            str     r0, [r7, #12]
- 8001b20:      60b9            str     r1, [r7, #8]
- 8001b22:      607a            str     r2, [r7, #4]
+ 8001b48:      b480            push    {r7}
+ 8001b4a:      b089            sub     sp, #36 ; 0x24
+ 8001b4c:      af00            add     r7, sp, #0
+ 8001b4e:      60f8            str     r0, [r7, #12]
+ 8001b50:      60b9            str     r1, [r7, #8]
+ 8001b52:      607a            str     r2, [r7, #4]
   uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL);   /* only values 0..7 are used          */
- 8001b24:      68fb            ldr     r3, [r7, #12]
- 8001b26:      f003 0307       and.w   r3, r3, #7
- 8001b2a:      61fb            str     r3, [r7, #28]
+ 8001b54:      68fb            ldr     r3, [r7, #12]
+ 8001b56:      f003 0307       and.w   r3, r3, #7
+ 8001b5a:      61fb            str     r3, [r7, #28]
   uint32_t PreemptPriorityBits;
   uint32_t SubPriorityBits;
 
   PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp);
- 8001b2c:      69fb            ldr     r3, [r7, #28]
- 8001b2e:      f1c3 0307       rsb     r3, r3, #7
- 8001b32:      2b04            cmp     r3, #4
- 8001b34:      bf28            it      cs
- 8001b36:      2304            movcs   r3, #4
- 8001b38:      61bb            str     r3, [r7, #24]
+ 8001b5c:      69fb            ldr     r3, [r7, #28]
+ 8001b5e:      f1c3 0307       rsb     r3, r3, #7
+ 8001b62:      2b04            cmp     r3, #4
+ 8001b64:      bf28            it      cs
+ 8001b66:      2304            movcs   r3, #4
+ 8001b68:      61bb            str     r3, [r7, #24]
   SubPriorityBits     = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS));
- 8001b3a:      69fb            ldr     r3, [r7, #28]
- 8001b3c:      3304            adds    r3, #4
- 8001b3e:      2b06            cmp     r3, #6
- 8001b40:      d902            bls.n   8001b48 <NVIC_EncodePriority+0x30>
- 8001b42:      69fb            ldr     r3, [r7, #28]
- 8001b44:      3b03            subs    r3, #3
- 8001b46:      e000            b.n     8001b4a <NVIC_EncodePriority+0x32>
- 8001b48:      2300            movs    r3, #0
- 8001b4a:      617b            str     r3, [r7, #20]
+ 8001b6a:      69fb            ldr     r3, [r7, #28]
+ 8001b6c:      3304            adds    r3, #4
+ 8001b6e:      2b06            cmp     r3, #6
+ 8001b70:      d902            bls.n   8001b78 <NVIC_EncodePriority+0x30>
+ 8001b72:      69fb            ldr     r3, [r7, #28]
+ 8001b74:      3b03            subs    r3, #3
+ 8001b76:      e000            b.n     8001b7a <NVIC_EncodePriority+0x32>
+ 8001b78:      2300            movs    r3, #0
+ 8001b7a:      617b            str     r3, [r7, #20]
 
   return (
            ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) |
- 8001b4c:      f04f 32ff       mov.w   r2, #4294967295 ; 0xffffffff
- 8001b50:      69bb            ldr     r3, [r7, #24]
- 8001b52:      fa02 f303       lsl.w   r3, r2, r3
- 8001b56:      43da            mvns    r2, r3
- 8001b58:      68bb            ldr     r3, [r7, #8]
- 8001b5a:      401a            ands    r2, r3
- 8001b5c:      697b            ldr     r3, [r7, #20]
- 8001b5e:      409a            lsls    r2, r3
+ 8001b7c:      f04f 32ff       mov.w   r2, #4294967295 ; 0xffffffff
+ 8001b80:      69bb            ldr     r3, [r7, #24]
+ 8001b82:      fa02 f303       lsl.w   r3, r2, r3
+ 8001b86:      43da            mvns    r2, r3
+ 8001b88:      68bb            ldr     r3, [r7, #8]
+ 8001b8a:      401a            ands    r2, r3
+ 8001b8c:      697b            ldr     r3, [r7, #20]
+ 8001b8e:      409a            lsls    r2, r3
            ((SubPriority     & (uint32_t)((1UL << (SubPriorityBits    )) - 1UL)))
- 8001b60:      f04f 31ff       mov.w   r1, #4294967295 ; 0xffffffff
- 8001b64:      697b            ldr     r3, [r7, #20]
- 8001b66:      fa01 f303       lsl.w   r3, r1, r3
- 8001b6a:      43d9            mvns    r1, r3
- 8001b6c:      687b            ldr     r3, [r7, #4]
- 8001b6e:      400b            ands    r3, r1
+ 8001b90:      f04f 31ff       mov.w   r1, #4294967295 ; 0xffffffff
+ 8001b94:      697b            ldr     r3, [r7, #20]
+ 8001b96:      fa01 f303       lsl.w   r3, r1, r3
+ 8001b9a:      43d9            mvns    r1, r3
+ 8001b9c:      687b            ldr     r3, [r7, #4]
+ 8001b9e:      400b            ands    r3, r1
            ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) |
- 8001b70:      4313            orrs    r3, r2
+ 8001ba0:      4313            orrs    r3, r2
          );
 }
- 8001b72:      4618            mov     r0, r3
- 8001b74:      3724            adds    r7, #36 ; 0x24
- 8001b76:      46bd            mov     sp, r7
- 8001b78:      f85d 7b04       ldr.w   r7, [sp], #4
- 8001b7c:      4770            bx      lr
+ 8001ba2:      4618            mov     r0, r3
+ 8001ba4:      3724            adds    r7, #36 ; 0x24
+ 8001ba6:      46bd            mov     sp, r7
+ 8001ba8:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8001bac:      4770            bx      lr
        ...
 
-08001b80 <SysTick_Config>:
+08001bb0 <SysTick_Config>:
   \note    When the variable <b>__Vendor_SysTickConfig</b> is set to 1, then the
            function <b>SysTick_Config</b> is not included. In this case, the file <b><i>device</i>.h</b>
            must contain a vendor-specific implementation of this function.
  */
 __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
 {
- 8001b80:      b580            push    {r7, lr}
- 8001b82:      b082            sub     sp, #8
- 8001b84:      af00            add     r7, sp, #0
- 8001b86:      6078            str     r0, [r7, #4]
+ 8001bb0:      b580            push    {r7, lr}
+ 8001bb2:      b082            sub     sp, #8
+ 8001bb4:      af00            add     r7, sp, #0
+ 8001bb6:      6078            str     r0, [r7, #4]
   if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk)
- 8001b88:      687b            ldr     r3, [r7, #4]
- 8001b8a:      3b01            subs    r3, #1
- 8001b8c:      f1b3 7f80       cmp.w   r3, #16777216   ; 0x1000000
- 8001b90:      d301            bcc.n   8001b96 <SysTick_Config+0x16>
+ 8001bb8:      687b            ldr     r3, [r7, #4]
+ 8001bba:      3b01            subs    r3, #1
+ 8001bbc:      f1b3 7f80       cmp.w   r3, #16777216   ; 0x1000000
+ 8001bc0:      d301            bcc.n   8001bc6 <SysTick_Config+0x16>
   {
     return (1UL);                                                   /* Reload value impossible */
- 8001b92:      2301            movs    r3, #1
- 8001b94:      e00f            b.n     8001bb6 <SysTick_Config+0x36>
+ 8001bc2:      2301            movs    r3, #1
+ 8001bc4:      e00f            b.n     8001be6 <SysTick_Config+0x36>
   }
 
   SysTick->LOAD  = (uint32_t)(ticks - 1UL);                         /* set reload register */
- 8001b96:      4a0a            ldr     r2, [pc, #40]   ; (8001bc0 <SysTick_Config+0x40>)
- 8001b98:      687b            ldr     r3, [r7, #4]
- 8001b9a:      3b01            subs    r3, #1
- 8001b9c:      6053            str     r3, [r2, #4]
+ 8001bc6:      4a0a            ldr     r2, [pc, #40]   ; (8001bf0 <SysTick_Config+0x40>)
+ 8001bc8:      687b            ldr     r3, [r7, #4]
+ 8001bca:      3b01            subs    r3, #1
+ 8001bcc:      6053            str     r3, [r2, #4]
   NVIC_SetPriority (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */
- 8001b9e:      210f            movs    r1, #15
- 8001ba0:      f04f 30ff       mov.w   r0, #4294967295 ; 0xffffffff
- 8001ba4:      f7ff ff8e       bl      8001ac4 <__NVIC_SetPriority>
+ 8001bce:      210f            movs    r1, #15
+ 8001bd0:      f04f 30ff       mov.w   r0, #4294967295 ; 0xffffffff
+ 8001bd4:      f7ff ff8e       bl      8001af4 <__NVIC_SetPriority>
   SysTick->VAL   = 0UL;                                             /* Load the SysTick Counter Value */
- 8001ba8:      4b05            ldr     r3, [pc, #20]   ; (8001bc0 <SysTick_Config+0x40>)
- 8001baa:      2200            movs    r2, #0
- 8001bac:      609a            str     r2, [r3, #8]
+ 8001bd8:      4b05            ldr     r3, [pc, #20]   ; (8001bf0 <SysTick_Config+0x40>)
+ 8001bda:      2200            movs    r2, #0
+ 8001bdc:      609a            str     r2, [r3, #8]
   SysTick->CTRL  = SysTick_CTRL_CLKSOURCE_Msk |
- 8001bae:      4b04            ldr     r3, [pc, #16]   ; (8001bc0 <SysTick_Config+0x40>)
- 8001bb0:      2207            movs    r2, #7
- 8001bb2:      601a            str     r2, [r3, #0]
+ 8001bde:      4b04            ldr     r3, [pc, #16]   ; (8001bf0 <SysTick_Config+0x40>)
+ 8001be0:      2207            movs    r2, #7
+ 8001be2:      601a            str     r2, [r3, #0]
                    SysTick_CTRL_TICKINT_Msk   |
                    SysTick_CTRL_ENABLE_Msk;                         /* Enable SysTick IRQ and SysTick Timer */
   return (0UL);                                                     /* Function successful */
- 8001bb4:      2300            movs    r3, #0
+ 8001be4:      2300            movs    r3, #0
 }
- 8001bb6:      4618            mov     r0, r3
- 8001bb8:      3708            adds    r7, #8
- 8001bba:      46bd            mov     sp, r7
- 8001bbc:      bd80            pop     {r7, pc}
- 8001bbe:      bf00            nop
- 8001bc0:      e000e010        .word   0xe000e010
-
-08001bc4 <HAL_NVIC_SetPriorityGrouping>:
+ 8001be6:      4618            mov     r0, r3
+ 8001be8:      3708            adds    r7, #8
+ 8001bea:      46bd            mov     sp, r7
+ 8001bec:      bd80            pop     {r7, pc}
+ 8001bee:      bf00            nop
+ 8001bf0:      e000e010        .word   0xe000e010
+
+08001bf4 <HAL_NVIC_SetPriorityGrouping>:
   * @note   When the NVIC_PriorityGroup_0 is selected, IRQ preemption is no more possible. 
   *         The pending IRQ priority will be managed only by the subpriority. 
   * @retval None
   */
 void HAL_NVIC_SetPriorityGrouping(uint32_t PriorityGroup)
 {
- 8001bc4:      b580            push    {r7, lr}
- 8001bc6:      b082            sub     sp, #8
- 8001bc8:      af00            add     r7, sp, #0
- 8001bca:      6078            str     r0, [r7, #4]
+ 8001bf4:      b580            push    {r7, lr}
+ 8001bf6:      b082            sub     sp, #8
+ 8001bf8:      af00            add     r7, sp, #0
+ 8001bfa:      6078            str     r0, [r7, #4]
   /* Check the parameters */
   assert_param(IS_NVIC_PRIORITY_GROUP(PriorityGroup));
   
   /* Set the PRIGROUP[10:8] bits according to the PriorityGroup parameter value */
   NVIC_SetPriorityGrouping(PriorityGroup);
- 8001bcc:      6878            ldr     r0, [r7, #4]
- 8001bce:      f7ff ff29       bl      8001a24 <__NVIC_SetPriorityGrouping>
+ 8001bfc:      6878            ldr     r0, [r7, #4]
+ 8001bfe:      f7ff ff29       bl      8001a54 <__NVIC_SetPriorityGrouping>
 }
- 8001bd2:      bf00            nop
- 8001bd4:      3708            adds    r7, #8
- 8001bd6:      46bd            mov     sp, r7
- 8001bd8:      bd80            pop     {r7, pc}
+ 8001c02:      bf00            nop
+ 8001c04:      3708            adds    r7, #8
+ 8001c06:      46bd            mov     sp, r7
+ 8001c08:      bd80            pop     {r7, pc}
 
-08001bda <HAL_NVIC_SetPriority>:
+08001c0a <HAL_NVIC_SetPriority>:
   *         This parameter can be a value between 0 and 15
   *         A lower priority value indicates a higher priority.          
   * @retval None
   */
 void HAL_NVIC_SetPriority(IRQn_Type IRQn, uint32_t PreemptPriority, uint32_t SubPriority)
 { 
- 8001bda:      b580            push    {r7, lr}
- 8001bdc:      b086            sub     sp, #24
- 8001bde:      af00            add     r7, sp, #0
- 8001be0:      4603            mov     r3, r0
- 8001be2:      60b9            str     r1, [r7, #8]
- 8001be4:      607a            str     r2, [r7, #4]
- 8001be6:      73fb            strb    r3, [r7, #15]
+ 8001c0a:      b580            push    {r7, lr}
+ 8001c0c:      b086            sub     sp, #24
+ 8001c0e:      af00            add     r7, sp, #0
+ 8001c10:      4603            mov     r3, r0
+ 8001c12:      60b9            str     r1, [r7, #8]
+ 8001c14:      607a            str     r2, [r7, #4]
+ 8001c16:      73fb            strb    r3, [r7, #15]
   uint32_t prioritygroup = 0x00;
- 8001be8:      2300            movs    r3, #0
- 8001bea:      617b            str     r3, [r7, #20]
+ 8001c18:      2300            movs    r3, #0
+ 8001c1a:      617b            str     r3, [r7, #20]
   
   /* Check the parameters */
   assert_param(IS_NVIC_SUB_PRIORITY(SubPriority));
   assert_param(IS_NVIC_PREEMPTION_PRIORITY(PreemptPriority));
   
   prioritygroup = NVIC_GetPriorityGrouping();
- 8001bec:      f7ff ff3e       bl      8001a6c <__NVIC_GetPriorityGrouping>
- 8001bf0:      6178            str     r0, [r7, #20]
+ 8001c1c:      f7ff ff3e       bl      8001a9c <__NVIC_GetPriorityGrouping>
+ 8001c20:      6178            str     r0, [r7, #20]
   
   NVIC_SetPriority(IRQn, NVIC_EncodePriority(prioritygroup, PreemptPriority, SubPriority));
- 8001bf2:      687a            ldr     r2, [r7, #4]
- 8001bf4:      68b9            ldr     r1, [r7, #8]
- 8001bf6:      6978            ldr     r0, [r7, #20]
- 8001bf8:      f7ff ff8e       bl      8001b18 <NVIC_EncodePriority>
- 8001bfc:      4602            mov     r2, r0
- 8001bfe:      f997 300f       ldrsb.w r3, [r7, #15]
- 8001c02:      4611            mov     r1, r2
- 8001c04:      4618            mov     r0, r3
- 8001c06:      f7ff ff5d       bl      8001ac4 <__NVIC_SetPriority>
+ 8001c22:      687a            ldr     r2, [r7, #4]
+ 8001c24:      68b9            ldr     r1, [r7, #8]
+ 8001c26:      6978            ldr     r0, [r7, #20]
+ 8001c28:      f7ff ff8e       bl      8001b48 <NVIC_EncodePriority>
+ 8001c2c:      4602            mov     r2, r0
+ 8001c2e:      f997 300f       ldrsb.w r3, [r7, #15]
+ 8001c32:      4611            mov     r1, r2
+ 8001c34:      4618            mov     r0, r3
+ 8001c36:      f7ff ff5d       bl      8001af4 <__NVIC_SetPriority>
 }
- 8001c0a:      bf00            nop
- 8001c0c:      3718            adds    r7, #24
- 8001c0e:      46bd            mov     sp, r7
- 8001c10:      bd80            pop     {r7, pc}
+ 8001c3a:      bf00            nop
+ 8001c3c:      3718            adds    r7, #24
+ 8001c3e:      46bd            mov     sp, r7
+ 8001c40:      bd80            pop     {r7, pc}
 
-08001c12 <HAL_NVIC_EnableIRQ>:
+08001c42 <HAL_NVIC_EnableIRQ>:
   *         This parameter can be an enumerator of IRQn_Type enumeration
   *         (For the complete STM32 Devices IRQ Channels list, please refer to the appropriate CMSIS device file (stm32f7xxxx.h))
   * @retval None
   */
 void HAL_NVIC_EnableIRQ(IRQn_Type IRQn)
 {
- 8001c12:      b580            push    {r7, lr}
- 8001c14:      b082            sub     sp, #8
- 8001c16:      af00            add     r7, sp, #0
- 8001c18:      4603            mov     r3, r0
- 8001c1a:      71fb            strb    r3, [r7, #7]
+ 8001c42:      b580            push    {r7, lr}
+ 8001c44:      b082            sub     sp, #8
+ 8001c46:      af00            add     r7, sp, #0
+ 8001c48:      4603            mov     r3, r0
+ 8001c4a:      71fb            strb    r3, [r7, #7]
   /* Check the parameters */
   assert_param(IS_NVIC_DEVICE_IRQ(IRQn));
   
   /* Enable interrupt */
   NVIC_EnableIRQ(IRQn);
- 8001c1c:      f997 3007       ldrsb.w r3, [r7, #7]
- 8001c20:      4618            mov     r0, r3
- 8001c22:      f7ff ff31       bl      8001a88 <__NVIC_EnableIRQ>
+ 8001c4c:      f997 3007       ldrsb.w r3, [r7, #7]
+ 8001c50:      4618            mov     r0, r3
+ 8001c52:      f7ff ff31       bl      8001ab8 <__NVIC_EnableIRQ>
 }
- 8001c26:      bf00            nop
- 8001c28:      3708            adds    r7, #8
- 8001c2a:      46bd            mov     sp, r7
- 8001c2c:      bd80            pop     {r7, pc}
+ 8001c56:      bf00            nop
+ 8001c58:      3708            adds    r7, #8
+ 8001c5a:      46bd            mov     sp, r7
+ 8001c5c:      bd80            pop     {r7, pc}
 
-08001c2e <HAL_SYSTICK_Config>:
+08001c5e <HAL_SYSTICK_Config>:
   * @param  TicksNumb Specifies the ticks Number of ticks between two interrupts.
   * @retval status:  - 0  Function succeeded.
   *                  - 1  Function failed.
   */
 uint32_t HAL_SYSTICK_Config(uint32_t TicksNumb)
 {
- 8001c2e:      b580            push    {r7, lr}
- 8001c30:      b082            sub     sp, #8
- 8001c32:      af00            add     r7, sp, #0
- 8001c34:      6078            str     r0, [r7, #4]
+ 8001c5e:      b580            push    {r7, lr}
+ 8001c60:      b082            sub     sp, #8
+ 8001c62:      af00            add     r7, sp, #0
+ 8001c64:      6078            str     r0, [r7, #4]
    return SysTick_Config(TicksNumb);
- 8001c36:      6878            ldr     r0, [r7, #4]
- 8001c38:      f7ff ffa2       bl      8001b80 <SysTick_Config>
- 8001c3c:      4603            mov     r3, r0
+ 8001c66:      6878            ldr     r0, [r7, #4]
+ 8001c68:      f7ff ffa2       bl      8001bb0 <SysTick_Config>
+ 8001c6c:      4603            mov     r3, r0
 }
- 8001c3e:      4618            mov     r0, r3
- 8001c40:      3708            adds    r7, #8
- 8001c42:      46bd            mov     sp, r7
- 8001c44:      bd80            pop     {r7, pc}
+ 8001c6e:      4618            mov     r0, r3
+ 8001c70:      3708            adds    r7, #8
+ 8001c72:      46bd            mov     sp, r7
+ 8001c74:      bd80            pop     {r7, pc}
 
-08001c46 <HAL_DMA_Abort_IT>:
+08001c76 <HAL_DMA_Abort_IT>:
   * @param  hdma   pointer to a DMA_HandleTypeDef structure that contains
   *                 the configuration information for the specified DMA Stream.
   * @retval HAL status
   */
 HAL_StatusTypeDef HAL_DMA_Abort_IT(DMA_HandleTypeDef *hdma)
 {
- 8001c46:      b480            push    {r7}
- 8001c48:      b083            sub     sp, #12
- 8001c4a:      af00            add     r7, sp, #0
- 8001c4c:      6078            str     r0, [r7, #4]
+ 8001c76:      b480            push    {r7}
+ 8001c78:      b083            sub     sp, #12
+ 8001c7a:      af00            add     r7, sp, #0
+ 8001c7c:      6078            str     r0, [r7, #4]
   if(hdma->State != HAL_DMA_STATE_BUSY)
- 8001c4e:      687b            ldr     r3, [r7, #4]
- 8001c50:      f893 3035       ldrb.w  r3, [r3, #53]   ; 0x35
- 8001c54:      b2db            uxtb    r3, r3
- 8001c56:      2b02            cmp     r3, #2
- 8001c58:      d004            beq.n   8001c64 <HAL_DMA_Abort_IT+0x1e>
+ 8001c7e:      687b            ldr     r3, [r7, #4]
+ 8001c80:      f893 3035       ldrb.w  r3, [r3, #53]   ; 0x35
+ 8001c84:      b2db            uxtb    r3, r3
+ 8001c86:      2b02            cmp     r3, #2
+ 8001c88:      d004            beq.n   8001c94 <HAL_DMA_Abort_IT+0x1e>
   {
     hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER;
- 8001c5a:      687b            ldr     r3, [r7, #4]
- 8001c5c:      2280            movs    r2, #128        ; 0x80
- 8001c5e:      655a            str     r2, [r3, #84]   ; 0x54
+ 8001c8a:      687b            ldr     r3, [r7, #4]
+ 8001c8c:      2280            movs    r2, #128        ; 0x80
+ 8001c8e:      655a            str     r2, [r3, #84]   ; 0x54
     return HAL_ERROR;
- 8001c60:      2301            movs    r3, #1
- 8001c62:      e00c            b.n     8001c7e <HAL_DMA_Abort_IT+0x38>
+ 8001c90:      2301            movs    r3, #1
+ 8001c92:      e00c            b.n     8001cae <HAL_DMA_Abort_IT+0x38>
   }
   else
   {
     /* Set Abort State  */
     hdma->State = HAL_DMA_STATE_ABORT;
- 8001c64:      687b            ldr     r3, [r7, #4]
- 8001c66:      2205            movs    r2, #5
- 8001c68:      f883 2035       strb.w  r2, [r3, #53]   ; 0x35
+ 8001c94:      687b            ldr     r3, [r7, #4]
+ 8001c96:      2205            movs    r2, #5
+ 8001c98:      f883 2035       strb.w  r2, [r3, #53]   ; 0x35
     
     /* Disable the stream */
     __HAL_DMA_DISABLE(hdma);
- 8001c6c:      687b            ldr     r3, [r7, #4]
- 8001c6e:      681b            ldr     r3, [r3, #0]
- 8001c70:      681a            ldr     r2, [r3, #0]
- 8001c72:      687b            ldr     r3, [r7, #4]
- 8001c74:      681b            ldr     r3, [r3, #0]
- 8001c76:      f022 0201       bic.w   r2, r2, #1
- 8001c7a:      601a            str     r2, [r3, #0]
+ 8001c9c:      687b            ldr     r3, [r7, #4]
+ 8001c9e:      681b            ldr     r3, [r3, #0]
+ 8001ca0:      681a            ldr     r2, [r3, #0]
+ 8001ca2:      687b            ldr     r3, [r7, #4]
+ 8001ca4:      681b            ldr     r3, [r3, #0]
+ 8001ca6:      f022 0201       bic.w   r2, r2, #1
+ 8001caa:      601a            str     r2, [r3, #0]
   }
 
   return HAL_OK;
- 8001c7c:      2300            movs    r3, #0
+ 8001cac:      2300            movs    r3, #0
 }
- 8001c7e:      4618            mov     r0, r3
- 8001c80:      370c            adds    r7, #12
- 8001c82:      46bd            mov     sp, r7
- 8001c84:      f85d 7b04       ldr.w   r7, [sp], #4
- 8001c88:      4770            bx      lr
+ 8001cae:      4618            mov     r0, r3
+ 8001cb0:      370c            adds    r7, #12
+ 8001cb2:      46bd            mov     sp, r7
+ 8001cb4:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8001cb8:      4770            bx      lr
        ...
 
-08001c8c <HAL_GPIO_Init>:
+08001cbc <HAL_GPIO_Init>:
   * @param  GPIO_Init pointer to a GPIO_InitTypeDef structure that contains
   *         the configuration information for the specified GPIO peripheral.
   * @retval None
   */
 void HAL_GPIO_Init(GPIO_TypeDef  *GPIOx, GPIO_InitTypeDef *GPIO_Init)
 {
- 8001c8c:      b480            push    {r7}
- 8001c8e:      b089            sub     sp, #36 ; 0x24
- 8001c90:      af00            add     r7, sp, #0
- 8001c92:      6078            str     r0, [r7, #4]
- 8001c94:      6039            str     r1, [r7, #0]
+ 8001cbc:      b480            push    {r7}
+ 8001cbe:      b089            sub     sp, #36 ; 0x24
+ 8001cc0:      af00            add     r7, sp, #0
+ 8001cc2:      6078            str     r0, [r7, #4]
+ 8001cc4:      6039            str     r1, [r7, #0]
   uint32_t position = 0x00;
- 8001c96:      2300            movs    r3, #0
- 8001c98:      61fb            str     r3, [r7, #28]
+ 8001cc6:      2300            movs    r3, #0
+ 8001cc8:      61fb            str     r3, [r7, #28]
   uint32_t ioposition = 0x00;
- 8001c9a:      2300            movs    r3, #0
- 8001c9c:      617b            str     r3, [r7, #20]
+ 8001cca:      2300            movs    r3, #0
+ 8001ccc:      617b            str     r3, [r7, #20]
   uint32_t iocurrent = 0x00;
- 8001c9e:      2300            movs    r3, #0
- 8001ca0:      613b            str     r3, [r7, #16]
+ 8001cce:      2300            movs    r3, #0
+ 8001cd0:      613b            str     r3, [r7, #16]
   uint32_t temp = 0x00;
- 8001ca2:      2300            movs    r3, #0
- 8001ca4:      61bb            str     r3, [r7, #24]
+ 8001cd2:      2300            movs    r3, #0
+ 8001cd4:      61bb            str     r3, [r7, #24]
   assert_param(IS_GPIO_PIN(GPIO_Init->Pin));
   assert_param(IS_GPIO_MODE(GPIO_Init->Mode));
   assert_param(IS_GPIO_PULL(GPIO_Init->Pull));
 
   /* Configure the port pins */
   for(position = 0; position < GPIO_NUMBER; position++)
- 8001ca6:      2300            movs    r3, #0
- 8001ca8:      61fb            str     r3, [r7, #28]
- 8001caa:      e175            b.n     8001f98 <HAL_GPIO_Init+0x30c>
+ 8001cd6:      2300            movs    r3, #0
+ 8001cd8:      61fb            str     r3, [r7, #28]
+ 8001cda:      e175            b.n     8001fc8 <HAL_GPIO_Init+0x30c>
   {
     /* Get the IO position */
     ioposition = ((uint32_t)0x01) << position;
- 8001cac:      2201            movs    r2, #1
- 8001cae:      69fb            ldr     r3, [r7, #28]
- 8001cb0:      fa02 f303       lsl.w   r3, r2, r3
- 8001cb4:      617b            str     r3, [r7, #20]
+ 8001cdc:      2201            movs    r2, #1
+ 8001cde:      69fb            ldr     r3, [r7, #28]
+ 8001ce0:      fa02 f303       lsl.w   r3, r2, r3
+ 8001ce4:      617b            str     r3, [r7, #20]
     /* Get the current IO position */
     iocurrent = (uint32_t)(GPIO_Init->Pin) & ioposition;
- 8001cb6:      683b            ldr     r3, [r7, #0]
- 8001cb8:      681b            ldr     r3, [r3, #0]
- 8001cba:      697a            ldr     r2, [r7, #20]
- 8001cbc:      4013            ands    r3, r2
- 8001cbe:      613b            str     r3, [r7, #16]
+ 8001ce6:      683b            ldr     r3, [r7, #0]
+ 8001ce8:      681b            ldr     r3, [r3, #0]
+ 8001cea:      697a            ldr     r2, [r7, #20]
+ 8001cec:      4013            ands    r3, r2
+ 8001cee:      613b            str     r3, [r7, #16]
 
     if(iocurrent == ioposition)
- 8001cc0:      693a            ldr     r2, [r7, #16]
- 8001cc2:      697b            ldr     r3, [r7, #20]
- 8001cc4:      429a            cmp     r2, r3
- 8001cc6:      f040 8164       bne.w   8001f92 <HAL_GPIO_Init+0x306>
+ 8001cf0:      693a            ldr     r2, [r7, #16]
+ 8001cf2:      697b            ldr     r3, [r7, #20]
+ 8001cf4:      429a            cmp     r2, r3
+ 8001cf6:      f040 8164       bne.w   8001fc2 <HAL_GPIO_Init+0x306>
     {
       /*--------------------- GPIO Mode Configuration ------------------------*/
       /* In case of Alternate function mode selection */
       if((GPIO_Init->Mode == GPIO_MODE_AF_PP) || (GPIO_Init->Mode == GPIO_MODE_AF_OD))
- 8001cca:      683b            ldr     r3, [r7, #0]
- 8001ccc:      685b            ldr     r3, [r3, #4]
- 8001cce:      2b02            cmp     r3, #2
- 8001cd0:      d003            beq.n   8001cda <HAL_GPIO_Init+0x4e>
- 8001cd2:      683b            ldr     r3, [r7, #0]
- 8001cd4:      685b            ldr     r3, [r3, #4]
- 8001cd6:      2b12            cmp     r3, #18
- 8001cd8:      d123            bne.n   8001d22 <HAL_GPIO_Init+0x96>
+ 8001cfa:      683b            ldr     r3, [r7, #0]
+ 8001cfc:      685b            ldr     r3, [r3, #4]
+ 8001cfe:      2b02            cmp     r3, #2
+ 8001d00:      d003            beq.n   8001d0a <HAL_GPIO_Init+0x4e>
+ 8001d02:      683b            ldr     r3, [r7, #0]
+ 8001d04:      685b            ldr     r3, [r3, #4]
+ 8001d06:      2b12            cmp     r3, #18
+ 8001d08:      d123            bne.n   8001d52 <HAL_GPIO_Init+0x96>
       {
         /* Check the Alternate function parameter */
         assert_param(IS_GPIO_AF(GPIO_Init->Alternate));
         
         /* Configure Alternate function mapped with the current IO */
         temp = GPIOx->AFR[position >> 3];
- 8001cda:      69fb            ldr     r3, [r7, #28]
- 8001cdc:      08da            lsrs    r2, r3, #3
- 8001cde:      687b            ldr     r3, [r7, #4]
- 8001ce0:      3208            adds    r2, #8
- 8001ce2:      f853 3022       ldr.w   r3, [r3, r2, lsl #2]
- 8001ce6:      61bb            str     r3, [r7, #24]
+ 8001d0a:      69fb            ldr     r3, [r7, #28]
+ 8001d0c:      08da            lsrs    r2, r3, #3
+ 8001d0e:      687b            ldr     r3, [r7, #4]
+ 8001d10:      3208            adds    r2, #8
+ 8001d12:      f853 3022       ldr.w   r3, [r3, r2, lsl #2]
+ 8001d16:      61bb            str     r3, [r7, #24]
         temp &= ~((uint32_t)0xF << ((uint32_t)(position & (uint32_t)0x07) * 4)) ;
- 8001ce8:      69fb            ldr     r3, [r7, #28]
- 8001cea:      f003 0307       and.w   r3, r3, #7
- 8001cee:      009b            lsls    r3, r3, #2
- 8001cf0:      220f            movs    r2, #15
- 8001cf2:      fa02 f303       lsl.w   r3, r2, r3
- 8001cf6:      43db            mvns    r3, r3
- 8001cf8:      69ba            ldr     r2, [r7, #24]
- 8001cfa:      4013            ands    r3, r2
- 8001cfc:      61bb            str     r3, [r7, #24]
+ 8001d18:      69fb            ldr     r3, [r7, #28]
+ 8001d1a:      f003 0307       and.w   r3, r3, #7
+ 8001d1e:      009b            lsls    r3, r3, #2
+ 8001d20:      220f            movs    r2, #15
+ 8001d22:      fa02 f303       lsl.w   r3, r2, r3
+ 8001d26:      43db            mvns    r3, r3
+ 8001d28:      69ba            ldr     r2, [r7, #24]
+ 8001d2a:      4013            ands    r3, r2
+ 8001d2c:      61bb            str     r3, [r7, #24]
         temp |= ((uint32_t)(GPIO_Init->Alternate) << (((uint32_t)position & (uint32_t)0x07) * 4));
- 8001cfe:      683b            ldr     r3, [r7, #0]
- 8001d00:      691a            ldr     r2, [r3, #16]
- 8001d02:      69fb            ldr     r3, [r7, #28]
- 8001d04:      f003 0307       and.w   r3, r3, #7
- 8001d08:      009b            lsls    r3, r3, #2
- 8001d0a:      fa02 f303       lsl.w   r3, r2, r3
- 8001d0e:      69ba            ldr     r2, [r7, #24]
- 8001d10:      4313            orrs    r3, r2
- 8001d12:      61bb            str     r3, [r7, #24]
+ 8001d2e:      683b            ldr     r3, [r7, #0]
+ 8001d30:      691a            ldr     r2, [r3, #16]
+ 8001d32:      69fb            ldr     r3, [r7, #28]
+ 8001d34:      f003 0307       and.w   r3, r3, #7
+ 8001d38:      009b            lsls    r3, r3, #2
+ 8001d3a:      fa02 f303       lsl.w   r3, r2, r3
+ 8001d3e:      69ba            ldr     r2, [r7, #24]
+ 8001d40:      4313            orrs    r3, r2
+ 8001d42:      61bb            str     r3, [r7, #24]
         GPIOx->AFR[position >> 3] = temp;
- 8001d14:      69fb            ldr     r3, [r7, #28]
- 8001d16:      08da            lsrs    r2, r3, #3
- 8001d18:      687b            ldr     r3, [r7, #4]
- 8001d1a:      3208            adds    r2, #8
- 8001d1c:      69b9            ldr     r1, [r7, #24]
- 8001d1e:      f843 1022       str.w   r1, [r3, r2, lsl #2]
+ 8001d44:      69fb            ldr     r3, [r7, #28]
+ 8001d46:      08da            lsrs    r2, r3, #3
+ 8001d48:      687b            ldr     r3, [r7, #4]
+ 8001d4a:      3208            adds    r2, #8
+ 8001d4c:      69b9            ldr     r1, [r7, #24]
+ 8001d4e:      f843 1022       str.w   r1, [r3, r2, lsl #2]
       }
 
       /* Configure IO Direction mode (Input, Output, Alternate or Analog) */
       temp = GPIOx->MODER;
- 8001d22:      687b            ldr     r3, [r7, #4]
- 8001d24:      681b            ldr     r3, [r3, #0]
- 8001d26:      61bb            str     r3, [r7, #24]
+ 8001d52:      687b            ldr     r3, [r7, #4]
+ 8001d54:      681b            ldr     r3, [r3, #0]
+ 8001d56:      61bb            str     r3, [r7, #24]
       temp &= ~(GPIO_MODER_MODER0 << (position * 2));
- 8001d28:      69fb            ldr     r3, [r7, #28]
- 8001d2a:      005b            lsls    r3, r3, #1
- 8001d2c:      2203            movs    r2, #3
- 8001d2e:      fa02 f303       lsl.w   r3, r2, r3
- 8001d32:      43db            mvns    r3, r3
- 8001d34:      69ba            ldr     r2, [r7, #24]
- 8001d36:      4013            ands    r3, r2
- 8001d38:      61bb            str     r3, [r7, #24]
+ 8001d58:      69fb            ldr     r3, [r7, #28]
+ 8001d5a:      005b            lsls    r3, r3, #1
+ 8001d5c:      2203            movs    r2, #3
+ 8001d5e:      fa02 f303       lsl.w   r3, r2, r3
+ 8001d62:      43db            mvns    r3, r3
+ 8001d64:      69ba            ldr     r2, [r7, #24]
+ 8001d66:      4013            ands    r3, r2
+ 8001d68:      61bb            str     r3, [r7, #24]
       temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2));
- 8001d3a:      683b            ldr     r3, [r7, #0]
- 8001d3c:      685b            ldr     r3, [r3, #4]
- 8001d3e:      f003 0203       and.w   r2, r3, #3
- 8001d42:      69fb            ldr     r3, [r7, #28]
- 8001d44:      005b            lsls    r3, r3, #1
- 8001d46:      fa02 f303       lsl.w   r3, r2, r3
- 8001d4a:      69ba            ldr     r2, [r7, #24]
- 8001d4c:      4313            orrs    r3, r2
- 8001d4e:      61bb            str     r3, [r7, #24]
+ 8001d6a:      683b            ldr     r3, [r7, #0]
+ 8001d6c:      685b            ldr     r3, [r3, #4]
+ 8001d6e:      f003 0203       and.w   r2, r3, #3
+ 8001d72:      69fb            ldr     r3, [r7, #28]
+ 8001d74:      005b            lsls    r3, r3, #1
+ 8001d76:      fa02 f303       lsl.w   r3, r2, r3
+ 8001d7a:      69ba            ldr     r2, [r7, #24]
+ 8001d7c:      4313            orrs    r3, r2
+ 8001d7e:      61bb            str     r3, [r7, #24]
       GPIOx->MODER = temp;
- 8001d50:      687b            ldr     r3, [r7, #4]
- 8001d52:      69ba            ldr     r2, [r7, #24]
- 8001d54:      601a            str     r2, [r3, #0]
+ 8001d80:      687b            ldr     r3, [r7, #4]
+ 8001d82:      69ba            ldr     r2, [r7, #24]
+ 8001d84:      601a            str     r2, [r3, #0]
 
       /* In case of Output or Alternate function mode selection */
       if((GPIO_Init->Mode == GPIO_MODE_OUTPUT_PP) || (GPIO_Init->Mode == GPIO_MODE_AF_PP) ||
- 8001d56:      683b            ldr     r3, [r7, #0]
- 8001d58:      685b            ldr     r3, [r3, #4]
- 8001d5a:      2b01            cmp     r3, #1
- 8001d5c:      d00b            beq.n   8001d76 <HAL_GPIO_Init+0xea>
- 8001d5e:      683b            ldr     r3, [r7, #0]
- 8001d60:      685b            ldr     r3, [r3, #4]
- 8001d62:      2b02            cmp     r3, #2
- 8001d64:      d007            beq.n   8001d76 <HAL_GPIO_Init+0xea>
+ 8001d86:      683b            ldr     r3, [r7, #0]
+ 8001d88:      685b            ldr     r3, [r3, #4]
+ 8001d8a:      2b01            cmp     r3, #1
+ 8001d8c:      d00b            beq.n   8001da6 <HAL_GPIO_Init+0xea>
+ 8001d8e:      683b            ldr     r3, [r7, #0]
+ 8001d90:      685b            ldr     r3, [r3, #4]
+ 8001d92:      2b02            cmp     r3, #2
+ 8001d94:      d007            beq.n   8001da6 <HAL_GPIO_Init+0xea>
          (GPIO_Init->Mode == GPIO_MODE_OUTPUT_OD) || (GPIO_Init->Mode == GPIO_MODE_AF_OD))
- 8001d66:      683b            ldr     r3, [r7, #0]
- 8001d68:      685b            ldr     r3, [r3, #4]
+ 8001d96:      683b            ldr     r3, [r7, #0]
+ 8001d98:      685b            ldr     r3, [r3, #4]
       if((GPIO_Init->Mode == GPIO_MODE_OUTPUT_PP) || (GPIO_Init->Mode == GPIO_MODE_AF_PP) ||
- 8001d6a:      2b11            cmp     r3, #17
- 8001d6c:      d003            beq.n   8001d76 <HAL_GPIO_Init+0xea>
+ 8001d9a:      2b11            cmp     r3, #17
+ 8001d9c:      d003            beq.n   8001da6 <HAL_GPIO_Init+0xea>
          (GPIO_Init->Mode == GPIO_MODE_OUTPUT_OD) || (GPIO_Init->Mode == GPIO_MODE_AF_OD))
- 8001d6e:      683b            ldr     r3, [r7, #0]
- 8001d70:      685b            ldr     r3, [r3, #4]
- 8001d72:      2b12            cmp     r3, #18
- 8001d74:      d130            bne.n   8001dd8 <HAL_GPIO_Init+0x14c>
+ 8001d9e:      683b            ldr     r3, [r7, #0]
+ 8001da0:      685b            ldr     r3, [r3, #4]
+ 8001da2:      2b12            cmp     r3, #18
+ 8001da4:      d130            bne.n   8001e08 <HAL_GPIO_Init+0x14c>
       {
         /* Check the Speed parameter */
         assert_param(IS_GPIO_SPEED(GPIO_Init->Speed));
         /* Configure the IO Speed */
         temp = GPIOx->OSPEEDR; 
- 8001d76:      687b            ldr     r3, [r7, #4]
- 8001d78:      689b            ldr     r3, [r3, #8]
- 8001d7a:      61bb            str     r3, [r7, #24]
+ 8001da6:      687b            ldr     r3, [r7, #4]
+ 8001da8:      689b            ldr     r3, [r3, #8]
+ 8001daa:      61bb            str     r3, [r7, #24]
         temp &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2));
- 8001d7c:      69fb            ldr     r3, [r7, #28]
- 8001d7e:      005b            lsls    r3, r3, #1
- 8001d80:      2203            movs    r2, #3
- 8001d82:      fa02 f303       lsl.w   r3, r2, r3
- 8001d86:      43db            mvns    r3, r3
- 8001d88:      69ba            ldr     r2, [r7, #24]
- 8001d8a:      4013            ands    r3, r2
- 8001d8c:      61bb            str     r3, [r7, #24]
+ 8001dac:      69fb            ldr     r3, [r7, #28]
+ 8001dae:      005b            lsls    r3, r3, #1
+ 8001db0:      2203            movs    r2, #3
+ 8001db2:      fa02 f303       lsl.w   r3, r2, r3
+ 8001db6:      43db            mvns    r3, r3
+ 8001db8:      69ba            ldr     r2, [r7, #24]
+ 8001dba:      4013            ands    r3, r2
+ 8001dbc:      61bb            str     r3, [r7, #24]
         temp |= (GPIO_Init->Speed << (position * 2));
- 8001d8e:      683b            ldr     r3, [r7, #0]
- 8001d90:      68da            ldr     r2, [r3, #12]
- 8001d92:      69fb            ldr     r3, [r7, #28]
- 8001d94:      005b            lsls    r3, r3, #1
- 8001d96:      fa02 f303       lsl.w   r3, r2, r3
- 8001d9a:      69ba            ldr     r2, [r7, #24]
- 8001d9c:      4313            orrs    r3, r2
- 8001d9e:      61bb            str     r3, [r7, #24]
+ 8001dbe:      683b            ldr     r3, [r7, #0]
+ 8001dc0:      68da            ldr     r2, [r3, #12]
+ 8001dc2:      69fb            ldr     r3, [r7, #28]
+ 8001dc4:      005b            lsls    r3, r3, #1
+ 8001dc6:      fa02 f303       lsl.w   r3, r2, r3
+ 8001dca:      69ba            ldr     r2, [r7, #24]
+ 8001dcc:      4313            orrs    r3, r2
+ 8001dce:      61bb            str     r3, [r7, #24]
         GPIOx->OSPEEDR = temp;
- 8001da0:      687b            ldr     r3, [r7, #4]
- 8001da2:      69ba            ldr     r2, [r7, #24]
- 8001da4:      609a            str     r2, [r3, #8]
+ 8001dd0:      687b            ldr     r3, [r7, #4]
+ 8001dd2:      69ba            ldr     r2, [r7, #24]
+ 8001dd4:      609a            str     r2, [r3, #8]
 
         /* Configure the IO Output Type */
         temp = GPIOx->OTYPER;
- 8001da6:      687b            ldr     r3, [r7, #4]
- 8001da8:      685b            ldr     r3, [r3, #4]
- 8001daa:      61bb            str     r3, [r7, #24]
+ 8001dd6:      687b            ldr     r3, [r7, #4]
+ 8001dd8:      685b            ldr     r3, [r3, #4]
+ 8001dda:      61bb            str     r3, [r7, #24]
         temp &= ~(GPIO_OTYPER_OT_0 << position) ;
- 8001dac:      2201            movs    r2, #1
- 8001dae:      69fb            ldr     r3, [r7, #28]
- 8001db0:      fa02 f303       lsl.w   r3, r2, r3
- 8001db4:      43db            mvns    r3, r3
- 8001db6:      69ba            ldr     r2, [r7, #24]
- 8001db8:      4013            ands    r3, r2
- 8001dba:      61bb            str     r3, [r7, #24]
+ 8001ddc:      2201            movs    r2, #1
+ 8001dde:      69fb            ldr     r3, [r7, #28]
+ 8001de0:      fa02 f303       lsl.w   r3, r2, r3
+ 8001de4:      43db            mvns    r3, r3
+ 8001de6:      69ba            ldr     r2, [r7, #24]
+ 8001de8:      4013            ands    r3, r2
+ 8001dea:      61bb            str     r3, [r7, #24]
         temp |= (((GPIO_Init->Mode & GPIO_OUTPUT_TYPE) >> 4) << position);
- 8001dbc:      683b            ldr     r3, [r7, #0]
- 8001dbe:      685b            ldr     r3, [r3, #4]
- 8001dc0:      091b            lsrs    r3, r3, #4
- 8001dc2:      f003 0201       and.w   r2, r3, #1
- 8001dc6:      69fb            ldr     r3, [r7, #28]
- 8001dc8:      fa02 f303       lsl.w   r3, r2, r3
- 8001dcc:      69ba            ldr     r2, [r7, #24]
- 8001dce:      4313            orrs    r3, r2
- 8001dd0:      61bb            str     r3, [r7, #24]
+ 8001dec:      683b            ldr     r3, [r7, #0]
+ 8001dee:      685b            ldr     r3, [r3, #4]
+ 8001df0:      091b            lsrs    r3, r3, #4
+ 8001df2:      f003 0201       and.w   r2, r3, #1
+ 8001df6:      69fb            ldr     r3, [r7, #28]
+ 8001df8:      fa02 f303       lsl.w   r3, r2, r3
+ 8001dfc:      69ba            ldr     r2, [r7, #24]
+ 8001dfe:      4313            orrs    r3, r2
+ 8001e00:      61bb            str     r3, [r7, #24]
         GPIOx->OTYPER = temp;
- 8001dd2:      687b            ldr     r3, [r7, #4]
- 8001dd4:      69ba            ldr     r2, [r7, #24]
- 8001dd6:      605a            str     r2, [r3, #4]
+ 8001e02:      687b            ldr     r3, [r7, #4]
+ 8001e04:      69ba            ldr     r2, [r7, #24]
+ 8001e06:      605a            str     r2, [r3, #4]
       }
 
       /* Activate the Pull-up or Pull down resistor for the current IO */
       temp = GPIOx->PUPDR;
- 8001dd8:      687b            ldr     r3, [r7, #4]
- 8001dda:      68db            ldr     r3, [r3, #12]
- 8001ddc:      61bb            str     r3, [r7, #24]
+ 8001e08:      687b            ldr     r3, [r7, #4]
+ 8001e0a:      68db            ldr     r3, [r3, #12]
+ 8001e0c:      61bb            str     r3, [r7, #24]
       temp &= ~(GPIO_PUPDR_PUPDR0 << (position * 2));
- 8001dde:      69fb            ldr     r3, [r7, #28]
- 8001de0:      005b            lsls    r3, r3, #1
- 8001de2:      2203            movs    r2, #3
- 8001de4:      fa02 f303       lsl.w   r3, r2, r3
- 8001de8:      43db            mvns    r3, r3
- 8001dea:      69ba            ldr     r2, [r7, #24]
- 8001dec:      4013            ands    r3, r2
- 8001dee:      61bb            str     r3, [r7, #24]
+ 8001e0e:      69fb            ldr     r3, [r7, #28]
+ 8001e10:      005b            lsls    r3, r3, #1
+ 8001e12:      2203            movs    r2, #3
+ 8001e14:      fa02 f303       lsl.w   r3, r2, r3
+ 8001e18:      43db            mvns    r3, r3
+ 8001e1a:      69ba            ldr     r2, [r7, #24]
+ 8001e1c:      4013            ands    r3, r2
+ 8001e1e:      61bb            str     r3, [r7, #24]
       temp |= ((GPIO_Init->Pull) << (position * 2));
- 8001df0:      683b            ldr     r3, [r7, #0]
- 8001df2:      689a            ldr     r2, [r3, #8]
- 8001df4:      69fb            ldr     r3, [r7, #28]
- 8001df6:      005b            lsls    r3, r3, #1
- 8001df8:      fa02 f303       lsl.w   r3, r2, r3
- 8001dfc:      69ba            ldr     r2, [r7, #24]
- 8001dfe:      4313            orrs    r3, r2
- 8001e00:      61bb            str     r3, [r7, #24]
+ 8001e20:      683b            ldr     r3, [r7, #0]
+ 8001e22:      689a            ldr     r2, [r3, #8]
+ 8001e24:      69fb            ldr     r3, [r7, #28]
+ 8001e26:      005b            lsls    r3, r3, #1
+ 8001e28:      fa02 f303       lsl.w   r3, r2, r3
+ 8001e2c:      69ba            ldr     r2, [r7, #24]
+ 8001e2e:      4313            orrs    r3, r2
+ 8001e30:      61bb            str     r3, [r7, #24]
       GPIOx->PUPDR = temp;
- 8001e02:      687b            ldr     r3, [r7, #4]
- 8001e04:      69ba            ldr     r2, [r7, #24]
- 8001e06:      60da            str     r2, [r3, #12]
+ 8001e32:      687b            ldr     r3, [r7, #4]
+ 8001e34:      69ba            ldr     r2, [r7, #24]
+ 8001e36:      60da            str     r2, [r3, #12]
 
       /*--------------------- EXTI Mode Configuration ------------------------*/
       /* Configure the External Interrupt or event for the current IO */
       if((GPIO_Init->Mode & EXTI_MODE) == EXTI_MODE)
- 8001e08:      683b            ldr     r3, [r7, #0]
- 8001e0a:      685b            ldr     r3, [r3, #4]
- 8001e0c:      f003 5380       and.w   r3, r3, #268435456      ; 0x10000000
- 8001e10:      2b00            cmp     r3, #0
- 8001e12:      f000 80be       beq.w   8001f92 <HAL_GPIO_Init+0x306>
+ 8001e38:      683b            ldr     r3, [r7, #0]
+ 8001e3a:      685b            ldr     r3, [r3, #4]
+ 8001e3c:      f003 5380       and.w   r3, r3, #268435456      ; 0x10000000
+ 8001e40:      2b00            cmp     r3, #0
+ 8001e42:      f000 80be       beq.w   8001fc2 <HAL_GPIO_Init+0x306>
       {
         /* Enable SYSCFG Clock */
         __HAL_RCC_SYSCFG_CLK_ENABLE();
- 8001e16:      4b65            ldr     r3, [pc, #404]  ; (8001fac <HAL_GPIO_Init+0x320>)
- 8001e18:      6c5b            ldr     r3, [r3, #68]   ; 0x44
- 8001e1a:      4a64            ldr     r2, [pc, #400]  ; (8001fac <HAL_GPIO_Init+0x320>)
- 8001e1c:      f443 4380       orr.w   r3, r3, #16384  ; 0x4000
- 8001e20:      6453            str     r3, [r2, #68]   ; 0x44
- 8001e22:      4b62            ldr     r3, [pc, #392]  ; (8001fac <HAL_GPIO_Init+0x320>)
- 8001e24:      6c5b            ldr     r3, [r3, #68]   ; 0x44
- 8001e26:      f403 4380       and.w   r3, r3, #16384  ; 0x4000
- 8001e2a:      60fb            str     r3, [r7, #12]
- 8001e2c:      68fb            ldr     r3, [r7, #12]
+ 8001e46:      4b65            ldr     r3, [pc, #404]  ; (8001fdc <HAL_GPIO_Init+0x320>)
+ 8001e48:      6c5b            ldr     r3, [r3, #68]   ; 0x44
+ 8001e4a:      4a64            ldr     r2, [pc, #400]  ; (8001fdc <HAL_GPIO_Init+0x320>)
+ 8001e4c:      f443 4380       orr.w   r3, r3, #16384  ; 0x4000
+ 8001e50:      6453            str     r3, [r2, #68]   ; 0x44
+ 8001e52:      4b62            ldr     r3, [pc, #392]  ; (8001fdc <HAL_GPIO_Init+0x320>)
+ 8001e54:      6c5b            ldr     r3, [r3, #68]   ; 0x44
+ 8001e56:      f403 4380       and.w   r3, r3, #16384  ; 0x4000
+ 8001e5a:      60fb            str     r3, [r7, #12]
+ 8001e5c:      68fb            ldr     r3, [r7, #12]
 
         temp = SYSCFG->EXTICR[position >> 2];
- 8001e2e:      4a60            ldr     r2, [pc, #384]  ; (8001fb0 <HAL_GPIO_Init+0x324>)
- 8001e30:      69fb            ldr     r3, [r7, #28]
- 8001e32:      089b            lsrs    r3, r3, #2
- 8001e34:      3302            adds    r3, #2
- 8001e36:      f852 3023       ldr.w   r3, [r2, r3, lsl #2]
- 8001e3a:      61bb            str     r3, [r7, #24]
+ 8001e5e:      4a60            ldr     r2, [pc, #384]  ; (8001fe0 <HAL_GPIO_Init+0x324>)
+ 8001e60:      69fb            ldr     r3, [r7, #28]
+ 8001e62:      089b            lsrs    r3, r3, #2
+ 8001e64:      3302            adds    r3, #2
+ 8001e66:      f852 3023       ldr.w   r3, [r2, r3, lsl #2]
+ 8001e6a:      61bb            str     r3, [r7, #24]
         temp &= ~(((uint32_t)0x0F) << (4 * (position & 0x03)));
- 8001e3c:      69fb            ldr     r3, [r7, #28]
- 8001e3e:      f003 0303       and.w   r3, r3, #3
- 8001e42:      009b            lsls    r3, r3, #2
- 8001e44:      220f            movs    r2, #15
- 8001e46:      fa02 f303       lsl.w   r3, r2, r3
- 8001e4a:      43db            mvns    r3, r3
- 8001e4c:      69ba            ldr     r2, [r7, #24]
- 8001e4e:      4013            ands    r3, r2
- 8001e50:      61bb            str     r3, [r7, #24]
+ 8001e6c:      69fb            ldr     r3, [r7, #28]
+ 8001e6e:      f003 0303       and.w   r3, r3, #3
+ 8001e72:      009b            lsls    r3, r3, #2
+ 8001e74:      220f            movs    r2, #15
+ 8001e76:      fa02 f303       lsl.w   r3, r2, r3
+ 8001e7a:      43db            mvns    r3, r3
+ 8001e7c:      69ba            ldr     r2, [r7, #24]
+ 8001e7e:      4013            ands    r3, r2
+ 8001e80:      61bb            str     r3, [r7, #24]
         temp |= ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4 * (position & 0x03)));
- 8001e52:      687b            ldr     r3, [r7, #4]
- 8001e54:      4a57            ldr     r2, [pc, #348]  ; (8001fb4 <HAL_GPIO_Init+0x328>)
- 8001e56:      4293            cmp     r3, r2
- 8001e58:      d037            beq.n   8001eca <HAL_GPIO_Init+0x23e>
- 8001e5a:      687b            ldr     r3, [r7, #4]
- 8001e5c:      4a56            ldr     r2, [pc, #344]  ; (8001fb8 <HAL_GPIO_Init+0x32c>)
- 8001e5e:      4293            cmp     r3, r2
- 8001e60:      d031            beq.n   8001ec6 <HAL_GPIO_Init+0x23a>
- 8001e62:      687b            ldr     r3, [r7, #4]
- 8001e64:      4a55            ldr     r2, [pc, #340]  ; (8001fbc <HAL_GPIO_Init+0x330>)
- 8001e66:      4293            cmp     r3, r2
- 8001e68:      d02b            beq.n   8001ec2 <HAL_GPIO_Init+0x236>
- 8001e6a:      687b            ldr     r3, [r7, #4]
- 8001e6c:      4a54            ldr     r2, [pc, #336]  ; (8001fc0 <HAL_GPIO_Init+0x334>)
- 8001e6e:      4293            cmp     r3, r2
- 8001e70:      d025            beq.n   8001ebe <HAL_GPIO_Init+0x232>
- 8001e72:      687b            ldr     r3, [r7, #4]
- 8001e74:      4a53            ldr     r2, [pc, #332]  ; (8001fc4 <HAL_GPIO_Init+0x338>)
- 8001e76:      4293            cmp     r3, r2
- 8001e78:      d01f            beq.n   8001eba <HAL_GPIO_Init+0x22e>
- 8001e7a:      687b            ldr     r3, [r7, #4]
- 8001e7c:      4a52            ldr     r2, [pc, #328]  ; (8001fc8 <HAL_GPIO_Init+0x33c>)
- 8001e7e:      4293            cmp     r3, r2
- 8001e80:      d019            beq.n   8001eb6 <HAL_GPIO_Init+0x22a>
  8001e82:      687b            ldr     r3, [r7, #4]
- 8001e84:      4a51            ldr     r2, [pc, #324]  ; (8001fcc <HAL_GPIO_Init+0x340>)
+ 8001e84:      4a57            ldr     r2, [pc, #348]  ; (8001fe4 <HAL_GPIO_Init+0x328>)
  8001e86:      4293            cmp     r3, r2
- 8001e88:      d013            beq.n   8001eb2 <HAL_GPIO_Init+0x226>
+ 8001e88:      d037            beq.n   8001efa <HAL_GPIO_Init+0x23e>
  8001e8a:      687b            ldr     r3, [r7, #4]
- 8001e8c:      4a50            ldr     r2, [pc, #320]  ; (8001fd0 <HAL_GPIO_Init+0x344>)
+ 8001e8c:      4a56            ldr     r2, [pc, #344]  ; (8001fe8 <HAL_GPIO_Init+0x32c>)
  8001e8e:      4293            cmp     r3, r2
- 8001e90:      d00d            beq.n   8001eae <HAL_GPIO_Init+0x222>
+ 8001e90:      d031            beq.n   8001ef6 <HAL_GPIO_Init+0x23a>
  8001e92:      687b            ldr     r3, [r7, #4]
- 8001e94:      4a4f            ldr     r2, [pc, #316]  ; (8001fd4 <HAL_GPIO_Init+0x348>)
+ 8001e94:      4a55            ldr     r2, [pc, #340]  ; (8001fec <HAL_GPIO_Init+0x330>)
  8001e96:      4293            cmp     r3, r2
- 8001e98:      d007            beq.n   8001eaa <HAL_GPIO_Init+0x21e>
+ 8001e98:      d02b            beq.n   8001ef2 <HAL_GPIO_Init+0x236>
  8001e9a:      687b            ldr     r3, [r7, #4]
- 8001e9c:      4a4e            ldr     r2, [pc, #312]  ; (8001fd8 <HAL_GPIO_Init+0x34c>)
+ 8001e9c:      4a54            ldr     r2, [pc, #336]  ; (8001ff0 <HAL_GPIO_Init+0x334>)
  8001e9e:      4293            cmp     r3, r2
- 8001ea0:      d101            bne.n   8001ea6 <HAL_GPIO_Init+0x21a>
- 8001ea2:      2309            movs    r3, #9
- 8001ea4:      e012            b.n     8001ecc <HAL_GPIO_Init+0x240>
- 8001ea6:      230a            movs    r3, #10
- 8001ea8:      e010            b.n     8001ecc <HAL_GPIO_Init+0x240>
- 8001eaa:      2308            movs    r3, #8
- 8001eac:      e00e            b.n     8001ecc <HAL_GPIO_Init+0x240>
- 8001eae:      2307            movs    r3, #7
- 8001eb0:      e00c            b.n     8001ecc <HAL_GPIO_Init+0x240>
- 8001eb2:      2306            movs    r3, #6
- 8001eb4:      e00a            b.n     8001ecc <HAL_GPIO_Init+0x240>
- 8001eb6:      2305            movs    r3, #5
- 8001eb8:      e008            b.n     8001ecc <HAL_GPIO_Init+0x240>
- 8001eba:      2304            movs    r3, #4
- 8001ebc:      e006            b.n     8001ecc <HAL_GPIO_Init+0x240>
- 8001ebe:      2303            movs    r3, #3
- 8001ec0:      e004            b.n     8001ecc <HAL_GPIO_Init+0x240>
- 8001ec2:      2302            movs    r3, #2
- 8001ec4:      e002            b.n     8001ecc <HAL_GPIO_Init+0x240>
- 8001ec6:      2301            movs    r3, #1
- 8001ec8:      e000            b.n     8001ecc <HAL_GPIO_Init+0x240>
- 8001eca:      2300            movs    r3, #0
- 8001ecc:      69fa            ldr     r2, [r7, #28]
- 8001ece:      f002 0203       and.w   r2, r2, #3
- 8001ed2:      0092            lsls    r2, r2, #2
- 8001ed4:      4093            lsls    r3, r2
- 8001ed6:      69ba            ldr     r2, [r7, #24]
- 8001ed8:      4313            orrs    r3, r2
- 8001eda:      61bb            str     r3, [r7, #24]
+ 8001ea0:      d025            beq.n   8001eee <HAL_GPIO_Init+0x232>
+ 8001ea2:      687b            ldr     r3, [r7, #4]
+ 8001ea4:      4a53            ldr     r2, [pc, #332]  ; (8001ff4 <HAL_GPIO_Init+0x338>)
+ 8001ea6:      4293            cmp     r3, r2
+ 8001ea8:      d01f            beq.n   8001eea <HAL_GPIO_Init+0x22e>
+ 8001eaa:      687b            ldr     r3, [r7, #4]
+ 8001eac:      4a52            ldr     r2, [pc, #328]  ; (8001ff8 <HAL_GPIO_Init+0x33c>)
+ 8001eae:      4293            cmp     r3, r2
+ 8001eb0:      d019            beq.n   8001ee6 <HAL_GPIO_Init+0x22a>
+ 8001eb2:      687b            ldr     r3, [r7, #4]
+ 8001eb4:      4a51            ldr     r2, [pc, #324]  ; (8001ffc <HAL_GPIO_Init+0x340>)
+ 8001eb6:      4293            cmp     r3, r2
+ 8001eb8:      d013            beq.n   8001ee2 <HAL_GPIO_Init+0x226>
+ 8001eba:      687b            ldr     r3, [r7, #4]
+ 8001ebc:      4a50            ldr     r2, [pc, #320]  ; (8002000 <HAL_GPIO_Init+0x344>)
+ 8001ebe:      4293            cmp     r3, r2
+ 8001ec0:      d00d            beq.n   8001ede <HAL_GPIO_Init+0x222>
+ 8001ec2:      687b            ldr     r3, [r7, #4]
+ 8001ec4:      4a4f            ldr     r2, [pc, #316]  ; (8002004 <HAL_GPIO_Init+0x348>)
+ 8001ec6:      4293            cmp     r3, r2
+ 8001ec8:      d007            beq.n   8001eda <HAL_GPIO_Init+0x21e>
+ 8001eca:      687b            ldr     r3, [r7, #4]
+ 8001ecc:      4a4e            ldr     r2, [pc, #312]  ; (8002008 <HAL_GPIO_Init+0x34c>)
+ 8001ece:      4293            cmp     r3, r2
+ 8001ed0:      d101            bne.n   8001ed6 <HAL_GPIO_Init+0x21a>
+ 8001ed2:      2309            movs    r3, #9
+ 8001ed4:      e012            b.n     8001efc <HAL_GPIO_Init+0x240>
+ 8001ed6:      230a            movs    r3, #10
+ 8001ed8:      e010            b.n     8001efc <HAL_GPIO_Init+0x240>
+ 8001eda:      2308            movs    r3, #8
+ 8001edc:      e00e            b.n     8001efc <HAL_GPIO_Init+0x240>
+ 8001ede:      2307            movs    r3, #7
+ 8001ee0:      e00c            b.n     8001efc <HAL_GPIO_Init+0x240>
+ 8001ee2:      2306            movs    r3, #6
+ 8001ee4:      e00a            b.n     8001efc <HAL_GPIO_Init+0x240>
+ 8001ee6:      2305            movs    r3, #5
+ 8001ee8:      e008            b.n     8001efc <HAL_GPIO_Init+0x240>
+ 8001eea:      2304            movs    r3, #4
+ 8001eec:      e006            b.n     8001efc <HAL_GPIO_Init+0x240>
+ 8001eee:      2303            movs    r3, #3
+ 8001ef0:      e004            b.n     8001efc <HAL_GPIO_Init+0x240>
+ 8001ef2:      2302            movs    r3, #2
+ 8001ef4:      e002            b.n     8001efc <HAL_GPIO_Init+0x240>
+ 8001ef6:      2301            movs    r3, #1
+ 8001ef8:      e000            b.n     8001efc <HAL_GPIO_Init+0x240>
+ 8001efa:      2300            movs    r3, #0
+ 8001efc:      69fa            ldr     r2, [r7, #28]
+ 8001efe:      f002 0203       and.w   r2, r2, #3
+ 8001f02:      0092            lsls    r2, r2, #2
+ 8001f04:      4093            lsls    r3, r2
+ 8001f06:      69ba            ldr     r2, [r7, #24]
+ 8001f08:      4313            orrs    r3, r2
+ 8001f0a:      61bb            str     r3, [r7, #24]
         SYSCFG->EXTICR[position >> 2] = temp;
- 8001edc:      4934            ldr     r1, [pc, #208]  ; (8001fb0 <HAL_GPIO_Init+0x324>)
- 8001ede:      69fb            ldr     r3, [r7, #28]
- 8001ee0:      089b            lsrs    r3, r3, #2
- 8001ee2:      3302            adds    r3, #2
- 8001ee4:      69ba            ldr     r2, [r7, #24]
- 8001ee6:      f841 2023       str.w   r2, [r1, r3, lsl #2]
+ 8001f0c:      4934            ldr     r1, [pc, #208]  ; (8001fe0 <HAL_GPIO_Init+0x324>)
+ 8001f0e:      69fb            ldr     r3, [r7, #28]
+ 8001f10:      089b            lsrs    r3, r3, #2
+ 8001f12:      3302            adds    r3, #2
+ 8001f14:      69ba            ldr     r2, [r7, #24]
+ 8001f16:      f841 2023       str.w   r2, [r1, r3, lsl #2]
 
         /* Clear EXTI line configuration */
         temp = EXTI->IMR;
- 8001eea:      4b3c            ldr     r3, [pc, #240]  ; (8001fdc <HAL_GPIO_Init+0x350>)
- 8001eec:      681b            ldr     r3, [r3, #0]
- 8001eee:      61bb            str     r3, [r7, #24]
+ 8001f1a:      4b3c            ldr     r3, [pc, #240]  ; (800200c <HAL_GPIO_Init+0x350>)
+ 8001f1c:      681b            ldr     r3, [r3, #0]
+ 8001f1e:      61bb            str     r3, [r7, #24]
         temp &= ~((uint32_t)iocurrent);
- 8001ef0:      693b            ldr     r3, [r7, #16]
- 8001ef2:      43db            mvns    r3, r3
- 8001ef4:      69ba            ldr     r2, [r7, #24]
- 8001ef6:      4013            ands    r3, r2
- 8001ef8:      61bb            str     r3, [r7, #24]
+ 8001f20:      693b            ldr     r3, [r7, #16]
+ 8001f22:      43db            mvns    r3, r3
+ 8001f24:      69ba            ldr     r2, [r7, #24]
+ 8001f26:      4013            ands    r3, r2
+ 8001f28:      61bb            str     r3, [r7, #24]
         if((GPIO_Init->Mode & GPIO_MODE_IT) == GPIO_MODE_IT)
- 8001efa:      683b            ldr     r3, [r7, #0]
- 8001efc:      685b            ldr     r3, [r3, #4]
- 8001efe:      f403 3380       and.w   r3, r3, #65536  ; 0x10000
- 8001f02:      2b00            cmp     r3, #0
- 8001f04:      d003            beq.n   8001f0e <HAL_GPIO_Init+0x282>
+ 8001f2a:      683b            ldr     r3, [r7, #0]
+ 8001f2c:      685b            ldr     r3, [r3, #4]
+ 8001f2e:      f403 3380       and.w   r3, r3, #65536  ; 0x10000
+ 8001f32:      2b00            cmp     r3, #0
+ 8001f34:      d003            beq.n   8001f3e <HAL_GPIO_Init+0x282>
         {
           temp |= iocurrent;
- 8001f06:      69ba            ldr     r2, [r7, #24]
- 8001f08:      693b            ldr     r3, [r7, #16]
- 8001f0a:      4313            orrs    r3, r2
- 8001f0c:      61bb            str     r3, [r7, #24]
+ 8001f36:      69ba            ldr     r2, [r7, #24]
+ 8001f38:      693b            ldr     r3, [r7, #16]
+ 8001f3a:      4313            orrs    r3, r2
+ 8001f3c:      61bb            str     r3, [r7, #24]
         }
         EXTI->IMR = temp;
- 8001f0e:      4a33            ldr     r2, [pc, #204]  ; (8001fdc <HAL_GPIO_Init+0x350>)
- 8001f10:      69bb            ldr     r3, [r7, #24]
- 8001f12:      6013            str     r3, [r2, #0]
+ 8001f3e:      4a33            ldr     r2, [pc, #204]  ; (800200c <HAL_GPIO_Init+0x350>)
+ 8001f40:      69bb            ldr     r3, [r7, #24]
+ 8001f42:      6013            str     r3, [r2, #0]
 
         temp = EXTI->EMR;
- 8001f14:      4b31            ldr     r3, [pc, #196]  ; (8001fdc <HAL_GPIO_Init+0x350>)
- 8001f16:      685b            ldr     r3, [r3, #4]
- 8001f18:      61bb            str     r3, [r7, #24]
+ 8001f44:      4b31            ldr     r3, [pc, #196]  ; (800200c <HAL_GPIO_Init+0x350>)
+ 8001f46:      685b            ldr     r3, [r3, #4]
+ 8001f48:      61bb            str     r3, [r7, #24]
         temp &= ~((uint32_t)iocurrent);
- 8001f1a:      693b            ldr     r3, [r7, #16]
- 8001f1c:      43db            mvns    r3, r3
- 8001f1e:      69ba            ldr     r2, [r7, #24]
- 8001f20:      4013            ands    r3, r2
- 8001f22:      61bb            str     r3, [r7, #24]
+ 8001f4a:      693b            ldr     r3, [r7, #16]
+ 8001f4c:      43db            mvns    r3, r3
+ 8001f4e:      69ba            ldr     r2, [r7, #24]
+ 8001f50:      4013            ands    r3, r2
+ 8001f52:      61bb            str     r3, [r7, #24]
         if((GPIO_Init->Mode & GPIO_MODE_EVT) == GPIO_MODE_EVT)
- 8001f24:      683b            ldr     r3, [r7, #0]
- 8001f26:      685b            ldr     r3, [r3, #4]
- 8001f28:      f403 3300       and.w   r3, r3, #131072 ; 0x20000
- 8001f2c:      2b00            cmp     r3, #0
- 8001f2e:      d003            beq.n   8001f38 <HAL_GPIO_Init+0x2ac>
+ 8001f54:      683b            ldr     r3, [r7, #0]
+ 8001f56:      685b            ldr     r3, [r3, #4]
+ 8001f58:      f403 3300       and.w   r3, r3, #131072 ; 0x20000
+ 8001f5c:      2b00            cmp     r3, #0
+ 8001f5e:      d003            beq.n   8001f68 <HAL_GPIO_Init+0x2ac>
         {
           temp |= iocurrent;
- 8001f30:      69ba            ldr     r2, [r7, #24]
- 8001f32:      693b            ldr     r3, [r7, #16]
- 8001f34:      4313            orrs    r3, r2
- 8001f36:      61bb            str     r3, [r7, #24]
+ 8001f60:      69ba            ldr     r2, [r7, #24]
+ 8001f62:      693b            ldr     r3, [r7, #16]
+ 8001f64:      4313            orrs    r3, r2
+ 8001f66:      61bb            str     r3, [r7, #24]
         }
         EXTI->EMR = temp;
- 8001f38:      4a28            ldr     r2, [pc, #160]  ; (8001fdc <HAL_GPIO_Init+0x350>)
- 8001f3a:      69bb            ldr     r3, [r7, #24]
- 8001f3c:      6053            str     r3, [r2, #4]
+ 8001f68:      4a28            ldr     r2, [pc, #160]  ; (800200c <HAL_GPIO_Init+0x350>)
+ 8001f6a:      69bb            ldr     r3, [r7, #24]
+ 8001f6c:      6053            str     r3, [r2, #4]
 
         /* Clear Rising Falling edge configuration */
         temp = EXTI->RTSR;
- 8001f3e:      4b27            ldr     r3, [pc, #156]  ; (8001fdc <HAL_GPIO_Init+0x350>)
- 8001f40:      689b            ldr     r3, [r3, #8]
- 8001f42:      61bb            str     r3, [r7, #24]
+ 8001f6e:      4b27            ldr     r3, [pc, #156]  ; (800200c <HAL_GPIO_Init+0x350>)
+ 8001f70:      689b            ldr     r3, [r3, #8]
+ 8001f72:      61bb            str     r3, [r7, #24]
         temp &= ~((uint32_t)iocurrent);
- 8001f44:      693b            ldr     r3, [r7, #16]
- 8001f46:      43db            mvns    r3, r3
- 8001f48:      69ba            ldr     r2, [r7, #24]
- 8001f4a:      4013            ands    r3, r2
- 8001f4c:      61bb            str     r3, [r7, #24]
+ 8001f74:      693b            ldr     r3, [r7, #16]
+ 8001f76:      43db            mvns    r3, r3
+ 8001f78:      69ba            ldr     r2, [r7, #24]
+ 8001f7a:      4013            ands    r3, r2
+ 8001f7c:      61bb            str     r3, [r7, #24]
         if((GPIO_Init->Mode & RISING_EDGE) == RISING_EDGE)
- 8001f4e:      683b            ldr     r3, [r7, #0]
- 8001f50:      685b            ldr     r3, [r3, #4]
- 8001f52:      f403 1380       and.w   r3, r3, #1048576        ; 0x100000
- 8001f56:      2b00            cmp     r3, #0
- 8001f58:      d003            beq.n   8001f62 <HAL_GPIO_Init+0x2d6>
+ 8001f7e:      683b            ldr     r3, [r7, #0]
+ 8001f80:      685b            ldr     r3, [r3, #4]
+ 8001f82:      f403 1380       and.w   r3, r3, #1048576        ; 0x100000
+ 8001f86:      2b00            cmp     r3, #0
+ 8001f88:      d003            beq.n   8001f92 <HAL_GPIO_Init+0x2d6>
         {
           temp |= iocurrent;
- 8001f5a:      69ba            ldr     r2, [r7, #24]
- 8001f5c:      693b            ldr     r3, [r7, #16]
- 8001f5e:      4313            orrs    r3, r2
- 8001f60:      61bb            str     r3, [r7, #24]
+ 8001f8a:      69ba            ldr     r2, [r7, #24]
+ 8001f8c:      693b            ldr     r3, [r7, #16]
+ 8001f8e:      4313            orrs    r3, r2
+ 8001f90:      61bb            str     r3, [r7, #24]
         }
         EXTI->RTSR = temp;
- 8001f62:      4a1e            ldr     r2, [pc, #120]  ; (8001fdc <HAL_GPIO_Init+0x350>)
- 8001f64:      69bb            ldr     r3, [r7, #24]
- 8001f66:      6093            str     r3, [r2, #8]
+ 8001f92:      4a1e            ldr     r2, [pc, #120]  ; (800200c <HAL_GPIO_Init+0x350>)
+ 8001f94:      69bb            ldr     r3, [r7, #24]
+ 8001f96:      6093            str     r3, [r2, #8]
 
         temp = EXTI->FTSR;
- 8001f68:      4b1c            ldr     r3, [pc, #112]  ; (8001fdc <HAL_GPIO_Init+0x350>)
- 8001f6a:      68db            ldr     r3, [r3, #12]
- 8001f6c:      61bb            str     r3, [r7, #24]
+ 8001f98:      4b1c            ldr     r3, [pc, #112]  ; (800200c <HAL_GPIO_Init+0x350>)
+ 8001f9a:      68db            ldr     r3, [r3, #12]
+ 8001f9c:      61bb            str     r3, [r7, #24]
         temp &= ~((uint32_t)iocurrent);
- 8001f6e:      693b            ldr     r3, [r7, #16]
- 8001f70:      43db            mvns    r3, r3
- 8001f72:      69ba            ldr     r2, [r7, #24]
- 8001f74:      4013            ands    r3, r2
- 8001f76:      61bb            str     r3, [r7, #24]
+ 8001f9e:      693b            ldr     r3, [r7, #16]
+ 8001fa0:      43db            mvns    r3, r3
+ 8001fa2:      69ba            ldr     r2, [r7, #24]
+ 8001fa4:      4013            ands    r3, r2
+ 8001fa6:      61bb            str     r3, [r7, #24]
         if((GPIO_Init->Mode & FALLING_EDGE) == FALLING_EDGE)
- 8001f78:      683b            ldr     r3, [r7, #0]
- 8001f7a:      685b            ldr     r3, [r3, #4]
- 8001f7c:      f403 1300       and.w   r3, r3, #2097152        ; 0x200000
- 8001f80:      2b00            cmp     r3, #0
- 8001f82:      d003            beq.n   8001f8c <HAL_GPIO_Init+0x300>
+ 8001fa8:      683b            ldr     r3, [r7, #0]
+ 8001faa:      685b            ldr     r3, [r3, #4]
+ 8001fac:      f403 1300       and.w   r3, r3, #2097152        ; 0x200000
+ 8001fb0:      2b00            cmp     r3, #0
+ 8001fb2:      d003            beq.n   8001fbc <HAL_GPIO_Init+0x300>
         {
           temp |= iocurrent;
- 8001f84:      69ba            ldr     r2, [r7, #24]
- 8001f86:      693b            ldr     r3, [r7, #16]
- 8001f88:      4313            orrs    r3, r2
- 8001f8a:      61bb            str     r3, [r7, #24]
+ 8001fb4:      69ba            ldr     r2, [r7, #24]
+ 8001fb6:      693b            ldr     r3, [r7, #16]
+ 8001fb8:      4313            orrs    r3, r2
+ 8001fba:      61bb            str     r3, [r7, #24]
         }
         EXTI->FTSR = temp;
- 8001f8c:      4a13            ldr     r2, [pc, #76]   ; (8001fdc <HAL_GPIO_Init+0x350>)
- 8001f8e:      69bb            ldr     r3, [r7, #24]
- 8001f90:      60d3            str     r3, [r2, #12]
+ 8001fbc:      4a13            ldr     r2, [pc, #76]   ; (800200c <HAL_GPIO_Init+0x350>)
+ 8001fbe:      69bb            ldr     r3, [r7, #24]
+ 8001fc0:      60d3            str     r3, [r2, #12]
   for(position = 0; position < GPIO_NUMBER; position++)
- 8001f92:      69fb            ldr     r3, [r7, #28]
- 8001f94:      3301            adds    r3, #1
- 8001f96:      61fb            str     r3, [r7, #28]
- 8001f98:      69fb            ldr     r3, [r7, #28]
- 8001f9a:      2b0f            cmp     r3, #15
- 8001f9c:      f67f ae86       bls.w   8001cac <HAL_GPIO_Init+0x20>
+ 8001fc2:      69fb            ldr     r3, [r7, #28]
+ 8001fc4:      3301            adds    r3, #1
+ 8001fc6:      61fb            str     r3, [r7, #28]
+ 8001fc8:      69fb            ldr     r3, [r7, #28]
+ 8001fca:      2b0f            cmp     r3, #15
+ 8001fcc:      f67f ae86       bls.w   8001cdc <HAL_GPIO_Init+0x20>
       }
     }
   }
 }
- 8001fa0:      bf00            nop
- 8001fa2:      3724            adds    r7, #36 ; 0x24
- 8001fa4:      46bd            mov     sp, r7
- 8001fa6:      f85d 7b04       ldr.w   r7, [sp], #4
- 8001faa:      4770            bx      lr
- 8001fac:      40023800        .word   0x40023800
- 8001fb0:      40013800        .word   0x40013800
- 8001fb4:      40020000        .word   0x40020000
- 8001fb8:      40020400        .word   0x40020400
- 8001fbc:      40020800        .word   0x40020800
- 8001fc0:      40020c00        .word   0x40020c00
- 8001fc4:      40021000        .word   0x40021000
- 8001fc8:      40021400        .word   0x40021400
- 8001fcc:      40021800        .word   0x40021800
- 8001fd0:      40021c00        .word   0x40021c00
- 8001fd4:      40022000        .word   0x40022000
- 8001fd8:      40022400        .word   0x40022400
- 8001fdc:      40013c00        .word   0x40013c00
-
-08001fe0 <HAL_GPIO_WritePin>:
+ 8001fd0:      bf00            nop
+ 8001fd2:      3724            adds    r7, #36 ; 0x24
+ 8001fd4:      46bd            mov     sp, r7
+ 8001fd6:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8001fda:      4770            bx      lr
+ 8001fdc:      40023800        .word   0x40023800
+ 8001fe0:      40013800        .word   0x40013800
+ 8001fe4:      40020000        .word   0x40020000
+ 8001fe8:      40020400        .word   0x40020400
+ 8001fec:      40020800        .word   0x40020800
+ 8001ff0:      40020c00        .word   0x40020c00
+ 8001ff4:      40021000        .word   0x40021000
+ 8001ff8:      40021400        .word   0x40021400
+ 8001ffc:      40021800        .word   0x40021800
+ 8002000:      40021c00        .word   0x40021c00
+ 8002004:      40022000        .word   0x40022000
+ 8002008:      40022400        .word   0x40022400
+ 800200c:      40013c00        .word   0x40013c00
+
+08002010 <HAL_GPIO_WritePin>:
   *            @arg GPIO_PIN_RESET: to clear the port pin
   *            @arg GPIO_PIN_SET: to set the port pin
   * @retval None
   */
 void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState)
 {
- 8001fe0:      b480            push    {r7}
- 8001fe2:      b083            sub     sp, #12
- 8001fe4:      af00            add     r7, sp, #0
- 8001fe6:      6078            str     r0, [r7, #4]
- 8001fe8:      460b            mov     r3, r1
- 8001fea:      807b            strh    r3, [r7, #2]
- 8001fec:      4613            mov     r3, r2
- 8001fee:      707b            strb    r3, [r7, #1]
+ 8002010:      b480            push    {r7}
+ 8002012:      b083            sub     sp, #12
+ 8002014:      af00            add     r7, sp, #0
+ 8002016:      6078            str     r0, [r7, #4]
+ 8002018:      460b            mov     r3, r1
+ 800201a:      807b            strh    r3, [r7, #2]
+ 800201c:      4613            mov     r3, r2
+ 800201e:      707b            strb    r3, [r7, #1]
   /* Check the parameters */
   assert_param(IS_GPIO_PIN(GPIO_Pin));
   assert_param(IS_GPIO_PIN_ACTION(PinState));
 
   if(PinState != GPIO_PIN_RESET)
- 8001ff0:      787b            ldrb    r3, [r7, #1]
- 8001ff2:      2b00            cmp     r3, #0
- 8001ff4:      d003            beq.n   8001ffe <HAL_GPIO_WritePin+0x1e>
+ 8002020:      787b            ldrb    r3, [r7, #1]
+ 8002022:      2b00            cmp     r3, #0
+ 8002024:      d003            beq.n   800202e <HAL_GPIO_WritePin+0x1e>
   {
     GPIOx->BSRR = GPIO_Pin;
- 8001ff6:      887a            ldrh    r2, [r7, #2]
- 8001ff8:      687b            ldr     r3, [r7, #4]
- 8001ffa:      619a            str     r2, [r3, #24]
+ 8002026:      887a            ldrh    r2, [r7, #2]
+ 8002028:      687b            ldr     r3, [r7, #4]
+ 800202a:      619a            str     r2, [r3, #24]
   }
   else
   {
     GPIOx->BSRR = (uint32_t)GPIO_Pin << 16;
   }
 }
- 8001ffc:      e003            b.n     8002006 <HAL_GPIO_WritePin+0x26>
+ 800202c:      e003            b.n     8002036 <HAL_GPIO_WritePin+0x26>
     GPIOx->BSRR = (uint32_t)GPIO_Pin << 16;
- 8001ffe:      887b            ldrh    r3, [r7, #2]
- 8002000:      041a            lsls    r2, r3, #16
- 8002002:      687b            ldr     r3, [r7, #4]
- 8002004:      619a            str     r2, [r3, #24]
+ 800202e:      887b            ldrh    r3, [r7, #2]
+ 8002030:      041a            lsls    r2, r3, #16
+ 8002032:      687b            ldr     r3, [r7, #4]
+ 8002034:      619a            str     r2, [r3, #24]
 }
- 8002006:      bf00            nop
- 8002008:      370c            adds    r7, #12
- 800200a:      46bd            mov     sp, r7
- 800200c:      f85d 7b04       ldr.w   r7, [sp], #4
- 8002010:      4770            bx      lr
+ 8002036:      bf00            nop
+ 8002038:      370c            adds    r7, #12
+ 800203a:      46bd            mov     sp, r7
+ 800203c:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8002040:      4770            bx      lr
        ...
 
-08002014 <HAL_GPIO_EXTI_IRQHandler>:
+08002044 <HAL_GPIO_EXTI_IRQHandler>:
   * @brief  This function handles EXTI interrupt request.
   * @param  GPIO_Pin Specifies the pins connected EXTI line
   * @retval None
   */
 void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin)
 {
- 8002014:      b580            push    {r7, lr}
- 8002016:      b082            sub     sp, #8
- 8002018:      af00            add     r7, sp, #0
- 800201a:      4603            mov     r3, r0
- 800201c:      80fb            strh    r3, [r7, #6]
+ 8002044:      b580            push    {r7, lr}
+ 8002046:      b082            sub     sp, #8
+ 8002048:      af00            add     r7, sp, #0
+ 800204a:      4603            mov     r3, r0
+ 800204c:      80fb            strh    r3, [r7, #6]
   /* EXTI line interrupt detected */
   if(__HAL_GPIO_EXTI_GET_IT(GPIO_Pin) != RESET)
- 800201e:      4b08            ldr     r3, [pc, #32]   ; (8002040 <HAL_GPIO_EXTI_IRQHandler+0x2c>)
- 8002020:      695a            ldr     r2, [r3, #20]
- 8002022:      88fb            ldrh    r3, [r7, #6]
- 8002024:      4013            ands    r3, r2
- 8002026:      2b00            cmp     r3, #0
- 8002028:      d006            beq.n   8002038 <HAL_GPIO_EXTI_IRQHandler+0x24>
+ 800204e:      4b08            ldr     r3, [pc, #32]   ; (8002070 <HAL_GPIO_EXTI_IRQHandler+0x2c>)
+ 8002050:      695a            ldr     r2, [r3, #20]
+ 8002052:      88fb            ldrh    r3, [r7, #6]
+ 8002054:      4013            ands    r3, r2
+ 8002056:      2b00            cmp     r3, #0
+ 8002058:      d006            beq.n   8002068 <HAL_GPIO_EXTI_IRQHandler+0x24>
   {
     __HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin);
- 800202a:      4a05            ldr     r2, [pc, #20]   ; (8002040 <HAL_GPIO_EXTI_IRQHandler+0x2c>)
- 800202c:      88fb            ldrh    r3, [r7, #6]
- 800202e:      6153            str     r3, [r2, #20]
+ 800205a:      4a05            ldr     r2, [pc, #20]   ; (8002070 <HAL_GPIO_EXTI_IRQHandler+0x2c>)
+ 800205c:      88fb            ldrh    r3, [r7, #6]
+ 800205e:      6153            str     r3, [r2, #20]
     HAL_GPIO_EXTI_Callback(GPIO_Pin);
- 8002030:      88fb            ldrh    r3, [r7, #6]
- 8002032:      4618            mov     r0, r3
- 8002034:      f7ff f9be       bl      80013b4 <HAL_GPIO_EXTI_Callback>
+ 8002060:      88fb            ldrh    r3, [r7, #6]
+ 8002062:      4618            mov     r0, r3
+ 8002064:      f7ff f9be       bl      80013e4 <HAL_GPIO_EXTI_Callback>
   }
 }
- 8002038:      bf00            nop
- 800203a:      3708            adds    r7, #8
- 800203c:      46bd            mov     sp, r7
- 800203e:      bd80            pop     {r7, pc}
- 8002040:      40013c00        .word   0x40013c00
+ 8002068:      bf00            nop
+ 800206a:      3708            adds    r7, #8
+ 800206c:      46bd            mov     sp, r7
+ 800206e:      bd80            pop     {r7, pc}
+ 8002070:      40013c00        .word   0x40013c00
 
-08002044 <HAL_RCC_OscConfig>:
+08002074 <HAL_RCC_OscConfig>:
   *         supported by this function. User should request a transition to HSE Off
   *         first and then HSE On or HSE Bypass.
   * @retval HAL status
   */
 HAL_StatusTypeDef HAL_RCC_OscConfig(RCC_OscInitTypeDef  *RCC_OscInitStruct)
 {
- 8002044:      b580            push    {r7, lr}
- 8002046:      b086            sub     sp, #24
- 8002048:      af00            add     r7, sp, #0
- 800204a:      6078            str     r0, [r7, #4]
+ 8002074:      b580            push    {r7, lr}
+ 8002076:      b086            sub     sp, #24
+ 8002078:      af00            add     r7, sp, #0
+ 800207a:      6078            str     r0, [r7, #4]
   uint32_t tickstart;
   FlagStatus pwrclkchanged = RESET;
- 800204c:      2300            movs    r3, #0
- 800204e:      75fb            strb    r3, [r7, #23]
+ 800207c:      2300            movs    r3, #0
+ 800207e:      75fb            strb    r3, [r7, #23]
 
   /* Check Null pointer */
   if(RCC_OscInitStruct == NULL)
- 8002050:      687b            ldr     r3, [r7, #4]
- 8002052:      2b00            cmp     r3, #0
- 8002054:      d101            bne.n   800205a <HAL_RCC_OscConfig+0x16>
+ 8002080:      687b            ldr     r3, [r7, #4]
+ 8002082:      2b00            cmp     r3, #0
+ 8002084:      d101            bne.n   800208a <HAL_RCC_OscConfig+0x16>
   {
     return HAL_ERROR;
- 8002056:      2301            movs    r3, #1
- 8002058:      e25e            b.n     8002518 <HAL_RCC_OscConfig+0x4d4>
+ 8002086:      2301            movs    r3, #1
+ 8002088:      e25e            b.n     8002548 <HAL_RCC_OscConfig+0x4d4>
 
   /* Check the parameters */
   assert_param(IS_RCC_OSCILLATORTYPE(RCC_OscInitStruct->OscillatorType));
 
   /*------------------------------- HSE Configuration ------------------------*/
   if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSE) == RCC_OSCILLATORTYPE_HSE)
- 800205a:      687b            ldr     r3, [r7, #4]
- 800205c:      681b            ldr     r3, [r3, #0]
- 800205e:      f003 0301       and.w   r3, r3, #1
- 8002062:      2b00            cmp     r3, #0
- 8002064:      f000 8087       beq.w   8002176 <HAL_RCC_OscConfig+0x132>
+ 800208a:      687b            ldr     r3, [r7, #4]
+ 800208c:      681b            ldr     r3, [r3, #0]
+ 800208e:      f003 0301       and.w   r3, r3, #1
+ 8002092:      2b00            cmp     r3, #0
+ 8002094:      f000 8087       beq.w   80021a6 <HAL_RCC_OscConfig+0x132>
   {
     /* Check the parameters */
     assert_param(IS_RCC_HSE(RCC_OscInitStruct->HSEState));
     /* When the HSE is used as system clock or clock source for PLL, It can not be disabled */
     if((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_HSE)
- 8002068:      4b96            ldr     r3, [pc, #600]  ; (80022c4 <HAL_RCC_OscConfig+0x280>)
- 800206a:      689b            ldr     r3, [r3, #8]
- 800206c:      f003 030c       and.w   r3, r3, #12
- 8002070:      2b04            cmp     r3, #4
- 8002072:      d00c            beq.n   800208e <HAL_RCC_OscConfig+0x4a>
+ 8002098:      4b96            ldr     r3, [pc, #600]  ; (80022f4 <HAL_RCC_OscConfig+0x280>)
+ 800209a:      689b            ldr     r3, [r3, #8]
+ 800209c:      f003 030c       and.w   r3, r3, #12
+ 80020a0:      2b04            cmp     r3, #4
+ 80020a2:      d00c            beq.n   80020be <HAL_RCC_OscConfig+0x4a>
        || ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && ((RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) == RCC_PLLCFGR_PLLSRC_HSE)))
- 8002074:      4b93            ldr     r3, [pc, #588]  ; (80022c4 <HAL_RCC_OscConfig+0x280>)
- 8002076:      689b            ldr     r3, [r3, #8]
- 8002078:      f003 030c       and.w   r3, r3, #12
- 800207c:      2b08            cmp     r3, #8
- 800207e:      d112            bne.n   80020a6 <HAL_RCC_OscConfig+0x62>
- 8002080:      4b90            ldr     r3, [pc, #576]  ; (80022c4 <HAL_RCC_OscConfig+0x280>)
- 8002082:      685b            ldr     r3, [r3, #4]
- 8002084:      f403 0380       and.w   r3, r3, #4194304        ; 0x400000
- 8002088:      f5b3 0f80       cmp.w   r3, #4194304    ; 0x400000
- 800208c:      d10b            bne.n   80020a6 <HAL_RCC_OscConfig+0x62>
+ 80020a4:      4b93            ldr     r3, [pc, #588]  ; (80022f4 <HAL_RCC_OscConfig+0x280>)
+ 80020a6:      689b            ldr     r3, [r3, #8]
+ 80020a8:      f003 030c       and.w   r3, r3, #12
+ 80020ac:      2b08            cmp     r3, #8
+ 80020ae:      d112            bne.n   80020d6 <HAL_RCC_OscConfig+0x62>
+ 80020b0:      4b90            ldr     r3, [pc, #576]  ; (80022f4 <HAL_RCC_OscConfig+0x280>)
+ 80020b2:      685b            ldr     r3, [r3, #4]
+ 80020b4:      f403 0380       and.w   r3, r3, #4194304        ; 0x400000
+ 80020b8:      f5b3 0f80       cmp.w   r3, #4194304    ; 0x400000
+ 80020bc:      d10b            bne.n   80020d6 <HAL_RCC_OscConfig+0x62>
     {
       if((__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) && (RCC_OscInitStruct->HSEState == RCC_HSE_OFF))
- 800208e:      4b8d            ldr     r3, [pc, #564]  ; (80022c4 <HAL_RCC_OscConfig+0x280>)
- 8002090:      681b            ldr     r3, [r3, #0]
- 8002092:      f403 3300       and.w   r3, r3, #131072 ; 0x20000
- 8002096:      2b00            cmp     r3, #0
- 8002098:      d06c            beq.n   8002174 <HAL_RCC_OscConfig+0x130>
- 800209a:      687b            ldr     r3, [r7, #4]
- 800209c:      685b            ldr     r3, [r3, #4]
- 800209e:      2b00            cmp     r3, #0
- 80020a0:      d168            bne.n   8002174 <HAL_RCC_OscConfig+0x130>
+ 80020be:      4b8d            ldr     r3, [pc, #564]  ; (80022f4 <HAL_RCC_OscConfig+0x280>)
+ 80020c0:      681b            ldr     r3, [r3, #0]
+ 80020c2:      f403 3300       and.w   r3, r3, #131072 ; 0x20000
+ 80020c6:      2b00            cmp     r3, #0
+ 80020c8:      d06c            beq.n   80021a4 <HAL_RCC_OscConfig+0x130>
+ 80020ca:      687b            ldr     r3, [r7, #4]
+ 80020cc:      685b            ldr     r3, [r3, #4]
+ 80020ce:      2b00            cmp     r3, #0
+ 80020d0:      d168            bne.n   80021a4 <HAL_RCC_OscConfig+0x130>
       {
         return HAL_ERROR;
- 80020a2:      2301            movs    r3, #1
- 80020a4:      e238            b.n     8002518 <HAL_RCC_OscConfig+0x4d4>
+ 80020d2:      2301            movs    r3, #1
+ 80020d4:      e238            b.n     8002548 <HAL_RCC_OscConfig+0x4d4>
       }
     }
     else
     {
       /* Set the new HSE configuration ---------------------------------------*/
       __HAL_RCC_HSE_CONFIG(RCC_OscInitStruct->HSEState);
- 80020a6:      687b            ldr     r3, [r7, #4]
- 80020a8:      685b            ldr     r3, [r3, #4]
- 80020aa:      f5b3 3f80       cmp.w   r3, #65536      ; 0x10000
- 80020ae:      d106            bne.n   80020be <HAL_RCC_OscConfig+0x7a>
- 80020b0:      4b84            ldr     r3, [pc, #528]  ; (80022c4 <HAL_RCC_OscConfig+0x280>)
- 80020b2:      681b            ldr     r3, [r3, #0]
- 80020b4:      4a83            ldr     r2, [pc, #524]  ; (80022c4 <HAL_RCC_OscConfig+0x280>)
- 80020b6:      f443 3380       orr.w   r3, r3, #65536  ; 0x10000
- 80020ba:      6013            str     r3, [r2, #0]
- 80020bc:      e02e            b.n     800211c <HAL_RCC_OscConfig+0xd8>
- 80020be:      687b            ldr     r3, [r7, #4]
- 80020c0:      685b            ldr     r3, [r3, #4]
- 80020c2:      2b00            cmp     r3, #0
- 80020c4:      d10c            bne.n   80020e0 <HAL_RCC_OscConfig+0x9c>
- 80020c6:      4b7f            ldr     r3, [pc, #508]  ; (80022c4 <HAL_RCC_OscConfig+0x280>)
- 80020c8:      681b            ldr     r3, [r3, #0]
- 80020ca:      4a7e            ldr     r2, [pc, #504]  ; (80022c4 <HAL_RCC_OscConfig+0x280>)
- 80020cc:      f423 3380       bic.w   r3, r3, #65536  ; 0x10000
- 80020d0:      6013            str     r3, [r2, #0]
- 80020d2:      4b7c            ldr     r3, [pc, #496]  ; (80022c4 <HAL_RCC_OscConfig+0x280>)
- 80020d4:      681b            ldr     r3, [r3, #0]
- 80020d6:      4a7b            ldr     r2, [pc, #492]  ; (80022c4 <HAL_RCC_OscConfig+0x280>)
- 80020d8:      f423 2380       bic.w   r3, r3, #262144 ; 0x40000
- 80020dc:      6013            str     r3, [r2, #0]
- 80020de:      e01d            b.n     800211c <HAL_RCC_OscConfig+0xd8>
- 80020e0:      687b            ldr     r3, [r7, #4]
- 80020e2:      685b            ldr     r3, [r3, #4]
- 80020e4:      f5b3 2fa0       cmp.w   r3, #327680     ; 0x50000
- 80020e8:      d10c            bne.n   8002104 <HAL_RCC_OscConfig+0xc0>
- 80020ea:      4b76            ldr     r3, [pc, #472]  ; (80022c4 <HAL_RCC_OscConfig+0x280>)
- 80020ec:      681b            ldr     r3, [r3, #0]
- 80020ee:      4a75            ldr     r2, [pc, #468]  ; (80022c4 <HAL_RCC_OscConfig+0x280>)
- 80020f0:      f443 2380       orr.w   r3, r3, #262144 ; 0x40000
- 80020f4:      6013            str     r3, [r2, #0]
- 80020f6:      4b73            ldr     r3, [pc, #460]  ; (80022c4 <HAL_RCC_OscConfig+0x280>)
+ 80020d6:      687b            ldr     r3, [r7, #4]
+ 80020d8:      685b            ldr     r3, [r3, #4]
+ 80020da:      f5b3 3f80       cmp.w   r3, #65536      ; 0x10000
+ 80020de:      d106            bne.n   80020ee <HAL_RCC_OscConfig+0x7a>
+ 80020e0:      4b84            ldr     r3, [pc, #528]  ; (80022f4 <HAL_RCC_OscConfig+0x280>)
+ 80020e2:      681b            ldr     r3, [r3, #0]
+ 80020e4:      4a83            ldr     r2, [pc, #524]  ; (80022f4 <HAL_RCC_OscConfig+0x280>)
+ 80020e6:      f443 3380       orr.w   r3, r3, #65536  ; 0x10000
+ 80020ea:      6013            str     r3, [r2, #0]
+ 80020ec:      e02e            b.n     800214c <HAL_RCC_OscConfig+0xd8>
+ 80020ee:      687b            ldr     r3, [r7, #4]
+ 80020f0:      685b            ldr     r3, [r3, #4]
+ 80020f2:      2b00            cmp     r3, #0
+ 80020f4:      d10c            bne.n   8002110 <HAL_RCC_OscConfig+0x9c>
+ 80020f6:      4b7f            ldr     r3, [pc, #508]  ; (80022f4 <HAL_RCC_OscConfig+0x280>)
  80020f8:      681b            ldr     r3, [r3, #0]
- 80020fa:      4a72            ldr     r2, [pc, #456]  ; (80022c4 <HAL_RCC_OscConfig+0x280>)
- 80020fc:      f443 3380       orr.w   r3, r3, #65536  ; 0x10000
+ 80020fa:      4a7e            ldr     r2, [pc, #504]  ; (80022f4 <HAL_RCC_OscConfig+0x280>)
+ 80020fc:      f423 3380       bic.w   r3, r3, #65536  ; 0x10000
  8002100:      6013            str     r3, [r2, #0]
- 8002102:      e00b            b.n     800211c <HAL_RCC_OscConfig+0xd8>
- 8002104:      4b6f            ldr     r3, [pc, #444]  ; (80022c4 <HAL_RCC_OscConfig+0x280>)
- 8002106:      681b            ldr     r3, [r3, #0]
- 8002108:      4a6e            ldr     r2, [pc, #440]  ; (80022c4 <HAL_RCC_OscConfig+0x280>)
- 800210a:      f423 3380       bic.w   r3, r3, #65536  ; 0x10000
- 800210e:      6013            str     r3, [r2, #0]
- 8002110:      4b6c            ldr     r3, [pc, #432]  ; (80022c4 <HAL_RCC_OscConfig+0x280>)
- 8002112:      681b            ldr     r3, [r3, #0]
- 8002114:      4a6b            ldr     r2, [pc, #428]  ; (80022c4 <HAL_RCC_OscConfig+0x280>)
- 8002116:      f423 2380       bic.w   r3, r3, #262144 ; 0x40000
- 800211a:      6013            str     r3, [r2, #0]
+ 8002102:      4b7c            ldr     r3, [pc, #496]  ; (80022f4 <HAL_RCC_OscConfig+0x280>)
+ 8002104:      681b            ldr     r3, [r3, #0]
+ 8002106:      4a7b            ldr     r2, [pc, #492]  ; (80022f4 <HAL_RCC_OscConfig+0x280>)
+ 8002108:      f423 2380       bic.w   r3, r3, #262144 ; 0x40000
+ 800210c:      6013            str     r3, [r2, #0]
+ 800210e:      e01d            b.n     800214c <HAL_RCC_OscConfig+0xd8>
+ 8002110:      687b            ldr     r3, [r7, #4]
+ 8002112:      685b            ldr     r3, [r3, #4]
+ 8002114:      f5b3 2fa0       cmp.w   r3, #327680     ; 0x50000
+ 8002118:      d10c            bne.n   8002134 <HAL_RCC_OscConfig+0xc0>
+ 800211a:      4b76            ldr     r3, [pc, #472]  ; (80022f4 <HAL_RCC_OscConfig+0x280>)
+ 800211c:      681b            ldr     r3, [r3, #0]
+ 800211e:      4a75            ldr     r2, [pc, #468]  ; (80022f4 <HAL_RCC_OscConfig+0x280>)
+ 8002120:      f443 2380       orr.w   r3, r3, #262144 ; 0x40000
+ 8002124:      6013            str     r3, [r2, #0]
+ 8002126:      4b73            ldr     r3, [pc, #460]  ; (80022f4 <HAL_RCC_OscConfig+0x280>)
+ 8002128:      681b            ldr     r3, [r3, #0]
+ 800212a:      4a72            ldr     r2, [pc, #456]  ; (80022f4 <HAL_RCC_OscConfig+0x280>)
+ 800212c:      f443 3380       orr.w   r3, r3, #65536  ; 0x10000
+ 8002130:      6013            str     r3, [r2, #0]
+ 8002132:      e00b            b.n     800214c <HAL_RCC_OscConfig+0xd8>
+ 8002134:      4b6f            ldr     r3, [pc, #444]  ; (80022f4 <HAL_RCC_OscConfig+0x280>)
+ 8002136:      681b            ldr     r3, [r3, #0]
+ 8002138:      4a6e            ldr     r2, [pc, #440]  ; (80022f4 <HAL_RCC_OscConfig+0x280>)
+ 800213a:      f423 3380       bic.w   r3, r3, #65536  ; 0x10000
+ 800213e:      6013            str     r3, [r2, #0]
+ 8002140:      4b6c            ldr     r3, [pc, #432]  ; (80022f4 <HAL_RCC_OscConfig+0x280>)
+ 8002142:      681b            ldr     r3, [r3, #0]
+ 8002144:      4a6b            ldr     r2, [pc, #428]  ; (80022f4 <HAL_RCC_OscConfig+0x280>)
+ 8002146:      f423 2380       bic.w   r3, r3, #262144 ; 0x40000
+ 800214a:      6013            str     r3, [r2, #0]
 
       /* Check the HSE State */
       if(RCC_OscInitStruct->HSEState != RCC_HSE_OFF)
- 800211c:      687b            ldr     r3, [r7, #4]
- 800211e:      685b            ldr     r3, [r3, #4]
- 8002120:      2b00            cmp     r3, #0
- 8002122:      d013            beq.n   800214c <HAL_RCC_OscConfig+0x108>
+ 800214c:      687b            ldr     r3, [r7, #4]
+ 800214e:      685b            ldr     r3, [r3, #4]
+ 8002150:      2b00            cmp     r3, #0
+ 8002152:      d013            beq.n   800217c <HAL_RCC_OscConfig+0x108>
       {
         /* Get Start Tick*/
         tickstart = HAL_GetTick();
- 8002124:      f7ff fc72       bl      8001a0c <HAL_GetTick>
- 8002128:      6138            str     r0, [r7, #16]
+ 8002154:      f7ff fc72       bl      8001a3c <HAL_GetTick>
+ 8002158:      6138            str     r0, [r7, #16]
 
         /* Wait till HSE is ready */
         while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET)
- 800212a:      e008            b.n     800213e <HAL_RCC_OscConfig+0xfa>
+ 800215a:      e008            b.n     800216e <HAL_RCC_OscConfig+0xfa>
         {
           if((HAL_GetTick() - tickstart ) > HSE_TIMEOUT_VALUE)
- 800212c:      f7ff fc6e       bl      8001a0c <HAL_GetTick>
- 8002130:      4602            mov     r2, r0
- 8002132:      693b            ldr     r3, [r7, #16]
- 8002134:      1ad3            subs    r3, r2, r3
- 8002136:      2b64            cmp     r3, #100        ; 0x64
- 8002138:      d901            bls.n   800213e <HAL_RCC_OscConfig+0xfa>
+ 800215c:      f7ff fc6e       bl      8001a3c <HAL_GetTick>
+ 8002160:      4602            mov     r2, r0
+ 8002162:      693b            ldr     r3, [r7, #16]
+ 8002164:      1ad3            subs    r3, r2, r3
+ 8002166:      2b64            cmp     r3, #100        ; 0x64
+ 8002168:      d901            bls.n   800216e <HAL_RCC_OscConfig+0xfa>
           {
             return HAL_TIMEOUT;
- 800213a:      2303            movs    r3, #3
- 800213c:      e1ec            b.n     8002518 <HAL_RCC_OscConfig+0x4d4>
+ 800216a:      2303            movs    r3, #3
+ 800216c:      e1ec            b.n     8002548 <HAL_RCC_OscConfig+0x4d4>
         while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET)
- 800213e:      4b61            ldr     r3, [pc, #388]  ; (80022c4 <HAL_RCC_OscConfig+0x280>)
- 8002140:      681b            ldr     r3, [r3, #0]
- 8002142:      f403 3300       and.w   r3, r3, #131072 ; 0x20000
- 8002146:      2b00            cmp     r3, #0
- 8002148:      d0f0            beq.n   800212c <HAL_RCC_OscConfig+0xe8>
- 800214a:      e014            b.n     8002176 <HAL_RCC_OscConfig+0x132>
+ 800216e:      4b61            ldr     r3, [pc, #388]  ; (80022f4 <HAL_RCC_OscConfig+0x280>)
+ 8002170:      681b            ldr     r3, [r3, #0]
+ 8002172:      f403 3300       and.w   r3, r3, #131072 ; 0x20000
+ 8002176:      2b00            cmp     r3, #0
+ 8002178:      d0f0            beq.n   800215c <HAL_RCC_OscConfig+0xe8>
+ 800217a:      e014            b.n     80021a6 <HAL_RCC_OscConfig+0x132>
         }
       }
       else
       {
         /* Get Start Tick*/
         tickstart = HAL_GetTick();
- 800214c:      f7ff fc5e       bl      8001a0c <HAL_GetTick>
- 8002150:      6138            str     r0, [r7, #16]
+ 800217c:      f7ff fc5e       bl      8001a3c <HAL_GetTick>
+ 8002180:      6138            str     r0, [r7, #16]
 
         /* Wait till HSE is bypassed or disabled */
         while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET)
- 8002152:      e008            b.n     8002166 <HAL_RCC_OscConfig+0x122>
+ 8002182:      e008            b.n     8002196 <HAL_RCC_OscConfig+0x122>
         {
            if((HAL_GetTick() - tickstart ) > HSE_TIMEOUT_VALUE)
- 8002154:      f7ff fc5a       bl      8001a0c <HAL_GetTick>
- 8002158:      4602            mov     r2, r0
- 800215a:      693b            ldr     r3, [r7, #16]
- 800215c:      1ad3            subs    r3, r2, r3
- 800215e:      2b64            cmp     r3, #100        ; 0x64
- 8002160:      d901            bls.n   8002166 <HAL_RCC_OscConfig+0x122>
+ 8002184:      f7ff fc5a       bl      8001a3c <HAL_GetTick>
+ 8002188:      4602            mov     r2, r0
+ 800218a:      693b            ldr     r3, [r7, #16]
+ 800218c:      1ad3            subs    r3, r2, r3
+ 800218e:      2b64            cmp     r3, #100        ; 0x64
+ 8002190:      d901            bls.n   8002196 <HAL_RCC_OscConfig+0x122>
           {
             return HAL_TIMEOUT;
- 8002162:      2303            movs    r3, #3
- 8002164:      e1d8            b.n     8002518 <HAL_RCC_OscConfig+0x4d4>
+ 8002192:      2303            movs    r3, #3
+ 8002194:      e1d8            b.n     8002548 <HAL_RCC_OscConfig+0x4d4>
         while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET)
- 8002166:      4b57            ldr     r3, [pc, #348]  ; (80022c4 <HAL_RCC_OscConfig+0x280>)
- 8002168:      681b            ldr     r3, [r3, #0]
- 800216a:      f403 3300       and.w   r3, r3, #131072 ; 0x20000
- 800216e:      2b00            cmp     r3, #0
- 8002170:      d1f0            bne.n   8002154 <HAL_RCC_OscConfig+0x110>
- 8002172:      e000            b.n     8002176 <HAL_RCC_OscConfig+0x132>
+ 8002196:      4b57            ldr     r3, [pc, #348]  ; (80022f4 <HAL_RCC_OscConfig+0x280>)
+ 8002198:      681b            ldr     r3, [r3, #0]
+ 800219a:      f403 3300       and.w   r3, r3, #131072 ; 0x20000
+ 800219e:      2b00            cmp     r3, #0
+ 80021a0:      d1f0            bne.n   8002184 <HAL_RCC_OscConfig+0x110>
+ 80021a2:      e000            b.n     80021a6 <HAL_RCC_OscConfig+0x132>
       if((__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) && (RCC_OscInitStruct->HSEState == RCC_HSE_OFF))
- 8002174:      bf00            nop
+ 80021a4:      bf00            nop
         }
       }
     }
   }
   /*----------------------------- HSI Configuration --------------------------*/
   if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSI) == RCC_OSCILLATORTYPE_HSI)
- 8002176:      687b            ldr     r3, [r7, #4]
- 8002178:      681b            ldr     r3, [r3, #0]
- 800217a:      f003 0302       and.w   r3, r3, #2
- 800217e:      2b00            cmp     r3, #0
- 8002180:      d069            beq.n   8002256 <HAL_RCC_OscConfig+0x212>
+ 80021a6:      687b            ldr     r3, [r7, #4]
+ 80021a8:      681b            ldr     r3, [r3, #0]
+ 80021aa:      f003 0302       and.w   r3, r3, #2
+ 80021ae:      2b00            cmp     r3, #0
+ 80021b0:      d069            beq.n   8002286 <HAL_RCC_OscConfig+0x212>
     /* Check the parameters */
     assert_param(IS_RCC_HSI(RCC_OscInitStruct->HSIState));
     assert_param(IS_RCC_CALIBRATION_VALUE(RCC_OscInitStruct->HSICalibrationValue));
 
     /* Check if HSI is used as system clock or as PLL source when PLL is selected as system clock */
     if((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_HSI)
- 8002182:      4b50            ldr     r3, [pc, #320]  ; (80022c4 <HAL_RCC_OscConfig+0x280>)
- 8002184:      689b            ldr     r3, [r3, #8]
- 8002186:      f003 030c       and.w   r3, r3, #12
- 800218a:      2b00            cmp     r3, #0
- 800218c:      d00b            beq.n   80021a6 <HAL_RCC_OscConfig+0x162>
+ 80021b2:      4b50            ldr     r3, [pc, #320]  ; (80022f4 <HAL_RCC_OscConfig+0x280>)
+ 80021b4:      689b            ldr     r3, [r3, #8]
+ 80021b6:      f003 030c       and.w   r3, r3, #12
+ 80021ba:      2b00            cmp     r3, #0
+ 80021bc:      d00b            beq.n   80021d6 <HAL_RCC_OscConfig+0x162>
        || ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && ((RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) == RCC_PLLCFGR_PLLSRC_HSI)))
- 800218e:      4b4d            ldr     r3, [pc, #308]  ; (80022c4 <HAL_RCC_OscConfig+0x280>)
- 8002190:      689b            ldr     r3, [r3, #8]
- 8002192:      f003 030c       and.w   r3, r3, #12
- 8002196:      2b08            cmp     r3, #8
- 8002198:      d11c            bne.n   80021d4 <HAL_RCC_OscConfig+0x190>
- 800219a:      4b4a            ldr     r3, [pc, #296]  ; (80022c4 <HAL_RCC_OscConfig+0x280>)
- 800219c:      685b            ldr     r3, [r3, #4]
- 800219e:      f403 0380       and.w   r3, r3, #4194304        ; 0x400000
- 80021a2:      2b00            cmp     r3, #0
- 80021a4:      d116            bne.n   80021d4 <HAL_RCC_OscConfig+0x190>
+ 80021be:      4b4d            ldr     r3, [pc, #308]  ; (80022f4 <HAL_RCC_OscConfig+0x280>)
+ 80021c0:      689b            ldr     r3, [r3, #8]
+ 80021c2:      f003 030c       and.w   r3, r3, #12
+ 80021c6:      2b08            cmp     r3, #8
+ 80021c8:      d11c            bne.n   8002204 <HAL_RCC_OscConfig+0x190>
+ 80021ca:      4b4a            ldr     r3, [pc, #296]  ; (80022f4 <HAL_RCC_OscConfig+0x280>)
+ 80021cc:      685b            ldr     r3, [r3, #4]
+ 80021ce:      f403 0380       and.w   r3, r3, #4194304        ; 0x400000
+ 80021d2:      2b00            cmp     r3, #0
+ 80021d4:      d116            bne.n   8002204 <HAL_RCC_OscConfig+0x190>
     {
       /* When HSI is used as system clock it will not disabled */
       if((__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET) && (RCC_OscInitStruct->HSIState != RCC_HSI_ON))
- 80021a6:      4b47            ldr     r3, [pc, #284]  ; (80022c4 <HAL_RCC_OscConfig+0x280>)
- 80021a8:      681b            ldr     r3, [r3, #0]
- 80021aa:      f003 0302       and.w   r3, r3, #2
- 80021ae:      2b00            cmp     r3, #0
- 80021b0:      d005            beq.n   80021be <HAL_RCC_OscConfig+0x17a>
- 80021b2:      687b            ldr     r3, [r7, #4]
- 80021b4:      68db            ldr     r3, [r3, #12]
- 80021b6:      2b01            cmp     r3, #1
- 80021b8:      d001            beq.n   80021be <HAL_RCC_OscConfig+0x17a>
+ 80021d6:      4b47            ldr     r3, [pc, #284]  ; (80022f4 <HAL_RCC_OscConfig+0x280>)
+ 80021d8:      681b            ldr     r3, [r3, #0]
+ 80021da:      f003 0302       and.w   r3, r3, #2
+ 80021de:      2b00            cmp     r3, #0
+ 80021e0:      d005            beq.n   80021ee <HAL_RCC_OscConfig+0x17a>
+ 80021e2:      687b            ldr     r3, [r7, #4]
+ 80021e4:      68db            ldr     r3, [r3, #12]
+ 80021e6:      2b01            cmp     r3, #1
+ 80021e8:      d001            beq.n   80021ee <HAL_RCC_OscConfig+0x17a>
       {
         return HAL_ERROR;
- 80021ba:      2301            movs    r3, #1
- 80021bc:      e1ac            b.n     8002518 <HAL_RCC_OscConfig+0x4d4>
+ 80021ea:      2301            movs    r3, #1
+ 80021ec:      e1ac            b.n     8002548 <HAL_RCC_OscConfig+0x4d4>
       }
       /* Otherwise, just the calibration is allowed */
       else
       {
         /* Adjusts the Internal High Speed oscillator (HSI) calibration value.*/
         __HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->HSICalibrationValue);
- 80021be:      4b41            ldr     r3, [pc, #260]  ; (80022c4 <HAL_RCC_OscConfig+0x280>)
- 80021c0:      681b            ldr     r3, [r3, #0]
- 80021c2:      f023 02f8       bic.w   r2, r3, #248    ; 0xf8
- 80021c6:      687b            ldr     r3, [r7, #4]
- 80021c8:      691b            ldr     r3, [r3, #16]
- 80021ca:      00db            lsls    r3, r3, #3
- 80021cc:      493d            ldr     r1, [pc, #244]  ; (80022c4 <HAL_RCC_OscConfig+0x280>)
- 80021ce:      4313            orrs    r3, r2
- 80021d0:      600b            str     r3, [r1, #0]
+ 80021ee:      4b41            ldr     r3, [pc, #260]  ; (80022f4 <HAL_RCC_OscConfig+0x280>)
+ 80021f0:      681b            ldr     r3, [r3, #0]
+ 80021f2:      f023 02f8       bic.w   r2, r3, #248    ; 0xf8
+ 80021f6:      687b            ldr     r3, [r7, #4]
+ 80021f8:      691b            ldr     r3, [r3, #16]
+ 80021fa:      00db            lsls    r3, r3, #3
+ 80021fc:      493d            ldr     r1, [pc, #244]  ; (80022f4 <HAL_RCC_OscConfig+0x280>)
+ 80021fe:      4313            orrs    r3, r2
+ 8002200:      600b            str     r3, [r1, #0]
       if((__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET) && (RCC_OscInitStruct->HSIState != RCC_HSI_ON))
- 80021d2:      e040            b.n     8002256 <HAL_RCC_OscConfig+0x212>
+ 8002202:      e040            b.n     8002286 <HAL_RCC_OscConfig+0x212>
       }
     }
     else
     {
       /* Check the HSI State */
       if((RCC_OscInitStruct->HSIState)!= RCC_HSI_OFF)
- 80021d4:      687b            ldr     r3, [r7, #4]
- 80021d6:      68db            ldr     r3, [r3, #12]
- 80021d8:      2b00            cmp     r3, #0
- 80021da:      d023            beq.n   8002224 <HAL_RCC_OscConfig+0x1e0>
+ 8002204:      687b            ldr     r3, [r7, #4]
+ 8002206:      68db            ldr     r3, [r3, #12]
+ 8002208:      2b00            cmp     r3, #0
+ 800220a:      d023            beq.n   8002254 <HAL_RCC_OscConfig+0x1e0>
       {
         /* Enable the Internal High Speed oscillator (HSI). */
         __HAL_RCC_HSI_ENABLE();
- 80021dc:      4b39            ldr     r3, [pc, #228]  ; (80022c4 <HAL_RCC_OscConfig+0x280>)
- 80021de:      681b            ldr     r3, [r3, #0]
- 80021e0:      4a38            ldr     r2, [pc, #224]  ; (80022c4 <HAL_RCC_OscConfig+0x280>)
- 80021e2:      f043 0301       orr.w   r3, r3, #1
- 80021e6:      6013            str     r3, [r2, #0]
+ 800220c:      4b39            ldr     r3, [pc, #228]  ; (80022f4 <HAL_RCC_OscConfig+0x280>)
+ 800220e:      681b            ldr     r3, [r3, #0]
+ 8002210:      4a38            ldr     r2, [pc, #224]  ; (80022f4 <HAL_RCC_OscConfig+0x280>)
+ 8002212:      f043 0301       orr.w   r3, r3, #1
+ 8002216:      6013            str     r3, [r2, #0]
 
         /* Get Start Tick*/
         tickstart = HAL_GetTick();
- 80021e8:      f7ff fc10       bl      8001a0c <HAL_GetTick>
- 80021ec:      6138            str     r0, [r7, #16]
+ 8002218:      f7ff fc10       bl      8001a3c <HAL_GetTick>
+ 800221c:      6138            str     r0, [r7, #16]
 
         /* Wait till HSI is ready */
         while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET)
- 80021ee:      e008            b.n     8002202 <HAL_RCC_OscConfig+0x1be>
+ 800221e:      e008            b.n     8002232 <HAL_RCC_OscConfig+0x1be>
         {
           if((HAL_GetTick() - tickstart ) > HSI_TIMEOUT_VALUE)
- 80021f0:      f7ff fc0c       bl      8001a0c <HAL_GetTick>
- 80021f4:      4602            mov     r2, r0
- 80021f6:      693b            ldr     r3, [r7, #16]
- 80021f8:      1ad3            subs    r3, r2, r3
- 80021fa:      2b02            cmp     r3, #2
- 80021fc:      d901            bls.n   8002202 <HAL_RCC_OscConfig+0x1be>
+ 8002220:      f7ff fc0c       bl      8001a3c <HAL_GetTick>
+ 8002224:      4602            mov     r2, r0
+ 8002226:      693b            ldr     r3, [r7, #16]
+ 8002228:      1ad3            subs    r3, r2, r3
+ 800222a:      2b02            cmp     r3, #2
+ 800222c:      d901            bls.n   8002232 <HAL_RCC_OscConfig+0x1be>
           {
             return HAL_TIMEOUT;
- 80021fe:      2303            movs    r3, #3
- 8002200:      e18a            b.n     8002518 <HAL_RCC_OscConfig+0x4d4>
+ 800222e:      2303            movs    r3, #3
+ 8002230:      e18a            b.n     8002548 <HAL_RCC_OscConfig+0x4d4>
         while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET)
- 8002202:      4b30            ldr     r3, [pc, #192]  ; (80022c4 <HAL_RCC_OscConfig+0x280>)
- 8002204:      681b            ldr     r3, [r3, #0]
- 8002206:      f003 0302       and.w   r3, r3, #2
- 800220a:      2b00            cmp     r3, #0
- 800220c:      d0f0            beq.n   80021f0 <HAL_RCC_OscConfig+0x1ac>
+ 8002232:      4b30            ldr     r3, [pc, #192]  ; (80022f4 <HAL_RCC_OscConfig+0x280>)
+ 8002234:      681b            ldr     r3, [r3, #0]
+ 8002236:      f003 0302       and.w   r3, r3, #2
+ 800223a:      2b00            cmp     r3, #0
+ 800223c:      d0f0            beq.n   8002220 <HAL_RCC_OscConfig+0x1ac>
           }
         }
 
         /* Adjusts the Internal High Speed oscillator (HSI) calibration value.*/
         __HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->HSICalibrationValue);
- 800220e:      4b2d            ldr     r3, [pc, #180]  ; (80022c4 <HAL_RCC_OscConfig+0x280>)
- 8002210:      681b            ldr     r3, [r3, #0]
- 8002212:      f023 02f8       bic.w   r2, r3, #248    ; 0xf8
- 8002216:      687b            ldr     r3, [r7, #4]
- 8002218:      691b            ldr     r3, [r3, #16]
- 800221a:      00db            lsls    r3, r3, #3
- 800221c:      4929            ldr     r1, [pc, #164]  ; (80022c4 <HAL_RCC_OscConfig+0x280>)
- 800221e:      4313            orrs    r3, r2
- 8002220:      600b            str     r3, [r1, #0]
- 8002222:      e018            b.n     8002256 <HAL_RCC_OscConfig+0x212>
+ 800223e:      4b2d            ldr     r3, [pc, #180]  ; (80022f4 <HAL_RCC_OscConfig+0x280>)
+ 8002240:      681b            ldr     r3, [r3, #0]
+ 8002242:      f023 02f8       bic.w   r2, r3, #248    ; 0xf8
+ 8002246:      687b            ldr     r3, [r7, #4]
+ 8002248:      691b            ldr     r3, [r3, #16]
+ 800224a:      00db            lsls    r3, r3, #3
+ 800224c:      4929            ldr     r1, [pc, #164]  ; (80022f4 <HAL_RCC_OscConfig+0x280>)
+ 800224e:      4313            orrs    r3, r2
+ 8002250:      600b            str     r3, [r1, #0]
+ 8002252:      e018            b.n     8002286 <HAL_RCC_OscConfig+0x212>
       }
       else
       {
         /* Disable the Internal High Speed oscillator (HSI). */
         __HAL_RCC_HSI_DISABLE();
- 8002224:      4b27            ldr     r3, [pc, #156]  ; (80022c4 <HAL_RCC_OscConfig+0x280>)
- 8002226:      681b            ldr     r3, [r3, #0]
- 8002228:      4a26            ldr     r2, [pc, #152]  ; (80022c4 <HAL_RCC_OscConfig+0x280>)
- 800222a:      f023 0301       bic.w   r3, r3, #1
- 800222e:      6013            str     r3, [r2, #0]
+ 8002254:      4b27            ldr     r3, [pc, #156]  ; (80022f4 <HAL_RCC_OscConfig+0x280>)
+ 8002256:      681b            ldr     r3, [r3, #0]
+ 8002258:      4a26            ldr     r2, [pc, #152]  ; (80022f4 <HAL_RCC_OscConfig+0x280>)
+ 800225a:      f023 0301       bic.w   r3, r3, #1
+ 800225e:      6013            str     r3, [r2, #0]
 
         /* Get Start Tick*/
         tickstart = HAL_GetTick();
- 8002230:      f7ff fbec       bl      8001a0c <HAL_GetTick>
- 8002234:      6138            str     r0, [r7, #16]
+ 8002260:      f7ff fbec       bl      8001a3c <HAL_GetTick>
+ 8002264:      6138            str     r0, [r7, #16]
 
         /* Wait till HSI is ready */
         while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET)
- 8002236:      e008            b.n     800224a <HAL_RCC_OscConfig+0x206>
+ 8002266:      e008            b.n     800227a <HAL_RCC_OscConfig+0x206>
         {
           if((HAL_GetTick() - tickstart ) > HSI_TIMEOUT_VALUE)
- 8002238:      f7ff fbe8       bl      8001a0c <HAL_GetTick>
- 800223c:      4602            mov     r2, r0
- 800223e:      693b            ldr     r3, [r7, #16]
- 8002240:      1ad3            subs    r3, r2, r3
- 8002242:      2b02            cmp     r3, #2
- 8002244:      d901            bls.n   800224a <HAL_RCC_OscConfig+0x206>
+ 8002268:      f7ff fbe8       bl      8001a3c <HAL_GetTick>
+ 800226c:      4602            mov     r2, r0
+ 800226e:      693b            ldr     r3, [r7, #16]
+ 8002270:      1ad3            subs    r3, r2, r3
+ 8002272:      2b02            cmp     r3, #2
+ 8002274:      d901            bls.n   800227a <HAL_RCC_OscConfig+0x206>
           {
             return HAL_TIMEOUT;
- 8002246:      2303            movs    r3, #3
- 8002248:      e166            b.n     8002518 <HAL_RCC_OscConfig+0x4d4>
+ 8002276:      2303            movs    r3, #3
+ 8002278:      e166            b.n     8002548 <HAL_RCC_OscConfig+0x4d4>
         while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET)
- 800224a:      4b1e            ldr     r3, [pc, #120]  ; (80022c4 <HAL_RCC_OscConfig+0x280>)
- 800224c:      681b            ldr     r3, [r3, #0]
- 800224e:      f003 0302       and.w   r3, r3, #2
- 8002252:      2b00            cmp     r3, #0
- 8002254:      d1f0            bne.n   8002238 <HAL_RCC_OscConfig+0x1f4>
+ 800227a:      4b1e            ldr     r3, [pc, #120]  ; (80022f4 <HAL_RCC_OscConfig+0x280>)
+ 800227c:      681b            ldr     r3, [r3, #0]
+ 800227e:      f003 0302       and.w   r3, r3, #2
+ 8002282:      2b00            cmp     r3, #0
+ 8002284:      d1f0            bne.n   8002268 <HAL_RCC_OscConfig+0x1f4>
         }
       }
     }
   }
   /*------------------------------ LSI Configuration -------------------------*/
   if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_LSI) == RCC_OSCILLATORTYPE_LSI)
- 8002256:      687b            ldr     r3, [r7, #4]
- 8002258:      681b            ldr     r3, [r3, #0]
- 800225a:      f003 0308       and.w   r3, r3, #8
- 800225e:      2b00            cmp     r3, #0
- 8002260:      d038            beq.n   80022d4 <HAL_RCC_OscConfig+0x290>
+ 8002286:      687b            ldr     r3, [r7, #4]
+ 8002288:      681b            ldr     r3, [r3, #0]
+ 800228a:      f003 0308       and.w   r3, r3, #8
+ 800228e:      2b00            cmp     r3, #0
+ 8002290:      d038            beq.n   8002304 <HAL_RCC_OscConfig+0x290>
   {
     /* Check the parameters */
     assert_param(IS_RCC_LSI(RCC_OscInitStruct->LSIState));
 
     /* Check the LSI State */
     if((RCC_OscInitStruct->LSIState)!= RCC_LSI_OFF)
- 8002262:      687b            ldr     r3, [r7, #4]
- 8002264:      695b            ldr     r3, [r3, #20]
- 8002266:      2b00            cmp     r3, #0
- 8002268:      d019            beq.n   800229e <HAL_RCC_OscConfig+0x25a>
+ 8002292:      687b            ldr     r3, [r7, #4]
+ 8002294:      695b            ldr     r3, [r3, #20]
+ 8002296:      2b00            cmp     r3, #0
+ 8002298:      d019            beq.n   80022ce <HAL_RCC_OscConfig+0x25a>
     {
       /* Enable the Internal Low Speed oscillator (LSI). */
       __HAL_RCC_LSI_ENABLE();
- 800226a:      4b16            ldr     r3, [pc, #88]   ; (80022c4 <HAL_RCC_OscConfig+0x280>)
- 800226c:      6f5b            ldr     r3, [r3, #116]  ; 0x74
- 800226e:      4a15            ldr     r2, [pc, #84]   ; (80022c4 <HAL_RCC_OscConfig+0x280>)
- 8002270:      f043 0301       orr.w   r3, r3, #1
- 8002274:      6753            str     r3, [r2, #116]  ; 0x74
+ 800229a:      4b16            ldr     r3, [pc, #88]   ; (80022f4 <HAL_RCC_OscConfig+0x280>)
+ 800229c:      6f5b            ldr     r3, [r3, #116]  ; 0x74
+ 800229e:      4a15            ldr     r2, [pc, #84]   ; (80022f4 <HAL_RCC_OscConfig+0x280>)
+ 80022a0:      f043 0301       orr.w   r3, r3, #1
+ 80022a4:      6753            str     r3, [r2, #116]  ; 0x74
 
       /* Get Start Tick*/
       tickstart = HAL_GetTick();
- 8002276:      f7ff fbc9       bl      8001a0c <HAL_GetTick>
- 800227a:      6138            str     r0, [r7, #16]
+ 80022a6:      f7ff fbc9       bl      8001a3c <HAL_GetTick>
+ 80022aa:      6138            str     r0, [r7, #16]
 
       /* Wait till LSI is ready */
       while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) == RESET)
- 800227c:      e008            b.n     8002290 <HAL_RCC_OscConfig+0x24c>
+ 80022ac:      e008            b.n     80022c0 <HAL_RCC_OscConfig+0x24c>
       {
         if((HAL_GetTick() - tickstart ) > LSI_TIMEOUT_VALUE)
- 800227e:      f7ff fbc5       bl      8001a0c <HAL_GetTick>
- 8002282:      4602            mov     r2, r0
- 8002284:      693b            ldr     r3, [r7, #16]
- 8002286:      1ad3            subs    r3, r2, r3
- 8002288:      2b02            cmp     r3, #2
- 800228a:      d901            bls.n   8002290 <HAL_RCC_OscConfig+0x24c>
+ 80022ae:      f7ff fbc5       bl      8001a3c <HAL_GetTick>
+ 80022b2:      4602            mov     r2, r0
+ 80022b4:      693b            ldr     r3, [r7, #16]
+ 80022b6:      1ad3            subs    r3, r2, r3
+ 80022b8:      2b02            cmp     r3, #2
+ 80022ba:      d901            bls.n   80022c0 <HAL_RCC_OscConfig+0x24c>
         {
           return HAL_TIMEOUT;
- 800228c:      2303            movs    r3, #3
- 800228e:      e143            b.n     8002518 <HAL_RCC_OscConfig+0x4d4>
+ 80022bc:      2303            movs    r3, #3
+ 80022be:      e143            b.n     8002548 <HAL_RCC_OscConfig+0x4d4>
       while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) == RESET)
- 8002290:      4b0c            ldr     r3, [pc, #48]   ; (80022c4 <HAL_RCC_OscConfig+0x280>)
- 8002292:      6f5b            ldr     r3, [r3, #116]  ; 0x74
- 8002294:      f003 0302       and.w   r3, r3, #2
- 8002298:      2b00            cmp     r3, #0
- 800229a:      d0f0            beq.n   800227e <HAL_RCC_OscConfig+0x23a>
- 800229c:      e01a            b.n     80022d4 <HAL_RCC_OscConfig+0x290>
+ 80022c0:      4b0c            ldr     r3, [pc, #48]   ; (80022f4 <HAL_RCC_OscConfig+0x280>)
+ 80022c2:      6f5b            ldr     r3, [r3, #116]  ; 0x74
+ 80022c4:      f003 0302       and.w   r3, r3, #2
+ 80022c8:      2b00            cmp     r3, #0
+ 80022ca:      d0f0            beq.n   80022ae <HAL_RCC_OscConfig+0x23a>
+ 80022cc:      e01a            b.n     8002304 <HAL_RCC_OscConfig+0x290>
       }
     }
     else
     {
       /* Disable the Internal Low Speed oscillator (LSI). */
       __HAL_RCC_LSI_DISABLE();
- 800229e:      4b09            ldr     r3, [pc, #36]   ; (80022c4 <HAL_RCC_OscConfig+0x280>)
- 80022a0:      6f5b            ldr     r3, [r3, #116]  ; 0x74
- 80022a2:      4a08            ldr     r2, [pc, #32]   ; (80022c4 <HAL_RCC_OscConfig+0x280>)
- 80022a4:      f023 0301       bic.w   r3, r3, #1
- 80022a8:      6753            str     r3, [r2, #116]  ; 0x74
+ 80022ce:      4b09            ldr     r3, [pc, #36]   ; (80022f4 <HAL_RCC_OscConfig+0x280>)
+ 80022d0:      6f5b            ldr     r3, [r3, #116]  ; 0x74
+ 80022d2:      4a08            ldr     r2, [pc, #32]   ; (80022f4 <HAL_RCC_OscConfig+0x280>)
+ 80022d4:      f023 0301       bic.w   r3, r3, #1
+ 80022d8:      6753            str     r3, [r2, #116]  ; 0x74
 
       /* Get Start Tick*/
       tickstart = HAL_GetTick();
- 80022aa:      f7ff fbaf       bl      8001a0c <HAL_GetTick>
- 80022ae:      6138            str     r0, [r7, #16]
+ 80022da:      f7ff fbaf       bl      8001a3c <HAL_GetTick>
+ 80022de:      6138            str     r0, [r7, #16]
 
       /* Wait till LSI is ready */
       while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) != RESET)
- 80022b0:      e00a            b.n     80022c8 <HAL_RCC_OscConfig+0x284>
+ 80022e0:      e00a            b.n     80022f8 <HAL_RCC_OscConfig+0x284>
       {
         if((HAL_GetTick() - tickstart ) > LSI_TIMEOUT_VALUE)
- 80022b2:      f7ff fbab       bl      8001a0c <HAL_GetTick>
- 80022b6:      4602            mov     r2, r0
- 80022b8:      693b            ldr     r3, [r7, #16]
- 80022ba:      1ad3            subs    r3, r2, r3
- 80022bc:      2b02            cmp     r3, #2
- 80022be:      d903            bls.n   80022c8 <HAL_RCC_OscConfig+0x284>
+ 80022e2:      f7ff fbab       bl      8001a3c <HAL_GetTick>
+ 80022e6:      4602            mov     r2, r0
+ 80022e8:      693b            ldr     r3, [r7, #16]
+ 80022ea:      1ad3            subs    r3, r2, r3
+ 80022ec:      2b02            cmp     r3, #2
+ 80022ee:      d903            bls.n   80022f8 <HAL_RCC_OscConfig+0x284>
         {
           return HAL_TIMEOUT;
- 80022c0:      2303            movs    r3, #3
- 80022c2:      e129            b.n     8002518 <HAL_RCC_OscConfig+0x4d4>
- 80022c4:      40023800        .word   0x40023800
+ 80022f0:      2303            movs    r3, #3
+ 80022f2:      e129            b.n     8002548 <HAL_RCC_OscConfig+0x4d4>
+ 80022f4:      40023800        .word   0x40023800
       while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) != RESET)
- 80022c8:      4b95            ldr     r3, [pc, #596]  ; (8002520 <HAL_RCC_OscConfig+0x4dc>)
- 80022ca:      6f5b            ldr     r3, [r3, #116]  ; 0x74
- 80022cc:      f003 0302       and.w   r3, r3, #2
- 80022d0:      2b00            cmp     r3, #0
- 80022d2:      d1ee            bne.n   80022b2 <HAL_RCC_OscConfig+0x26e>
+ 80022f8:      4b95            ldr     r3, [pc, #596]  ; (8002550 <HAL_RCC_OscConfig+0x4dc>)
+ 80022fa:      6f5b            ldr     r3, [r3, #116]  ; 0x74
+ 80022fc:      f003 0302       and.w   r3, r3, #2
+ 8002300:      2b00            cmp     r3, #0
+ 8002302:      d1ee            bne.n   80022e2 <HAL_RCC_OscConfig+0x26e>
         }
       }
     }
   }
   /*------------------------------ LSE Configuration -------------------------*/
   if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_LSE) == RCC_OSCILLATORTYPE_LSE)
- 80022d4:      687b            ldr     r3, [r7, #4]
- 80022d6:      681b            ldr     r3, [r3, #0]
- 80022d8:      f003 0304       and.w   r3, r3, #4
- 80022dc:      2b00            cmp     r3, #0
- 80022de:      f000 80a4       beq.w   800242a <HAL_RCC_OscConfig+0x3e6>
+ 8002304:      687b            ldr     r3, [r7, #4]
+ 8002306:      681b            ldr     r3, [r3, #0]
+ 8002308:      f003 0304       and.w   r3, r3, #4
+ 800230c:      2b00            cmp     r3, #0
+ 800230e:      f000 80a4       beq.w   800245a <HAL_RCC_OscConfig+0x3e6>
     /* Check the parameters */
     assert_param(IS_RCC_LSE(RCC_OscInitStruct->LSEState));
 
     /* Update LSE configuration in Backup Domain control register    */
     /* Requires to enable write access to Backup Domain of necessary */
     if(__HAL_RCC_PWR_IS_CLK_DISABLED())
- 80022e2:      4b8f            ldr     r3, [pc, #572]  ; (8002520 <HAL_RCC_OscConfig+0x4dc>)
- 80022e4:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 80022e6:      f003 5380       and.w   r3, r3, #268435456      ; 0x10000000
- 80022ea:      2b00            cmp     r3, #0
- 80022ec:      d10d            bne.n   800230a <HAL_RCC_OscConfig+0x2c6>
+ 8002312:      4b8f            ldr     r3, [pc, #572]  ; (8002550 <HAL_RCC_OscConfig+0x4dc>)
+ 8002314:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 8002316:      f003 5380       and.w   r3, r3, #268435456      ; 0x10000000
+ 800231a:      2b00            cmp     r3, #0
+ 800231c:      d10d            bne.n   800233a <HAL_RCC_OscConfig+0x2c6>
     {
       /* Enable Power Clock*/
       __HAL_RCC_PWR_CLK_ENABLE();
- 80022ee:      4b8c            ldr     r3, [pc, #560]  ; (8002520 <HAL_RCC_OscConfig+0x4dc>)
- 80022f0:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 80022f2:      4a8b            ldr     r2, [pc, #556]  ; (8002520 <HAL_RCC_OscConfig+0x4dc>)
- 80022f4:      f043 5380       orr.w   r3, r3, #268435456      ; 0x10000000
- 80022f8:      6413            str     r3, [r2, #64]   ; 0x40
- 80022fa:      4b89            ldr     r3, [pc, #548]  ; (8002520 <HAL_RCC_OscConfig+0x4dc>)
- 80022fc:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 80022fe:      f003 5380       and.w   r3, r3, #268435456      ; 0x10000000
- 8002302:      60fb            str     r3, [r7, #12]
- 8002304:      68fb            ldr     r3, [r7, #12]
+ 800231e:      4b8c            ldr     r3, [pc, #560]  ; (8002550 <HAL_RCC_OscConfig+0x4dc>)
+ 8002320:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 8002322:      4a8b            ldr     r2, [pc, #556]  ; (8002550 <HAL_RCC_OscConfig+0x4dc>)
+ 8002324:      f043 5380       orr.w   r3, r3, #268435456      ; 0x10000000
+ 8002328:      6413            str     r3, [r2, #64]   ; 0x40
+ 800232a:      4b89            ldr     r3, [pc, #548]  ; (8002550 <HAL_RCC_OscConfig+0x4dc>)
+ 800232c:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 800232e:      f003 5380       and.w   r3, r3, #268435456      ; 0x10000000
+ 8002332:      60fb            str     r3, [r7, #12]
+ 8002334:      68fb            ldr     r3, [r7, #12]
       pwrclkchanged = SET;
- 8002306:      2301            movs    r3, #1
- 8002308:      75fb            strb    r3, [r7, #23]
+ 8002336:      2301            movs    r3, #1
+ 8002338:      75fb            strb    r3, [r7, #23]
     }
 
     if(HAL_IS_BIT_CLR(PWR->CR1, PWR_CR1_DBP))
- 800230a:      4b86            ldr     r3, [pc, #536]  ; (8002524 <HAL_RCC_OscConfig+0x4e0>)
- 800230c:      681b            ldr     r3, [r3, #0]
- 800230e:      f403 7380       and.w   r3, r3, #256    ; 0x100
- 8002312:      2b00            cmp     r3, #0
- 8002314:      d118            bne.n   8002348 <HAL_RCC_OscConfig+0x304>
+ 800233a:      4b86            ldr     r3, [pc, #536]  ; (8002554 <HAL_RCC_OscConfig+0x4e0>)
+ 800233c:      681b            ldr     r3, [r3, #0]
+ 800233e:      f403 7380       and.w   r3, r3, #256    ; 0x100
+ 8002342:      2b00            cmp     r3, #0
+ 8002344:      d118            bne.n   8002378 <HAL_RCC_OscConfig+0x304>
     {
       /* Enable write access to Backup domain */
       PWR->CR1 |= PWR_CR1_DBP;
- 8002316:      4b83            ldr     r3, [pc, #524]  ; (8002524 <HAL_RCC_OscConfig+0x4e0>)
- 8002318:      681b            ldr     r3, [r3, #0]
- 800231a:      4a82            ldr     r2, [pc, #520]  ; (8002524 <HAL_RCC_OscConfig+0x4e0>)
- 800231c:      f443 7380       orr.w   r3, r3, #256    ; 0x100
- 8002320:      6013            str     r3, [r2, #0]
+ 8002346:      4b83            ldr     r3, [pc, #524]  ; (8002554 <HAL_RCC_OscConfig+0x4e0>)
+ 8002348:      681b            ldr     r3, [r3, #0]
+ 800234a:      4a82            ldr     r2, [pc, #520]  ; (8002554 <HAL_RCC_OscConfig+0x4e0>)
+ 800234c:      f443 7380       orr.w   r3, r3, #256    ; 0x100
+ 8002350:      6013            str     r3, [r2, #0]
 
       /* Wait for Backup domain Write protection disable */
       tickstart = HAL_GetTick();
- 8002322:      f7ff fb73       bl      8001a0c <HAL_GetTick>
- 8002326:      6138            str     r0, [r7, #16]
+ 8002352:      f7ff fb73       bl      8001a3c <HAL_GetTick>
+ 8002356:      6138            str     r0, [r7, #16]
 
       while(HAL_IS_BIT_CLR(PWR->CR1, PWR_CR1_DBP))
- 8002328:      e008            b.n     800233c <HAL_RCC_OscConfig+0x2f8>
+ 8002358:      e008            b.n     800236c <HAL_RCC_OscConfig+0x2f8>
       {
         if((HAL_GetTick() - tickstart ) > RCC_DBP_TIMEOUT_VALUE)
- 800232a:      f7ff fb6f       bl      8001a0c <HAL_GetTick>
- 800232e:      4602            mov     r2, r0
- 8002330:      693b            ldr     r3, [r7, #16]
- 8002332:      1ad3            subs    r3, r2, r3
- 8002334:      2b64            cmp     r3, #100        ; 0x64
- 8002336:      d901            bls.n   800233c <HAL_RCC_OscConfig+0x2f8>
+ 800235a:      f7ff fb6f       bl      8001a3c <HAL_GetTick>
+ 800235e:      4602            mov     r2, r0
+ 8002360:      693b            ldr     r3, [r7, #16]
+ 8002362:      1ad3            subs    r3, r2, r3
+ 8002364:      2b64            cmp     r3, #100        ; 0x64
+ 8002366:      d901            bls.n   800236c <HAL_RCC_OscConfig+0x2f8>
         {
           return HAL_TIMEOUT;
- 8002338:      2303            movs    r3, #3
- 800233a:      e0ed            b.n     8002518 <HAL_RCC_OscConfig+0x4d4>
+ 8002368:      2303            movs    r3, #3
+ 800236a:      e0ed            b.n     8002548 <HAL_RCC_OscConfig+0x4d4>
       while(HAL_IS_BIT_CLR(PWR->CR1, PWR_CR1_DBP))
- 800233c:      4b79            ldr     r3, [pc, #484]  ; (8002524 <HAL_RCC_OscConfig+0x4e0>)
- 800233e:      681b            ldr     r3, [r3, #0]
- 8002340:      f403 7380       and.w   r3, r3, #256    ; 0x100
- 8002344:      2b00            cmp     r3, #0
- 8002346:      d0f0            beq.n   800232a <HAL_RCC_OscConfig+0x2e6>
+ 800236c:      4b79            ldr     r3, [pc, #484]  ; (8002554 <HAL_RCC_OscConfig+0x4e0>)
+ 800236e:      681b            ldr     r3, [r3, #0]
+ 8002370:      f403 7380       and.w   r3, r3, #256    ; 0x100
+ 8002374:      2b00            cmp     r3, #0
+ 8002376:      d0f0            beq.n   800235a <HAL_RCC_OscConfig+0x2e6>
         }
       }
     }
 
     /* Set the new LSE configuration -----------------------------------------*/
     __HAL_RCC_LSE_CONFIG(RCC_OscInitStruct->LSEState);
- 8002348:      687b            ldr     r3, [r7, #4]
- 800234a:      689b            ldr     r3, [r3, #8]
- 800234c:      2b01            cmp     r3, #1
- 800234e:      d106            bne.n   800235e <HAL_RCC_OscConfig+0x31a>
- 8002350:      4b73            ldr     r3, [pc, #460]  ; (8002520 <HAL_RCC_OscConfig+0x4dc>)
- 8002352:      6f1b            ldr     r3, [r3, #112]  ; 0x70
- 8002354:      4a72            ldr     r2, [pc, #456]  ; (8002520 <HAL_RCC_OscConfig+0x4dc>)
- 8002356:      f043 0301       orr.w   r3, r3, #1
- 800235a:      6713            str     r3, [r2, #112]  ; 0x70
- 800235c:      e02d            b.n     80023ba <HAL_RCC_OscConfig+0x376>
- 800235e:      687b            ldr     r3, [r7, #4]
- 8002360:      689b            ldr     r3, [r3, #8]
- 8002362:      2b00            cmp     r3, #0
- 8002364:      d10c            bne.n   8002380 <HAL_RCC_OscConfig+0x33c>
- 8002366:      4b6e            ldr     r3, [pc, #440]  ; (8002520 <HAL_RCC_OscConfig+0x4dc>)
- 8002368:      6f1b            ldr     r3, [r3, #112]  ; 0x70
- 800236a:      4a6d            ldr     r2, [pc, #436]  ; (8002520 <HAL_RCC_OscConfig+0x4dc>)
- 800236c:      f023 0301       bic.w   r3, r3, #1
- 8002370:      6713            str     r3, [r2, #112]  ; 0x70
- 8002372:      4b6b            ldr     r3, [pc, #428]  ; (8002520 <HAL_RCC_OscConfig+0x4dc>)
- 8002374:      6f1b            ldr     r3, [r3, #112]  ; 0x70
- 8002376:      4a6a            ldr     r2, [pc, #424]  ; (8002520 <HAL_RCC_OscConfig+0x4dc>)
- 8002378:      f023 0304       bic.w   r3, r3, #4
- 800237c:      6713            str     r3, [r2, #112]  ; 0x70
- 800237e:      e01c            b.n     80023ba <HAL_RCC_OscConfig+0x376>
- 8002380:      687b            ldr     r3, [r7, #4]
- 8002382:      689b            ldr     r3, [r3, #8]
- 8002384:      2b05            cmp     r3, #5
- 8002386:      d10c            bne.n   80023a2 <HAL_RCC_OscConfig+0x35e>
- 8002388:      4b65            ldr     r3, [pc, #404]  ; (8002520 <HAL_RCC_OscConfig+0x4dc>)
- 800238a:      6f1b            ldr     r3, [r3, #112]  ; 0x70
- 800238c:      4a64            ldr     r2, [pc, #400]  ; (8002520 <HAL_RCC_OscConfig+0x4dc>)
- 800238e:      f043 0304       orr.w   r3, r3, #4
- 8002392:      6713            str     r3, [r2, #112]  ; 0x70
- 8002394:      4b62            ldr     r3, [pc, #392]  ; (8002520 <HAL_RCC_OscConfig+0x4dc>)
- 8002396:      6f1b            ldr     r3, [r3, #112]  ; 0x70
- 8002398:      4a61            ldr     r2, [pc, #388]  ; (8002520 <HAL_RCC_OscConfig+0x4dc>)
- 800239a:      f043 0301       orr.w   r3, r3, #1
- 800239e:      6713            str     r3, [r2, #112]  ; 0x70
- 80023a0:      e00b            b.n     80023ba <HAL_RCC_OscConfig+0x376>
- 80023a2:      4b5f            ldr     r3, [pc, #380]  ; (8002520 <HAL_RCC_OscConfig+0x4dc>)
+ 8002378:      687b            ldr     r3, [r7, #4]
+ 800237a:      689b            ldr     r3, [r3, #8]
+ 800237c:      2b01            cmp     r3, #1
+ 800237e:      d106            bne.n   800238e <HAL_RCC_OscConfig+0x31a>
+ 8002380:      4b73            ldr     r3, [pc, #460]  ; (8002550 <HAL_RCC_OscConfig+0x4dc>)
+ 8002382:      6f1b            ldr     r3, [r3, #112]  ; 0x70
+ 8002384:      4a72            ldr     r2, [pc, #456]  ; (8002550 <HAL_RCC_OscConfig+0x4dc>)
+ 8002386:      f043 0301       orr.w   r3, r3, #1
+ 800238a:      6713            str     r3, [r2, #112]  ; 0x70
+ 800238c:      e02d            b.n     80023ea <HAL_RCC_OscConfig+0x376>
+ 800238e:      687b            ldr     r3, [r7, #4]
+ 8002390:      689b            ldr     r3, [r3, #8]
+ 8002392:      2b00            cmp     r3, #0
+ 8002394:      d10c            bne.n   80023b0 <HAL_RCC_OscConfig+0x33c>
+ 8002396:      4b6e            ldr     r3, [pc, #440]  ; (8002550 <HAL_RCC_OscConfig+0x4dc>)
+ 8002398:      6f1b            ldr     r3, [r3, #112]  ; 0x70
+ 800239a:      4a6d            ldr     r2, [pc, #436]  ; (8002550 <HAL_RCC_OscConfig+0x4dc>)
+ 800239c:      f023 0301       bic.w   r3, r3, #1
+ 80023a0:      6713            str     r3, [r2, #112]  ; 0x70
+ 80023a2:      4b6b            ldr     r3, [pc, #428]  ; (8002550 <HAL_RCC_OscConfig+0x4dc>)
  80023a4:      6f1b            ldr     r3, [r3, #112]  ; 0x70
- 80023a6:      4a5e            ldr     r2, [pc, #376]  ; (8002520 <HAL_RCC_OscConfig+0x4dc>)
- 80023a8:      f023 0301       bic.w   r3, r3, #1
+ 80023a6:      4a6a            ldr     r2, [pc, #424]  ; (8002550 <HAL_RCC_OscConfig+0x4dc>)
+ 80023a8:      f023 0304       bic.w   r3, r3, #4
  80023ac:      6713            str     r3, [r2, #112]  ; 0x70
- 80023ae:      4b5c            ldr     r3, [pc, #368]  ; (8002520 <HAL_RCC_OscConfig+0x4dc>)
- 80023b0:      6f1b            ldr     r3, [r3, #112]  ; 0x70
- 80023b2:      4a5b            ldr     r2, [pc, #364]  ; (8002520 <HAL_RCC_OscConfig+0x4dc>)
- 80023b4:      f023 0304       bic.w   r3, r3, #4
- 80023b8:      6713            str     r3, [r2, #112]  ; 0x70
+ 80023ae:      e01c            b.n     80023ea <HAL_RCC_OscConfig+0x376>
+ 80023b0:      687b            ldr     r3, [r7, #4]
+ 80023b2:      689b            ldr     r3, [r3, #8]
+ 80023b4:      2b05            cmp     r3, #5
+ 80023b6:      d10c            bne.n   80023d2 <HAL_RCC_OscConfig+0x35e>
+ 80023b8:      4b65            ldr     r3, [pc, #404]  ; (8002550 <HAL_RCC_OscConfig+0x4dc>)
+ 80023ba:      6f1b            ldr     r3, [r3, #112]  ; 0x70
+ 80023bc:      4a64            ldr     r2, [pc, #400]  ; (8002550 <HAL_RCC_OscConfig+0x4dc>)
+ 80023be:      f043 0304       orr.w   r3, r3, #4
+ 80023c2:      6713            str     r3, [r2, #112]  ; 0x70
+ 80023c4:      4b62            ldr     r3, [pc, #392]  ; (8002550 <HAL_RCC_OscConfig+0x4dc>)
+ 80023c6:      6f1b            ldr     r3, [r3, #112]  ; 0x70
+ 80023c8:      4a61            ldr     r2, [pc, #388]  ; (8002550 <HAL_RCC_OscConfig+0x4dc>)
+ 80023ca:      f043 0301       orr.w   r3, r3, #1
+ 80023ce:      6713            str     r3, [r2, #112]  ; 0x70
+ 80023d0:      e00b            b.n     80023ea <HAL_RCC_OscConfig+0x376>
+ 80023d2:      4b5f            ldr     r3, [pc, #380]  ; (8002550 <HAL_RCC_OscConfig+0x4dc>)
+ 80023d4:      6f1b            ldr     r3, [r3, #112]  ; 0x70
+ 80023d6:      4a5e            ldr     r2, [pc, #376]  ; (8002550 <HAL_RCC_OscConfig+0x4dc>)
+ 80023d8:      f023 0301       bic.w   r3, r3, #1
+ 80023dc:      6713            str     r3, [r2, #112]  ; 0x70
+ 80023de:      4b5c            ldr     r3, [pc, #368]  ; (8002550 <HAL_RCC_OscConfig+0x4dc>)
+ 80023e0:      6f1b            ldr     r3, [r3, #112]  ; 0x70
+ 80023e2:      4a5b            ldr     r2, [pc, #364]  ; (8002550 <HAL_RCC_OscConfig+0x4dc>)
+ 80023e4:      f023 0304       bic.w   r3, r3, #4
+ 80023e8:      6713            str     r3, [r2, #112]  ; 0x70
     /* Check the LSE State */
     if((RCC_OscInitStruct->LSEState) != RCC_LSE_OFF)
- 80023ba:      687b            ldr     r3, [r7, #4]
- 80023bc:      689b            ldr     r3, [r3, #8]
- 80023be:      2b00            cmp     r3, #0
- 80023c0:      d015            beq.n   80023ee <HAL_RCC_OscConfig+0x3aa>
+ 80023ea:      687b            ldr     r3, [r7, #4]
+ 80023ec:      689b            ldr     r3, [r3, #8]
+ 80023ee:      2b00            cmp     r3, #0
+ 80023f0:      d015            beq.n   800241e <HAL_RCC_OscConfig+0x3aa>
     {
       /* Get Start Tick*/
       tickstart = HAL_GetTick();
- 80023c2:      f7ff fb23       bl      8001a0c <HAL_GetTick>
- 80023c6:      6138            str     r0, [r7, #16]
+ 80023f2:      f7ff fb23       bl      8001a3c <HAL_GetTick>
+ 80023f6:      6138            str     r0, [r7, #16]
 
       /* Wait till LSE is ready */
       while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET)
- 80023c8:      e00a            b.n     80023e0 <HAL_RCC_OscConfig+0x39c>
+ 80023f8:      e00a            b.n     8002410 <HAL_RCC_OscConfig+0x39c>
       {
         if((HAL_GetTick() - tickstart ) > RCC_LSE_TIMEOUT_VALUE)
- 80023ca:      f7ff fb1f       bl      8001a0c <HAL_GetTick>
- 80023ce:      4602            mov     r2, r0
- 80023d0:      693b            ldr     r3, [r7, #16]
- 80023d2:      1ad3            subs    r3, r2, r3
- 80023d4:      f241 3288       movw    r2, #5000       ; 0x1388
- 80023d8:      4293            cmp     r3, r2
- 80023da:      d901            bls.n   80023e0 <HAL_RCC_OscConfig+0x39c>
+ 80023fa:      f7ff fb1f       bl      8001a3c <HAL_GetTick>
+ 80023fe:      4602            mov     r2, r0
+ 8002400:      693b            ldr     r3, [r7, #16]
+ 8002402:      1ad3            subs    r3, r2, r3
+ 8002404:      f241 3288       movw    r2, #5000       ; 0x1388
+ 8002408:      4293            cmp     r3, r2
+ 800240a:      d901            bls.n   8002410 <HAL_RCC_OscConfig+0x39c>
         {
           return HAL_TIMEOUT;
- 80023dc:      2303            movs    r3, #3
- 80023de:      e09b            b.n     8002518 <HAL_RCC_OscConfig+0x4d4>
+ 800240c:      2303            movs    r3, #3
+ 800240e:      e09b            b.n     8002548 <HAL_RCC_OscConfig+0x4d4>
       while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET)
- 80023e0:      4b4f            ldr     r3, [pc, #316]  ; (8002520 <HAL_RCC_OscConfig+0x4dc>)
- 80023e2:      6f1b            ldr     r3, [r3, #112]  ; 0x70
- 80023e4:      f003 0302       and.w   r3, r3, #2
- 80023e8:      2b00            cmp     r3, #0
- 80023ea:      d0ee            beq.n   80023ca <HAL_RCC_OscConfig+0x386>
- 80023ec:      e014            b.n     8002418 <HAL_RCC_OscConfig+0x3d4>
+ 8002410:      4b4f            ldr     r3, [pc, #316]  ; (8002550 <HAL_RCC_OscConfig+0x4dc>)
+ 8002412:      6f1b            ldr     r3, [r3, #112]  ; 0x70
+ 8002414:      f003 0302       and.w   r3, r3, #2
+ 8002418:      2b00            cmp     r3, #0
+ 800241a:      d0ee            beq.n   80023fa <HAL_RCC_OscConfig+0x386>
+ 800241c:      e014            b.n     8002448 <HAL_RCC_OscConfig+0x3d4>
       }
     }
     else
     {
       /* Get Start Tick*/
       tickstart = HAL_GetTick();
- 80023ee:      f7ff fb0d       bl      8001a0c <HAL_GetTick>
- 80023f2:      6138            str     r0, [r7, #16]
+ 800241e:      f7ff fb0d       bl      8001a3c <HAL_GetTick>
+ 8002422:      6138            str     r0, [r7, #16]
 
       /* Wait till LSE is ready */
       while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) != RESET)
- 80023f4:      e00a            b.n     800240c <HAL_RCC_OscConfig+0x3c8>
+ 8002424:      e00a            b.n     800243c <HAL_RCC_OscConfig+0x3c8>
       {
         if((HAL_GetTick() - tickstart ) > RCC_LSE_TIMEOUT_VALUE)
- 80023f6:      f7ff fb09       bl      8001a0c <HAL_GetTick>
- 80023fa:      4602            mov     r2, r0
- 80023fc:      693b            ldr     r3, [r7, #16]
- 80023fe:      1ad3            subs    r3, r2, r3
- 8002400:      f241 3288       movw    r2, #5000       ; 0x1388
- 8002404:      4293            cmp     r3, r2
- 8002406:      d901            bls.n   800240c <HAL_RCC_OscConfig+0x3c8>
+ 8002426:      f7ff fb09       bl      8001a3c <HAL_GetTick>
+ 800242a:      4602            mov     r2, r0
+ 800242c:      693b            ldr     r3, [r7, #16]
+ 800242e:      1ad3            subs    r3, r2, r3
+ 8002430:      f241 3288       movw    r2, #5000       ; 0x1388
+ 8002434:      4293            cmp     r3, r2
+ 8002436:      d901            bls.n   800243c <HAL_RCC_OscConfig+0x3c8>
         {
           return HAL_TIMEOUT;
- 8002408:      2303            movs    r3, #3
- 800240a:      e085            b.n     8002518 <HAL_RCC_OscConfig+0x4d4>
+ 8002438:      2303            movs    r3, #3
+ 800243a:      e085            b.n     8002548 <HAL_RCC_OscConfig+0x4d4>
       while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) != RESET)
- 800240c:      4b44            ldr     r3, [pc, #272]  ; (8002520 <HAL_RCC_OscConfig+0x4dc>)
- 800240e:      6f1b            ldr     r3, [r3, #112]  ; 0x70
- 8002410:      f003 0302       and.w   r3, r3, #2
- 8002414:      2b00            cmp     r3, #0
- 8002416:      d1ee            bne.n   80023f6 <HAL_RCC_OscConfig+0x3b2>
+ 800243c:      4b44            ldr     r3, [pc, #272]  ; (8002550 <HAL_RCC_OscConfig+0x4dc>)
+ 800243e:      6f1b            ldr     r3, [r3, #112]  ; 0x70
+ 8002440:      f003 0302       and.w   r3, r3, #2
+ 8002444:      2b00            cmp     r3, #0
+ 8002446:      d1ee            bne.n   8002426 <HAL_RCC_OscConfig+0x3b2>
         }
       }
     }
 
     /* Restore clock configuration if changed */
     if(pwrclkchanged == SET)
- 8002418:      7dfb            ldrb    r3, [r7, #23]
- 800241a:      2b01            cmp     r3, #1
- 800241c:      d105            bne.n   800242a <HAL_RCC_OscConfig+0x3e6>
+ 8002448:      7dfb            ldrb    r3, [r7, #23]
+ 800244a:      2b01            cmp     r3, #1
+ 800244c:      d105            bne.n   800245a <HAL_RCC_OscConfig+0x3e6>
     {
       __HAL_RCC_PWR_CLK_DISABLE();
- 800241e:      4b40            ldr     r3, [pc, #256]  ; (8002520 <HAL_RCC_OscConfig+0x4dc>)
- 8002420:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 8002422:      4a3f            ldr     r2, [pc, #252]  ; (8002520 <HAL_RCC_OscConfig+0x4dc>)
- 8002424:      f023 5380       bic.w   r3, r3, #268435456      ; 0x10000000
- 8002428:      6413            str     r3, [r2, #64]   ; 0x40
+ 800244e:      4b40            ldr     r3, [pc, #256]  ; (8002550 <HAL_RCC_OscConfig+0x4dc>)
+ 8002450:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 8002452:      4a3f            ldr     r2, [pc, #252]  ; (8002550 <HAL_RCC_OscConfig+0x4dc>)
+ 8002454:      f023 5380       bic.w   r3, r3, #268435456      ; 0x10000000
+ 8002458:      6413            str     r3, [r2, #64]   ; 0x40
     }
   }
   /*-------------------------------- PLL Configuration -----------------------*/
   /* Check the parameters */
   assert_param(IS_RCC_PLL(RCC_OscInitStruct->PLL.PLLState));
   if ((RCC_OscInitStruct->PLL.PLLState) != RCC_PLL_NONE)
- 800242a:      687b            ldr     r3, [r7, #4]
- 800242c:      699b            ldr     r3, [r3, #24]
- 800242e:      2b00            cmp     r3, #0
- 8002430:      d071            beq.n   8002516 <HAL_RCC_OscConfig+0x4d2>
+ 800245a:      687b            ldr     r3, [r7, #4]
+ 800245c:      699b            ldr     r3, [r3, #24]
+ 800245e:      2b00            cmp     r3, #0
+ 8002460:      d071            beq.n   8002546 <HAL_RCC_OscConfig+0x4d2>
   {
     /* Check if the PLL is used as system clock or not */
     if(__HAL_RCC_GET_SYSCLK_SOURCE() != RCC_SYSCLKSOURCE_STATUS_PLLCLK)
- 8002432:      4b3b            ldr     r3, [pc, #236]  ; (8002520 <HAL_RCC_OscConfig+0x4dc>)
- 8002434:      689b            ldr     r3, [r3, #8]
- 8002436:      f003 030c       and.w   r3, r3, #12
- 800243a:      2b08            cmp     r3, #8
- 800243c:      d069            beq.n   8002512 <HAL_RCC_OscConfig+0x4ce>
+ 8002462:      4b3b            ldr     r3, [pc, #236]  ; (8002550 <HAL_RCC_OscConfig+0x4dc>)
+ 8002464:      689b            ldr     r3, [r3, #8]
+ 8002466:      f003 030c       and.w   r3, r3, #12
+ 800246a:      2b08            cmp     r3, #8
+ 800246c:      d069            beq.n   8002542 <HAL_RCC_OscConfig+0x4ce>
     {
       if((RCC_OscInitStruct->PLL.PLLState) == RCC_PLL_ON)
- 800243e:      687b            ldr     r3, [r7, #4]
- 8002440:      699b            ldr     r3, [r3, #24]
- 8002442:      2b02            cmp     r3, #2
- 8002444:      d14b            bne.n   80024de <HAL_RCC_OscConfig+0x49a>
+ 800246e:      687b            ldr     r3, [r7, #4]
+ 8002470:      699b            ldr     r3, [r3, #24]
+ 8002472:      2b02            cmp     r3, #2
+ 8002474:      d14b            bne.n   800250e <HAL_RCC_OscConfig+0x49a>
 #if defined (RCC_PLLCFGR_PLLR)
         assert_param(IS_RCC_PLLR_VALUE(RCC_OscInitStruct->PLL.PLLR));
 #endif
 
         /* Disable the main PLL. */
         __HAL_RCC_PLL_DISABLE();
- 8002446:      4b36            ldr     r3, [pc, #216]  ; (8002520 <HAL_RCC_OscConfig+0x4dc>)
- 8002448:      681b            ldr     r3, [r3, #0]
- 800244a:      4a35            ldr     r2, [pc, #212]  ; (8002520 <HAL_RCC_OscConfig+0x4dc>)
- 800244c:      f023 7380       bic.w   r3, r3, #16777216       ; 0x1000000
- 8002450:      6013            str     r3, [r2, #0]
+ 8002476:      4b36            ldr     r3, [pc, #216]  ; (8002550 <HAL_RCC_OscConfig+0x4dc>)
+ 8002478:      681b            ldr     r3, [r3, #0]
+ 800247a:      4a35            ldr     r2, [pc, #212]  ; (8002550 <HAL_RCC_OscConfig+0x4dc>)
+ 800247c:      f023 7380       bic.w   r3, r3, #16777216       ; 0x1000000
+ 8002480:      6013            str     r3, [r2, #0]
 
         /* Get Start Tick*/
         tickstart = HAL_GetTick();
- 8002452:      f7ff fadb       bl      8001a0c <HAL_GetTick>
- 8002456:      6138            str     r0, [r7, #16]
+ 8002482:      f7ff fadb       bl      8001a3c <HAL_GetTick>
+ 8002486:      6138            str     r0, [r7, #16]
 
         /* Wait till PLL is ready */
         while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET)
- 8002458:      e008            b.n     800246c <HAL_RCC_OscConfig+0x428>
+ 8002488:      e008            b.n     800249c <HAL_RCC_OscConfig+0x428>
         {
           if((HAL_GetTick() - tickstart ) > PLL_TIMEOUT_VALUE)
- 800245a:      f7ff fad7       bl      8001a0c <HAL_GetTick>
- 800245e:      4602            mov     r2, r0
- 8002460:      693b            ldr     r3, [r7, #16]
- 8002462:      1ad3            subs    r3, r2, r3
- 8002464:      2b02            cmp     r3, #2
- 8002466:      d901            bls.n   800246c <HAL_RCC_OscConfig+0x428>
+ 800248a:      f7ff fad7       bl      8001a3c <HAL_GetTick>
+ 800248e:      4602            mov     r2, r0
+ 8002490:      693b            ldr     r3, [r7, #16]
+ 8002492:      1ad3            subs    r3, r2, r3
+ 8002494:      2b02            cmp     r3, #2
+ 8002496:      d901            bls.n   800249c <HAL_RCC_OscConfig+0x428>
           {
             return HAL_TIMEOUT;
- 8002468:      2303            movs    r3, #3
- 800246a:      e055            b.n     8002518 <HAL_RCC_OscConfig+0x4d4>
+ 8002498:      2303            movs    r3, #3
+ 800249a:      e055            b.n     8002548 <HAL_RCC_OscConfig+0x4d4>
         while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET)
- 800246c:      4b2c            ldr     r3, [pc, #176]  ; (8002520 <HAL_RCC_OscConfig+0x4dc>)
- 800246e:      681b            ldr     r3, [r3, #0]
- 8002470:      f003 7300       and.w   r3, r3, #33554432       ; 0x2000000
- 8002474:      2b00            cmp     r3, #0
- 8002476:      d1f0            bne.n   800245a <HAL_RCC_OscConfig+0x416>
+ 800249c:      4b2c            ldr     r3, [pc, #176]  ; (8002550 <HAL_RCC_OscConfig+0x4dc>)
+ 800249e:      681b            ldr     r3, [r3, #0]
+ 80024a0:      f003 7300       and.w   r3, r3, #33554432       ; 0x2000000
+ 80024a4:      2b00            cmp     r3, #0
+ 80024a6:      d1f0            bne.n   800248a <HAL_RCC_OscConfig+0x416>
           }
         }
 
         /* Configure the main PLL clock source, multiplication and division factors. */
 #if defined (RCC_PLLCFGR_PLLR)
         __HAL_RCC_PLL_CONFIG(RCC_OscInitStruct->PLL.PLLSource,
- 8002478:      687b            ldr     r3, [r7, #4]
- 800247a:      69da            ldr     r2, [r3, #28]
- 800247c:      687b            ldr     r3, [r7, #4]
- 800247e:      6a1b            ldr     r3, [r3, #32]
- 8002480:      431a            orrs    r2, r3
- 8002482:      687b            ldr     r3, [r7, #4]
- 8002484:      6a5b            ldr     r3, [r3, #36]   ; 0x24
- 8002486:      019b            lsls    r3, r3, #6
- 8002488:      431a            orrs    r2, r3
- 800248a:      687b            ldr     r3, [r7, #4]
- 800248c:      6a9b            ldr     r3, [r3, #40]   ; 0x28
- 800248e:      085b            lsrs    r3, r3, #1
- 8002490:      3b01            subs    r3, #1
- 8002492:      041b            lsls    r3, r3, #16
- 8002494:      431a            orrs    r2, r3
- 8002496:      687b            ldr     r3, [r7, #4]
- 8002498:      6adb            ldr     r3, [r3, #44]   ; 0x2c
- 800249a:      061b            lsls    r3, r3, #24
- 800249c:      431a            orrs    r2, r3
- 800249e:      687b            ldr     r3, [r7, #4]
- 80024a0:      6b1b            ldr     r3, [r3, #48]   ; 0x30
- 80024a2:      071b            lsls    r3, r3, #28
- 80024a4:      491e            ldr     r1, [pc, #120]  ; (8002520 <HAL_RCC_OscConfig+0x4dc>)
- 80024a6:      4313            orrs    r3, r2
- 80024a8:      604b            str     r3, [r1, #4]
+ 80024a8:      687b            ldr     r3, [r7, #4]
+ 80024aa:      69da            ldr     r2, [r3, #28]
+ 80024ac:      687b            ldr     r3, [r7, #4]
+ 80024ae:      6a1b            ldr     r3, [r3, #32]
+ 80024b0:      431a            orrs    r2, r3
+ 80024b2:      687b            ldr     r3, [r7, #4]
+ 80024b4:      6a5b            ldr     r3, [r3, #36]   ; 0x24
+ 80024b6:      019b            lsls    r3, r3, #6
+ 80024b8:      431a            orrs    r2, r3
+ 80024ba:      687b            ldr     r3, [r7, #4]
+ 80024bc:      6a9b            ldr     r3, [r3, #40]   ; 0x28
+ 80024be:      085b            lsrs    r3, r3, #1
+ 80024c0:      3b01            subs    r3, #1
+ 80024c2:      041b            lsls    r3, r3, #16
+ 80024c4:      431a            orrs    r2, r3
+ 80024c6:      687b            ldr     r3, [r7, #4]
+ 80024c8:      6adb            ldr     r3, [r3, #44]   ; 0x2c
+ 80024ca:      061b            lsls    r3, r3, #24
+ 80024cc:      431a            orrs    r2, r3
+ 80024ce:      687b            ldr     r3, [r7, #4]
+ 80024d0:      6b1b            ldr     r3, [r3, #48]   ; 0x30
+ 80024d2:      071b            lsls    r3, r3, #28
+ 80024d4:      491e            ldr     r1, [pc, #120]  ; (8002550 <HAL_RCC_OscConfig+0x4dc>)
+ 80024d6:      4313            orrs    r3, r2
+ 80024d8:      604b            str     r3, [r1, #4]
                              RCC_OscInitStruct->PLL.PLLP,
                              RCC_OscInitStruct->PLL.PLLQ);
 #endif
 
         /* Enable the main PLL. */
         __HAL_RCC_PLL_ENABLE();
- 80024aa:      4b1d            ldr     r3, [pc, #116]  ; (8002520 <HAL_RCC_OscConfig+0x4dc>)
- 80024ac:      681b            ldr     r3, [r3, #0]
- 80024ae:      4a1c            ldr     r2, [pc, #112]  ; (8002520 <HAL_RCC_OscConfig+0x4dc>)
- 80024b0:      f043 7380       orr.w   r3, r3, #16777216       ; 0x1000000
- 80024b4:      6013            str     r3, [r2, #0]
+ 80024da:      4b1d            ldr     r3, [pc, #116]  ; (8002550 <HAL_RCC_OscConfig+0x4dc>)
+ 80024dc:      681b            ldr     r3, [r3, #0]
+ 80024de:      4a1c            ldr     r2, [pc, #112]  ; (8002550 <HAL_RCC_OscConfig+0x4dc>)
+ 80024e0:      f043 7380       orr.w   r3, r3, #16777216       ; 0x1000000
+ 80024e4:      6013            str     r3, [r2, #0]
 
         /* Get Start Tick*/
         tickstart = HAL_GetTick();
- 80024b6:      f7ff faa9       bl      8001a0c <HAL_GetTick>
- 80024ba:      6138            str     r0, [r7, #16]
+ 80024e6:      f7ff faa9       bl      8001a3c <HAL_GetTick>
+ 80024ea:      6138            str     r0, [r7, #16]
 
         /* Wait till PLL is ready */
         while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET)
- 80024bc:      e008            b.n     80024d0 <HAL_RCC_OscConfig+0x48c>
+ 80024ec:      e008            b.n     8002500 <HAL_RCC_OscConfig+0x48c>
         {
           if((HAL_GetTick() - tickstart ) > PLL_TIMEOUT_VALUE)
- 80024be:      f7ff faa5       bl      8001a0c <HAL_GetTick>
- 80024c2:      4602            mov     r2, r0
- 80024c4:      693b            ldr     r3, [r7, #16]
- 80024c6:      1ad3            subs    r3, r2, r3
- 80024c8:      2b02            cmp     r3, #2
- 80024ca:      d901            bls.n   80024d0 <HAL_RCC_OscConfig+0x48c>
+ 80024ee:      f7ff faa5       bl      8001a3c <HAL_GetTick>
+ 80024f2:      4602            mov     r2, r0
+ 80024f4:      693b            ldr     r3, [r7, #16]
+ 80024f6:      1ad3            subs    r3, r2, r3
+ 80024f8:      2b02            cmp     r3, #2
+ 80024fa:      d901            bls.n   8002500 <HAL_RCC_OscConfig+0x48c>
           {
             return HAL_TIMEOUT;
- 80024cc:      2303            movs    r3, #3
- 80024ce:      e023            b.n     8002518 <HAL_RCC_OscConfig+0x4d4>
+ 80024fc:      2303            movs    r3, #3
+ 80024fe:      e023            b.n     8002548 <HAL_RCC_OscConfig+0x4d4>
         while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET)
- 80024d0:      4b13            ldr     r3, [pc, #76]   ; (8002520 <HAL_RCC_OscConfig+0x4dc>)
- 80024d2:      681b            ldr     r3, [r3, #0]
- 80024d4:      f003 7300       and.w   r3, r3, #33554432       ; 0x2000000
- 80024d8:      2b00            cmp     r3, #0
- 80024da:      d0f0            beq.n   80024be <HAL_RCC_OscConfig+0x47a>
- 80024dc:      e01b            b.n     8002516 <HAL_RCC_OscConfig+0x4d2>
+ 8002500:      4b13            ldr     r3, [pc, #76]   ; (8002550 <HAL_RCC_OscConfig+0x4dc>)
+ 8002502:      681b            ldr     r3, [r3, #0]
+ 8002504:      f003 7300       and.w   r3, r3, #33554432       ; 0x2000000
+ 8002508:      2b00            cmp     r3, #0
+ 800250a:      d0f0            beq.n   80024ee <HAL_RCC_OscConfig+0x47a>
+ 800250c:      e01b            b.n     8002546 <HAL_RCC_OscConfig+0x4d2>
         }
       }
       else
       {
         /* Disable the main PLL. */
         __HAL_RCC_PLL_DISABLE();
- 80024de:      4b10            ldr     r3, [pc, #64]   ; (8002520 <HAL_RCC_OscConfig+0x4dc>)
- 80024e0:      681b            ldr     r3, [r3, #0]
- 80024e2:      4a0f            ldr     r2, [pc, #60]   ; (8002520 <HAL_RCC_OscConfig+0x4dc>)
- 80024e4:      f023 7380       bic.w   r3, r3, #16777216       ; 0x1000000
- 80024e8:      6013            str     r3, [r2, #0]
+ 800250e:      4b10            ldr     r3, [pc, #64]   ; (8002550 <HAL_RCC_OscConfig+0x4dc>)
+ 8002510:      681b            ldr     r3, [r3, #0]
+ 8002512:      4a0f            ldr     r2, [pc, #60]   ; (8002550 <HAL_RCC_OscConfig+0x4dc>)
+ 8002514:      f023 7380       bic.w   r3, r3, #16777216       ; 0x1000000
+ 8002518:      6013            str     r3, [r2, #0]
 
         /* Get Start Tick*/
         tickstart = HAL_GetTick();
- 80024ea:      f7ff fa8f       bl      8001a0c <HAL_GetTick>
- 80024ee:      6138            str     r0, [r7, #16]
+ 800251a:      f7ff fa8f       bl      8001a3c <HAL_GetTick>
+ 800251e:      6138            str     r0, [r7, #16]
 
         /* Wait till PLL is ready */
         while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET)
- 80024f0:      e008            b.n     8002504 <HAL_RCC_OscConfig+0x4c0>
+ 8002520:      e008            b.n     8002534 <HAL_RCC_OscConfig+0x4c0>
         {
           if((HAL_GetTick() - tickstart ) > PLL_TIMEOUT_VALUE)
- 80024f2:      f7ff fa8b       bl      8001a0c <HAL_GetTick>
- 80024f6:      4602            mov     r2, r0
- 80024f8:      693b            ldr     r3, [r7, #16]
- 80024fa:      1ad3            subs    r3, r2, r3
- 80024fc:      2b02            cmp     r3, #2
- 80024fe:      d901            bls.n   8002504 <HAL_RCC_OscConfig+0x4c0>
+ 8002522:      f7ff fa8b       bl      8001a3c <HAL_GetTick>
+ 8002526:      4602            mov     r2, r0
+ 8002528:      693b            ldr     r3, [r7, #16]
+ 800252a:      1ad3            subs    r3, r2, r3
+ 800252c:      2b02            cmp     r3, #2
+ 800252e:      d901            bls.n   8002534 <HAL_RCC_OscConfig+0x4c0>
           {
             return HAL_TIMEOUT;
- 8002500:      2303            movs    r3, #3
- 8002502:      e009            b.n     8002518 <HAL_RCC_OscConfig+0x4d4>
+ 8002530:      2303            movs    r3, #3
+ 8002532:      e009            b.n     8002548 <HAL_RCC_OscConfig+0x4d4>
         while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET)
- 8002504:      4b06            ldr     r3, [pc, #24]   ; (8002520 <HAL_RCC_OscConfig+0x4dc>)
- 8002506:      681b            ldr     r3, [r3, #0]
- 8002508:      f003 7300       and.w   r3, r3, #33554432       ; 0x2000000
- 800250c:      2b00            cmp     r3, #0
- 800250e:      d1f0            bne.n   80024f2 <HAL_RCC_OscConfig+0x4ae>
- 8002510:      e001            b.n     8002516 <HAL_RCC_OscConfig+0x4d2>
+ 8002534:      4b06            ldr     r3, [pc, #24]   ; (8002550 <HAL_RCC_OscConfig+0x4dc>)
+ 8002536:      681b            ldr     r3, [r3, #0]
+ 8002538:      f003 7300       and.w   r3, r3, #33554432       ; 0x2000000
+ 800253c:      2b00            cmp     r3, #0
+ 800253e:      d1f0            bne.n   8002522 <HAL_RCC_OscConfig+0x4ae>
+ 8002540:      e001            b.n     8002546 <HAL_RCC_OscConfig+0x4d2>
         }
       }
     }
     else
     {
       return HAL_ERROR;
- 8002512:      2301            movs    r3, #1
- 8002514:      e000            b.n     8002518 <HAL_RCC_OscConfig+0x4d4>
+ 8002542:      2301            movs    r3, #1
+ 8002544:      e000            b.n     8002548 <HAL_RCC_OscConfig+0x4d4>
     }
   }
   return HAL_OK;
- 8002516:      2300            movs    r3, #0
+ 8002546:      2300            movs    r3, #0
 }
- 8002518:      4618            mov     r0, r3
- 800251a:      3718            adds    r7, #24
- 800251c:      46bd            mov     sp, r7
- 800251e:      bd80            pop     {r7, pc}
- 8002520:      40023800        .word   0x40023800
- 8002524:      40007000        .word   0x40007000
-
-08002528 <HAL_RCC_ClockConfig>:
+ 8002548:      4618            mov     r0, r3
+ 800254a:      3718            adds    r7, #24
+ 800254c:      46bd            mov     sp, r7
+ 800254e:      bd80            pop     {r7, pc}
+ 8002550:      40023800        .word   0x40023800
+ 8002554:      40007000        .word   0x40007000
+
+08002558 <HAL_RCC_ClockConfig>:
   *         HPRE[3:0] bits to ensure that HCLK not exceed the maximum allowed frequency
   *         (for more details refer to section above "Initialization/de-initialization functions")
   * @retval None
   */
 HAL_StatusTypeDef HAL_RCC_ClockConfig(RCC_ClkInitTypeDef  *RCC_ClkInitStruct, uint32_t FLatency)
 {
- 8002528:      b580            push    {r7, lr}
- 800252a:      b084            sub     sp, #16
- 800252c:      af00            add     r7, sp, #0
- 800252e:      6078            str     r0, [r7, #4]
- 8002530:      6039            str     r1, [r7, #0]
+ 8002558:      b580            push    {r7, lr}
+ 800255a:      b084            sub     sp, #16
+ 800255c:      af00            add     r7, sp, #0
+ 800255e:      6078            str     r0, [r7, #4]
+ 8002560:      6039            str     r1, [r7, #0]
   uint32_t tickstart = 0;
- 8002532:      2300            movs    r3, #0
- 8002534:      60fb            str     r3, [r7, #12]
+ 8002562:      2300            movs    r3, #0
+ 8002564:      60fb            str     r3, [r7, #12]
 
   /* Check Null pointer */
   if(RCC_ClkInitStruct == NULL)
- 8002536:      687b            ldr     r3, [r7, #4]
- 8002538:      2b00            cmp     r3, #0
- 800253a:      d101            bne.n   8002540 <HAL_RCC_ClockConfig+0x18>
+ 8002566:      687b            ldr     r3, [r7, #4]
+ 8002568:      2b00            cmp     r3, #0
+ 800256a:      d101            bne.n   8002570 <HAL_RCC_ClockConfig+0x18>
   {
     return HAL_ERROR;
- 800253c:      2301            movs    r3, #1
- 800253e:      e0ce            b.n     80026de <HAL_RCC_ClockConfig+0x1b6>
+ 800256c:      2301            movs    r3, #1
+ 800256e:      e0ce            b.n     800270e <HAL_RCC_ClockConfig+0x1b6>
   /* To correctly read data from FLASH memory, the number of wait states (LATENCY)
      must be correctly programmed according to the frequency of the CPU clock
      (HCLK) and the supply voltage of the device. */
 
   /* Increasing the CPU frequency */
   if(FLatency > __HAL_FLASH_GET_LATENCY())
- 8002540:      4b69            ldr     r3, [pc, #420]  ; (80026e8 <HAL_RCC_ClockConfig+0x1c0>)
- 8002542:      681b            ldr     r3, [r3, #0]
- 8002544:      f003 030f       and.w   r3, r3, #15
- 8002548:      683a            ldr     r2, [r7, #0]
- 800254a:      429a            cmp     r2, r3
- 800254c:      d910            bls.n   8002570 <HAL_RCC_ClockConfig+0x48>
+ 8002570:      4b69            ldr     r3, [pc, #420]  ; (8002718 <HAL_RCC_ClockConfig+0x1c0>)
+ 8002572:      681b            ldr     r3, [r3, #0]
+ 8002574:      f003 030f       and.w   r3, r3, #15
+ 8002578:      683a            ldr     r2, [r7, #0]
+ 800257a:      429a            cmp     r2, r3
+ 800257c:      d910            bls.n   80025a0 <HAL_RCC_ClockConfig+0x48>
   {
     /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */
     __HAL_FLASH_SET_LATENCY(FLatency);
- 800254e:      4b66            ldr     r3, [pc, #408]  ; (80026e8 <HAL_RCC_ClockConfig+0x1c0>)
- 8002550:      681b            ldr     r3, [r3, #0]
- 8002552:      f023 020f       bic.w   r2, r3, #15
- 8002556:      4964            ldr     r1, [pc, #400]  ; (80026e8 <HAL_RCC_ClockConfig+0x1c0>)
- 8002558:      683b            ldr     r3, [r7, #0]
- 800255a:      4313            orrs    r3, r2
- 800255c:      600b            str     r3, [r1, #0]
+ 800257e:      4b66            ldr     r3, [pc, #408]  ; (8002718 <HAL_RCC_ClockConfig+0x1c0>)
+ 8002580:      681b            ldr     r3, [r3, #0]
+ 8002582:      f023 020f       bic.w   r2, r3, #15
+ 8002586:      4964            ldr     r1, [pc, #400]  ; (8002718 <HAL_RCC_ClockConfig+0x1c0>)
+ 8002588:      683b            ldr     r3, [r7, #0]
+ 800258a:      4313            orrs    r3, r2
+ 800258c:      600b            str     r3, [r1, #0]
 
     /* Check that the new number of wait states is taken into account to access the Flash
     memory by reading the FLASH_ACR register */
     if(__HAL_FLASH_GET_LATENCY() != FLatency)
- 800255e:      4b62            ldr     r3, [pc, #392]  ; (80026e8 <HAL_RCC_ClockConfig+0x1c0>)
- 8002560:      681b            ldr     r3, [r3, #0]
- 8002562:      f003 030f       and.w   r3, r3, #15
- 8002566:      683a            ldr     r2, [r7, #0]
- 8002568:      429a            cmp     r2, r3
- 800256a:      d001            beq.n   8002570 <HAL_RCC_ClockConfig+0x48>
+ 800258e:      4b62            ldr     r3, [pc, #392]  ; (8002718 <HAL_RCC_ClockConfig+0x1c0>)
+ 8002590:      681b            ldr     r3, [r3, #0]
+ 8002592:      f003 030f       and.w   r3, r3, #15
+ 8002596:      683a            ldr     r2, [r7, #0]
+ 8002598:      429a            cmp     r2, r3
+ 800259a:      d001            beq.n   80025a0 <HAL_RCC_ClockConfig+0x48>
     {
       return HAL_ERROR;
- 800256c:      2301            movs    r3, #1
- 800256e:      e0b6            b.n     80026de <HAL_RCC_ClockConfig+0x1b6>
+ 800259c:      2301            movs    r3, #1
+ 800259e:      e0b6            b.n     800270e <HAL_RCC_ClockConfig+0x1b6>
     }
   }
 
   /*-------------------------- HCLK Configuration --------------------------*/
   if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_HCLK) == RCC_CLOCKTYPE_HCLK)
- 8002570:      687b            ldr     r3, [r7, #4]
- 8002572:      681b            ldr     r3, [r3, #0]
- 8002574:      f003 0302       and.w   r3, r3, #2
- 8002578:      2b00            cmp     r3, #0
- 800257a:      d020            beq.n   80025be <HAL_RCC_ClockConfig+0x96>
+ 80025a0:      687b            ldr     r3, [r7, #4]
+ 80025a2:      681b            ldr     r3, [r3, #0]
+ 80025a4:      f003 0302       and.w   r3, r3, #2
+ 80025a8:      2b00            cmp     r3, #0
+ 80025aa:      d020            beq.n   80025ee <HAL_RCC_ClockConfig+0x96>
   {
     /* Set the highest APBx dividers in order to ensure that we do not go through
        a non-spec phase whatever we decrease or increase HCLK. */
     if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK1) == RCC_CLOCKTYPE_PCLK1)
- 800257c:      687b            ldr     r3, [r7, #4]
- 800257e:      681b            ldr     r3, [r3, #0]
- 8002580:      f003 0304       and.w   r3, r3, #4
- 8002584:      2b00            cmp     r3, #0
- 8002586:      d005            beq.n   8002594 <HAL_RCC_ClockConfig+0x6c>
+ 80025ac:      687b            ldr     r3, [r7, #4]
+ 80025ae:      681b            ldr     r3, [r3, #0]
+ 80025b0:      f003 0304       and.w   r3, r3, #4
+ 80025b4:      2b00            cmp     r3, #0
+ 80025b6:      d005            beq.n   80025c4 <HAL_RCC_ClockConfig+0x6c>
     {
       MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE1, RCC_HCLK_DIV16);
- 8002588:      4b58            ldr     r3, [pc, #352]  ; (80026ec <HAL_RCC_ClockConfig+0x1c4>)
- 800258a:      689b            ldr     r3, [r3, #8]
- 800258c:      4a57            ldr     r2, [pc, #348]  ; (80026ec <HAL_RCC_ClockConfig+0x1c4>)
- 800258e:      f443 53e0       orr.w   r3, r3, #7168   ; 0x1c00
- 8002592:      6093            str     r3, [r2, #8]
+ 80025b8:      4b58            ldr     r3, [pc, #352]  ; (800271c <HAL_RCC_ClockConfig+0x1c4>)
+ 80025ba:      689b            ldr     r3, [r3, #8]
+ 80025bc:      4a57            ldr     r2, [pc, #348]  ; (800271c <HAL_RCC_ClockConfig+0x1c4>)
+ 80025be:      f443 53e0       orr.w   r3, r3, #7168   ; 0x1c00
+ 80025c2:      6093            str     r3, [r2, #8]
     }
 
     if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK2) == RCC_CLOCKTYPE_PCLK2)
- 8002594:      687b            ldr     r3, [r7, #4]
- 8002596:      681b            ldr     r3, [r3, #0]
- 8002598:      f003 0308       and.w   r3, r3, #8
- 800259c:      2b00            cmp     r3, #0
- 800259e:      d005            beq.n   80025ac <HAL_RCC_ClockConfig+0x84>
+ 80025c4:      687b            ldr     r3, [r7, #4]
+ 80025c6:      681b            ldr     r3, [r3, #0]
+ 80025c8:      f003 0308       and.w   r3, r3, #8
+ 80025cc:      2b00            cmp     r3, #0
+ 80025ce:      d005            beq.n   80025dc <HAL_RCC_ClockConfig+0x84>
     {
       MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE2, (RCC_HCLK_DIV16 << 3));
- 80025a0:      4b52            ldr     r3, [pc, #328]  ; (80026ec <HAL_RCC_ClockConfig+0x1c4>)
- 80025a2:      689b            ldr     r3, [r3, #8]
- 80025a4:      4a51            ldr     r2, [pc, #324]  ; (80026ec <HAL_RCC_ClockConfig+0x1c4>)
- 80025a6:      f443 4360       orr.w   r3, r3, #57344  ; 0xe000
- 80025aa:      6093            str     r3, [r2, #8]
+ 80025d0:      4b52            ldr     r3, [pc, #328]  ; (800271c <HAL_RCC_ClockConfig+0x1c4>)
+ 80025d2:      689b            ldr     r3, [r3, #8]
+ 80025d4:      4a51            ldr     r2, [pc, #324]  ; (800271c <HAL_RCC_ClockConfig+0x1c4>)
+ 80025d6:      f443 4360       orr.w   r3, r3, #57344  ; 0xe000
+ 80025da:      6093            str     r3, [r2, #8]
     }
 
     /* Set the new HCLK clock divider */
     assert_param(IS_RCC_HCLK(RCC_ClkInitStruct->AHBCLKDivider));
     MODIFY_REG(RCC->CFGR, RCC_CFGR_HPRE, RCC_ClkInitStruct->AHBCLKDivider);
- 80025ac:      4b4f            ldr     r3, [pc, #316]  ; (80026ec <HAL_RCC_ClockConfig+0x1c4>)
- 80025ae:      689b            ldr     r3, [r3, #8]
- 80025b0:      f023 02f0       bic.w   r2, r3, #240    ; 0xf0
- 80025b4:      687b            ldr     r3, [r7, #4]
- 80025b6:      689b            ldr     r3, [r3, #8]
- 80025b8:      494c            ldr     r1, [pc, #304]  ; (80026ec <HAL_RCC_ClockConfig+0x1c4>)
- 80025ba:      4313            orrs    r3, r2
- 80025bc:      608b            str     r3, [r1, #8]
+ 80025dc:      4b4f            ldr     r3, [pc, #316]  ; (800271c <HAL_RCC_ClockConfig+0x1c4>)
+ 80025de:      689b            ldr     r3, [r3, #8]
+ 80025e0:      f023 02f0       bic.w   r2, r3, #240    ; 0xf0
+ 80025e4:      687b            ldr     r3, [r7, #4]
+ 80025e6:      689b            ldr     r3, [r3, #8]
+ 80025e8:      494c            ldr     r1, [pc, #304]  ; (800271c <HAL_RCC_ClockConfig+0x1c4>)
+ 80025ea:      4313            orrs    r3, r2
+ 80025ec:      608b            str     r3, [r1, #8]
   }
 
   /*------------------------- SYSCLK Configuration ---------------------------*/
   if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_SYSCLK) == RCC_CLOCKTYPE_SYSCLK)
- 80025be:      687b            ldr     r3, [r7, #4]
- 80025c0:      681b            ldr     r3, [r3, #0]
- 80025c2:      f003 0301       and.w   r3, r3, #1
- 80025c6:      2b00            cmp     r3, #0
- 80025c8:      d040            beq.n   800264c <HAL_RCC_ClockConfig+0x124>
+ 80025ee:      687b            ldr     r3, [r7, #4]
+ 80025f0:      681b            ldr     r3, [r3, #0]
+ 80025f2:      f003 0301       and.w   r3, r3, #1
+ 80025f6:      2b00            cmp     r3, #0
+ 80025f8:      d040            beq.n   800267c <HAL_RCC_ClockConfig+0x124>
   {
     assert_param(IS_RCC_SYSCLKSOURCE(RCC_ClkInitStruct->SYSCLKSource));
 
     /* HSE is selected as System Clock Source */
     if(RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_HSE)
- 80025ca:      687b            ldr     r3, [r7, #4]
- 80025cc:      685b            ldr     r3, [r3, #4]
- 80025ce:      2b01            cmp     r3, #1
- 80025d0:      d107            bne.n   80025e2 <HAL_RCC_ClockConfig+0xba>
+ 80025fa:      687b            ldr     r3, [r7, #4]
+ 80025fc:      685b            ldr     r3, [r3, #4]
+ 80025fe:      2b01            cmp     r3, #1
+ 8002600:      d107            bne.n   8002612 <HAL_RCC_ClockConfig+0xba>
     {
       /* Check the HSE ready flag */
       if(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET)
- 80025d2:      4b46            ldr     r3, [pc, #280]  ; (80026ec <HAL_RCC_ClockConfig+0x1c4>)
- 80025d4:      681b            ldr     r3, [r3, #0]
- 80025d6:      f403 3300       and.w   r3, r3, #131072 ; 0x20000
- 80025da:      2b00            cmp     r3, #0
- 80025dc:      d115            bne.n   800260a <HAL_RCC_ClockConfig+0xe2>
+ 8002602:      4b46            ldr     r3, [pc, #280]  ; (800271c <HAL_RCC_ClockConfig+0x1c4>)
+ 8002604:      681b            ldr     r3, [r3, #0]
+ 8002606:      f403 3300       and.w   r3, r3, #131072 ; 0x20000
+ 800260a:      2b00            cmp     r3, #0
+ 800260c:      d115            bne.n   800263a <HAL_RCC_ClockConfig+0xe2>
       {
         return HAL_ERROR;
- 80025de:      2301            movs    r3, #1
- 80025e0:      e07d            b.n     80026de <HAL_RCC_ClockConfig+0x1b6>
+ 800260e:      2301            movs    r3, #1
+ 8002610:      e07d            b.n     800270e <HAL_RCC_ClockConfig+0x1b6>
       }
     }
     /* PLL is selected as System Clock Source */
     else if(RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_PLLCLK)
- 80025e2:      687b            ldr     r3, [r7, #4]
- 80025e4:      685b            ldr     r3, [r3, #4]
- 80025e6:      2b02            cmp     r3, #2
- 80025e8:      d107            bne.n   80025fa <HAL_RCC_ClockConfig+0xd2>
+ 8002612:      687b            ldr     r3, [r7, #4]
+ 8002614:      685b            ldr     r3, [r3, #4]
+ 8002616:      2b02            cmp     r3, #2
+ 8002618:      d107            bne.n   800262a <HAL_RCC_ClockConfig+0xd2>
     {
       /* Check the PLL ready flag */
       if(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET)
- 80025ea:      4b40            ldr     r3, [pc, #256]  ; (80026ec <HAL_RCC_ClockConfig+0x1c4>)
- 80025ec:      681b            ldr     r3, [r3, #0]
- 80025ee:      f003 7300       and.w   r3, r3, #33554432       ; 0x2000000
- 80025f2:      2b00            cmp     r3, #0
- 80025f4:      d109            bne.n   800260a <HAL_RCC_ClockConfig+0xe2>
+ 800261a:      4b40            ldr     r3, [pc, #256]  ; (800271c <HAL_RCC_ClockConfig+0x1c4>)
+ 800261c:      681b            ldr     r3, [r3, #0]
+ 800261e:      f003 7300       and.w   r3, r3, #33554432       ; 0x2000000
+ 8002622:      2b00            cmp     r3, #0
+ 8002624:      d109            bne.n   800263a <HAL_RCC_ClockConfig+0xe2>
       {
         return HAL_ERROR;
- 80025f6:      2301            movs    r3, #1
- 80025f8:      e071            b.n     80026de <HAL_RCC_ClockConfig+0x1b6>
+ 8002626:      2301            movs    r3, #1
+ 8002628:      e071            b.n     800270e <HAL_RCC_ClockConfig+0x1b6>
     }
     /* HSI is selected as System Clock Source */
     else
     {
       /* Check the HSI ready flag */
       if(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET)
- 80025fa:      4b3c            ldr     r3, [pc, #240]  ; (80026ec <HAL_RCC_ClockConfig+0x1c4>)
- 80025fc:      681b            ldr     r3, [r3, #0]
- 80025fe:      f003 0302       and.w   r3, r3, #2
- 8002602:      2b00            cmp     r3, #0
- 8002604:      d101            bne.n   800260a <HAL_RCC_ClockConfig+0xe2>
+ 800262a:      4b3c            ldr     r3, [pc, #240]  ; (800271c <HAL_RCC_ClockConfig+0x1c4>)
+ 800262c:      681b            ldr     r3, [r3, #0]
+ 800262e:      f003 0302       and.w   r3, r3, #2
+ 8002632:      2b00            cmp     r3, #0
+ 8002634:      d101            bne.n   800263a <HAL_RCC_ClockConfig+0xe2>
       {
         return HAL_ERROR;
- 8002606:      2301            movs    r3, #1
- 8002608:      e069            b.n     80026de <HAL_RCC_ClockConfig+0x1b6>
+ 8002636:      2301            movs    r3, #1
+ 8002638:      e069            b.n     800270e <HAL_RCC_ClockConfig+0x1b6>
       }
     }
 
     __HAL_RCC_SYSCLK_CONFIG(RCC_ClkInitStruct->SYSCLKSource);
- 800260a:      4b38            ldr     r3, [pc, #224]  ; (80026ec <HAL_RCC_ClockConfig+0x1c4>)
- 800260c:      689b            ldr     r3, [r3, #8]
- 800260e:      f023 0203       bic.w   r2, r3, #3
- 8002612:      687b            ldr     r3, [r7, #4]
- 8002614:      685b            ldr     r3, [r3, #4]
- 8002616:      4935            ldr     r1, [pc, #212]  ; (80026ec <HAL_RCC_ClockConfig+0x1c4>)
- 8002618:      4313            orrs    r3, r2
- 800261a:      608b            str     r3, [r1, #8]
+ 800263a:      4b38            ldr     r3, [pc, #224]  ; (800271c <HAL_RCC_ClockConfig+0x1c4>)
+ 800263c:      689b            ldr     r3, [r3, #8]
+ 800263e:      f023 0203       bic.w   r2, r3, #3
+ 8002642:      687b            ldr     r3, [r7, #4]
+ 8002644:      685b            ldr     r3, [r3, #4]
+ 8002646:      4935            ldr     r1, [pc, #212]  ; (800271c <HAL_RCC_ClockConfig+0x1c4>)
+ 8002648:      4313            orrs    r3, r2
+ 800264a:      608b            str     r3, [r1, #8]
 
     /* Get Start Tick*/
     tickstart = HAL_GetTick();
- 800261c:      f7ff f9f6       bl      8001a0c <HAL_GetTick>
- 8002620:      60f8            str     r0, [r7, #12]
+ 800264c:      f7ff f9f6       bl      8001a3c <HAL_GetTick>
+ 8002650:      60f8            str     r0, [r7, #12]
 
     while (__HAL_RCC_GET_SYSCLK_SOURCE() != (RCC_ClkInitStruct->SYSCLKSource << RCC_CFGR_SWS_Pos))
- 8002622:      e00a            b.n     800263a <HAL_RCC_ClockConfig+0x112>
+ 8002652:      e00a            b.n     800266a <HAL_RCC_ClockConfig+0x112>
     {
       if ((HAL_GetTick() - tickstart) > CLOCKSWITCH_TIMEOUT_VALUE)
- 8002624:      f7ff f9f2       bl      8001a0c <HAL_GetTick>
- 8002628:      4602            mov     r2, r0
- 800262a:      68fb            ldr     r3, [r7, #12]
- 800262c:      1ad3            subs    r3, r2, r3
- 800262e:      f241 3288       movw    r2, #5000       ; 0x1388
- 8002632:      4293            cmp     r3, r2
- 8002634:      d901            bls.n   800263a <HAL_RCC_ClockConfig+0x112>
+ 8002654:      f7ff f9f2       bl      8001a3c <HAL_GetTick>
+ 8002658:      4602            mov     r2, r0
+ 800265a:      68fb            ldr     r3, [r7, #12]
+ 800265c:      1ad3            subs    r3, r2, r3
+ 800265e:      f241 3288       movw    r2, #5000       ; 0x1388
+ 8002662:      4293            cmp     r3, r2
+ 8002664:      d901            bls.n   800266a <HAL_RCC_ClockConfig+0x112>
       {
         return HAL_TIMEOUT;
- 8002636:      2303            movs    r3, #3
- 8002638:      e051            b.n     80026de <HAL_RCC_ClockConfig+0x1b6>
+ 8002666:      2303            movs    r3, #3
+ 8002668:      e051            b.n     800270e <HAL_RCC_ClockConfig+0x1b6>
     while (__HAL_RCC_GET_SYSCLK_SOURCE() != (RCC_ClkInitStruct->SYSCLKSource << RCC_CFGR_SWS_Pos))
- 800263a:      4b2c            ldr     r3, [pc, #176]  ; (80026ec <HAL_RCC_ClockConfig+0x1c4>)
- 800263c:      689b            ldr     r3, [r3, #8]
- 800263e:      f003 020c       and.w   r2, r3, #12
- 8002642:      687b            ldr     r3, [r7, #4]
- 8002644:      685b            ldr     r3, [r3, #4]
- 8002646:      009b            lsls    r3, r3, #2
- 8002648:      429a            cmp     r2, r3
- 800264a:      d1eb            bne.n   8002624 <HAL_RCC_ClockConfig+0xfc>
+ 800266a:      4b2c            ldr     r3, [pc, #176]  ; (800271c <HAL_RCC_ClockConfig+0x1c4>)
+ 800266c:      689b            ldr     r3, [r3, #8]
+ 800266e:      f003 020c       and.w   r2, r3, #12
+ 8002672:      687b            ldr     r3, [r7, #4]
+ 8002674:      685b            ldr     r3, [r3, #4]
+ 8002676:      009b            lsls    r3, r3, #2
+ 8002678:      429a            cmp     r2, r3
+ 800267a:      d1eb            bne.n   8002654 <HAL_RCC_ClockConfig+0xfc>
       }
     }
   }
 
   /* Decreasing the number of wait states because of lower CPU frequency */
   if(FLatency < __HAL_FLASH_GET_LATENCY())
- 800264c:      4b26            ldr     r3, [pc, #152]  ; (80026e8 <HAL_RCC_ClockConfig+0x1c0>)
- 800264e:      681b            ldr     r3, [r3, #0]
- 8002650:      f003 030f       and.w   r3, r3, #15
- 8002654:      683a            ldr     r2, [r7, #0]
- 8002656:      429a            cmp     r2, r3
- 8002658:      d210            bcs.n   800267c <HAL_RCC_ClockConfig+0x154>
+ 800267c:      4b26            ldr     r3, [pc, #152]  ; (8002718 <HAL_RCC_ClockConfig+0x1c0>)
+ 800267e:      681b            ldr     r3, [r3, #0]
+ 8002680:      f003 030f       and.w   r3, r3, #15
+ 8002684:      683a            ldr     r2, [r7, #0]
+ 8002686:      429a            cmp     r2, r3
+ 8002688:      d210            bcs.n   80026ac <HAL_RCC_ClockConfig+0x154>
   {
     /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */
     __HAL_FLASH_SET_LATENCY(FLatency);
- 800265a:      4b23            ldr     r3, [pc, #140]  ; (80026e8 <HAL_RCC_ClockConfig+0x1c0>)
- 800265c:      681b            ldr     r3, [r3, #0]
- 800265e:      f023 020f       bic.w   r2, r3, #15
- 8002662:      4921            ldr     r1, [pc, #132]  ; (80026e8 <HAL_RCC_ClockConfig+0x1c0>)
- 8002664:      683b            ldr     r3, [r7, #0]
- 8002666:      4313            orrs    r3, r2
- 8002668:      600b            str     r3, [r1, #0]
+ 800268a:      4b23            ldr     r3, [pc, #140]  ; (8002718 <HAL_RCC_ClockConfig+0x1c0>)
+ 800268c:      681b            ldr     r3, [r3, #0]
+ 800268e:      f023 020f       bic.w   r2, r3, #15
+ 8002692:      4921            ldr     r1, [pc, #132]  ; (8002718 <HAL_RCC_ClockConfig+0x1c0>)
+ 8002694:      683b            ldr     r3, [r7, #0]
+ 8002696:      4313            orrs    r3, r2
+ 8002698:      600b            str     r3, [r1, #0]
 
     /* Check that the new number of wait states is taken into account to access the Flash
     memory by reading the FLASH_ACR register */
     if(__HAL_FLASH_GET_LATENCY() != FLatency)
- 800266a:      4b1f            ldr     r3, [pc, #124]  ; (80026e8 <HAL_RCC_ClockConfig+0x1c0>)
- 800266c:      681b            ldr     r3, [r3, #0]
- 800266e:      f003 030f       and.w   r3, r3, #15
- 8002672:      683a            ldr     r2, [r7, #0]
- 8002674:      429a            cmp     r2, r3
- 8002676:      d001            beq.n   800267c <HAL_RCC_ClockConfig+0x154>
+ 800269a:      4b1f            ldr     r3, [pc, #124]  ; (8002718 <HAL_RCC_ClockConfig+0x1c0>)
+ 800269c:      681b            ldr     r3, [r3, #0]
+ 800269e:      f003 030f       and.w   r3, r3, #15
+ 80026a2:      683a            ldr     r2, [r7, #0]
+ 80026a4:      429a            cmp     r2, r3
+ 80026a6:      d001            beq.n   80026ac <HAL_RCC_ClockConfig+0x154>
     {
       return HAL_ERROR;
- 8002678:      2301            movs    r3, #1
- 800267a:      e030            b.n     80026de <HAL_RCC_ClockConfig+0x1b6>
+ 80026a8:      2301            movs    r3, #1
+ 80026aa:      e030            b.n     800270e <HAL_RCC_ClockConfig+0x1b6>
     }
   }
 
   /*-------------------------- PCLK1 Configuration ---------------------------*/
   if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK1) == RCC_CLOCKTYPE_PCLK1)
- 800267c:      687b            ldr     r3, [r7, #4]
- 800267e:      681b            ldr     r3, [r3, #0]
- 8002680:      f003 0304       and.w   r3, r3, #4
- 8002684:      2b00            cmp     r3, #0
- 8002686:      d008            beq.n   800269a <HAL_RCC_ClockConfig+0x172>
+ 80026ac:      687b            ldr     r3, [r7, #4]
+ 80026ae:      681b            ldr     r3, [r3, #0]
+ 80026b0:      f003 0304       and.w   r3, r3, #4
+ 80026b4:      2b00            cmp     r3, #0
+ 80026b6:      d008            beq.n   80026ca <HAL_RCC_ClockConfig+0x172>
   {
     assert_param(IS_RCC_PCLK(RCC_ClkInitStruct->APB1CLKDivider));
     MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE1, RCC_ClkInitStruct->APB1CLKDivider);
- 8002688:      4b18            ldr     r3, [pc, #96]   ; (80026ec <HAL_RCC_ClockConfig+0x1c4>)
- 800268a:      689b            ldr     r3, [r3, #8]
- 800268c:      f423 52e0       bic.w   r2, r3, #7168   ; 0x1c00
- 8002690:      687b            ldr     r3, [r7, #4]
- 8002692:      68db            ldr     r3, [r3, #12]
- 8002694:      4915            ldr     r1, [pc, #84]   ; (80026ec <HAL_RCC_ClockConfig+0x1c4>)
- 8002696:      4313            orrs    r3, r2
- 8002698:      608b            str     r3, [r1, #8]
+ 80026b8:      4b18            ldr     r3, [pc, #96]   ; (800271c <HAL_RCC_ClockConfig+0x1c4>)
+ 80026ba:      689b            ldr     r3, [r3, #8]
+ 80026bc:      f423 52e0       bic.w   r2, r3, #7168   ; 0x1c00
+ 80026c0:      687b            ldr     r3, [r7, #4]
+ 80026c2:      68db            ldr     r3, [r3, #12]
+ 80026c4:      4915            ldr     r1, [pc, #84]   ; (800271c <HAL_RCC_ClockConfig+0x1c4>)
+ 80026c6:      4313            orrs    r3, r2
+ 80026c8:      608b            str     r3, [r1, #8]
   }
 
   /*-------------------------- PCLK2 Configuration ---------------------------*/
   if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK2) == RCC_CLOCKTYPE_PCLK2)
- 800269a:      687b            ldr     r3, [r7, #4]
- 800269c:      681b            ldr     r3, [r3, #0]
- 800269e:      f003 0308       and.w   r3, r3, #8
- 80026a2:      2b00            cmp     r3, #0
- 80026a4:      d009            beq.n   80026ba <HAL_RCC_ClockConfig+0x192>
+ 80026ca:      687b            ldr     r3, [r7, #4]
+ 80026cc:      681b            ldr     r3, [r3, #0]
+ 80026ce:      f003 0308       and.w   r3, r3, #8
+ 80026d2:      2b00            cmp     r3, #0
+ 80026d4:      d009            beq.n   80026ea <HAL_RCC_ClockConfig+0x192>
   {
     assert_param(IS_RCC_PCLK(RCC_ClkInitStruct->APB2CLKDivider));
     MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE2, ((RCC_ClkInitStruct->APB2CLKDivider) << 3));
- 80026a6:      4b11            ldr     r3, [pc, #68]   ; (80026ec <HAL_RCC_ClockConfig+0x1c4>)
- 80026a8:      689b            ldr     r3, [r3, #8]
- 80026aa:      f423 4260       bic.w   r2, r3, #57344  ; 0xe000
- 80026ae:      687b            ldr     r3, [r7, #4]
- 80026b0:      691b            ldr     r3, [r3, #16]
- 80026b2:      00db            lsls    r3, r3, #3
- 80026b4:      490d            ldr     r1, [pc, #52]   ; (80026ec <HAL_RCC_ClockConfig+0x1c4>)
- 80026b6:      4313            orrs    r3, r2
- 80026b8:      608b            str     r3, [r1, #8]
+ 80026d6:      4b11            ldr     r3, [pc, #68]   ; (800271c <HAL_RCC_ClockConfig+0x1c4>)
+ 80026d8:      689b            ldr     r3, [r3, #8]
+ 80026da:      f423 4260       bic.w   r2, r3, #57344  ; 0xe000
+ 80026de:      687b            ldr     r3, [r7, #4]
+ 80026e0:      691b            ldr     r3, [r3, #16]
+ 80026e2:      00db            lsls    r3, r3, #3
+ 80026e4:      490d            ldr     r1, [pc, #52]   ; (800271c <HAL_RCC_ClockConfig+0x1c4>)
+ 80026e6:      4313            orrs    r3, r2
+ 80026e8:      608b            str     r3, [r1, #8]
   }
 
   /* Update the SystemCoreClock global variable */
   SystemCoreClock = HAL_RCC_GetSysClockFreq() >> AHBPrescTable[(RCC->CFGR & RCC_CFGR_HPRE)>> RCC_CFGR_HPRE_Pos];
- 80026ba:      f000 f81d       bl      80026f8 <HAL_RCC_GetSysClockFreq>
- 80026be:      4601            mov     r1, r0
- 80026c0:      4b0a            ldr     r3, [pc, #40]   ; (80026ec <HAL_RCC_ClockConfig+0x1c4>)
- 80026c2:      689b            ldr     r3, [r3, #8]
- 80026c4:      091b            lsrs    r3, r3, #4
- 80026c6:      f003 030f       and.w   r3, r3, #15
- 80026ca:      4a09            ldr     r2, [pc, #36]   ; (80026f0 <HAL_RCC_ClockConfig+0x1c8>)
- 80026cc:      5cd3            ldrb    r3, [r2, r3]
- 80026ce:      fa21 f303       lsr.w   r3, r1, r3
- 80026d2:      4a08            ldr     r2, [pc, #32]   ; (80026f4 <HAL_RCC_ClockConfig+0x1cc>)
- 80026d4:      6013            str     r3, [r2, #0]
+ 80026ea:      f000 f81d       bl      8002728 <HAL_RCC_GetSysClockFreq>
+ 80026ee:      4601            mov     r1, r0
+ 80026f0:      4b0a            ldr     r3, [pc, #40]   ; (800271c <HAL_RCC_ClockConfig+0x1c4>)
+ 80026f2:      689b            ldr     r3, [r3, #8]
+ 80026f4:      091b            lsrs    r3, r3, #4
+ 80026f6:      f003 030f       and.w   r3, r3, #15
+ 80026fa:      4a09            ldr     r2, [pc, #36]   ; (8002720 <HAL_RCC_ClockConfig+0x1c8>)
+ 80026fc:      5cd3            ldrb    r3, [r2, r3]
+ 80026fe:      fa21 f303       lsr.w   r3, r1, r3
+ 8002702:      4a08            ldr     r2, [pc, #32]   ; (8002724 <HAL_RCC_ClockConfig+0x1cc>)
+ 8002704:      6013            str     r3, [r2, #0]
 
   /* Configure the source of time base considering new system clocks settings*/
   HAL_InitTick (TICK_INT_PRIORITY);
- 80026d6:      2000            movs    r0, #0
- 80026d8:      f7ff f954       bl      8001984 <HAL_InitTick>
+ 8002706:      2000            movs    r0, #0
+ 8002708:      f7ff f954       bl      80019b4 <HAL_InitTick>
 
   return HAL_OK;
- 80026dc:      2300            movs    r3, #0
+ 800270c:      2300            movs    r3, #0
 }
- 80026de:      4618            mov     r0, r3
- 80026e0:      3710            adds    r7, #16
- 80026e2:      46bd            mov     sp, r7
- 80026e4:      bd80            pop     {r7, pc}
- 80026e6:      bf00            nop
- 80026e8:      40023c00        .word   0x40023c00
- 80026ec:      40023800        .word   0x40023800
- 80026f0:      08004f8c        .word   0x08004f8c
- 80026f4:      20000000        .word   0x20000000
-
-080026f8 <HAL_RCC_GetSysClockFreq>:
+ 800270e:      4618            mov     r0, r3
+ 8002710:      3710            adds    r7, #16
+ 8002712:      46bd            mov     sp, r7
+ 8002714:      bd80            pop     {r7, pc}
+ 8002716:      bf00            nop
+ 8002718:      40023c00        .word   0x40023c00
+ 800271c:      40023800        .word   0x40023800
+ 8002720:      08004fbc        .word   0x08004fbc
+ 8002724:      20000004        .word   0x20000004
+
+08002728 <HAL_RCC_GetSysClockFreq>:
   *
   *
   * @retval SYSCLK frequency
   */
 uint32_t HAL_RCC_GetSysClockFreq(void)
 {
- 80026f8:      b5f0            push    {r4, r5, r6, r7, lr}
- 80026fa:      b085            sub     sp, #20
- 80026fc:      af00            add     r7, sp, #0
+ 8002728:      b5f0            push    {r4, r5, r6, r7, lr}
+ 800272a:      b085            sub     sp, #20
+ 800272c:      af00            add     r7, sp, #0
   uint32_t pllm = 0, pllvco = 0, pllp = 0;
- 80026fe:      2300            movs    r3, #0
- 8002700:      607b            str     r3, [r7, #4]
- 8002702:      2300            movs    r3, #0
- 8002704:      60fb            str     r3, [r7, #12]
- 8002706:      2300            movs    r3, #0
- 8002708:      603b            str     r3, [r7, #0]
+ 800272e:      2300            movs    r3, #0
+ 8002730:      607b            str     r3, [r7, #4]
+ 8002732:      2300            movs    r3, #0
+ 8002734:      60fb            str     r3, [r7, #12]
+ 8002736:      2300            movs    r3, #0
+ 8002738:      603b            str     r3, [r7, #0]
   uint32_t sysclockfreq = 0;
- 800270a:      2300            movs    r3, #0
- 800270c:      60bb            str     r3, [r7, #8]
+ 800273a:      2300            movs    r3, #0
+ 800273c:      60bb            str     r3, [r7, #8]
 
   /* Get SYSCLK source -------------------------------------------------------*/
   switch (RCC->CFGR & RCC_CFGR_SWS)
- 800270e:      4b50            ldr     r3, [pc, #320]  ; (8002850 <HAL_RCC_GetSysClockFreq+0x158>)
- 8002710:      689b            ldr     r3, [r3, #8]
- 8002712:      f003 030c       and.w   r3, r3, #12
- 8002716:      2b04            cmp     r3, #4
- 8002718:      d007            beq.n   800272a <HAL_RCC_GetSysClockFreq+0x32>
- 800271a:      2b08            cmp     r3, #8
- 800271c:      d008            beq.n   8002730 <HAL_RCC_GetSysClockFreq+0x38>
- 800271e:      2b00            cmp     r3, #0
- 8002720:      f040 808d       bne.w   800283e <HAL_RCC_GetSysClockFreq+0x146>
+ 800273e:      4b50            ldr     r3, [pc, #320]  ; (8002880 <HAL_RCC_GetSysClockFreq+0x158>)
+ 8002740:      689b            ldr     r3, [r3, #8]
+ 8002742:      f003 030c       and.w   r3, r3, #12
+ 8002746:      2b04            cmp     r3, #4
+ 8002748:      d007            beq.n   800275a <HAL_RCC_GetSysClockFreq+0x32>
+ 800274a:      2b08            cmp     r3, #8
+ 800274c:      d008            beq.n   8002760 <HAL_RCC_GetSysClockFreq+0x38>
+ 800274e:      2b00            cmp     r3, #0
+ 8002750:      f040 808d       bne.w   800286e <HAL_RCC_GetSysClockFreq+0x146>
   {
     case RCC_SYSCLKSOURCE_STATUS_HSI:  /* HSI used as system clock source */
     {
       sysclockfreq = HSI_VALUE;
- 8002724:      4b4b            ldr     r3, [pc, #300]  ; (8002854 <HAL_RCC_GetSysClockFreq+0x15c>)
- 8002726:      60bb            str     r3, [r7, #8]
+ 8002754:      4b4b            ldr     r3, [pc, #300]  ; (8002884 <HAL_RCC_GetSysClockFreq+0x15c>)
+ 8002756:      60bb            str     r3, [r7, #8]
        break;
- 8002728:      e08c            b.n     8002844 <HAL_RCC_GetSysClockFreq+0x14c>
+ 8002758:      e08c            b.n     8002874 <HAL_RCC_GetSysClockFreq+0x14c>
     }
     case RCC_SYSCLKSOURCE_STATUS_HSE:  /* HSE used as system clock  source */
     {
       sysclockfreq = HSE_VALUE;
- 800272a:      4b4b            ldr     r3, [pc, #300]  ; (8002858 <HAL_RCC_GetSysClockFreq+0x160>)
- 800272c:      60bb            str     r3, [r7, #8]
+ 800275a:      4b4b            ldr     r3, [pc, #300]  ; (8002888 <HAL_RCC_GetSysClockFreq+0x160>)
+ 800275c:      60bb            str     r3, [r7, #8]
       break;
- 800272e:      e089            b.n     8002844 <HAL_RCC_GetSysClockFreq+0x14c>
+ 800275e:      e089            b.n     8002874 <HAL_RCC_GetSysClockFreq+0x14c>
     }
     case RCC_SYSCLKSOURCE_STATUS_PLLCLK:  /* PLL used as system clock  source */
     {
       /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLLM) * PLLN
       SYSCLK = PLL_VCO / PLLP */
       pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM;
- 8002730:      4b47            ldr     r3, [pc, #284]  ; (8002850 <HAL_RCC_GetSysClockFreq+0x158>)
- 8002732:      685b            ldr     r3, [r3, #4]
- 8002734:      f003 033f       and.w   r3, r3, #63     ; 0x3f
- 8002738:      607b            str     r3, [r7, #4]
+ 8002760:      4b47            ldr     r3, [pc, #284]  ; (8002880 <HAL_RCC_GetSysClockFreq+0x158>)
+ 8002762:      685b            ldr     r3, [r3, #4]
+ 8002764:      f003 033f       and.w   r3, r3, #63     ; 0x3f
+ 8002768:      607b            str     r3, [r7, #4]
       if (__HAL_RCC_GET_PLL_OSCSOURCE() != RCC_PLLCFGR_PLLSRC_HSI)
- 800273a:      4b45            ldr     r3, [pc, #276]  ; (8002850 <HAL_RCC_GetSysClockFreq+0x158>)
- 800273c:      685b            ldr     r3, [r3, #4]
- 800273e:      f403 0380       and.w   r3, r3, #4194304        ; 0x400000
- 8002742:      2b00            cmp     r3, #0
- 8002744:      d023            beq.n   800278e <HAL_RCC_GetSysClockFreq+0x96>
+ 800276a:      4b45            ldr     r3, [pc, #276]  ; (8002880 <HAL_RCC_GetSysClockFreq+0x158>)
+ 800276c:      685b            ldr     r3, [r3, #4]
+ 800276e:      f403 0380       and.w   r3, r3, #4194304        ; 0x400000
+ 8002772:      2b00            cmp     r3, #0
+ 8002774:      d023            beq.n   80027be <HAL_RCC_GetSysClockFreq+0x96>
       {
         /* HSE used as PLL clock source */
         pllvco = (uint32_t) ((((uint64_t) HSE_VALUE * ((uint64_t) ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> RCC_PLLCFGR_PLLN_Pos)))) / (uint64_t)pllm);
- 8002746:      4b42            ldr     r3, [pc, #264]  ; (8002850 <HAL_RCC_GetSysClockFreq+0x158>)
- 8002748:      685b            ldr     r3, [r3, #4]
- 800274a:      099b            lsrs    r3, r3, #6
- 800274c:      f04f 0400       mov.w   r4, #0
- 8002750:      f240 11ff       movw    r1, #511        ; 0x1ff
- 8002754:      f04f 0200       mov.w   r2, #0
- 8002758:      ea03 0501       and.w   r5, r3, r1
- 800275c:      ea04 0602       and.w   r6, r4, r2
- 8002760:      4a3d            ldr     r2, [pc, #244]  ; (8002858 <HAL_RCC_GetSysClockFreq+0x160>)
- 8002762:      fb02 f106       mul.w   r1, r2, r6
- 8002766:      2200            movs    r2, #0
- 8002768:      fb02 f205       mul.w   r2, r2, r5
- 800276c:      440a            add     r2, r1
- 800276e:      493a            ldr     r1, [pc, #232]  ; (8002858 <HAL_RCC_GetSysClockFreq+0x160>)
- 8002770:      fba5 0101       umull   r0, r1, r5, r1
- 8002774:      1853            adds    r3, r2, r1
- 8002776:      4619            mov     r1, r3
- 8002778:      687b            ldr     r3, [r7, #4]
- 800277a:      f04f 0400       mov.w   r4, #0
- 800277e:      461a            mov     r2, r3
- 8002780:      4623            mov     r3, r4
- 8002782:      f7fd fd59       bl      8000238 <__aeabi_uldivmod>
- 8002786:      4603            mov     r3, r0
- 8002788:      460c            mov     r4, r1
- 800278a:      60fb            str     r3, [r7, #12]
- 800278c:      e049            b.n     8002822 <HAL_RCC_GetSysClockFreq+0x12a>
+ 8002776:      4b42            ldr     r3, [pc, #264]  ; (8002880 <HAL_RCC_GetSysClockFreq+0x158>)
+ 8002778:      685b            ldr     r3, [r3, #4]
+ 800277a:      099b            lsrs    r3, r3, #6
+ 800277c:      f04f 0400       mov.w   r4, #0
+ 8002780:      f240 11ff       movw    r1, #511        ; 0x1ff
+ 8002784:      f04f 0200       mov.w   r2, #0
+ 8002788:      ea03 0501       and.w   r5, r3, r1
+ 800278c:      ea04 0602       and.w   r6, r4, r2
+ 8002790:      4a3d            ldr     r2, [pc, #244]  ; (8002888 <HAL_RCC_GetSysClockFreq+0x160>)
+ 8002792:      fb02 f106       mul.w   r1, r2, r6
+ 8002796:      2200            movs    r2, #0
+ 8002798:      fb02 f205       mul.w   r2, r2, r5
+ 800279c:      440a            add     r2, r1
+ 800279e:      493a            ldr     r1, [pc, #232]  ; (8002888 <HAL_RCC_GetSysClockFreq+0x160>)
+ 80027a0:      fba5 0101       umull   r0, r1, r5, r1
+ 80027a4:      1853            adds    r3, r2, r1
+ 80027a6:      4619            mov     r1, r3
+ 80027a8:      687b            ldr     r3, [r7, #4]
+ 80027aa:      f04f 0400       mov.w   r4, #0
+ 80027ae:      461a            mov     r2, r3
+ 80027b0:      4623            mov     r3, r4
+ 80027b2:      f7fd fd41       bl      8000238 <__aeabi_uldivmod>
+ 80027b6:      4603            mov     r3, r0
+ 80027b8:      460c            mov     r4, r1
+ 80027ba:      60fb            str     r3, [r7, #12]
+ 80027bc:      e049            b.n     8002852 <HAL_RCC_GetSysClockFreq+0x12a>
       }
       else
       {
         /* HSI used as PLL clock source */
         pllvco = (uint32_t) ((((uint64_t) HSI_VALUE * ((uint64_t) ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> RCC_PLLCFGR_PLLN_Pos)))) / (uint64_t)pllm);
- 800278e:      4b30            ldr     r3, [pc, #192]  ; (8002850 <HAL_RCC_GetSysClockFreq+0x158>)
- 8002790:      685b            ldr     r3, [r3, #4]
- 8002792:      099b            lsrs    r3, r3, #6
- 8002794:      f04f 0400       mov.w   r4, #0
- 8002798:      f240 11ff       movw    r1, #511        ; 0x1ff
- 800279c:      f04f 0200       mov.w   r2, #0
- 80027a0:      ea03 0501       and.w   r5, r3, r1
- 80027a4:      ea04 0602       and.w   r6, r4, r2
- 80027a8:      4629            mov     r1, r5
- 80027aa:      4632            mov     r2, r6
- 80027ac:      f04f 0300       mov.w   r3, #0
- 80027b0:      f04f 0400       mov.w   r4, #0
- 80027b4:      0154            lsls    r4, r2, #5
- 80027b6:      ea44 64d1       orr.w   r4, r4, r1, lsr #27
- 80027ba:      014b            lsls    r3, r1, #5
- 80027bc:      4619            mov     r1, r3
- 80027be:      4622            mov     r2, r4
- 80027c0:      1b49            subs    r1, r1, r5
- 80027c2:      eb62 0206       sbc.w   r2, r2, r6
- 80027c6:      f04f 0300       mov.w   r3, #0
- 80027ca:      f04f 0400       mov.w   r4, #0
- 80027ce:      0194            lsls    r4, r2, #6
- 80027d0:      ea44 6491       orr.w   r4, r4, r1, lsr #26
- 80027d4:      018b            lsls    r3, r1, #6
- 80027d6:      1a5b            subs    r3, r3, r1
- 80027d8:      eb64 0402       sbc.w   r4, r4, r2
- 80027dc:      f04f 0100       mov.w   r1, #0
- 80027e0:      f04f 0200       mov.w   r2, #0
- 80027e4:      00e2            lsls    r2, r4, #3
- 80027e6:      ea42 7253       orr.w   r2, r2, r3, lsr #29
- 80027ea:      00d9            lsls    r1, r3, #3
- 80027ec:      460b            mov     r3, r1
- 80027ee:      4614            mov     r4, r2
- 80027f0:      195b            adds    r3, r3, r5
- 80027f2:      eb44 0406       adc.w   r4, r4, r6
- 80027f6:      f04f 0100       mov.w   r1, #0
- 80027fa:      f04f 0200       mov.w   r2, #0
- 80027fe:      02a2            lsls    r2, r4, #10
- 8002800:      ea42 5293       orr.w   r2, r2, r3, lsr #22
- 8002804:      0299            lsls    r1, r3, #10
- 8002806:      460b            mov     r3, r1
- 8002808:      4614            mov     r4, r2
- 800280a:      4618            mov     r0, r3
- 800280c:      4621            mov     r1, r4
- 800280e:      687b            ldr     r3, [r7, #4]
- 8002810:      f04f 0400       mov.w   r4, #0
- 8002814:      461a            mov     r2, r3
- 8002816:      4623            mov     r3, r4
- 8002818:      f7fd fd0e       bl      8000238 <__aeabi_uldivmod>
- 800281c:      4603            mov     r3, r0
- 800281e:      460c            mov     r4, r1
- 8002820:      60fb            str     r3, [r7, #12]
+ 80027be:      4b30            ldr     r3, [pc, #192]  ; (8002880 <HAL_RCC_GetSysClockFreq+0x158>)
+ 80027c0:      685b            ldr     r3, [r3, #4]
+ 80027c2:      099b            lsrs    r3, r3, #6
+ 80027c4:      f04f 0400       mov.w   r4, #0
+ 80027c8:      f240 11ff       movw    r1, #511        ; 0x1ff
+ 80027cc:      f04f 0200       mov.w   r2, #0
+ 80027d0:      ea03 0501       and.w   r5, r3, r1
+ 80027d4:      ea04 0602       and.w   r6, r4, r2
+ 80027d8:      4629            mov     r1, r5
+ 80027da:      4632            mov     r2, r6
+ 80027dc:      f04f 0300       mov.w   r3, #0
+ 80027e0:      f04f 0400       mov.w   r4, #0
+ 80027e4:      0154            lsls    r4, r2, #5
+ 80027e6:      ea44 64d1       orr.w   r4, r4, r1, lsr #27
+ 80027ea:      014b            lsls    r3, r1, #5
+ 80027ec:      4619            mov     r1, r3
+ 80027ee:      4622            mov     r2, r4
+ 80027f0:      1b49            subs    r1, r1, r5
+ 80027f2:      eb62 0206       sbc.w   r2, r2, r6
+ 80027f6:      f04f 0300       mov.w   r3, #0
+ 80027fa:      f04f 0400       mov.w   r4, #0
+ 80027fe:      0194            lsls    r4, r2, #6
+ 8002800:      ea44 6491       orr.w   r4, r4, r1, lsr #26
+ 8002804:      018b            lsls    r3, r1, #6
+ 8002806:      1a5b            subs    r3, r3, r1
+ 8002808:      eb64 0402       sbc.w   r4, r4, r2
+ 800280c:      f04f 0100       mov.w   r1, #0
+ 8002810:      f04f 0200       mov.w   r2, #0
+ 8002814:      00e2            lsls    r2, r4, #3
+ 8002816:      ea42 7253       orr.w   r2, r2, r3, lsr #29
+ 800281a:      00d9            lsls    r1, r3, #3
+ 800281c:      460b            mov     r3, r1
+ 800281e:      4614            mov     r4, r2
+ 8002820:      195b            adds    r3, r3, r5
+ 8002822:      eb44 0406       adc.w   r4, r4, r6
+ 8002826:      f04f 0100       mov.w   r1, #0
+ 800282a:      f04f 0200       mov.w   r2, #0
+ 800282e:      02a2            lsls    r2, r4, #10
+ 8002830:      ea42 5293       orr.w   r2, r2, r3, lsr #22
+ 8002834:      0299            lsls    r1, r3, #10
+ 8002836:      460b            mov     r3, r1
+ 8002838:      4614            mov     r4, r2
+ 800283a:      4618            mov     r0, r3
+ 800283c:      4621            mov     r1, r4
+ 800283e:      687b            ldr     r3, [r7, #4]
+ 8002840:      f04f 0400       mov.w   r4, #0
+ 8002844:      461a            mov     r2, r3
+ 8002846:      4623            mov     r3, r4
+ 8002848:      f7fd fcf6       bl      8000238 <__aeabi_uldivmod>
+ 800284c:      4603            mov     r3, r0
+ 800284e:      460c            mov     r4, r1
+ 8002850:      60fb            str     r3, [r7, #12]
       }
       pllp = ((((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >> RCC_PLLCFGR_PLLP_Pos) + 1 ) *2);
- 8002822:      4b0b            ldr     r3, [pc, #44]   ; (8002850 <HAL_RCC_GetSysClockFreq+0x158>)
- 8002824:      685b            ldr     r3, [r3, #4]
- 8002826:      0c1b            lsrs    r3, r3, #16
- 8002828:      f003 0303       and.w   r3, r3, #3
- 800282c:      3301            adds    r3, #1
- 800282e:      005b            lsls    r3, r3, #1
- 8002830:      603b            str     r3, [r7, #0]
+ 8002852:      4b0b            ldr     r3, [pc, #44]   ; (8002880 <HAL_RCC_GetSysClockFreq+0x158>)
+ 8002854:      685b            ldr     r3, [r3, #4]
+ 8002856:      0c1b            lsrs    r3, r3, #16
+ 8002858:      f003 0303       and.w   r3, r3, #3
+ 800285c:      3301            adds    r3, #1
+ 800285e:      005b            lsls    r3, r3, #1
+ 8002860:      603b            str     r3, [r7, #0]
 
       sysclockfreq = pllvco/pllp;
- 8002832:      68fa            ldr     r2, [r7, #12]
- 8002834:      683b            ldr     r3, [r7, #0]
- 8002836:      fbb2 f3f3       udiv    r3, r2, r3
- 800283a:      60bb            str     r3, [r7, #8]
+ 8002862:      68fa            ldr     r2, [r7, #12]
+ 8002864:      683b            ldr     r3, [r7, #0]
+ 8002866:      fbb2 f3f3       udiv    r3, r2, r3
+ 800286a:      60bb            str     r3, [r7, #8]
       break;
- 800283c:      e002            b.n     8002844 <HAL_RCC_GetSysClockFreq+0x14c>
+ 800286c:      e002            b.n     8002874 <HAL_RCC_GetSysClockFreq+0x14c>
     }
     default:
     {
       sysclockfreq = HSI_VALUE;
- 800283e:      4b05            ldr     r3, [pc, #20]   ; (8002854 <HAL_RCC_GetSysClockFreq+0x15c>)
- 8002840:      60bb            str     r3, [r7, #8]
+ 800286e:      4b05            ldr     r3, [pc, #20]   ; (8002884 <HAL_RCC_GetSysClockFreq+0x15c>)
+ 8002870:      60bb            str     r3, [r7, #8]
       break;
- 8002842:      bf00            nop
+ 8002872:      bf00            nop
     }
   }
   return sysclockfreq;
- 8002844:      68bb            ldr     r3, [r7, #8]
+ 8002874:      68bb            ldr     r3, [r7, #8]
 }
- 8002846:      4618            mov     r0, r3
- 8002848:      3714            adds    r7, #20
- 800284a:      46bd            mov     sp, r7
- 800284c:      bdf0            pop     {r4, r5, r6, r7, pc}
- 800284e:      bf00            nop
- 8002850:      40023800        .word   0x40023800
- 8002854:      00f42400        .word   0x00f42400
- 8002858:      017d7840        .word   0x017d7840
-
-0800285c <HAL_RCC_GetHCLKFreq>:
+ 8002876:      4618            mov     r0, r3
+ 8002878:      3714            adds    r7, #20
+ 800287a:      46bd            mov     sp, r7
+ 800287c:      bdf0            pop     {r4, r5, r6, r7, pc}
+ 800287e:      bf00            nop
+ 8002880:      40023800        .word   0x40023800
+ 8002884:      00f42400        .word   0x00f42400
+ 8002888:      017d7840        .word   0x017d7840
+
+0800288c <HAL_RCC_GetHCLKFreq>:
   *         right HCLK value. Otherwise, any configuration based on this function will be incorrect.
   * @note   The SystemCoreClock CMSIS variable is used to store System Clock Frequency.
   * @retval HCLK frequency
   */
 uint32_t HAL_RCC_GetHCLKFreq(void)
 {
- 800285c:      b480            push    {r7}
- 800285e:      af00            add     r7, sp, #0
+ 800288c:      b480            push    {r7}
+ 800288e:      af00            add     r7, sp, #0
   return SystemCoreClock;
- 8002860:      4b03            ldr     r3, [pc, #12]   ; (8002870 <HAL_RCC_GetHCLKFreq+0x14>)
- 8002862:      681b            ldr     r3, [r3, #0]
+ 8002890:      4b03            ldr     r3, [pc, #12]   ; (80028a0 <HAL_RCC_GetHCLKFreq+0x14>)
+ 8002892:      681b            ldr     r3, [r3, #0]
 }
- 8002864:      4618            mov     r0, r3
- 8002866:      46bd            mov     sp, r7
- 8002868:      f85d 7b04       ldr.w   r7, [sp], #4
- 800286c:      4770            bx      lr
- 800286e:      bf00            nop
- 8002870:      20000000        .word   0x20000000
-
-08002874 <HAL_RCC_GetPCLK1Freq>:
+ 8002894:      4618            mov     r0, r3
+ 8002896:      46bd            mov     sp, r7
+ 8002898:      f85d 7b04       ldr.w   r7, [sp], #4
+ 800289c:      4770            bx      lr
+ 800289e:      bf00            nop
+ 80028a0:      20000004        .word   0x20000004
+
+080028a4 <HAL_RCC_GetPCLK1Freq>:
   * @note   Each time PCLK1 changes, this function must be called to update the
   *         right PCLK1 value. Otherwise, any configuration based on this function will be incorrect.
   * @retval PCLK1 frequency
   */
 uint32_t HAL_RCC_GetPCLK1Freq(void)
 {
- 8002874:      b580            push    {r7, lr}
- 8002876:      af00            add     r7, sp, #0
+ 80028a4:      b580            push    {r7, lr}
+ 80028a6:      af00            add     r7, sp, #0
   /* Get HCLK source and Compute PCLK1 frequency ---------------------------*/
   return (HAL_RCC_GetHCLKFreq() >> APBPrescTable[(RCC->CFGR & RCC_CFGR_PPRE1)>> RCC_CFGR_PPRE1_Pos]);
- 8002878:      f7ff fff0       bl      800285c <HAL_RCC_GetHCLKFreq>
- 800287c:      4601            mov     r1, r0
- 800287e:      4b05            ldr     r3, [pc, #20]   ; (8002894 <HAL_RCC_GetPCLK1Freq+0x20>)
- 8002880:      689b            ldr     r3, [r3, #8]
- 8002882:      0a9b            lsrs    r3, r3, #10
- 8002884:      f003 0307       and.w   r3, r3, #7
- 8002888:      4a03            ldr     r2, [pc, #12]   ; (8002898 <HAL_RCC_GetPCLK1Freq+0x24>)
- 800288a:      5cd3            ldrb    r3, [r2, r3]
- 800288c:      fa21 f303       lsr.w   r3, r1, r3
+ 80028a8:      f7ff fff0       bl      800288c <HAL_RCC_GetHCLKFreq>
+ 80028ac:      4601            mov     r1, r0
+ 80028ae:      4b05            ldr     r3, [pc, #20]   ; (80028c4 <HAL_RCC_GetPCLK1Freq+0x20>)
+ 80028b0:      689b            ldr     r3, [r3, #8]
+ 80028b2:      0a9b            lsrs    r3, r3, #10
+ 80028b4:      f003 0307       and.w   r3, r3, #7
+ 80028b8:      4a03            ldr     r2, [pc, #12]   ; (80028c8 <HAL_RCC_GetPCLK1Freq+0x24>)
+ 80028ba:      5cd3            ldrb    r3, [r2, r3]
+ 80028bc:      fa21 f303       lsr.w   r3, r1, r3
 }
- 8002890:      4618            mov     r0, r3
- 8002892:      bd80            pop     {r7, pc}
- 8002894:      40023800        .word   0x40023800
- 8002898:      08004f9c        .word   0x08004f9c
+ 80028c0:      4618            mov     r0, r3
+ 80028c2:      bd80            pop     {r7, pc}
+ 80028c4:      40023800        .word   0x40023800
+ 80028c8:      08004fcc        .word   0x08004fcc
 
-0800289c <HAL_RCC_GetPCLK2Freq>:
+080028cc <HAL_RCC_GetPCLK2Freq>:
   * @note   Each time PCLK2 changes, this function must be called to update the
   *         right PCLK2 value. Otherwise, any configuration based on this function will be incorrect.
   * @retval PCLK2 frequency
   */
 uint32_t HAL_RCC_GetPCLK2Freq(void)
 {
- 800289c:      b580            push    {r7, lr}
- 800289e:      af00            add     r7, sp, #0
+ 80028cc:      b580            push    {r7, lr}
+ 80028ce:      af00            add     r7, sp, #0
   /* Get HCLK source and Compute PCLK2 frequency ---------------------------*/
   return (HAL_RCC_GetHCLKFreq()>> APBPrescTable[(RCC->CFGR & RCC_CFGR_PPRE2)>> RCC_CFGR_PPRE2_Pos]);
- 80028a0:      f7ff ffdc       bl      800285c <HAL_RCC_GetHCLKFreq>
- 80028a4:      4601            mov     r1, r0
- 80028a6:      4b05            ldr     r3, [pc, #20]   ; (80028bc <HAL_RCC_GetPCLK2Freq+0x20>)
- 80028a8:      689b            ldr     r3, [r3, #8]
- 80028aa:      0b5b            lsrs    r3, r3, #13
- 80028ac:      f003 0307       and.w   r3, r3, #7
- 80028b0:      4a03            ldr     r2, [pc, #12]   ; (80028c0 <HAL_RCC_GetPCLK2Freq+0x24>)
- 80028b2:      5cd3            ldrb    r3, [r2, r3]
- 80028b4:      fa21 f303       lsr.w   r3, r1, r3
+ 80028d0:      f7ff ffdc       bl      800288c <HAL_RCC_GetHCLKFreq>
+ 80028d4:      4601            mov     r1, r0
+ 80028d6:      4b05            ldr     r3, [pc, #20]   ; (80028ec <HAL_RCC_GetPCLK2Freq+0x20>)
+ 80028d8:      689b            ldr     r3, [r3, #8]
+ 80028da:      0b5b            lsrs    r3, r3, #13
+ 80028dc:      f003 0307       and.w   r3, r3, #7
+ 80028e0:      4a03            ldr     r2, [pc, #12]   ; (80028f0 <HAL_RCC_GetPCLK2Freq+0x24>)
+ 80028e2:      5cd3            ldrb    r3, [r2, r3]
+ 80028e4:      fa21 f303       lsr.w   r3, r1, r3
 }
- 80028b8:      4618            mov     r0, r3
- 80028ba:      bd80            pop     {r7, pc}
- 80028bc:      40023800        .word   0x40023800
- 80028c0:      08004f9c        .word   0x08004f9c
+ 80028e8:      4618            mov     r0, r3
+ 80028ea:      bd80            pop     {r7, pc}
+ 80028ec:      40023800        .word   0x40023800
+ 80028f0:      08004fcc        .word   0x08004fcc
 
-080028c4 <HAL_RCCEx_PeriphCLKConfig>:
+080028f4 <HAL_RCCEx_PeriphCLKConfig>:
   *         the backup registers) are set to their reset values.
   *
   * @retval HAL status
   */
 HAL_StatusTypeDef HAL_RCCEx_PeriphCLKConfig(RCC_PeriphCLKInitTypeDef  *PeriphClkInit)
 {
- 80028c4:      b580            push    {r7, lr}
- 80028c6:      b088            sub     sp, #32
- 80028c8:      af00            add     r7, sp, #0
- 80028ca:      6078            str     r0, [r7, #4]
+ 80028f4:      b580            push    {r7, lr}
+ 80028f6:      b088            sub     sp, #32
+ 80028f8:      af00            add     r7, sp, #0
+ 80028fa:      6078            str     r0, [r7, #4]
   uint32_t tickstart = 0;
- 80028cc:      2300            movs    r3, #0
- 80028ce:      617b            str     r3, [r7, #20]
+ 80028fc:      2300            movs    r3, #0
+ 80028fe:      617b            str     r3, [r7, #20]
   uint32_t tmpreg0 = 0;
- 80028d0:      2300            movs    r3, #0
- 80028d2:      613b            str     r3, [r7, #16]
+ 8002900:      2300            movs    r3, #0
+ 8002902:      613b            str     r3, [r7, #16]
   uint32_t tmpreg1 = 0;
- 80028d4:      2300            movs    r3, #0
- 80028d6:      60fb            str     r3, [r7, #12]
+ 8002904:      2300            movs    r3, #0
+ 8002906:      60fb            str     r3, [r7, #12]
   uint32_t plli2sused = 0;
- 80028d8:      2300            movs    r3, #0
- 80028da:      61fb            str     r3, [r7, #28]
+ 8002908:      2300            movs    r3, #0
+ 800290a:      61fb            str     r3, [r7, #28]
   uint32_t pllsaiused = 0;
- 80028dc:      2300            movs    r3, #0
- 80028de:      61bb            str     r3, [r7, #24]
+ 800290c:      2300            movs    r3, #0
+ 800290e:      61bb            str     r3, [r7, #24]
 
   /* Check the parameters */
   assert_param(IS_RCC_PERIPHCLOCK(PeriphClkInit->PeriphClockSelection));
 
   /*----------------------------------- I2S configuration ----------------------------------*/
   if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2S) == (RCC_PERIPHCLK_I2S))
- 80028e0:      687b            ldr     r3, [r7, #4]
- 80028e2:      681b            ldr     r3, [r3, #0]
- 80028e4:      f003 0301       and.w   r3, r3, #1
- 80028e8:      2b00            cmp     r3, #0
- 80028ea:      d012            beq.n   8002912 <HAL_RCCEx_PeriphCLKConfig+0x4e>
+ 8002910:      687b            ldr     r3, [r7, #4]
+ 8002912:      681b            ldr     r3, [r3, #0]
+ 8002914:      f003 0301       and.w   r3, r3, #1
+ 8002918:      2b00            cmp     r3, #0
+ 800291a:      d012            beq.n   8002942 <HAL_RCCEx_PeriphCLKConfig+0x4e>
   {
     /* Check the parameters */
     assert_param(IS_RCC_I2SCLKSOURCE(PeriphClkInit->I2sClockSelection));
 
     /* Configure I2S Clock source */
     __HAL_RCC_I2S_CONFIG(PeriphClkInit->I2sClockSelection);
- 80028ec:      4b69            ldr     r3, [pc, #420]  ; (8002a94 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 80028ee:      689b            ldr     r3, [r3, #8]
- 80028f0:      4a68            ldr     r2, [pc, #416]  ; (8002a94 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 80028f2:      f423 0300       bic.w   r3, r3, #8388608        ; 0x800000
- 80028f6:      6093            str     r3, [r2, #8]
- 80028f8:      4b66            ldr     r3, [pc, #408]  ; (8002a94 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 80028fa:      689a            ldr     r2, [r3, #8]
- 80028fc:      687b            ldr     r3, [r7, #4]
- 80028fe:      6b5b            ldr     r3, [r3, #52]   ; 0x34
- 8002900:      4964            ldr     r1, [pc, #400]  ; (8002a94 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 8002902:      4313            orrs    r3, r2
- 8002904:      608b            str     r3, [r1, #8]
+ 800291c:      4b69            ldr     r3, [pc, #420]  ; (8002ac4 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 800291e:      689b            ldr     r3, [r3, #8]
+ 8002920:      4a68            ldr     r2, [pc, #416]  ; (8002ac4 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 8002922:      f423 0300       bic.w   r3, r3, #8388608        ; 0x800000
+ 8002926:      6093            str     r3, [r2, #8]
+ 8002928:      4b66            ldr     r3, [pc, #408]  ; (8002ac4 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 800292a:      689a            ldr     r2, [r3, #8]
+ 800292c:      687b            ldr     r3, [r7, #4]
+ 800292e:      6b5b            ldr     r3, [r3, #52]   ; 0x34
+ 8002930:      4964            ldr     r1, [pc, #400]  ; (8002ac4 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 8002932:      4313            orrs    r3, r2
+ 8002934:      608b            str     r3, [r1, #8]
 
     /* Enable the PLLI2S when it's used as clock source for I2S */
     if(PeriphClkInit->I2sClockSelection == RCC_I2SCLKSOURCE_PLLI2S)
- 8002906:      687b            ldr     r3, [r7, #4]
- 8002908:      6b5b            ldr     r3, [r3, #52]   ; 0x34
- 800290a:      2b00            cmp     r3, #0
- 800290c:      d101            bne.n   8002912 <HAL_RCCEx_PeriphCLKConfig+0x4e>
+ 8002936:      687b            ldr     r3, [r7, #4]
+ 8002938:      6b5b            ldr     r3, [r3, #52]   ; 0x34
+ 800293a:      2b00            cmp     r3, #0
+ 800293c:      d101            bne.n   8002942 <HAL_RCCEx_PeriphCLKConfig+0x4e>
     {
       plli2sused = 1;
- 800290e:      2301            movs    r3, #1
- 8002910:      61fb            str     r3, [r7, #28]
+ 800293e:      2301            movs    r3, #1
+ 8002940:      61fb            str     r3, [r7, #28]
     }
   }
 
   /*------------------------------------ SAI1 configuration --------------------------------------*/
   if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI1) == (RCC_PERIPHCLK_SAI1))
- 8002912:      687b            ldr     r3, [r7, #4]
- 8002914:      681b            ldr     r3, [r3, #0]
- 8002916:      f403 2300       and.w   r3, r3, #524288 ; 0x80000
- 800291a:      2b00            cmp     r3, #0
- 800291c:      d017            beq.n   800294e <HAL_RCCEx_PeriphCLKConfig+0x8a>
+ 8002942:      687b            ldr     r3, [r7, #4]
+ 8002944:      681b            ldr     r3, [r3, #0]
+ 8002946:      f403 2300       and.w   r3, r3, #524288 ; 0x80000
+ 800294a:      2b00            cmp     r3, #0
+ 800294c:      d017            beq.n   800297e <HAL_RCCEx_PeriphCLKConfig+0x8a>
   {
     /* Check the parameters */
     assert_param(IS_RCC_SAI1CLKSOURCE(PeriphClkInit->Sai1ClockSelection));
 
     /* Configure SAI1 Clock source */
     __HAL_RCC_SAI1_CONFIG(PeriphClkInit->Sai1ClockSelection);
- 800291e:      4b5d            ldr     r3, [pc, #372]  ; (8002a94 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 8002920:      f8d3 308c       ldr.w   r3, [r3, #140]  ; 0x8c
- 8002924:      f423 1240       bic.w   r2, r3, #3145728        ; 0x300000
- 8002928:      687b            ldr     r3, [r7, #4]
- 800292a:      6bdb            ldr     r3, [r3, #60]   ; 0x3c
- 800292c:      4959            ldr     r1, [pc, #356]  ; (8002a94 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 800292e:      4313            orrs    r3, r2
- 8002930:      f8c1 308c       str.w   r3, [r1, #140]  ; 0x8c
+ 800294e:      4b5d            ldr     r3, [pc, #372]  ; (8002ac4 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 8002950:      f8d3 308c       ldr.w   r3, [r3, #140]  ; 0x8c
+ 8002954:      f423 1240       bic.w   r2, r3, #3145728        ; 0x300000
+ 8002958:      687b            ldr     r3, [r7, #4]
+ 800295a:      6bdb            ldr     r3, [r3, #60]   ; 0x3c
+ 800295c:      4959            ldr     r1, [pc, #356]  ; (8002ac4 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 800295e:      4313            orrs    r3, r2
+ 8002960:      f8c1 308c       str.w   r3, [r1, #140]  ; 0x8c
     /* Enable the PLLI2S when it's used as clock source for SAI */
     if(PeriphClkInit->Sai1ClockSelection == RCC_SAI1CLKSOURCE_PLLI2S)
- 8002934:      687b            ldr     r3, [r7, #4]
- 8002936:      6bdb            ldr     r3, [r3, #60]   ; 0x3c
- 8002938:      f5b3 1f80       cmp.w   r3, #1048576    ; 0x100000
- 800293c:      d101            bne.n   8002942 <HAL_RCCEx_PeriphCLKConfig+0x7e>
+ 8002964:      687b            ldr     r3, [r7, #4]
+ 8002966:      6bdb            ldr     r3, [r3, #60]   ; 0x3c
+ 8002968:      f5b3 1f80       cmp.w   r3, #1048576    ; 0x100000
+ 800296c:      d101            bne.n   8002972 <HAL_RCCEx_PeriphCLKConfig+0x7e>
     {
       plli2sused = 1;
- 800293e:      2301            movs    r3, #1
- 8002940:      61fb            str     r3, [r7, #28]
+ 800296e:      2301            movs    r3, #1
+ 8002970:      61fb            str     r3, [r7, #28]
     }
     /* Enable the PLLSAI when it's used as clock source for SAI */
     if(PeriphClkInit->Sai1ClockSelection == RCC_SAI1CLKSOURCE_PLLSAI)
- 8002942:      687b            ldr     r3, [r7, #4]
- 8002944:      6bdb            ldr     r3, [r3, #60]   ; 0x3c
- 8002946:      2b00            cmp     r3, #0
- 8002948:      d101            bne.n   800294e <HAL_RCCEx_PeriphCLKConfig+0x8a>
+ 8002972:      687b            ldr     r3, [r7, #4]
+ 8002974:      6bdb            ldr     r3, [r3, #60]   ; 0x3c
+ 8002976:      2b00            cmp     r3, #0
+ 8002978:      d101            bne.n   800297e <HAL_RCCEx_PeriphCLKConfig+0x8a>
     {
       pllsaiused = 1;
- 800294a:      2301            movs    r3, #1
- 800294c:      61bb            str     r3, [r7, #24]
+ 800297a:      2301            movs    r3, #1
+ 800297c:      61bb            str     r3, [r7, #24]
     }
   }
 
   /*------------------------------------ SAI2 configuration --------------------------------------*/
   if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2) == (RCC_PERIPHCLK_SAI2))
- 800294e:      687b            ldr     r3, [r7, #4]
- 8002950:      681b            ldr     r3, [r3, #0]
- 8002952:      f403 1380       and.w   r3, r3, #1048576        ; 0x100000
- 8002956:      2b00            cmp     r3, #0
- 8002958:      d017            beq.n   800298a <HAL_RCCEx_PeriphCLKConfig+0xc6>
+ 800297e:      687b            ldr     r3, [r7, #4]
+ 8002980:      681b            ldr     r3, [r3, #0]
+ 8002982:      f403 1380       and.w   r3, r3, #1048576        ; 0x100000
+ 8002986:      2b00            cmp     r3, #0
+ 8002988:      d017            beq.n   80029ba <HAL_RCCEx_PeriphCLKConfig+0xc6>
   {
     /* Check the parameters */
     assert_param(IS_RCC_SAI2CLKSOURCE(PeriphClkInit->Sai2ClockSelection));
 
     /* Configure SAI2 Clock source */
     __HAL_RCC_SAI2_CONFIG(PeriphClkInit->Sai2ClockSelection);
- 800295a:      4b4e            ldr     r3, [pc, #312]  ; (8002a94 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 800295c:      f8d3 308c       ldr.w   r3, [r3, #140]  ; 0x8c
- 8002960:      f423 0240       bic.w   r2, r3, #12582912       ; 0xc00000
- 8002964:      687b            ldr     r3, [r7, #4]
- 8002966:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 8002968:      494a            ldr     r1, [pc, #296]  ; (8002a94 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 800296a:      4313            orrs    r3, r2
- 800296c:      f8c1 308c       str.w   r3, [r1, #140]  ; 0x8c
+ 800298a:      4b4e            ldr     r3, [pc, #312]  ; (8002ac4 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 800298c:      f8d3 308c       ldr.w   r3, [r3, #140]  ; 0x8c
+ 8002990:      f423 0240       bic.w   r2, r3, #12582912       ; 0xc00000
+ 8002994:      687b            ldr     r3, [r7, #4]
+ 8002996:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 8002998:      494a            ldr     r1, [pc, #296]  ; (8002ac4 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 800299a:      4313            orrs    r3, r2
+ 800299c:      f8c1 308c       str.w   r3, [r1, #140]  ; 0x8c
 
     /* Enable the PLLI2S when it's used as clock source for SAI */
     if(PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLI2S)
- 8002970:      687b            ldr     r3, [r7, #4]
- 8002972:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 8002974:      f5b3 0f80       cmp.w   r3, #4194304    ; 0x400000
- 8002978:      d101            bne.n   800297e <HAL_RCCEx_PeriphCLKConfig+0xba>
+ 80029a0:      687b            ldr     r3, [r7, #4]
+ 80029a2:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 80029a4:      f5b3 0f80       cmp.w   r3, #4194304    ; 0x400000
+ 80029a8:      d101            bne.n   80029ae <HAL_RCCEx_PeriphCLKConfig+0xba>
     {
       plli2sused = 1;
- 800297a:      2301            movs    r3, #1
- 800297c:      61fb            str     r3, [r7, #28]
+ 80029aa:      2301            movs    r3, #1
+ 80029ac:      61fb            str     r3, [r7, #28]
     }
     /* Enable the PLLSAI when it's used as clock source for SAI */
     if(PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLSAI)
- 800297e:      687b            ldr     r3, [r7, #4]
- 8002980:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 8002982:      2b00            cmp     r3, #0
- 8002984:      d101            bne.n   800298a <HAL_RCCEx_PeriphCLKConfig+0xc6>
+ 80029ae:      687b            ldr     r3, [r7, #4]
+ 80029b0:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 80029b2:      2b00            cmp     r3, #0
+ 80029b4:      d101            bne.n   80029ba <HAL_RCCEx_PeriphCLKConfig+0xc6>
     {
       pllsaiused = 1;
- 8002986:      2301            movs    r3, #1
- 8002988:      61bb            str     r3, [r7, #24]
+ 80029b6:      2301            movs    r3, #1
+ 80029b8:      61bb            str     r3, [r7, #24]
     }
   }
 
   /*-------------------------------------- SPDIF-RX Configuration -----------------------------------*/
   if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SPDIFRX) == RCC_PERIPHCLK_SPDIFRX)
- 800298a:      687b            ldr     r3, [r7, #4]
- 800298c:      681b            ldr     r3, [r3, #0]
- 800298e:      f003 7380       and.w   r3, r3, #16777216       ; 0x1000000
- 8002992:      2b00            cmp     r3, #0
- 8002994:      d001            beq.n   800299a <HAL_RCCEx_PeriphCLKConfig+0xd6>
+ 80029ba:      687b            ldr     r3, [r7, #4]
+ 80029bc:      681b            ldr     r3, [r3, #0]
+ 80029be:      f003 7380       and.w   r3, r3, #16777216       ; 0x1000000
+ 80029c2:      2b00            cmp     r3, #0
+ 80029c4:      d001            beq.n   80029ca <HAL_RCCEx_PeriphCLKConfig+0xd6>
   {
       plli2sused = 1;
- 8002996:      2301            movs    r3, #1
- 8002998:      61fb            str     r3, [r7, #28]
+ 80029c6:      2301            movs    r3, #1
+ 80029c8:      61fb            str     r3, [r7, #28]
   }
 
   /*------------------------------------ RTC configuration --------------------------------------*/
   if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_RTC) == (RCC_PERIPHCLK_RTC))
- 800299a:      687b            ldr     r3, [r7, #4]
- 800299c:      681b            ldr     r3, [r3, #0]
- 800299e:      f003 0320       and.w   r3, r3, #32
- 80029a2:      2b00            cmp     r3, #0
- 80029a4:      f000 808b       beq.w   8002abe <HAL_RCCEx_PeriphCLKConfig+0x1fa>
+ 80029ca:      687b            ldr     r3, [r7, #4]
+ 80029cc:      681b            ldr     r3, [r3, #0]
+ 80029ce:      f003 0320       and.w   r3, r3, #32
+ 80029d2:      2b00            cmp     r3, #0
+ 80029d4:      f000 808b       beq.w   8002aee <HAL_RCCEx_PeriphCLKConfig+0x1fa>
   {
     /* Check for RTC Parameters used to output RTCCLK */
     assert_param(IS_RCC_RTCCLKSOURCE(PeriphClkInit->RTCClockSelection));
 
     /* Enable Power Clock*/
     __HAL_RCC_PWR_CLK_ENABLE();
- 80029a8:      4b3a            ldr     r3, [pc, #232]  ; (8002a94 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 80029aa:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 80029ac:      4a39            ldr     r2, [pc, #228]  ; (8002a94 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 80029ae:      f043 5380       orr.w   r3, r3, #268435456      ; 0x10000000
- 80029b2:      6413            str     r3, [r2, #64]   ; 0x40
- 80029b4:      4b37            ldr     r3, [pc, #220]  ; (8002a94 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 80029b6:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 80029b8:      f003 5380       and.w   r3, r3, #268435456      ; 0x10000000
- 80029bc:      60bb            str     r3, [r7, #8]
- 80029be:      68bb            ldr     r3, [r7, #8]
+ 80029d8:      4b3a            ldr     r3, [pc, #232]  ; (8002ac4 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 80029da:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 80029dc:      4a39            ldr     r2, [pc, #228]  ; (8002ac4 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 80029de:      f043 5380       orr.w   r3, r3, #268435456      ; 0x10000000
+ 80029e2:      6413            str     r3, [r2, #64]   ; 0x40
+ 80029e4:      4b37            ldr     r3, [pc, #220]  ; (8002ac4 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 80029e6:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 80029e8:      f003 5380       and.w   r3, r3, #268435456      ; 0x10000000
+ 80029ec:      60bb            str     r3, [r7, #8]
+ 80029ee:      68bb            ldr     r3, [r7, #8]
 
     /* Enable write access to Backup domain */
     PWR->CR1 |= PWR_CR1_DBP;
- 80029c0:      4b35            ldr     r3, [pc, #212]  ; (8002a98 <HAL_RCCEx_PeriphCLKConfig+0x1d4>)
- 80029c2:      681b            ldr     r3, [r3, #0]
- 80029c4:      4a34            ldr     r2, [pc, #208]  ; (8002a98 <HAL_RCCEx_PeriphCLKConfig+0x1d4>)
- 80029c6:      f443 7380       orr.w   r3, r3, #256    ; 0x100
- 80029ca:      6013            str     r3, [r2, #0]
+ 80029f0:      4b35            ldr     r3, [pc, #212]  ; (8002ac8 <HAL_RCCEx_PeriphCLKConfig+0x1d4>)
+ 80029f2:      681b            ldr     r3, [r3, #0]
+ 80029f4:      4a34            ldr     r2, [pc, #208]  ; (8002ac8 <HAL_RCCEx_PeriphCLKConfig+0x1d4>)
+ 80029f6:      f443 7380       orr.w   r3, r3, #256    ; 0x100
+ 80029fa:      6013            str     r3, [r2, #0]
 
     /* Get Start Tick*/
     tickstart = HAL_GetTick();
- 80029cc:      f7ff f81e       bl      8001a0c <HAL_GetTick>
- 80029d0:      6178            str     r0, [r7, #20]
+ 80029fc:      f7ff f81e       bl      8001a3c <HAL_GetTick>
+ 8002a00:      6178            str     r0, [r7, #20]
 
     /* Wait for Backup domain Write protection disable */
     while((PWR->CR1 & PWR_CR1_DBP) == RESET)
- 80029d2:      e008            b.n     80029e6 <HAL_RCCEx_PeriphCLKConfig+0x122>
+ 8002a02:      e008            b.n     8002a16 <HAL_RCCEx_PeriphCLKConfig+0x122>
     {
       if((HAL_GetTick() - tickstart) > RCC_DBP_TIMEOUT_VALUE)
- 80029d4:      f7ff f81a       bl      8001a0c <HAL_GetTick>
- 80029d8:      4602            mov     r2, r0
- 80029da:      697b            ldr     r3, [r7, #20]
- 80029dc:      1ad3            subs    r3, r2, r3
- 80029de:      2b64            cmp     r3, #100        ; 0x64
- 80029e0:      d901            bls.n   80029e6 <HAL_RCCEx_PeriphCLKConfig+0x122>
+ 8002a04:      f7ff f81a       bl      8001a3c <HAL_GetTick>
+ 8002a08:      4602            mov     r2, r0
+ 8002a0a:      697b            ldr     r3, [r7, #20]
+ 8002a0c:      1ad3            subs    r3, r2, r3
+ 8002a0e:      2b64            cmp     r3, #100        ; 0x64
+ 8002a10:      d901            bls.n   8002a16 <HAL_RCCEx_PeriphCLKConfig+0x122>
       {
         return HAL_TIMEOUT;
- 80029e2:      2303            movs    r3, #3
- 80029e4:      e38d            b.n     8003102 <HAL_RCCEx_PeriphCLKConfig+0x83e>
+ 8002a12:      2303            movs    r3, #3
+ 8002a14:      e38d            b.n     8003132 <HAL_RCCEx_PeriphCLKConfig+0x83e>
     while((PWR->CR1 & PWR_CR1_DBP) == RESET)
- 80029e6:      4b2c            ldr     r3, [pc, #176]  ; (8002a98 <HAL_RCCEx_PeriphCLKConfig+0x1d4>)
- 80029e8:      681b            ldr     r3, [r3, #0]
- 80029ea:      f403 7380       and.w   r3, r3, #256    ; 0x100
- 80029ee:      2b00            cmp     r3, #0
- 80029f0:      d0f0            beq.n   80029d4 <HAL_RCCEx_PeriphCLKConfig+0x110>
+ 8002a16:      4b2c            ldr     r3, [pc, #176]  ; (8002ac8 <HAL_RCCEx_PeriphCLKConfig+0x1d4>)
+ 8002a18:      681b            ldr     r3, [r3, #0]
+ 8002a1a:      f403 7380       and.w   r3, r3, #256    ; 0x100
+ 8002a1e:      2b00            cmp     r3, #0
+ 8002a20:      d0f0            beq.n   8002a04 <HAL_RCCEx_PeriphCLKConfig+0x110>
       }
     }
 
     /* Reset the Backup domain only if the RTC Clock source selection is modified */
     tmpreg0 = (RCC->BDCR & RCC_BDCR_RTCSEL);
- 80029f2:      4b28            ldr     r3, [pc, #160]  ; (8002a94 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 80029f4:      6f1b            ldr     r3, [r3, #112]  ; 0x70
- 80029f6:      f403 7340       and.w   r3, r3, #768    ; 0x300
- 80029fa:      613b            str     r3, [r7, #16]
+ 8002a22:      4b28            ldr     r3, [pc, #160]  ; (8002ac4 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 8002a24:      6f1b            ldr     r3, [r3, #112]  ; 0x70
+ 8002a26:      f403 7340       and.w   r3, r3, #768    ; 0x300
+ 8002a2a:      613b            str     r3, [r7, #16]
 
     if((tmpreg0 != 0x00000000U) && (tmpreg0 != (PeriphClkInit->RTCClockSelection & RCC_BDCR_RTCSEL)))
- 80029fc:      693b            ldr     r3, [r7, #16]
- 80029fe:      2b00            cmp     r3, #0
- 8002a00:      d035            beq.n   8002a6e <HAL_RCCEx_PeriphCLKConfig+0x1aa>
- 8002a02:      687b            ldr     r3, [r7, #4]
- 8002a04:      6b1b            ldr     r3, [r3, #48]   ; 0x30
- 8002a06:      f403 7340       and.w   r3, r3, #768    ; 0x300
- 8002a0a:      693a            ldr     r2, [r7, #16]
- 8002a0c:      429a            cmp     r2, r3
- 8002a0e:      d02e            beq.n   8002a6e <HAL_RCCEx_PeriphCLKConfig+0x1aa>
+ 8002a2c:      693b            ldr     r3, [r7, #16]
+ 8002a2e:      2b00            cmp     r3, #0
+ 8002a30:      d035            beq.n   8002a9e <HAL_RCCEx_PeriphCLKConfig+0x1aa>
+ 8002a32:      687b            ldr     r3, [r7, #4]
+ 8002a34:      6b1b            ldr     r3, [r3, #48]   ; 0x30
+ 8002a36:      f403 7340       and.w   r3, r3, #768    ; 0x300
+ 8002a3a:      693a            ldr     r2, [r7, #16]
+ 8002a3c:      429a            cmp     r2, r3
+ 8002a3e:      d02e            beq.n   8002a9e <HAL_RCCEx_PeriphCLKConfig+0x1aa>
     {
       /* Store the content of BDCR register before the reset of Backup Domain */
       tmpreg0 = (RCC->BDCR & ~(RCC_BDCR_RTCSEL));
- 8002a10:      4b20            ldr     r3, [pc, #128]  ; (8002a94 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 8002a12:      6f1b            ldr     r3, [r3, #112]  ; 0x70
- 8002a14:      f423 7340       bic.w   r3, r3, #768    ; 0x300
- 8002a18:      613b            str     r3, [r7, #16]
+ 8002a40:      4b20            ldr     r3, [pc, #128]  ; (8002ac4 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 8002a42:      6f1b            ldr     r3, [r3, #112]  ; 0x70
+ 8002a44:      f423 7340       bic.w   r3, r3, #768    ; 0x300
+ 8002a48:      613b            str     r3, [r7, #16]
 
       /* RTC Clock selection can be changed only if the Backup Domain is reset */
       __HAL_RCC_BACKUPRESET_FORCE();
- 8002a1a:      4b1e            ldr     r3, [pc, #120]  ; (8002a94 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 8002a1c:      6f1b            ldr     r3, [r3, #112]  ; 0x70
- 8002a1e:      4a1d            ldr     r2, [pc, #116]  ; (8002a94 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 8002a20:      f443 3380       orr.w   r3, r3, #65536  ; 0x10000
- 8002a24:      6713            str     r3, [r2, #112]  ; 0x70
+ 8002a4a:      4b1e            ldr     r3, [pc, #120]  ; (8002ac4 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 8002a4c:      6f1b            ldr     r3, [r3, #112]  ; 0x70
+ 8002a4e:      4a1d            ldr     r2, [pc, #116]  ; (8002ac4 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 8002a50:      f443 3380       orr.w   r3, r3, #65536  ; 0x10000
+ 8002a54:      6713            str     r3, [r2, #112]  ; 0x70
       __HAL_RCC_BACKUPRESET_RELEASE();
- 8002a26:      4b1b            ldr     r3, [pc, #108]  ; (8002a94 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 8002a28:      6f1b            ldr     r3, [r3, #112]  ; 0x70
- 8002a2a:      4a1a            ldr     r2, [pc, #104]  ; (8002a94 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 8002a2c:      f423 3380       bic.w   r3, r3, #65536  ; 0x10000
- 8002a30:      6713            str     r3, [r2, #112]  ; 0x70
+ 8002a56:      4b1b            ldr     r3, [pc, #108]  ; (8002ac4 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 8002a58:      6f1b            ldr     r3, [r3, #112]  ; 0x70
+ 8002a5a:      4a1a            ldr     r2, [pc, #104]  ; (8002ac4 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 8002a5c:      f423 3380       bic.w   r3, r3, #65536  ; 0x10000
+ 8002a60:      6713            str     r3, [r2, #112]  ; 0x70
 
       /* Restore the Content of BDCR register */
       RCC->BDCR = tmpreg0;
- 8002a32:      4a18            ldr     r2, [pc, #96]   ; (8002a94 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 8002a34:      693b            ldr     r3, [r7, #16]
- 8002a36:      6713            str     r3, [r2, #112]  ; 0x70
+ 8002a62:      4a18            ldr     r2, [pc, #96]   ; (8002ac4 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 8002a64:      693b            ldr     r3, [r7, #16]
+ 8002a66:      6713            str     r3, [r2, #112]  ; 0x70
 
       /* Wait for LSE reactivation if LSE was enable prior to Backup Domain reset */
       if (HAL_IS_BIT_SET(RCC->BDCR, RCC_BDCR_LSEON))
- 8002a38:      4b16            ldr     r3, [pc, #88]   ; (8002a94 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 8002a3a:      6f1b            ldr     r3, [r3, #112]  ; 0x70
- 8002a3c:      f003 0301       and.w   r3, r3, #1
- 8002a40:      2b01            cmp     r3, #1
- 8002a42:      d114            bne.n   8002a6e <HAL_RCCEx_PeriphCLKConfig+0x1aa>
+ 8002a68:      4b16            ldr     r3, [pc, #88]   ; (8002ac4 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 8002a6a:      6f1b            ldr     r3, [r3, #112]  ; 0x70
+ 8002a6c:      f003 0301       and.w   r3, r3, #1
+ 8002a70:      2b01            cmp     r3, #1
+ 8002a72:      d114            bne.n   8002a9e <HAL_RCCEx_PeriphCLKConfig+0x1aa>
       {
         /* Get Start Tick*/
         tickstart = HAL_GetTick();
- 8002a44:      f7fe ffe2       bl      8001a0c <HAL_GetTick>
- 8002a48:      6178            str     r0, [r7, #20]
+ 8002a74:      f7fe ffe2       bl      8001a3c <HAL_GetTick>
+ 8002a78:      6178            str     r0, [r7, #20]
 
         /* Wait till LSE is ready */
         while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET)
- 8002a4a:      e00a            b.n     8002a62 <HAL_RCCEx_PeriphCLKConfig+0x19e>
+ 8002a7a:      e00a            b.n     8002a92 <HAL_RCCEx_PeriphCLKConfig+0x19e>
         {
           if((HAL_GetTick() - tickstart ) > RCC_LSE_TIMEOUT_VALUE)
- 8002a4c:      f7fe ffde       bl      8001a0c <HAL_GetTick>
- 8002a50:      4602            mov     r2, r0
- 8002a52:      697b            ldr     r3, [r7, #20]
- 8002a54:      1ad3            subs    r3, r2, r3
- 8002a56:      f241 3288       movw    r2, #5000       ; 0x1388
- 8002a5a:      4293            cmp     r3, r2
- 8002a5c:      d901            bls.n   8002a62 <HAL_RCCEx_PeriphCLKConfig+0x19e>
+ 8002a7c:      f7fe ffde       bl      8001a3c <HAL_GetTick>
+ 8002a80:      4602            mov     r2, r0
+ 8002a82:      697b            ldr     r3, [r7, #20]
+ 8002a84:      1ad3            subs    r3, r2, r3
+ 8002a86:      f241 3288       movw    r2, #5000       ; 0x1388
+ 8002a8a:      4293            cmp     r3, r2
+ 8002a8c:      d901            bls.n   8002a92 <HAL_RCCEx_PeriphCLKConfig+0x19e>
           {
             return HAL_TIMEOUT;
- 8002a5e:      2303            movs    r3, #3
- 8002a60:      e34f            b.n     8003102 <HAL_RCCEx_PeriphCLKConfig+0x83e>
+ 8002a8e:      2303            movs    r3, #3
+ 8002a90:      e34f            b.n     8003132 <HAL_RCCEx_PeriphCLKConfig+0x83e>
         while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET)
- 8002a62:      4b0c            ldr     r3, [pc, #48]   ; (8002a94 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 8002a64:      6f1b            ldr     r3, [r3, #112]  ; 0x70
- 8002a66:      f003 0302       and.w   r3, r3, #2
- 8002a6a:      2b00            cmp     r3, #0
- 8002a6c:      d0ee            beq.n   8002a4c <HAL_RCCEx_PeriphCLKConfig+0x188>
+ 8002a92:      4b0c            ldr     r3, [pc, #48]   ; (8002ac4 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 8002a94:      6f1b            ldr     r3, [r3, #112]  ; 0x70
+ 8002a96:      f003 0302       and.w   r3, r3, #2
+ 8002a9a:      2b00            cmp     r3, #0
+ 8002a9c:      d0ee            beq.n   8002a7c <HAL_RCCEx_PeriphCLKConfig+0x188>
           }
         }
       }
     }
     __HAL_RCC_RTC_CONFIG(PeriphClkInit->RTCClockSelection);
- 8002a6e:      687b            ldr     r3, [r7, #4]
- 8002a70:      6b1b            ldr     r3, [r3, #48]   ; 0x30
- 8002a72:      f403 7340       and.w   r3, r3, #768    ; 0x300
- 8002a76:      f5b3 7f40       cmp.w   r3, #768        ; 0x300
- 8002a7a:      d111            bne.n   8002aa0 <HAL_RCCEx_PeriphCLKConfig+0x1dc>
- 8002a7c:      4b05            ldr     r3, [pc, #20]   ; (8002a94 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 8002a7e:      689b            ldr     r3, [r3, #8]
- 8002a80:      f423 12f8       bic.w   r2, r3, #2031616        ; 0x1f0000
- 8002a84:      687b            ldr     r3, [r7, #4]
- 8002a86:      6b19            ldr     r1, [r3, #48]   ; 0x30
- 8002a88:      4b04            ldr     r3, [pc, #16]   ; (8002a9c <HAL_RCCEx_PeriphCLKConfig+0x1d8>)
- 8002a8a:      400b            ands    r3, r1
- 8002a8c:      4901            ldr     r1, [pc, #4]    ; (8002a94 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 8002a8e:      4313            orrs    r3, r2
- 8002a90:      608b            str     r3, [r1, #8]
- 8002a92:      e00b            b.n     8002aac <HAL_RCCEx_PeriphCLKConfig+0x1e8>
- 8002a94:      40023800        .word   0x40023800
- 8002a98:      40007000        .word   0x40007000
- 8002a9c:      0ffffcff        .word   0x0ffffcff
- 8002aa0:      4bb3            ldr     r3, [pc, #716]  ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002aa2:      689b            ldr     r3, [r3, #8]
- 8002aa4:      4ab2            ldr     r2, [pc, #712]  ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002aa6:      f423 13f8       bic.w   r3, r3, #2031616        ; 0x1f0000
- 8002aaa:      6093            str     r3, [r2, #8]
- 8002aac:      4bb0            ldr     r3, [pc, #704]  ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002aae:      6f1a            ldr     r2, [r3, #112]  ; 0x70
- 8002ab0:      687b            ldr     r3, [r7, #4]
- 8002ab2:      6b1b            ldr     r3, [r3, #48]   ; 0x30
- 8002ab4:      f3c3 030b       ubfx    r3, r3, #0, #12
- 8002ab8:      49ad            ldr     r1, [pc, #692]  ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002aba:      4313            orrs    r3, r2
- 8002abc:      670b            str     r3, [r1, #112]  ; 0x70
+ 8002a9e:      687b            ldr     r3, [r7, #4]
+ 8002aa0:      6b1b            ldr     r3, [r3, #48]   ; 0x30
+ 8002aa2:      f403 7340       and.w   r3, r3, #768    ; 0x300
+ 8002aa6:      f5b3 7f40       cmp.w   r3, #768        ; 0x300
+ 8002aaa:      d111            bne.n   8002ad0 <HAL_RCCEx_PeriphCLKConfig+0x1dc>
+ 8002aac:      4b05            ldr     r3, [pc, #20]   ; (8002ac4 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 8002aae:      689b            ldr     r3, [r3, #8]
+ 8002ab0:      f423 12f8       bic.w   r2, r3, #2031616        ; 0x1f0000
+ 8002ab4:      687b            ldr     r3, [r7, #4]
+ 8002ab6:      6b19            ldr     r1, [r3, #48]   ; 0x30
+ 8002ab8:      4b04            ldr     r3, [pc, #16]   ; (8002acc <HAL_RCCEx_PeriphCLKConfig+0x1d8>)
+ 8002aba:      400b            ands    r3, r1
+ 8002abc:      4901            ldr     r1, [pc, #4]    ; (8002ac4 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 8002abe:      4313            orrs    r3, r2
+ 8002ac0:      608b            str     r3, [r1, #8]
+ 8002ac2:      e00b            b.n     8002adc <HAL_RCCEx_PeriphCLKConfig+0x1e8>
+ 8002ac4:      40023800        .word   0x40023800
+ 8002ac8:      40007000        .word   0x40007000
+ 8002acc:      0ffffcff        .word   0x0ffffcff
+ 8002ad0:      4bb3            ldr     r3, [pc, #716]  ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002ad2:      689b            ldr     r3, [r3, #8]
+ 8002ad4:      4ab2            ldr     r2, [pc, #712]  ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002ad6:      f423 13f8       bic.w   r3, r3, #2031616        ; 0x1f0000
+ 8002ada:      6093            str     r3, [r2, #8]
+ 8002adc:      4bb0            ldr     r3, [pc, #704]  ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002ade:      6f1a            ldr     r2, [r3, #112]  ; 0x70
+ 8002ae0:      687b            ldr     r3, [r7, #4]
+ 8002ae2:      6b1b            ldr     r3, [r3, #48]   ; 0x30
+ 8002ae4:      f3c3 030b       ubfx    r3, r3, #0, #12
+ 8002ae8:      49ad            ldr     r1, [pc, #692]  ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002aea:      4313            orrs    r3, r2
+ 8002aec:      670b            str     r3, [r1, #112]  ; 0x70
   }
 
   /*------------------------------------ TIM configuration --------------------------------------*/
   if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_TIM) == (RCC_PERIPHCLK_TIM))
- 8002abe:      687b            ldr     r3, [r7, #4]
- 8002ac0:      681b            ldr     r3, [r3, #0]
- 8002ac2:      f003 0310       and.w   r3, r3, #16
- 8002ac6:      2b00            cmp     r3, #0
- 8002ac8:      d010            beq.n   8002aec <HAL_RCCEx_PeriphCLKConfig+0x228>
+ 8002aee:      687b            ldr     r3, [r7, #4]
+ 8002af0:      681b            ldr     r3, [r3, #0]
+ 8002af2:      f003 0310       and.w   r3, r3, #16
+ 8002af6:      2b00            cmp     r3, #0
+ 8002af8:      d010            beq.n   8002b1c <HAL_RCCEx_PeriphCLKConfig+0x228>
   {
     /* Check the parameters */
     assert_param(IS_RCC_TIMPRES(PeriphClkInit->TIMPresSelection));
 
     /* Configure Timer Prescaler */
     __HAL_RCC_TIMCLKPRESCALER(PeriphClkInit->TIMPresSelection);
- 8002aca:      4ba9            ldr     r3, [pc, #676]  ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002acc:      f8d3 308c       ldr.w   r3, [r3, #140]  ; 0x8c
- 8002ad0:      4aa7            ldr     r2, [pc, #668]  ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002ad2:      f023 7380       bic.w   r3, r3, #16777216       ; 0x1000000
- 8002ad6:      f8c2 308c       str.w   r3, [r2, #140]  ; 0x8c
- 8002ada:      4ba5            ldr     r3, [pc, #660]  ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002adc:      f8d3 208c       ldr.w   r2, [r3, #140]  ; 0x8c
- 8002ae0:      687b            ldr     r3, [r7, #4]
- 8002ae2:      6b9b            ldr     r3, [r3, #56]   ; 0x38
- 8002ae4:      49a2            ldr     r1, [pc, #648]  ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002ae6:      4313            orrs    r3, r2
- 8002ae8:      f8c1 308c       str.w   r3, [r1, #140]  ; 0x8c
+ 8002afa:      4ba9            ldr     r3, [pc, #676]  ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002afc:      f8d3 308c       ldr.w   r3, [r3, #140]  ; 0x8c
+ 8002b00:      4aa7            ldr     r2, [pc, #668]  ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002b02:      f023 7380       bic.w   r3, r3, #16777216       ; 0x1000000
+ 8002b06:      f8c2 308c       str.w   r3, [r2, #140]  ; 0x8c
+ 8002b0a:      4ba5            ldr     r3, [pc, #660]  ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002b0c:      f8d3 208c       ldr.w   r2, [r3, #140]  ; 0x8c
+ 8002b10:      687b            ldr     r3, [r7, #4]
+ 8002b12:      6b9b            ldr     r3, [r3, #56]   ; 0x38
+ 8002b14:      49a2            ldr     r1, [pc, #648]  ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002b16:      4313            orrs    r3, r2
+ 8002b18:      f8c1 308c       str.w   r3, [r1, #140]  ; 0x8c
   }
 
   /*-------------------------------------- I2C1 Configuration -----------------------------------*/
   if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2C1) == RCC_PERIPHCLK_I2C1)
- 8002aec:      687b            ldr     r3, [r7, #4]
- 8002aee:      681b            ldr     r3, [r3, #0]
- 8002af0:      f403 4380       and.w   r3, r3, #16384  ; 0x4000
- 8002af4:      2b00            cmp     r3, #0
- 8002af6:      d00a            beq.n   8002b0e <HAL_RCCEx_PeriphCLKConfig+0x24a>
+ 8002b1c:      687b            ldr     r3, [r7, #4]
+ 8002b1e:      681b            ldr     r3, [r3, #0]
+ 8002b20:      f403 4380       and.w   r3, r3, #16384  ; 0x4000
+ 8002b24:      2b00            cmp     r3, #0
+ 8002b26:      d00a            beq.n   8002b3e <HAL_RCCEx_PeriphCLKConfig+0x24a>
   {
     /* Check the parameters */
     assert_param(IS_RCC_I2C1CLKSOURCE(PeriphClkInit->I2c1ClockSelection));
 
     /* Configure the I2C1 clock source */
     __HAL_RCC_I2C1_CONFIG(PeriphClkInit->I2c1ClockSelection);
- 8002af8:      4b9d            ldr     r3, [pc, #628]  ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002afa:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 8002afe:      f423 3240       bic.w   r2, r3, #196608 ; 0x30000
- 8002b02:      687b            ldr     r3, [r7, #4]
- 8002b04:      6e5b            ldr     r3, [r3, #100]  ; 0x64
- 8002b06:      499a            ldr     r1, [pc, #616]  ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002b08:      4313            orrs    r3, r2
- 8002b0a:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
+ 8002b28:      4b9d            ldr     r3, [pc, #628]  ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002b2a:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8002b2e:      f423 3240       bic.w   r2, r3, #196608 ; 0x30000
+ 8002b32:      687b            ldr     r3, [r7, #4]
+ 8002b34:      6e5b            ldr     r3, [r3, #100]  ; 0x64
+ 8002b36:      499a            ldr     r1, [pc, #616]  ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002b38:      4313            orrs    r3, r2
+ 8002b3a:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
   }
 
   /*-------------------------------------- I2C2 Configuration -----------------------------------*/
   if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2C2) == RCC_PERIPHCLK_I2C2)
- 8002b0e:      687b            ldr     r3, [r7, #4]
- 8002b10:      681b            ldr     r3, [r3, #0]
- 8002b12:      f403 4300       and.w   r3, r3, #32768  ; 0x8000
- 8002b16:      2b00            cmp     r3, #0
- 8002b18:      d00a            beq.n   8002b30 <HAL_RCCEx_PeriphCLKConfig+0x26c>
+ 8002b3e:      687b            ldr     r3, [r7, #4]
+ 8002b40:      681b            ldr     r3, [r3, #0]
+ 8002b42:      f403 4300       and.w   r3, r3, #32768  ; 0x8000
+ 8002b46:      2b00            cmp     r3, #0
+ 8002b48:      d00a            beq.n   8002b60 <HAL_RCCEx_PeriphCLKConfig+0x26c>
   {
     /* Check the parameters */
     assert_param(IS_RCC_I2C2CLKSOURCE(PeriphClkInit->I2c2ClockSelection));
 
     /* Configure the I2C2 clock source */
     __HAL_RCC_I2C2_CONFIG(PeriphClkInit->I2c2ClockSelection);
- 8002b1a:      4b95            ldr     r3, [pc, #596]  ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002b1c:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 8002b20:      f423 2240       bic.w   r2, r3, #786432 ; 0xc0000
- 8002b24:      687b            ldr     r3, [r7, #4]
- 8002b26:      6e9b            ldr     r3, [r3, #104]  ; 0x68
- 8002b28:      4991            ldr     r1, [pc, #580]  ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002b2a:      4313            orrs    r3, r2
- 8002b2c:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
+ 8002b4a:      4b95            ldr     r3, [pc, #596]  ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002b4c:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8002b50:      f423 2240       bic.w   r2, r3, #786432 ; 0xc0000
+ 8002b54:      687b            ldr     r3, [r7, #4]
+ 8002b56:      6e9b            ldr     r3, [r3, #104]  ; 0x68
+ 8002b58:      4991            ldr     r1, [pc, #580]  ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002b5a:      4313            orrs    r3, r2
+ 8002b5c:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
   }
 
   /*-------------------------------------- I2C3 Configuration -----------------------------------*/
   if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2C3) == RCC_PERIPHCLK_I2C3)
- 8002b30:      687b            ldr     r3, [r7, #4]
- 8002b32:      681b            ldr     r3, [r3, #0]
- 8002b34:      f403 3380       and.w   r3, r3, #65536  ; 0x10000
- 8002b38:      2b00            cmp     r3, #0
- 8002b3a:      d00a            beq.n   8002b52 <HAL_RCCEx_PeriphCLKConfig+0x28e>
+ 8002b60:      687b            ldr     r3, [r7, #4]
+ 8002b62:      681b            ldr     r3, [r3, #0]
+ 8002b64:      f403 3380       and.w   r3, r3, #65536  ; 0x10000
+ 8002b68:      2b00            cmp     r3, #0
+ 8002b6a:      d00a            beq.n   8002b82 <HAL_RCCEx_PeriphCLKConfig+0x28e>
   {
     /* Check the parameters */
     assert_param(IS_RCC_I2C3CLKSOURCE(PeriphClkInit->I2c3ClockSelection));
 
     /* Configure the I2C3 clock source */
     __HAL_RCC_I2C3_CONFIG(PeriphClkInit->I2c3ClockSelection);
- 8002b3c:      4b8c            ldr     r3, [pc, #560]  ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002b3e:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 8002b42:      f423 1240       bic.w   r2, r3, #3145728        ; 0x300000
- 8002b46:      687b            ldr     r3, [r7, #4]
- 8002b48:      6edb            ldr     r3, [r3, #108]  ; 0x6c
- 8002b4a:      4989            ldr     r1, [pc, #548]  ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002b4c:      4313            orrs    r3, r2
- 8002b4e:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
+ 8002b6c:      4b8c            ldr     r3, [pc, #560]  ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002b6e:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8002b72:      f423 1240       bic.w   r2, r3, #3145728        ; 0x300000
+ 8002b76:      687b            ldr     r3, [r7, #4]
+ 8002b78:      6edb            ldr     r3, [r3, #108]  ; 0x6c
+ 8002b7a:      4989            ldr     r1, [pc, #548]  ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002b7c:      4313            orrs    r3, r2
+ 8002b7e:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
   }
 
   /*-------------------------------------- I2C4 Configuration -----------------------------------*/
   if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2C4) == RCC_PERIPHCLK_I2C4)
- 8002b52:      687b            ldr     r3, [r7, #4]
- 8002b54:      681b            ldr     r3, [r3, #0]
- 8002b56:      f403 3300       and.w   r3, r3, #131072 ; 0x20000
- 8002b5a:      2b00            cmp     r3, #0
- 8002b5c:      d00a            beq.n   8002b74 <HAL_RCCEx_PeriphCLKConfig+0x2b0>
+ 8002b82:      687b            ldr     r3, [r7, #4]
+ 8002b84:      681b            ldr     r3, [r3, #0]
+ 8002b86:      f403 3300       and.w   r3, r3, #131072 ; 0x20000
+ 8002b8a:      2b00            cmp     r3, #0
+ 8002b8c:      d00a            beq.n   8002ba4 <HAL_RCCEx_PeriphCLKConfig+0x2b0>
   {
     /* Check the parameters */
     assert_param(IS_RCC_I2C4CLKSOURCE(PeriphClkInit->I2c4ClockSelection));
 
     /* Configure the I2C4 clock source */
     __HAL_RCC_I2C4_CONFIG(PeriphClkInit->I2c4ClockSelection);
- 8002b5e:      4b84            ldr     r3, [pc, #528]  ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002b60:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 8002b64:      f423 0240       bic.w   r2, r3, #12582912       ; 0xc00000
- 8002b68:      687b            ldr     r3, [r7, #4]
- 8002b6a:      6f1b            ldr     r3, [r3, #112]  ; 0x70
- 8002b6c:      4980            ldr     r1, [pc, #512]  ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002b6e:      4313            orrs    r3, r2
- 8002b70:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
+ 8002b8e:      4b84            ldr     r3, [pc, #528]  ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002b90:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8002b94:      f423 0240       bic.w   r2, r3, #12582912       ; 0xc00000
+ 8002b98:      687b            ldr     r3, [r7, #4]
+ 8002b9a:      6f1b            ldr     r3, [r3, #112]  ; 0x70
+ 8002b9c:      4980            ldr     r1, [pc, #512]  ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002b9e:      4313            orrs    r3, r2
+ 8002ba0:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
   }
 
   /*-------------------------------------- USART1 Configuration -----------------------------------*/
   if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART1) == RCC_PERIPHCLK_USART1)
- 8002b74:      687b            ldr     r3, [r7, #4]
- 8002b76:      681b            ldr     r3, [r3, #0]
- 8002b78:      f003 0340       and.w   r3, r3, #64     ; 0x40
- 8002b7c:      2b00            cmp     r3, #0
- 8002b7e:      d00a            beq.n   8002b96 <HAL_RCCEx_PeriphCLKConfig+0x2d2>
+ 8002ba4:      687b            ldr     r3, [r7, #4]
+ 8002ba6:      681b            ldr     r3, [r3, #0]
+ 8002ba8:      f003 0340       and.w   r3, r3, #64     ; 0x40
+ 8002bac:      2b00            cmp     r3, #0
+ 8002bae:      d00a            beq.n   8002bc6 <HAL_RCCEx_PeriphCLKConfig+0x2d2>
   {
     /* Check the parameters */
     assert_param(IS_RCC_USART1CLKSOURCE(PeriphClkInit->Usart1ClockSelection));
 
     /* Configure the USART1 clock source */
     __HAL_RCC_USART1_CONFIG(PeriphClkInit->Usart1ClockSelection);
- 8002b80:      4b7b            ldr     r3, [pc, #492]  ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002b82:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 8002b86:      f023 0203       bic.w   r2, r3, #3
- 8002b8a:      687b            ldr     r3, [r7, #4]
- 8002b8c:      6c5b            ldr     r3, [r3, #68]   ; 0x44
- 8002b8e:      4978            ldr     r1, [pc, #480]  ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002b90:      4313            orrs    r3, r2
- 8002b92:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
+ 8002bb0:      4b7b            ldr     r3, [pc, #492]  ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002bb2:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8002bb6:      f023 0203       bic.w   r2, r3, #3
+ 8002bba:      687b            ldr     r3, [r7, #4]
+ 8002bbc:      6c5b            ldr     r3, [r3, #68]   ; 0x44
+ 8002bbe:      4978            ldr     r1, [pc, #480]  ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002bc0:      4313            orrs    r3, r2
+ 8002bc2:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
   }
 
   /*-------------------------------------- USART2 Configuration -----------------------------------*/
   if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART2) == RCC_PERIPHCLK_USART2)
- 8002b96:      687b            ldr     r3, [r7, #4]
- 8002b98:      681b            ldr     r3, [r3, #0]
- 8002b9a:      f003 0380       and.w   r3, r3, #128    ; 0x80
- 8002b9e:      2b00            cmp     r3, #0
- 8002ba0:      d00a            beq.n   8002bb8 <HAL_RCCEx_PeriphCLKConfig+0x2f4>
+ 8002bc6:      687b            ldr     r3, [r7, #4]
+ 8002bc8:      681b            ldr     r3, [r3, #0]
+ 8002bca:      f003 0380       and.w   r3, r3, #128    ; 0x80
+ 8002bce:      2b00            cmp     r3, #0
+ 8002bd0:      d00a            beq.n   8002be8 <HAL_RCCEx_PeriphCLKConfig+0x2f4>
   {
     /* Check the parameters */
     assert_param(IS_RCC_USART2CLKSOURCE(PeriphClkInit->Usart2ClockSelection));
 
     /* Configure the USART2 clock source */
     __HAL_RCC_USART2_CONFIG(PeriphClkInit->Usart2ClockSelection);
- 8002ba2:      4b73            ldr     r3, [pc, #460]  ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002ba4:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 8002ba8:      f023 020c       bic.w   r2, r3, #12
- 8002bac:      687b            ldr     r3, [r7, #4]
- 8002bae:      6c9b            ldr     r3, [r3, #72]   ; 0x48
- 8002bb0:      496f            ldr     r1, [pc, #444]  ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002bb2:      4313            orrs    r3, r2
- 8002bb4:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
+ 8002bd2:      4b73            ldr     r3, [pc, #460]  ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002bd4:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8002bd8:      f023 020c       bic.w   r2, r3, #12
+ 8002bdc:      687b            ldr     r3, [r7, #4]
+ 8002bde:      6c9b            ldr     r3, [r3, #72]   ; 0x48
+ 8002be0:      496f            ldr     r1, [pc, #444]  ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002be2:      4313            orrs    r3, r2
+ 8002be4:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
   }
 
   /*-------------------------------------- USART3 Configuration -----------------------------------*/
   if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART3) == RCC_PERIPHCLK_USART3)
- 8002bb8:      687b            ldr     r3, [r7, #4]
- 8002bba:      681b            ldr     r3, [r3, #0]
- 8002bbc:      f403 7380       and.w   r3, r3, #256    ; 0x100
- 8002bc0:      2b00            cmp     r3, #0
- 8002bc2:      d00a            beq.n   8002bda <HAL_RCCEx_PeriphCLKConfig+0x316>
+ 8002be8:      687b            ldr     r3, [r7, #4]
+ 8002bea:      681b            ldr     r3, [r3, #0]
+ 8002bec:      f403 7380       and.w   r3, r3, #256    ; 0x100
+ 8002bf0:      2b00            cmp     r3, #0
+ 8002bf2:      d00a            beq.n   8002c0a <HAL_RCCEx_PeriphCLKConfig+0x316>
   {
     /* Check the parameters */
     assert_param(IS_RCC_USART3CLKSOURCE(PeriphClkInit->Usart3ClockSelection));
 
     /* Configure the USART3 clock source */
     __HAL_RCC_USART3_CONFIG(PeriphClkInit->Usart3ClockSelection);
- 8002bc4:      4b6a            ldr     r3, [pc, #424]  ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002bc6:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 8002bca:      f023 0230       bic.w   r2, r3, #48     ; 0x30
- 8002bce:      687b            ldr     r3, [r7, #4]
- 8002bd0:      6cdb            ldr     r3, [r3, #76]   ; 0x4c
- 8002bd2:      4967            ldr     r1, [pc, #412]  ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002bd4:      4313            orrs    r3, r2
- 8002bd6:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
+ 8002bf4:      4b6a            ldr     r3, [pc, #424]  ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002bf6:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8002bfa:      f023 0230       bic.w   r2, r3, #48     ; 0x30
+ 8002bfe:      687b            ldr     r3, [r7, #4]
+ 8002c00:      6cdb            ldr     r3, [r3, #76]   ; 0x4c
+ 8002c02:      4967            ldr     r1, [pc, #412]  ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002c04:      4313            orrs    r3, r2
+ 8002c06:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
   }
 
   /*-------------------------------------- UART4 Configuration -----------------------------------*/
   if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_UART4) == RCC_PERIPHCLK_UART4)
- 8002bda:      687b            ldr     r3, [r7, #4]
- 8002bdc:      681b            ldr     r3, [r3, #0]
- 8002bde:      f403 7300       and.w   r3, r3, #512    ; 0x200
- 8002be2:      2b00            cmp     r3, #0
- 8002be4:      d00a            beq.n   8002bfc <HAL_RCCEx_PeriphCLKConfig+0x338>
+ 8002c0a:      687b            ldr     r3, [r7, #4]
+ 8002c0c:      681b            ldr     r3, [r3, #0]
+ 8002c0e:      f403 7300       and.w   r3, r3, #512    ; 0x200
+ 8002c12:      2b00            cmp     r3, #0
+ 8002c14:      d00a            beq.n   8002c2c <HAL_RCCEx_PeriphCLKConfig+0x338>
   {
     /* Check the parameters */
     assert_param(IS_RCC_UART4CLKSOURCE(PeriphClkInit->Uart4ClockSelection));
 
     /* Configure the UART4 clock source */
     __HAL_RCC_UART4_CONFIG(PeriphClkInit->Uart4ClockSelection);
- 8002be6:      4b62            ldr     r3, [pc, #392]  ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002be8:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 8002bec:      f023 02c0       bic.w   r2, r3, #192    ; 0xc0
- 8002bf0:      687b            ldr     r3, [r7, #4]
- 8002bf2:      6d1b            ldr     r3, [r3, #80]   ; 0x50
- 8002bf4:      495e            ldr     r1, [pc, #376]  ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002bf6:      4313            orrs    r3, r2
- 8002bf8:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
+ 8002c16:      4b62            ldr     r3, [pc, #392]  ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002c18:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8002c1c:      f023 02c0       bic.w   r2, r3, #192    ; 0xc0
+ 8002c20:      687b            ldr     r3, [r7, #4]
+ 8002c22:      6d1b            ldr     r3, [r3, #80]   ; 0x50
+ 8002c24:      495e            ldr     r1, [pc, #376]  ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002c26:      4313            orrs    r3, r2
+ 8002c28:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
   }
 
   /*-------------------------------------- UART5 Configuration -----------------------------------*/
   if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_UART5) == RCC_PERIPHCLK_UART5)
- 8002bfc:      687b            ldr     r3, [r7, #4]
- 8002bfe:      681b            ldr     r3, [r3, #0]
- 8002c00:      f403 6380       and.w   r3, r3, #1024   ; 0x400
- 8002c04:      2b00            cmp     r3, #0
- 8002c06:      d00a            beq.n   8002c1e <HAL_RCCEx_PeriphCLKConfig+0x35a>
+ 8002c2c:      687b            ldr     r3, [r7, #4]
+ 8002c2e:      681b            ldr     r3, [r3, #0]
+ 8002c30:      f403 6380       and.w   r3, r3, #1024   ; 0x400
+ 8002c34:      2b00            cmp     r3, #0
+ 8002c36:      d00a            beq.n   8002c4e <HAL_RCCEx_PeriphCLKConfig+0x35a>
   {
     /* Check the parameters */
     assert_param(IS_RCC_UART5CLKSOURCE(PeriphClkInit->Uart5ClockSelection));
 
     /* Configure the UART5 clock source */
     __HAL_RCC_UART5_CONFIG(PeriphClkInit->Uart5ClockSelection);
- 8002c08:      4b59            ldr     r3, [pc, #356]  ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002c0a:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 8002c0e:      f423 7240       bic.w   r2, r3, #768    ; 0x300
- 8002c12:      687b            ldr     r3, [r7, #4]
- 8002c14:      6d5b            ldr     r3, [r3, #84]   ; 0x54
- 8002c16:      4956            ldr     r1, [pc, #344]  ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002c18:      4313            orrs    r3, r2
- 8002c1a:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
+ 8002c38:      4b59            ldr     r3, [pc, #356]  ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002c3a:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8002c3e:      f423 7240       bic.w   r2, r3, #768    ; 0x300
+ 8002c42:      687b            ldr     r3, [r7, #4]
+ 8002c44:      6d5b            ldr     r3, [r3, #84]   ; 0x54
+ 8002c46:      4956            ldr     r1, [pc, #344]  ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002c48:      4313            orrs    r3, r2
+ 8002c4a:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
   }
 
   /*-------------------------------------- USART6 Configuration -----------------------------------*/
   if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART6) == RCC_PERIPHCLK_USART6)
- 8002c1e:      687b            ldr     r3, [r7, #4]
- 8002c20:      681b            ldr     r3, [r3, #0]
- 8002c22:      f403 6300       and.w   r3, r3, #2048   ; 0x800
- 8002c26:      2b00            cmp     r3, #0
- 8002c28:      d00a            beq.n   8002c40 <HAL_RCCEx_PeriphCLKConfig+0x37c>
+ 8002c4e:      687b            ldr     r3, [r7, #4]
+ 8002c50:      681b            ldr     r3, [r3, #0]
+ 8002c52:      f403 6300       and.w   r3, r3, #2048   ; 0x800
+ 8002c56:      2b00            cmp     r3, #0
+ 8002c58:      d00a            beq.n   8002c70 <HAL_RCCEx_PeriphCLKConfig+0x37c>
   {
     /* Check the parameters */
     assert_param(IS_RCC_USART6CLKSOURCE(PeriphClkInit->Usart6ClockSelection));
 
     /* Configure the USART6 clock source */
     __HAL_RCC_USART6_CONFIG(PeriphClkInit->Usart6ClockSelection);
- 8002c2a:      4b51            ldr     r3, [pc, #324]  ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002c2c:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 8002c30:      f423 6240       bic.w   r2, r3, #3072   ; 0xc00
- 8002c34:      687b            ldr     r3, [r7, #4]
- 8002c36:      6d9b            ldr     r3, [r3, #88]   ; 0x58
- 8002c38:      494d            ldr     r1, [pc, #308]  ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002c3a:      4313            orrs    r3, r2
- 8002c3c:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
+ 8002c5a:      4b51            ldr     r3, [pc, #324]  ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002c5c:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8002c60:      f423 6240       bic.w   r2, r3, #3072   ; 0xc00
+ 8002c64:      687b            ldr     r3, [r7, #4]
+ 8002c66:      6d9b            ldr     r3, [r3, #88]   ; 0x58
+ 8002c68:      494d            ldr     r1, [pc, #308]  ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002c6a:      4313            orrs    r3, r2
+ 8002c6c:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
   }
 
   /*-------------------------------------- UART7 Configuration -----------------------------------*/
   if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_UART7) == RCC_PERIPHCLK_UART7)
- 8002c40:      687b            ldr     r3, [r7, #4]
- 8002c42:      681b            ldr     r3, [r3, #0]
- 8002c44:      f403 5380       and.w   r3, r3, #4096   ; 0x1000
- 8002c48:      2b00            cmp     r3, #0
- 8002c4a:      d00a            beq.n   8002c62 <HAL_RCCEx_PeriphCLKConfig+0x39e>
+ 8002c70:      687b            ldr     r3, [r7, #4]
+ 8002c72:      681b            ldr     r3, [r3, #0]
+ 8002c74:      f403 5380       and.w   r3, r3, #4096   ; 0x1000
+ 8002c78:      2b00            cmp     r3, #0
+ 8002c7a:      d00a            beq.n   8002c92 <HAL_RCCEx_PeriphCLKConfig+0x39e>
   {
     /* Check the parameters */
     assert_param(IS_RCC_UART7CLKSOURCE(PeriphClkInit->Uart7ClockSelection));
 
     /* Configure the UART7 clock source */
     __HAL_RCC_UART7_CONFIG(PeriphClkInit->Uart7ClockSelection);
- 8002c4c:      4b48            ldr     r3, [pc, #288]  ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002c4e:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 8002c52:      f423 5240       bic.w   r2, r3, #12288  ; 0x3000
- 8002c56:      687b            ldr     r3, [r7, #4]
- 8002c58:      6ddb            ldr     r3, [r3, #92]   ; 0x5c
- 8002c5a:      4945            ldr     r1, [pc, #276]  ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002c5c:      4313            orrs    r3, r2
- 8002c5e:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
+ 8002c7c:      4b48            ldr     r3, [pc, #288]  ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002c7e:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8002c82:      f423 5240       bic.w   r2, r3, #12288  ; 0x3000
+ 8002c86:      687b            ldr     r3, [r7, #4]
+ 8002c88:      6ddb            ldr     r3, [r3, #92]   ; 0x5c
+ 8002c8a:      4945            ldr     r1, [pc, #276]  ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002c8c:      4313            orrs    r3, r2
+ 8002c8e:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
   }
 
   /*-------------------------------------- UART8 Configuration -----------------------------------*/
   if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_UART8) == RCC_PERIPHCLK_UART8)
- 8002c62:      687b            ldr     r3, [r7, #4]
- 8002c64:      681b            ldr     r3, [r3, #0]
- 8002c66:      f403 5300       and.w   r3, r3, #8192   ; 0x2000
- 8002c6a:      2b00            cmp     r3, #0
- 8002c6c:      d00a            beq.n   8002c84 <HAL_RCCEx_PeriphCLKConfig+0x3c0>
+ 8002c92:      687b            ldr     r3, [r7, #4]
+ 8002c94:      681b            ldr     r3, [r3, #0]
+ 8002c96:      f403 5300       and.w   r3, r3, #8192   ; 0x2000
+ 8002c9a:      2b00            cmp     r3, #0
+ 8002c9c:      d00a            beq.n   8002cb4 <HAL_RCCEx_PeriphCLKConfig+0x3c0>
   {
     /* Check the parameters */
     assert_param(IS_RCC_UART8CLKSOURCE(PeriphClkInit->Uart8ClockSelection));
 
     /* Configure the UART8 clock source */
     __HAL_RCC_UART8_CONFIG(PeriphClkInit->Uart8ClockSelection);
- 8002c6e:      4b40            ldr     r3, [pc, #256]  ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002c70:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 8002c74:      f423 4240       bic.w   r2, r3, #49152  ; 0xc000
- 8002c78:      687b            ldr     r3, [r7, #4]
- 8002c7a:      6e1b            ldr     r3, [r3, #96]   ; 0x60
- 8002c7c:      493c            ldr     r1, [pc, #240]  ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002c7e:      4313            orrs    r3, r2
- 8002c80:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
+ 8002c9e:      4b40            ldr     r3, [pc, #256]  ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002ca0:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8002ca4:      f423 4240       bic.w   r2, r3, #49152  ; 0xc000
+ 8002ca8:      687b            ldr     r3, [r7, #4]
+ 8002caa:      6e1b            ldr     r3, [r3, #96]   ; 0x60
+ 8002cac:      493c            ldr     r1, [pc, #240]  ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002cae:      4313            orrs    r3, r2
+ 8002cb0:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
   }
 
   /*--------------------------------------- CEC Configuration -----------------------------------*/
   if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_CEC) == RCC_PERIPHCLK_CEC)
- 8002c84:      687b            ldr     r3, [r7, #4]
- 8002c86:      681b            ldr     r3, [r3, #0]
- 8002c88:      f403 0380       and.w   r3, r3, #4194304        ; 0x400000
- 8002c8c:      2b00            cmp     r3, #0
- 8002c8e:      d00a            beq.n   8002ca6 <HAL_RCCEx_PeriphCLKConfig+0x3e2>
+ 8002cb4:      687b            ldr     r3, [r7, #4]
+ 8002cb6:      681b            ldr     r3, [r3, #0]
+ 8002cb8:      f403 0380       and.w   r3, r3, #4194304        ; 0x400000
+ 8002cbc:      2b00            cmp     r3, #0
+ 8002cbe:      d00a            beq.n   8002cd6 <HAL_RCCEx_PeriphCLKConfig+0x3e2>
   {
     /* Check the parameters */
     assert_param(IS_RCC_CECCLKSOURCE(PeriphClkInit->CecClockSelection));
 
     /* Configure the CEC clock source */
     __HAL_RCC_CEC_CONFIG(PeriphClkInit->CecClockSelection);
- 8002c90:      4b37            ldr     r3, [pc, #220]  ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002c92:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 8002c96:      f023 6280       bic.w   r2, r3, #67108864       ; 0x4000000
- 8002c9a:      687b            ldr     r3, [r7, #4]
- 8002c9c:      6f9b            ldr     r3, [r3, #120]  ; 0x78
- 8002c9e:      4934            ldr     r1, [pc, #208]  ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002ca0:      4313            orrs    r3, r2
- 8002ca2:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
+ 8002cc0:      4b37            ldr     r3, [pc, #220]  ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002cc2:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8002cc6:      f023 6280       bic.w   r2, r3, #67108864       ; 0x4000000
+ 8002cca:      687b            ldr     r3, [r7, #4]
+ 8002ccc:      6f9b            ldr     r3, [r3, #120]  ; 0x78
+ 8002cce:      4934            ldr     r1, [pc, #208]  ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002cd0:      4313            orrs    r3, r2
+ 8002cd2:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
   }
 
   /*-------------------------------------- CK48 Configuration -----------------------------------*/
   if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_CLK48) == RCC_PERIPHCLK_CLK48)
- 8002ca6:      687b            ldr     r3, [r7, #4]
- 8002ca8:      681b            ldr     r3, [r3, #0]
- 8002caa:      f403 1300       and.w   r3, r3, #2097152        ; 0x200000
- 8002cae:      2b00            cmp     r3, #0
- 8002cb0:      d011            beq.n   8002cd6 <HAL_RCCEx_PeriphCLKConfig+0x412>
+ 8002cd6:      687b            ldr     r3, [r7, #4]
+ 8002cd8:      681b            ldr     r3, [r3, #0]
+ 8002cda:      f403 1300       and.w   r3, r3, #2097152        ; 0x200000
+ 8002cde:      2b00            cmp     r3, #0
+ 8002ce0:      d011            beq.n   8002d06 <HAL_RCCEx_PeriphCLKConfig+0x412>
   {
     /* Check the parameters */
     assert_param(IS_RCC_CLK48SOURCE(PeriphClkInit->Clk48ClockSelection));
 
     /* Configure the CLK48 source */
     __HAL_RCC_CLK48_CONFIG(PeriphClkInit->Clk48ClockSelection);
- 8002cb2:      4b2f            ldr     r3, [pc, #188]  ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002cb4:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 8002cb8:      f023 6200       bic.w   r2, r3, #134217728      ; 0x8000000
- 8002cbc:      687b            ldr     r3, [r7, #4]
- 8002cbe:      6fdb            ldr     r3, [r3, #124]  ; 0x7c
- 8002cc0:      492b            ldr     r1, [pc, #172]  ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002cc2:      4313            orrs    r3, r2
- 8002cc4:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
+ 8002ce2:      4b2f            ldr     r3, [pc, #188]  ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002ce4:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8002ce8:      f023 6200       bic.w   r2, r3, #134217728      ; 0x8000000
+ 8002cec:      687b            ldr     r3, [r7, #4]
+ 8002cee:      6fdb            ldr     r3, [r3, #124]  ; 0x7c
+ 8002cf0:      492b            ldr     r1, [pc, #172]  ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002cf2:      4313            orrs    r3, r2
+ 8002cf4:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
 
     /* Enable the PLLSAI when it's used as clock source for CK48 */
     if(PeriphClkInit->Clk48ClockSelection == RCC_CLK48SOURCE_PLLSAIP)
- 8002cc8:      687b            ldr     r3, [r7, #4]
- 8002cca:      6fdb            ldr     r3, [r3, #124]  ; 0x7c
- 8002ccc:      f1b3 6f00       cmp.w   r3, #134217728  ; 0x8000000
- 8002cd0:      d101            bne.n   8002cd6 <HAL_RCCEx_PeriphCLKConfig+0x412>
+ 8002cf8:      687b            ldr     r3, [r7, #4]
+ 8002cfa:      6fdb            ldr     r3, [r3, #124]  ; 0x7c
+ 8002cfc:      f1b3 6f00       cmp.w   r3, #134217728  ; 0x8000000
+ 8002d00:      d101            bne.n   8002d06 <HAL_RCCEx_PeriphCLKConfig+0x412>
     {
       pllsaiused = 1;
- 8002cd2:      2301            movs    r3, #1
- 8002cd4:      61bb            str     r3, [r7, #24]
+ 8002d02:      2301            movs    r3, #1
+ 8002d04:      61bb            str     r3, [r7, #24]
     }
   }
 
   /*-------------------------------------- LTDC Configuration -----------------------------------*/
 #if defined(STM32F746xx) || defined(STM32F756xx) || defined (STM32F767xx) || defined (STM32F769xx) || defined (STM32F777xx) || defined (STM32F779xx) || defined (STM32F750xx)
   if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_LTDC) == RCC_PERIPHCLK_LTDC)
- 8002cd6:      687b            ldr     r3, [r7, #4]
- 8002cd8:      681b            ldr     r3, [r3, #0]
- 8002cda:      f003 0308       and.w   r3, r3, #8
- 8002cde:      2b00            cmp     r3, #0
- 8002ce0:      d001            beq.n   8002ce6 <HAL_RCCEx_PeriphCLKConfig+0x422>
+ 8002d06:      687b            ldr     r3, [r7, #4]
+ 8002d08:      681b            ldr     r3, [r3, #0]
+ 8002d0a:      f003 0308       and.w   r3, r3, #8
+ 8002d0e:      2b00            cmp     r3, #0
+ 8002d10:      d001            beq.n   8002d16 <HAL_RCCEx_PeriphCLKConfig+0x422>
   {
     pllsaiused = 1;
- 8002ce2:      2301            movs    r3, #1
- 8002ce4:      61bb            str     r3, [r7, #24]
+ 8002d12:      2301            movs    r3, #1
+ 8002d14:      61bb            str     r3, [r7, #24]
   }
 #endif /* STM32F746xx || STM32F756xx || STM32F767xx || STM32F769xx || STM32F777xx || STM32F779xx || STM32F750xx */
 
   /*-------------------------------------- LPTIM1 Configuration -----------------------------------*/
   if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_LPTIM1) == RCC_PERIPHCLK_LPTIM1)
- 8002ce6:      687b            ldr     r3, [r7, #4]
- 8002ce8:      681b            ldr     r3, [r3, #0]
- 8002cea:      f403 2380       and.w   r3, r3, #262144 ; 0x40000
- 8002cee:      2b00            cmp     r3, #0
- 8002cf0:      d00a            beq.n   8002d08 <HAL_RCCEx_PeriphCLKConfig+0x444>
+ 8002d16:      687b            ldr     r3, [r7, #4]
+ 8002d18:      681b            ldr     r3, [r3, #0]
+ 8002d1a:      f403 2380       and.w   r3, r3, #262144 ; 0x40000
+ 8002d1e:      2b00            cmp     r3, #0
+ 8002d20:      d00a            beq.n   8002d38 <HAL_RCCEx_PeriphCLKConfig+0x444>
   {
     /* Check the parameters */
     assert_param(IS_RCC_LPTIM1CLK(PeriphClkInit->Lptim1ClockSelection));
 
     /* Configure the LTPIM1 clock source */
     __HAL_RCC_LPTIM1_CONFIG(PeriphClkInit->Lptim1ClockSelection);
- 8002cf2:      4b1f            ldr     r3, [pc, #124]  ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002cf4:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 8002cf8:      f023 7240       bic.w   r2, r3, #50331648       ; 0x3000000
- 8002cfc:      687b            ldr     r3, [r7, #4]
- 8002cfe:      6f5b            ldr     r3, [r3, #116]  ; 0x74
- 8002d00:      491b            ldr     r1, [pc, #108]  ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002d02:      4313            orrs    r3, r2
- 8002d04:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
+ 8002d22:      4b1f            ldr     r3, [pc, #124]  ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002d24:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8002d28:      f023 7240       bic.w   r2, r3, #50331648       ; 0x3000000
+ 8002d2c:      687b            ldr     r3, [r7, #4]
+ 8002d2e:      6f5b            ldr     r3, [r3, #116]  ; 0x74
+ 8002d30:      491b            ldr     r1, [pc, #108]  ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002d32:      4313            orrs    r3, r2
+ 8002d34:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
    }
 
   /*------------------------------------- SDMMC1 Configuration ------------------------------------*/
   if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SDMMC1) == RCC_PERIPHCLK_SDMMC1)
- 8002d08:      687b            ldr     r3, [r7, #4]
- 8002d0a:      681b            ldr     r3, [r3, #0]
- 8002d0c:      f403 0300       and.w   r3, r3, #8388608        ; 0x800000
- 8002d10:      2b00            cmp     r3, #0
- 8002d12:      d00b            beq.n   8002d2c <HAL_RCCEx_PeriphCLKConfig+0x468>
+ 8002d38:      687b            ldr     r3, [r7, #4]
+ 8002d3a:      681b            ldr     r3, [r3, #0]
+ 8002d3c:      f403 0300       and.w   r3, r3, #8388608        ; 0x800000
+ 8002d40:      2b00            cmp     r3, #0
+ 8002d42:      d00b            beq.n   8002d5c <HAL_RCCEx_PeriphCLKConfig+0x468>
   {
     /* Check the parameters */
     assert_param(IS_RCC_SDMMC1CLKSOURCE(PeriphClkInit->Sdmmc1ClockSelection));
 
     /* Configure the SDMMC1 clock source */
     __HAL_RCC_SDMMC1_CONFIG(PeriphClkInit->Sdmmc1ClockSelection);
- 8002d14:      4b16            ldr     r3, [pc, #88]   ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002d16:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 8002d1a:      f023 5280       bic.w   r2, r3, #268435456      ; 0x10000000
- 8002d1e:      687b            ldr     r3, [r7, #4]
- 8002d20:      f8d3 3080       ldr.w   r3, [r3, #128]  ; 0x80
- 8002d24:      4912            ldr     r1, [pc, #72]   ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002d26:      4313            orrs    r3, r2
- 8002d28:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
+ 8002d44:      4b16            ldr     r3, [pc, #88]   ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002d46:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8002d4a:      f023 5280       bic.w   r2, r3, #268435456      ; 0x10000000
+ 8002d4e:      687b            ldr     r3, [r7, #4]
+ 8002d50:      f8d3 3080       ldr.w   r3, [r3, #128]  ; 0x80
+ 8002d54:      4912            ldr     r1, [pc, #72]   ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002d56:      4313            orrs    r3, r2
+ 8002d58:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
   }
 
 #if defined (STM32F765xx) || defined (STM32F767xx) || defined (STM32F769xx) || defined (STM32F777xx) || defined (STM32F779xx)
   /*------------------------------------- SDMMC2 Configuration ------------------------------------*/
   if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SDMMC2) == RCC_PERIPHCLK_SDMMC2)
- 8002d2c:      687b            ldr     r3, [r7, #4]
- 8002d2e:      681b            ldr     r3, [r3, #0]
- 8002d30:      f003 6380       and.w   r3, r3, #67108864       ; 0x4000000
- 8002d34:      2b00            cmp     r3, #0
- 8002d36:      d00b            beq.n   8002d50 <HAL_RCCEx_PeriphCLKConfig+0x48c>
+ 8002d5c:      687b            ldr     r3, [r7, #4]
+ 8002d5e:      681b            ldr     r3, [r3, #0]
+ 8002d60:      f003 6380       and.w   r3, r3, #67108864       ; 0x4000000
+ 8002d64:      2b00            cmp     r3, #0
+ 8002d66:      d00b            beq.n   8002d80 <HAL_RCCEx_PeriphCLKConfig+0x48c>
   {
     /* Check the parameters */
     assert_param(IS_RCC_SDMMC2CLKSOURCE(PeriphClkInit->Sdmmc2ClockSelection));
 
     /* Configure the SDMMC2 clock source */
     __HAL_RCC_SDMMC2_CONFIG(PeriphClkInit->Sdmmc2ClockSelection);
- 8002d38:      4b0d            ldr     r3, [pc, #52]   ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002d3a:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 8002d3e:      f023 5200       bic.w   r2, r3, #536870912      ; 0x20000000
- 8002d42:      687b            ldr     r3, [r7, #4]
- 8002d44:      f8d3 3084       ldr.w   r3, [r3, #132]  ; 0x84
- 8002d48:      4909            ldr     r1, [pc, #36]   ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002d4a:      4313            orrs    r3, r2
- 8002d4c:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
+ 8002d68:      4b0d            ldr     r3, [pc, #52]   ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002d6a:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8002d6e:      f023 5200       bic.w   r2, r3, #536870912      ; 0x20000000
+ 8002d72:      687b            ldr     r3, [r7, #4]
+ 8002d74:      f8d3 3084       ldr.w   r3, [r3, #132]  ; 0x84
+ 8002d78:      4909            ldr     r1, [pc, #36]   ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002d7a:      4313            orrs    r3, r2
+ 8002d7c:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
   }
 
   /*------------------------------------- DFSDM1 Configuration -------------------------------------*/
   if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_DFSDM1) == RCC_PERIPHCLK_DFSDM1)
- 8002d50:      687b            ldr     r3, [r7, #4]
- 8002d52:      681b            ldr     r3, [r3, #0]
- 8002d54:      f003 6300       and.w   r3, r3, #134217728      ; 0x8000000
- 8002d58:      2b00            cmp     r3, #0
- 8002d5a:      d00f            beq.n   8002d7c <HAL_RCCEx_PeriphCLKConfig+0x4b8>
+ 8002d80:      687b            ldr     r3, [r7, #4]
+ 8002d82:      681b            ldr     r3, [r3, #0]
+ 8002d84:      f003 6300       and.w   r3, r3, #134217728      ; 0x8000000
+ 8002d88:      2b00            cmp     r3, #0
+ 8002d8a:      d00f            beq.n   8002dac <HAL_RCCEx_PeriphCLKConfig+0x4b8>
   {
     /* Check the parameters */
     assert_param(IS_RCC_DFSDM1CLKSOURCE(PeriphClkInit->Dfsdm1ClockSelection));
 
     /* Configure the DFSDM1 interface clock source */
     __HAL_RCC_DFSDM1_CONFIG(PeriphClkInit->Dfsdm1ClockSelection);
- 8002d5c:      4b04            ldr     r3, [pc, #16]   ; (8002d70 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8002d5e:      f8d3 308c       ldr.w   r3, [r3, #140]  ; 0x8c
- 8002d62:      f023 7200       bic.w   r2, r3, #33554432       ; 0x2000000
- 8002d66:      687b            ldr     r3, [r7, #4]
- 8002d68:      f8d3 3088       ldr.w   r3, [r3, #136]  ; 0x88
- 8002d6c:      e002            b.n     8002d74 <HAL_RCCEx_PeriphCLKConfig+0x4b0>
- 8002d6e:      bf00            nop
- 8002d70:      40023800        .word   0x40023800
- 8002d74:      4985            ldr     r1, [pc, #532]  ; (8002f8c <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 8002d76:      4313            orrs    r3, r2
- 8002d78:      f8c1 308c       str.w   r3, [r1, #140]  ; 0x8c
+ 8002d8c:      4b04            ldr     r3, [pc, #16]   ; (8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8002d8e:      f8d3 308c       ldr.w   r3, [r3, #140]  ; 0x8c
+ 8002d92:      f023 7200       bic.w   r2, r3, #33554432       ; 0x2000000
+ 8002d96:      687b            ldr     r3, [r7, #4]
+ 8002d98:      f8d3 3088       ldr.w   r3, [r3, #136]  ; 0x88
+ 8002d9c:      e002            b.n     8002da4 <HAL_RCCEx_PeriphCLKConfig+0x4b0>
+ 8002d9e:      bf00            nop
+ 8002da0:      40023800        .word   0x40023800
+ 8002da4:      4985            ldr     r1, [pc, #532]  ; (8002fbc <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 8002da6:      4313            orrs    r3, r2
+ 8002da8:      f8c1 308c       str.w   r3, [r1, #140]  ; 0x8c
   }
 
   /*------------------------------------- DFSDM AUDIO Configuration -------------------------------------*/
   if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_DFSDM1_AUDIO) == RCC_PERIPHCLK_DFSDM1_AUDIO)
- 8002d7c:      687b            ldr     r3, [r7, #4]
- 8002d7e:      681b            ldr     r3, [r3, #0]
- 8002d80:      f003 5380       and.w   r3, r3, #268435456      ; 0x10000000
- 8002d84:      2b00            cmp     r3, #0
- 8002d86:      d00b            beq.n   8002da0 <HAL_RCCEx_PeriphCLKConfig+0x4dc>
+ 8002dac:      687b            ldr     r3, [r7, #4]
+ 8002dae:      681b            ldr     r3, [r3, #0]
+ 8002db0:      f003 5380       and.w   r3, r3, #268435456      ; 0x10000000
+ 8002db4:      2b00            cmp     r3, #0
+ 8002db6:      d00b            beq.n   8002dd0 <HAL_RCCEx_PeriphCLKConfig+0x4dc>
   {
     /* Check the parameters */
     assert_param(IS_RCC_DFSDM1AUDIOCLKSOURCE(PeriphClkInit->Dfsdm1AudioClockSelection));
 
     /* Configure the DFSDM interface clock source */
     __HAL_RCC_DFSDM1AUDIO_CONFIG(PeriphClkInit->Dfsdm1AudioClockSelection);
- 8002d88:      4b80            ldr     r3, [pc, #512]  ; (8002f8c <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 8002d8a:      f8d3 308c       ldr.w   r3, [r3, #140]  ; 0x8c
- 8002d8e:      f023 6280       bic.w   r2, r3, #67108864       ; 0x4000000
- 8002d92:      687b            ldr     r3, [r7, #4]
- 8002d94:      f8d3 308c       ldr.w   r3, [r3, #140]  ; 0x8c
- 8002d98:      497c            ldr     r1, [pc, #496]  ; (8002f8c <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 8002d9a:      4313            orrs    r3, r2
- 8002d9c:      f8c1 308c       str.w   r3, [r1, #140]  ; 0x8c
+ 8002db8:      4b80            ldr     r3, [pc, #512]  ; (8002fbc <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 8002dba:      f8d3 308c       ldr.w   r3, [r3, #140]  ; 0x8c
+ 8002dbe:      f023 6280       bic.w   r2, r3, #67108864       ; 0x4000000
+ 8002dc2:      687b            ldr     r3, [r7, #4]
+ 8002dc4:      f8d3 308c       ldr.w   r3, [r3, #140]  ; 0x8c
+ 8002dc8:      497c            ldr     r1, [pc, #496]  ; (8002fbc <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 8002dca:      4313            orrs    r3, r2
+ 8002dcc:      f8c1 308c       str.w   r3, [r1, #140]  ; 0x8c
   }
 #endif /* STM32F767xx || STM32F769xx || STM32F777xx || STM32F779xx */
 
   /*-------------------------------------- PLLI2S Configuration ---------------------------------*/
   /* PLLI2S is configured when a peripheral will use it as source clock : SAI1, SAI2, I2S or SPDIF-RX */
   if((plli2sused == 1) || (PeriphClkInit->PeriphClockSelection == RCC_PERIPHCLK_PLLI2S))
- 8002da0:      69fb            ldr     r3, [r7, #28]
- 8002da2:      2b01            cmp     r3, #1
- 8002da4:      d005            beq.n   8002db2 <HAL_RCCEx_PeriphCLKConfig+0x4ee>
- 8002da6:      687b            ldr     r3, [r7, #4]
- 8002da8:      681b            ldr     r3, [r3, #0]
- 8002daa:      f1b3 7f00       cmp.w   r3, #33554432   ; 0x2000000
- 8002dae:      f040 80d6       bne.w   8002f5e <HAL_RCCEx_PeriphCLKConfig+0x69a>
+ 8002dd0:      69fb            ldr     r3, [r7, #28]
+ 8002dd2:      2b01            cmp     r3, #1
+ 8002dd4:      d005            beq.n   8002de2 <HAL_RCCEx_PeriphCLKConfig+0x4ee>
+ 8002dd6:      687b            ldr     r3, [r7, #4]
+ 8002dd8:      681b            ldr     r3, [r3, #0]
+ 8002dda:      f1b3 7f00       cmp.w   r3, #33554432   ; 0x2000000
+ 8002dde:      f040 80d6       bne.w   8002f8e <HAL_RCCEx_PeriphCLKConfig+0x69a>
   {
     /* Disable the PLLI2S */
     __HAL_RCC_PLLI2S_DISABLE();
- 8002db2:      4b76            ldr     r3, [pc, #472]  ; (8002f8c <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 8002db4:      681b            ldr     r3, [r3, #0]
- 8002db6:      4a75            ldr     r2, [pc, #468]  ; (8002f8c <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 8002db8:      f023 6380       bic.w   r3, r3, #67108864       ; 0x4000000
- 8002dbc:      6013            str     r3, [r2, #0]
+ 8002de2:      4b76            ldr     r3, [pc, #472]  ; (8002fbc <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 8002de4:      681b            ldr     r3, [r3, #0]
+ 8002de6:      4a75            ldr     r2, [pc, #468]  ; (8002fbc <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 8002de8:      f023 6380       bic.w   r3, r3, #67108864       ; 0x4000000
+ 8002dec:      6013            str     r3, [r2, #0]
 
     /* Get Start Tick*/
     tickstart = HAL_GetTick();
- 8002dbe:      f7fe fe25       bl      8001a0c <HAL_GetTick>
- 8002dc2:      6178            str     r0, [r7, #20]
+ 8002dee:      f7fe fe25       bl      8001a3c <HAL_GetTick>
+ 8002df2:      6178            str     r0, [r7, #20]
 
     /* Wait till PLLI2S is disabled */
     while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLI2SRDY)  != RESET)
- 8002dc4:      e008            b.n     8002dd8 <HAL_RCCEx_PeriphCLKConfig+0x514>
+ 8002df4:      e008            b.n     8002e08 <HAL_RCCEx_PeriphCLKConfig+0x514>
     {
       if((HAL_GetTick() - tickstart) > PLLI2S_TIMEOUT_VALUE)
- 8002dc6:      f7fe fe21       bl      8001a0c <HAL_GetTick>
- 8002dca:      4602            mov     r2, r0
- 8002dcc:      697b            ldr     r3, [r7, #20]
- 8002dce:      1ad3            subs    r3, r2, r3
- 8002dd0:      2b64            cmp     r3, #100        ; 0x64
- 8002dd2:      d901            bls.n   8002dd8 <HAL_RCCEx_PeriphCLKConfig+0x514>
+ 8002df6:      f7fe fe21       bl      8001a3c <HAL_GetTick>
+ 8002dfa:      4602            mov     r2, r0
+ 8002dfc:      697b            ldr     r3, [r7, #20]
+ 8002dfe:      1ad3            subs    r3, r2, r3
+ 8002e00:      2b64            cmp     r3, #100        ; 0x64
+ 8002e02:      d901            bls.n   8002e08 <HAL_RCCEx_PeriphCLKConfig+0x514>
       {
         /* return in case of Timeout detected */
         return HAL_TIMEOUT;
- 8002dd4:      2303            movs    r3, #3
- 8002dd6:      e194            b.n     8003102 <HAL_RCCEx_PeriphCLKConfig+0x83e>
+ 8002e04:      2303            movs    r3, #3
+ 8002e06:      e194            b.n     8003132 <HAL_RCCEx_PeriphCLKConfig+0x83e>
     while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLI2SRDY)  != RESET)
- 8002dd8:      4b6c            ldr     r3, [pc, #432]  ; (8002f8c <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 8002dda:      681b            ldr     r3, [r3, #0]
- 8002ddc:      f003 6300       and.w   r3, r3, #134217728      ; 0x8000000
- 8002de0:      2b00            cmp     r3, #0
- 8002de2:      d1f0            bne.n   8002dc6 <HAL_RCCEx_PeriphCLKConfig+0x502>
+ 8002e08:      4b6c            ldr     r3, [pc, #432]  ; (8002fbc <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 8002e0a:      681b            ldr     r3, [r3, #0]
+ 8002e0c:      f003 6300       and.w   r3, r3, #134217728      ; 0x8000000
+ 8002e10:      2b00            cmp     r3, #0
+ 8002e12:      d1f0            bne.n   8002df6 <HAL_RCCEx_PeriphCLKConfig+0x502>
 
     /* check for common PLLI2S Parameters */
     assert_param(IS_RCC_PLLI2SN_VALUE(PeriphClkInit->PLLI2S.PLLI2SN));
 
     /*----------------- In Case of PLLI2S is selected as source clock for I2S -------------------*/
     if(((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2S) == RCC_PERIPHCLK_I2S) && (PeriphClkInit->I2sClockSelection == RCC_I2SCLKSOURCE_PLLI2S)))
- 8002de4:      687b            ldr     r3, [r7, #4]
- 8002de6:      681b            ldr     r3, [r3, #0]
- 8002de8:      f003 0301       and.w   r3, r3, #1
- 8002dec:      2b00            cmp     r3, #0
- 8002dee:      d021            beq.n   8002e34 <HAL_RCCEx_PeriphCLKConfig+0x570>
- 8002df0:      687b            ldr     r3, [r7, #4]
- 8002df2:      6b5b            ldr     r3, [r3, #52]   ; 0x34
- 8002df4:      2b00            cmp     r3, #0
- 8002df6:      d11d            bne.n   8002e34 <HAL_RCCEx_PeriphCLKConfig+0x570>
+ 8002e14:      687b            ldr     r3, [r7, #4]
+ 8002e16:      681b            ldr     r3, [r3, #0]
+ 8002e18:      f003 0301       and.w   r3, r3, #1
+ 8002e1c:      2b00            cmp     r3, #0
+ 8002e1e:      d021            beq.n   8002e64 <HAL_RCCEx_PeriphCLKConfig+0x570>
+ 8002e20:      687b            ldr     r3, [r7, #4]
+ 8002e22:      6b5b            ldr     r3, [r3, #52]   ; 0x34
+ 8002e24:      2b00            cmp     r3, #0
+ 8002e26:      d11d            bne.n   8002e64 <HAL_RCCEx_PeriphCLKConfig+0x570>
     {
       /* check for Parameters */
       assert_param(IS_RCC_PLLI2SR_VALUE(PeriphClkInit->PLLI2S.PLLI2SR));
 
       /* Read PLLI2SP and PLLI2SQ value from PLLI2SCFGR register (this value is not needed for I2S configuration) */
       tmpreg0 = ((RCC->PLLI2SCFGR & RCC_PLLI2SCFGR_PLLI2SP) >> RCC_PLLI2SCFGR_PLLI2SP_Pos);
- 8002df8:      4b64            ldr     r3, [pc, #400]  ; (8002f8c <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 8002dfa:      f8d3 3084       ldr.w   r3, [r3, #132]  ; 0x84
- 8002dfe:      0c1b            lsrs    r3, r3, #16
- 8002e00:      f003 0303       and.w   r3, r3, #3
- 8002e04:      613b            str     r3, [r7, #16]
+ 8002e28:      4b64            ldr     r3, [pc, #400]  ; (8002fbc <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 8002e2a:      f8d3 3084       ldr.w   r3, [r3, #132]  ; 0x84
+ 8002e2e:      0c1b            lsrs    r3, r3, #16
+ 8002e30:      f003 0303       and.w   r3, r3, #3
+ 8002e34:      613b            str     r3, [r7, #16]
       tmpreg1 = ((RCC->PLLI2SCFGR & RCC_PLLI2SCFGR_PLLI2SQ) >> RCC_PLLI2SCFGR_PLLI2SQ_Pos);
- 8002e06:      4b61            ldr     r3, [pc, #388]  ; (8002f8c <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 8002e08:      f8d3 3084       ldr.w   r3, [r3, #132]  ; 0x84
- 8002e0c:      0e1b            lsrs    r3, r3, #24
- 8002e0e:      f003 030f       and.w   r3, r3, #15
- 8002e12:      60fb            str     r3, [r7, #12]
+ 8002e36:      4b61            ldr     r3, [pc, #388]  ; (8002fbc <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 8002e38:      f8d3 3084       ldr.w   r3, [r3, #132]  ; 0x84
+ 8002e3c:      0e1b            lsrs    r3, r3, #24
+ 8002e3e:      f003 030f       and.w   r3, r3, #15
+ 8002e42:      60fb            str     r3, [r7, #12]
       /* Configure the PLLI2S division factors */
       /* PLLI2S_VCO = f(VCO clock) = f(PLLI2S clock input) x (PLLI2SN/PLLM) */
       /* I2SCLK = f(PLLI2S clock output) = f(VCO clock) / PLLI2SR */
       __HAL_RCC_PLLI2S_CONFIG(PeriphClkInit->PLLI2S.PLLI2SN , tmpreg0, tmpreg1, PeriphClkInit->PLLI2S.PLLI2SR);
- 8002e14:      687b            ldr     r3, [r7, #4]
- 8002e16:      685b            ldr     r3, [r3, #4]
- 8002e18:      019a            lsls    r2, r3, #6
- 8002e1a:      693b            ldr     r3, [r7, #16]
- 8002e1c:      041b            lsls    r3, r3, #16
- 8002e1e:      431a            orrs    r2, r3
- 8002e20:      68fb            ldr     r3, [r7, #12]
- 8002e22:      061b            lsls    r3, r3, #24
- 8002e24:      431a            orrs    r2, r3
- 8002e26:      687b            ldr     r3, [r7, #4]
- 8002e28:      689b            ldr     r3, [r3, #8]
- 8002e2a:      071b            lsls    r3, r3, #28
- 8002e2c:      4957            ldr     r1, [pc, #348]  ; (8002f8c <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 8002e2e:      4313            orrs    r3, r2
- 8002e30:      f8c1 3084       str.w   r3, [r1, #132]  ; 0x84
+ 8002e44:      687b            ldr     r3, [r7, #4]
+ 8002e46:      685b            ldr     r3, [r3, #4]
+ 8002e48:      019a            lsls    r2, r3, #6
+ 8002e4a:      693b            ldr     r3, [r7, #16]
+ 8002e4c:      041b            lsls    r3, r3, #16
+ 8002e4e:      431a            orrs    r2, r3
+ 8002e50:      68fb            ldr     r3, [r7, #12]
+ 8002e52:      061b            lsls    r3, r3, #24
+ 8002e54:      431a            orrs    r2, r3
+ 8002e56:      687b            ldr     r3, [r7, #4]
+ 8002e58:      689b            ldr     r3, [r3, #8]
+ 8002e5a:      071b            lsls    r3, r3, #28
+ 8002e5c:      4957            ldr     r1, [pc, #348]  ; (8002fbc <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 8002e5e:      4313            orrs    r3, r2
+ 8002e60:      f8c1 3084       str.w   r3, [r1, #132]  ; 0x84
     }
 
     /*----------------- In Case of PLLI2S is selected as source clock for SAI -------------------*/
     if(((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI1) == RCC_PERIPHCLK_SAI1) && (PeriphClkInit->Sai1ClockSelection == RCC_SAI1CLKSOURCE_PLLI2S)) ||
- 8002e34:      687b            ldr     r3, [r7, #4]
- 8002e36:      681b            ldr     r3, [r3, #0]
- 8002e38:      f403 2300       and.w   r3, r3, #524288 ; 0x80000
- 8002e3c:      2b00            cmp     r3, #0
- 8002e3e:      d004            beq.n   8002e4a <HAL_RCCEx_PeriphCLKConfig+0x586>
- 8002e40:      687b            ldr     r3, [r7, #4]
- 8002e42:      6bdb            ldr     r3, [r3, #60]   ; 0x3c
- 8002e44:      f5b3 1f80       cmp.w   r3, #1048576    ; 0x100000
- 8002e48:      d00a            beq.n   8002e60 <HAL_RCCEx_PeriphCLKConfig+0x59c>
+ 8002e64:      687b            ldr     r3, [r7, #4]
+ 8002e66:      681b            ldr     r3, [r3, #0]
+ 8002e68:      f403 2300       and.w   r3, r3, #524288 ; 0x80000
+ 8002e6c:      2b00            cmp     r3, #0
+ 8002e6e:      d004            beq.n   8002e7a <HAL_RCCEx_PeriphCLKConfig+0x586>
+ 8002e70:      687b            ldr     r3, [r7, #4]
+ 8002e72:      6bdb            ldr     r3, [r3, #60]   ; 0x3c
+ 8002e74:      f5b3 1f80       cmp.w   r3, #1048576    ; 0x100000
+ 8002e78:      d00a            beq.n   8002e90 <HAL_RCCEx_PeriphCLKConfig+0x59c>
        ((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2) == RCC_PERIPHCLK_SAI2) && (PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLI2S)))
- 8002e4a:      687b            ldr     r3, [r7, #4]
- 8002e4c:      681b            ldr     r3, [r3, #0]
- 8002e4e:      f403 1380       and.w   r3, r3, #1048576        ; 0x100000
+ 8002e7a:      687b            ldr     r3, [r7, #4]
+ 8002e7c:      681b            ldr     r3, [r3, #0]
+ 8002e7e:      f403 1380       and.w   r3, r3, #1048576        ; 0x100000
     if(((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI1) == RCC_PERIPHCLK_SAI1) && (PeriphClkInit->Sai1ClockSelection == RCC_SAI1CLKSOURCE_PLLI2S)) ||
- 8002e52:      2b00            cmp     r3, #0
- 8002e54:      d02e            beq.n   8002eb4 <HAL_RCCEx_PeriphCLKConfig+0x5f0>
+ 8002e82:      2b00            cmp     r3, #0
+ 8002e84:      d02e            beq.n   8002ee4 <HAL_RCCEx_PeriphCLKConfig+0x5f0>
        ((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2) == RCC_PERIPHCLK_SAI2) && (PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLI2S)))
- 8002e56:      687b            ldr     r3, [r7, #4]
- 8002e58:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 8002e5a:      f5b3 0f80       cmp.w   r3, #4194304    ; 0x400000
- 8002e5e:      d129            bne.n   8002eb4 <HAL_RCCEx_PeriphCLKConfig+0x5f0>
+ 8002e86:      687b            ldr     r3, [r7, #4]
+ 8002e88:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 8002e8a:      f5b3 0f80       cmp.w   r3, #4194304    ; 0x400000
+ 8002e8e:      d129            bne.n   8002ee4 <HAL_RCCEx_PeriphCLKConfig+0x5f0>
       assert_param(IS_RCC_PLLI2SQ_VALUE(PeriphClkInit->PLLI2S.PLLI2SQ));
       /* Check for PLLI2S/DIVQ parameters */
       assert_param(IS_RCC_PLLI2S_DIVQ_VALUE(PeriphClkInit->PLLI2SDivQ));
 
       /* Read PLLI2SP and PLLI2SR values from PLLI2SCFGR register (this value is not needed for SAI configuration) */
       tmpreg0 = ((RCC->PLLI2SCFGR & RCC_PLLI2SCFGR_PLLI2SP) >> RCC_PLLI2SCFGR_PLLI2SP_Pos);
- 8002e60:      4b4a            ldr     r3, [pc, #296]  ; (8002f8c <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 8002e62:      f8d3 3084       ldr.w   r3, [r3, #132]  ; 0x84
- 8002e66:      0c1b            lsrs    r3, r3, #16
- 8002e68:      f003 0303       and.w   r3, r3, #3
- 8002e6c:      613b            str     r3, [r7, #16]
+ 8002e90:      4b4a            ldr     r3, [pc, #296]  ; (8002fbc <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 8002e92:      f8d3 3084       ldr.w   r3, [r3, #132]  ; 0x84
+ 8002e96:      0c1b            lsrs    r3, r3, #16
+ 8002e98:      f003 0303       and.w   r3, r3, #3
+ 8002e9c:      613b            str     r3, [r7, #16]
       tmpreg1 = ((RCC->PLLI2SCFGR & RCC_PLLI2SCFGR_PLLI2SR) >> RCC_PLLI2SCFGR_PLLI2SR_Pos);
- 8002e6e:      4b47            ldr     r3, [pc, #284]  ; (8002f8c <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 8002e70:      f8d3 3084       ldr.w   r3, [r3, #132]  ; 0x84
- 8002e74:      0f1b            lsrs    r3, r3, #28
- 8002e76:      f003 0307       and.w   r3, r3, #7
- 8002e7a:      60fb            str     r3, [r7, #12]
+ 8002e9e:      4b47            ldr     r3, [pc, #284]  ; (8002fbc <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 8002ea0:      f8d3 3084       ldr.w   r3, [r3, #132]  ; 0x84
+ 8002ea4:      0f1b            lsrs    r3, r3, #28
+ 8002ea6:      f003 0307       and.w   r3, r3, #7
+ 8002eaa:      60fb            str     r3, [r7, #12]
       /* Configure the PLLI2S division factors */
       /* PLLI2S_VCO Input  = PLL_SOURCE/PLLM */
       /* PLLI2S_VCO Output = PLLI2S_VCO Input * PLLI2SN */
       /* SAI_CLK(first level) = PLLI2S_VCO Output/PLLI2SQ */
       __HAL_RCC_PLLI2S_CONFIG(PeriphClkInit->PLLI2S.PLLI2SN, tmpreg0, PeriphClkInit->PLLI2S.PLLI2SQ, tmpreg1);
- 8002e7c:      687b            ldr     r3, [r7, #4]
- 8002e7e:      685b            ldr     r3, [r3, #4]
- 8002e80:      019a            lsls    r2, r3, #6
- 8002e82:      693b            ldr     r3, [r7, #16]
- 8002e84:      041b            lsls    r3, r3, #16
- 8002e86:      431a            orrs    r2, r3
- 8002e88:      687b            ldr     r3, [r7, #4]
- 8002e8a:      68db            ldr     r3, [r3, #12]
- 8002e8c:      061b            lsls    r3, r3, #24
- 8002e8e:      431a            orrs    r2, r3
- 8002e90:      68fb            ldr     r3, [r7, #12]
- 8002e92:      071b            lsls    r3, r3, #28
- 8002e94:      493d            ldr     r1, [pc, #244]  ; (8002f8c <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 8002e96:      4313            orrs    r3, r2
- 8002e98:      f8c1 3084       str.w   r3, [r1, #132]  ; 0x84
+ 8002eac:      687b            ldr     r3, [r7, #4]
+ 8002eae:      685b            ldr     r3, [r3, #4]
+ 8002eb0:      019a            lsls    r2, r3, #6
+ 8002eb2:      693b            ldr     r3, [r7, #16]
+ 8002eb4:      041b            lsls    r3, r3, #16
+ 8002eb6:      431a            orrs    r2, r3
+ 8002eb8:      687b            ldr     r3, [r7, #4]
+ 8002eba:      68db            ldr     r3, [r3, #12]
+ 8002ebc:      061b            lsls    r3, r3, #24
+ 8002ebe:      431a            orrs    r2, r3
+ 8002ec0:      68fb            ldr     r3, [r7, #12]
+ 8002ec2:      071b            lsls    r3, r3, #28
+ 8002ec4:      493d            ldr     r1, [pc, #244]  ; (8002fbc <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 8002ec6:      4313            orrs    r3, r2
+ 8002ec8:      f8c1 3084       str.w   r3, [r1, #132]  ; 0x84
 
       /* SAI_CLK_x = SAI_CLK(first level)/PLLI2SDIVQ */
       __HAL_RCC_PLLI2S_PLLSAICLKDIVQ_CONFIG(PeriphClkInit->PLLI2SDivQ);
- 8002e9c:      4b3b            ldr     r3, [pc, #236]  ; (8002f8c <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 8002e9e:      f8d3 308c       ldr.w   r3, [r3, #140]  ; 0x8c
- 8002ea2:      f023 021f       bic.w   r2, r3, #31
- 8002ea6:      687b            ldr     r3, [r7, #4]
- 8002ea8:      6a5b            ldr     r3, [r3, #36]   ; 0x24
- 8002eaa:      3b01            subs    r3, #1
- 8002eac:      4937            ldr     r1, [pc, #220]  ; (8002f8c <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 8002eae:      4313            orrs    r3, r2
- 8002eb0:      f8c1 308c       str.w   r3, [r1, #140]  ; 0x8c
+ 8002ecc:      4b3b            ldr     r3, [pc, #236]  ; (8002fbc <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 8002ece:      f8d3 308c       ldr.w   r3, [r3, #140]  ; 0x8c
+ 8002ed2:      f023 021f       bic.w   r2, r3, #31
+ 8002ed6:      687b            ldr     r3, [r7, #4]
+ 8002ed8:      6a5b            ldr     r3, [r3, #36]   ; 0x24
+ 8002eda:      3b01            subs    r3, #1
+ 8002edc:      4937            ldr     r1, [pc, #220]  ; (8002fbc <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 8002ede:      4313            orrs    r3, r2
+ 8002ee0:      f8c1 308c       str.w   r3, [r1, #140]  ; 0x8c
     }
 
     /*----------------- In Case of PLLI2S is selected as source clock for SPDIF-RX -------------------*/
     if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SPDIFRX) == RCC_PERIPHCLK_SPDIFRX)
- 8002eb4:      687b            ldr     r3, [r7, #4]
- 8002eb6:      681b            ldr     r3, [r3, #0]
- 8002eb8:      f003 7380       and.w   r3, r3, #16777216       ; 0x1000000
- 8002ebc:      2b00            cmp     r3, #0
- 8002ebe:      d01d            beq.n   8002efc <HAL_RCCEx_PeriphCLKConfig+0x638>
+ 8002ee4:      687b            ldr     r3, [r7, #4]
+ 8002ee6:      681b            ldr     r3, [r3, #0]
+ 8002ee8:      f003 7380       and.w   r3, r3, #16777216       ; 0x1000000
+ 8002eec:      2b00            cmp     r3, #0
+ 8002eee:      d01d            beq.n   8002f2c <HAL_RCCEx_PeriphCLKConfig+0x638>
     {
       /* check for Parameters */
       assert_param(IS_RCC_PLLI2SP_VALUE(PeriphClkInit->PLLI2S.PLLI2SP));
 
      /* Read PLLI2SR value from PLLI2SCFGR register (this value is not needed for SPDIF-RX configuration) */
       tmpreg0 = ((RCC->PLLI2SCFGR & RCC_PLLI2SCFGR_PLLI2SQ) >> RCC_PLLI2SCFGR_PLLI2SQ_Pos);
- 8002ec0:      4b32            ldr     r3, [pc, #200]  ; (8002f8c <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 8002ec2:      f8d3 3084       ldr.w   r3, [r3, #132]  ; 0x84
- 8002ec6:      0e1b            lsrs    r3, r3, #24
- 8002ec8:      f003 030f       and.w   r3, r3, #15
- 8002ecc:      613b            str     r3, [r7, #16]
+ 8002ef0:      4b32            ldr     r3, [pc, #200]  ; (8002fbc <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 8002ef2:      f8d3 3084       ldr.w   r3, [r3, #132]  ; 0x84
+ 8002ef6:      0e1b            lsrs    r3, r3, #24
+ 8002ef8:      f003 030f       and.w   r3, r3, #15
+ 8002efc:      613b            str     r3, [r7, #16]
       tmpreg1 = ((RCC->PLLI2SCFGR & RCC_PLLI2SCFGR_PLLI2SR) >> RCC_PLLI2SCFGR_PLLI2SR_Pos);
- 8002ece:      4b2f            ldr     r3, [pc, #188]  ; (8002f8c <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 8002ed0:      f8d3 3084       ldr.w   r3, [r3, #132]  ; 0x84
- 8002ed4:      0f1b            lsrs    r3, r3, #28
- 8002ed6:      f003 0307       and.w   r3, r3, #7
- 8002eda:      60fb            str     r3, [r7, #12]
+ 8002efe:      4b2f            ldr     r3, [pc, #188]  ; (8002fbc <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 8002f00:      f8d3 3084       ldr.w   r3, [r3, #132]  ; 0x84
+ 8002f04:      0f1b            lsrs    r3, r3, #28
+ 8002f06:      f003 0307       and.w   r3, r3, #7
+ 8002f0a:      60fb            str     r3, [r7, #12]
       /* Configure the PLLI2S division factors */
       /* PLLI2S_VCO = f(VCO clock) = f(PLLI2S clock input) x (PLLI2SN/PLLM) */
       /* SPDIFCLK = f(PLLI2S clock output) = f(VCO clock) / PLLI2SP */
       __HAL_RCC_PLLI2S_CONFIG(PeriphClkInit->PLLI2S.PLLI2SN , PeriphClkInit->PLLI2S.PLLI2SP, tmpreg0, tmpreg1);
- 8002edc:      687b            ldr     r3, [r7, #4]
- 8002ede:      685b            ldr     r3, [r3, #4]
- 8002ee0:      019a            lsls    r2, r3, #6
- 8002ee2:      687b            ldr     r3, [r7, #4]
- 8002ee4:      691b            ldr     r3, [r3, #16]
- 8002ee6:      041b            lsls    r3, r3, #16
- 8002ee8:      431a            orrs    r2, r3
- 8002eea:      693b            ldr     r3, [r7, #16]
- 8002eec:      061b            lsls    r3, r3, #24
- 8002eee:      431a            orrs    r2, r3
- 8002ef0:      68fb            ldr     r3, [r7, #12]
- 8002ef2:      071b            lsls    r3, r3, #28
- 8002ef4:      4925            ldr     r1, [pc, #148]  ; (8002f8c <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 8002ef6:      4313            orrs    r3, r2
- 8002ef8:      f8c1 3084       str.w   r3, [r1, #132]  ; 0x84
+ 8002f0c:      687b            ldr     r3, [r7, #4]
+ 8002f0e:      685b            ldr     r3, [r3, #4]
+ 8002f10:      019a            lsls    r2, r3, #6
+ 8002f12:      687b            ldr     r3, [r7, #4]
+ 8002f14:      691b            ldr     r3, [r3, #16]
+ 8002f16:      041b            lsls    r3, r3, #16
+ 8002f18:      431a            orrs    r2, r3
+ 8002f1a:      693b            ldr     r3, [r7, #16]
+ 8002f1c:      061b            lsls    r3, r3, #24
+ 8002f1e:      431a            orrs    r2, r3
+ 8002f20:      68fb            ldr     r3, [r7, #12]
+ 8002f22:      071b            lsls    r3, r3, #28
+ 8002f24:      4925            ldr     r1, [pc, #148]  ; (8002fbc <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 8002f26:      4313            orrs    r3, r2
+ 8002f28:      f8c1 3084       str.w   r3, [r1, #132]  ; 0x84
     }
 
     /*----------------- In Case of PLLI2S is just selected  -----------------*/
     if((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_PLLI2S) == RCC_PERIPHCLK_PLLI2S)
- 8002efc:      687b            ldr     r3, [r7, #4]
- 8002efe:      681b            ldr     r3, [r3, #0]
- 8002f00:      f003 7300       and.w   r3, r3, #33554432       ; 0x2000000
- 8002f04:      2b00            cmp     r3, #0
- 8002f06:      d011            beq.n   8002f2c <HAL_RCCEx_PeriphCLKConfig+0x668>
+ 8002f2c:      687b            ldr     r3, [r7, #4]
+ 8002f2e:      681b            ldr     r3, [r3, #0]
+ 8002f30:      f003 7300       and.w   r3, r3, #33554432       ; 0x2000000
+ 8002f34:      2b00            cmp     r3, #0
+ 8002f36:      d011            beq.n   8002f5c <HAL_RCCEx_PeriphCLKConfig+0x668>
       assert_param(IS_RCC_PLLI2SQ_VALUE(PeriphClkInit->PLLI2S.PLLI2SQ));
 
       /* Configure the PLLI2S division factors */
       /* PLLI2S_VCO = f(VCO clock) = f(PLLI2S clock input) x (PLLI2SN/PLLI2SM) */
       /* SPDIFRXCLK = f(PLLI2S clock output) = f(VCO clock) / PLLI2SP */
       __HAL_RCC_PLLI2S_CONFIG(PeriphClkInit->PLLI2S.PLLI2SN , PeriphClkInit->PLLI2S.PLLI2SP, PeriphClkInit->PLLI2S.PLLI2SQ, PeriphClkInit->PLLI2S.PLLI2SR);
- 8002f08:      687b            ldr     r3, [r7, #4]
- 8002f0a:      685b            ldr     r3, [r3, #4]
- 8002f0c:      019a            lsls    r2, r3, #6
- 8002f0e:      687b            ldr     r3, [r7, #4]
- 8002f10:      691b            ldr     r3, [r3, #16]
- 8002f12:      041b            lsls    r3, r3, #16
- 8002f14:      431a            orrs    r2, r3
- 8002f16:      687b            ldr     r3, [r7, #4]
- 8002f18:      68db            ldr     r3, [r3, #12]
- 8002f1a:      061b            lsls    r3, r3, #24
- 8002f1c:      431a            orrs    r2, r3
- 8002f1e:      687b            ldr     r3, [r7, #4]
- 8002f20:      689b            ldr     r3, [r3, #8]
- 8002f22:      071b            lsls    r3, r3, #28
- 8002f24:      4919            ldr     r1, [pc, #100]  ; (8002f8c <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 8002f26:      4313            orrs    r3, r2
- 8002f28:      f8c1 3084       str.w   r3, [r1, #132]  ; 0x84
+ 8002f38:      687b            ldr     r3, [r7, #4]
+ 8002f3a:      685b            ldr     r3, [r3, #4]
+ 8002f3c:      019a            lsls    r2, r3, #6
+ 8002f3e:      687b            ldr     r3, [r7, #4]
+ 8002f40:      691b            ldr     r3, [r3, #16]
+ 8002f42:      041b            lsls    r3, r3, #16
+ 8002f44:      431a            orrs    r2, r3
+ 8002f46:      687b            ldr     r3, [r7, #4]
+ 8002f48:      68db            ldr     r3, [r3, #12]
+ 8002f4a:      061b            lsls    r3, r3, #24
+ 8002f4c:      431a            orrs    r2, r3
+ 8002f4e:      687b            ldr     r3, [r7, #4]
+ 8002f50:      689b            ldr     r3, [r3, #8]
+ 8002f52:      071b            lsls    r3, r3, #28
+ 8002f54:      4919            ldr     r1, [pc, #100]  ; (8002fbc <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 8002f56:      4313            orrs    r3, r2
+ 8002f58:      f8c1 3084       str.w   r3, [r1, #132]  ; 0x84
     }
 
     /* Enable the PLLI2S */
     __HAL_RCC_PLLI2S_ENABLE();
- 8002f2c:      4b17            ldr     r3, [pc, #92]   ; (8002f8c <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 8002f2e:      681b            ldr     r3, [r3, #0]
- 8002f30:      4a16            ldr     r2, [pc, #88]   ; (8002f8c <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 8002f32:      f043 6380       orr.w   r3, r3, #67108864       ; 0x4000000
- 8002f36:      6013            str     r3, [r2, #0]
+ 8002f5c:      4b17            ldr     r3, [pc, #92]   ; (8002fbc <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 8002f5e:      681b            ldr     r3, [r3, #0]
+ 8002f60:      4a16            ldr     r2, [pc, #88]   ; (8002fbc <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 8002f62:      f043 6380       orr.w   r3, r3, #67108864       ; 0x4000000
+ 8002f66:      6013            str     r3, [r2, #0]
 
     /* Get Start Tick*/
     tickstart = HAL_GetTick();
- 8002f38:      f7fe fd68       bl      8001a0c <HAL_GetTick>
- 8002f3c:      6178            str     r0, [r7, #20]
+ 8002f68:      f7fe fd68       bl      8001a3c <HAL_GetTick>
+ 8002f6c:      6178            str     r0, [r7, #20]
 
     /* Wait till PLLI2S is ready */
     while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLI2SRDY)  == RESET)
- 8002f3e:      e008            b.n     8002f52 <HAL_RCCEx_PeriphCLKConfig+0x68e>
+ 8002f6e:      e008            b.n     8002f82 <HAL_RCCEx_PeriphCLKConfig+0x68e>
     {
       if((HAL_GetTick() - tickstart) > PLLI2S_TIMEOUT_VALUE)
- 8002f40:      f7fe fd64       bl      8001a0c <HAL_GetTick>
- 8002f44:      4602            mov     r2, r0
- 8002f46:      697b            ldr     r3, [r7, #20]
- 8002f48:      1ad3            subs    r3, r2, r3
- 8002f4a:      2b64            cmp     r3, #100        ; 0x64
- 8002f4c:      d901            bls.n   8002f52 <HAL_RCCEx_PeriphCLKConfig+0x68e>
+ 8002f70:      f7fe fd64       bl      8001a3c <HAL_GetTick>
+ 8002f74:      4602            mov     r2, r0
+ 8002f76:      697b            ldr     r3, [r7, #20]
+ 8002f78:      1ad3            subs    r3, r2, r3
+ 8002f7a:      2b64            cmp     r3, #100        ; 0x64
+ 8002f7c:      d901            bls.n   8002f82 <HAL_RCCEx_PeriphCLKConfig+0x68e>
       {
         /* return in case of Timeout detected */
         return HAL_TIMEOUT;
- 8002f4e:      2303            movs    r3, #3
- 8002f50:      e0d7            b.n     8003102 <HAL_RCCEx_PeriphCLKConfig+0x83e>
+ 8002f7e:      2303            movs    r3, #3
+ 8002f80:      e0d7            b.n     8003132 <HAL_RCCEx_PeriphCLKConfig+0x83e>
     while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLI2SRDY)  == RESET)
- 8002f52:      4b0e            ldr     r3, [pc, #56]   ; (8002f8c <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 8002f54:      681b            ldr     r3, [r3, #0]
- 8002f56:      f003 6300       and.w   r3, r3, #134217728      ; 0x8000000
- 8002f5a:      2b00            cmp     r3, #0
- 8002f5c:      d0f0            beq.n   8002f40 <HAL_RCCEx_PeriphCLKConfig+0x67c>
+ 8002f82:      4b0e            ldr     r3, [pc, #56]   ; (8002fbc <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 8002f84:      681b            ldr     r3, [r3, #0]
+ 8002f86:      f003 6300       and.w   r3, r3, #134217728      ; 0x8000000
+ 8002f8a:      2b00            cmp     r3, #0
+ 8002f8c:      d0f0            beq.n   8002f70 <HAL_RCCEx_PeriphCLKConfig+0x67c>
     }
   }
 
   /*-------------------------------------- PLLSAI Configuration ---------------------------------*/
   /* PLLSAI is configured when a peripheral will use it as source clock : SAI1, SAI2, LTDC or CK48 */
   if(pllsaiused == 1)
- 8002f5e:      69bb            ldr     r3, [r7, #24]
- 8002f60:      2b01            cmp     r3, #1
- 8002f62:      f040 80cd       bne.w   8003100 <HAL_RCCEx_PeriphCLKConfig+0x83c>
+ 8002f8e:      69bb            ldr     r3, [r7, #24]
+ 8002f90:      2b01            cmp     r3, #1
+ 8002f92:      f040 80cd       bne.w   8003130 <HAL_RCCEx_PeriphCLKConfig+0x83c>
   {
     /* Disable PLLSAI Clock */
     __HAL_RCC_PLLSAI_DISABLE();
- 8002f66:      4b09            ldr     r3, [pc, #36]   ; (8002f8c <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 8002f68:      681b            ldr     r3, [r3, #0]
- 8002f6a:      4a08            ldr     r2, [pc, #32]   ; (8002f8c <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 8002f6c:      f023 5380       bic.w   r3, r3, #268435456      ; 0x10000000
- 8002f70:      6013            str     r3, [r2, #0]
+ 8002f96:      4b09            ldr     r3, [pc, #36]   ; (8002fbc <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 8002f98:      681b            ldr     r3, [r3, #0]
+ 8002f9a:      4a08            ldr     r2, [pc, #32]   ; (8002fbc <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 8002f9c:      f023 5380       bic.w   r3, r3, #268435456      ; 0x10000000
+ 8002fa0:      6013            str     r3, [r2, #0]
 
     /* Get Start Tick*/
     tickstart = HAL_GetTick();
- 8002f72:      f7fe fd4b       bl      8001a0c <HAL_GetTick>
- 8002f76:      6178            str     r0, [r7, #20]
+ 8002fa2:      f7fe fd4b       bl      8001a3c <HAL_GetTick>
+ 8002fa6:      6178            str     r0, [r7, #20]
 
     /* Wait till PLLSAI is disabled */
     while(__HAL_RCC_PLLSAI_GET_FLAG() != RESET)
- 8002f78:      e00a            b.n     8002f90 <HAL_RCCEx_PeriphCLKConfig+0x6cc>
+ 8002fa8:      e00a            b.n     8002fc0 <HAL_RCCEx_PeriphCLKConfig+0x6cc>
     {
       if((HAL_GetTick() - tickstart) > PLLSAI_TIMEOUT_VALUE)
- 8002f7a:      f7fe fd47       bl      8001a0c <HAL_GetTick>
- 8002f7e:      4602            mov     r2, r0
- 8002f80:      697b            ldr     r3, [r7, #20]
- 8002f82:      1ad3            subs    r3, r2, r3
- 8002f84:      2b64            cmp     r3, #100        ; 0x64
- 8002f86:      d903            bls.n   8002f90 <HAL_RCCEx_PeriphCLKConfig+0x6cc>
+ 8002faa:      f7fe fd47       bl      8001a3c <HAL_GetTick>
+ 8002fae:      4602            mov     r2, r0
+ 8002fb0:      697b            ldr     r3, [r7, #20]
+ 8002fb2:      1ad3            subs    r3, r2, r3
+ 8002fb4:      2b64            cmp     r3, #100        ; 0x64
+ 8002fb6:      d903            bls.n   8002fc0 <HAL_RCCEx_PeriphCLKConfig+0x6cc>
       {
         /* return in case of Timeout detected */
         return HAL_TIMEOUT;
- 8002f88:      2303            movs    r3, #3
- 8002f8a:      e0ba            b.n     8003102 <HAL_RCCEx_PeriphCLKConfig+0x83e>
- 8002f8c:      40023800        .word   0x40023800
+ 8002fb8:      2303            movs    r3, #3
+ 8002fba:      e0ba            b.n     8003132 <HAL_RCCEx_PeriphCLKConfig+0x83e>
+ 8002fbc:      40023800        .word   0x40023800
     while(__HAL_RCC_PLLSAI_GET_FLAG() != RESET)
- 8002f90:      4b5e            ldr     r3, [pc, #376]  ; (800310c <HAL_RCCEx_PeriphCLKConfig+0x848>)
- 8002f92:      681b            ldr     r3, [r3, #0]
- 8002f94:      f003 5300       and.w   r3, r3, #536870912      ; 0x20000000
- 8002f98:      f1b3 5f00       cmp.w   r3, #536870912  ; 0x20000000
- 8002f9c:      d0ed            beq.n   8002f7a <HAL_RCCEx_PeriphCLKConfig+0x6b6>
+ 8002fc0:      4b5e            ldr     r3, [pc, #376]  ; (800313c <HAL_RCCEx_PeriphCLKConfig+0x848>)
+ 8002fc2:      681b            ldr     r3, [r3, #0]
+ 8002fc4:      f003 5300       and.w   r3, r3, #536870912      ; 0x20000000
+ 8002fc8:      f1b3 5f00       cmp.w   r3, #536870912  ; 0x20000000
+ 8002fcc:      d0ed            beq.n   8002faa <HAL_RCCEx_PeriphCLKConfig+0x6b6>
 
     /* Check the PLLSAI division factors */
     assert_param(IS_RCC_PLLSAIN_VALUE(PeriphClkInit->PLLSAI.PLLSAIN));
 
     /*----------------- In Case of PLLSAI is selected as source clock for SAI -------------------*/
     if(((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI1) == RCC_PERIPHCLK_SAI1) && (PeriphClkInit->Sai1ClockSelection == RCC_SAI1CLKSOURCE_PLLSAI)) ||\
- 8002f9e:      687b            ldr     r3, [r7, #4]
- 8002fa0:      681b            ldr     r3, [r3, #0]
- 8002fa2:      f403 2300       and.w   r3, r3, #524288 ; 0x80000
- 8002fa6:      2b00            cmp     r3, #0
- 8002fa8:      d003            beq.n   8002fb2 <HAL_RCCEx_PeriphCLKConfig+0x6ee>
- 8002faa:      687b            ldr     r3, [r7, #4]
- 8002fac:      6bdb            ldr     r3, [r3, #60]   ; 0x3c
- 8002fae:      2b00            cmp     r3, #0
- 8002fb0:      d009            beq.n   8002fc6 <HAL_RCCEx_PeriphCLKConfig+0x702>
+ 8002fce:      687b            ldr     r3, [r7, #4]
+ 8002fd0:      681b            ldr     r3, [r3, #0]
+ 8002fd2:      f403 2300       and.w   r3, r3, #524288 ; 0x80000
+ 8002fd6:      2b00            cmp     r3, #0
+ 8002fd8:      d003            beq.n   8002fe2 <HAL_RCCEx_PeriphCLKConfig+0x6ee>
+ 8002fda:      687b            ldr     r3, [r7, #4]
+ 8002fdc:      6bdb            ldr     r3, [r3, #60]   ; 0x3c
+ 8002fde:      2b00            cmp     r3, #0
+ 8002fe0:      d009            beq.n   8002ff6 <HAL_RCCEx_PeriphCLKConfig+0x702>
        ((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2) == RCC_PERIPHCLK_SAI2) && (PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLSAI)))
- 8002fb2:      687b            ldr     r3, [r7, #4]
- 8002fb4:      681b            ldr     r3, [r3, #0]
- 8002fb6:      f403 1380       and.w   r3, r3, #1048576        ; 0x100000
+ 8002fe2:      687b            ldr     r3, [r7, #4]
+ 8002fe4:      681b            ldr     r3, [r3, #0]
+ 8002fe6:      f403 1380       and.w   r3, r3, #1048576        ; 0x100000
     if(((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI1) == RCC_PERIPHCLK_SAI1) && (PeriphClkInit->Sai1ClockSelection == RCC_SAI1CLKSOURCE_PLLSAI)) ||\
- 8002fba:      2b00            cmp     r3, #0
- 8002fbc:      d02e            beq.n   800301c <HAL_RCCEx_PeriphCLKConfig+0x758>
+ 8002fea:      2b00            cmp     r3, #0
+ 8002fec:      d02e            beq.n   800304c <HAL_RCCEx_PeriphCLKConfig+0x758>
        ((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2) == RCC_PERIPHCLK_SAI2) && (PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLSAI)))
- 8002fbe:      687b            ldr     r3, [r7, #4]
- 8002fc0:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 8002fc2:      2b00            cmp     r3, #0
- 8002fc4:      d12a            bne.n   800301c <HAL_RCCEx_PeriphCLKConfig+0x758>
+ 8002fee:      687b            ldr     r3, [r7, #4]
+ 8002ff0:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 8002ff2:      2b00            cmp     r3, #0
+ 8002ff4:      d12a            bne.n   800304c <HAL_RCCEx_PeriphCLKConfig+0x758>
       assert_param(IS_RCC_PLLSAIQ_VALUE(PeriphClkInit->PLLSAI.PLLSAIQ));
       /* check for PLLSAI/DIVQ Parameter */
       assert_param(IS_RCC_PLLSAI_DIVQ_VALUE(PeriphClkInit->PLLSAIDivQ));
 
       /* Read PLLSAIP value from PLLSAICFGR register (this value is not needed for SAI configuration) */
       tmpreg0 = ((RCC->PLLSAICFGR & RCC_PLLSAICFGR_PLLSAIP) >> RCC_PLLSAICFGR_PLLSAIP_Pos);
- 8002fc6:      4b51            ldr     r3, [pc, #324]  ; (800310c <HAL_RCCEx_PeriphCLKConfig+0x848>)
- 8002fc8:      f8d3 3088       ldr.w   r3, [r3, #136]  ; 0x88
- 8002fcc:      0c1b            lsrs    r3, r3, #16
- 8002fce:      f003 0303       and.w   r3, r3, #3
- 8002fd2:      613b            str     r3, [r7, #16]
+ 8002ff6:      4b51            ldr     r3, [pc, #324]  ; (800313c <HAL_RCCEx_PeriphCLKConfig+0x848>)
+ 8002ff8:      f8d3 3088       ldr.w   r3, [r3, #136]  ; 0x88
+ 8002ffc:      0c1b            lsrs    r3, r3, #16
+ 8002ffe:      f003 0303       and.w   r3, r3, #3
+ 8003002:      613b            str     r3, [r7, #16]
       tmpreg1 = ((RCC->PLLSAICFGR & RCC_PLLI2SCFGR_PLLI2SR) >> RCC_PLLSAICFGR_PLLSAIR_Pos);
- 8002fd4:      4b4d            ldr     r3, [pc, #308]  ; (800310c <HAL_RCCEx_PeriphCLKConfig+0x848>)
- 8002fd6:      f8d3 3088       ldr.w   r3, [r3, #136]  ; 0x88
- 8002fda:      0f1b            lsrs    r3, r3, #28
- 8002fdc:      f003 0307       and.w   r3, r3, #7
- 8002fe0:      60fb            str     r3, [r7, #12]
+ 8003004:      4b4d            ldr     r3, [pc, #308]  ; (800313c <HAL_RCCEx_PeriphCLKConfig+0x848>)
+ 8003006:      f8d3 3088       ldr.w   r3, [r3, #136]  ; 0x88
+ 800300a:      0f1b            lsrs    r3, r3, #28
+ 800300c:      f003 0307       and.w   r3, r3, #7
+ 8003010:      60fb            str     r3, [r7, #12]
       /* PLLSAI_VCO Input  = PLL_SOURCE/PLLM */
       /* PLLSAI_VCO Output = PLLSAI_VCO Input * PLLSAIN */
       /* SAI_CLK(first level) = PLLSAI_VCO Output/PLLSAIQ */
       __HAL_RCC_PLLSAI_CONFIG(PeriphClkInit->PLLSAI.PLLSAIN , tmpreg0, PeriphClkInit->PLLSAI.PLLSAIQ, tmpreg1);
- 8002fe2:      687b            ldr     r3, [r7, #4]
- 8002fe4:      695b            ldr     r3, [r3, #20]
- 8002fe6:      019a            lsls    r2, r3, #6
- 8002fe8:      693b            ldr     r3, [r7, #16]
- 8002fea:      041b            lsls    r3, r3, #16
- 8002fec:      431a            orrs    r2, r3
- 8002fee:      687b            ldr     r3, [r7, #4]
- 8002ff0:      699b            ldr     r3, [r3, #24]
- 8002ff2:      061b            lsls    r3, r3, #24
- 8002ff4:      431a            orrs    r2, r3
- 8002ff6:      68fb            ldr     r3, [r7, #12]
- 8002ff8:      071b            lsls    r3, r3, #28
- 8002ffa:      4944            ldr     r1, [pc, #272]  ; (800310c <HAL_RCCEx_PeriphCLKConfig+0x848>)
- 8002ffc:      4313            orrs    r3, r2
- 8002ffe:      f8c1 3088       str.w   r3, [r1, #136]  ; 0x88
+ 8003012:      687b            ldr     r3, [r7, #4]
+ 8003014:      695b            ldr     r3, [r3, #20]
+ 8003016:      019a            lsls    r2, r3, #6
+ 8003018:      693b            ldr     r3, [r7, #16]
+ 800301a:      041b            lsls    r3, r3, #16
+ 800301c:      431a            orrs    r2, r3
+ 800301e:      687b            ldr     r3, [r7, #4]
+ 8003020:      699b            ldr     r3, [r3, #24]
+ 8003022:      061b            lsls    r3, r3, #24
+ 8003024:      431a            orrs    r2, r3
+ 8003026:      68fb            ldr     r3, [r7, #12]
+ 8003028:      071b            lsls    r3, r3, #28
+ 800302a:      4944            ldr     r1, [pc, #272]  ; (800313c <HAL_RCCEx_PeriphCLKConfig+0x848>)
+ 800302c:      4313            orrs    r3, r2
+ 800302e:      f8c1 3088       str.w   r3, [r1, #136]  ; 0x88
 
       /* SAI_CLK_x = SAI_CLK(first level)/PLLSAIDIVQ */
       __HAL_RCC_PLLSAI_PLLSAICLKDIVQ_CONFIG(PeriphClkInit->PLLSAIDivQ);
- 8003002:      4b42            ldr     r3, [pc, #264]  ; (800310c <HAL_RCCEx_PeriphCLKConfig+0x848>)
- 8003004:      f8d3 308c       ldr.w   r3, [r3, #140]  ; 0x8c
- 8003008:      f423 52f8       bic.w   r2, r3, #7936   ; 0x1f00
- 800300c:      687b            ldr     r3, [r7, #4]
- 800300e:      6a9b            ldr     r3, [r3, #40]   ; 0x28
- 8003010:      3b01            subs    r3, #1
- 8003012:      021b            lsls    r3, r3, #8
- 8003014:      493d            ldr     r1, [pc, #244]  ; (800310c <HAL_RCCEx_PeriphCLKConfig+0x848>)
- 8003016:      4313            orrs    r3, r2
- 8003018:      f8c1 308c       str.w   r3, [r1, #140]  ; 0x8c
+ 8003032:      4b42            ldr     r3, [pc, #264]  ; (800313c <HAL_RCCEx_PeriphCLKConfig+0x848>)
+ 8003034:      f8d3 308c       ldr.w   r3, [r3, #140]  ; 0x8c
+ 8003038:      f423 52f8       bic.w   r2, r3, #7936   ; 0x1f00
+ 800303c:      687b            ldr     r3, [r7, #4]
+ 800303e:      6a9b            ldr     r3, [r3, #40]   ; 0x28
+ 8003040:      3b01            subs    r3, #1
+ 8003042:      021b            lsls    r3, r3, #8
+ 8003044:      493d            ldr     r1, [pc, #244]  ; (800313c <HAL_RCCEx_PeriphCLKConfig+0x848>)
+ 8003046:      4313            orrs    r3, r2
+ 8003048:      f8c1 308c       str.w   r3, [r1, #140]  ; 0x8c
     }
 
     /*----------------- In Case of PLLSAI is selected as source clock for CLK48 -------------------*/
     /* In Case of PLLI2S is selected as source clock for CK48 */
     if((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_CLK48) == RCC_PERIPHCLK_CLK48) && (PeriphClkInit->Clk48ClockSelection == RCC_CLK48SOURCE_PLLSAIP))
- 800301c:      687b            ldr     r3, [r7, #4]
- 800301e:      681b            ldr     r3, [r3, #0]
- 8003020:      f403 1300       and.w   r3, r3, #2097152        ; 0x200000
- 8003024:      2b00            cmp     r3, #0
- 8003026:      d022            beq.n   800306e <HAL_RCCEx_PeriphCLKConfig+0x7aa>
- 8003028:      687b            ldr     r3, [r7, #4]
- 800302a:      6fdb            ldr     r3, [r3, #124]  ; 0x7c
- 800302c:      f1b3 6f00       cmp.w   r3, #134217728  ; 0x8000000
- 8003030:      d11d            bne.n   800306e <HAL_RCCEx_PeriphCLKConfig+0x7aa>
+ 800304c:      687b            ldr     r3, [r7, #4]
+ 800304e:      681b            ldr     r3, [r3, #0]
+ 8003050:      f403 1300       and.w   r3, r3, #2097152        ; 0x200000
+ 8003054:      2b00            cmp     r3, #0
+ 8003056:      d022            beq.n   800309e <HAL_RCCEx_PeriphCLKConfig+0x7aa>
+ 8003058:      687b            ldr     r3, [r7, #4]
+ 800305a:      6fdb            ldr     r3, [r3, #124]  ; 0x7c
+ 800305c:      f1b3 6f00       cmp.w   r3, #134217728  ; 0x8000000
+ 8003060:      d11d            bne.n   800309e <HAL_RCCEx_PeriphCLKConfig+0x7aa>
     {
       /* check for Parameters */
       assert_param(IS_RCC_PLLSAIP_VALUE(PeriphClkInit->PLLSAI.PLLSAIP));
       /* Read PLLSAIQ and PLLSAIR value from PLLSAICFGR register (this value is not needed for CK48 configuration) */
       tmpreg0 = ((RCC->PLLSAICFGR & RCC_PLLSAICFGR_PLLSAIQ) >> RCC_PLLSAICFGR_PLLSAIQ_Pos);
- 8003032:      4b36            ldr     r3, [pc, #216]  ; (800310c <HAL_RCCEx_PeriphCLKConfig+0x848>)
- 8003034:      f8d3 3088       ldr.w   r3, [r3, #136]  ; 0x88
- 8003038:      0e1b            lsrs    r3, r3, #24
- 800303a:      f003 030f       and.w   r3, r3, #15
- 800303e:      613b            str     r3, [r7, #16]
+ 8003062:      4b36            ldr     r3, [pc, #216]  ; (800313c <HAL_RCCEx_PeriphCLKConfig+0x848>)
+ 8003064:      f8d3 3088       ldr.w   r3, [r3, #136]  ; 0x88
+ 8003068:      0e1b            lsrs    r3, r3, #24
+ 800306a:      f003 030f       and.w   r3, r3, #15
+ 800306e:      613b            str     r3, [r7, #16]
       tmpreg1 = ((RCC->PLLSAICFGR & RCC_PLLSAICFGR_PLLSAIR) >> RCC_PLLSAICFGR_PLLSAIR_Pos);
- 8003040:      4b32            ldr     r3, [pc, #200]  ; (800310c <HAL_RCCEx_PeriphCLKConfig+0x848>)
- 8003042:      f8d3 3088       ldr.w   r3, [r3, #136]  ; 0x88
- 8003046:      0f1b            lsrs    r3, r3, #28
- 8003048:      f003 0307       and.w   r3, r3, #7
- 800304c:      60fb            str     r3, [r7, #12]
+ 8003070:      4b32            ldr     r3, [pc, #200]  ; (800313c <HAL_RCCEx_PeriphCLKConfig+0x848>)
+ 8003072:      f8d3 3088       ldr.w   r3, [r3, #136]  ; 0x88
+ 8003076:      0f1b            lsrs    r3, r3, #28
+ 8003078:      f003 0307       and.w   r3, r3, #7
+ 800307c:      60fb            str     r3, [r7, #12]
 
       /* Configure the PLLSAI division factors */
       /* PLLSAI_VCO = f(VCO clock) = f(PLLSAI clock input) x (PLLI2SN/PLLM) */
       /* 48CLK = f(PLLSAI clock output) = f(VCO clock) / PLLSAIP */
       __HAL_RCC_PLLSAI_CONFIG(PeriphClkInit->PLLSAI.PLLSAIN , PeriphClkInit->PLLSAI.PLLSAIP, tmpreg0, tmpreg1);
- 800304e:      687b            ldr     r3, [r7, #4]
- 8003050:      695b            ldr     r3, [r3, #20]
- 8003052:      019a            lsls    r2, r3, #6
- 8003054:      687b            ldr     r3, [r7, #4]
- 8003056:      6a1b            ldr     r3, [r3, #32]
- 8003058:      041b            lsls    r3, r3, #16
- 800305a:      431a            orrs    r2, r3
- 800305c:      693b            ldr     r3, [r7, #16]
- 800305e:      061b            lsls    r3, r3, #24
- 8003060:      431a            orrs    r2, r3
- 8003062:      68fb            ldr     r3, [r7, #12]
- 8003064:      071b            lsls    r3, r3, #28
- 8003066:      4929            ldr     r1, [pc, #164]  ; (800310c <HAL_RCCEx_PeriphCLKConfig+0x848>)
- 8003068:      4313            orrs    r3, r2
- 800306a:      f8c1 3088       str.w   r3, [r1, #136]  ; 0x88
+ 800307e:      687b            ldr     r3, [r7, #4]
+ 8003080:      695b            ldr     r3, [r3, #20]
+ 8003082:      019a            lsls    r2, r3, #6
+ 8003084:      687b            ldr     r3, [r7, #4]
+ 8003086:      6a1b            ldr     r3, [r3, #32]
+ 8003088:      041b            lsls    r3, r3, #16
+ 800308a:      431a            orrs    r2, r3
+ 800308c:      693b            ldr     r3, [r7, #16]
+ 800308e:      061b            lsls    r3, r3, #24
+ 8003090:      431a            orrs    r2, r3
+ 8003092:      68fb            ldr     r3, [r7, #12]
+ 8003094:      071b            lsls    r3, r3, #28
+ 8003096:      4929            ldr     r1, [pc, #164]  ; (800313c <HAL_RCCEx_PeriphCLKConfig+0x848>)
+ 8003098:      4313            orrs    r3, r2
+ 800309a:      f8c1 3088       str.w   r3, [r1, #136]  ; 0x88
     }
 
 #if defined(STM32F746xx) || defined(STM32F756xx) || defined (STM32F767xx) || defined (STM32F769xx) || defined (STM32F777xx) || defined (STM32F779xx) || defined (STM32F750xx)
     /*---------------------------- LTDC configuration -------------------------------*/
     if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_LTDC) == (RCC_PERIPHCLK_LTDC))
- 800306e:      687b            ldr     r3, [r7, #4]
- 8003070:      681b            ldr     r3, [r3, #0]
- 8003072:      f003 0308       and.w   r3, r3, #8
- 8003076:      2b00            cmp     r3, #0
- 8003078:      d028            beq.n   80030cc <HAL_RCCEx_PeriphCLKConfig+0x808>
+ 800309e:      687b            ldr     r3, [r7, #4]
+ 80030a0:      681b            ldr     r3, [r3, #0]
+ 80030a2:      f003 0308       and.w   r3, r3, #8
+ 80030a6:      2b00            cmp     r3, #0
+ 80030a8:      d028            beq.n   80030fc <HAL_RCCEx_PeriphCLKConfig+0x808>
     {
       assert_param(IS_RCC_PLLSAIR_VALUE(PeriphClkInit->PLLSAI.PLLSAIR));
       assert_param(IS_RCC_PLLSAI_DIVR_VALUE(PeriphClkInit->PLLSAIDivR));
 
       /* Read PLLSAIP and PLLSAIQ value from PLLSAICFGR register (these value are not needed for LTDC configuration) */
       tmpreg0 = ((RCC->PLLSAICFGR & RCC_PLLSAICFGR_PLLSAIQ) >> RCC_PLLSAICFGR_PLLSAIQ_Pos);
- 800307a:      4b24            ldr     r3, [pc, #144]  ; (800310c <HAL_RCCEx_PeriphCLKConfig+0x848>)
- 800307c:      f8d3 3088       ldr.w   r3, [r3, #136]  ; 0x88
- 8003080:      0e1b            lsrs    r3, r3, #24
- 8003082:      f003 030f       and.w   r3, r3, #15
- 8003086:      613b            str     r3, [r7, #16]
+ 80030aa:      4b24            ldr     r3, [pc, #144]  ; (800313c <HAL_RCCEx_PeriphCLKConfig+0x848>)
+ 80030ac:      f8d3 3088       ldr.w   r3, [r3, #136]  ; 0x88
+ 80030b0:      0e1b            lsrs    r3, r3, #24
+ 80030b2:      f003 030f       and.w   r3, r3, #15
+ 80030b6:      613b            str     r3, [r7, #16]
       tmpreg1 = ((RCC->PLLSAICFGR & RCC_PLLSAICFGR_PLLSAIP) >> RCC_PLLSAICFGR_PLLSAIP_Pos);
- 8003088:      4b20            ldr     r3, [pc, #128]  ; (800310c <HAL_RCCEx_PeriphCLKConfig+0x848>)
- 800308a:      f8d3 3088       ldr.w   r3, [r3, #136]  ; 0x88
- 800308e:      0c1b            lsrs    r3, r3, #16
- 8003090:      f003 0303       and.w   r3, r3, #3
- 8003094:      60fb            str     r3, [r7, #12]
+ 80030b8:      4b20            ldr     r3, [pc, #128]  ; (800313c <HAL_RCCEx_PeriphCLKConfig+0x848>)
+ 80030ba:      f8d3 3088       ldr.w   r3, [r3, #136]  ; 0x88
+ 80030be:      0c1b            lsrs    r3, r3, #16
+ 80030c0:      f003 0303       and.w   r3, r3, #3
+ 80030c4:      60fb            str     r3, [r7, #12]
 
       /* PLLSAI_VCO Input  = PLL_SOURCE/PLLM */
       /* PLLSAI_VCO Output = PLLSAI_VCO Input * PLLSAIN */
       /* LTDC_CLK(first level) = PLLSAI_VCO Output/PLLSAIR */
       __HAL_RCC_PLLSAI_CONFIG(PeriphClkInit->PLLSAI.PLLSAIN , tmpreg1, tmpreg0, PeriphClkInit->PLLSAI.PLLSAIR);
- 8003096:      687b            ldr     r3, [r7, #4]
- 8003098:      695b            ldr     r3, [r3, #20]
- 800309a:      019a            lsls    r2, r3, #6
- 800309c:      68fb            ldr     r3, [r7, #12]
- 800309e:      041b            lsls    r3, r3, #16
- 80030a0:      431a            orrs    r2, r3
- 80030a2:      693b            ldr     r3, [r7, #16]
- 80030a4:      061b            lsls    r3, r3, #24
- 80030a6:      431a            orrs    r2, r3
- 80030a8:      687b            ldr     r3, [r7, #4]
- 80030aa:      69db            ldr     r3, [r3, #28]
- 80030ac:      071b            lsls    r3, r3, #28
- 80030ae:      4917            ldr     r1, [pc, #92]   ; (800310c <HAL_RCCEx_PeriphCLKConfig+0x848>)
- 80030b0:      4313            orrs    r3, r2
- 80030b2:      f8c1 3088       str.w   r3, [r1, #136]  ; 0x88
+ 80030c6:      687b            ldr     r3, [r7, #4]
+ 80030c8:      695b            ldr     r3, [r3, #20]
+ 80030ca:      019a            lsls    r2, r3, #6
+ 80030cc:      68fb            ldr     r3, [r7, #12]
+ 80030ce:      041b            lsls    r3, r3, #16
+ 80030d0:      431a            orrs    r2, r3
+ 80030d2:      693b            ldr     r3, [r7, #16]
+ 80030d4:      061b            lsls    r3, r3, #24
+ 80030d6:      431a            orrs    r2, r3
+ 80030d8:      687b            ldr     r3, [r7, #4]
+ 80030da:      69db            ldr     r3, [r3, #28]
+ 80030dc:      071b            lsls    r3, r3, #28
+ 80030de:      4917            ldr     r1, [pc, #92]   ; (800313c <HAL_RCCEx_PeriphCLKConfig+0x848>)
+ 80030e0:      4313            orrs    r3, r2
+ 80030e2:      f8c1 3088       str.w   r3, [r1, #136]  ; 0x88
 
       /* LTDC_CLK = LTDC_CLK(first level)/PLLSAIDIVR */
       __HAL_RCC_PLLSAI_PLLSAICLKDIVR_CONFIG(PeriphClkInit->PLLSAIDivR);
- 80030b6:      4b15            ldr     r3, [pc, #84]   ; (800310c <HAL_RCCEx_PeriphCLKConfig+0x848>)
- 80030b8:      f8d3 308c       ldr.w   r3, [r3, #140]  ; 0x8c
- 80030bc:      f423 3240       bic.w   r2, r3, #196608 ; 0x30000
- 80030c0:      687b            ldr     r3, [r7, #4]
- 80030c2:      6adb            ldr     r3, [r3, #44]   ; 0x2c
- 80030c4:      4911            ldr     r1, [pc, #68]   ; (800310c <HAL_RCCEx_PeriphCLKConfig+0x848>)
- 80030c6:      4313            orrs    r3, r2
- 80030c8:      f8c1 308c       str.w   r3, [r1, #140]  ; 0x8c
+ 80030e6:      4b15            ldr     r3, [pc, #84]   ; (800313c <HAL_RCCEx_PeriphCLKConfig+0x848>)
+ 80030e8:      f8d3 308c       ldr.w   r3, [r3, #140]  ; 0x8c
+ 80030ec:      f423 3240       bic.w   r2, r3, #196608 ; 0x30000
+ 80030f0:      687b            ldr     r3, [r7, #4]
+ 80030f2:      6adb            ldr     r3, [r3, #44]   ; 0x2c
+ 80030f4:      4911            ldr     r1, [pc, #68]   ; (800313c <HAL_RCCEx_PeriphCLKConfig+0x848>)
+ 80030f6:      4313            orrs    r3, r2
+ 80030f8:      f8c1 308c       str.w   r3, [r1, #140]  ; 0x8c
     }
 #endif /* STM32F746xx || STM32F756xx || STM32F767xx || STM32F769xx || STM32F777xx || STM32F779xx || STM32F750xx  */
 
     /* Enable PLLSAI Clock */
     __HAL_RCC_PLLSAI_ENABLE();
- 80030cc:      4b0f            ldr     r3, [pc, #60]   ; (800310c <HAL_RCCEx_PeriphCLKConfig+0x848>)
- 80030ce:      681b            ldr     r3, [r3, #0]
- 80030d0:      4a0e            ldr     r2, [pc, #56]   ; (800310c <HAL_RCCEx_PeriphCLKConfig+0x848>)
- 80030d2:      f043 5380       orr.w   r3, r3, #268435456      ; 0x10000000
- 80030d6:      6013            str     r3, [r2, #0]
+ 80030fc:      4b0f            ldr     r3, [pc, #60]   ; (800313c <HAL_RCCEx_PeriphCLKConfig+0x848>)
+ 80030fe:      681b            ldr     r3, [r3, #0]
+ 8003100:      4a0e            ldr     r2, [pc, #56]   ; (800313c <HAL_RCCEx_PeriphCLKConfig+0x848>)
+ 8003102:      f043 5380       orr.w   r3, r3, #268435456      ; 0x10000000
+ 8003106:      6013            str     r3, [r2, #0]
 
     /* Get Start Tick*/
     tickstart = HAL_GetTick();
- 80030d8:      f7fe fc98       bl      8001a0c <HAL_GetTick>
- 80030dc:      6178            str     r0, [r7, #20]
+ 8003108:      f7fe fc98       bl      8001a3c <HAL_GetTick>
+ 800310c:      6178            str     r0, [r7, #20]
 
     /* Wait till PLLSAI is ready */
     while(__HAL_RCC_PLLSAI_GET_FLAG() == RESET)
- 80030de:      e008            b.n     80030f2 <HAL_RCCEx_PeriphCLKConfig+0x82e>
+ 800310e:      e008            b.n     8003122 <HAL_RCCEx_PeriphCLKConfig+0x82e>
     {
       if((HAL_GetTick() - tickstart) > PLLSAI_TIMEOUT_VALUE)
- 80030e0:      f7fe fc94       bl      8001a0c <HAL_GetTick>
- 80030e4:      4602            mov     r2, r0
- 80030e6:      697b            ldr     r3, [r7, #20]
- 80030e8:      1ad3            subs    r3, r2, r3
- 80030ea:      2b64            cmp     r3, #100        ; 0x64
- 80030ec:      d901            bls.n   80030f2 <HAL_RCCEx_PeriphCLKConfig+0x82e>
+ 8003110:      f7fe fc94       bl      8001a3c <HAL_GetTick>
+ 8003114:      4602            mov     r2, r0
+ 8003116:      697b            ldr     r3, [r7, #20]
+ 8003118:      1ad3            subs    r3, r2, r3
+ 800311a:      2b64            cmp     r3, #100        ; 0x64
+ 800311c:      d901            bls.n   8003122 <HAL_RCCEx_PeriphCLKConfig+0x82e>
       {
         /* return in case of Timeout detected */
         return HAL_TIMEOUT;
- 80030ee:      2303            movs    r3, #3
- 80030f0:      e007            b.n     8003102 <HAL_RCCEx_PeriphCLKConfig+0x83e>
+ 800311e:      2303            movs    r3, #3
+ 8003120:      e007            b.n     8003132 <HAL_RCCEx_PeriphCLKConfig+0x83e>
     while(__HAL_RCC_PLLSAI_GET_FLAG() == RESET)
- 80030f2:      4b06            ldr     r3, [pc, #24]   ; (800310c <HAL_RCCEx_PeriphCLKConfig+0x848>)
- 80030f4:      681b            ldr     r3, [r3, #0]
- 80030f6:      f003 5300       and.w   r3, r3, #536870912      ; 0x20000000
- 80030fa:      f1b3 5f00       cmp.w   r3, #536870912  ; 0x20000000
- 80030fe:      d1ef            bne.n   80030e0 <HAL_RCCEx_PeriphCLKConfig+0x81c>
+ 8003122:      4b06            ldr     r3, [pc, #24]   ; (800313c <HAL_RCCEx_PeriphCLKConfig+0x848>)
+ 8003124:      681b            ldr     r3, [r3, #0]
+ 8003126:      f003 5300       and.w   r3, r3, #536870912      ; 0x20000000
+ 800312a:      f1b3 5f00       cmp.w   r3, #536870912  ; 0x20000000
+ 800312e:      d1ef            bne.n   8003110 <HAL_RCCEx_PeriphCLKConfig+0x81c>
       }
     }
   }
   return HAL_OK;
- 8003100:      2300            movs    r3, #0
+ 8003130:      2300            movs    r3, #0
 }
- 8003102:      4618            mov     r0, r3
- 8003104:      3720            adds    r7, #32
- 8003106:      46bd            mov     sp, r7
- 8003108:      bd80            pop     {r7, pc}
- 800310a:      bf00            nop
- 800310c:      40023800        .word   0x40023800
-
-08003110 <HAL_TIM_Base_Init>:
+ 8003132:      4618            mov     r0, r3
+ 8003134:      3720            adds    r7, #32
+ 8003136:      46bd            mov     sp, r7
+ 8003138:      bd80            pop     {r7, pc}
+ 800313a:      bf00            nop
+ 800313c:      40023800        .word   0x40023800
+
+08003140 <HAL_TIM_Base_Init>:
   *         Ex: call @ref HAL_TIM_Base_DeInit() before HAL_TIM_Base_Init()
   * @param  htim TIM Base handle
   * @retval HAL status
   */
 HAL_StatusTypeDef HAL_TIM_Base_Init(TIM_HandleTypeDef *htim)
 {
- 8003110:      b580            push    {r7, lr}
- 8003112:      b082            sub     sp, #8
- 8003114:      af00            add     r7, sp, #0
- 8003116:      6078            str     r0, [r7, #4]
+ 8003140:      b580            push    {r7, lr}
+ 8003142:      b082            sub     sp, #8
+ 8003144:      af00            add     r7, sp, #0
+ 8003146:      6078            str     r0, [r7, #4]
   /* Check the TIM handle allocation */
   if (htim == NULL)
- 8003118:      687b            ldr     r3, [r7, #4]
- 800311a:      2b00            cmp     r3, #0
- 800311c:      d101            bne.n   8003122 <HAL_TIM_Base_Init+0x12>
+ 8003148:      687b            ldr     r3, [r7, #4]
+ 800314a:      2b00            cmp     r3, #0
+ 800314c:      d101            bne.n   8003152 <HAL_TIM_Base_Init+0x12>
   {
     return HAL_ERROR;
- 800311e:      2301            movs    r3, #1
- 8003120:      e01d            b.n     800315e <HAL_TIM_Base_Init+0x4e>
+ 800314e:      2301            movs    r3, #1
+ 8003150:      e01d            b.n     800318e <HAL_TIM_Base_Init+0x4e>
   assert_param(IS_TIM_INSTANCE(htim->Instance));
   assert_param(IS_TIM_COUNTER_MODE(htim->Init.CounterMode));
   assert_param(IS_TIM_CLOCKDIVISION_DIV(htim->Init.ClockDivision));
   assert_param(IS_TIM_AUTORELOAD_PRELOAD(htim->Init.AutoReloadPreload));
 
   if (htim->State == HAL_TIM_STATE_RESET)
- 8003122:      687b            ldr     r3, [r7, #4]
- 8003124:      f893 303d       ldrb.w  r3, [r3, #61]   ; 0x3d
- 8003128:      b2db            uxtb    r3, r3
- 800312a:      2b00            cmp     r3, #0
- 800312c:      d106            bne.n   800313c <HAL_TIM_Base_Init+0x2c>
+ 8003152:      687b            ldr     r3, [r7, #4]
+ 8003154:      f893 303d       ldrb.w  r3, [r3, #61]   ; 0x3d
+ 8003158:      b2db            uxtb    r3, r3
+ 800315a:      2b00            cmp     r3, #0
+ 800315c:      d106            bne.n   800316c <HAL_TIM_Base_Init+0x2c>
   {
     /* Allocate lock resource and initialize it */
     htim->Lock = HAL_UNLOCKED;
- 800312e:      687b            ldr     r3, [r7, #4]
- 8003130:      2200            movs    r2, #0
- 8003132:      f883 203c       strb.w  r2, [r3, #60]   ; 0x3c
+ 800315e:      687b            ldr     r3, [r7, #4]
+ 8003160:      2200            movs    r2, #0
+ 8003162:      f883 203c       strb.w  r2, [r3, #60]   ; 0x3c
     }
     /* Init the low level hardware : GPIO, CLOCK, NVIC */
     htim->Base_MspInitCallback(htim);
 #else
     /* Init the low level hardware : GPIO, CLOCK, NVIC */
     HAL_TIM_Base_MspInit(htim);
- 8003136:      6878            ldr     r0, [r7, #4]
- 8003138:      f7fe faa0       bl      800167c <HAL_TIM_Base_MspInit>
+ 8003166:      6878            ldr     r0, [r7, #4]
+ 8003168:      f7fe faa0       bl      80016ac <HAL_TIM_Base_MspInit>
 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */
   }
 
   /* Set the TIM state */
   htim->State = HAL_TIM_STATE_BUSY;
- 800313c:      687b            ldr     r3, [r7, #4]
- 800313e:      2202            movs    r2, #2
- 8003140:      f883 203d       strb.w  r2, [r3, #61]   ; 0x3d
+ 800316c:      687b            ldr     r3, [r7, #4]
+ 800316e:      2202            movs    r2, #2
+ 8003170:      f883 203d       strb.w  r2, [r3, #61]   ; 0x3d
 
   /* Set the Time Base configuration */
   TIM_Base_SetConfig(htim->Instance, &htim->Init);
- 8003144:      687b            ldr     r3, [r7, #4]
- 8003146:      681a            ldr     r2, [r3, #0]
- 8003148:      687b            ldr     r3, [r7, #4]
- 800314a:      3304            adds    r3, #4
- 800314c:      4619            mov     r1, r3
- 800314e:      4610            mov     r0, r2
- 8003150:      f000 fc90       bl      8003a74 <TIM_Base_SetConfig>
+ 8003174:      687b            ldr     r3, [r7, #4]
+ 8003176:      681a            ldr     r2, [r3, #0]
+ 8003178:      687b            ldr     r3, [r7, #4]
+ 800317a:      3304            adds    r3, #4
+ 800317c:      4619            mov     r1, r3
+ 800317e:      4610            mov     r0, r2
+ 8003180:      f000 fc90       bl      8003aa4 <TIM_Base_SetConfig>
 
   /* Initialize the TIM state*/
   htim->State = HAL_TIM_STATE_READY;
- 8003154:      687b            ldr     r3, [r7, #4]
- 8003156:      2201            movs    r2, #1
- 8003158:      f883 203d       strb.w  r2, [r3, #61]   ; 0x3d
+ 8003184:      687b            ldr     r3, [r7, #4]
+ 8003186:      2201            movs    r2, #1
+ 8003188:      f883 203d       strb.w  r2, [r3, #61]   ; 0x3d
 
   return HAL_OK;
- 800315c:      2300            movs    r3, #0
+ 800318c:      2300            movs    r3, #0
 }
- 800315e:      4618            mov     r0, r3
- 8003160:      3708            adds    r7, #8
- 8003162:      46bd            mov     sp, r7
- 8003164:      bd80            pop     {r7, pc}
+ 800318e:      4618            mov     r0, r3
+ 8003190:      3708            adds    r7, #8
+ 8003192:      46bd            mov     sp, r7
+ 8003194:      bd80            pop     {r7, pc}
        ...
 
-08003168 <HAL_TIM_Base_Start_IT>:
+08003198 <HAL_TIM_Base_Start_IT>:
   * @brief  Starts the TIM Base generation in interrupt mode.
   * @param  htim TIM Base handle
   * @retval HAL status
   */
 HAL_StatusTypeDef HAL_TIM_Base_Start_IT(TIM_HandleTypeDef *htim)
 {
- 8003168:      b480            push    {r7}
- 800316a:      b085            sub     sp, #20
- 800316c:      af00            add     r7, sp, #0
- 800316e:      6078            str     r0, [r7, #4]
+ 8003198:      b480            push    {r7}
+ 800319a:      b085            sub     sp, #20
+ 800319c:      af00            add     r7, sp, #0
+ 800319e:      6078            str     r0, [r7, #4]
 
   /* Check the parameters */
   assert_param(IS_TIM_INSTANCE(htim->Instance));
 
   /* Enable the TIM Update interrupt */
   __HAL_TIM_ENABLE_IT(htim, TIM_IT_UPDATE);
- 8003170:      687b            ldr     r3, [r7, #4]
- 8003172:      681b            ldr     r3, [r3, #0]
- 8003174:      68da            ldr     r2, [r3, #12]
- 8003176:      687b            ldr     r3, [r7, #4]
- 8003178:      681b            ldr     r3, [r3, #0]
- 800317a:      f042 0201       orr.w   r2, r2, #1
- 800317e:      60da            str     r2, [r3, #12]
+ 80031a0:      687b            ldr     r3, [r7, #4]
+ 80031a2:      681b            ldr     r3, [r3, #0]
+ 80031a4:      68da            ldr     r2, [r3, #12]
+ 80031a6:      687b            ldr     r3, [r7, #4]
+ 80031a8:      681b            ldr     r3, [r3, #0]
+ 80031aa:      f042 0201       orr.w   r2, r2, #1
+ 80031ae:      60da            str     r2, [r3, #12]
 
   /* Enable the Peripheral, except in trigger mode where enable is automatically done with trigger */
   tmpsmcr = htim->Instance->SMCR & TIM_SMCR_SMS;
- 8003180:      687b            ldr     r3, [r7, #4]
- 8003182:      681b            ldr     r3, [r3, #0]
- 8003184:      689a            ldr     r2, [r3, #8]
- 8003186:      4b0c            ldr     r3, [pc, #48]   ; (80031b8 <HAL_TIM_Base_Start_IT+0x50>)
- 8003188:      4013            ands    r3, r2
- 800318a:      60fb            str     r3, [r7, #12]
+ 80031b0:      687b            ldr     r3, [r7, #4]
+ 80031b2:      681b            ldr     r3, [r3, #0]
+ 80031b4:      689a            ldr     r2, [r3, #8]
+ 80031b6:      4b0c            ldr     r3, [pc, #48]   ; (80031e8 <HAL_TIM_Base_Start_IT+0x50>)
+ 80031b8:      4013            ands    r3, r2
+ 80031ba:      60fb            str     r3, [r7, #12]
   if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr))
- 800318c:      68fb            ldr     r3, [r7, #12]
- 800318e:      2b06            cmp     r3, #6
- 8003190:      d00b            beq.n   80031aa <HAL_TIM_Base_Start_IT+0x42>
- 8003192:      68fb            ldr     r3, [r7, #12]
- 8003194:      f5b3 3f80       cmp.w   r3, #65536      ; 0x10000
- 8003198:      d007            beq.n   80031aa <HAL_TIM_Base_Start_IT+0x42>
+ 80031bc:      68fb            ldr     r3, [r7, #12]
+ 80031be:      2b06            cmp     r3, #6
+ 80031c0:      d00b            beq.n   80031da <HAL_TIM_Base_Start_IT+0x42>
+ 80031c2:      68fb            ldr     r3, [r7, #12]
+ 80031c4:      f5b3 3f80       cmp.w   r3, #65536      ; 0x10000
+ 80031c8:      d007            beq.n   80031da <HAL_TIM_Base_Start_IT+0x42>
   {
     __HAL_TIM_ENABLE(htim);
- 800319a:      687b            ldr     r3, [r7, #4]
- 800319c:      681b            ldr     r3, [r3, #0]
- 800319e:      681a            ldr     r2, [r3, #0]
- 80031a0:      687b            ldr     r3, [r7, #4]
- 80031a2:      681b            ldr     r3, [r3, #0]
- 80031a4:      f042 0201       orr.w   r2, r2, #1
- 80031a8:      601a            str     r2, [r3, #0]
+ 80031ca:      687b            ldr     r3, [r7, #4]
+ 80031cc:      681b            ldr     r3, [r3, #0]
+ 80031ce:      681a            ldr     r2, [r3, #0]
+ 80031d0:      687b            ldr     r3, [r7, #4]
+ 80031d2:      681b            ldr     r3, [r3, #0]
+ 80031d4:      f042 0201       orr.w   r2, r2, #1
+ 80031d8:      601a            str     r2, [r3, #0]
   }
 
   /* Return function status */
   return HAL_OK;
- 80031aa:      2300            movs    r3, #0
+ 80031da:      2300            movs    r3, #0
 }
- 80031ac:      4618            mov     r0, r3
- 80031ae:      3714            adds    r7, #20
- 80031b0:      46bd            mov     sp, r7
- 80031b2:      f85d 7b04       ldr.w   r7, [sp], #4
- 80031b6:      4770            bx      lr
- 80031b8:      00010007        .word   0x00010007
-
-080031bc <HAL_TIM_PWM_Init>:
+ 80031dc:      4618            mov     r0, r3
+ 80031de:      3714            adds    r7, #20
+ 80031e0:      46bd            mov     sp, r7
+ 80031e2:      f85d 7b04       ldr.w   r7, [sp], #4
+ 80031e6:      4770            bx      lr
+ 80031e8:      00010007        .word   0x00010007
+
+080031ec <HAL_TIM_PWM_Init>:
   *         Ex: call @ref HAL_TIM_PWM_DeInit() before HAL_TIM_PWM_Init()
   * @param  htim TIM PWM handle
   * @retval HAL status
   */
 HAL_StatusTypeDef HAL_TIM_PWM_Init(TIM_HandleTypeDef *htim)
 {
- 80031bc:      b580            push    {r7, lr}
- 80031be:      b082            sub     sp, #8
- 80031c0:      af00            add     r7, sp, #0
- 80031c2:      6078            str     r0, [r7, #4]
+ 80031ec:      b580            push    {r7, lr}
+ 80031ee:      b082            sub     sp, #8
+ 80031f0:      af00            add     r7, sp, #0
+ 80031f2:      6078            str     r0, [r7, #4]
   /* Check the TIM handle allocation */
   if (htim == NULL)
- 80031c4:      687b            ldr     r3, [r7, #4]
- 80031c6:      2b00            cmp     r3, #0
- 80031c8:      d101            bne.n   80031ce <HAL_TIM_PWM_Init+0x12>
+ 80031f4:      687b            ldr     r3, [r7, #4]
+ 80031f6:      2b00            cmp     r3, #0
+ 80031f8:      d101            bne.n   80031fe <HAL_TIM_PWM_Init+0x12>
   {
     return HAL_ERROR;
- 80031ca:      2301            movs    r3, #1
- 80031cc:      e01d            b.n     800320a <HAL_TIM_PWM_Init+0x4e>
+ 80031fa:      2301            movs    r3, #1
+ 80031fc:      e01d            b.n     800323a <HAL_TIM_PWM_Init+0x4e>
   assert_param(IS_TIM_INSTANCE(htim->Instance));
   assert_param(IS_TIM_COUNTER_MODE(htim->Init.CounterMode));
   assert_param(IS_TIM_CLOCKDIVISION_DIV(htim->Init.ClockDivision));
   assert_param(IS_TIM_AUTORELOAD_PRELOAD(htim->Init.AutoReloadPreload));
 
   if (htim->State == HAL_TIM_STATE_RESET)
- 80031ce:      687b            ldr     r3, [r7, #4]
- 80031d0:      f893 303d       ldrb.w  r3, [r3, #61]   ; 0x3d
- 80031d4:      b2db            uxtb    r3, r3
- 80031d6:      2b00            cmp     r3, #0
- 80031d8:      d106            bne.n   80031e8 <HAL_TIM_PWM_Init+0x2c>
+ 80031fe:      687b            ldr     r3, [r7, #4]
+ 8003200:      f893 303d       ldrb.w  r3, [r3, #61]   ; 0x3d
+ 8003204:      b2db            uxtb    r3, r3
+ 8003206:      2b00            cmp     r3, #0
+ 8003208:      d106            bne.n   8003218 <HAL_TIM_PWM_Init+0x2c>
   {
     /* Allocate lock resource and initialize it */
     htim->Lock = HAL_UNLOCKED;
- 80031da:      687b            ldr     r3, [r7, #4]
- 80031dc:      2200            movs    r2, #0
- 80031de:      f883 203c       strb.w  r2, [r3, #60]   ; 0x3c
+ 800320a:      687b            ldr     r3, [r7, #4]
+ 800320c:      2200            movs    r2, #0
+ 800320e:      f883 203c       strb.w  r2, [r3, #60]   ; 0x3c
     }
     /* Init the low level hardware : GPIO, CLOCK, NVIC */
     htim->PWM_MspInitCallback(htim);
 #else
     /* Init the low level hardware : GPIO, CLOCK, NVIC and DMA */
     HAL_TIM_PWM_MspInit(htim);
- 80031e2:      6878            ldr     r0, [r7, #4]
- 80031e4:      f000 f815       bl      8003212 <HAL_TIM_PWM_MspInit>
+ 8003212:      6878            ldr     r0, [r7, #4]
+ 8003214:      f000 f815       bl      8003242 <HAL_TIM_PWM_MspInit>
 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */
   }
 
   /* Set the TIM state */
   htim->State = HAL_TIM_STATE_BUSY;
- 80031e8:      687b            ldr     r3, [r7, #4]
- 80031ea:      2202            movs    r2, #2
- 80031ec:      f883 203d       strb.w  r2, [r3, #61]   ; 0x3d
+ 8003218:      687b            ldr     r3, [r7, #4]
+ 800321a:      2202            movs    r2, #2
+ 800321c:      f883 203d       strb.w  r2, [r3, #61]   ; 0x3d
 
   /* Init the base time for the PWM */
   TIM_Base_SetConfig(htim->Instance, &htim->Init);
- 80031f0:      687b            ldr     r3, [r7, #4]
- 80031f2:      681a            ldr     r2, [r3, #0]
- 80031f4:      687b            ldr     r3, [r7, #4]
- 80031f6:      3304            adds    r3, #4
- 80031f8:      4619            mov     r1, r3
- 80031fa:      4610            mov     r0, r2
- 80031fc:      f000 fc3a       bl      8003a74 <TIM_Base_SetConfig>
+ 8003220:      687b            ldr     r3, [r7, #4]
+ 8003222:      681a            ldr     r2, [r3, #0]
+ 8003224:      687b            ldr     r3, [r7, #4]
+ 8003226:      3304            adds    r3, #4
+ 8003228:      4619            mov     r1, r3
+ 800322a:      4610            mov     r0, r2
+ 800322c:      f000 fc3a       bl      8003aa4 <TIM_Base_SetConfig>
 
   /* Initialize the TIM state*/
   htim->State = HAL_TIM_STATE_READY;
- 8003200:      687b            ldr     r3, [r7, #4]
- 8003202:      2201            movs    r2, #1
- 8003204:      f883 203d       strb.w  r2, [r3, #61]   ; 0x3d
+ 8003230:      687b            ldr     r3, [r7, #4]
+ 8003232:      2201            movs    r2, #1
+ 8003234:      f883 203d       strb.w  r2, [r3, #61]   ; 0x3d
 
   return HAL_OK;
- 8003208:      2300            movs    r3, #0
+ 8003238:      2300            movs    r3, #0
 }
- 800320a:      4618            mov     r0, r3
- 800320c:      3708            adds    r7, #8
- 800320e:      46bd            mov     sp, r7
- 8003210:      bd80            pop     {r7, pc}
+ 800323a:      4618            mov     r0, r3
+ 800323c:      3708            adds    r7, #8
+ 800323e:      46bd            mov     sp, r7
+ 8003240:      bd80            pop     {r7, pc}
 
-08003212 <HAL_TIM_PWM_MspInit>:
+08003242 <HAL_TIM_PWM_MspInit>:
   * @brief  Initializes the TIM PWM MSP.
   * @param  htim TIM PWM handle
   * @retval None
   */
 __weak void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef *htim)
 {
- 8003212:      b480            push    {r7}
- 8003214:      b083            sub     sp, #12
- 8003216:      af00            add     r7, sp, #0
- 8003218:      6078            str     r0, [r7, #4]
+ 8003242:      b480            push    {r7}
+ 8003244:      b083            sub     sp, #12
+ 8003246:      af00            add     r7, sp, #0
+ 8003248:      6078            str     r0, [r7, #4]
   UNUSED(htim);
 
   /* NOTE : This function should not be modified, when the callback is needed,
             the HAL_TIM_PWM_MspInit could be implemented in the user file
    */
 }
- 800321a:      bf00            nop
- 800321c:      370c            adds    r7, #12
- 800321e:      46bd            mov     sp, r7
- 8003220:      f85d 7b04       ldr.w   r7, [sp], #4
- 8003224:      4770            bx      lr
+ 800324a:      bf00            nop
+ 800324c:      370c            adds    r7, #12
+ 800324e:      46bd            mov     sp, r7
+ 8003250:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8003254:      4770            bx      lr
        ...
 
-08003228 <HAL_TIM_PWM_Start>:
+08003258 <HAL_TIM_PWM_Start>:
   *            @arg TIM_CHANNEL_5: TIM Channel 5 selected
   *            @arg TIM_CHANNEL_6: TIM Channel 6 selected
   * @retval HAL status
   */
 HAL_StatusTypeDef HAL_TIM_PWM_Start(TIM_HandleTypeDef *htim, uint32_t Channel)
 {
- 8003228:      b580            push    {r7, lr}
- 800322a:      b084            sub     sp, #16
- 800322c:      af00            add     r7, sp, #0
- 800322e:      6078            str     r0, [r7, #4]
- 8003230:      6039            str     r1, [r7, #0]
+ 8003258:      b580            push    {r7, lr}
+ 800325a:      b084            sub     sp, #16
+ 800325c:      af00            add     r7, sp, #0
+ 800325e:      6078            str     r0, [r7, #4]
+ 8003260:      6039            str     r1, [r7, #0]
 
   /* Check the parameters */
   assert_param(IS_TIM_CCX_INSTANCE(htim->Instance, Channel));
 
   /* Enable the Capture compare channel */
   TIM_CCxChannelCmd(htim->Instance, Channel, TIM_CCx_ENABLE);
- 8003232:      687b            ldr     r3, [r7, #4]
- 8003234:      681b            ldr     r3, [r3, #0]
- 8003236:      2201            movs    r2, #1
- 8003238:      6839            ldr     r1, [r7, #0]
- 800323a:      4618            mov     r0, r3
- 800323c:      f000 ffb2       bl      80041a4 <TIM_CCxChannelCmd>
+ 8003262:      687b            ldr     r3, [r7, #4]
+ 8003264:      681b            ldr     r3, [r3, #0]
+ 8003266:      2201            movs    r2, #1
+ 8003268:      6839            ldr     r1, [r7, #0]
+ 800326a:      4618            mov     r0, r3
+ 800326c:      f000 ffb2       bl      80041d4 <TIM_CCxChannelCmd>
 
   if (IS_TIM_BREAK_INSTANCE(htim->Instance) != RESET)
- 8003240:      687b            ldr     r3, [r7, #4]
- 8003242:      681b            ldr     r3, [r3, #0]
- 8003244:      4a17            ldr     r2, [pc, #92]   ; (80032a4 <HAL_TIM_PWM_Start+0x7c>)
- 8003246:      4293            cmp     r3, r2
- 8003248:      d004            beq.n   8003254 <HAL_TIM_PWM_Start+0x2c>
- 800324a:      687b            ldr     r3, [r7, #4]
- 800324c:      681b            ldr     r3, [r3, #0]
- 800324e:      4a16            ldr     r2, [pc, #88]   ; (80032a8 <HAL_TIM_PWM_Start+0x80>)
- 8003250:      4293            cmp     r3, r2
- 8003252:      d101            bne.n   8003258 <HAL_TIM_PWM_Start+0x30>
- 8003254:      2301            movs    r3, #1
- 8003256:      e000            b.n     800325a <HAL_TIM_PWM_Start+0x32>
- 8003258:      2300            movs    r3, #0
- 800325a:      2b00            cmp     r3, #0
- 800325c:      d007            beq.n   800326e <HAL_TIM_PWM_Start+0x46>
+ 8003270:      687b            ldr     r3, [r7, #4]
+ 8003272:      681b            ldr     r3, [r3, #0]
+ 8003274:      4a17            ldr     r2, [pc, #92]   ; (80032d4 <HAL_TIM_PWM_Start+0x7c>)
+ 8003276:      4293            cmp     r3, r2
+ 8003278:      d004            beq.n   8003284 <HAL_TIM_PWM_Start+0x2c>
+ 800327a:      687b            ldr     r3, [r7, #4]
+ 800327c:      681b            ldr     r3, [r3, #0]
+ 800327e:      4a16            ldr     r2, [pc, #88]   ; (80032d8 <HAL_TIM_PWM_Start+0x80>)
+ 8003280:      4293            cmp     r3, r2
+ 8003282:      d101            bne.n   8003288 <HAL_TIM_PWM_Start+0x30>
+ 8003284:      2301            movs    r3, #1
+ 8003286:      e000            b.n     800328a <HAL_TIM_PWM_Start+0x32>
+ 8003288:      2300            movs    r3, #0
+ 800328a:      2b00            cmp     r3, #0
+ 800328c:      d007            beq.n   800329e <HAL_TIM_PWM_Start+0x46>
   {
     /* Enable the main output */
     __HAL_TIM_MOE_ENABLE(htim);
- 800325e:      687b            ldr     r3, [r7, #4]
- 8003260:      681b            ldr     r3, [r3, #0]
- 8003262:      6c5a            ldr     r2, [r3, #68]   ; 0x44
- 8003264:      687b            ldr     r3, [r7, #4]
- 8003266:      681b            ldr     r3, [r3, #0]
- 8003268:      f442 4200       orr.w   r2, r2, #32768  ; 0x8000
- 800326c:      645a            str     r2, [r3, #68]   ; 0x44
+ 800328e:      687b            ldr     r3, [r7, #4]
+ 8003290:      681b            ldr     r3, [r3, #0]
+ 8003292:      6c5a            ldr     r2, [r3, #68]   ; 0x44
+ 8003294:      687b            ldr     r3, [r7, #4]
+ 8003296:      681b            ldr     r3, [r3, #0]
+ 8003298:      f442 4200       orr.w   r2, r2, #32768  ; 0x8000
+ 800329c:      645a            str     r2, [r3, #68]   ; 0x44
   }
 
   /* Enable the Peripheral, except in trigger mode where enable is automatically done with trigger */
   tmpsmcr = htim->Instance->SMCR & TIM_SMCR_SMS;
- 800326e:      687b            ldr     r3, [r7, #4]
- 8003270:      681b            ldr     r3, [r3, #0]
- 8003272:      689a            ldr     r2, [r3, #8]
- 8003274:      4b0d            ldr     r3, [pc, #52]   ; (80032ac <HAL_TIM_PWM_Start+0x84>)
- 8003276:      4013            ands    r3, r2
- 8003278:      60fb            str     r3, [r7, #12]
+ 800329e:      687b            ldr     r3, [r7, #4]
+ 80032a0:      681b            ldr     r3, [r3, #0]
+ 80032a2:      689a            ldr     r2, [r3, #8]
+ 80032a4:      4b0d            ldr     r3, [pc, #52]   ; (80032dc <HAL_TIM_PWM_Start+0x84>)
+ 80032a6:      4013            ands    r3, r2
+ 80032a8:      60fb            str     r3, [r7, #12]
   if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr))
- 800327a:      68fb            ldr     r3, [r7, #12]
- 800327c:      2b06            cmp     r3, #6
- 800327e:      d00b            beq.n   8003298 <HAL_TIM_PWM_Start+0x70>
- 8003280:      68fb            ldr     r3, [r7, #12]
- 8003282:      f5b3 3f80       cmp.w   r3, #65536      ; 0x10000
- 8003286:      d007            beq.n   8003298 <HAL_TIM_PWM_Start+0x70>
+ 80032aa:      68fb            ldr     r3, [r7, #12]
+ 80032ac:      2b06            cmp     r3, #6
+ 80032ae:      d00b            beq.n   80032c8 <HAL_TIM_PWM_Start+0x70>
+ 80032b0:      68fb            ldr     r3, [r7, #12]
+ 80032b2:      f5b3 3f80       cmp.w   r3, #65536      ; 0x10000
+ 80032b6:      d007            beq.n   80032c8 <HAL_TIM_PWM_Start+0x70>
   {
     __HAL_TIM_ENABLE(htim);
- 8003288:      687b            ldr     r3, [r7, #4]
- 800328a:      681b            ldr     r3, [r3, #0]
- 800328c:      681a            ldr     r2, [r3, #0]
- 800328e:      687b            ldr     r3, [r7, #4]
- 8003290:      681b            ldr     r3, [r3, #0]
- 8003292:      f042 0201       orr.w   r2, r2, #1
- 8003296:      601a            str     r2, [r3, #0]
+ 80032b8:      687b            ldr     r3, [r7, #4]
+ 80032ba:      681b            ldr     r3, [r3, #0]
+ 80032bc:      681a            ldr     r2, [r3, #0]
+ 80032be:      687b            ldr     r3, [r7, #4]
+ 80032c0:      681b            ldr     r3, [r3, #0]
+ 80032c2:      f042 0201       orr.w   r2, r2, #1
+ 80032c6:      601a            str     r2, [r3, #0]
   }
 
   /* Return function status */
   return HAL_OK;
- 8003298:      2300            movs    r3, #0
+ 80032c8:      2300            movs    r3, #0
 }
- 800329a:      4618            mov     r0, r3
- 800329c:      3710            adds    r7, #16
- 800329e:      46bd            mov     sp, r7
- 80032a0:      bd80            pop     {r7, pc}
- 80032a2:      bf00            nop
- 80032a4:      40010000        .word   0x40010000
- 80032a8:      40010400        .word   0x40010400
- 80032ac:      00010007        .word   0x00010007
-
-080032b0 <HAL_TIM_Encoder_Init>:
+ 80032ca:      4618            mov     r0, r3
+ 80032cc:      3710            adds    r7, #16
+ 80032ce:      46bd            mov     sp, r7
+ 80032d0:      bd80            pop     {r7, pc}
+ 80032d2:      bf00            nop
+ 80032d4:      40010000        .word   0x40010000
+ 80032d8:      40010400        .word   0x40010400
+ 80032dc:      00010007        .word   0x00010007
+
+080032e0 <HAL_TIM_Encoder_Init>:
   * @param  htim TIM Encoder Interface handle
   * @param  sConfig TIM Encoder Interface configuration structure
   * @retval HAL status
   */
 HAL_StatusTypeDef HAL_TIM_Encoder_Init(TIM_HandleTypeDef *htim,  TIM_Encoder_InitTypeDef *sConfig)
 {
- 80032b0:      b580            push    {r7, lr}
- 80032b2:      b086            sub     sp, #24
- 80032b4:      af00            add     r7, sp, #0
- 80032b6:      6078            str     r0, [r7, #4]
- 80032b8:      6039            str     r1, [r7, #0]
+ 80032e0:      b580            push    {r7, lr}
+ 80032e2:      b086            sub     sp, #24
+ 80032e4:      af00            add     r7, sp, #0
+ 80032e6:      6078            str     r0, [r7, #4]
+ 80032e8:      6039            str     r1, [r7, #0]
   uint32_t tmpsmcr;
   uint32_t tmpccmr1;
   uint32_t tmpccer;
 
   /* Check the TIM handle allocation */
   if (htim == NULL)
- 80032ba:      687b            ldr     r3, [r7, #4]
- 80032bc:      2b00            cmp     r3, #0
- 80032be:      d101            bne.n   80032c4 <HAL_TIM_Encoder_Init+0x14>
+ 80032ea:      687b            ldr     r3, [r7, #4]
+ 80032ec:      2b00            cmp     r3, #0
+ 80032ee:      d101            bne.n   80032f4 <HAL_TIM_Encoder_Init+0x14>
   {
     return HAL_ERROR;
- 80032c0:      2301            movs    r3, #1
- 80032c2:      e07b            b.n     80033bc <HAL_TIM_Encoder_Init+0x10c>
+ 80032f0:      2301            movs    r3, #1
+ 80032f2:      e07b            b.n     80033ec <HAL_TIM_Encoder_Init+0x10c>
   assert_param(IS_TIM_IC_PRESCALER(sConfig->IC1Prescaler));
   assert_param(IS_TIM_IC_PRESCALER(sConfig->IC2Prescaler));
   assert_param(IS_TIM_IC_FILTER(sConfig->IC1Filter));
   assert_param(IS_TIM_IC_FILTER(sConfig->IC2Filter));
 
   if (htim->State == HAL_TIM_STATE_RESET)
- 80032c4:      687b            ldr     r3, [r7, #4]
- 80032c6:      f893 303d       ldrb.w  r3, [r3, #61]   ; 0x3d
- 80032ca:      b2db            uxtb    r3, r3
- 80032cc:      2b00            cmp     r3, #0
- 80032ce:      d106            bne.n   80032de <HAL_TIM_Encoder_Init+0x2e>
+ 80032f4:      687b            ldr     r3, [r7, #4]
+ 80032f6:      f893 303d       ldrb.w  r3, [r3, #61]   ; 0x3d
+ 80032fa:      b2db            uxtb    r3, r3
+ 80032fc:      2b00            cmp     r3, #0
+ 80032fe:      d106            bne.n   800330e <HAL_TIM_Encoder_Init+0x2e>
   {
     /* Allocate lock resource and initialize it */
     htim->Lock = HAL_UNLOCKED;
- 80032d0:      687b            ldr     r3, [r7, #4]
- 80032d2:      2200            movs    r2, #0
- 80032d4:      f883 203c       strb.w  r2, [r3, #60]   ; 0x3c
+ 8003300:      687b            ldr     r3, [r7, #4]
+ 8003302:      2200            movs    r2, #0
+ 8003304:      f883 203c       strb.w  r2, [r3, #60]   ; 0x3c
     }
     /* Init the low level hardware : GPIO, CLOCK, NVIC */
     htim->Encoder_MspInitCallback(htim);
 #else
     /* Init the low level hardware : GPIO, CLOCK, NVIC and DMA */
     HAL_TIM_Encoder_MspInit(htim);
- 80032d8:      6878            ldr     r0, [r7, #4]
- 80032da:      f7fe f93f       bl      800155c <HAL_TIM_Encoder_MspInit>
+ 8003308:      6878            ldr     r0, [r7, #4]
+ 800330a:      f7fe f93f       bl      800158c <HAL_TIM_Encoder_MspInit>
 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */
   }
 
   /* Set the TIM state */
   htim->State = HAL_TIM_STATE_BUSY;
- 80032de:      687b            ldr     r3, [r7, #4]
- 80032e0:      2202            movs    r2, #2
- 80032e2:      f883 203d       strb.w  r2, [r3, #61]   ; 0x3d
+ 800330e:      687b            ldr     r3, [r7, #4]
+ 8003310:      2202            movs    r2, #2
+ 8003312:      f883 203d       strb.w  r2, [r3, #61]   ; 0x3d
 
   /* Reset the SMS and ECE bits */
   htim->Instance->SMCR &= ~(TIM_SMCR_SMS | TIM_SMCR_ECE);
- 80032e6:      687b            ldr     r3, [r7, #4]
- 80032e8:      681b            ldr     r3, [r3, #0]
- 80032ea:      6899            ldr     r1, [r3, #8]
- 80032ec:      687b            ldr     r3, [r7, #4]
- 80032ee:      681a            ldr     r2, [r3, #0]
- 80032f0:      4b34            ldr     r3, [pc, #208]  ; (80033c4 <HAL_TIM_Encoder_Init+0x114>)
- 80032f2:      400b            ands    r3, r1
- 80032f4:      6093            str     r3, [r2, #8]
+ 8003316:      687b            ldr     r3, [r7, #4]
+ 8003318:      681b            ldr     r3, [r3, #0]
+ 800331a:      6899            ldr     r1, [r3, #8]
+ 800331c:      687b            ldr     r3, [r7, #4]
+ 800331e:      681a            ldr     r2, [r3, #0]
+ 8003320:      4b34            ldr     r3, [pc, #208]  ; (80033f4 <HAL_TIM_Encoder_Init+0x114>)
+ 8003322:      400b            ands    r3, r1
+ 8003324:      6093            str     r3, [r2, #8]
 
   /* Configure the Time base in the Encoder Mode */
   TIM_Base_SetConfig(htim->Instance, &htim->Init);
- 80032f6:      687b            ldr     r3, [r7, #4]
- 80032f8:      681a            ldr     r2, [r3, #0]
- 80032fa:      687b            ldr     r3, [r7, #4]
- 80032fc:      3304            adds    r3, #4
- 80032fe:      4619            mov     r1, r3
- 8003300:      4610            mov     r0, r2
- 8003302:      f000 fbb7       bl      8003a74 <TIM_Base_SetConfig>
+ 8003326:      687b            ldr     r3, [r7, #4]
+ 8003328:      681a            ldr     r2, [r3, #0]
+ 800332a:      687b            ldr     r3, [r7, #4]
+ 800332c:      3304            adds    r3, #4
+ 800332e:      4619            mov     r1, r3
+ 8003330:      4610            mov     r0, r2
+ 8003332:      f000 fbb7       bl      8003aa4 <TIM_Base_SetConfig>
 
   /* Get the TIMx SMCR register value */
   tmpsmcr = htim->Instance->SMCR;
- 8003306:      687b            ldr     r3, [r7, #4]
- 8003308:      681b            ldr     r3, [r3, #0]
- 800330a:      689b            ldr     r3, [r3, #8]
- 800330c:      617b            str     r3, [r7, #20]
+ 8003336:      687b            ldr     r3, [r7, #4]
+ 8003338:      681b            ldr     r3, [r3, #0]
+ 800333a:      689b            ldr     r3, [r3, #8]
+ 800333c:      617b            str     r3, [r7, #20]
 
   /* Get the TIMx CCMR1 register value */
   tmpccmr1 = htim->Instance->CCMR1;
- 800330e:      687b            ldr     r3, [r7, #4]
- 8003310:      681b            ldr     r3, [r3, #0]
- 8003312:      699b            ldr     r3, [r3, #24]
- 8003314:      613b            str     r3, [r7, #16]
+ 800333e:      687b            ldr     r3, [r7, #4]
+ 8003340:      681b            ldr     r3, [r3, #0]
+ 8003342:      699b            ldr     r3, [r3, #24]
+ 8003344:      613b            str     r3, [r7, #16]
 
   /* Get the TIMx CCER register value */
   tmpccer = htim->Instance->CCER;
- 8003316:      687b            ldr     r3, [r7, #4]
- 8003318:      681b            ldr     r3, [r3, #0]
- 800331a:      6a1b            ldr     r3, [r3, #32]
- 800331c:      60fb            str     r3, [r7, #12]
+ 8003346:      687b            ldr     r3, [r7, #4]
+ 8003348:      681b            ldr     r3, [r3, #0]
+ 800334a:      6a1b            ldr     r3, [r3, #32]
+ 800334c:      60fb            str     r3, [r7, #12]
 
   /* Set the encoder Mode */
   tmpsmcr |= sConfig->EncoderMode;
- 800331e:      683b            ldr     r3, [r7, #0]
- 8003320:      681b            ldr     r3, [r3, #0]
- 8003322:      697a            ldr     r2, [r7, #20]
- 8003324:      4313            orrs    r3, r2
- 8003326:      617b            str     r3, [r7, #20]
+ 800334e:      683b            ldr     r3, [r7, #0]
+ 8003350:      681b            ldr     r3, [r3, #0]
+ 8003352:      697a            ldr     r2, [r7, #20]
+ 8003354:      4313            orrs    r3, r2
+ 8003356:      617b            str     r3, [r7, #20]
 
   /* Select the Capture Compare 1 and the Capture Compare 2 as input */
   tmpccmr1 &= ~(TIM_CCMR1_CC1S | TIM_CCMR1_CC2S);
- 8003328:      693a            ldr     r2, [r7, #16]
- 800332a:      4b27            ldr     r3, [pc, #156]  ; (80033c8 <HAL_TIM_Encoder_Init+0x118>)
- 800332c:      4013            ands    r3, r2
- 800332e:      613b            str     r3, [r7, #16]
+ 8003358:      693a            ldr     r2, [r7, #16]
+ 800335a:      4b27            ldr     r3, [pc, #156]  ; (80033f8 <HAL_TIM_Encoder_Init+0x118>)
+ 800335c:      4013            ands    r3, r2
+ 800335e:      613b            str     r3, [r7, #16]
   tmpccmr1 |= (sConfig->IC1Selection | (sConfig->IC2Selection << 8U));
- 8003330:      683b            ldr     r3, [r7, #0]
- 8003332:      689a            ldr     r2, [r3, #8]
- 8003334:      683b            ldr     r3, [r7, #0]
- 8003336:      699b            ldr     r3, [r3, #24]
- 8003338:      021b            lsls    r3, r3, #8
- 800333a:      4313            orrs    r3, r2
- 800333c:      693a            ldr     r2, [r7, #16]
- 800333e:      4313            orrs    r3, r2
- 8003340:      613b            str     r3, [r7, #16]
+ 8003360:      683b            ldr     r3, [r7, #0]
+ 8003362:      689a            ldr     r2, [r3, #8]
+ 8003364:      683b            ldr     r3, [r7, #0]
+ 8003366:      699b            ldr     r3, [r3, #24]
+ 8003368:      021b            lsls    r3, r3, #8
+ 800336a:      4313            orrs    r3, r2
+ 800336c:      693a            ldr     r2, [r7, #16]
+ 800336e:      4313            orrs    r3, r2
+ 8003370:      613b            str     r3, [r7, #16]
 
   /* Set the Capture Compare 1 and the Capture Compare 2 prescalers and filters */
   tmpccmr1 &= ~(TIM_CCMR1_IC1PSC | TIM_CCMR1_IC2PSC);
- 8003342:      693a            ldr     r2, [r7, #16]
- 8003344:      4b21            ldr     r3, [pc, #132]  ; (80033cc <HAL_TIM_Encoder_Init+0x11c>)
- 8003346:      4013            ands    r3, r2
- 8003348:      613b            str     r3, [r7, #16]
+ 8003372:      693a            ldr     r2, [r7, #16]
+ 8003374:      4b21            ldr     r3, [pc, #132]  ; (80033fc <HAL_TIM_Encoder_Init+0x11c>)
+ 8003376:      4013            ands    r3, r2
+ 8003378:      613b            str     r3, [r7, #16]
   tmpccmr1 &= ~(TIM_CCMR1_IC1F | TIM_CCMR1_IC2F);
- 800334a:      693a            ldr     r2, [r7, #16]
- 800334c:      4b20            ldr     r3, [pc, #128]  ; (80033d0 <HAL_TIM_Encoder_Init+0x120>)
- 800334e:      4013            ands    r3, r2
- 8003350:      613b            str     r3, [r7, #16]
+ 800337a:      693a            ldr     r2, [r7, #16]
+ 800337c:      4b20            ldr     r3, [pc, #128]  ; (8003400 <HAL_TIM_Encoder_Init+0x120>)
+ 800337e:      4013            ands    r3, r2
+ 8003380:      613b            str     r3, [r7, #16]
   tmpccmr1 |= sConfig->IC1Prescaler | (sConfig->IC2Prescaler << 8U);
- 8003352:      683b            ldr     r3, [r7, #0]
- 8003354:      68da            ldr     r2, [r3, #12]
- 8003356:      683b            ldr     r3, [r7, #0]
- 8003358:      69db            ldr     r3, [r3, #28]
- 800335a:      021b            lsls    r3, r3, #8
- 800335c:      4313            orrs    r3, r2
- 800335e:      693a            ldr     r2, [r7, #16]
- 8003360:      4313            orrs    r3, r2
- 8003362:      613b            str     r3, [r7, #16]
+ 8003382:      683b            ldr     r3, [r7, #0]
+ 8003384:      68da            ldr     r2, [r3, #12]
+ 8003386:      683b            ldr     r3, [r7, #0]
+ 8003388:      69db            ldr     r3, [r3, #28]
+ 800338a:      021b            lsls    r3, r3, #8
+ 800338c:      4313            orrs    r3, r2
+ 800338e:      693a            ldr     r2, [r7, #16]
+ 8003390:      4313            orrs    r3, r2
+ 8003392:      613b            str     r3, [r7, #16]
   tmpccmr1 |= (sConfig->IC1Filter << 4U) | (sConfig->IC2Filter << 12U);
- 8003364:      683b            ldr     r3, [r7, #0]
- 8003366:      691b            ldr     r3, [r3, #16]
- 8003368:      011a            lsls    r2, r3, #4
- 800336a:      683b            ldr     r3, [r7, #0]
- 800336c:      6a1b            ldr     r3, [r3, #32]
- 800336e:      031b            lsls    r3, r3, #12
- 8003370:      4313            orrs    r3, r2
- 8003372:      693a            ldr     r2, [r7, #16]
- 8003374:      4313            orrs    r3, r2
- 8003376:      613b            str     r3, [r7, #16]
+ 8003394:      683b            ldr     r3, [r7, #0]
+ 8003396:      691b            ldr     r3, [r3, #16]
+ 8003398:      011a            lsls    r2, r3, #4
+ 800339a:      683b            ldr     r3, [r7, #0]
+ 800339c:      6a1b            ldr     r3, [r3, #32]
+ 800339e:      031b            lsls    r3, r3, #12
+ 80033a0:      4313            orrs    r3, r2
+ 80033a2:      693a            ldr     r2, [r7, #16]
+ 80033a4:      4313            orrs    r3, r2
+ 80033a6:      613b            str     r3, [r7, #16]
 
   /* Set the TI1 and the TI2 Polarities */
   tmpccer &= ~(TIM_CCER_CC1P | TIM_CCER_CC2P);
- 8003378:      68fb            ldr     r3, [r7, #12]
- 800337a:      f023 0322       bic.w   r3, r3, #34     ; 0x22
- 800337e:      60fb            str     r3, [r7, #12]
+ 80033a8:      68fb            ldr     r3, [r7, #12]
+ 80033aa:      f023 0322       bic.w   r3, r3, #34     ; 0x22
+ 80033ae:      60fb            str     r3, [r7, #12]
   tmpccer &= ~(TIM_CCER_CC1NP | TIM_CCER_CC2NP);
- 8003380:      68fb            ldr     r3, [r7, #12]
- 8003382:      f023 0388       bic.w   r3, r3, #136    ; 0x88
- 8003386:      60fb            str     r3, [r7, #12]
+ 80033b0:      68fb            ldr     r3, [r7, #12]
+ 80033b2:      f023 0388       bic.w   r3, r3, #136    ; 0x88
+ 80033b6:      60fb            str     r3, [r7, #12]
   tmpccer |= sConfig->IC1Polarity | (sConfig->IC2Polarity << 4U);
- 8003388:      683b            ldr     r3, [r7, #0]
- 800338a:      685a            ldr     r2, [r3, #4]
- 800338c:      683b            ldr     r3, [r7, #0]
- 800338e:      695b            ldr     r3, [r3, #20]
- 8003390:      011b            lsls    r3, r3, #4
- 8003392:      4313            orrs    r3, r2
- 8003394:      68fa            ldr     r2, [r7, #12]
- 8003396:      4313            orrs    r3, r2
- 8003398:      60fb            str     r3, [r7, #12]
+ 80033b8:      683b            ldr     r3, [r7, #0]
+ 80033ba:      685a            ldr     r2, [r3, #4]
+ 80033bc:      683b            ldr     r3, [r7, #0]
+ 80033be:      695b            ldr     r3, [r3, #20]
+ 80033c0:      011b            lsls    r3, r3, #4
+ 80033c2:      4313            orrs    r3, r2
+ 80033c4:      68fa            ldr     r2, [r7, #12]
+ 80033c6:      4313            orrs    r3, r2
+ 80033c8:      60fb            str     r3, [r7, #12]
 
   /* Write to TIMx SMCR */
   htim->Instance->SMCR = tmpsmcr;
- 800339a:      687b            ldr     r3, [r7, #4]
- 800339c:      681b            ldr     r3, [r3, #0]
- 800339e:      697a            ldr     r2, [r7, #20]
- 80033a0:      609a            str     r2, [r3, #8]
+ 80033ca:      687b            ldr     r3, [r7, #4]
+ 80033cc:      681b            ldr     r3, [r3, #0]
+ 80033ce:      697a            ldr     r2, [r7, #20]
+ 80033d0:      609a            str     r2, [r3, #8]
 
   /* Write to TIMx CCMR1 */
   htim->Instance->CCMR1 = tmpccmr1;
- 80033a2:      687b            ldr     r3, [r7, #4]
- 80033a4:      681b            ldr     r3, [r3, #0]
- 80033a6:      693a            ldr     r2, [r7, #16]
- 80033a8:      619a            str     r2, [r3, #24]
+ 80033d2:      687b            ldr     r3, [r7, #4]
+ 80033d4:      681b            ldr     r3, [r3, #0]
+ 80033d6:      693a            ldr     r2, [r7, #16]
+ 80033d8:      619a            str     r2, [r3, #24]
 
   /* Write to TIMx CCER */
   htim->Instance->CCER = tmpccer;
- 80033aa:      687b            ldr     r3, [r7, #4]
- 80033ac:      681b            ldr     r3, [r3, #0]
- 80033ae:      68fa            ldr     r2, [r7, #12]
- 80033b0:      621a            str     r2, [r3, #32]
+ 80033da:      687b            ldr     r3, [r7, #4]
+ 80033dc:      681b            ldr     r3, [r3, #0]
+ 80033de:      68fa            ldr     r2, [r7, #12]
+ 80033e0:      621a            str     r2, [r3, #32]
 
   /* Initialize the TIM state*/
   htim->State = HAL_TIM_STATE_READY;
- 80033b2:      687b            ldr     r3, [r7, #4]
- 80033b4:      2201            movs    r2, #1
- 80033b6:      f883 203d       strb.w  r2, [r3, #61]   ; 0x3d
+ 80033e2:      687b            ldr     r3, [r7, #4]
+ 80033e4:      2201            movs    r2, #1
+ 80033e6:      f883 203d       strb.w  r2, [r3, #61]   ; 0x3d
 
   return HAL_OK;
- 80033ba:      2300            movs    r3, #0
+ 80033ea:      2300            movs    r3, #0
 }
- 80033bc:      4618            mov     r0, r3
- 80033be:      3718            adds    r7, #24
- 80033c0:      46bd            mov     sp, r7
- 80033c2:      bd80            pop     {r7, pc}
- 80033c4:      fffebff8        .word   0xfffebff8
- 80033c8:      fffffcfc        .word   0xfffffcfc
- 80033cc:      fffff3f3        .word   0xfffff3f3
- 80033d0:      ffff0f0f        .word   0xffff0f0f
-
-080033d4 <HAL_TIM_Encoder_Start>:
+ 80033ec:      4618            mov     r0, r3
+ 80033ee:      3718            adds    r7, #24
+ 80033f0:      46bd            mov     sp, r7
+ 80033f2:      bd80            pop     {r7, pc}
+ 80033f4:      fffebff8        .word   0xfffebff8
+ 80033f8:      fffffcfc        .word   0xfffffcfc
+ 80033fc:      fffff3f3        .word   0xfffff3f3
+ 8003400:      ffff0f0f        .word   0xffff0f0f
+
+08003404 <HAL_TIM_Encoder_Start>:
   *            @arg TIM_CHANNEL_2: TIM Channel 2 selected
   *            @arg TIM_CHANNEL_ALL: TIM Channel 1 and TIM Channel 2 are selected
   * @retval HAL status
   */
 HAL_StatusTypeDef HAL_TIM_Encoder_Start(TIM_HandleTypeDef *htim, uint32_t Channel)
 {
- 80033d4:      b580            push    {r7, lr}
- 80033d6:      b082            sub     sp, #8
- 80033d8:      af00            add     r7, sp, #0
- 80033da:      6078            str     r0, [r7, #4]
- 80033dc:      6039            str     r1, [r7, #0]
+ 8003404:      b580            push    {r7, lr}
+ 8003406:      b082            sub     sp, #8
+ 8003408:      af00            add     r7, sp, #0
+ 800340a:      6078            str     r0, [r7, #4]
+ 800340c:      6039            str     r1, [r7, #0]
   /* Check the parameters */
   assert_param(IS_TIM_CC2_INSTANCE(htim->Instance));
 
   /* Enable the encoder interface channels */
   switch (Channel)
- 80033de:      683b            ldr     r3, [r7, #0]
- 80033e0:      2b00            cmp     r3, #0
- 80033e2:      d002            beq.n   80033ea <HAL_TIM_Encoder_Start+0x16>
- 80033e4:      2b04            cmp     r3, #4
- 80033e6:      d008            beq.n   80033fa <HAL_TIM_Encoder_Start+0x26>
- 80033e8:      e00f            b.n     800340a <HAL_TIM_Encoder_Start+0x36>
+ 800340e:      683b            ldr     r3, [r7, #0]
+ 8003410:      2b00            cmp     r3, #0
+ 8003412:      d002            beq.n   800341a <HAL_TIM_Encoder_Start+0x16>
+ 8003414:      2b04            cmp     r3, #4
+ 8003416:      d008            beq.n   800342a <HAL_TIM_Encoder_Start+0x26>
+ 8003418:      e00f            b.n     800343a <HAL_TIM_Encoder_Start+0x36>
   {
     case TIM_CHANNEL_1:
     {
       TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_1, TIM_CCx_ENABLE);
- 80033ea:      687b            ldr     r3, [r7, #4]
- 80033ec:      681b            ldr     r3, [r3, #0]
- 80033ee:      2201            movs    r2, #1
- 80033f0:      2100            movs    r1, #0
- 80033f2:      4618            mov     r0, r3
- 80033f4:      f000 fed6       bl      80041a4 <TIM_CCxChannelCmd>
+ 800341a:      687b            ldr     r3, [r7, #4]
+ 800341c:      681b            ldr     r3, [r3, #0]
+ 800341e:      2201            movs    r2, #1
+ 8003420:      2100            movs    r1, #0
+ 8003422:      4618            mov     r0, r3
+ 8003424:      f000 fed6       bl      80041d4 <TIM_CCxChannelCmd>
       break;
- 80033f8:      e016            b.n     8003428 <HAL_TIM_Encoder_Start+0x54>
+ 8003428:      e016            b.n     8003458 <HAL_TIM_Encoder_Start+0x54>
     }
 
     case TIM_CHANNEL_2:
     {
       TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_2, TIM_CCx_ENABLE);
- 80033fa:      687b            ldr     r3, [r7, #4]
- 80033fc:      681b            ldr     r3, [r3, #0]
- 80033fe:      2201            movs    r2, #1
- 8003400:      2104            movs    r1, #4
- 8003402:      4618            mov     r0, r3
- 8003404:      f000 fece       bl      80041a4 <TIM_CCxChannelCmd>
+ 800342a:      687b            ldr     r3, [r7, #4]
+ 800342c:      681b            ldr     r3, [r3, #0]
+ 800342e:      2201            movs    r2, #1
+ 8003430:      2104            movs    r1, #4
+ 8003432:      4618            mov     r0, r3
+ 8003434:      f000 fece       bl      80041d4 <TIM_CCxChannelCmd>
       break;
- 8003408:      e00e            b.n     8003428 <HAL_TIM_Encoder_Start+0x54>
+ 8003438:      e00e            b.n     8003458 <HAL_TIM_Encoder_Start+0x54>
     }
 
     default :
     {
       TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_1, TIM_CCx_ENABLE);
- 800340a:      687b            ldr     r3, [r7, #4]
- 800340c:      681b            ldr     r3, [r3, #0]
- 800340e:      2201            movs    r2, #1
- 8003410:      2100            movs    r1, #0
- 8003412:      4618            mov     r0, r3
- 8003414:      f000 fec6       bl      80041a4 <TIM_CCxChannelCmd>
+ 800343a:      687b            ldr     r3, [r7, #4]
+ 800343c:      681b            ldr     r3, [r3, #0]
+ 800343e:      2201            movs    r2, #1
+ 8003440:      2100            movs    r1, #0
+ 8003442:      4618            mov     r0, r3
+ 8003444:      f000 fec6       bl      80041d4 <TIM_CCxChannelCmd>
       TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_2, TIM_CCx_ENABLE);
- 8003418:      687b            ldr     r3, [r7, #4]
- 800341a:      681b            ldr     r3, [r3, #0]
- 800341c:      2201            movs    r2, #1
- 800341e:      2104            movs    r1, #4
- 8003420:      4618            mov     r0, r3
- 8003422:      f000 febf       bl      80041a4 <TIM_CCxChannelCmd>
+ 8003448:      687b            ldr     r3, [r7, #4]
+ 800344a:      681b            ldr     r3, [r3, #0]
+ 800344c:      2201            movs    r2, #1
+ 800344e:      2104            movs    r1, #4
+ 8003450:      4618            mov     r0, r3
+ 8003452:      f000 febf       bl      80041d4 <TIM_CCxChannelCmd>
       break;
- 8003426:      bf00            nop
+ 8003456:      bf00            nop
     }
   }
   /* Enable the Peripheral */
   __HAL_TIM_ENABLE(htim);
- 8003428:      687b            ldr     r3, [r7, #4]
- 800342a:      681b            ldr     r3, [r3, #0]
- 800342c:      681a            ldr     r2, [r3, #0]
- 800342e:      687b            ldr     r3, [r7, #4]
- 8003430:      681b            ldr     r3, [r3, #0]
- 8003432:      f042 0201       orr.w   r2, r2, #1
- 8003436:      601a            str     r2, [r3, #0]
+ 8003458:      687b            ldr     r3, [r7, #4]
+ 800345a:      681b            ldr     r3, [r3, #0]
+ 800345c:      681a            ldr     r2, [r3, #0]
+ 800345e:      687b            ldr     r3, [r7, #4]
+ 8003460:      681b            ldr     r3, [r3, #0]
+ 8003462:      f042 0201       orr.w   r2, r2, #1
+ 8003466:      601a            str     r2, [r3, #0]
 
   /* Return function status */
   return HAL_OK;
- 8003438:      2300            movs    r3, #0
+ 8003468:      2300            movs    r3, #0
 }
- 800343a:      4618            mov     r0, r3
- 800343c:      3708            adds    r7, #8
- 800343e:      46bd            mov     sp, r7
- 8003440:      bd80            pop     {r7, pc}
+ 800346a:      4618            mov     r0, r3
+ 800346c:      3708            adds    r7, #8
+ 800346e:      46bd            mov     sp, r7
+ 8003470:      bd80            pop     {r7, pc}
 
-08003442 <HAL_TIM_IRQHandler>:
+08003472 <HAL_TIM_IRQHandler>:
   * @brief  This function handles TIM interrupts requests.
   * @param  htim TIM  handle
   * @retval None
   */
 void HAL_TIM_IRQHandler(TIM_HandleTypeDef *htim)
 {
- 8003442:      b580            push    {r7, lr}
- 8003444:      b082            sub     sp, #8
- 8003446:      af00            add     r7, sp, #0
- 8003448:      6078            str     r0, [r7, #4]
+ 8003472:      b580            push    {r7, lr}
+ 8003474:      b082            sub     sp, #8
+ 8003476:      af00            add     r7, sp, #0
+ 8003478:      6078            str     r0, [r7, #4]
   /* Capture compare 1 event */
   if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_CC1) != RESET)
- 800344a:      687b            ldr     r3, [r7, #4]
- 800344c:      681b            ldr     r3, [r3, #0]
- 800344e:      691b            ldr     r3, [r3, #16]
- 8003450:      f003 0302       and.w   r3, r3, #2
- 8003454:      2b02            cmp     r3, #2
- 8003456:      d122            bne.n   800349e <HAL_TIM_IRQHandler+0x5c>
+ 800347a:      687b            ldr     r3, [r7, #4]
+ 800347c:      681b            ldr     r3, [r3, #0]
+ 800347e:      691b            ldr     r3, [r3, #16]
+ 8003480:      f003 0302       and.w   r3, r3, #2
+ 8003484:      2b02            cmp     r3, #2
+ 8003486:      d122            bne.n   80034ce <HAL_TIM_IRQHandler+0x5c>
   {
     if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_CC1) != RESET)
- 8003458:      687b            ldr     r3, [r7, #4]
- 800345a:      681b            ldr     r3, [r3, #0]
- 800345c:      68db            ldr     r3, [r3, #12]
- 800345e:      f003 0302       and.w   r3, r3, #2
- 8003462:      2b02            cmp     r3, #2
- 8003464:      d11b            bne.n   800349e <HAL_TIM_IRQHandler+0x5c>
+ 8003488:      687b            ldr     r3, [r7, #4]
+ 800348a:      681b            ldr     r3, [r3, #0]
+ 800348c:      68db            ldr     r3, [r3, #12]
+ 800348e:      f003 0302       and.w   r3, r3, #2
+ 8003492:      2b02            cmp     r3, #2
+ 8003494:      d11b            bne.n   80034ce <HAL_TIM_IRQHandler+0x5c>
     {
       {
         __HAL_TIM_CLEAR_IT(htim, TIM_IT_CC1);
- 8003466:      687b            ldr     r3, [r7, #4]
- 8003468:      681b            ldr     r3, [r3, #0]
- 800346a:      f06f 0202       mvn.w   r2, #2
- 800346e:      611a            str     r2, [r3, #16]
+ 8003496:      687b            ldr     r3, [r7, #4]
+ 8003498:      681b            ldr     r3, [r3, #0]
+ 800349a:      f06f 0202       mvn.w   r2, #2
+ 800349e:      611a            str     r2, [r3, #16]
         htim->Channel = HAL_TIM_ACTIVE_CHANNEL_1;
- 8003470:      687b            ldr     r3, [r7, #4]
- 8003472:      2201            movs    r2, #1
- 8003474:      771a            strb    r2, [r3, #28]
+ 80034a0:      687b            ldr     r3, [r7, #4]
+ 80034a2:      2201            movs    r2, #1
+ 80034a4:      771a            strb    r2, [r3, #28]
 
         /* Input capture event */
         if ((htim->Instance->CCMR1 & TIM_CCMR1_CC1S) != 0x00U)
- 8003476:      687b            ldr     r3, [r7, #4]
- 8003478:      681b            ldr     r3, [r3, #0]
- 800347a:      699b            ldr     r3, [r3, #24]
- 800347c:      f003 0303       and.w   r3, r3, #3
- 8003480:      2b00            cmp     r3, #0
- 8003482:      d003            beq.n   800348c <HAL_TIM_IRQHandler+0x4a>
+ 80034a6:      687b            ldr     r3, [r7, #4]
+ 80034a8:      681b            ldr     r3, [r3, #0]
+ 80034aa:      699b            ldr     r3, [r3, #24]
+ 80034ac:      f003 0303       and.w   r3, r3, #3
+ 80034b0:      2b00            cmp     r3, #0
+ 80034b2:      d003            beq.n   80034bc <HAL_TIM_IRQHandler+0x4a>
         {
 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
           htim->IC_CaptureCallback(htim);
 #else
           HAL_TIM_IC_CaptureCallback(htim);
- 8003484:      6878            ldr     r0, [r7, #4]
- 8003486:      f000 fad7       bl      8003a38 <HAL_TIM_IC_CaptureCallback>
- 800348a:      e005            b.n     8003498 <HAL_TIM_IRQHandler+0x56>
+ 80034b4:      6878            ldr     r0, [r7, #4]
+ 80034b6:      f000 fad7       bl      8003a68 <HAL_TIM_IC_CaptureCallback>
+ 80034ba:      e005            b.n     80034c8 <HAL_TIM_IRQHandler+0x56>
         {
 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
           htim->OC_DelayElapsedCallback(htim);
           htim->PWM_PulseFinishedCallback(htim);
 #else
           HAL_TIM_OC_DelayElapsedCallback(htim);
- 800348c:      6878            ldr     r0, [r7, #4]
- 800348e:      f000 fac9       bl      8003a24 <HAL_TIM_OC_DelayElapsedCallback>
+ 80034bc:      6878            ldr     r0, [r7, #4]
+ 80034be:      f000 fac9       bl      8003a54 <HAL_TIM_OC_DelayElapsedCallback>
           HAL_TIM_PWM_PulseFinishedCallback(htim);
- 8003492:      6878            ldr     r0, [r7, #4]
- 8003494:      f000 fada       bl      8003a4c <HAL_TIM_PWM_PulseFinishedCallback>
+ 80034c2:      6878            ldr     r0, [r7, #4]
+ 80034c4:      f000 fada       bl      8003a7c <HAL_TIM_PWM_PulseFinishedCallback>
 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */
         }
         htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED;
- 8003498:      687b            ldr     r3, [r7, #4]
- 800349a:      2200            movs    r2, #0
- 800349c:      771a            strb    r2, [r3, #28]
+ 80034c8:      687b            ldr     r3, [r7, #4]
+ 80034ca:      2200            movs    r2, #0
+ 80034cc:      771a            strb    r2, [r3, #28]
       }
     }
   }
   /* Capture compare 2 event */
   if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_CC2) != RESET)
- 800349e:      687b            ldr     r3, [r7, #4]
- 80034a0:      681b            ldr     r3, [r3, #0]
- 80034a2:      691b            ldr     r3, [r3, #16]
- 80034a4:      f003 0304       and.w   r3, r3, #4
- 80034a8:      2b04            cmp     r3, #4
- 80034aa:      d122            bne.n   80034f2 <HAL_TIM_IRQHandler+0xb0>
+ 80034ce:      687b            ldr     r3, [r7, #4]
+ 80034d0:      681b            ldr     r3, [r3, #0]
+ 80034d2:      691b            ldr     r3, [r3, #16]
+ 80034d4:      f003 0304       and.w   r3, r3, #4
+ 80034d8:      2b04            cmp     r3, #4
+ 80034da:      d122            bne.n   8003522 <HAL_TIM_IRQHandler+0xb0>
   {
     if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_CC2) != RESET)
- 80034ac:      687b            ldr     r3, [r7, #4]
- 80034ae:      681b            ldr     r3, [r3, #0]
- 80034b0:      68db            ldr     r3, [r3, #12]
- 80034b2:      f003 0304       and.w   r3, r3, #4
- 80034b6:      2b04            cmp     r3, #4
- 80034b8:      d11b            bne.n   80034f2 <HAL_TIM_IRQHandler+0xb0>
+ 80034dc:      687b            ldr     r3, [r7, #4]
+ 80034de:      681b            ldr     r3, [r3, #0]
+ 80034e0:      68db            ldr     r3, [r3, #12]
+ 80034e2:      f003 0304       and.w   r3, r3, #4
+ 80034e6:      2b04            cmp     r3, #4
+ 80034e8:      d11b            bne.n   8003522 <HAL_TIM_IRQHandler+0xb0>
     {
       __HAL_TIM_CLEAR_IT(htim, TIM_IT_CC2);
- 80034ba:      687b            ldr     r3, [r7, #4]
- 80034bc:      681b            ldr     r3, [r3, #0]
- 80034be:      f06f 0204       mvn.w   r2, #4
- 80034c2:      611a            str     r2, [r3, #16]
+ 80034ea:      687b            ldr     r3, [r7, #4]
+ 80034ec:      681b            ldr     r3, [r3, #0]
+ 80034ee:      f06f 0204       mvn.w   r2, #4
+ 80034f2:      611a            str     r2, [r3, #16]
       htim->Channel = HAL_TIM_ACTIVE_CHANNEL_2;
- 80034c4:      687b            ldr     r3, [r7, #4]
- 80034c6:      2202            movs    r2, #2
- 80034c8:      771a            strb    r2, [r3, #28]
+ 80034f4:      687b            ldr     r3, [r7, #4]
+ 80034f6:      2202            movs    r2, #2
+ 80034f8:      771a            strb    r2, [r3, #28]
       /* Input capture event */
       if ((htim->Instance->CCMR1 & TIM_CCMR1_CC2S) != 0x00U)
- 80034ca:      687b            ldr     r3, [r7, #4]
- 80034cc:      681b            ldr     r3, [r3, #0]
- 80034ce:      699b            ldr     r3, [r3, #24]
- 80034d0:      f403 7340       and.w   r3, r3, #768    ; 0x300
- 80034d4:      2b00            cmp     r3, #0
- 80034d6:      d003            beq.n   80034e0 <HAL_TIM_IRQHandler+0x9e>
+ 80034fa:      687b            ldr     r3, [r7, #4]
+ 80034fc:      681b            ldr     r3, [r3, #0]
+ 80034fe:      699b            ldr     r3, [r3, #24]
+ 8003500:      f403 7340       and.w   r3, r3, #768    ; 0x300
+ 8003504:      2b00            cmp     r3, #0
+ 8003506:      d003            beq.n   8003510 <HAL_TIM_IRQHandler+0x9e>
       {
 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
         htim->IC_CaptureCallback(htim);
 #else
         HAL_TIM_IC_CaptureCallback(htim);
- 80034d8:      6878            ldr     r0, [r7, #4]
- 80034da:      f000 faad       bl      8003a38 <HAL_TIM_IC_CaptureCallback>
- 80034de:      e005            b.n     80034ec <HAL_TIM_IRQHandler+0xaa>
+ 8003508:      6878            ldr     r0, [r7, #4]
+ 800350a:      f000 faad       bl      8003a68 <HAL_TIM_IC_CaptureCallback>
+ 800350e:      e005            b.n     800351c <HAL_TIM_IRQHandler+0xaa>
       {
 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
         htim->OC_DelayElapsedCallback(htim);
         htim->PWM_PulseFinishedCallback(htim);
 #else
         HAL_TIM_OC_DelayElapsedCallback(htim);
- 80034e0:      6878            ldr     r0, [r7, #4]
- 80034e2:      f000 fa9f       bl      8003a24 <HAL_TIM_OC_DelayElapsedCallback>
+ 8003510:      6878            ldr     r0, [r7, #4]
+ 8003512:      f000 fa9f       bl      8003a54 <HAL_TIM_OC_DelayElapsedCallback>
         HAL_TIM_PWM_PulseFinishedCallback(htim);
- 80034e6:      6878            ldr     r0, [r7, #4]
- 80034e8:      f000 fab0       bl      8003a4c <HAL_TIM_PWM_PulseFinishedCallback>
+ 8003516:      6878            ldr     r0, [r7, #4]
+ 8003518:      f000 fab0       bl      8003a7c <HAL_TIM_PWM_PulseFinishedCallback>
 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */
       }
       htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED;
- 80034ec:      687b            ldr     r3, [r7, #4]
- 80034ee:      2200            movs    r2, #0
- 80034f0:      771a            strb    r2, [r3, #28]
+ 800351c:      687b            ldr     r3, [r7, #4]
+ 800351e:      2200            movs    r2, #0
+ 8003520:      771a            strb    r2, [r3, #28]
     }
   }
   /* Capture compare 3 event */
   if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_CC3) != RESET)
- 80034f2:      687b            ldr     r3, [r7, #4]
- 80034f4:      681b            ldr     r3, [r3, #0]
- 80034f6:      691b            ldr     r3, [r3, #16]
- 80034f8:      f003 0308       and.w   r3, r3, #8
- 80034fc:      2b08            cmp     r3, #8
- 80034fe:      d122            bne.n   8003546 <HAL_TIM_IRQHandler+0x104>
+ 8003522:      687b            ldr     r3, [r7, #4]
+ 8003524:      681b            ldr     r3, [r3, #0]
+ 8003526:      691b            ldr     r3, [r3, #16]
+ 8003528:      f003 0308       and.w   r3, r3, #8
+ 800352c:      2b08            cmp     r3, #8
+ 800352e:      d122            bne.n   8003576 <HAL_TIM_IRQHandler+0x104>
   {
     if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_CC3) != RESET)
- 8003500:      687b            ldr     r3, [r7, #4]
- 8003502:      681b            ldr     r3, [r3, #0]
- 8003504:      68db            ldr     r3, [r3, #12]
- 8003506:      f003 0308       and.w   r3, r3, #8
- 800350a:      2b08            cmp     r3, #8
- 800350c:      d11b            bne.n   8003546 <HAL_TIM_IRQHandler+0x104>
+ 8003530:      687b            ldr     r3, [r7, #4]
+ 8003532:      681b            ldr     r3, [r3, #0]
+ 8003534:      68db            ldr     r3, [r3, #12]
+ 8003536:      f003 0308       and.w   r3, r3, #8
+ 800353a:      2b08            cmp     r3, #8
+ 800353c:      d11b            bne.n   8003576 <HAL_TIM_IRQHandler+0x104>
     {
       __HAL_TIM_CLEAR_IT(htim, TIM_IT_CC3);
- 800350e:      687b            ldr     r3, [r7, #4]
- 8003510:      681b            ldr     r3, [r3, #0]
- 8003512:      f06f 0208       mvn.w   r2, #8
- 8003516:      611a            str     r2, [r3, #16]
+ 800353e:      687b            ldr     r3, [r7, #4]
+ 8003540:      681b            ldr     r3, [r3, #0]
+ 8003542:      f06f 0208       mvn.w   r2, #8
+ 8003546:      611a            str     r2, [r3, #16]
       htim->Channel = HAL_TIM_ACTIVE_CHANNEL_3;
- 8003518:      687b            ldr     r3, [r7, #4]
- 800351a:      2204            movs    r2, #4
- 800351c:      771a            strb    r2, [r3, #28]
+ 8003548:      687b            ldr     r3, [r7, #4]
+ 800354a:      2204            movs    r2, #4
+ 800354c:      771a            strb    r2, [r3, #28]
       /* Input capture event */
       if ((htim->Instance->CCMR2 & TIM_CCMR2_CC3S) != 0x00U)
- 800351e:      687b            ldr     r3, [r7, #4]
- 8003520:      681b            ldr     r3, [r3, #0]
- 8003522:      69db            ldr     r3, [r3, #28]
- 8003524:      f003 0303       and.w   r3, r3, #3
- 8003528:      2b00            cmp     r3, #0
- 800352a:      d003            beq.n   8003534 <HAL_TIM_IRQHandler+0xf2>
+ 800354e:      687b            ldr     r3, [r7, #4]
+ 8003550:      681b            ldr     r3, [r3, #0]
+ 8003552:      69db            ldr     r3, [r3, #28]
+ 8003554:      f003 0303       and.w   r3, r3, #3
+ 8003558:      2b00            cmp     r3, #0
+ 800355a:      d003            beq.n   8003564 <HAL_TIM_IRQHandler+0xf2>
       {
 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
         htim->IC_CaptureCallback(htim);
 #else
         HAL_TIM_IC_CaptureCallback(htim);
- 800352c:      6878            ldr     r0, [r7, #4]
- 800352e:      f000 fa83       bl      8003a38 <HAL_TIM_IC_CaptureCallback>
- 8003532:      e005            b.n     8003540 <HAL_TIM_IRQHandler+0xfe>
+ 800355c:      6878            ldr     r0, [r7, #4]
+ 800355e:      f000 fa83       bl      8003a68 <HAL_TIM_IC_CaptureCallback>
+ 8003562:      e005            b.n     8003570 <HAL_TIM_IRQHandler+0xfe>
       {
 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
         htim->OC_DelayElapsedCallback(htim);
         htim->PWM_PulseFinishedCallback(htim);
 #else
         HAL_TIM_OC_DelayElapsedCallback(htim);
- 8003534:      6878            ldr     r0, [r7, #4]
- 8003536:      f000 fa75       bl      8003a24 <HAL_TIM_OC_DelayElapsedCallback>
+ 8003564:      6878            ldr     r0, [r7, #4]
+ 8003566:      f000 fa75       bl      8003a54 <HAL_TIM_OC_DelayElapsedCallback>
         HAL_TIM_PWM_PulseFinishedCallback(htim);
- 800353a:      6878            ldr     r0, [r7, #4]
- 800353c:      f000 fa86       bl      8003a4c <HAL_TIM_PWM_PulseFinishedCallback>
+ 800356a:      6878            ldr     r0, [r7, #4]
+ 800356c:      f000 fa86       bl      8003a7c <HAL_TIM_PWM_PulseFinishedCallback>
 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */
       }
       htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED;
- 8003540:      687b            ldr     r3, [r7, #4]
- 8003542:      2200            movs    r2, #0
- 8003544:      771a            strb    r2, [r3, #28]
+ 8003570:      687b            ldr     r3, [r7, #4]
+ 8003572:      2200            movs    r2, #0
+ 8003574:      771a            strb    r2, [r3, #28]
     }
   }
   /* Capture compare 4 event */
   if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_CC4) != RESET)
- 8003546:      687b            ldr     r3, [r7, #4]
- 8003548:      681b            ldr     r3, [r3, #0]
- 800354a:      691b            ldr     r3, [r3, #16]
- 800354c:      f003 0310       and.w   r3, r3, #16
- 8003550:      2b10            cmp     r3, #16
- 8003552:      d122            bne.n   800359a <HAL_TIM_IRQHandler+0x158>
+ 8003576:      687b            ldr     r3, [r7, #4]
+ 8003578:      681b            ldr     r3, [r3, #0]
+ 800357a:      691b            ldr     r3, [r3, #16]
+ 800357c:      f003 0310       and.w   r3, r3, #16
+ 8003580:      2b10            cmp     r3, #16
+ 8003582:      d122            bne.n   80035ca <HAL_TIM_IRQHandler+0x158>
   {
     if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_CC4) != RESET)
- 8003554:      687b            ldr     r3, [r7, #4]
- 8003556:      681b            ldr     r3, [r3, #0]
- 8003558:      68db            ldr     r3, [r3, #12]
- 800355a:      f003 0310       and.w   r3, r3, #16
- 800355e:      2b10            cmp     r3, #16
- 8003560:      d11b            bne.n   800359a <HAL_TIM_IRQHandler+0x158>
+ 8003584:      687b            ldr     r3, [r7, #4]
+ 8003586:      681b            ldr     r3, [r3, #0]
+ 8003588:      68db            ldr     r3, [r3, #12]
+ 800358a:      f003 0310       and.w   r3, r3, #16
+ 800358e:      2b10            cmp     r3, #16
+ 8003590:      d11b            bne.n   80035ca <HAL_TIM_IRQHandler+0x158>
     {
       __HAL_TIM_CLEAR_IT(htim, TIM_IT_CC4);
- 8003562:      687b            ldr     r3, [r7, #4]
- 8003564:      681b            ldr     r3, [r3, #0]
- 8003566:      f06f 0210       mvn.w   r2, #16
- 800356a:      611a            str     r2, [r3, #16]
+ 8003592:      687b            ldr     r3, [r7, #4]
+ 8003594:      681b            ldr     r3, [r3, #0]
+ 8003596:      f06f 0210       mvn.w   r2, #16
+ 800359a:      611a            str     r2, [r3, #16]
       htim->Channel = HAL_TIM_ACTIVE_CHANNEL_4;
- 800356c:      687b            ldr     r3, [r7, #4]
- 800356e:      2208            movs    r2, #8
- 8003570:      771a            strb    r2, [r3, #28]
+ 800359c:      687b            ldr     r3, [r7, #4]
+ 800359e:      2208            movs    r2, #8
+ 80035a0:      771a            strb    r2, [r3, #28]
       /* Input capture event */
       if ((htim->Instance->CCMR2 & TIM_CCMR2_CC4S) != 0x00U)
- 8003572:      687b            ldr     r3, [r7, #4]
- 8003574:      681b            ldr     r3, [r3, #0]
- 8003576:      69db            ldr     r3, [r3, #28]
- 8003578:      f403 7340       and.w   r3, r3, #768    ; 0x300
- 800357c:      2b00            cmp     r3, #0
- 800357e:      d003            beq.n   8003588 <HAL_TIM_IRQHandler+0x146>
+ 80035a2:      687b            ldr     r3, [r7, #4]
+ 80035a4:      681b            ldr     r3, [r3, #0]
+ 80035a6:      69db            ldr     r3, [r3, #28]
+ 80035a8:      f403 7340       and.w   r3, r3, #768    ; 0x300
+ 80035ac:      2b00            cmp     r3, #0
+ 80035ae:      d003            beq.n   80035b8 <HAL_TIM_IRQHandler+0x146>
       {
 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
         htim->IC_CaptureCallback(htim);
 #else
         HAL_TIM_IC_CaptureCallback(htim);
- 8003580:      6878            ldr     r0, [r7, #4]
- 8003582:      f000 fa59       bl      8003a38 <HAL_TIM_IC_CaptureCallback>
- 8003586:      e005            b.n     8003594 <HAL_TIM_IRQHandler+0x152>
+ 80035b0:      6878            ldr     r0, [r7, #4]
+ 80035b2:      f000 fa59       bl      8003a68 <HAL_TIM_IC_CaptureCallback>
+ 80035b6:      e005            b.n     80035c4 <HAL_TIM_IRQHandler+0x152>
       {
 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
         htim->OC_DelayElapsedCallback(htim);
         htim->PWM_PulseFinishedCallback(htim);
 #else
         HAL_TIM_OC_DelayElapsedCallback(htim);
- 8003588:      6878            ldr     r0, [r7, #4]
- 800358a:      f000 fa4b       bl      8003a24 <HAL_TIM_OC_DelayElapsedCallback>
+ 80035b8:      6878            ldr     r0, [r7, #4]
+ 80035ba:      f000 fa4b       bl      8003a54 <HAL_TIM_OC_DelayElapsedCallback>
         HAL_TIM_PWM_PulseFinishedCallback(htim);
- 800358e:      6878            ldr     r0, [r7, #4]
- 8003590:      f000 fa5c       bl      8003a4c <HAL_TIM_PWM_PulseFinishedCallback>
+ 80035be:      6878            ldr     r0, [r7, #4]
+ 80035c0:      f000 fa5c       bl      8003a7c <HAL_TIM_PWM_PulseFinishedCallback>
 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */
       }
       htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED;
- 8003594:      687b            ldr     r3, [r7, #4]
- 8003596:      2200            movs    r2, #0
- 8003598:      771a            strb    r2, [r3, #28]
+ 80035c4:      687b            ldr     r3, [r7, #4]
+ 80035c6:      2200            movs    r2, #0
+ 80035c8:      771a            strb    r2, [r3, #28]
     }
   }
   /* TIM Update event */
   if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_UPDATE) != RESET)
- 800359a:      687b            ldr     r3, [r7, #4]
- 800359c:      681b            ldr     r3, [r3, #0]
- 800359e:      691b            ldr     r3, [r3, #16]
- 80035a0:      f003 0301       and.w   r3, r3, #1
- 80035a4:      2b01            cmp     r3, #1
- 80035a6:      d10e            bne.n   80035c6 <HAL_TIM_IRQHandler+0x184>
+ 80035ca:      687b            ldr     r3, [r7, #4]
+ 80035cc:      681b            ldr     r3, [r3, #0]
+ 80035ce:      691b            ldr     r3, [r3, #16]
+ 80035d0:      f003 0301       and.w   r3, r3, #1
+ 80035d4:      2b01            cmp     r3, #1
+ 80035d6:      d10e            bne.n   80035f6 <HAL_TIM_IRQHandler+0x184>
   {
     if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_UPDATE) != RESET)
- 80035a8:      687b            ldr     r3, [r7, #4]
- 80035aa:      681b            ldr     r3, [r3, #0]
- 80035ac:      68db            ldr     r3, [r3, #12]
- 80035ae:      f003 0301       and.w   r3, r3, #1
- 80035b2:      2b01            cmp     r3, #1
- 80035b4:      d107            bne.n   80035c6 <HAL_TIM_IRQHandler+0x184>
+ 80035d8:      687b            ldr     r3, [r7, #4]
+ 80035da:      681b            ldr     r3, [r3, #0]
+ 80035dc:      68db            ldr     r3, [r3, #12]
+ 80035de:      f003 0301       and.w   r3, r3, #1
+ 80035e2:      2b01            cmp     r3, #1
+ 80035e4:      d107            bne.n   80035f6 <HAL_TIM_IRQHandler+0x184>
     {
       __HAL_TIM_CLEAR_IT(htim, TIM_IT_UPDATE);
- 80035b6:      687b            ldr     r3, [r7, #4]
- 80035b8:      681b            ldr     r3, [r3, #0]
- 80035ba:      f06f 0201       mvn.w   r2, #1
- 80035be:      611a            str     r2, [r3, #16]
+ 80035e6:      687b            ldr     r3, [r7, #4]
+ 80035e8:      681b            ldr     r3, [r3, #0]
+ 80035ea:      f06f 0201       mvn.w   r2, #1
+ 80035ee:      611a            str     r2, [r3, #16]
 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
       htim->PeriodElapsedCallback(htim);
 #else
       HAL_TIM_PeriodElapsedCallback(htim);
- 80035c0:      6878            ldr     r0, [r7, #4]
- 80035c2:      f7fd fe9f       bl      8001304 <HAL_TIM_PeriodElapsedCallback>
+ 80035f0:      6878            ldr     r0, [r7, #4]
+ 80035f2:      f7fd fe6b       bl      80012cc <HAL_TIM_PeriodElapsedCallback>
 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */
     }
   }
   /* TIM Break input event */
   if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_BREAK) != RESET)
- 80035c6:      687b            ldr     r3, [r7, #4]
- 80035c8:      681b            ldr     r3, [r3, #0]
- 80035ca:      691b            ldr     r3, [r3, #16]
- 80035cc:      f003 0380       and.w   r3, r3, #128    ; 0x80
- 80035d0:      2b80            cmp     r3, #128        ; 0x80
- 80035d2:      d10e            bne.n   80035f2 <HAL_TIM_IRQHandler+0x1b0>
+ 80035f6:      687b            ldr     r3, [r7, #4]
+ 80035f8:      681b            ldr     r3, [r3, #0]
+ 80035fa:      691b            ldr     r3, [r3, #16]
+ 80035fc:      f003 0380       and.w   r3, r3, #128    ; 0x80
+ 8003600:      2b80            cmp     r3, #128        ; 0x80
+ 8003602:      d10e            bne.n   8003622 <HAL_TIM_IRQHandler+0x1b0>
   {
     if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_BREAK) != RESET)
- 80035d4:      687b            ldr     r3, [r7, #4]
- 80035d6:      681b            ldr     r3, [r3, #0]
- 80035d8:      68db            ldr     r3, [r3, #12]
- 80035da:      f003 0380       and.w   r3, r3, #128    ; 0x80
- 80035de:      2b80            cmp     r3, #128        ; 0x80
- 80035e0:      d107            bne.n   80035f2 <HAL_TIM_IRQHandler+0x1b0>
+ 8003604:      687b            ldr     r3, [r7, #4]
+ 8003606:      681b            ldr     r3, [r3, #0]
+ 8003608:      68db            ldr     r3, [r3, #12]
+ 800360a:      f003 0380       and.w   r3, r3, #128    ; 0x80
+ 800360e:      2b80            cmp     r3, #128        ; 0x80
+ 8003610:      d107            bne.n   8003622 <HAL_TIM_IRQHandler+0x1b0>
     {
       __HAL_TIM_CLEAR_IT(htim, TIM_IT_BREAK);
- 80035e2:      687b            ldr     r3, [r7, #4]
- 80035e4:      681b            ldr     r3, [r3, #0]
- 80035e6:      f06f 0280       mvn.w   r2, #128        ; 0x80
- 80035ea:      611a            str     r2, [r3, #16]
+ 8003612:      687b            ldr     r3, [r7, #4]
+ 8003614:      681b            ldr     r3, [r3, #0]
+ 8003616:      f06f 0280       mvn.w   r2, #128        ; 0x80
+ 800361a:      611a            str     r2, [r3, #16]
 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
       htim->BreakCallback(htim);
 #else
       HAL_TIMEx_BreakCallback(htim);
- 80035ec:      6878            ldr     r0, [r7, #4]
- 80035ee:      f000 fe65       bl      80042bc <HAL_TIMEx_BreakCallback>
+ 800361c:      6878            ldr     r0, [r7, #4]
+ 800361e:      f000 fe65       bl      80042ec <HAL_TIMEx_BreakCallback>
 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */
     }
   }
   /* TIM Break2 input event */
   if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_BREAK2) != RESET)
- 80035f2:      687b            ldr     r3, [r7, #4]
- 80035f4:      681b            ldr     r3, [r3, #0]
- 80035f6:      691b            ldr     r3, [r3, #16]
- 80035f8:      f403 7380       and.w   r3, r3, #256    ; 0x100
- 80035fc:      f5b3 7f80       cmp.w   r3, #256        ; 0x100
- 8003600:      d10e            bne.n   8003620 <HAL_TIM_IRQHandler+0x1de>
+ 8003622:      687b            ldr     r3, [r7, #4]
+ 8003624:      681b            ldr     r3, [r3, #0]
+ 8003626:      691b            ldr     r3, [r3, #16]
+ 8003628:      f403 7380       and.w   r3, r3, #256    ; 0x100
+ 800362c:      f5b3 7f80       cmp.w   r3, #256        ; 0x100
+ 8003630:      d10e            bne.n   8003650 <HAL_TIM_IRQHandler+0x1de>
   {
     if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_BREAK) != RESET)
- 8003602:      687b            ldr     r3, [r7, #4]
- 8003604:      681b            ldr     r3, [r3, #0]
- 8003606:      68db            ldr     r3, [r3, #12]
- 8003608:      f003 0380       and.w   r3, r3, #128    ; 0x80
- 800360c:      2b80            cmp     r3, #128        ; 0x80
- 800360e:      d107            bne.n   8003620 <HAL_TIM_IRQHandler+0x1de>
+ 8003632:      687b            ldr     r3, [r7, #4]
+ 8003634:      681b            ldr     r3, [r3, #0]
+ 8003636:      68db            ldr     r3, [r3, #12]
+ 8003638:      f003 0380       and.w   r3, r3, #128    ; 0x80
+ 800363c:      2b80            cmp     r3, #128        ; 0x80
+ 800363e:      d107            bne.n   8003650 <HAL_TIM_IRQHandler+0x1de>
     {
       __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_BREAK2);
- 8003610:      687b            ldr     r3, [r7, #4]
- 8003612:      681b            ldr     r3, [r3, #0]
- 8003614:      f46f 7280       mvn.w   r2, #256        ; 0x100
- 8003618:      611a            str     r2, [r3, #16]
+ 8003640:      687b            ldr     r3, [r7, #4]
+ 8003642:      681b            ldr     r3, [r3, #0]
+ 8003644:      f46f 7280       mvn.w   r2, #256        ; 0x100
+ 8003648:      611a            str     r2, [r3, #16]
 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
       htim->Break2Callback(htim);
 #else
       HAL_TIMEx_Break2Callback(htim);
- 800361a:      6878            ldr     r0, [r7, #4]
- 800361c:      f000 fe58       bl      80042d0 <HAL_TIMEx_Break2Callback>
+ 800364a:      6878            ldr     r0, [r7, #4]
+ 800364c:      f000 fe58       bl      8004300 <HAL_TIMEx_Break2Callback>
 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */
     }
   }
   /* TIM Trigger detection event */
   if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_TRIGGER) != RESET)
- 8003620:      687b            ldr     r3, [r7, #4]
- 8003622:      681b            ldr     r3, [r3, #0]
- 8003624:      691b            ldr     r3, [r3, #16]
- 8003626:      f003 0340       and.w   r3, r3, #64     ; 0x40
- 800362a:      2b40            cmp     r3, #64 ; 0x40
- 800362c:      d10e            bne.n   800364c <HAL_TIM_IRQHandler+0x20a>
+ 8003650:      687b            ldr     r3, [r7, #4]
+ 8003652:      681b            ldr     r3, [r3, #0]
+ 8003654:      691b            ldr     r3, [r3, #16]
+ 8003656:      f003 0340       and.w   r3, r3, #64     ; 0x40
+ 800365a:      2b40            cmp     r3, #64 ; 0x40
+ 800365c:      d10e            bne.n   800367c <HAL_TIM_IRQHandler+0x20a>
   {
     if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_TRIGGER) != RESET)
- 800362e:      687b            ldr     r3, [r7, #4]
- 8003630:      681b            ldr     r3, [r3, #0]
- 8003632:      68db            ldr     r3, [r3, #12]
- 8003634:      f003 0340       and.w   r3, r3, #64     ; 0x40
- 8003638:      2b40            cmp     r3, #64 ; 0x40
- 800363a:      d107            bne.n   800364c <HAL_TIM_IRQHandler+0x20a>
+ 800365e:      687b            ldr     r3, [r7, #4]
+ 8003660:      681b            ldr     r3, [r3, #0]
+ 8003662:      68db            ldr     r3, [r3, #12]
+ 8003664:      f003 0340       and.w   r3, r3, #64     ; 0x40
+ 8003668:      2b40            cmp     r3, #64 ; 0x40
+ 800366a:      d107            bne.n   800367c <HAL_TIM_IRQHandler+0x20a>
     {
       __HAL_TIM_CLEAR_IT(htim, TIM_IT_TRIGGER);
- 800363c:      687b            ldr     r3, [r7, #4]
- 800363e:      681b            ldr     r3, [r3, #0]
- 8003640:      f06f 0240       mvn.w   r2, #64 ; 0x40
- 8003644:      611a            str     r2, [r3, #16]
+ 800366c:      687b            ldr     r3, [r7, #4]
+ 800366e:      681b            ldr     r3, [r3, #0]
+ 8003670:      f06f 0240       mvn.w   r2, #64 ; 0x40
+ 8003674:      611a            str     r2, [r3, #16]
 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
       htim->TriggerCallback(htim);
 #else
       HAL_TIM_TriggerCallback(htim);
- 8003646:      6878            ldr     r0, [r7, #4]
- 8003648:      f000 fa0a       bl      8003a60 <HAL_TIM_TriggerCallback>
+ 8003676:      6878            ldr     r0, [r7, #4]
+ 8003678:      f000 fa0a       bl      8003a90 <HAL_TIM_TriggerCallback>
 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */
     }
   }
   /* TIM commutation event */
   if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_COM) != RESET)
- 800364c:      687b            ldr     r3, [r7, #4]
- 800364e:      681b            ldr     r3, [r3, #0]
- 8003650:      691b            ldr     r3, [r3, #16]
- 8003652:      f003 0320       and.w   r3, r3, #32
- 8003656:      2b20            cmp     r3, #32
- 8003658:      d10e            bne.n   8003678 <HAL_TIM_IRQHandler+0x236>
+ 800367c:      687b            ldr     r3, [r7, #4]
+ 800367e:      681b            ldr     r3, [r3, #0]
+ 8003680:      691b            ldr     r3, [r3, #16]
+ 8003682:      f003 0320       and.w   r3, r3, #32
+ 8003686:      2b20            cmp     r3, #32
+ 8003688:      d10e            bne.n   80036a8 <HAL_TIM_IRQHandler+0x236>
   {
     if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_COM) != RESET)
- 800365a:      687b            ldr     r3, [r7, #4]
- 800365c:      681b            ldr     r3, [r3, #0]
- 800365e:      68db            ldr     r3, [r3, #12]
- 8003660:      f003 0320       and.w   r3, r3, #32
- 8003664:      2b20            cmp     r3, #32
- 8003666:      d107            bne.n   8003678 <HAL_TIM_IRQHandler+0x236>
+ 800368a:      687b            ldr     r3, [r7, #4]
+ 800368c:      681b            ldr     r3, [r3, #0]
+ 800368e:      68db            ldr     r3, [r3, #12]
+ 8003690:      f003 0320       and.w   r3, r3, #32
+ 8003694:      2b20            cmp     r3, #32
+ 8003696:      d107            bne.n   80036a8 <HAL_TIM_IRQHandler+0x236>
     {
       __HAL_TIM_CLEAR_IT(htim, TIM_FLAG_COM);
- 8003668:      687b            ldr     r3, [r7, #4]
- 800366a:      681b            ldr     r3, [r3, #0]
- 800366c:      f06f 0220       mvn.w   r2, #32
- 8003670:      611a            str     r2, [r3, #16]
+ 8003698:      687b            ldr     r3, [r7, #4]
+ 800369a:      681b            ldr     r3, [r3, #0]
+ 800369c:      f06f 0220       mvn.w   r2, #32
+ 80036a0:      611a            str     r2, [r3, #16]
 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
       htim->CommutationCallback(htim);
 #else
       HAL_TIMEx_CommutCallback(htim);
- 8003672:      6878            ldr     r0, [r7, #4]
- 8003674:      f000 fe18       bl      80042a8 <HAL_TIMEx_CommutCallback>
+ 80036a2:      6878            ldr     r0, [r7, #4]
+ 80036a4:      f000 fe18       bl      80042d8 <HAL_TIMEx_CommutCallback>
 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */
     }
   }
 }
- 8003678:      bf00            nop
- 800367a:      3708            adds    r7, #8
- 800367c:      46bd            mov     sp, r7
- 800367e:      bd80            pop     {r7, pc}
+ 80036a8:      bf00            nop
+ 80036aa:      3708            adds    r7, #8
+ 80036ac:      46bd            mov     sp, r7
+ 80036ae:      bd80            pop     {r7, pc}
 
-08003680 <HAL_TIM_PWM_ConfigChannel>:
+080036b0 <HAL_TIM_PWM_ConfigChannel>:
   * @retval HAL status
   */
 HAL_StatusTypeDef HAL_TIM_PWM_ConfigChannel(TIM_HandleTypeDef *htim,
                                             TIM_OC_InitTypeDef *sConfig,
                                             uint32_t Channel)
 {
- 8003680:      b580            push    {r7, lr}
- 8003682:      b084            sub     sp, #16
- 8003684:      af00            add     r7, sp, #0
- 8003686:      60f8            str     r0, [r7, #12]
- 8003688:      60b9            str     r1, [r7, #8]
- 800368a:      607a            str     r2, [r7, #4]
+ 80036b0:      b580            push    {r7, lr}
+ 80036b2:      b084            sub     sp, #16
+ 80036b4:      af00            add     r7, sp, #0
+ 80036b6:      60f8            str     r0, [r7, #12]
+ 80036b8:      60b9            str     r1, [r7, #8]
+ 80036ba:      607a            str     r2, [r7, #4]
   assert_param(IS_TIM_PWM_MODE(sConfig->OCMode));
   assert_param(IS_TIM_OC_POLARITY(sConfig->OCPolarity));
   assert_param(IS_TIM_FAST_STATE(sConfig->OCFastMode));
 
   /* Process Locked */
   __HAL_LOCK(htim);
- 800368c:      68fb            ldr     r3, [r7, #12]
- 800368e:      f893 303c       ldrb.w  r3, [r3, #60]   ; 0x3c
- 8003692:      2b01            cmp     r3, #1
- 8003694:      d101            bne.n   800369a <HAL_TIM_PWM_ConfigChannel+0x1a>
- 8003696:      2302            movs    r3, #2
- 8003698:      e105            b.n     80038a6 <HAL_TIM_PWM_ConfigChannel+0x226>
- 800369a:      68fb            ldr     r3, [r7, #12]
- 800369c:      2201            movs    r2, #1
- 800369e:      f883 203c       strb.w  r2, [r3, #60]   ; 0x3c
+ 80036bc:      68fb            ldr     r3, [r7, #12]
+ 80036be:      f893 303c       ldrb.w  r3, [r3, #60]   ; 0x3c
+ 80036c2:      2b01            cmp     r3, #1
+ 80036c4:      d101            bne.n   80036ca <HAL_TIM_PWM_ConfigChannel+0x1a>
+ 80036c6:      2302            movs    r3, #2
+ 80036c8:      e105            b.n     80038d6 <HAL_TIM_PWM_ConfigChannel+0x226>
+ 80036ca:      68fb            ldr     r3, [r7, #12]
+ 80036cc:      2201            movs    r2, #1
+ 80036ce:      f883 203c       strb.w  r2, [r3, #60]   ; 0x3c
 
   htim->State = HAL_TIM_STATE_BUSY;
- 80036a2:      68fb            ldr     r3, [r7, #12]
- 80036a4:      2202            movs    r2, #2
- 80036a6:      f883 203d       strb.w  r2, [r3, #61]   ; 0x3d
+ 80036d2:      68fb            ldr     r3, [r7, #12]
+ 80036d4:      2202            movs    r2, #2
+ 80036d6:      f883 203d       strb.w  r2, [r3, #61]   ; 0x3d
 
   switch (Channel)
- 80036aa:      687b            ldr     r3, [r7, #4]
- 80036ac:      2b14            cmp     r3, #20
- 80036ae:      f200 80f0       bhi.w   8003892 <HAL_TIM_PWM_ConfigChannel+0x212>
- 80036b2:      a201            add     r2, pc, #4      ; (adr r2, 80036b8 <HAL_TIM_PWM_ConfigChannel+0x38>)
- 80036b4:      f852 f023       ldr.w   pc, [r2, r3, lsl #2]
- 80036b8:      0800370d        .word   0x0800370d
- 80036bc:      08003893        .word   0x08003893
- 80036c0:      08003893        .word   0x08003893
- 80036c4:      08003893        .word   0x08003893
- 80036c8:      0800374d        .word   0x0800374d
- 80036cc:      08003893        .word   0x08003893
- 80036d0:      08003893        .word   0x08003893
- 80036d4:      08003893        .word   0x08003893
- 80036d8:      0800378f        .word   0x0800378f
- 80036dc:      08003893        .word   0x08003893
- 80036e0:      08003893        .word   0x08003893
- 80036e4:      08003893        .word   0x08003893
- 80036e8:      080037cf        .word   0x080037cf
- 80036ec:      08003893        .word   0x08003893
- 80036f0:      08003893        .word   0x08003893
- 80036f4:      08003893        .word   0x08003893
- 80036f8:      08003811        .word   0x08003811
- 80036fc:      08003893        .word   0x08003893
- 8003700:      08003893        .word   0x08003893
- 8003704:      08003893        .word   0x08003893
- 8003708:      08003851        .word   0x08003851
+ 80036da:      687b            ldr     r3, [r7, #4]
+ 80036dc:      2b14            cmp     r3, #20
+ 80036de:      f200 80f0       bhi.w   80038c2 <HAL_TIM_PWM_ConfigChannel+0x212>
+ 80036e2:      a201            add     r2, pc, #4      ; (adr r2, 80036e8 <HAL_TIM_PWM_ConfigChannel+0x38>)
+ 80036e4:      f852 f023       ldr.w   pc, [r2, r3, lsl #2]
+ 80036e8:      0800373d        .word   0x0800373d
+ 80036ec:      080038c3        .word   0x080038c3
+ 80036f0:      080038c3        .word   0x080038c3
+ 80036f4:      080038c3        .word   0x080038c3
+ 80036f8:      0800377d        .word   0x0800377d
+ 80036fc:      080038c3        .word   0x080038c3
+ 8003700:      080038c3        .word   0x080038c3
+ 8003704:      080038c3        .word   0x080038c3
+ 8003708:      080037bf        .word   0x080037bf
+ 800370c:      080038c3        .word   0x080038c3
+ 8003710:      080038c3        .word   0x080038c3
+ 8003714:      080038c3        .word   0x080038c3
+ 8003718:      080037ff        .word   0x080037ff
+ 800371c:      080038c3        .word   0x080038c3
+ 8003720:      080038c3        .word   0x080038c3
+ 8003724:      080038c3        .word   0x080038c3
+ 8003728:      08003841        .word   0x08003841
+ 800372c:      080038c3        .word   0x080038c3
+ 8003730:      080038c3        .word   0x080038c3
+ 8003734:      080038c3        .word   0x080038c3
+ 8003738:      08003881        .word   0x08003881
     {
       /* Check the parameters */
       assert_param(IS_TIM_CC1_INSTANCE(htim->Instance));
 
       /* Configure the Channel 1 in PWM mode */
       TIM_OC1_SetConfig(htim->Instance, sConfig);
- 800370c:      68fb            ldr     r3, [r7, #12]
- 800370e:      681b            ldr     r3, [r3, #0]
- 8003710:      68b9            ldr     r1, [r7, #8]
- 8003712:      4618            mov     r0, r3
- 8003714:      f000 fa4e       bl      8003bb4 <TIM_OC1_SetConfig>
+ 800373c:      68fb            ldr     r3, [r7, #12]
+ 800373e:      681b            ldr     r3, [r3, #0]
+ 8003740:      68b9            ldr     r1, [r7, #8]
+ 8003742:      4618            mov     r0, r3
+ 8003744:      f000 fa4e       bl      8003be4 <TIM_OC1_SetConfig>
 
       /* Set the Preload enable bit for channel1 */
       htim->Instance->CCMR1 |= TIM_CCMR1_OC1PE;
- 8003718:      68fb            ldr     r3, [r7, #12]
- 800371a:      681b            ldr     r3, [r3, #0]
- 800371c:      699a            ldr     r2, [r3, #24]
- 800371e:      68fb            ldr     r3, [r7, #12]
- 8003720:      681b            ldr     r3, [r3, #0]
- 8003722:      f042 0208       orr.w   r2, r2, #8
- 8003726:      619a            str     r2, [r3, #24]
+ 8003748:      68fb            ldr     r3, [r7, #12]
+ 800374a:      681b            ldr     r3, [r3, #0]
+ 800374c:      699a            ldr     r2, [r3, #24]
+ 800374e:      68fb            ldr     r3, [r7, #12]
+ 8003750:      681b            ldr     r3, [r3, #0]
+ 8003752:      f042 0208       orr.w   r2, r2, #8
+ 8003756:      619a            str     r2, [r3, #24]
 
       /* Configure the Output Fast mode */
       htim->Instance->CCMR1 &= ~TIM_CCMR1_OC1FE;
- 8003728:      68fb            ldr     r3, [r7, #12]
- 800372a:      681b            ldr     r3, [r3, #0]
- 800372c:      699a            ldr     r2, [r3, #24]
- 800372e:      68fb            ldr     r3, [r7, #12]
- 8003730:      681b            ldr     r3, [r3, #0]
- 8003732:      f022 0204       bic.w   r2, r2, #4
- 8003736:      619a            str     r2, [r3, #24]
+ 8003758:      68fb            ldr     r3, [r7, #12]
+ 800375a:      681b            ldr     r3, [r3, #0]
+ 800375c:      699a            ldr     r2, [r3, #24]
+ 800375e:      68fb            ldr     r3, [r7, #12]
+ 8003760:      681b            ldr     r3, [r3, #0]
+ 8003762:      f022 0204       bic.w   r2, r2, #4
+ 8003766:      619a            str     r2, [r3, #24]
       htim->Instance->CCMR1 |= sConfig->OCFastMode;
- 8003738:      68fb            ldr     r3, [r7, #12]
- 800373a:      681b            ldr     r3, [r3, #0]
- 800373c:      6999            ldr     r1, [r3, #24]
- 800373e:      68bb            ldr     r3, [r7, #8]
- 8003740:      691a            ldr     r2, [r3, #16]
- 8003742:      68fb            ldr     r3, [r7, #12]
- 8003744:      681b            ldr     r3, [r3, #0]
- 8003746:      430a            orrs    r2, r1
- 8003748:      619a            str     r2, [r3, #24]
+ 8003768:      68fb            ldr     r3, [r7, #12]
+ 800376a:      681b            ldr     r3, [r3, #0]
+ 800376c:      6999            ldr     r1, [r3, #24]
+ 800376e:      68bb            ldr     r3, [r7, #8]
+ 8003770:      691a            ldr     r2, [r3, #16]
+ 8003772:      68fb            ldr     r3, [r7, #12]
+ 8003774:      681b            ldr     r3, [r3, #0]
+ 8003776:      430a            orrs    r2, r1
+ 8003778:      619a            str     r2, [r3, #24]
       break;
- 800374a:      e0a3            b.n     8003894 <HAL_TIM_PWM_ConfigChannel+0x214>
+ 800377a:      e0a3            b.n     80038c4 <HAL_TIM_PWM_ConfigChannel+0x214>
     {
       /* Check the parameters */
       assert_param(IS_TIM_CC2_INSTANCE(htim->Instance));
 
       /* Configure the Channel 2 in PWM mode */
       TIM_OC2_SetConfig(htim->Instance, sConfig);
- 800374c:      68fb            ldr     r3, [r7, #12]
- 800374e:      681b            ldr     r3, [r3, #0]
- 8003750:      68b9            ldr     r1, [r7, #8]
- 8003752:      4618            mov     r0, r3
- 8003754:      f000 faa0       bl      8003c98 <TIM_OC2_SetConfig>
+ 800377c:      68fb            ldr     r3, [r7, #12]
+ 800377e:      681b            ldr     r3, [r3, #0]
+ 8003780:      68b9            ldr     r1, [r7, #8]
+ 8003782:      4618            mov     r0, r3
+ 8003784:      f000 faa0       bl      8003cc8 <TIM_OC2_SetConfig>
 
       /* Set the Preload enable bit for channel2 */
       htim->Instance->CCMR1 |= TIM_CCMR1_OC2PE;
- 8003758:      68fb            ldr     r3, [r7, #12]
- 800375a:      681b            ldr     r3, [r3, #0]
- 800375c:      699a            ldr     r2, [r3, #24]
- 800375e:      68fb            ldr     r3, [r7, #12]
- 8003760:      681b            ldr     r3, [r3, #0]
- 8003762:      f442 6200       orr.w   r2, r2, #2048   ; 0x800
- 8003766:      619a            str     r2, [r3, #24]
+ 8003788:      68fb            ldr     r3, [r7, #12]
+ 800378a:      681b            ldr     r3, [r3, #0]
+ 800378c:      699a            ldr     r2, [r3, #24]
+ 800378e:      68fb            ldr     r3, [r7, #12]
+ 8003790:      681b            ldr     r3, [r3, #0]
+ 8003792:      f442 6200       orr.w   r2, r2, #2048   ; 0x800
+ 8003796:      619a            str     r2, [r3, #24]
 
       /* Configure the Output Fast mode */
       htim->Instance->CCMR1 &= ~TIM_CCMR1_OC2FE;
- 8003768:      68fb            ldr     r3, [r7, #12]
- 800376a:      681b            ldr     r3, [r3, #0]
- 800376c:      699a            ldr     r2, [r3, #24]
- 800376e:      68fb            ldr     r3, [r7, #12]
- 8003770:      681b            ldr     r3, [r3, #0]
- 8003772:      f422 6280       bic.w   r2, r2, #1024   ; 0x400
- 8003776:      619a            str     r2, [r3, #24]
+ 8003798:      68fb            ldr     r3, [r7, #12]
+ 800379a:      681b            ldr     r3, [r3, #0]
+ 800379c:      699a            ldr     r2, [r3, #24]
+ 800379e:      68fb            ldr     r3, [r7, #12]
+ 80037a0:      681b            ldr     r3, [r3, #0]
+ 80037a2:      f422 6280       bic.w   r2, r2, #1024   ; 0x400
+ 80037a6:      619a            str     r2, [r3, #24]
       htim->Instance->CCMR1 |= sConfig->OCFastMode << 8U;
- 8003778:      68fb            ldr     r3, [r7, #12]
- 800377a:      681b            ldr     r3, [r3, #0]
- 800377c:      6999            ldr     r1, [r3, #24]
- 800377e:      68bb            ldr     r3, [r7, #8]
- 8003780:      691b            ldr     r3, [r3, #16]
- 8003782:      021a            lsls    r2, r3, #8
- 8003784:      68fb            ldr     r3, [r7, #12]
- 8003786:      681b            ldr     r3, [r3, #0]
- 8003788:      430a            orrs    r2, r1
- 800378a:      619a            str     r2, [r3, #24]
+ 80037a8:      68fb            ldr     r3, [r7, #12]
+ 80037aa:      681b            ldr     r3, [r3, #0]
+ 80037ac:      6999            ldr     r1, [r3, #24]
+ 80037ae:      68bb            ldr     r3, [r7, #8]
+ 80037b0:      691b            ldr     r3, [r3, #16]
+ 80037b2:      021a            lsls    r2, r3, #8
+ 80037b4:      68fb            ldr     r3, [r7, #12]
+ 80037b6:      681b            ldr     r3, [r3, #0]
+ 80037b8:      430a            orrs    r2, r1
+ 80037ba:      619a            str     r2, [r3, #24]
       break;
- 800378c:      e082            b.n     8003894 <HAL_TIM_PWM_ConfigChannel+0x214>
+ 80037bc:      e082            b.n     80038c4 <HAL_TIM_PWM_ConfigChannel+0x214>
     {
       /* Check the parameters */
       assert_param(IS_TIM_CC3_INSTANCE(htim->Instance));
 
       /* Configure the Channel 3 in PWM mode */
       TIM_OC3_SetConfig(htim->Instance, sConfig);
- 800378e:      68fb            ldr     r3, [r7, #12]
- 8003790:      681b            ldr     r3, [r3, #0]
- 8003792:      68b9            ldr     r1, [r7, #8]
- 8003794:      4618            mov     r0, r3
- 8003796:      f000 faf7       bl      8003d88 <TIM_OC3_SetConfig>
+ 80037be:      68fb            ldr     r3, [r7, #12]
+ 80037c0:      681b            ldr     r3, [r3, #0]
+ 80037c2:      68b9            ldr     r1, [r7, #8]
+ 80037c4:      4618            mov     r0, r3
+ 80037c6:      f000 faf7       bl      8003db8 <TIM_OC3_SetConfig>
 
       /* Set the Preload enable bit for channel3 */
       htim->Instance->CCMR2 |= TIM_CCMR2_OC3PE;
- 800379a:      68fb            ldr     r3, [r7, #12]
- 800379c:      681b            ldr     r3, [r3, #0]
- 800379e:      69da            ldr     r2, [r3, #28]
- 80037a0:      68fb            ldr     r3, [r7, #12]
- 80037a2:      681b            ldr     r3, [r3, #0]
- 80037a4:      f042 0208       orr.w   r2, r2, #8
- 80037a8:      61da            str     r2, [r3, #28]
+ 80037ca:      68fb            ldr     r3, [r7, #12]
+ 80037cc:      681b            ldr     r3, [r3, #0]
+ 80037ce:      69da            ldr     r2, [r3, #28]
+ 80037d0:      68fb            ldr     r3, [r7, #12]
+ 80037d2:      681b            ldr     r3, [r3, #0]
+ 80037d4:      f042 0208       orr.w   r2, r2, #8
+ 80037d8:      61da            str     r2, [r3, #28]
 
       /* Configure the Output Fast mode */
       htim->Instance->CCMR2 &= ~TIM_CCMR2_OC3FE;
- 80037aa:      68fb            ldr     r3, [r7, #12]
- 80037ac:      681b            ldr     r3, [r3, #0]
- 80037ae:      69da            ldr     r2, [r3, #28]
- 80037b0:      68fb            ldr     r3, [r7, #12]
- 80037b2:      681b            ldr     r3, [r3, #0]
- 80037b4:      f022 0204       bic.w   r2, r2, #4
- 80037b8:      61da            str     r2, [r3, #28]
+ 80037da:      68fb            ldr     r3, [r7, #12]
+ 80037dc:      681b            ldr     r3, [r3, #0]
+ 80037de:      69da            ldr     r2, [r3, #28]
+ 80037e0:      68fb            ldr     r3, [r7, #12]
+ 80037e2:      681b            ldr     r3, [r3, #0]
+ 80037e4:      f022 0204       bic.w   r2, r2, #4
+ 80037e8:      61da            str     r2, [r3, #28]
       htim->Instance->CCMR2 |= sConfig->OCFastMode;
- 80037ba:      68fb            ldr     r3, [r7, #12]
- 80037bc:      681b            ldr     r3, [r3, #0]
- 80037be:      69d9            ldr     r1, [r3, #28]
- 80037c0:      68bb            ldr     r3, [r7, #8]
- 80037c2:      691a            ldr     r2, [r3, #16]
- 80037c4:      68fb            ldr     r3, [r7, #12]
- 80037c6:      681b            ldr     r3, [r3, #0]
- 80037c8:      430a            orrs    r2, r1
- 80037ca:      61da            str     r2, [r3, #28]
+ 80037ea:      68fb            ldr     r3, [r7, #12]
+ 80037ec:      681b            ldr     r3, [r3, #0]
+ 80037ee:      69d9            ldr     r1, [r3, #28]
+ 80037f0:      68bb            ldr     r3, [r7, #8]
+ 80037f2:      691a            ldr     r2, [r3, #16]
+ 80037f4:      68fb            ldr     r3, [r7, #12]
+ 80037f6:      681b            ldr     r3, [r3, #0]
+ 80037f8:      430a            orrs    r2, r1
+ 80037fa:      61da            str     r2, [r3, #28]
       break;
- 80037cc:      e062            b.n     8003894 <HAL_TIM_PWM_ConfigChannel+0x214>
+ 80037fc:      e062            b.n     80038c4 <HAL_TIM_PWM_ConfigChannel+0x214>
     {
       /* Check the parameters */
       assert_param(IS_TIM_CC4_INSTANCE(htim->Instance));
 
       /* Configure the Channel 4 in PWM mode */
       TIM_OC4_SetConfig(htim->Instance, sConfig);
- 80037ce:      68fb            ldr     r3, [r7, #12]
- 80037d0:      681b            ldr     r3, [r3, #0]
- 80037d2:      68b9            ldr     r1, [r7, #8]
- 80037d4:      4618            mov     r0, r3
- 80037d6:      f000 fb4d       bl      8003e74 <TIM_OC4_SetConfig>
+ 80037fe:      68fb            ldr     r3, [r7, #12]
+ 8003800:      681b            ldr     r3, [r3, #0]
+ 8003802:      68b9            ldr     r1, [r7, #8]
+ 8003804:      4618            mov     r0, r3
+ 8003806:      f000 fb4d       bl      8003ea4 <TIM_OC4_SetConfig>
 
       /* Set the Preload enable bit for channel4 */
       htim->Instance->CCMR2 |= TIM_CCMR2_OC4PE;
- 80037da:      68fb            ldr     r3, [r7, #12]
- 80037dc:      681b            ldr     r3, [r3, #0]
- 80037de:      69da            ldr     r2, [r3, #28]
- 80037e0:      68fb            ldr     r3, [r7, #12]
- 80037e2:      681b            ldr     r3, [r3, #0]
- 80037e4:      f442 6200       orr.w   r2, r2, #2048   ; 0x800
- 80037e8:      61da            str     r2, [r3, #28]
+ 800380a:      68fb            ldr     r3, [r7, #12]
+ 800380c:      681b            ldr     r3, [r3, #0]
+ 800380e:      69da            ldr     r2, [r3, #28]
+ 8003810:      68fb            ldr     r3, [r7, #12]
+ 8003812:      681b            ldr     r3, [r3, #0]
+ 8003814:      f442 6200       orr.w   r2, r2, #2048   ; 0x800
+ 8003818:      61da            str     r2, [r3, #28]
 
       /* Configure the Output Fast mode */
       htim->Instance->CCMR2 &= ~TIM_CCMR2_OC4FE;
- 80037ea:      68fb            ldr     r3, [r7, #12]
- 80037ec:      681b            ldr     r3, [r3, #0]
- 80037ee:      69da            ldr     r2, [r3, #28]
- 80037f0:      68fb            ldr     r3, [r7, #12]
- 80037f2:      681b            ldr     r3, [r3, #0]
- 80037f4:      f422 6280       bic.w   r2, r2, #1024   ; 0x400
- 80037f8:      61da            str     r2, [r3, #28]
+ 800381a:      68fb            ldr     r3, [r7, #12]
+ 800381c:      681b            ldr     r3, [r3, #0]
+ 800381e:      69da            ldr     r2, [r3, #28]
+ 8003820:      68fb            ldr     r3, [r7, #12]
+ 8003822:      681b            ldr     r3, [r3, #0]
+ 8003824:      f422 6280       bic.w   r2, r2, #1024   ; 0x400
+ 8003828:      61da            str     r2, [r3, #28]
       htim->Instance->CCMR2 |= sConfig->OCFastMode << 8U;
- 80037fa:      68fb            ldr     r3, [r7, #12]
- 80037fc:      681b            ldr     r3, [r3, #0]
- 80037fe:      69d9            ldr     r1, [r3, #28]
- 8003800:      68bb            ldr     r3, [r7, #8]
- 8003802:      691b            ldr     r3, [r3, #16]
- 8003804:      021a            lsls    r2, r3, #8
- 8003806:      68fb            ldr     r3, [r7, #12]
- 8003808:      681b            ldr     r3, [r3, #0]
- 800380a:      430a            orrs    r2, r1
- 800380c:      61da            str     r2, [r3, #28]
+ 800382a:      68fb            ldr     r3, [r7, #12]
+ 800382c:      681b            ldr     r3, [r3, #0]
+ 800382e:      69d9            ldr     r1, [r3, #28]
+ 8003830:      68bb            ldr     r3, [r7, #8]
+ 8003832:      691b            ldr     r3, [r3, #16]
+ 8003834:      021a            lsls    r2, r3, #8
+ 8003836:      68fb            ldr     r3, [r7, #12]
+ 8003838:      681b            ldr     r3, [r3, #0]
+ 800383a:      430a            orrs    r2, r1
+ 800383c:      61da            str     r2, [r3, #28]
       break;
- 800380e:      e041            b.n     8003894 <HAL_TIM_PWM_ConfigChannel+0x214>
+ 800383e:      e041            b.n     80038c4 <HAL_TIM_PWM_ConfigChannel+0x214>
     {
       /* Check the parameters */
       assert_param(IS_TIM_CC5_INSTANCE(htim->Instance));
 
       /* Configure the Channel 5 in PWM mode */
       TIM_OC5_SetConfig(htim->Instance, sConfig);
- 8003810:      68fb            ldr     r3, [r7, #12]
- 8003812:      681b            ldr     r3, [r3, #0]
- 8003814:      68b9            ldr     r1, [r7, #8]
- 8003816:      4618            mov     r0, r3
- 8003818:      f000 fb84       bl      8003f24 <TIM_OC5_SetConfig>
+ 8003840:      68fb            ldr     r3, [r7, #12]
+ 8003842:      681b            ldr     r3, [r3, #0]
+ 8003844:      68b9            ldr     r1, [r7, #8]
+ 8003846:      4618            mov     r0, r3
+ 8003848:      f000 fb84       bl      8003f54 <TIM_OC5_SetConfig>
 
       /* Set the Preload enable bit for channel5*/
       htim->Instance->CCMR3 |= TIM_CCMR3_OC5PE;
- 800381c:      68fb            ldr     r3, [r7, #12]
- 800381e:      681b            ldr     r3, [r3, #0]
- 8003820:      6d5a            ldr     r2, [r3, #84]   ; 0x54
- 8003822:      68fb            ldr     r3, [r7, #12]
- 8003824:      681b            ldr     r3, [r3, #0]
- 8003826:      f042 0208       orr.w   r2, r2, #8
- 800382a:      655a            str     r2, [r3, #84]   ; 0x54
+ 800384c:      68fb            ldr     r3, [r7, #12]
+ 800384e:      681b            ldr     r3, [r3, #0]
+ 8003850:      6d5a            ldr     r2, [r3, #84]   ; 0x54
+ 8003852:      68fb            ldr     r3, [r7, #12]
+ 8003854:      681b            ldr     r3, [r3, #0]
+ 8003856:      f042 0208       orr.w   r2, r2, #8
+ 800385a:      655a            str     r2, [r3, #84]   ; 0x54
 
       /* Configure the Output Fast mode */
       htim->Instance->CCMR3 &= ~TIM_CCMR3_OC5FE;
- 800382c:      68fb            ldr     r3, [r7, #12]
- 800382e:      681b            ldr     r3, [r3, #0]
- 8003830:      6d5a            ldr     r2, [r3, #84]   ; 0x54
- 8003832:      68fb            ldr     r3, [r7, #12]
- 8003834:      681b            ldr     r3, [r3, #0]
- 8003836:      f022 0204       bic.w   r2, r2, #4
- 800383a:      655a            str     r2, [r3, #84]   ; 0x54
+ 800385c:      68fb            ldr     r3, [r7, #12]
+ 800385e:      681b            ldr     r3, [r3, #0]
+ 8003860:      6d5a            ldr     r2, [r3, #84]   ; 0x54
+ 8003862:      68fb            ldr     r3, [r7, #12]
+ 8003864:      681b            ldr     r3, [r3, #0]
+ 8003866:      f022 0204       bic.w   r2, r2, #4
+ 800386a:      655a            str     r2, [r3, #84]   ; 0x54
       htim->Instance->CCMR3 |= sConfig->OCFastMode;
- 800383c:      68fb            ldr     r3, [r7, #12]
- 800383e:      681b            ldr     r3, [r3, #0]
- 8003840:      6d59            ldr     r1, [r3, #84]   ; 0x54
- 8003842:      68bb            ldr     r3, [r7, #8]
- 8003844:      691a            ldr     r2, [r3, #16]
- 8003846:      68fb            ldr     r3, [r7, #12]
- 8003848:      681b            ldr     r3, [r3, #0]
- 800384a:      430a            orrs    r2, r1
- 800384c:      655a            str     r2, [r3, #84]   ; 0x54
+ 800386c:      68fb            ldr     r3, [r7, #12]
+ 800386e:      681b            ldr     r3, [r3, #0]
+ 8003870:      6d59            ldr     r1, [r3, #84]   ; 0x54
+ 8003872:      68bb            ldr     r3, [r7, #8]
+ 8003874:      691a            ldr     r2, [r3, #16]
+ 8003876:      68fb            ldr     r3, [r7, #12]
+ 8003878:      681b            ldr     r3, [r3, #0]
+ 800387a:      430a            orrs    r2, r1
+ 800387c:      655a            str     r2, [r3, #84]   ; 0x54
       break;
- 800384e:      e021            b.n     8003894 <HAL_TIM_PWM_ConfigChannel+0x214>
+ 800387e:      e021            b.n     80038c4 <HAL_TIM_PWM_ConfigChannel+0x214>
     {
       /* Check the parameters */
       assert_param(IS_TIM_CC6_INSTANCE(htim->Instance));
 
       /* Configure the Channel 6 in PWM mode */
       TIM_OC6_SetConfig(htim->Instance, sConfig);
- 8003850:      68fb            ldr     r3, [r7, #12]
- 8003852:      681b            ldr     r3, [r3, #0]
- 8003854:      68b9            ldr     r1, [r7, #8]
- 8003856:      4618            mov     r0, r3
- 8003858:      f000 fbb6       bl      8003fc8 <TIM_OC6_SetConfig>
+ 8003880:      68fb            ldr     r3, [r7, #12]
+ 8003882:      681b            ldr     r3, [r3, #0]
+ 8003884:      68b9            ldr     r1, [r7, #8]
+ 8003886:      4618            mov     r0, r3
+ 8003888:      f000 fbb6       bl      8003ff8 <TIM_OC6_SetConfig>
 
       /* Set the Preload enable bit for channel6 */
       htim->Instance->CCMR3 |= TIM_CCMR3_OC6PE;
- 800385c:      68fb            ldr     r3, [r7, #12]
- 800385e:      681b            ldr     r3, [r3, #0]
- 8003860:      6d5a            ldr     r2, [r3, #84]   ; 0x54
- 8003862:      68fb            ldr     r3, [r7, #12]
- 8003864:      681b            ldr     r3, [r3, #0]
- 8003866:      f442 6200       orr.w   r2, r2, #2048   ; 0x800
- 800386a:      655a            str     r2, [r3, #84]   ; 0x54
+ 800388c:      68fb            ldr     r3, [r7, #12]
+ 800388e:      681b            ldr     r3, [r3, #0]
+ 8003890:      6d5a            ldr     r2, [r3, #84]   ; 0x54
+ 8003892:      68fb            ldr     r3, [r7, #12]
+ 8003894:      681b            ldr     r3, [r3, #0]
+ 8003896:      f442 6200       orr.w   r2, r2, #2048   ; 0x800
+ 800389a:      655a            str     r2, [r3, #84]   ; 0x54
 
       /* Configure the Output Fast mode */
       htim->Instance->CCMR3 &= ~TIM_CCMR3_OC6FE;
- 800386c:      68fb            ldr     r3, [r7, #12]
- 800386e:      681b            ldr     r3, [r3, #0]
- 8003870:      6d5a            ldr     r2, [r3, #84]   ; 0x54
- 8003872:      68fb            ldr     r3, [r7, #12]
- 8003874:      681b            ldr     r3, [r3, #0]
- 8003876:      f422 6280       bic.w   r2, r2, #1024   ; 0x400
- 800387a:      655a            str     r2, [r3, #84]   ; 0x54
+ 800389c:      68fb            ldr     r3, [r7, #12]
+ 800389e:      681b            ldr     r3, [r3, #0]
+ 80038a0:      6d5a            ldr     r2, [r3, #84]   ; 0x54
+ 80038a2:      68fb            ldr     r3, [r7, #12]
+ 80038a4:      681b            ldr     r3, [r3, #0]
+ 80038a6:      f422 6280       bic.w   r2, r2, #1024   ; 0x400
+ 80038aa:      655a            str     r2, [r3, #84]   ; 0x54
       htim->Instance->CCMR3 |= sConfig->OCFastMode << 8U;
- 800387c:      68fb            ldr     r3, [r7, #12]
- 800387e:      681b            ldr     r3, [r3, #0]
- 8003880:      6d59            ldr     r1, [r3, #84]   ; 0x54
- 8003882:      68bb            ldr     r3, [r7, #8]
- 8003884:      691b            ldr     r3, [r3, #16]
- 8003886:      021a            lsls    r2, r3, #8
- 8003888:      68fb            ldr     r3, [r7, #12]
- 800388a:      681b            ldr     r3, [r3, #0]
- 800388c:      430a            orrs    r2, r1
- 800388e:      655a            str     r2, [r3, #84]   ; 0x54
+ 80038ac:      68fb            ldr     r3, [r7, #12]
+ 80038ae:      681b            ldr     r3, [r3, #0]
+ 80038b0:      6d59            ldr     r1, [r3, #84]   ; 0x54
+ 80038b2:      68bb            ldr     r3, [r7, #8]
+ 80038b4:      691b            ldr     r3, [r3, #16]
+ 80038b6:      021a            lsls    r2, r3, #8
+ 80038b8:      68fb            ldr     r3, [r7, #12]
+ 80038ba:      681b            ldr     r3, [r3, #0]
+ 80038bc:      430a            orrs    r2, r1
+ 80038be:      655a            str     r2, [r3, #84]   ; 0x54
       break;
- 8003890:      e000            b.n     8003894 <HAL_TIM_PWM_ConfigChannel+0x214>
+ 80038c0:      e000            b.n     80038c4 <HAL_TIM_PWM_ConfigChannel+0x214>
     }
 
     default:
       break;
- 8003892:      bf00            nop
+ 80038c2:      bf00            nop
   }
 
   htim->State = HAL_TIM_STATE_READY;
- 8003894:      68fb            ldr     r3, [r7, #12]
- 8003896:      2201            movs    r2, #1
- 8003898:      f883 203d       strb.w  r2, [r3, #61]   ; 0x3d
+ 80038c4:      68fb            ldr     r3, [r7, #12]
+ 80038c6:      2201            movs    r2, #1
+ 80038c8:      f883 203d       strb.w  r2, [r3, #61]   ; 0x3d
 
   __HAL_UNLOCK(htim);
- 800389c:      68fb            ldr     r3, [r7, #12]
- 800389e:      2200            movs    r2, #0
- 80038a0:      f883 203c       strb.w  r2, [r3, #60]   ; 0x3c
+ 80038cc:      68fb            ldr     r3, [r7, #12]
+ 80038ce:      2200            movs    r2, #0
+ 80038d0:      f883 203c       strb.w  r2, [r3, #60]   ; 0x3c
 
   return HAL_OK;
- 80038a4:      2300            movs    r3, #0
+ 80038d4:      2300            movs    r3, #0
 }
- 80038a6:      4618            mov     r0, r3
- 80038a8:      3710            adds    r7, #16
- 80038aa:      46bd            mov     sp, r7
- 80038ac:      bd80            pop     {r7, pc}
- 80038ae:      bf00            nop
+ 80038d6:      4618            mov     r0, r3
+ 80038d8:      3710            adds    r7, #16
+ 80038da:      46bd            mov     sp, r7
+ 80038dc:      bd80            pop     {r7, pc}
+ 80038de:      bf00            nop
 
-080038b0 <HAL_TIM_ConfigClockSource>:
+080038e0 <HAL_TIM_ConfigClockSource>:
   * @param  sClockSourceConfig pointer to a TIM_ClockConfigTypeDef structure that
   *         contains the clock source information for the TIM peripheral.
   * @retval HAL status
   */
 HAL_StatusTypeDef HAL_TIM_ConfigClockSource(TIM_HandleTypeDef *htim, TIM_ClockConfigTypeDef *sClockSourceConfig)
 {
- 80038b0:      b580            push    {r7, lr}
- 80038b2:      b084            sub     sp, #16
- 80038b4:      af00            add     r7, sp, #0
- 80038b6:      6078            str     r0, [r7, #4]
- 80038b8:      6039            str     r1, [r7, #0]
+ 80038e0:      b580            push    {r7, lr}
+ 80038e2:      b084            sub     sp, #16
+ 80038e4:      af00            add     r7, sp, #0
+ 80038e6:      6078            str     r0, [r7, #4]
+ 80038e8:      6039            str     r1, [r7, #0]
   uint32_t tmpsmcr;
 
   /* Process Locked */
   __HAL_LOCK(htim);
- 80038ba:      687b            ldr     r3, [r7, #4]
- 80038bc:      f893 303c       ldrb.w  r3, [r3, #60]   ; 0x3c
- 80038c0:      2b01            cmp     r3, #1
- 80038c2:      d101            bne.n   80038c8 <HAL_TIM_ConfigClockSource+0x18>
- 80038c4:      2302            movs    r3, #2
- 80038c6:      e0a6            b.n     8003a16 <HAL_TIM_ConfigClockSource+0x166>
- 80038c8:      687b            ldr     r3, [r7, #4]
- 80038ca:      2201            movs    r2, #1
- 80038cc:      f883 203c       strb.w  r2, [r3, #60]   ; 0x3c
+ 80038ea:      687b            ldr     r3, [r7, #4]
+ 80038ec:      f893 303c       ldrb.w  r3, [r3, #60]   ; 0x3c
+ 80038f0:      2b01            cmp     r3, #1
+ 80038f2:      d101            bne.n   80038f8 <HAL_TIM_ConfigClockSource+0x18>
+ 80038f4:      2302            movs    r3, #2
+ 80038f6:      e0a6            b.n     8003a46 <HAL_TIM_ConfigClockSource+0x166>
+ 80038f8:      687b            ldr     r3, [r7, #4]
+ 80038fa:      2201            movs    r2, #1
+ 80038fc:      f883 203c       strb.w  r2, [r3, #60]   ; 0x3c
 
   htim->State = HAL_TIM_STATE_BUSY;
- 80038d0:      687b            ldr     r3, [r7, #4]
- 80038d2:      2202            movs    r2, #2
- 80038d4:      f883 203d       strb.w  r2, [r3, #61]   ; 0x3d
+ 8003900:      687b            ldr     r3, [r7, #4]
+ 8003902:      2202            movs    r2, #2
+ 8003904:      f883 203d       strb.w  r2, [r3, #61]   ; 0x3d
 
   /* Check the parameters */
   assert_param(IS_TIM_CLOCKSOURCE(sClockSourceConfig->ClockSource));
 
   /* Reset the SMS, TS, ECE, ETPS and ETRF bits */
   tmpsmcr = htim->Instance->SMCR;
- 80038d8:      687b            ldr     r3, [r7, #4]
- 80038da:      681b            ldr     r3, [r3, #0]
- 80038dc:      689b            ldr     r3, [r3, #8]
- 80038de:      60fb            str     r3, [r7, #12]
+ 8003908:      687b            ldr     r3, [r7, #4]
+ 800390a:      681b            ldr     r3, [r3, #0]
+ 800390c:      689b            ldr     r3, [r3, #8]
+ 800390e:      60fb            str     r3, [r7, #12]
   tmpsmcr &= ~(TIM_SMCR_SMS | TIM_SMCR_TS);
- 80038e0:      68fa            ldr     r2, [r7, #12]
- 80038e2:      4b4f            ldr     r3, [pc, #316]  ; (8003a20 <HAL_TIM_ConfigClockSource+0x170>)
- 80038e4:      4013            ands    r3, r2
- 80038e6:      60fb            str     r3, [r7, #12]
+ 8003910:      68fa            ldr     r2, [r7, #12]
+ 8003912:      4b4f            ldr     r3, [pc, #316]  ; (8003a50 <HAL_TIM_ConfigClockSource+0x170>)
+ 8003914:      4013            ands    r3, r2
+ 8003916:      60fb            str     r3, [r7, #12]
   tmpsmcr &= ~(TIM_SMCR_ETF | TIM_SMCR_ETPS | TIM_SMCR_ECE | TIM_SMCR_ETP);
- 80038e8:      68fb            ldr     r3, [r7, #12]
- 80038ea:      f423 437f       bic.w   r3, r3, #65280  ; 0xff00
- 80038ee:      60fb            str     r3, [r7, #12]
+ 8003918:      68fb            ldr     r3, [r7, #12]
+ 800391a:      f423 437f       bic.w   r3, r3, #65280  ; 0xff00
+ 800391e:      60fb            str     r3, [r7, #12]
   htim->Instance->SMCR = tmpsmcr;
- 80038f0:      687b            ldr     r3, [r7, #4]
- 80038f2:      681b            ldr     r3, [r3, #0]
- 80038f4:      68fa            ldr     r2, [r7, #12]
- 80038f6:      609a            str     r2, [r3, #8]
+ 8003920:      687b            ldr     r3, [r7, #4]
+ 8003922:      681b            ldr     r3, [r3, #0]
+ 8003924:      68fa            ldr     r2, [r7, #12]
+ 8003926:      609a            str     r2, [r3, #8]
 
   switch (sClockSourceConfig->ClockSource)
- 80038f8:      683b            ldr     r3, [r7, #0]
- 80038fa:      681b            ldr     r3, [r3, #0]
- 80038fc:      2b40            cmp     r3, #64 ; 0x40
- 80038fe:      d067            beq.n   80039d0 <HAL_TIM_ConfigClockSource+0x120>
- 8003900:      2b40            cmp     r3, #64 ; 0x40
- 8003902:      d80b            bhi.n   800391c <HAL_TIM_ConfigClockSource+0x6c>
- 8003904:      2b10            cmp     r3, #16
- 8003906:      d073            beq.n   80039f0 <HAL_TIM_ConfigClockSource+0x140>
- 8003908:      2b10            cmp     r3, #16
- 800390a:      d802            bhi.n   8003912 <HAL_TIM_ConfigClockSource+0x62>
- 800390c:      2b00            cmp     r3, #0
- 800390e:      d06f            beq.n   80039f0 <HAL_TIM_ConfigClockSource+0x140>
+ 8003928:      683b            ldr     r3, [r7, #0]
+ 800392a:      681b            ldr     r3, [r3, #0]
+ 800392c:      2b40            cmp     r3, #64 ; 0x40
+ 800392e:      d067            beq.n   8003a00 <HAL_TIM_ConfigClockSource+0x120>
+ 8003930:      2b40            cmp     r3, #64 ; 0x40
+ 8003932:      d80b            bhi.n   800394c <HAL_TIM_ConfigClockSource+0x6c>
+ 8003934:      2b10            cmp     r3, #16
+ 8003936:      d073            beq.n   8003a20 <HAL_TIM_ConfigClockSource+0x140>
+ 8003938:      2b10            cmp     r3, #16
+ 800393a:      d802            bhi.n   8003942 <HAL_TIM_ConfigClockSource+0x62>
+ 800393c:      2b00            cmp     r3, #0
+ 800393e:      d06f            beq.n   8003a20 <HAL_TIM_ConfigClockSource+0x140>
       TIM_ITRx_SetConfig(htim->Instance, sClockSourceConfig->ClockSource);
       break;
     }
 
     default:
       break;
- 8003910:      e078            b.n     8003a04 <HAL_TIM_ConfigClockSource+0x154>
+ 8003940:      e078            b.n     8003a34 <HAL_TIM_ConfigClockSource+0x154>
   switch (sClockSourceConfig->ClockSource)
- 8003912:      2b20            cmp     r3, #32
- 8003914:      d06c            beq.n   80039f0 <HAL_TIM_ConfigClockSource+0x140>
- 8003916:      2b30            cmp     r3, #48 ; 0x30
- 8003918:      d06a            beq.n   80039f0 <HAL_TIM_ConfigClockSource+0x140>
+ 8003942:      2b20            cmp     r3, #32
+ 8003944:      d06c            beq.n   8003a20 <HAL_TIM_ConfigClockSource+0x140>
+ 8003946:      2b30            cmp     r3, #48 ; 0x30
+ 8003948:      d06a            beq.n   8003a20 <HAL_TIM_ConfigClockSource+0x140>
       break;
- 800391a:      e073            b.n     8003a04 <HAL_TIM_ConfigClockSource+0x154>
+ 800394a:      e073            b.n     8003a34 <HAL_TIM_ConfigClockSource+0x154>
   switch (sClockSourceConfig->ClockSource)
- 800391c:      2b70            cmp     r3, #112        ; 0x70
- 800391e:      d00d            beq.n   800393c <HAL_TIM_ConfigClockSource+0x8c>
- 8003920:      2b70            cmp     r3, #112        ; 0x70
- 8003922:      d804            bhi.n   800392e <HAL_TIM_ConfigClockSource+0x7e>
- 8003924:      2b50            cmp     r3, #80 ; 0x50
- 8003926:      d033            beq.n   8003990 <HAL_TIM_ConfigClockSource+0xe0>
- 8003928:      2b60            cmp     r3, #96 ; 0x60
- 800392a:      d041            beq.n   80039b0 <HAL_TIM_ConfigClockSource+0x100>
+ 800394c:      2b70            cmp     r3, #112        ; 0x70
+ 800394e:      d00d            beq.n   800396c <HAL_TIM_ConfigClockSource+0x8c>
+ 8003950:      2b70            cmp     r3, #112        ; 0x70
+ 8003952:      d804            bhi.n   800395e <HAL_TIM_ConfigClockSource+0x7e>
+ 8003954:      2b50            cmp     r3, #80 ; 0x50
+ 8003956:      d033            beq.n   80039c0 <HAL_TIM_ConfigClockSource+0xe0>
+ 8003958:      2b60            cmp     r3, #96 ; 0x60
+ 800395a:      d041            beq.n   80039e0 <HAL_TIM_ConfigClockSource+0x100>
       break;
- 800392c:      e06a            b.n     8003a04 <HAL_TIM_ConfigClockSource+0x154>
+ 800395c:      e06a            b.n     8003a34 <HAL_TIM_ConfigClockSource+0x154>
   switch (sClockSourceConfig->ClockSource)
- 800392e:      f5b3 5f80       cmp.w   r3, #4096       ; 0x1000
- 8003932:      d066            beq.n   8003a02 <HAL_TIM_ConfigClockSource+0x152>
- 8003934:      f5b3 5f00       cmp.w   r3, #8192       ; 0x2000
- 8003938:      d017            beq.n   800396a <HAL_TIM_ConfigClockSource+0xba>
+ 800395e:      f5b3 5f80       cmp.w   r3, #4096       ; 0x1000
+ 8003962:      d066            beq.n   8003a32 <HAL_TIM_ConfigClockSource+0x152>
+ 8003964:      f5b3 5f00       cmp.w   r3, #8192       ; 0x2000
+ 8003968:      d017            beq.n   800399a <HAL_TIM_ConfigClockSource+0xba>
       break;
- 800393a:      e063            b.n     8003a04 <HAL_TIM_ConfigClockSource+0x154>
+ 800396a:      e063            b.n     8003a34 <HAL_TIM_ConfigClockSource+0x154>
       TIM_ETR_SetConfig(htim->Instance,
- 800393c:      687b            ldr     r3, [r7, #4]
- 800393e:      6818            ldr     r0, [r3, #0]
- 8003940:      683b            ldr     r3, [r7, #0]
- 8003942:      6899            ldr     r1, [r3, #8]
- 8003944:      683b            ldr     r3, [r7, #0]
- 8003946:      685a            ldr     r2, [r3, #4]
- 8003948:      683b            ldr     r3, [r7, #0]
- 800394a:      68db            ldr     r3, [r3, #12]
- 800394c:      f000 fc0a       bl      8004164 <TIM_ETR_SetConfig>
+ 800396c:      687b            ldr     r3, [r7, #4]
+ 800396e:      6818            ldr     r0, [r3, #0]
+ 8003970:      683b            ldr     r3, [r7, #0]
+ 8003972:      6899            ldr     r1, [r3, #8]
+ 8003974:      683b            ldr     r3, [r7, #0]
+ 8003976:      685a            ldr     r2, [r3, #4]
+ 8003978:      683b            ldr     r3, [r7, #0]
+ 800397a:      68db            ldr     r3, [r3, #12]
+ 800397c:      f000 fc0a       bl      8004194 <TIM_ETR_SetConfig>
       tmpsmcr = htim->Instance->SMCR;
- 8003950:      687b            ldr     r3, [r7, #4]
- 8003952:      681b            ldr     r3, [r3, #0]
- 8003954:      689b            ldr     r3, [r3, #8]
- 8003956:      60fb            str     r3, [r7, #12]
+ 8003980:      687b            ldr     r3, [r7, #4]
+ 8003982:      681b            ldr     r3, [r3, #0]
+ 8003984:      689b            ldr     r3, [r3, #8]
+ 8003986:      60fb            str     r3, [r7, #12]
       tmpsmcr |= (TIM_SLAVEMODE_EXTERNAL1 | TIM_CLOCKSOURCE_ETRMODE1);
- 8003958:      68fb            ldr     r3, [r7, #12]
- 800395a:      f043 0377       orr.w   r3, r3, #119    ; 0x77
- 800395e:      60fb            str     r3, [r7, #12]
+ 8003988:      68fb            ldr     r3, [r7, #12]
+ 800398a:      f043 0377       orr.w   r3, r3, #119    ; 0x77
+ 800398e:      60fb            str     r3, [r7, #12]
       htim->Instance->SMCR = tmpsmcr;
- 8003960:      687b            ldr     r3, [r7, #4]
- 8003962:      681b            ldr     r3, [r3, #0]
- 8003964:      68fa            ldr     r2, [r7, #12]
- 8003966:      609a            str     r2, [r3, #8]
+ 8003990:      687b            ldr     r3, [r7, #4]
+ 8003992:      681b            ldr     r3, [r3, #0]
+ 8003994:      68fa            ldr     r2, [r7, #12]
+ 8003996:      609a            str     r2, [r3, #8]
       break;
- 8003968:      e04c            b.n     8003a04 <HAL_TIM_ConfigClockSource+0x154>
+ 8003998:      e04c            b.n     8003a34 <HAL_TIM_ConfigClockSource+0x154>
       TIM_ETR_SetConfig(htim->Instance,
- 800396a:      687b            ldr     r3, [r7, #4]
- 800396c:      6818            ldr     r0, [r3, #0]
- 800396e:      683b            ldr     r3, [r7, #0]
- 8003970:      6899            ldr     r1, [r3, #8]
- 8003972:      683b            ldr     r3, [r7, #0]
- 8003974:      685a            ldr     r2, [r3, #4]
- 8003976:      683b            ldr     r3, [r7, #0]
- 8003978:      68db            ldr     r3, [r3, #12]
- 800397a:      f000 fbf3       bl      8004164 <TIM_ETR_SetConfig>
+ 800399a:      687b            ldr     r3, [r7, #4]
+ 800399c:      6818            ldr     r0, [r3, #0]
+ 800399e:      683b            ldr     r3, [r7, #0]
+ 80039a0:      6899            ldr     r1, [r3, #8]
+ 80039a2:      683b            ldr     r3, [r7, #0]
+ 80039a4:      685a            ldr     r2, [r3, #4]
+ 80039a6:      683b            ldr     r3, [r7, #0]
+ 80039a8:      68db            ldr     r3, [r3, #12]
+ 80039aa:      f000 fbf3       bl      8004194 <TIM_ETR_SetConfig>
       htim->Instance->SMCR |= TIM_SMCR_ECE;
- 800397e:      687b            ldr     r3, [r7, #4]
- 8003980:      681b            ldr     r3, [r3, #0]
- 8003982:      689a            ldr     r2, [r3, #8]
- 8003984:      687b            ldr     r3, [r7, #4]
- 8003986:      681b            ldr     r3, [r3, #0]
- 8003988:      f442 4280       orr.w   r2, r2, #16384  ; 0x4000
- 800398c:      609a            str     r2, [r3, #8]
+ 80039ae:      687b            ldr     r3, [r7, #4]
+ 80039b0:      681b            ldr     r3, [r3, #0]
+ 80039b2:      689a            ldr     r2, [r3, #8]
+ 80039b4:      687b            ldr     r3, [r7, #4]
+ 80039b6:      681b            ldr     r3, [r3, #0]
+ 80039b8:      f442 4280       orr.w   r2, r2, #16384  ; 0x4000
+ 80039bc:      609a            str     r2, [r3, #8]
       break;
- 800398e:      e039            b.n     8003a04 <HAL_TIM_ConfigClockSource+0x154>
+ 80039be:      e039            b.n     8003a34 <HAL_TIM_ConfigClockSource+0x154>
       TIM_TI1_ConfigInputStage(htim->Instance,
- 8003990:      687b            ldr     r3, [r7, #4]
- 8003992:      6818            ldr     r0, [r3, #0]
- 8003994:      683b            ldr     r3, [r7, #0]
- 8003996:      6859            ldr     r1, [r3, #4]
- 8003998:      683b            ldr     r3, [r7, #0]
- 800399a:      68db            ldr     r3, [r3, #12]
- 800399c:      461a            mov     r2, r3
- 800399e:      f000 fb67       bl      8004070 <TIM_TI1_ConfigInputStage>
+ 80039c0:      687b            ldr     r3, [r7, #4]
+ 80039c2:      6818            ldr     r0, [r3, #0]
+ 80039c4:      683b            ldr     r3, [r7, #0]
+ 80039c6:      6859            ldr     r1, [r3, #4]
+ 80039c8:      683b            ldr     r3, [r7, #0]
+ 80039ca:      68db            ldr     r3, [r3, #12]
+ 80039cc:      461a            mov     r2, r3
+ 80039ce:      f000 fb67       bl      80040a0 <TIM_TI1_ConfigInputStage>
       TIM_ITRx_SetConfig(htim->Instance, TIM_CLOCKSOURCE_TI1);
- 80039a2:      687b            ldr     r3, [r7, #4]
- 80039a4:      681b            ldr     r3, [r3, #0]
- 80039a6:      2150            movs    r1, #80 ; 0x50
- 80039a8:      4618            mov     r0, r3
- 80039aa:      f000 fbc0       bl      800412e <TIM_ITRx_SetConfig>
+ 80039d2:      687b            ldr     r3, [r7, #4]
+ 80039d4:      681b            ldr     r3, [r3, #0]
+ 80039d6:      2150            movs    r1, #80 ; 0x50
+ 80039d8:      4618            mov     r0, r3
+ 80039da:      f000 fbc0       bl      800415e <TIM_ITRx_SetConfig>
       break;
- 80039ae:      e029            b.n     8003a04 <HAL_TIM_ConfigClockSource+0x154>
+ 80039de:      e029            b.n     8003a34 <HAL_TIM_ConfigClockSource+0x154>
       TIM_TI2_ConfigInputStage(htim->Instance,
- 80039b0:      687b            ldr     r3, [r7, #4]
- 80039b2:      6818            ldr     r0, [r3, #0]
- 80039b4:      683b            ldr     r3, [r7, #0]
- 80039b6:      6859            ldr     r1, [r3, #4]
- 80039b8:      683b            ldr     r3, [r7, #0]
- 80039ba:      68db            ldr     r3, [r3, #12]
- 80039bc:      461a            mov     r2, r3
- 80039be:      f000 fb86       bl      80040ce <TIM_TI2_ConfigInputStage>
+ 80039e0:      687b            ldr     r3, [r7, #4]
+ 80039e2:      6818            ldr     r0, [r3, #0]
+ 80039e4:      683b            ldr     r3, [r7, #0]
+ 80039e6:      6859            ldr     r1, [r3, #4]
+ 80039e8:      683b            ldr     r3, [r7, #0]
+ 80039ea:      68db            ldr     r3, [r3, #12]
+ 80039ec:      461a            mov     r2, r3
+ 80039ee:      f000 fb86       bl      80040fe <TIM_TI2_ConfigInputStage>
       TIM_ITRx_SetConfig(htim->Instance, TIM_CLOCKSOURCE_TI2);
- 80039c2:      687b            ldr     r3, [r7, #4]
- 80039c4:      681b            ldr     r3, [r3, #0]
- 80039c6:      2160            movs    r1, #96 ; 0x60
- 80039c8:      4618            mov     r0, r3
- 80039ca:      f000 fbb0       bl      800412e <TIM_ITRx_SetConfig>
+ 80039f2:      687b            ldr     r3, [r7, #4]
+ 80039f4:      681b            ldr     r3, [r3, #0]
+ 80039f6:      2160            movs    r1, #96 ; 0x60
+ 80039f8:      4618            mov     r0, r3
+ 80039fa:      f000 fbb0       bl      800415e <TIM_ITRx_SetConfig>
       break;
- 80039ce:      e019            b.n     8003a04 <HAL_TIM_ConfigClockSource+0x154>
+ 80039fe:      e019            b.n     8003a34 <HAL_TIM_ConfigClockSource+0x154>
       TIM_TI1_ConfigInputStage(htim->Instance,
- 80039d0:      687b            ldr     r3, [r7, #4]
- 80039d2:      6818            ldr     r0, [r3, #0]
- 80039d4:      683b            ldr     r3, [r7, #0]
- 80039d6:      6859            ldr     r1, [r3, #4]
- 80039d8:      683b            ldr     r3, [r7, #0]
- 80039da:      68db            ldr     r3, [r3, #12]
- 80039dc:      461a            mov     r2, r3
- 80039de:      f000 fb47       bl      8004070 <TIM_TI1_ConfigInputStage>
+ 8003a00:      687b            ldr     r3, [r7, #4]
+ 8003a02:      6818            ldr     r0, [r3, #0]
+ 8003a04:      683b            ldr     r3, [r7, #0]
+ 8003a06:      6859            ldr     r1, [r3, #4]
+ 8003a08:      683b            ldr     r3, [r7, #0]
+ 8003a0a:      68db            ldr     r3, [r3, #12]
+ 8003a0c:      461a            mov     r2, r3
+ 8003a0e:      f000 fb47       bl      80040a0 <TIM_TI1_ConfigInputStage>
       TIM_ITRx_SetConfig(htim->Instance, TIM_CLOCKSOURCE_TI1ED);
- 80039e2:      687b            ldr     r3, [r7, #4]
- 80039e4:      681b            ldr     r3, [r3, #0]
- 80039e6:      2140            movs    r1, #64 ; 0x40
- 80039e8:      4618            mov     r0, r3
- 80039ea:      f000 fba0       bl      800412e <TIM_ITRx_SetConfig>
+ 8003a12:      687b            ldr     r3, [r7, #4]
+ 8003a14:      681b            ldr     r3, [r3, #0]
+ 8003a16:      2140            movs    r1, #64 ; 0x40
+ 8003a18:      4618            mov     r0, r3
+ 8003a1a:      f000 fba0       bl      800415e <TIM_ITRx_SetConfig>
       break;
- 80039ee:      e009            b.n     8003a04 <HAL_TIM_ConfigClockSource+0x154>
+ 8003a1e:      e009            b.n     8003a34 <HAL_TIM_ConfigClockSource+0x154>
       TIM_ITRx_SetConfig(htim->Instance, sClockSourceConfig->ClockSource);
- 80039f0:      687b            ldr     r3, [r7, #4]
- 80039f2:      681a            ldr     r2, [r3, #0]
- 80039f4:      683b            ldr     r3, [r7, #0]
- 80039f6:      681b            ldr     r3, [r3, #0]
- 80039f8:      4619            mov     r1, r3
- 80039fa:      4610            mov     r0, r2
- 80039fc:      f000 fb97       bl      800412e <TIM_ITRx_SetConfig>
+ 8003a20:      687b            ldr     r3, [r7, #4]
+ 8003a22:      681a            ldr     r2, [r3, #0]
+ 8003a24:      683b            ldr     r3, [r7, #0]
+ 8003a26:      681b            ldr     r3, [r3, #0]
+ 8003a28:      4619            mov     r1, r3
+ 8003a2a:      4610            mov     r0, r2
+ 8003a2c:      f000 fb97       bl      800415e <TIM_ITRx_SetConfig>
       break;
- 8003a00:      e000            b.n     8003a04 <HAL_TIM_ConfigClockSource+0x154>
+ 8003a30:      e000            b.n     8003a34 <HAL_TIM_ConfigClockSource+0x154>
       break;
- 8003a02:      bf00            nop
+ 8003a32:      bf00            nop
   }
   htim->State = HAL_TIM_STATE_READY;
- 8003a04:      687b            ldr     r3, [r7, #4]
- 8003a06:      2201            movs    r2, #1
- 8003a08:      f883 203d       strb.w  r2, [r3, #61]   ; 0x3d
+ 8003a34:      687b            ldr     r3, [r7, #4]
+ 8003a36:      2201            movs    r2, #1
+ 8003a38:      f883 203d       strb.w  r2, [r3, #61]   ; 0x3d
 
   __HAL_UNLOCK(htim);
- 8003a0c:      687b            ldr     r3, [r7, #4]
- 8003a0e:      2200            movs    r2, #0
- 8003a10:      f883 203c       strb.w  r2, [r3, #60]   ; 0x3c
+ 8003a3c:      687b            ldr     r3, [r7, #4]
+ 8003a3e:      2200            movs    r2, #0
+ 8003a40:      f883 203c       strb.w  r2, [r3, #60]   ; 0x3c
 
   return HAL_OK;
- 8003a14:      2300            movs    r3, #0
+ 8003a44:      2300            movs    r3, #0
 }
- 8003a16:      4618            mov     r0, r3
- 8003a18:      3710            adds    r7, #16
- 8003a1a:      46bd            mov     sp, r7
- 8003a1c:      bd80            pop     {r7, pc}
- 8003a1e:      bf00            nop
- 8003a20:      fffeff88        .word   0xfffeff88
-
-08003a24 <HAL_TIM_OC_DelayElapsedCallback>:
+ 8003a46:      4618            mov     r0, r3
+ 8003a48:      3710            adds    r7, #16
+ 8003a4a:      46bd            mov     sp, r7
+ 8003a4c:      bd80            pop     {r7, pc}
+ 8003a4e:      bf00            nop
+ 8003a50:      fffeff88        .word   0xfffeff88
+
+08003a54 <HAL_TIM_OC_DelayElapsedCallback>:
   * @brief  Output Compare callback in non-blocking mode
   * @param  htim TIM OC handle
   * @retval None
   */
 __weak void HAL_TIM_OC_DelayElapsedCallback(TIM_HandleTypeDef *htim)
 {
- 8003a24:      b480            push    {r7}
- 8003a26:      b083            sub     sp, #12
- 8003a28:      af00            add     r7, sp, #0
- 8003a2a:      6078            str     r0, [r7, #4]
+ 8003a54:      b480            push    {r7}
+ 8003a56:      b083            sub     sp, #12
+ 8003a58:      af00            add     r7, sp, #0
+ 8003a5a:      6078            str     r0, [r7, #4]
   UNUSED(htim);
 
   /* NOTE : This function should not be modified, when the callback is needed,
             the HAL_TIM_OC_DelayElapsedCallback could be implemented in the user file
    */
 }
- 8003a2c:      bf00            nop
- 8003a2e:      370c            adds    r7, #12
- 8003a30:      46bd            mov     sp, r7
- 8003a32:      f85d 7b04       ldr.w   r7, [sp], #4
- 8003a36:      4770            bx      lr
+ 8003a5c:      bf00            nop
+ 8003a5e:      370c            adds    r7, #12
+ 8003a60:      46bd            mov     sp, r7
+ 8003a62:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8003a66:      4770            bx      lr
 
-08003a38 <HAL_TIM_IC_CaptureCallback>:
+08003a68 <HAL_TIM_IC_CaptureCallback>:
   * @brief  Input Capture callback in non-blocking mode
   * @param  htim TIM IC handle
   * @retval None
   */
 __weak void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim)
 {
- 8003a38:      b480            push    {r7}
- 8003a3a:      b083            sub     sp, #12
- 8003a3c:      af00            add     r7, sp, #0
- 8003a3e:      6078            str     r0, [r7, #4]
+ 8003a68:      b480            push    {r7}
+ 8003a6a:      b083            sub     sp, #12
+ 8003a6c:      af00            add     r7, sp, #0
+ 8003a6e:      6078            str     r0, [r7, #4]
   UNUSED(htim);
 
   /* NOTE : This function should not be modified, when the callback is needed,
             the HAL_TIM_IC_CaptureCallback could be implemented in the user file
    */
 }
- 8003a40:      bf00            nop
- 8003a42:      370c            adds    r7, #12
- 8003a44:      46bd            mov     sp, r7
- 8003a46:      f85d 7b04       ldr.w   r7, [sp], #4
- 8003a4a:      4770            bx      lr
+ 8003a70:      bf00            nop
+ 8003a72:      370c            adds    r7, #12
+ 8003a74:      46bd            mov     sp, r7
+ 8003a76:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8003a7a:      4770            bx      lr
 
-08003a4c <HAL_TIM_PWM_PulseFinishedCallback>:
+08003a7c <HAL_TIM_PWM_PulseFinishedCallback>:
   * @brief  PWM Pulse finished callback in non-blocking mode
   * @param  htim TIM handle
   * @retval None
   */
 __weak void HAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef *htim)
 {
- 8003a4c:      b480            push    {r7}
- 8003a4e:      b083            sub     sp, #12
- 8003a50:      af00            add     r7, sp, #0
- 8003a52:      6078            str     r0, [r7, #4]
+ 8003a7c:      b480            push    {r7}
+ 8003a7e:      b083            sub     sp, #12
+ 8003a80:      af00            add     r7, sp, #0
+ 8003a82:      6078            str     r0, [r7, #4]
   UNUSED(htim);
 
   /* NOTE : This function should not be modified, when the callback is needed,
             the HAL_TIM_PWM_PulseFinishedCallback could be implemented in the user file
    */
 }
- 8003a54:      bf00            nop
- 8003a56:      370c            adds    r7, #12
- 8003a58:      46bd            mov     sp, r7
- 8003a5a:      f85d 7b04       ldr.w   r7, [sp], #4
- 8003a5e:      4770            bx      lr
+ 8003a84:      bf00            nop
+ 8003a86:      370c            adds    r7, #12
+ 8003a88:      46bd            mov     sp, r7
+ 8003a8a:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8003a8e:      4770            bx      lr
 
-08003a60 <HAL_TIM_TriggerCallback>:
+08003a90 <HAL_TIM_TriggerCallback>:
   * @brief  Hall Trigger detection callback in non-blocking mode
   * @param  htim TIM handle
   * @retval None
   */
 __weak void HAL_TIM_TriggerCallback(TIM_HandleTypeDef *htim)
 {
- 8003a60:      b480            push    {r7}
- 8003a62:      b083            sub     sp, #12
- 8003a64:      af00            add     r7, sp, #0
- 8003a66:      6078            str     r0, [r7, #4]
+ 8003a90:      b480            push    {r7}
+ 8003a92:      b083            sub     sp, #12
+ 8003a94:      af00            add     r7, sp, #0
+ 8003a96:      6078            str     r0, [r7, #4]
   UNUSED(htim);
 
   /* NOTE : This function should not be modified, when the callback is needed,
             the HAL_TIM_TriggerCallback could be implemented in the user file
    */
 }
- 8003a68:      bf00            nop
- 8003a6a:      370c            adds    r7, #12
- 8003a6c:      46bd            mov     sp, r7
- 8003a6e:      f85d 7b04       ldr.w   r7, [sp], #4
- 8003a72:      4770            bx      lr
+ 8003a98:      bf00            nop
+ 8003a9a:      370c            adds    r7, #12
+ 8003a9c:      46bd            mov     sp, r7
+ 8003a9e:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8003aa2:      4770            bx      lr
 
-08003a74 <TIM_Base_SetConfig>:
+08003aa4 <TIM_Base_SetConfig>:
   * @param  TIMx TIM peripheral
   * @param  Structure TIM Base configuration structure
   * @retval None
   */
 void TIM_Base_SetConfig(TIM_TypeDef *TIMx, TIM_Base_InitTypeDef *Structure)
 {
- 8003a74:      b480            push    {r7}
- 8003a76:      b085            sub     sp, #20
- 8003a78:      af00            add     r7, sp, #0
- 8003a7a:      6078            str     r0, [r7, #4]
- 8003a7c:      6039            str     r1, [r7, #0]
+ 8003aa4:      b480            push    {r7}
+ 8003aa6:      b085            sub     sp, #20
+ 8003aa8:      af00            add     r7, sp, #0
+ 8003aaa:      6078            str     r0, [r7, #4]
+ 8003aac:      6039            str     r1, [r7, #0]
   uint32_t tmpcr1;
   tmpcr1 = TIMx->CR1;
- 8003a7e:      687b            ldr     r3, [r7, #4]
- 8003a80:      681b            ldr     r3, [r3, #0]
- 8003a82:      60fb            str     r3, [r7, #12]
+ 8003aae:      687b            ldr     r3, [r7, #4]
+ 8003ab0:      681b            ldr     r3, [r3, #0]
+ 8003ab2:      60fb            str     r3, [r7, #12]
 
   /* Set TIM Time Base Unit parameters ---------------------------------------*/
   if (IS_TIM_COUNTER_MODE_SELECT_INSTANCE(TIMx))
- 8003a84:      687b            ldr     r3, [r7, #4]
- 8003a86:      4a40            ldr     r2, [pc, #256]  ; (8003b88 <TIM_Base_SetConfig+0x114>)
- 8003a88:      4293            cmp     r3, r2
- 8003a8a:      d013            beq.n   8003ab4 <TIM_Base_SetConfig+0x40>
- 8003a8c:      687b            ldr     r3, [r7, #4]
- 8003a8e:      f1b3 4f80       cmp.w   r3, #1073741824 ; 0x40000000
- 8003a92:      d00f            beq.n   8003ab4 <TIM_Base_SetConfig+0x40>
- 8003a94:      687b            ldr     r3, [r7, #4]
- 8003a96:      4a3d            ldr     r2, [pc, #244]  ; (8003b8c <TIM_Base_SetConfig+0x118>)
- 8003a98:      4293            cmp     r3, r2
- 8003a9a:      d00b            beq.n   8003ab4 <TIM_Base_SetConfig+0x40>
- 8003a9c:      687b            ldr     r3, [r7, #4]
- 8003a9e:      4a3c            ldr     r2, [pc, #240]  ; (8003b90 <TIM_Base_SetConfig+0x11c>)
- 8003aa0:      4293            cmp     r3, r2
- 8003aa2:      d007            beq.n   8003ab4 <TIM_Base_SetConfig+0x40>
- 8003aa4:      687b            ldr     r3, [r7, #4]
- 8003aa6:      4a3b            ldr     r2, [pc, #236]  ; (8003b94 <TIM_Base_SetConfig+0x120>)
- 8003aa8:      4293            cmp     r3, r2
- 8003aaa:      d003            beq.n   8003ab4 <TIM_Base_SetConfig+0x40>
- 8003aac:      687b            ldr     r3, [r7, #4]
- 8003aae:      4a3a            ldr     r2, [pc, #232]  ; (8003b98 <TIM_Base_SetConfig+0x124>)
- 8003ab0:      4293            cmp     r3, r2
- 8003ab2:      d108            bne.n   8003ac6 <TIM_Base_SetConfig+0x52>
+ 8003ab4:      687b            ldr     r3, [r7, #4]
+ 8003ab6:      4a40            ldr     r2, [pc, #256]  ; (8003bb8 <TIM_Base_SetConfig+0x114>)
+ 8003ab8:      4293            cmp     r3, r2
+ 8003aba:      d013            beq.n   8003ae4 <TIM_Base_SetConfig+0x40>
+ 8003abc:      687b            ldr     r3, [r7, #4]
+ 8003abe:      f1b3 4f80       cmp.w   r3, #1073741824 ; 0x40000000
+ 8003ac2:      d00f            beq.n   8003ae4 <TIM_Base_SetConfig+0x40>
+ 8003ac4:      687b            ldr     r3, [r7, #4]
+ 8003ac6:      4a3d            ldr     r2, [pc, #244]  ; (8003bbc <TIM_Base_SetConfig+0x118>)
+ 8003ac8:      4293            cmp     r3, r2
+ 8003aca:      d00b            beq.n   8003ae4 <TIM_Base_SetConfig+0x40>
+ 8003acc:      687b            ldr     r3, [r7, #4]
+ 8003ace:      4a3c            ldr     r2, [pc, #240]  ; (8003bc0 <TIM_Base_SetConfig+0x11c>)
+ 8003ad0:      4293            cmp     r3, r2
+ 8003ad2:      d007            beq.n   8003ae4 <TIM_Base_SetConfig+0x40>
+ 8003ad4:      687b            ldr     r3, [r7, #4]
+ 8003ad6:      4a3b            ldr     r2, [pc, #236]  ; (8003bc4 <TIM_Base_SetConfig+0x120>)
+ 8003ad8:      4293            cmp     r3, r2
+ 8003ada:      d003            beq.n   8003ae4 <TIM_Base_SetConfig+0x40>
+ 8003adc:      687b            ldr     r3, [r7, #4]
+ 8003ade:      4a3a            ldr     r2, [pc, #232]  ; (8003bc8 <TIM_Base_SetConfig+0x124>)
+ 8003ae0:      4293            cmp     r3, r2
+ 8003ae2:      d108            bne.n   8003af6 <TIM_Base_SetConfig+0x52>
   {
     /* Select the Counter Mode */
     tmpcr1 &= ~(TIM_CR1_DIR | TIM_CR1_CMS);
- 8003ab4:      68fb            ldr     r3, [r7, #12]
- 8003ab6:      f023 0370       bic.w   r3, r3, #112    ; 0x70
- 8003aba:      60fb            str     r3, [r7, #12]
+ 8003ae4:      68fb            ldr     r3, [r7, #12]
+ 8003ae6:      f023 0370       bic.w   r3, r3, #112    ; 0x70
+ 8003aea:      60fb            str     r3, [r7, #12]
     tmpcr1 |= Structure->CounterMode;
- 8003abc:      683b            ldr     r3, [r7, #0]
- 8003abe:      685b            ldr     r3, [r3, #4]
- 8003ac0:      68fa            ldr     r2, [r7, #12]
- 8003ac2:      4313            orrs    r3, r2
- 8003ac4:      60fb            str     r3, [r7, #12]
+ 8003aec:      683b            ldr     r3, [r7, #0]
+ 8003aee:      685b            ldr     r3, [r3, #4]
+ 8003af0:      68fa            ldr     r2, [r7, #12]
+ 8003af2:      4313            orrs    r3, r2
+ 8003af4:      60fb            str     r3, [r7, #12]
   }
 
   if (IS_TIM_CLOCK_DIVISION_INSTANCE(TIMx))
- 8003ac6:      687b            ldr     r3, [r7, #4]
- 8003ac8:      4a2f            ldr     r2, [pc, #188]  ; (8003b88 <TIM_Base_SetConfig+0x114>)
- 8003aca:      4293            cmp     r3, r2
- 8003acc:      d02b            beq.n   8003b26 <TIM_Base_SetConfig+0xb2>
- 8003ace:      687b            ldr     r3, [r7, #4]
- 8003ad0:      f1b3 4f80       cmp.w   r3, #1073741824 ; 0x40000000
- 8003ad4:      d027            beq.n   8003b26 <TIM_Base_SetConfig+0xb2>
- 8003ad6:      687b            ldr     r3, [r7, #4]
- 8003ad8:      4a2c            ldr     r2, [pc, #176]  ; (8003b8c <TIM_Base_SetConfig+0x118>)
- 8003ada:      4293            cmp     r3, r2
- 8003adc:      d023            beq.n   8003b26 <TIM_Base_SetConfig+0xb2>
- 8003ade:      687b            ldr     r3, [r7, #4]
- 8003ae0:      4a2b            ldr     r2, [pc, #172]  ; (8003b90 <TIM_Base_SetConfig+0x11c>)
- 8003ae2:      4293            cmp     r3, r2
- 8003ae4:      d01f            beq.n   8003b26 <TIM_Base_SetConfig+0xb2>
- 8003ae6:      687b            ldr     r3, [r7, #4]
- 8003ae8:      4a2a            ldr     r2, [pc, #168]  ; (8003b94 <TIM_Base_SetConfig+0x120>)
- 8003aea:      4293            cmp     r3, r2
- 8003aec:      d01b            beq.n   8003b26 <TIM_Base_SetConfig+0xb2>
- 8003aee:      687b            ldr     r3, [r7, #4]
- 8003af0:      4a29            ldr     r2, [pc, #164]  ; (8003b98 <TIM_Base_SetConfig+0x124>)
- 8003af2:      4293            cmp     r3, r2
- 8003af4:      d017            beq.n   8003b26 <TIM_Base_SetConfig+0xb2>
  8003af6:      687b            ldr     r3, [r7, #4]
- 8003af8:      4a28            ldr     r2, [pc, #160]  ; (8003b9c <TIM_Base_SetConfig+0x128>)
+ 8003af8:      4a2f            ldr     r2, [pc, #188]  ; (8003bb8 <TIM_Base_SetConfig+0x114>)
  8003afa:      4293            cmp     r3, r2
- 8003afc:      d013            beq.n   8003b26 <TIM_Base_SetConfig+0xb2>
+ 8003afc:      d02b            beq.n   8003b56 <TIM_Base_SetConfig+0xb2>
  8003afe:      687b            ldr     r3, [r7, #4]
- 8003b00:      4a27            ldr     r2, [pc, #156]  ; (8003ba0 <TIM_Base_SetConfig+0x12c>)
- 8003b02:      4293            cmp     r3, r2
- 8003b04:      d00f            beq.n   8003b26 <TIM_Base_SetConfig+0xb2>
+ 8003b00:      f1b3 4f80       cmp.w   r3, #1073741824 ; 0x40000000
+ 8003b04:      d027            beq.n   8003b56 <TIM_Base_SetConfig+0xb2>
  8003b06:      687b            ldr     r3, [r7, #4]
- 8003b08:      4a26            ldr     r2, [pc, #152]  ; (8003ba4 <TIM_Base_SetConfig+0x130>)
+ 8003b08:      4a2c            ldr     r2, [pc, #176]  ; (8003bbc <TIM_Base_SetConfig+0x118>)
  8003b0a:      4293            cmp     r3, r2
- 8003b0c:      d00b            beq.n   8003b26 <TIM_Base_SetConfig+0xb2>
+ 8003b0c:      d023            beq.n   8003b56 <TIM_Base_SetConfig+0xb2>
  8003b0e:      687b            ldr     r3, [r7, #4]
- 8003b10:      4a25            ldr     r2, [pc, #148]  ; (8003ba8 <TIM_Base_SetConfig+0x134>)
+ 8003b10:      4a2b            ldr     r2, [pc, #172]  ; (8003bc0 <TIM_Base_SetConfig+0x11c>)
  8003b12:      4293            cmp     r3, r2
- 8003b14:      d007            beq.n   8003b26 <TIM_Base_SetConfig+0xb2>
+ 8003b14:      d01f            beq.n   8003b56 <TIM_Base_SetConfig+0xb2>
  8003b16:      687b            ldr     r3, [r7, #4]
- 8003b18:      4a24            ldr     r2, [pc, #144]  ; (8003bac <TIM_Base_SetConfig+0x138>)
+ 8003b18:      4a2a            ldr     r2, [pc, #168]  ; (8003bc4 <TIM_Base_SetConfig+0x120>)
  8003b1a:      4293            cmp     r3, r2
- 8003b1c:      d003            beq.n   8003b26 <TIM_Base_SetConfig+0xb2>
+ 8003b1c:      d01b            beq.n   8003b56 <TIM_Base_SetConfig+0xb2>
  8003b1e:      687b            ldr     r3, [r7, #4]
- 8003b20:      4a23            ldr     r2, [pc, #140]  ; (8003bb0 <TIM_Base_SetConfig+0x13c>)
+ 8003b20:      4a29            ldr     r2, [pc, #164]  ; (8003bc8 <TIM_Base_SetConfig+0x124>)
  8003b22:      4293            cmp     r3, r2
- 8003b24:      d108            bne.n   8003b38 <TIM_Base_SetConfig+0xc4>
+ 8003b24:      d017            beq.n   8003b56 <TIM_Base_SetConfig+0xb2>
+ 8003b26:      687b            ldr     r3, [r7, #4]
+ 8003b28:      4a28            ldr     r2, [pc, #160]  ; (8003bcc <TIM_Base_SetConfig+0x128>)
+ 8003b2a:      4293            cmp     r3, r2
+ 8003b2c:      d013            beq.n   8003b56 <TIM_Base_SetConfig+0xb2>
+ 8003b2e:      687b            ldr     r3, [r7, #4]
+ 8003b30:      4a27            ldr     r2, [pc, #156]  ; (8003bd0 <TIM_Base_SetConfig+0x12c>)
+ 8003b32:      4293            cmp     r3, r2
+ 8003b34:      d00f            beq.n   8003b56 <TIM_Base_SetConfig+0xb2>
+ 8003b36:      687b            ldr     r3, [r7, #4]
+ 8003b38:      4a26            ldr     r2, [pc, #152]  ; (8003bd4 <TIM_Base_SetConfig+0x130>)
+ 8003b3a:      4293            cmp     r3, r2
+ 8003b3c:      d00b            beq.n   8003b56 <TIM_Base_SetConfig+0xb2>
+ 8003b3e:      687b            ldr     r3, [r7, #4]
+ 8003b40:      4a25            ldr     r2, [pc, #148]  ; (8003bd8 <TIM_Base_SetConfig+0x134>)
+ 8003b42:      4293            cmp     r3, r2
+ 8003b44:      d007            beq.n   8003b56 <TIM_Base_SetConfig+0xb2>
+ 8003b46:      687b            ldr     r3, [r7, #4]
+ 8003b48:      4a24            ldr     r2, [pc, #144]  ; (8003bdc <TIM_Base_SetConfig+0x138>)
+ 8003b4a:      4293            cmp     r3, r2
+ 8003b4c:      d003            beq.n   8003b56 <TIM_Base_SetConfig+0xb2>
+ 8003b4e:      687b            ldr     r3, [r7, #4]
+ 8003b50:      4a23            ldr     r2, [pc, #140]  ; (8003be0 <TIM_Base_SetConfig+0x13c>)
+ 8003b52:      4293            cmp     r3, r2
+ 8003b54:      d108            bne.n   8003b68 <TIM_Base_SetConfig+0xc4>
   {
     /* Set the clock division */
     tmpcr1 &= ~TIM_CR1_CKD;
- 8003b26:      68fb            ldr     r3, [r7, #12]
- 8003b28:      f423 7340       bic.w   r3, r3, #768    ; 0x300
- 8003b2c:      60fb            str     r3, [r7, #12]
+ 8003b56:      68fb            ldr     r3, [r7, #12]
+ 8003b58:      f423 7340       bic.w   r3, r3, #768    ; 0x300
+ 8003b5c:      60fb            str     r3, [r7, #12]
     tmpcr1 |= (uint32_t)Structure->ClockDivision;
- 8003b2e:      683b            ldr     r3, [r7, #0]
- 8003b30:      68db            ldr     r3, [r3, #12]
- 8003b32:      68fa            ldr     r2, [r7, #12]
- 8003b34:      4313            orrs    r3, r2
- 8003b36:      60fb            str     r3, [r7, #12]
+ 8003b5e:      683b            ldr     r3, [r7, #0]
+ 8003b60:      68db            ldr     r3, [r3, #12]
+ 8003b62:      68fa            ldr     r2, [r7, #12]
+ 8003b64:      4313            orrs    r3, r2
+ 8003b66:      60fb            str     r3, [r7, #12]
   }
 
   /* Set the auto-reload preload */
   MODIFY_REG(tmpcr1, TIM_CR1_ARPE, Structure->AutoReloadPreload);
- 8003b38:      68fb            ldr     r3, [r7, #12]
- 8003b3a:      f023 0280       bic.w   r2, r3, #128    ; 0x80
- 8003b3e:      683b            ldr     r3, [r7, #0]
- 8003b40:      695b            ldr     r3, [r3, #20]
- 8003b42:      4313            orrs    r3, r2
- 8003b44:      60fb            str     r3, [r7, #12]
+ 8003b68:      68fb            ldr     r3, [r7, #12]
+ 8003b6a:      f023 0280       bic.w   r2, r3, #128    ; 0x80
+ 8003b6e:      683b            ldr     r3, [r7, #0]
+ 8003b70:      695b            ldr     r3, [r3, #20]
+ 8003b72:      4313            orrs    r3, r2
+ 8003b74:      60fb            str     r3, [r7, #12]
 
   TIMx->CR1 = tmpcr1;
- 8003b46:      687b            ldr     r3, [r7, #4]
- 8003b48:      68fa            ldr     r2, [r7, #12]
- 8003b4a:      601a            str     r2, [r3, #0]
+ 8003b76:      687b            ldr     r3, [r7, #4]
+ 8003b78:      68fa            ldr     r2, [r7, #12]
+ 8003b7a:      601a            str     r2, [r3, #0]
 
   /* Set the Autoreload value */
   TIMx->ARR = (uint32_t)Structure->Period ;
- 8003b4c:      683b            ldr     r3, [r7, #0]
- 8003b4e:      689a            ldr     r2, [r3, #8]
- 8003b50:      687b            ldr     r3, [r7, #4]
- 8003b52:      62da            str     r2, [r3, #44]   ; 0x2c
+ 8003b7c:      683b            ldr     r3, [r7, #0]
+ 8003b7e:      689a            ldr     r2, [r3, #8]
+ 8003b80:      687b            ldr     r3, [r7, #4]
+ 8003b82:      62da            str     r2, [r3, #44]   ; 0x2c
 
   /* Set the Prescaler value */
   TIMx->PSC = Structure->Prescaler;
- 8003b54:      683b            ldr     r3, [r7, #0]
- 8003b56:      681a            ldr     r2, [r3, #0]
- 8003b58:      687b            ldr     r3, [r7, #4]
- 8003b5a:      629a            str     r2, [r3, #40]   ; 0x28
+ 8003b84:      683b            ldr     r3, [r7, #0]
+ 8003b86:      681a            ldr     r2, [r3, #0]
+ 8003b88:      687b            ldr     r3, [r7, #4]
+ 8003b8a:      629a            str     r2, [r3, #40]   ; 0x28
 
   if (IS_TIM_REPETITION_COUNTER_INSTANCE(TIMx))
- 8003b5c:      687b            ldr     r3, [r7, #4]
- 8003b5e:      4a0a            ldr     r2, [pc, #40]   ; (8003b88 <TIM_Base_SetConfig+0x114>)
- 8003b60:      4293            cmp     r3, r2
- 8003b62:      d003            beq.n   8003b6c <TIM_Base_SetConfig+0xf8>
- 8003b64:      687b            ldr     r3, [r7, #4]
- 8003b66:      4a0c            ldr     r2, [pc, #48]   ; (8003b98 <TIM_Base_SetConfig+0x124>)
- 8003b68:      4293            cmp     r3, r2
- 8003b6a:      d103            bne.n   8003b74 <TIM_Base_SetConfig+0x100>
+ 8003b8c:      687b            ldr     r3, [r7, #4]
+ 8003b8e:      4a0a            ldr     r2, [pc, #40]   ; (8003bb8 <TIM_Base_SetConfig+0x114>)
+ 8003b90:      4293            cmp     r3, r2
+ 8003b92:      d003            beq.n   8003b9c <TIM_Base_SetConfig+0xf8>
+ 8003b94:      687b            ldr     r3, [r7, #4]
+ 8003b96:      4a0c            ldr     r2, [pc, #48]   ; (8003bc8 <TIM_Base_SetConfig+0x124>)
+ 8003b98:      4293            cmp     r3, r2
+ 8003b9a:      d103            bne.n   8003ba4 <TIM_Base_SetConfig+0x100>
   {
     /* Set the Repetition Counter value */
     TIMx->RCR = Structure->RepetitionCounter;
- 8003b6c:      683b            ldr     r3, [r7, #0]
- 8003b6e:      691a            ldr     r2, [r3, #16]
- 8003b70:      687b            ldr     r3, [r7, #4]
- 8003b72:      631a            str     r2, [r3, #48]   ; 0x30
+ 8003b9c:      683b            ldr     r3, [r7, #0]
+ 8003b9e:      691a            ldr     r2, [r3, #16]
+ 8003ba0:      687b            ldr     r3, [r7, #4]
+ 8003ba2:      631a            str     r2, [r3, #48]   ; 0x30
   }
 
   /* Generate an update event to reload the Prescaler
      and the repetition counter (only for advanced timer) value immediately */
   TIMx->EGR = TIM_EGR_UG;
- 8003b74:      687b            ldr     r3, [r7, #4]
- 8003b76:      2201            movs    r2, #1
- 8003b78:      615a            str     r2, [r3, #20]
+ 8003ba4:      687b            ldr     r3, [r7, #4]
+ 8003ba6:      2201            movs    r2, #1
+ 8003ba8:      615a            str     r2, [r3, #20]
 }
- 8003b7a:      bf00            nop
- 8003b7c:      3714            adds    r7, #20
- 8003b7e:      46bd            mov     sp, r7
- 8003b80:      f85d 7b04       ldr.w   r7, [sp], #4
- 8003b84:      4770            bx      lr
- 8003b86:      bf00            nop
- 8003b88:      40010000        .word   0x40010000
- 8003b8c:      40000400        .word   0x40000400
- 8003b90:      40000800        .word   0x40000800
- 8003b94:      40000c00        .word   0x40000c00
- 8003b98:      40010400        .word   0x40010400
- 8003b9c:      40014000        .word   0x40014000
- 8003ba0:      40014400        .word   0x40014400
- 8003ba4:      40014800        .word   0x40014800
- 8003ba8:      40001800        .word   0x40001800
- 8003bac:      40001c00        .word   0x40001c00
- 8003bb0:      40002000        .word   0x40002000
-
-08003bb4 <TIM_OC1_SetConfig>:
+ 8003baa:      bf00            nop
+ 8003bac:      3714            adds    r7, #20
+ 8003bae:      46bd            mov     sp, r7
+ 8003bb0:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8003bb4:      4770            bx      lr
+ 8003bb6:      bf00            nop
+ 8003bb8:      40010000        .word   0x40010000
+ 8003bbc:      40000400        .word   0x40000400
+ 8003bc0:      40000800        .word   0x40000800
+ 8003bc4:      40000c00        .word   0x40000c00
+ 8003bc8:      40010400        .word   0x40010400
+ 8003bcc:      40014000        .word   0x40014000
+ 8003bd0:      40014400        .word   0x40014400
+ 8003bd4:      40014800        .word   0x40014800
+ 8003bd8:      40001800        .word   0x40001800
+ 8003bdc:      40001c00        .word   0x40001c00
+ 8003be0:      40002000        .word   0x40002000
+
+08003be4 <TIM_OC1_SetConfig>:
   * @param  TIMx to select the TIM peripheral
   * @param  OC_Config The ouput configuration structure
   * @retval None
   */
 static void TIM_OC1_SetConfig(TIM_TypeDef *TIMx, TIM_OC_InitTypeDef *OC_Config)
 {
- 8003bb4:      b480            push    {r7}
- 8003bb6:      b087            sub     sp, #28
- 8003bb8:      af00            add     r7, sp, #0
- 8003bba:      6078            str     r0, [r7, #4]
- 8003bbc:      6039            str     r1, [r7, #0]
+ 8003be4:      b480            push    {r7}
+ 8003be6:      b087            sub     sp, #28
+ 8003be8:      af00            add     r7, sp, #0
+ 8003bea:      6078            str     r0, [r7, #4]
+ 8003bec:      6039            str     r1, [r7, #0]
   uint32_t tmpccmrx;
   uint32_t tmpccer;
   uint32_t tmpcr2;
 
   /* Disable the Channel 1: Reset the CC1E Bit */
   TIMx->CCER &= ~TIM_CCER_CC1E;
- 8003bbe:      687b            ldr     r3, [r7, #4]
- 8003bc0:      6a1b            ldr     r3, [r3, #32]
- 8003bc2:      f023 0201       bic.w   r2, r3, #1
- 8003bc6:      687b            ldr     r3, [r7, #4]
- 8003bc8:      621a            str     r2, [r3, #32]
+ 8003bee:      687b            ldr     r3, [r7, #4]
+ 8003bf0:      6a1b            ldr     r3, [r3, #32]
+ 8003bf2:      f023 0201       bic.w   r2, r3, #1
+ 8003bf6:      687b            ldr     r3, [r7, #4]
+ 8003bf8:      621a            str     r2, [r3, #32]
 
   /* Get the TIMx CCER register value */
   tmpccer = TIMx->CCER;
- 8003bca:      687b            ldr     r3, [r7, #4]
- 8003bcc:      6a1b            ldr     r3, [r3, #32]
- 8003bce:      617b            str     r3, [r7, #20]
+ 8003bfa:      687b            ldr     r3, [r7, #4]
+ 8003bfc:      6a1b            ldr     r3, [r3, #32]
+ 8003bfe:      617b            str     r3, [r7, #20]
   /* Get the TIMx CR2 register value */
   tmpcr2 =  TIMx->CR2;
- 8003bd0:      687b            ldr     r3, [r7, #4]
- 8003bd2:      685b            ldr     r3, [r3, #4]
- 8003bd4:      613b            str     r3, [r7, #16]
+ 8003c00:      687b            ldr     r3, [r7, #4]
+ 8003c02:      685b            ldr     r3, [r3, #4]
+ 8003c04:      613b            str     r3, [r7, #16]
 
   /* Get the TIMx CCMR1 register value */
   tmpccmrx = TIMx->CCMR1;
- 8003bd6:      687b            ldr     r3, [r7, #4]
- 8003bd8:      699b            ldr     r3, [r3, #24]
- 8003bda:      60fb            str     r3, [r7, #12]
+ 8003c06:      687b            ldr     r3, [r7, #4]
+ 8003c08:      699b            ldr     r3, [r3, #24]
+ 8003c0a:      60fb            str     r3, [r7, #12]
 
   /* Reset the Output Compare Mode Bits */
   tmpccmrx &= ~TIM_CCMR1_OC1M;
- 8003bdc:      68fa            ldr     r2, [r7, #12]
- 8003bde:      4b2b            ldr     r3, [pc, #172]  ; (8003c8c <TIM_OC1_SetConfig+0xd8>)
- 8003be0:      4013            ands    r3, r2
- 8003be2:      60fb            str     r3, [r7, #12]
+ 8003c0c:      68fa            ldr     r2, [r7, #12]
+ 8003c0e:      4b2b            ldr     r3, [pc, #172]  ; (8003cbc <TIM_OC1_SetConfig+0xd8>)
+ 8003c10:      4013            ands    r3, r2
+ 8003c12:      60fb            str     r3, [r7, #12]
   tmpccmrx &= ~TIM_CCMR1_CC1S;
- 8003be4:      68fb            ldr     r3, [r7, #12]
- 8003be6:      f023 0303       bic.w   r3, r3, #3
- 8003bea:      60fb            str     r3, [r7, #12]
+ 8003c14:      68fb            ldr     r3, [r7, #12]
+ 8003c16:      f023 0303       bic.w   r3, r3, #3
+ 8003c1a:      60fb            str     r3, [r7, #12]
   /* Select the Output Compare Mode */
   tmpccmrx |= OC_Config->OCMode;
- 8003bec:      683b            ldr     r3, [r7, #0]
- 8003bee:      681b            ldr     r3, [r3, #0]
- 8003bf0:      68fa            ldr     r2, [r7, #12]
- 8003bf2:      4313            orrs    r3, r2
- 8003bf4:      60fb            str     r3, [r7, #12]
+ 8003c1c:      683b            ldr     r3, [r7, #0]
+ 8003c1e:      681b            ldr     r3, [r3, #0]
+ 8003c20:      68fa            ldr     r2, [r7, #12]
+ 8003c22:      4313            orrs    r3, r2
+ 8003c24:      60fb            str     r3, [r7, #12]
 
   /* Reset the Output Polarity level */
   tmpccer &= ~TIM_CCER_CC1P;
- 8003bf6:      697b            ldr     r3, [r7, #20]
- 8003bf8:      f023 0302       bic.w   r3, r3, #2
- 8003bfc:      617b            str     r3, [r7, #20]
+ 8003c26:      697b            ldr     r3, [r7, #20]
+ 8003c28:      f023 0302       bic.w   r3, r3, #2
+ 8003c2c:      617b            str     r3, [r7, #20]
   /* Set the Output Compare Polarity */
   tmpccer |= OC_Config->OCPolarity;
- 8003bfe:      683b            ldr     r3, [r7, #0]
- 8003c00:      689b            ldr     r3, [r3, #8]
- 8003c02:      697a            ldr     r2, [r7, #20]
- 8003c04:      4313            orrs    r3, r2
- 8003c06:      617b            str     r3, [r7, #20]
+ 8003c2e:      683b            ldr     r3, [r7, #0]
+ 8003c30:      689b            ldr     r3, [r3, #8]
+ 8003c32:      697a            ldr     r2, [r7, #20]
+ 8003c34:      4313            orrs    r3, r2
+ 8003c36:      617b            str     r3, [r7, #20]
 
   if (IS_TIM_CCXN_INSTANCE(TIMx, TIM_CHANNEL_1))
- 8003c08:      687b            ldr     r3, [r7, #4]
- 8003c0a:      4a21            ldr     r2, [pc, #132]  ; (8003c90 <TIM_OC1_SetConfig+0xdc>)
- 8003c0c:      4293            cmp     r3, r2
- 8003c0e:      d003            beq.n   8003c18 <TIM_OC1_SetConfig+0x64>
- 8003c10:      687b            ldr     r3, [r7, #4]
- 8003c12:      4a20            ldr     r2, [pc, #128]  ; (8003c94 <TIM_OC1_SetConfig+0xe0>)
- 8003c14:      4293            cmp     r3, r2
- 8003c16:      d10c            bne.n   8003c32 <TIM_OC1_SetConfig+0x7e>
+ 8003c38:      687b            ldr     r3, [r7, #4]
+ 8003c3a:      4a21            ldr     r2, [pc, #132]  ; (8003cc0 <TIM_OC1_SetConfig+0xdc>)
+ 8003c3c:      4293            cmp     r3, r2
+ 8003c3e:      d003            beq.n   8003c48 <TIM_OC1_SetConfig+0x64>
+ 8003c40:      687b            ldr     r3, [r7, #4]
+ 8003c42:      4a20            ldr     r2, [pc, #128]  ; (8003cc4 <TIM_OC1_SetConfig+0xe0>)
+ 8003c44:      4293            cmp     r3, r2
+ 8003c46:      d10c            bne.n   8003c62 <TIM_OC1_SetConfig+0x7e>
   {
     /* Check parameters */
     assert_param(IS_TIM_OCN_POLARITY(OC_Config->OCNPolarity));
 
     /* Reset the Output N Polarity level */
     tmpccer &= ~TIM_CCER_CC1NP;
- 8003c18:      697b            ldr     r3, [r7, #20]
- 8003c1a:      f023 0308       bic.w   r3, r3, #8
- 8003c1e:      617b            str     r3, [r7, #20]
+ 8003c48:      697b            ldr     r3, [r7, #20]
+ 8003c4a:      f023 0308       bic.w   r3, r3, #8
+ 8003c4e:      617b            str     r3, [r7, #20]
     /* Set the Output N Polarity */
     tmpccer |= OC_Config->OCNPolarity;
- 8003c20:      683b            ldr     r3, [r7, #0]
- 8003c22:      68db            ldr     r3, [r3, #12]
- 8003c24:      697a            ldr     r2, [r7, #20]
- 8003c26:      4313            orrs    r3, r2
- 8003c28:      617b            str     r3, [r7, #20]
+ 8003c50:      683b            ldr     r3, [r7, #0]
+ 8003c52:      68db            ldr     r3, [r3, #12]
+ 8003c54:      697a            ldr     r2, [r7, #20]
+ 8003c56:      4313            orrs    r3, r2
+ 8003c58:      617b            str     r3, [r7, #20]
     /* Reset the Output N State */
     tmpccer &= ~TIM_CCER_CC1NE;
- 8003c2a:      697b            ldr     r3, [r7, #20]
- 8003c2c:      f023 0304       bic.w   r3, r3, #4
- 8003c30:      617b            str     r3, [r7, #20]
+ 8003c5a:      697b            ldr     r3, [r7, #20]
+ 8003c5c:      f023 0304       bic.w   r3, r3, #4
+ 8003c60:      617b            str     r3, [r7, #20]
   }
 
   if (IS_TIM_BREAK_INSTANCE(TIMx))
- 8003c32:      687b            ldr     r3, [r7, #4]
- 8003c34:      4a16            ldr     r2, [pc, #88]   ; (8003c90 <TIM_OC1_SetConfig+0xdc>)
- 8003c36:      4293            cmp     r3, r2
- 8003c38:      d003            beq.n   8003c42 <TIM_OC1_SetConfig+0x8e>
- 8003c3a:      687b            ldr     r3, [r7, #4]
- 8003c3c:      4a15            ldr     r2, [pc, #84]   ; (8003c94 <TIM_OC1_SetConfig+0xe0>)
- 8003c3e:      4293            cmp     r3, r2
- 8003c40:      d111            bne.n   8003c66 <TIM_OC1_SetConfig+0xb2>
+ 8003c62:      687b            ldr     r3, [r7, #4]
+ 8003c64:      4a16            ldr     r2, [pc, #88]   ; (8003cc0 <TIM_OC1_SetConfig+0xdc>)
+ 8003c66:      4293            cmp     r3, r2
+ 8003c68:      d003            beq.n   8003c72 <TIM_OC1_SetConfig+0x8e>
+ 8003c6a:      687b            ldr     r3, [r7, #4]
+ 8003c6c:      4a15            ldr     r2, [pc, #84]   ; (8003cc4 <TIM_OC1_SetConfig+0xe0>)
+ 8003c6e:      4293            cmp     r3, r2
+ 8003c70:      d111            bne.n   8003c96 <TIM_OC1_SetConfig+0xb2>
     /* Check parameters */
     assert_param(IS_TIM_OCNIDLE_STATE(OC_Config->OCNIdleState));
     assert_param(IS_TIM_OCIDLE_STATE(OC_Config->OCIdleState));
 
     /* Reset the Output Compare and Output Compare N IDLE State */
     tmpcr2 &= ~TIM_CR2_OIS1;
- 8003c42:      693b            ldr     r3, [r7, #16]
- 8003c44:      f423 7380       bic.w   r3, r3, #256    ; 0x100
- 8003c48:      613b            str     r3, [r7, #16]
+ 8003c72:      693b            ldr     r3, [r7, #16]
+ 8003c74:      f423 7380       bic.w   r3, r3, #256    ; 0x100
+ 8003c78:      613b            str     r3, [r7, #16]
     tmpcr2 &= ~TIM_CR2_OIS1N;
- 8003c4a:      693b            ldr     r3, [r7, #16]
- 8003c4c:      f423 7300       bic.w   r3, r3, #512    ; 0x200
- 8003c50:      613b            str     r3, [r7, #16]
+ 8003c7a:      693b            ldr     r3, [r7, #16]
+ 8003c7c:      f423 7300       bic.w   r3, r3, #512    ; 0x200
+ 8003c80:      613b            str     r3, [r7, #16]
     /* Set the Output Idle state */
     tmpcr2 |= OC_Config->OCIdleState;
- 8003c52:      683b            ldr     r3, [r7, #0]
- 8003c54:      695b            ldr     r3, [r3, #20]
- 8003c56:      693a            ldr     r2, [r7, #16]
- 8003c58:      4313            orrs    r3, r2
- 8003c5a:      613b            str     r3, [r7, #16]
+ 8003c82:      683b            ldr     r3, [r7, #0]
+ 8003c84:      695b            ldr     r3, [r3, #20]
+ 8003c86:      693a            ldr     r2, [r7, #16]
+ 8003c88:      4313            orrs    r3, r2
+ 8003c8a:      613b            str     r3, [r7, #16]
     /* Set the Output N Idle state */
     tmpcr2 |= OC_Config->OCNIdleState;
- 8003c5c:      683b            ldr     r3, [r7, #0]
- 8003c5e:      699b            ldr     r3, [r3, #24]
- 8003c60:      693a            ldr     r2, [r7, #16]
- 8003c62:      4313            orrs    r3, r2
- 8003c64:      613b            str     r3, [r7, #16]
+ 8003c8c:      683b            ldr     r3, [r7, #0]
+ 8003c8e:      699b            ldr     r3, [r3, #24]
+ 8003c90:      693a            ldr     r2, [r7, #16]
+ 8003c92:      4313            orrs    r3, r2
+ 8003c94:      613b            str     r3, [r7, #16]
   }
 
   /* Write to TIMx CR2 */
   TIMx->CR2 = tmpcr2;
- 8003c66:      687b            ldr     r3, [r7, #4]
- 8003c68:      693a            ldr     r2, [r7, #16]
- 8003c6a:      605a            str     r2, [r3, #4]
+ 8003c96:      687b            ldr     r3, [r7, #4]
+ 8003c98:      693a            ldr     r2, [r7, #16]
+ 8003c9a:      605a            str     r2, [r3, #4]
 
   /* Write to TIMx CCMR1 */
   TIMx->CCMR1 = tmpccmrx;
- 8003c6c:      687b            ldr     r3, [r7, #4]
- 8003c6e:      68fa            ldr     r2, [r7, #12]
- 8003c70:      619a            str     r2, [r3, #24]
+ 8003c9c:      687b            ldr     r3, [r7, #4]
+ 8003c9e:      68fa            ldr     r2, [r7, #12]
+ 8003ca0:      619a            str     r2, [r3, #24]
 
   /* Set the Capture Compare Register value */
   TIMx->CCR1 = OC_Config->Pulse;
- 8003c72:      683b            ldr     r3, [r7, #0]
- 8003c74:      685a            ldr     r2, [r3, #4]
- 8003c76:      687b            ldr     r3, [r7, #4]
- 8003c78:      635a            str     r2, [r3, #52]   ; 0x34
+ 8003ca2:      683b            ldr     r3, [r7, #0]
+ 8003ca4:      685a            ldr     r2, [r3, #4]
+ 8003ca6:      687b            ldr     r3, [r7, #4]
+ 8003ca8:      635a            str     r2, [r3, #52]   ; 0x34
 
   /* Write to TIMx CCER */
   TIMx->CCER = tmpccer;
- 8003c7a:      687b            ldr     r3, [r7, #4]
- 8003c7c:      697a            ldr     r2, [r7, #20]
- 8003c7e:      621a            str     r2, [r3, #32]
+ 8003caa:      687b            ldr     r3, [r7, #4]
+ 8003cac:      697a            ldr     r2, [r7, #20]
+ 8003cae:      621a            str     r2, [r3, #32]
 }
- 8003c80:      bf00            nop
- 8003c82:      371c            adds    r7, #28
- 8003c84:      46bd            mov     sp, r7
- 8003c86:      f85d 7b04       ldr.w   r7, [sp], #4
- 8003c8a:      4770            bx      lr
- 8003c8c:      fffeff8f        .word   0xfffeff8f
- 8003c90:      40010000        .word   0x40010000
- 8003c94:      40010400        .word   0x40010400
-
-08003c98 <TIM_OC2_SetConfig>:
+ 8003cb0:      bf00            nop
+ 8003cb2:      371c            adds    r7, #28
+ 8003cb4:      46bd            mov     sp, r7
+ 8003cb6:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8003cba:      4770            bx      lr
+ 8003cbc:      fffeff8f        .word   0xfffeff8f
+ 8003cc0:      40010000        .word   0x40010000
+ 8003cc4:      40010400        .word   0x40010400
+
+08003cc8 <TIM_OC2_SetConfig>:
   * @param  TIMx to select the TIM peripheral
   * @param  OC_Config The ouput configuration structure
   * @retval None
   */
 void TIM_OC2_SetConfig(TIM_TypeDef *TIMx, TIM_OC_InitTypeDef *OC_Config)
 {
- 8003c98:      b480            push    {r7}
- 8003c9a:      b087            sub     sp, #28
- 8003c9c:      af00            add     r7, sp, #0
- 8003c9e:      6078            str     r0, [r7, #4]
- 8003ca0:      6039            str     r1, [r7, #0]
+ 8003cc8:      b480            push    {r7}
+ 8003cca:      b087            sub     sp, #28
+ 8003ccc:      af00            add     r7, sp, #0
+ 8003cce:      6078            str     r0, [r7, #4]
+ 8003cd0:      6039            str     r1, [r7, #0]
   uint32_t tmpccmrx;
   uint32_t tmpccer;
   uint32_t tmpcr2;
 
   /* Disable the Channel 2: Reset the CC2E Bit */
   TIMx->CCER &= ~TIM_CCER_CC2E;
- 8003ca2:      687b            ldr     r3, [r7, #4]
- 8003ca4:      6a1b            ldr     r3, [r3, #32]
- 8003ca6:      f023 0210       bic.w   r2, r3, #16
- 8003caa:      687b            ldr     r3, [r7, #4]
- 8003cac:      621a            str     r2, [r3, #32]
+ 8003cd2:      687b            ldr     r3, [r7, #4]
+ 8003cd4:      6a1b            ldr     r3, [r3, #32]
+ 8003cd6:      f023 0210       bic.w   r2, r3, #16
+ 8003cda:      687b            ldr     r3, [r7, #4]
+ 8003cdc:      621a            str     r2, [r3, #32]
 
   /* Get the TIMx CCER register value */
   tmpccer = TIMx->CCER;
- 8003cae:      687b            ldr     r3, [r7, #4]
- 8003cb0:      6a1b            ldr     r3, [r3, #32]
- 8003cb2:      617b            str     r3, [r7, #20]
+ 8003cde:      687b            ldr     r3, [r7, #4]
+ 8003ce0:      6a1b            ldr     r3, [r3, #32]
+ 8003ce2:      617b            str     r3, [r7, #20]
   /* Get the TIMx CR2 register value */
   tmpcr2 =  TIMx->CR2;
- 8003cb4:      687b            ldr     r3, [r7, #4]
- 8003cb6:      685b            ldr     r3, [r3, #4]
- 8003cb8:      613b            str     r3, [r7, #16]
+ 8003ce4:      687b            ldr     r3, [r7, #4]
+ 8003ce6:      685b            ldr     r3, [r3, #4]
+ 8003ce8:      613b            str     r3, [r7, #16]
 
   /* Get the TIMx CCMR1 register value */
   tmpccmrx = TIMx->CCMR1;
- 8003cba:      687b            ldr     r3, [r7, #4]
- 8003cbc:      699b            ldr     r3, [r3, #24]
- 8003cbe:      60fb            str     r3, [r7, #12]
+ 8003cea:      687b            ldr     r3, [r7, #4]
+ 8003cec:      699b            ldr     r3, [r3, #24]
+ 8003cee:      60fb            str     r3, [r7, #12]
 
   /* Reset the Output Compare mode and Capture/Compare selection Bits */
   tmpccmrx &= ~TIM_CCMR1_OC2M;
- 8003cc0:      68fa            ldr     r2, [r7, #12]
- 8003cc2:      4b2e            ldr     r3, [pc, #184]  ; (8003d7c <TIM_OC2_SetConfig+0xe4>)
- 8003cc4:      4013            ands    r3, r2
- 8003cc6:      60fb            str     r3, [r7, #12]
+ 8003cf0:      68fa            ldr     r2, [r7, #12]
+ 8003cf2:      4b2e            ldr     r3, [pc, #184]  ; (8003dac <TIM_OC2_SetConfig+0xe4>)
+ 8003cf4:      4013            ands    r3, r2
+ 8003cf6:      60fb            str     r3, [r7, #12]
   tmpccmrx &= ~TIM_CCMR1_CC2S;
- 8003cc8:      68fb            ldr     r3, [r7, #12]
- 8003cca:      f423 7340       bic.w   r3, r3, #768    ; 0x300
- 8003cce:      60fb            str     r3, [r7, #12]
+ 8003cf8:      68fb            ldr     r3, [r7, #12]
+ 8003cfa:      f423 7340       bic.w   r3, r3, #768    ; 0x300
+ 8003cfe:      60fb            str     r3, [r7, #12]
 
   /* Select the Output Compare Mode */
   tmpccmrx |= (OC_Config->OCMode << 8U);
- 8003cd0:      683b            ldr     r3, [r7, #0]
- 8003cd2:      681b            ldr     r3, [r3, #0]
- 8003cd4:      021b            lsls    r3, r3, #8
- 8003cd6:      68fa            ldr     r2, [r7, #12]
- 8003cd8:      4313            orrs    r3, r2
- 8003cda:      60fb            str     r3, [r7, #12]
+ 8003d00:      683b            ldr     r3, [r7, #0]
+ 8003d02:      681b            ldr     r3, [r3, #0]
+ 8003d04:      021b            lsls    r3, r3, #8
+ 8003d06:      68fa            ldr     r2, [r7, #12]
+ 8003d08:      4313            orrs    r3, r2
+ 8003d0a:      60fb            str     r3, [r7, #12]
 
   /* Reset the Output Polarity level */
   tmpccer &= ~TIM_CCER_CC2P;
- 8003cdc:      697b            ldr     r3, [r7, #20]
- 8003cde:      f023 0320       bic.w   r3, r3, #32
- 8003ce2:      617b            str     r3, [r7, #20]
+ 8003d0c:      697b            ldr     r3, [r7, #20]
+ 8003d0e:      f023 0320       bic.w   r3, r3, #32
+ 8003d12:      617b            str     r3, [r7, #20]
   /* Set the Output Compare Polarity */
   tmpccer |= (OC_Config->OCPolarity << 4U);
- 8003ce4:      683b            ldr     r3, [r7, #0]
- 8003ce6:      689b            ldr     r3, [r3, #8]
- 8003ce8:      011b            lsls    r3, r3, #4
- 8003cea:      697a            ldr     r2, [r7, #20]
- 8003cec:      4313            orrs    r3, r2
- 8003cee:      617b            str     r3, [r7, #20]
+ 8003d14:      683b            ldr     r3, [r7, #0]
+ 8003d16:      689b            ldr     r3, [r3, #8]
+ 8003d18:      011b            lsls    r3, r3, #4
+ 8003d1a:      697a            ldr     r2, [r7, #20]
+ 8003d1c:      4313            orrs    r3, r2
+ 8003d1e:      617b            str     r3, [r7, #20]
 
   if (IS_TIM_CCXN_INSTANCE(TIMx, TIM_CHANNEL_2))
- 8003cf0:      687b            ldr     r3, [r7, #4]
- 8003cf2:      4a23            ldr     r2, [pc, #140]  ; (8003d80 <TIM_OC2_SetConfig+0xe8>)
- 8003cf4:      4293            cmp     r3, r2
- 8003cf6:      d003            beq.n   8003d00 <TIM_OC2_SetConfig+0x68>
- 8003cf8:      687b            ldr     r3, [r7, #4]
- 8003cfa:      4a22            ldr     r2, [pc, #136]  ; (8003d84 <TIM_OC2_SetConfig+0xec>)
- 8003cfc:      4293            cmp     r3, r2
- 8003cfe:      d10d            bne.n   8003d1c <TIM_OC2_SetConfig+0x84>
+ 8003d20:      687b            ldr     r3, [r7, #4]
+ 8003d22:      4a23            ldr     r2, [pc, #140]  ; (8003db0 <TIM_OC2_SetConfig+0xe8>)
+ 8003d24:      4293            cmp     r3, r2
+ 8003d26:      d003            beq.n   8003d30 <TIM_OC2_SetConfig+0x68>
+ 8003d28:      687b            ldr     r3, [r7, #4]
+ 8003d2a:      4a22            ldr     r2, [pc, #136]  ; (8003db4 <TIM_OC2_SetConfig+0xec>)
+ 8003d2c:      4293            cmp     r3, r2
+ 8003d2e:      d10d            bne.n   8003d4c <TIM_OC2_SetConfig+0x84>
   {
     assert_param(IS_TIM_OCN_POLARITY(OC_Config->OCNPolarity));
 
     /* Reset the Output N Polarity level */
     tmpccer &= ~TIM_CCER_CC2NP;
- 8003d00:      697b            ldr     r3, [r7, #20]
- 8003d02:      f023 0380       bic.w   r3, r3, #128    ; 0x80
- 8003d06:      617b            str     r3, [r7, #20]
+ 8003d30:      697b            ldr     r3, [r7, #20]
+ 8003d32:      f023 0380       bic.w   r3, r3, #128    ; 0x80
+ 8003d36:      617b            str     r3, [r7, #20]
     /* Set the Output N Polarity */
     tmpccer |= (OC_Config->OCNPolarity << 4U);
- 8003d08:      683b            ldr     r3, [r7, #0]
- 8003d0a:      68db            ldr     r3, [r3, #12]
- 8003d0c:      011b            lsls    r3, r3, #4
- 8003d0e:      697a            ldr     r2, [r7, #20]
- 8003d10:      4313            orrs    r3, r2
- 8003d12:      617b            str     r3, [r7, #20]
+ 8003d38:      683b            ldr     r3, [r7, #0]
+ 8003d3a:      68db            ldr     r3, [r3, #12]
+ 8003d3c:      011b            lsls    r3, r3, #4
+ 8003d3e:      697a            ldr     r2, [r7, #20]
+ 8003d40:      4313            orrs    r3, r2
+ 8003d42:      617b            str     r3, [r7, #20]
     /* Reset the Output N State */
     tmpccer &= ~TIM_CCER_CC2NE;
- 8003d14:      697b            ldr     r3, [r7, #20]
- 8003d16:      f023 0340       bic.w   r3, r3, #64     ; 0x40
- 8003d1a:      617b            str     r3, [r7, #20]
+ 8003d44:      697b            ldr     r3, [r7, #20]
+ 8003d46:      f023 0340       bic.w   r3, r3, #64     ; 0x40
+ 8003d4a:      617b            str     r3, [r7, #20]
 
   }
 
   if (IS_TIM_BREAK_INSTANCE(TIMx))
- 8003d1c:      687b            ldr     r3, [r7, #4]
- 8003d1e:      4a18            ldr     r2, [pc, #96]   ; (8003d80 <TIM_OC2_SetConfig+0xe8>)
- 8003d20:      4293            cmp     r3, r2
- 8003d22:      d003            beq.n   8003d2c <TIM_OC2_SetConfig+0x94>
- 8003d24:      687b            ldr     r3, [r7, #4]
- 8003d26:      4a17            ldr     r2, [pc, #92]   ; (8003d84 <TIM_OC2_SetConfig+0xec>)
- 8003d28:      4293            cmp     r3, r2
- 8003d2a:      d113            bne.n   8003d54 <TIM_OC2_SetConfig+0xbc>
+ 8003d4c:      687b            ldr     r3, [r7, #4]
+ 8003d4e:      4a18            ldr     r2, [pc, #96]   ; (8003db0 <TIM_OC2_SetConfig+0xe8>)
+ 8003d50:      4293            cmp     r3, r2
+ 8003d52:      d003            beq.n   8003d5c <TIM_OC2_SetConfig+0x94>
+ 8003d54:      687b            ldr     r3, [r7, #4]
+ 8003d56:      4a17            ldr     r2, [pc, #92]   ; (8003db4 <TIM_OC2_SetConfig+0xec>)
+ 8003d58:      4293            cmp     r3, r2
+ 8003d5a:      d113            bne.n   8003d84 <TIM_OC2_SetConfig+0xbc>
     /* Check parameters */
     assert_param(IS_TIM_OCNIDLE_STATE(OC_Config->OCNIdleState));
     assert_param(IS_TIM_OCIDLE_STATE(OC_Config->OCIdleState));
 
     /* Reset the Output Compare and Output Compare N IDLE State */
     tmpcr2 &= ~TIM_CR2_OIS2;
- 8003d2c:      693b            ldr     r3, [r7, #16]
- 8003d2e:      f423 6380       bic.w   r3, r3, #1024   ; 0x400
- 8003d32:      613b            str     r3, [r7, #16]
+ 8003d5c:      693b            ldr     r3, [r7, #16]
+ 8003d5e:      f423 6380       bic.w   r3, r3, #1024   ; 0x400
+ 8003d62:      613b            str     r3, [r7, #16]
     tmpcr2 &= ~TIM_CR2_OIS2N;
- 8003d34:      693b            ldr     r3, [r7, #16]
- 8003d36:      f423 6300       bic.w   r3, r3, #2048   ; 0x800
- 8003d3a:      613b            str     r3, [r7, #16]
+ 8003d64:      693b            ldr     r3, [r7, #16]
+ 8003d66:      f423 6300       bic.w   r3, r3, #2048   ; 0x800
+ 8003d6a:      613b            str     r3, [r7, #16]
     /* Set the Output Idle state */
     tmpcr2 |= (OC_Config->OCIdleState << 2U);
- 8003d3c:      683b            ldr     r3, [r7, #0]
- 8003d3e:      695b            ldr     r3, [r3, #20]
- 8003d40:      009b            lsls    r3, r3, #2
- 8003d42:      693a            ldr     r2, [r7, #16]
- 8003d44:      4313            orrs    r3, r2
- 8003d46:      613b            str     r3, [r7, #16]
+ 8003d6c:      683b            ldr     r3, [r7, #0]
+ 8003d6e:      695b            ldr     r3, [r3, #20]
+ 8003d70:      009b            lsls    r3, r3, #2
+ 8003d72:      693a            ldr     r2, [r7, #16]
+ 8003d74:      4313            orrs    r3, r2
+ 8003d76:      613b            str     r3, [r7, #16]
     /* Set the Output N Idle state */
     tmpcr2 |= (OC_Config->OCNIdleState << 2U);
- 8003d48:      683b            ldr     r3, [r7, #0]
- 8003d4a:      699b            ldr     r3, [r3, #24]
- 8003d4c:      009b            lsls    r3, r3, #2
- 8003d4e:      693a            ldr     r2, [r7, #16]
- 8003d50:      4313            orrs    r3, r2
- 8003d52:      613b            str     r3, [r7, #16]
+ 8003d78:      683b            ldr     r3, [r7, #0]
+ 8003d7a:      699b            ldr     r3, [r3, #24]
+ 8003d7c:      009b            lsls    r3, r3, #2
+ 8003d7e:      693a            ldr     r2, [r7, #16]
+ 8003d80:      4313            orrs    r3, r2
+ 8003d82:      613b            str     r3, [r7, #16]
   }
 
   /* Write to TIMx CR2 */
   TIMx->CR2 = tmpcr2;
- 8003d54:      687b            ldr     r3, [r7, #4]
- 8003d56:      693a            ldr     r2, [r7, #16]
- 8003d58:      605a            str     r2, [r3, #4]
+ 8003d84:      687b            ldr     r3, [r7, #4]
+ 8003d86:      693a            ldr     r2, [r7, #16]
+ 8003d88:      605a            str     r2, [r3, #4]
 
   /* Write to TIMx CCMR1 */
   TIMx->CCMR1 = tmpccmrx;
- 8003d5a:      687b            ldr     r3, [r7, #4]
- 8003d5c:      68fa            ldr     r2, [r7, #12]
- 8003d5e:      619a            str     r2, [r3, #24]
+ 8003d8a:      687b            ldr     r3, [r7, #4]
+ 8003d8c:      68fa            ldr     r2, [r7, #12]
+ 8003d8e:      619a            str     r2, [r3, #24]
 
   /* Set the Capture Compare Register value */
   TIMx->CCR2 = OC_Config->Pulse;
- 8003d60:      683b            ldr     r3, [r7, #0]
- 8003d62:      685a            ldr     r2, [r3, #4]
- 8003d64:      687b            ldr     r3, [r7, #4]
- 8003d66:      639a            str     r2, [r3, #56]   ; 0x38
+ 8003d90:      683b            ldr     r3, [r7, #0]
+ 8003d92:      685a            ldr     r2, [r3, #4]
+ 8003d94:      687b            ldr     r3, [r7, #4]
+ 8003d96:      639a            str     r2, [r3, #56]   ; 0x38
 
   /* Write to TIMx CCER */
   TIMx->CCER = tmpccer;
- 8003d68:      687b            ldr     r3, [r7, #4]
- 8003d6a:      697a            ldr     r2, [r7, #20]
- 8003d6c:      621a            str     r2, [r3, #32]
+ 8003d98:      687b            ldr     r3, [r7, #4]
+ 8003d9a:      697a            ldr     r2, [r7, #20]
+ 8003d9c:      621a            str     r2, [r3, #32]
 }
- 8003d6e:      bf00            nop
- 8003d70:      371c            adds    r7, #28
- 8003d72:      46bd            mov     sp, r7
- 8003d74:      f85d 7b04       ldr.w   r7, [sp], #4
- 8003d78:      4770            bx      lr
- 8003d7a:      bf00            nop
- 8003d7c:      feff8fff        .word   0xfeff8fff
- 8003d80:      40010000        .word   0x40010000
- 8003d84:      40010400        .word   0x40010400
-
-08003d88 <TIM_OC3_SetConfig>:
+ 8003d9e:      bf00            nop
+ 8003da0:      371c            adds    r7, #28
+ 8003da2:      46bd            mov     sp, r7
+ 8003da4:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8003da8:      4770            bx      lr
+ 8003daa:      bf00            nop
+ 8003dac:      feff8fff        .word   0xfeff8fff
+ 8003db0:      40010000        .word   0x40010000
+ 8003db4:      40010400        .word   0x40010400
+
+08003db8 <TIM_OC3_SetConfig>:
   * @param  TIMx to select the TIM peripheral
   * @param  OC_Config The ouput configuration structure
   * @retval None
   */
 static void TIM_OC3_SetConfig(TIM_TypeDef *TIMx, TIM_OC_InitTypeDef *OC_Config)
 {
- 8003d88:      b480            push    {r7}
- 8003d8a:      b087            sub     sp, #28
- 8003d8c:      af00            add     r7, sp, #0
- 8003d8e:      6078            str     r0, [r7, #4]
- 8003d90:      6039            str     r1, [r7, #0]
+ 8003db8:      b480            push    {r7}
+ 8003dba:      b087            sub     sp, #28
+ 8003dbc:      af00            add     r7, sp, #0
+ 8003dbe:      6078            str     r0, [r7, #4]
+ 8003dc0:      6039            str     r1, [r7, #0]
   uint32_t tmpccmrx;
   uint32_t tmpccer;
   uint32_t tmpcr2;
 
   /* Disable the Channel 3: Reset the CC2E Bit */
   TIMx->CCER &= ~TIM_CCER_CC3E;
- 8003d92:      687b            ldr     r3, [r7, #4]
- 8003d94:      6a1b            ldr     r3, [r3, #32]
- 8003d96:      f423 7280       bic.w   r2, r3, #256    ; 0x100
- 8003d9a:      687b            ldr     r3, [r7, #4]
- 8003d9c:      621a            str     r2, [r3, #32]
+ 8003dc2:      687b            ldr     r3, [r7, #4]
+ 8003dc4:      6a1b            ldr     r3, [r3, #32]
+ 8003dc6:      f423 7280       bic.w   r2, r3, #256    ; 0x100
+ 8003dca:      687b            ldr     r3, [r7, #4]
+ 8003dcc:      621a            str     r2, [r3, #32]
 
   /* Get the TIMx CCER register value */
   tmpccer = TIMx->CCER;
- 8003d9e:      687b            ldr     r3, [r7, #4]
- 8003da0:      6a1b            ldr     r3, [r3, #32]
- 8003da2:      617b            str     r3, [r7, #20]
+ 8003dce:      687b            ldr     r3, [r7, #4]
+ 8003dd0:      6a1b            ldr     r3, [r3, #32]
+ 8003dd2:      617b            str     r3, [r7, #20]
   /* Get the TIMx CR2 register value */
   tmpcr2 =  TIMx->CR2;
- 8003da4:      687b            ldr     r3, [r7, #4]
- 8003da6:      685b            ldr     r3, [r3, #4]
- 8003da8:      613b            str     r3, [r7, #16]
+ 8003dd4:      687b            ldr     r3, [r7, #4]
+ 8003dd6:      685b            ldr     r3, [r3, #4]
+ 8003dd8:      613b            str     r3, [r7, #16]
 
   /* Get the TIMx CCMR2 register value */
   tmpccmrx = TIMx->CCMR2;
- 8003daa:      687b            ldr     r3, [r7, #4]
- 8003dac:      69db            ldr     r3, [r3, #28]
- 8003dae:      60fb            str     r3, [r7, #12]
+ 8003dda:      687b            ldr     r3, [r7, #4]
+ 8003ddc:      69db            ldr     r3, [r3, #28]
+ 8003dde:      60fb            str     r3, [r7, #12]
 
   /* Reset the Output Compare mode and Capture/Compare selection Bits */
   tmpccmrx &= ~TIM_CCMR2_OC3M;
- 8003db0:      68fa            ldr     r2, [r7, #12]
- 8003db2:      4b2d            ldr     r3, [pc, #180]  ; (8003e68 <TIM_OC3_SetConfig+0xe0>)
- 8003db4:      4013            ands    r3, r2
- 8003db6:      60fb            str     r3, [r7, #12]
+ 8003de0:      68fa            ldr     r2, [r7, #12]
+ 8003de2:      4b2d            ldr     r3, [pc, #180]  ; (8003e98 <TIM_OC3_SetConfig+0xe0>)
+ 8003de4:      4013            ands    r3, r2
+ 8003de6:      60fb            str     r3, [r7, #12]
   tmpccmrx &= ~TIM_CCMR2_CC3S;
- 8003db8:      68fb            ldr     r3, [r7, #12]
- 8003dba:      f023 0303       bic.w   r3, r3, #3
- 8003dbe:      60fb            str     r3, [r7, #12]
+ 8003de8:      68fb            ldr     r3, [r7, #12]
+ 8003dea:      f023 0303       bic.w   r3, r3, #3
+ 8003dee:      60fb            str     r3, [r7, #12]
   /* Select the Output Compare Mode */
   tmpccmrx |= OC_Config->OCMode;
- 8003dc0:      683b            ldr     r3, [r7, #0]
- 8003dc2:      681b            ldr     r3, [r3, #0]
- 8003dc4:      68fa            ldr     r2, [r7, #12]
- 8003dc6:      4313            orrs    r3, r2
- 8003dc8:      60fb            str     r3, [r7, #12]
+ 8003df0:      683b            ldr     r3, [r7, #0]
+ 8003df2:      681b            ldr     r3, [r3, #0]
+ 8003df4:      68fa            ldr     r2, [r7, #12]
+ 8003df6:      4313            orrs    r3, r2
+ 8003df8:      60fb            str     r3, [r7, #12]
 
   /* Reset the Output Polarity level */
   tmpccer &= ~TIM_CCER_CC3P;
- 8003dca:      697b            ldr     r3, [r7, #20]
- 8003dcc:      f423 7300       bic.w   r3, r3, #512    ; 0x200
- 8003dd0:      617b            str     r3, [r7, #20]
+ 8003dfa:      697b            ldr     r3, [r7, #20]
+ 8003dfc:      f423 7300       bic.w   r3, r3, #512    ; 0x200
+ 8003e00:      617b            str     r3, [r7, #20]
   /* Set the Output Compare Polarity */
   tmpccer |= (OC_Config->OCPolarity << 8U);
- 8003dd2:      683b            ldr     r3, [r7, #0]
- 8003dd4:      689b            ldr     r3, [r3, #8]
- 8003dd6:      021b            lsls    r3, r3, #8
- 8003dd8:      697a            ldr     r2, [r7, #20]
- 8003dda:      4313            orrs    r3, r2
- 8003ddc:      617b            str     r3, [r7, #20]
+ 8003e02:      683b            ldr     r3, [r7, #0]
+ 8003e04:      689b            ldr     r3, [r3, #8]
+ 8003e06:      021b            lsls    r3, r3, #8
+ 8003e08:      697a            ldr     r2, [r7, #20]
+ 8003e0a:      4313            orrs    r3, r2
+ 8003e0c:      617b            str     r3, [r7, #20]
 
   if (IS_TIM_CCXN_INSTANCE(TIMx, TIM_CHANNEL_3))
- 8003dde:      687b            ldr     r3, [r7, #4]
- 8003de0:      4a22            ldr     r2, [pc, #136]  ; (8003e6c <TIM_OC3_SetConfig+0xe4>)
- 8003de2:      4293            cmp     r3, r2
- 8003de4:      d003            beq.n   8003dee <TIM_OC3_SetConfig+0x66>
- 8003de6:      687b            ldr     r3, [r7, #4]
- 8003de8:      4a21            ldr     r2, [pc, #132]  ; (8003e70 <TIM_OC3_SetConfig+0xe8>)
- 8003dea:      4293            cmp     r3, r2
- 8003dec:      d10d            bne.n   8003e0a <TIM_OC3_SetConfig+0x82>
+ 8003e0e:      687b            ldr     r3, [r7, #4]
+ 8003e10:      4a22            ldr     r2, [pc, #136]  ; (8003e9c <TIM_OC3_SetConfig+0xe4>)
+ 8003e12:      4293            cmp     r3, r2
+ 8003e14:      d003            beq.n   8003e1e <TIM_OC3_SetConfig+0x66>
+ 8003e16:      687b            ldr     r3, [r7, #4]
+ 8003e18:      4a21            ldr     r2, [pc, #132]  ; (8003ea0 <TIM_OC3_SetConfig+0xe8>)
+ 8003e1a:      4293            cmp     r3, r2
+ 8003e1c:      d10d            bne.n   8003e3a <TIM_OC3_SetConfig+0x82>
   {
     assert_param(IS_TIM_OCN_POLARITY(OC_Config->OCNPolarity));
 
     /* Reset the Output N Polarity level */
     tmpccer &= ~TIM_CCER_CC3NP;
- 8003dee:      697b            ldr     r3, [r7, #20]
- 8003df0:      f423 6300       bic.w   r3, r3, #2048   ; 0x800
- 8003df4:      617b            str     r3, [r7, #20]
+ 8003e1e:      697b            ldr     r3, [r7, #20]
+ 8003e20:      f423 6300       bic.w   r3, r3, #2048   ; 0x800
+ 8003e24:      617b            str     r3, [r7, #20]
     /* Set the Output N Polarity */
     tmpccer |= (OC_Config->OCNPolarity << 8U);
- 8003df6:      683b            ldr     r3, [r7, #0]
- 8003df8:      68db            ldr     r3, [r3, #12]
- 8003dfa:      021b            lsls    r3, r3, #8
- 8003dfc:      697a            ldr     r2, [r7, #20]
- 8003dfe:      4313            orrs    r3, r2
- 8003e00:      617b            str     r3, [r7, #20]
+ 8003e26:      683b            ldr     r3, [r7, #0]
+ 8003e28:      68db            ldr     r3, [r3, #12]
+ 8003e2a:      021b            lsls    r3, r3, #8
+ 8003e2c:      697a            ldr     r2, [r7, #20]
+ 8003e2e:      4313            orrs    r3, r2
+ 8003e30:      617b            str     r3, [r7, #20]
     /* Reset the Output N State */
     tmpccer &= ~TIM_CCER_CC3NE;
- 8003e02:      697b            ldr     r3, [r7, #20]
- 8003e04:      f423 6380       bic.w   r3, r3, #1024   ; 0x400
- 8003e08:      617b            str     r3, [r7, #20]
+ 8003e32:      697b            ldr     r3, [r7, #20]
+ 8003e34:      f423 6380       bic.w   r3, r3, #1024   ; 0x400
+ 8003e38:      617b            str     r3, [r7, #20]
   }
 
   if (IS_TIM_BREAK_INSTANCE(TIMx))
- 8003e0a:      687b            ldr     r3, [r7, #4]
- 8003e0c:      4a17            ldr     r2, [pc, #92]   ; (8003e6c <TIM_OC3_SetConfig+0xe4>)
- 8003e0e:      4293            cmp     r3, r2
- 8003e10:      d003            beq.n   8003e1a <TIM_OC3_SetConfig+0x92>
- 8003e12:      687b            ldr     r3, [r7, #4]
- 8003e14:      4a16            ldr     r2, [pc, #88]   ; (8003e70 <TIM_OC3_SetConfig+0xe8>)
- 8003e16:      4293            cmp     r3, r2
- 8003e18:      d113            bne.n   8003e42 <TIM_OC3_SetConfig+0xba>
+ 8003e3a:      687b            ldr     r3, [r7, #4]
+ 8003e3c:      4a17            ldr     r2, [pc, #92]   ; (8003e9c <TIM_OC3_SetConfig+0xe4>)
+ 8003e3e:      4293            cmp     r3, r2
+ 8003e40:      d003            beq.n   8003e4a <TIM_OC3_SetConfig+0x92>
+ 8003e42:      687b            ldr     r3, [r7, #4]
+ 8003e44:      4a16            ldr     r2, [pc, #88]   ; (8003ea0 <TIM_OC3_SetConfig+0xe8>)
+ 8003e46:      4293            cmp     r3, r2
+ 8003e48:      d113            bne.n   8003e72 <TIM_OC3_SetConfig+0xba>
     /* Check parameters */
     assert_param(IS_TIM_OCNIDLE_STATE(OC_Config->OCNIdleState));
     assert_param(IS_TIM_OCIDLE_STATE(OC_Config->OCIdleState));
 
     /* Reset the Output Compare and Output Compare N IDLE State */
     tmpcr2 &= ~TIM_CR2_OIS3;
- 8003e1a:      693b            ldr     r3, [r7, #16]
- 8003e1c:      f423 5380       bic.w   r3, r3, #4096   ; 0x1000
- 8003e20:      613b            str     r3, [r7, #16]
+ 8003e4a:      693b            ldr     r3, [r7, #16]
+ 8003e4c:      f423 5380       bic.w   r3, r3, #4096   ; 0x1000
+ 8003e50:      613b            str     r3, [r7, #16]
     tmpcr2 &= ~TIM_CR2_OIS3N;
- 8003e22:      693b            ldr     r3, [r7, #16]
- 8003e24:      f423 5300       bic.w   r3, r3, #8192   ; 0x2000
- 8003e28:      613b            str     r3, [r7, #16]
+ 8003e52:      693b            ldr     r3, [r7, #16]
+ 8003e54:      f423 5300       bic.w   r3, r3, #8192   ; 0x2000
+ 8003e58:      613b            str     r3, [r7, #16]
     /* Set the Output Idle state */
     tmpcr2 |= (OC_Config->OCIdleState << 4U);
- 8003e2a:      683b            ldr     r3, [r7, #0]
- 8003e2c:      695b            ldr     r3, [r3, #20]
- 8003e2e:      011b            lsls    r3, r3, #4
- 8003e30:      693a            ldr     r2, [r7, #16]
- 8003e32:      4313            orrs    r3, r2
- 8003e34:      613b            str     r3, [r7, #16]
+ 8003e5a:      683b            ldr     r3, [r7, #0]
+ 8003e5c:      695b            ldr     r3, [r3, #20]
+ 8003e5e:      011b            lsls    r3, r3, #4
+ 8003e60:      693a            ldr     r2, [r7, #16]
+ 8003e62:      4313            orrs    r3, r2
+ 8003e64:      613b            str     r3, [r7, #16]
     /* Set the Output N Idle state */
     tmpcr2 |= (OC_Config->OCNIdleState << 4U);
- 8003e36:      683b            ldr     r3, [r7, #0]
- 8003e38:      699b            ldr     r3, [r3, #24]
- 8003e3a:      011b            lsls    r3, r3, #4
- 8003e3c:      693a            ldr     r2, [r7, #16]
- 8003e3e:      4313            orrs    r3, r2
- 8003e40:      613b            str     r3, [r7, #16]
+ 8003e66:      683b            ldr     r3, [r7, #0]
+ 8003e68:      699b            ldr     r3, [r3, #24]
+ 8003e6a:      011b            lsls    r3, r3, #4
+ 8003e6c:      693a            ldr     r2, [r7, #16]
+ 8003e6e:      4313            orrs    r3, r2
+ 8003e70:      613b            str     r3, [r7, #16]
   }
 
   /* Write to TIMx CR2 */
   TIMx->CR2 = tmpcr2;
- 8003e42:      687b            ldr     r3, [r7, #4]
- 8003e44:      693a            ldr     r2, [r7, #16]
- 8003e46:      605a            str     r2, [r3, #4]
+ 8003e72:      687b            ldr     r3, [r7, #4]
+ 8003e74:      693a            ldr     r2, [r7, #16]
+ 8003e76:      605a            str     r2, [r3, #4]
 
   /* Write to TIMx CCMR2 */
   TIMx->CCMR2 = tmpccmrx;
- 8003e48:      687b            ldr     r3, [r7, #4]
- 8003e4a:      68fa            ldr     r2, [r7, #12]
- 8003e4c:      61da            str     r2, [r3, #28]
+ 8003e78:      687b            ldr     r3, [r7, #4]
+ 8003e7a:      68fa            ldr     r2, [r7, #12]
+ 8003e7c:      61da            str     r2, [r3, #28]
 
   /* Set the Capture Compare Register value */
   TIMx->CCR3 = OC_Config->Pulse;
- 8003e4e:      683b            ldr     r3, [r7, #0]
- 8003e50:      685a            ldr     r2, [r3, #4]
- 8003e52:      687b            ldr     r3, [r7, #4]
- 8003e54:      63da            str     r2, [r3, #60]   ; 0x3c
+ 8003e7e:      683b            ldr     r3, [r7, #0]
+ 8003e80:      685a            ldr     r2, [r3, #4]
+ 8003e82:      687b            ldr     r3, [r7, #4]
+ 8003e84:      63da            str     r2, [r3, #60]   ; 0x3c
 
   /* Write to TIMx CCER */
   TIMx->CCER = tmpccer;
- 8003e56:      687b            ldr     r3, [r7, #4]
- 8003e58:      697a            ldr     r2, [r7, #20]
- 8003e5a:      621a            str     r2, [r3, #32]
+ 8003e86:      687b            ldr     r3, [r7, #4]
+ 8003e88:      697a            ldr     r2, [r7, #20]
+ 8003e8a:      621a            str     r2, [r3, #32]
 }
- 8003e5c:      bf00            nop
- 8003e5e:      371c            adds    r7, #28
- 8003e60:      46bd            mov     sp, r7
- 8003e62:      f85d 7b04       ldr.w   r7, [sp], #4
- 8003e66:      4770            bx      lr
- 8003e68:      fffeff8f        .word   0xfffeff8f
- 8003e6c:      40010000        .word   0x40010000
- 8003e70:      40010400        .word   0x40010400
-
-08003e74 <TIM_OC4_SetConfig>:
+ 8003e8c:      bf00            nop
+ 8003e8e:      371c            adds    r7, #28
+ 8003e90:      46bd            mov     sp, r7
+ 8003e92:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8003e96:      4770            bx      lr
+ 8003e98:      fffeff8f        .word   0xfffeff8f
+ 8003e9c:      40010000        .word   0x40010000
+ 8003ea0:      40010400        .word   0x40010400
+
+08003ea4 <TIM_OC4_SetConfig>:
   * @param  TIMx to select the TIM peripheral
   * @param  OC_Config The ouput configuration structure
   * @retval None
   */
 static void TIM_OC4_SetConfig(TIM_TypeDef *TIMx, TIM_OC_InitTypeDef *OC_Config)
 {
- 8003e74:      b480            push    {r7}
- 8003e76:      b087            sub     sp, #28
- 8003e78:      af00            add     r7, sp, #0
- 8003e7a:      6078            str     r0, [r7, #4]
- 8003e7c:      6039            str     r1, [r7, #0]
+ 8003ea4:      b480            push    {r7}
+ 8003ea6:      b087            sub     sp, #28
+ 8003ea8:      af00            add     r7, sp, #0
+ 8003eaa:      6078            str     r0, [r7, #4]
+ 8003eac:      6039            str     r1, [r7, #0]
   uint32_t tmpccmrx;
   uint32_t tmpccer;
   uint32_t tmpcr2;
 
   /* Disable the Channel 4: Reset the CC4E Bit */
   TIMx->CCER &= ~TIM_CCER_CC4E;
- 8003e7e:      687b            ldr     r3, [r7, #4]
- 8003e80:      6a1b            ldr     r3, [r3, #32]
- 8003e82:      f423 5280       bic.w   r2, r3, #4096   ; 0x1000
- 8003e86:      687b            ldr     r3, [r7, #4]
- 8003e88:      621a            str     r2, [r3, #32]
+ 8003eae:      687b            ldr     r3, [r7, #4]
+ 8003eb0:      6a1b            ldr     r3, [r3, #32]
+ 8003eb2:      f423 5280       bic.w   r2, r3, #4096   ; 0x1000
+ 8003eb6:      687b            ldr     r3, [r7, #4]
+ 8003eb8:      621a            str     r2, [r3, #32]
 
   /* Get the TIMx CCER register value */
   tmpccer = TIMx->CCER;
- 8003e8a:      687b            ldr     r3, [r7, #4]
- 8003e8c:      6a1b            ldr     r3, [r3, #32]
- 8003e8e:      613b            str     r3, [r7, #16]
+ 8003eba:      687b            ldr     r3, [r7, #4]
+ 8003ebc:      6a1b            ldr     r3, [r3, #32]
+ 8003ebe:      613b            str     r3, [r7, #16]
   /* Get the TIMx CR2 register value */
   tmpcr2 =  TIMx->CR2;
- 8003e90:      687b            ldr     r3, [r7, #4]
- 8003e92:      685b            ldr     r3, [r3, #4]
- 8003e94:      617b            str     r3, [r7, #20]
+ 8003ec0:      687b            ldr     r3, [r7, #4]
+ 8003ec2:      685b            ldr     r3, [r3, #4]
+ 8003ec4:      617b            str     r3, [r7, #20]
 
   /* Get the TIMx CCMR2 register value */
   tmpccmrx = TIMx->CCMR2;
- 8003e96:      687b            ldr     r3, [r7, #4]
- 8003e98:      69db            ldr     r3, [r3, #28]
- 8003e9a:      60fb            str     r3, [r7, #12]
+ 8003ec6:      687b            ldr     r3, [r7, #4]
+ 8003ec8:      69db            ldr     r3, [r3, #28]
+ 8003eca:      60fb            str     r3, [r7, #12]
 
   /* Reset the Output Compare mode and Capture/Compare selection Bits */
   tmpccmrx &= ~TIM_CCMR2_OC4M;
- 8003e9c:      68fa            ldr     r2, [r7, #12]
- 8003e9e:      4b1e            ldr     r3, [pc, #120]  ; (8003f18 <TIM_OC4_SetConfig+0xa4>)
- 8003ea0:      4013            ands    r3, r2
- 8003ea2:      60fb            str     r3, [r7, #12]
+ 8003ecc:      68fa            ldr     r2, [r7, #12]
+ 8003ece:      4b1e            ldr     r3, [pc, #120]  ; (8003f48 <TIM_OC4_SetConfig+0xa4>)
+ 8003ed0:      4013            ands    r3, r2
+ 8003ed2:      60fb            str     r3, [r7, #12]
   tmpccmrx &= ~TIM_CCMR2_CC4S;
- 8003ea4:      68fb            ldr     r3, [r7, #12]
- 8003ea6:      f423 7340       bic.w   r3, r3, #768    ; 0x300
- 8003eaa:      60fb            str     r3, [r7, #12]
+ 8003ed4:      68fb            ldr     r3, [r7, #12]
+ 8003ed6:      f423 7340       bic.w   r3, r3, #768    ; 0x300
+ 8003eda:      60fb            str     r3, [r7, #12]
 
   /* Select the Output Compare Mode */
   tmpccmrx |= (OC_Config->OCMode << 8U);
- 8003eac:      683b            ldr     r3, [r7, #0]
- 8003eae:      681b            ldr     r3, [r3, #0]
- 8003eb0:      021b            lsls    r3, r3, #8
- 8003eb2:      68fa            ldr     r2, [r7, #12]
- 8003eb4:      4313            orrs    r3, r2
- 8003eb6:      60fb            str     r3, [r7, #12]
+ 8003edc:      683b            ldr     r3, [r7, #0]
+ 8003ede:      681b            ldr     r3, [r3, #0]
+ 8003ee0:      021b            lsls    r3, r3, #8
+ 8003ee2:      68fa            ldr     r2, [r7, #12]
+ 8003ee4:      4313            orrs    r3, r2
+ 8003ee6:      60fb            str     r3, [r7, #12]
 
   /* Reset the Output Polarity level */
   tmpccer &= ~TIM_CCER_CC4P;
- 8003eb8:      693b            ldr     r3, [r7, #16]
- 8003eba:      f423 5300       bic.w   r3, r3, #8192   ; 0x2000
- 8003ebe:      613b            str     r3, [r7, #16]
+ 8003ee8:      693b            ldr     r3, [r7, #16]
+ 8003eea:      f423 5300       bic.w   r3, r3, #8192   ; 0x2000
+ 8003eee:      613b            str     r3, [r7, #16]
   /* Set the Output Compare Polarity */
   tmpccer |= (OC_Config->OCPolarity << 12U);
- 8003ec0:      683b            ldr     r3, [r7, #0]
- 8003ec2:      689b            ldr     r3, [r3, #8]
- 8003ec4:      031b            lsls    r3, r3, #12
- 8003ec6:      693a            ldr     r2, [r7, #16]
- 8003ec8:      4313            orrs    r3, r2
- 8003eca:      613b            str     r3, [r7, #16]
+ 8003ef0:      683b            ldr     r3, [r7, #0]
+ 8003ef2:      689b            ldr     r3, [r3, #8]
+ 8003ef4:      031b            lsls    r3, r3, #12
+ 8003ef6:      693a            ldr     r2, [r7, #16]
+ 8003ef8:      4313            orrs    r3, r2
+ 8003efa:      613b            str     r3, [r7, #16]
 
   if (IS_TIM_BREAK_INSTANCE(TIMx))
- 8003ecc:      687b            ldr     r3, [r7, #4]
- 8003ece:      4a13            ldr     r2, [pc, #76]   ; (8003f1c <TIM_OC4_SetConfig+0xa8>)
- 8003ed0:      4293            cmp     r3, r2
- 8003ed2:      d003            beq.n   8003edc <TIM_OC4_SetConfig+0x68>
- 8003ed4:      687b            ldr     r3, [r7, #4]
- 8003ed6:      4a12            ldr     r2, [pc, #72]   ; (8003f20 <TIM_OC4_SetConfig+0xac>)
- 8003ed8:      4293            cmp     r3, r2
- 8003eda:      d109            bne.n   8003ef0 <TIM_OC4_SetConfig+0x7c>
+ 8003efc:      687b            ldr     r3, [r7, #4]
+ 8003efe:      4a13            ldr     r2, [pc, #76]   ; (8003f4c <TIM_OC4_SetConfig+0xa8>)
+ 8003f00:      4293            cmp     r3, r2
+ 8003f02:      d003            beq.n   8003f0c <TIM_OC4_SetConfig+0x68>
+ 8003f04:      687b            ldr     r3, [r7, #4]
+ 8003f06:      4a12            ldr     r2, [pc, #72]   ; (8003f50 <TIM_OC4_SetConfig+0xac>)
+ 8003f08:      4293            cmp     r3, r2
+ 8003f0a:      d109            bne.n   8003f20 <TIM_OC4_SetConfig+0x7c>
   {
     /* Check parameters */
     assert_param(IS_TIM_OCIDLE_STATE(OC_Config->OCIdleState));
 
     /* Reset the Output Compare IDLE State */
     tmpcr2 &= ~TIM_CR2_OIS4;
- 8003edc:      697b            ldr     r3, [r7, #20]
- 8003ede:      f423 4380       bic.w   r3, r3, #16384  ; 0x4000
- 8003ee2:      617b            str     r3, [r7, #20]
+ 8003f0c:      697b            ldr     r3, [r7, #20]
+ 8003f0e:      f423 4380       bic.w   r3, r3, #16384  ; 0x4000
+ 8003f12:      617b            str     r3, [r7, #20]
 
     /* Set the Output Idle state */
     tmpcr2 |= (OC_Config->OCIdleState << 6U);
- 8003ee4:      683b            ldr     r3, [r7, #0]
- 8003ee6:      695b            ldr     r3, [r3, #20]
- 8003ee8:      019b            lsls    r3, r3, #6
- 8003eea:      697a            ldr     r2, [r7, #20]
- 8003eec:      4313            orrs    r3, r2
- 8003eee:      617b            str     r3, [r7, #20]
+ 8003f14:      683b            ldr     r3, [r7, #0]
+ 8003f16:      695b            ldr     r3, [r3, #20]
+ 8003f18:      019b            lsls    r3, r3, #6
+ 8003f1a:      697a            ldr     r2, [r7, #20]
+ 8003f1c:      4313            orrs    r3, r2
+ 8003f1e:      617b            str     r3, [r7, #20]
   }
 
   /* Write to TIMx CR2 */
   TIMx->CR2 = tmpcr2;
- 8003ef0:      687b            ldr     r3, [r7, #4]
- 8003ef2:      697a            ldr     r2, [r7, #20]
- 8003ef4:      605a            str     r2, [r3, #4]
+ 8003f20:      687b            ldr     r3, [r7, #4]
+ 8003f22:      697a            ldr     r2, [r7, #20]
+ 8003f24:      605a            str     r2, [r3, #4]
 
   /* Write to TIMx CCMR2 */
   TIMx->CCMR2 = tmpccmrx;
- 8003ef6:      687b            ldr     r3, [r7, #4]
- 8003ef8:      68fa            ldr     r2, [r7, #12]
- 8003efa:      61da            str     r2, [r3, #28]
+ 8003f26:      687b            ldr     r3, [r7, #4]
+ 8003f28:      68fa            ldr     r2, [r7, #12]
+ 8003f2a:      61da            str     r2, [r3, #28]
 
   /* Set the Capture Compare Register value */
   TIMx->CCR4 = OC_Config->Pulse;
- 8003efc:      683b            ldr     r3, [r7, #0]
- 8003efe:      685a            ldr     r2, [r3, #4]
- 8003f00:      687b            ldr     r3, [r7, #4]
- 8003f02:      641a            str     r2, [r3, #64]   ; 0x40
+ 8003f2c:      683b            ldr     r3, [r7, #0]
+ 8003f2e:      685a            ldr     r2, [r3, #4]
+ 8003f30:      687b            ldr     r3, [r7, #4]
+ 8003f32:      641a            str     r2, [r3, #64]   ; 0x40
 
   /* Write to TIMx CCER */
   TIMx->CCER = tmpccer;
- 8003f04:      687b            ldr     r3, [r7, #4]
- 8003f06:      693a            ldr     r2, [r7, #16]
- 8003f08:      621a            str     r2, [r3, #32]
+ 8003f34:      687b            ldr     r3, [r7, #4]
+ 8003f36:      693a            ldr     r2, [r7, #16]
+ 8003f38:      621a            str     r2, [r3, #32]
 }
- 8003f0a:      bf00            nop
- 8003f0c:      371c            adds    r7, #28
- 8003f0e:      46bd            mov     sp, r7
- 8003f10:      f85d 7b04       ldr.w   r7, [sp], #4
- 8003f14:      4770            bx      lr
- 8003f16:      bf00            nop
- 8003f18:      feff8fff        .word   0xfeff8fff
- 8003f1c:      40010000        .word   0x40010000
- 8003f20:      40010400        .word   0x40010400
-
-08003f24 <TIM_OC5_SetConfig>:
+ 8003f3a:      bf00            nop
+ 8003f3c:      371c            adds    r7, #28
+ 8003f3e:      46bd            mov     sp, r7
+ 8003f40:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8003f44:      4770            bx      lr
+ 8003f46:      bf00            nop
+ 8003f48:      feff8fff        .word   0xfeff8fff
+ 8003f4c:      40010000        .word   0x40010000
+ 8003f50:      40010400        .word   0x40010400
+
+08003f54 <TIM_OC5_SetConfig>:
   * @param  OC_Config The ouput configuration structure
   * @retval None
   */
 static void TIM_OC5_SetConfig(TIM_TypeDef *TIMx,
                               TIM_OC_InitTypeDef *OC_Config)
 {
- 8003f24:      b480            push    {r7}
- 8003f26:      b087            sub     sp, #28
- 8003f28:      af00            add     r7, sp, #0
- 8003f2a:      6078            str     r0, [r7, #4]
- 8003f2c:      6039            str     r1, [r7, #0]
+ 8003f54:      b480            push    {r7}
+ 8003f56:      b087            sub     sp, #28
+ 8003f58:      af00            add     r7, sp, #0
+ 8003f5a:      6078            str     r0, [r7, #4]
+ 8003f5c:      6039            str     r1, [r7, #0]
   uint32_t tmpccmrx;
   uint32_t tmpccer;
   uint32_t tmpcr2;
 
   /* Disable the output: Reset the CCxE Bit */
   TIMx->CCER &= ~TIM_CCER_CC5E;
- 8003f2e:      687b            ldr     r3, [r7, #4]
- 8003f30:      6a1b            ldr     r3, [r3, #32]
- 8003f32:      f423 3280       bic.w   r2, r3, #65536  ; 0x10000
- 8003f36:      687b            ldr     r3, [r7, #4]
- 8003f38:      621a            str     r2, [r3, #32]
+ 8003f5e:      687b            ldr     r3, [r7, #4]
+ 8003f60:      6a1b            ldr     r3, [r3, #32]
+ 8003f62:      f423 3280       bic.w   r2, r3, #65536  ; 0x10000
+ 8003f66:      687b            ldr     r3, [r7, #4]
+ 8003f68:      621a            str     r2, [r3, #32]
 
   /* Get the TIMx CCER register value */
   tmpccer = TIMx->CCER;
- 8003f3a:      687b            ldr     r3, [r7, #4]
- 8003f3c:      6a1b            ldr     r3, [r3, #32]
- 8003f3e:      613b            str     r3, [r7, #16]
+ 8003f6a:      687b            ldr     r3, [r7, #4]
+ 8003f6c:      6a1b            ldr     r3, [r3, #32]
+ 8003f6e:      613b            str     r3, [r7, #16]
   /* Get the TIMx CR2 register value */
   tmpcr2 =  TIMx->CR2;
- 8003f40:      687b            ldr     r3, [r7, #4]
- 8003f42:      685b            ldr     r3, [r3, #4]
- 8003f44:      617b            str     r3, [r7, #20]
+ 8003f70:      687b            ldr     r3, [r7, #4]
+ 8003f72:      685b            ldr     r3, [r3, #4]
+ 8003f74:      617b            str     r3, [r7, #20]
   /* Get the TIMx CCMR1 register value */
   tmpccmrx = TIMx->CCMR3;
- 8003f46:      687b            ldr     r3, [r7, #4]
- 8003f48:      6d5b            ldr     r3, [r3, #84]   ; 0x54
- 8003f4a:      60fb            str     r3, [r7, #12]
+ 8003f76:      687b            ldr     r3, [r7, #4]
+ 8003f78:      6d5b            ldr     r3, [r3, #84]   ; 0x54
+ 8003f7a:      60fb            str     r3, [r7, #12]
 
   /* Reset the Output Compare Mode Bits */
   tmpccmrx &= ~(TIM_CCMR3_OC5M);
- 8003f4c:      68fa            ldr     r2, [r7, #12]
- 8003f4e:      4b1b            ldr     r3, [pc, #108]  ; (8003fbc <TIM_OC5_SetConfig+0x98>)
- 8003f50:      4013            ands    r3, r2
- 8003f52:      60fb            str     r3, [r7, #12]
+ 8003f7c:      68fa            ldr     r2, [r7, #12]
+ 8003f7e:      4b1b            ldr     r3, [pc, #108]  ; (8003fec <TIM_OC5_SetConfig+0x98>)
+ 8003f80:      4013            ands    r3, r2
+ 8003f82:      60fb            str     r3, [r7, #12]
   /* Select the Output Compare Mode */
   tmpccmrx |= OC_Config->OCMode;
- 8003f54:      683b            ldr     r3, [r7, #0]
- 8003f56:      681b            ldr     r3, [r3, #0]
- 8003f58:      68fa            ldr     r2, [r7, #12]
- 8003f5a:      4313            orrs    r3, r2
- 8003f5c:      60fb            str     r3, [r7, #12]
+ 8003f84:      683b            ldr     r3, [r7, #0]
+ 8003f86:      681b            ldr     r3, [r3, #0]
+ 8003f88:      68fa            ldr     r2, [r7, #12]
+ 8003f8a:      4313            orrs    r3, r2
+ 8003f8c:      60fb            str     r3, [r7, #12]
 
   /* Reset the Output Polarity level */
   tmpccer &= ~TIM_CCER_CC5P;
- 8003f5e:      693b            ldr     r3, [r7, #16]
- 8003f60:      f423 3300       bic.w   r3, r3, #131072 ; 0x20000
- 8003f64:      613b            str     r3, [r7, #16]
+ 8003f8e:      693b            ldr     r3, [r7, #16]
+ 8003f90:      f423 3300       bic.w   r3, r3, #131072 ; 0x20000
+ 8003f94:      613b            str     r3, [r7, #16]
   /* Set the Output Compare Polarity */
   tmpccer |= (OC_Config->OCPolarity << 16U);
- 8003f66:      683b            ldr     r3, [r7, #0]
- 8003f68:      689b            ldr     r3, [r3, #8]
- 8003f6a:      041b            lsls    r3, r3, #16
- 8003f6c:      693a            ldr     r2, [r7, #16]
- 8003f6e:      4313            orrs    r3, r2
- 8003f70:      613b            str     r3, [r7, #16]
+ 8003f96:      683b            ldr     r3, [r7, #0]
+ 8003f98:      689b            ldr     r3, [r3, #8]
+ 8003f9a:      041b            lsls    r3, r3, #16
+ 8003f9c:      693a            ldr     r2, [r7, #16]
+ 8003f9e:      4313            orrs    r3, r2
+ 8003fa0:      613b            str     r3, [r7, #16]
 
   if (IS_TIM_BREAK_INSTANCE(TIMx))
- 8003f72:      687b            ldr     r3, [r7, #4]
- 8003f74:      4a12            ldr     r2, [pc, #72]   ; (8003fc0 <TIM_OC5_SetConfig+0x9c>)
- 8003f76:      4293            cmp     r3, r2
- 8003f78:      d003            beq.n   8003f82 <TIM_OC5_SetConfig+0x5e>
- 8003f7a:      687b            ldr     r3, [r7, #4]
- 8003f7c:      4a11            ldr     r2, [pc, #68]   ; (8003fc4 <TIM_OC5_SetConfig+0xa0>)
- 8003f7e:      4293            cmp     r3, r2
- 8003f80:      d109            bne.n   8003f96 <TIM_OC5_SetConfig+0x72>
+ 8003fa2:      687b            ldr     r3, [r7, #4]
+ 8003fa4:      4a12            ldr     r2, [pc, #72]   ; (8003ff0 <TIM_OC5_SetConfig+0x9c>)
+ 8003fa6:      4293            cmp     r3, r2
+ 8003fa8:      d003            beq.n   8003fb2 <TIM_OC5_SetConfig+0x5e>
+ 8003faa:      687b            ldr     r3, [r7, #4]
+ 8003fac:      4a11            ldr     r2, [pc, #68]   ; (8003ff4 <TIM_OC5_SetConfig+0xa0>)
+ 8003fae:      4293            cmp     r3, r2
+ 8003fb0:      d109            bne.n   8003fc6 <TIM_OC5_SetConfig+0x72>
   {
     /* Reset the Output Compare IDLE State */
     tmpcr2 &= ~TIM_CR2_OIS5;
- 8003f82:      697b            ldr     r3, [r7, #20]
- 8003f84:      f423 3380       bic.w   r3, r3, #65536  ; 0x10000
- 8003f88:      617b            str     r3, [r7, #20]
+ 8003fb2:      697b            ldr     r3, [r7, #20]
+ 8003fb4:      f423 3380       bic.w   r3, r3, #65536  ; 0x10000
+ 8003fb8:      617b            str     r3, [r7, #20]
     /* Set the Output Idle state */
     tmpcr2 |= (OC_Config->OCIdleState << 8U);
- 8003f8a:      683b            ldr     r3, [r7, #0]
- 8003f8c:      695b            ldr     r3, [r3, #20]
- 8003f8e:      021b            lsls    r3, r3, #8
- 8003f90:      697a            ldr     r2, [r7, #20]
- 8003f92:      4313            orrs    r3, r2
- 8003f94:      617b            str     r3, [r7, #20]
+ 8003fba:      683b            ldr     r3, [r7, #0]
+ 8003fbc:      695b            ldr     r3, [r3, #20]
+ 8003fbe:      021b            lsls    r3, r3, #8
+ 8003fc0:      697a            ldr     r2, [r7, #20]
+ 8003fc2:      4313            orrs    r3, r2
+ 8003fc4:      617b            str     r3, [r7, #20]
   }
   /* Write to TIMx CR2 */
   TIMx->CR2 = tmpcr2;
- 8003f96:      687b            ldr     r3, [r7, #4]
- 8003f98:      697a            ldr     r2, [r7, #20]
- 8003f9a:      605a            str     r2, [r3, #4]
+ 8003fc6:      687b            ldr     r3, [r7, #4]
+ 8003fc8:      697a            ldr     r2, [r7, #20]
+ 8003fca:      605a            str     r2, [r3, #4]
 
   /* Write to TIMx CCMR3 */
   TIMx->CCMR3 = tmpccmrx;
- 8003f9c:      687b            ldr     r3, [r7, #4]
- 8003f9e:      68fa            ldr     r2, [r7, #12]
- 8003fa0:      655a            str     r2, [r3, #84]   ; 0x54
+ 8003fcc:      687b            ldr     r3, [r7, #4]
+ 8003fce:      68fa            ldr     r2, [r7, #12]
+ 8003fd0:      655a            str     r2, [r3, #84]   ; 0x54
 
   /* Set the Capture Compare Register value */
   TIMx->CCR5 = OC_Config->Pulse;
- 8003fa2:      683b            ldr     r3, [r7, #0]
- 8003fa4:      685a            ldr     r2, [r3, #4]
- 8003fa6:      687b            ldr     r3, [r7, #4]
- 8003fa8:      659a            str     r2, [r3, #88]   ; 0x58
+ 8003fd2:      683b            ldr     r3, [r7, #0]
+ 8003fd4:      685a            ldr     r2, [r3, #4]
+ 8003fd6:      687b            ldr     r3, [r7, #4]
+ 8003fd8:      659a            str     r2, [r3, #88]   ; 0x58
 
   /* Write to TIMx CCER */
   TIMx->CCER = tmpccer;
- 8003faa:      687b            ldr     r3, [r7, #4]
- 8003fac:      693a            ldr     r2, [r7, #16]
- 8003fae:      621a            str     r2, [r3, #32]
+ 8003fda:      687b            ldr     r3, [r7, #4]
+ 8003fdc:      693a            ldr     r2, [r7, #16]
+ 8003fde:      621a            str     r2, [r3, #32]
 }
- 8003fb0:      bf00            nop
- 8003fb2:      371c            adds    r7, #28
- 8003fb4:      46bd            mov     sp, r7
- 8003fb6:      f85d 7b04       ldr.w   r7, [sp], #4
- 8003fba:      4770            bx      lr
- 8003fbc:      fffeff8f        .word   0xfffeff8f
- 8003fc0:      40010000        .word   0x40010000
- 8003fc4:      40010400        .word   0x40010400
-
-08003fc8 <TIM_OC6_SetConfig>:
+ 8003fe0:      bf00            nop
+ 8003fe2:      371c            adds    r7, #28
+ 8003fe4:      46bd            mov     sp, r7
+ 8003fe6:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8003fea:      4770            bx      lr
+ 8003fec:      fffeff8f        .word   0xfffeff8f
+ 8003ff0:      40010000        .word   0x40010000
+ 8003ff4:      40010400        .word   0x40010400
+
+08003ff8 <TIM_OC6_SetConfig>:
   * @param  OC_Config The ouput configuration structure
   * @retval None
   */
 static void TIM_OC6_SetConfig(TIM_TypeDef *TIMx,
                               TIM_OC_InitTypeDef *OC_Config)
 {
- 8003fc8:      b480            push    {r7}
- 8003fca:      b087            sub     sp, #28
- 8003fcc:      af00            add     r7, sp, #0
- 8003fce:      6078            str     r0, [r7, #4]
- 8003fd0:      6039            str     r1, [r7, #0]
+ 8003ff8:      b480            push    {r7}
+ 8003ffa:      b087            sub     sp, #28
+ 8003ffc:      af00            add     r7, sp, #0
+ 8003ffe:      6078            str     r0, [r7, #4]
+ 8004000:      6039            str     r1, [r7, #0]
   uint32_t tmpccmrx;
   uint32_t tmpccer;
   uint32_t tmpcr2;
 
   /* Disable the output: Reset the CCxE Bit */
   TIMx->CCER &= ~TIM_CCER_CC6E;
- 8003fd2:      687b            ldr     r3, [r7, #4]
- 8003fd4:      6a1b            ldr     r3, [r3, #32]
- 8003fd6:      f423 1280       bic.w   r2, r3, #1048576        ; 0x100000
- 8003fda:      687b            ldr     r3, [r7, #4]
- 8003fdc:      621a            str     r2, [r3, #32]
+ 8004002:      687b            ldr     r3, [r7, #4]
+ 8004004:      6a1b            ldr     r3, [r3, #32]
+ 8004006:      f423 1280       bic.w   r2, r3, #1048576        ; 0x100000
+ 800400a:      687b            ldr     r3, [r7, #4]
+ 800400c:      621a            str     r2, [r3, #32]
 
   /* Get the TIMx CCER register value */
   tmpccer = TIMx->CCER;
- 8003fde:      687b            ldr     r3, [r7, #4]
- 8003fe0:      6a1b            ldr     r3, [r3, #32]
- 8003fe2:      613b            str     r3, [r7, #16]
+ 800400e:      687b            ldr     r3, [r7, #4]
+ 8004010:      6a1b            ldr     r3, [r3, #32]
+ 8004012:      613b            str     r3, [r7, #16]
   /* Get the TIMx CR2 register value */
   tmpcr2 =  TIMx->CR2;
- 8003fe4:      687b            ldr     r3, [r7, #4]
- 8003fe6:      685b            ldr     r3, [r3, #4]
- 8003fe8:      617b            str     r3, [r7, #20]
+ 8004014:      687b            ldr     r3, [r7, #4]
+ 8004016:      685b            ldr     r3, [r3, #4]
+ 8004018:      617b            str     r3, [r7, #20]
   /* Get the TIMx CCMR1 register value */
   tmpccmrx = TIMx->CCMR3;
- 8003fea:      687b            ldr     r3, [r7, #4]
- 8003fec:      6d5b            ldr     r3, [r3, #84]   ; 0x54
- 8003fee:      60fb            str     r3, [r7, #12]
+ 800401a:      687b            ldr     r3, [r7, #4]
+ 800401c:      6d5b            ldr     r3, [r3, #84]   ; 0x54
+ 800401e:      60fb            str     r3, [r7, #12]
 
   /* Reset the Output Compare Mode Bits */
   tmpccmrx &= ~(TIM_CCMR3_OC6M);
- 8003ff0:      68fa            ldr     r2, [r7, #12]
- 8003ff2:      4b1c            ldr     r3, [pc, #112]  ; (8004064 <TIM_OC6_SetConfig+0x9c>)
- 8003ff4:      4013            ands    r3, r2
- 8003ff6:      60fb            str     r3, [r7, #12]
+ 8004020:      68fa            ldr     r2, [r7, #12]
+ 8004022:      4b1c            ldr     r3, [pc, #112]  ; (8004094 <TIM_OC6_SetConfig+0x9c>)
+ 8004024:      4013            ands    r3, r2
+ 8004026:      60fb            str     r3, [r7, #12]
   /* Select the Output Compare Mode */
   tmpccmrx |= (OC_Config->OCMode << 8U);
- 8003ff8:      683b            ldr     r3, [r7, #0]
- 8003ffa:      681b            ldr     r3, [r3, #0]
- 8003ffc:      021b            lsls    r3, r3, #8
- 8003ffe:      68fa            ldr     r2, [r7, #12]
- 8004000:      4313            orrs    r3, r2
- 8004002:      60fb            str     r3, [r7, #12]
+ 8004028:      683b            ldr     r3, [r7, #0]
+ 800402a:      681b            ldr     r3, [r3, #0]
+ 800402c:      021b            lsls    r3, r3, #8
+ 800402e:      68fa            ldr     r2, [r7, #12]
+ 8004030:      4313            orrs    r3, r2
+ 8004032:      60fb            str     r3, [r7, #12]
 
   /* Reset the Output Polarity level */
   tmpccer &= (uint32_t)~TIM_CCER_CC6P;
- 8004004:      693b            ldr     r3, [r7, #16]
- 8004006:      f423 1300       bic.w   r3, r3, #2097152        ; 0x200000
- 800400a:      613b            str     r3, [r7, #16]
+ 8004034:      693b            ldr     r3, [r7, #16]
+ 8004036:      f423 1300       bic.w   r3, r3, #2097152        ; 0x200000
+ 800403a:      613b            str     r3, [r7, #16]
   /* Set the Output Compare Polarity */
   tmpccer |= (OC_Config->OCPolarity << 20U);
- 800400c:      683b            ldr     r3, [r7, #0]
- 800400e:      689b            ldr     r3, [r3, #8]
- 8004010:      051b            lsls    r3, r3, #20
- 8004012:      693a            ldr     r2, [r7, #16]
- 8004014:      4313            orrs    r3, r2
- 8004016:      613b            str     r3, [r7, #16]
+ 800403c:      683b            ldr     r3, [r7, #0]
+ 800403e:      689b            ldr     r3, [r3, #8]
+ 8004040:      051b            lsls    r3, r3, #20
+ 8004042:      693a            ldr     r2, [r7, #16]
+ 8004044:      4313            orrs    r3, r2
+ 8004046:      613b            str     r3, [r7, #16]
 
   if (IS_TIM_BREAK_INSTANCE(TIMx))
- 8004018:      687b            ldr     r3, [r7, #4]
- 800401a:      4a13            ldr     r2, [pc, #76]   ; (8004068 <TIM_OC6_SetConfig+0xa0>)
- 800401c:      4293            cmp     r3, r2
- 800401e:      d003            beq.n   8004028 <TIM_OC6_SetConfig+0x60>
- 8004020:      687b            ldr     r3, [r7, #4]
- 8004022:      4a12            ldr     r2, [pc, #72]   ; (800406c <TIM_OC6_SetConfig+0xa4>)
- 8004024:      4293            cmp     r3, r2
- 8004026:      d109            bne.n   800403c <TIM_OC6_SetConfig+0x74>
+ 8004048:      687b            ldr     r3, [r7, #4]
+ 800404a:      4a13            ldr     r2, [pc, #76]   ; (8004098 <TIM_OC6_SetConfig+0xa0>)
+ 800404c:      4293            cmp     r3, r2
+ 800404e:      d003            beq.n   8004058 <TIM_OC6_SetConfig+0x60>
+ 8004050:      687b            ldr     r3, [r7, #4]
+ 8004052:      4a12            ldr     r2, [pc, #72]   ; (800409c <TIM_OC6_SetConfig+0xa4>)
+ 8004054:      4293            cmp     r3, r2
+ 8004056:      d109            bne.n   800406c <TIM_OC6_SetConfig+0x74>
   {
     /* Reset the Output Compare IDLE State */
     tmpcr2 &= ~TIM_CR2_OIS6;
- 8004028:      697b            ldr     r3, [r7, #20]
- 800402a:      f423 2380       bic.w   r3, r3, #262144 ; 0x40000
- 800402e:      617b            str     r3, [r7, #20]
+ 8004058:      697b            ldr     r3, [r7, #20]
+ 800405a:      f423 2380       bic.w   r3, r3, #262144 ; 0x40000
+ 800405e:      617b            str     r3, [r7, #20]
     /* Set the Output Idle state */
     tmpcr2 |= (OC_Config->OCIdleState << 10U);
- 8004030:      683b            ldr     r3, [r7, #0]
- 8004032:      695b            ldr     r3, [r3, #20]
- 8004034:      029b            lsls    r3, r3, #10
- 8004036:      697a            ldr     r2, [r7, #20]
- 8004038:      4313            orrs    r3, r2
- 800403a:      617b            str     r3, [r7, #20]
+ 8004060:      683b            ldr     r3, [r7, #0]
+ 8004062:      695b            ldr     r3, [r3, #20]
+ 8004064:      029b            lsls    r3, r3, #10
+ 8004066:      697a            ldr     r2, [r7, #20]
+ 8004068:      4313            orrs    r3, r2
+ 800406a:      617b            str     r3, [r7, #20]
   }
 
   /* Write to TIMx CR2 */
   TIMx->CR2 = tmpcr2;
- 800403c:      687b            ldr     r3, [r7, #4]
- 800403e:      697a            ldr     r2, [r7, #20]
- 8004040:      605a            str     r2, [r3, #4]
+ 800406c:      687b            ldr     r3, [r7, #4]
+ 800406e:      697a            ldr     r2, [r7, #20]
+ 8004070:      605a            str     r2, [r3, #4]
 
   /* Write to TIMx CCMR3 */
   TIMx->CCMR3 = tmpccmrx;
- 8004042:      687b            ldr     r3, [r7, #4]
- 8004044:      68fa            ldr     r2, [r7, #12]
- 8004046:      655a            str     r2, [r3, #84]   ; 0x54
+ 8004072:      687b            ldr     r3, [r7, #4]
+ 8004074:      68fa            ldr     r2, [r7, #12]
+ 8004076:      655a            str     r2, [r3, #84]   ; 0x54
 
   /* Set the Capture Compare Register value */
   TIMx->CCR6 = OC_Config->Pulse;
- 8004048:      683b            ldr     r3, [r7, #0]
- 800404a:      685a            ldr     r2, [r3, #4]
- 800404c:      687b            ldr     r3, [r7, #4]
- 800404e:      65da            str     r2, [r3, #92]   ; 0x5c
+ 8004078:      683b            ldr     r3, [r7, #0]
+ 800407a:      685a            ldr     r2, [r3, #4]
+ 800407c:      687b            ldr     r3, [r7, #4]
+ 800407e:      65da            str     r2, [r3, #92]   ; 0x5c
 
   /* Write to TIMx CCER */
   TIMx->CCER = tmpccer;
- 8004050:      687b            ldr     r3, [r7, #4]
- 8004052:      693a            ldr     r2, [r7, #16]
- 8004054:      621a            str     r2, [r3, #32]
+ 8004080:      687b            ldr     r3, [r7, #4]
+ 8004082:      693a            ldr     r2, [r7, #16]
+ 8004084:      621a            str     r2, [r3, #32]
 }
- 8004056:      bf00            nop
- 8004058:      371c            adds    r7, #28
- 800405a:      46bd            mov     sp, r7
- 800405c:      f85d 7b04       ldr.w   r7, [sp], #4
- 8004060:      4770            bx      lr
- 8004062:      bf00            nop
- 8004064:      feff8fff        .word   0xfeff8fff
- 8004068:      40010000        .word   0x40010000
- 800406c:      40010400        .word   0x40010400
-
-08004070 <TIM_TI1_ConfigInputStage>:
+ 8004086:      bf00            nop
+ 8004088:      371c            adds    r7, #28
+ 800408a:      46bd            mov     sp, r7
+ 800408c:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8004090:      4770            bx      lr
+ 8004092:      bf00            nop
+ 8004094:      feff8fff        .word   0xfeff8fff
+ 8004098:      40010000        .word   0x40010000
+ 800409c:      40010400        .word   0x40010400
+
+080040a0 <TIM_TI1_ConfigInputStage>:
   * @param  TIM_ICFilter Specifies the Input Capture Filter.
   *          This parameter must be a value between 0x00 and 0x0F.
   * @retval None
   */
 static void TIM_TI1_ConfigInputStage(TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICFilter)
 {
- 8004070:      b480            push    {r7}
- 8004072:      b087            sub     sp, #28
- 8004074:      af00            add     r7, sp, #0
- 8004076:      60f8            str     r0, [r7, #12]
- 8004078:      60b9            str     r1, [r7, #8]
- 800407a:      607a            str     r2, [r7, #4]
+ 80040a0:      b480            push    {r7}
+ 80040a2:      b087            sub     sp, #28
+ 80040a4:      af00            add     r7, sp, #0
+ 80040a6:      60f8            str     r0, [r7, #12]
+ 80040a8:      60b9            str     r1, [r7, #8]
+ 80040aa:      607a            str     r2, [r7, #4]
   uint32_t tmpccmr1;
   uint32_t tmpccer;
 
   /* Disable the Channel 1: Reset the CC1E Bit */
   tmpccer = TIMx->CCER;
- 800407c:      68fb            ldr     r3, [r7, #12]
- 800407e:      6a1b            ldr     r3, [r3, #32]
- 8004080:      617b            str     r3, [r7, #20]
+ 80040ac:      68fb            ldr     r3, [r7, #12]
+ 80040ae:      6a1b            ldr     r3, [r3, #32]
+ 80040b0:      617b            str     r3, [r7, #20]
   TIMx->CCER &= ~TIM_CCER_CC1E;
- 8004082:      68fb            ldr     r3, [r7, #12]
- 8004084:      6a1b            ldr     r3, [r3, #32]
- 8004086:      f023 0201       bic.w   r2, r3, #1
- 800408a:      68fb            ldr     r3, [r7, #12]
- 800408c:      621a            str     r2, [r3, #32]
+ 80040b2:      68fb            ldr     r3, [r7, #12]
+ 80040b4:      6a1b            ldr     r3, [r3, #32]
+ 80040b6:      f023 0201       bic.w   r2, r3, #1
+ 80040ba:      68fb            ldr     r3, [r7, #12]
+ 80040bc:      621a            str     r2, [r3, #32]
   tmpccmr1 = TIMx->CCMR1;
- 800408e:      68fb            ldr     r3, [r7, #12]
- 8004090:      699b            ldr     r3, [r3, #24]
- 8004092:      613b            str     r3, [r7, #16]
+ 80040be:      68fb            ldr     r3, [r7, #12]
+ 80040c0:      699b            ldr     r3, [r3, #24]
+ 80040c2:      613b            str     r3, [r7, #16]
 
   /* Set the filter */
   tmpccmr1 &= ~TIM_CCMR1_IC1F;
- 8004094:      693b            ldr     r3, [r7, #16]
- 8004096:      f023 03f0       bic.w   r3, r3, #240    ; 0xf0
- 800409a:      613b            str     r3, [r7, #16]
+ 80040c4:      693b            ldr     r3, [r7, #16]
+ 80040c6:      f023 03f0       bic.w   r3, r3, #240    ; 0xf0
+ 80040ca:      613b            str     r3, [r7, #16]
   tmpccmr1 |= (TIM_ICFilter << 4U);
- 800409c:      687b            ldr     r3, [r7, #4]
- 800409e:      011b            lsls    r3, r3, #4
- 80040a0:      693a            ldr     r2, [r7, #16]
- 80040a2:      4313            orrs    r3, r2
- 80040a4:      613b            str     r3, [r7, #16]
+ 80040cc:      687b            ldr     r3, [r7, #4]
+ 80040ce:      011b            lsls    r3, r3, #4
+ 80040d0:      693a            ldr     r2, [r7, #16]
+ 80040d2:      4313            orrs    r3, r2
+ 80040d4:      613b            str     r3, [r7, #16]
 
   /* Select the Polarity and set the CC1E Bit */
   tmpccer &= ~(TIM_CCER_CC1P | TIM_CCER_CC1NP);
- 80040a6:      697b            ldr     r3, [r7, #20]
- 80040a8:      f023 030a       bic.w   r3, r3, #10
- 80040ac:      617b            str     r3, [r7, #20]
+ 80040d6:      697b            ldr     r3, [r7, #20]
+ 80040d8:      f023 030a       bic.w   r3, r3, #10
+ 80040dc:      617b            str     r3, [r7, #20]
   tmpccer |= TIM_ICPolarity;
- 80040ae:      697a            ldr     r2, [r7, #20]
- 80040b0:      68bb            ldr     r3, [r7, #8]
- 80040b2:      4313            orrs    r3, r2
- 80040b4:      617b            str     r3, [r7, #20]
+ 80040de:      697a            ldr     r2, [r7, #20]
+ 80040e0:      68bb            ldr     r3, [r7, #8]
+ 80040e2:      4313            orrs    r3, r2
+ 80040e4:      617b            str     r3, [r7, #20]
 
   /* Write to TIMx CCMR1 and CCER registers */
   TIMx->CCMR1 = tmpccmr1;
- 80040b6:      68fb            ldr     r3, [r7, #12]
- 80040b8:      693a            ldr     r2, [r7, #16]
- 80040ba:      619a            str     r2, [r3, #24]
+ 80040e6:      68fb            ldr     r3, [r7, #12]
+ 80040e8:      693a            ldr     r2, [r7, #16]
+ 80040ea:      619a            str     r2, [r3, #24]
   TIMx->CCER = tmpccer;
- 80040bc:      68fb            ldr     r3, [r7, #12]
- 80040be:      697a            ldr     r2, [r7, #20]
- 80040c0:      621a            str     r2, [r3, #32]
+ 80040ec:      68fb            ldr     r3, [r7, #12]
+ 80040ee:      697a            ldr     r2, [r7, #20]
+ 80040f0:      621a            str     r2, [r3, #32]
 }
- 80040c2:      bf00            nop
- 80040c4:      371c            adds    r7, #28
- 80040c6:      46bd            mov     sp, r7
- 80040c8:      f85d 7b04       ldr.w   r7, [sp], #4
- 80040cc:      4770            bx      lr
+ 80040f2:      bf00            nop
+ 80040f4:      371c            adds    r7, #28
+ 80040f6:      46bd            mov     sp, r7
+ 80040f8:      f85d 7b04       ldr.w   r7, [sp], #4
+ 80040fc:      4770            bx      lr
 
-080040ce <TIM_TI2_ConfigInputStage>:
+080040fe <TIM_TI2_ConfigInputStage>:
   * @param  TIM_ICFilter Specifies the Input Capture Filter.
   *          This parameter must be a value between 0x00 and 0x0F.
   * @retval None
   */
 static void TIM_TI2_ConfigInputStage(TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICFilter)
 {
- 80040ce:      b480            push    {r7}
- 80040d0:      b087            sub     sp, #28
- 80040d2:      af00            add     r7, sp, #0
- 80040d4:      60f8            str     r0, [r7, #12]
- 80040d6:      60b9            str     r1, [r7, #8]
- 80040d8:      607a            str     r2, [r7, #4]
+ 80040fe:      b480            push    {r7}
+ 8004100:      b087            sub     sp, #28
+ 8004102:      af00            add     r7, sp, #0
+ 8004104:      60f8            str     r0, [r7, #12]
+ 8004106:      60b9            str     r1, [r7, #8]
+ 8004108:      607a            str     r2, [r7, #4]
   uint32_t tmpccmr1;
   uint32_t tmpccer;
 
   /* Disable the Channel 2: Reset the CC2E Bit */
   TIMx->CCER &= ~TIM_CCER_CC2E;
- 80040da:      68fb            ldr     r3, [r7, #12]
- 80040dc:      6a1b            ldr     r3, [r3, #32]
- 80040de:      f023 0210       bic.w   r2, r3, #16
- 80040e2:      68fb            ldr     r3, [r7, #12]
- 80040e4:      621a            str     r2, [r3, #32]
+ 800410a:      68fb            ldr     r3, [r7, #12]
+ 800410c:      6a1b            ldr     r3, [r3, #32]
+ 800410e:      f023 0210       bic.w   r2, r3, #16
+ 8004112:      68fb            ldr     r3, [r7, #12]
+ 8004114:      621a            str     r2, [r3, #32]
   tmpccmr1 = TIMx->CCMR1;
- 80040e6:      68fb            ldr     r3, [r7, #12]
- 80040e8:      699b            ldr     r3, [r3, #24]
- 80040ea:      617b            str     r3, [r7, #20]
+ 8004116:      68fb            ldr     r3, [r7, #12]
+ 8004118:      699b            ldr     r3, [r3, #24]
+ 800411a:      617b            str     r3, [r7, #20]
   tmpccer = TIMx->CCER;
- 80040ec:      68fb            ldr     r3, [r7, #12]
- 80040ee:      6a1b            ldr     r3, [r3, #32]
- 80040f0:      613b            str     r3, [r7, #16]
+ 800411c:      68fb            ldr     r3, [r7, #12]
+ 800411e:      6a1b            ldr     r3, [r3, #32]
+ 8004120:      613b            str     r3, [r7, #16]
 
   /* Set the filter */
   tmpccmr1 &= ~TIM_CCMR1_IC2F;
- 80040f2:      697b            ldr     r3, [r7, #20]
- 80040f4:      f423 4370       bic.w   r3, r3, #61440  ; 0xf000
- 80040f8:      617b            str     r3, [r7, #20]
+ 8004122:      697b            ldr     r3, [r7, #20]
+ 8004124:      f423 4370       bic.w   r3, r3, #61440  ; 0xf000
+ 8004128:      617b            str     r3, [r7, #20]
   tmpccmr1 |= (TIM_ICFilter << 12U);
- 80040fa:      687b            ldr     r3, [r7, #4]
- 80040fc:      031b            lsls    r3, r3, #12
- 80040fe:      697a            ldr     r2, [r7, #20]
- 8004100:      4313            orrs    r3, r2
- 8004102:      617b            str     r3, [r7, #20]
+ 800412a:      687b            ldr     r3, [r7, #4]
+ 800412c:      031b            lsls    r3, r3, #12
+ 800412e:      697a            ldr     r2, [r7, #20]
+ 8004130:      4313            orrs    r3, r2
+ 8004132:      617b            str     r3, [r7, #20]
 
   /* Select the Polarity and set the CC2E Bit */
   tmpccer &= ~(TIM_CCER_CC2P | TIM_CCER_CC2NP);
- 8004104:      693b            ldr     r3, [r7, #16]
- 8004106:      f023 03a0       bic.w   r3, r3, #160    ; 0xa0
- 800410a:      613b            str     r3, [r7, #16]
+ 8004134:      693b            ldr     r3, [r7, #16]
+ 8004136:      f023 03a0       bic.w   r3, r3, #160    ; 0xa0
+ 800413a:      613b            str     r3, [r7, #16]
   tmpccer |= (TIM_ICPolarity << 4U);
- 800410c:      68bb            ldr     r3, [r7, #8]
- 800410e:      011b            lsls    r3, r3, #4
- 8004110:      693a            ldr     r2, [r7, #16]
- 8004112:      4313            orrs    r3, r2
- 8004114:      613b            str     r3, [r7, #16]
+ 800413c:      68bb            ldr     r3, [r7, #8]
+ 800413e:      011b            lsls    r3, r3, #4
+ 8004140:      693a            ldr     r2, [r7, #16]
+ 8004142:      4313            orrs    r3, r2
+ 8004144:      613b            str     r3, [r7, #16]
 
   /* Write to TIMx CCMR1 and CCER registers */
   TIMx->CCMR1 = tmpccmr1 ;
- 8004116:      68fb            ldr     r3, [r7, #12]
- 8004118:      697a            ldr     r2, [r7, #20]
- 800411a:      619a            str     r2, [r3, #24]
+ 8004146:      68fb            ldr     r3, [r7, #12]
+ 8004148:      697a            ldr     r2, [r7, #20]
+ 800414a:      619a            str     r2, [r3, #24]
   TIMx->CCER = tmpccer;
- 800411c:      68fb            ldr     r3, [r7, #12]
- 800411e:      693a            ldr     r2, [r7, #16]
- 8004120:      621a            str     r2, [r3, #32]
+ 800414c:      68fb            ldr     r3, [r7, #12]
+ 800414e:      693a            ldr     r2, [r7, #16]
+ 8004150:      621a            str     r2, [r3, #32]
 }
- 8004122:      bf00            nop
- 8004124:      371c            adds    r7, #28
- 8004126:      46bd            mov     sp, r7
- 8004128:      f85d 7b04       ldr.w   r7, [sp], #4
- 800412c:      4770            bx      lr
+ 8004152:      bf00            nop
+ 8004154:      371c            adds    r7, #28
+ 8004156:      46bd            mov     sp, r7
+ 8004158:      f85d 7b04       ldr.w   r7, [sp], #4
+ 800415c:      4770            bx      lr
 
-0800412e <TIM_ITRx_SetConfig>:
+0800415e <TIM_ITRx_SetConfig>:
   *            @arg TIM_TS_TI2FP2: Filtered Timer Input 2
   *            @arg TIM_TS_ETRF: External Trigger input
   * @retval None
   */
 static void TIM_ITRx_SetConfig(TIM_TypeDef *TIMx, uint32_t InputTriggerSource)
 {
- 800412e:      b480            push    {r7}
- 8004130:      b085            sub     sp, #20
- 8004132:      af00            add     r7, sp, #0
- 8004134:      6078            str     r0, [r7, #4]
- 8004136:      6039            str     r1, [r7, #0]
+ 800415e:      b480            push    {r7}
+ 8004160:      b085            sub     sp, #20
+ 8004162:      af00            add     r7, sp, #0
+ 8004164:      6078            str     r0, [r7, #4]
+ 8004166:      6039            str     r1, [r7, #0]
   uint32_t tmpsmcr;
 
   /* Get the TIMx SMCR register value */
   tmpsmcr = TIMx->SMCR;
- 8004138:      687b            ldr     r3, [r7, #4]
- 800413a:      689b            ldr     r3, [r3, #8]
- 800413c:      60fb            str     r3, [r7, #12]
+ 8004168:      687b            ldr     r3, [r7, #4]
+ 800416a:      689b            ldr     r3, [r3, #8]
+ 800416c:      60fb            str     r3, [r7, #12]
   /* Reset the TS Bits */
   tmpsmcr &= ~TIM_SMCR_TS;
- 800413e:      68fb            ldr     r3, [r7, #12]
- 8004140:      f023 0370       bic.w   r3, r3, #112    ; 0x70
- 8004144:      60fb            str     r3, [r7, #12]
+ 800416e:      68fb            ldr     r3, [r7, #12]
+ 8004170:      f023 0370       bic.w   r3, r3, #112    ; 0x70
+ 8004174:      60fb            str     r3, [r7, #12]
   /* Set the Input Trigger source and the slave mode*/
   tmpsmcr |= (InputTriggerSource | TIM_SLAVEMODE_EXTERNAL1);
- 8004146:      683a            ldr     r2, [r7, #0]
- 8004148:      68fb            ldr     r3, [r7, #12]
- 800414a:      4313            orrs    r3, r2
- 800414c:      f043 0307       orr.w   r3, r3, #7
- 8004150:      60fb            str     r3, [r7, #12]
+ 8004176:      683a            ldr     r2, [r7, #0]
+ 8004178:      68fb            ldr     r3, [r7, #12]
+ 800417a:      4313            orrs    r3, r2
+ 800417c:      f043 0307       orr.w   r3, r3, #7
+ 8004180:      60fb            str     r3, [r7, #12]
   /* Write to TIMx SMCR */
   TIMx->SMCR = tmpsmcr;
- 8004152:      687b            ldr     r3, [r7, #4]
- 8004154:      68fa            ldr     r2, [r7, #12]
- 8004156:      609a            str     r2, [r3, #8]
+ 8004182:      687b            ldr     r3, [r7, #4]
+ 8004184:      68fa            ldr     r2, [r7, #12]
+ 8004186:      609a            str     r2, [r3, #8]
 }
- 8004158:      bf00            nop
- 800415a:      3714            adds    r7, #20
- 800415c:      46bd            mov     sp, r7
- 800415e:      f85d 7b04       ldr.w   r7, [sp], #4
- 8004162:      4770            bx      lr
+ 8004188:      bf00            nop
+ 800418a:      3714            adds    r7, #20
+ 800418c:      46bd            mov     sp, r7
+ 800418e:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8004192:      4770            bx      lr
 
-08004164 <TIM_ETR_SetConfig>:
+08004194 <TIM_ETR_SetConfig>:
   *          This parameter must be a value between 0x00 and 0x0F
   * @retval None
   */
 void TIM_ETR_SetConfig(TIM_TypeDef *TIMx, uint32_t TIM_ExtTRGPrescaler,
                        uint32_t TIM_ExtTRGPolarity, uint32_t ExtTRGFilter)
 {
- 8004164:      b480            push    {r7}
- 8004166:      b087            sub     sp, #28
- 8004168:      af00            add     r7, sp, #0
- 800416a:      60f8            str     r0, [r7, #12]
- 800416c:      60b9            str     r1, [r7, #8]
- 800416e:      607a            str     r2, [r7, #4]
- 8004170:      603b            str     r3, [r7, #0]
+ 8004194:      b480            push    {r7}
+ 8004196:      b087            sub     sp, #28
+ 8004198:      af00            add     r7, sp, #0
+ 800419a:      60f8            str     r0, [r7, #12]
+ 800419c:      60b9            str     r1, [r7, #8]
+ 800419e:      607a            str     r2, [r7, #4]
+ 80041a0:      603b            str     r3, [r7, #0]
   uint32_t tmpsmcr;
 
   tmpsmcr = TIMx->SMCR;
- 8004172:      68fb            ldr     r3, [r7, #12]
- 8004174:      689b            ldr     r3, [r3, #8]
- 8004176:      617b            str     r3, [r7, #20]
+ 80041a2:      68fb            ldr     r3, [r7, #12]
+ 80041a4:      689b            ldr     r3, [r3, #8]
+ 80041a6:      617b            str     r3, [r7, #20]
 
   /* Reset the ETR Bits */
   tmpsmcr &= ~(TIM_SMCR_ETF | TIM_SMCR_ETPS | TIM_SMCR_ECE | TIM_SMCR_ETP);
- 8004178:      697b            ldr     r3, [r7, #20]
- 800417a:      f423 437f       bic.w   r3, r3, #65280  ; 0xff00
- 800417e:      617b            str     r3, [r7, #20]
+ 80041a8:      697b            ldr     r3, [r7, #20]
+ 80041aa:      f423 437f       bic.w   r3, r3, #65280  ; 0xff00
+ 80041ae:      617b            str     r3, [r7, #20]
 
   /* Set the Prescaler, the Filter value and the Polarity */
   tmpsmcr |= (uint32_t)(TIM_ExtTRGPrescaler | (TIM_ExtTRGPolarity | (ExtTRGFilter << 8U)));
- 8004180:      683b            ldr     r3, [r7, #0]
- 8004182:      021a            lsls    r2, r3, #8
- 8004184:      687b            ldr     r3, [r7, #4]
- 8004186:      431a            orrs    r2, r3
- 8004188:      68bb            ldr     r3, [r7, #8]
- 800418a:      4313            orrs    r3, r2
- 800418c:      697a            ldr     r2, [r7, #20]
- 800418e:      4313            orrs    r3, r2
- 8004190:      617b            str     r3, [r7, #20]
+ 80041b0:      683b            ldr     r3, [r7, #0]
+ 80041b2:      021a            lsls    r2, r3, #8
+ 80041b4:      687b            ldr     r3, [r7, #4]
+ 80041b6:      431a            orrs    r2, r3
+ 80041b8:      68bb            ldr     r3, [r7, #8]
+ 80041ba:      4313            orrs    r3, r2
+ 80041bc:      697a            ldr     r2, [r7, #20]
+ 80041be:      4313            orrs    r3, r2
+ 80041c0:      617b            str     r3, [r7, #20]
 
   /* Write to TIMx SMCR */
   TIMx->SMCR = tmpsmcr;
- 8004192:      68fb            ldr     r3, [r7, #12]
- 8004194:      697a            ldr     r2, [r7, #20]
- 8004196:      609a            str     r2, [r3, #8]
+ 80041c2:      68fb            ldr     r3, [r7, #12]
+ 80041c4:      697a            ldr     r2, [r7, #20]
+ 80041c6:      609a            str     r2, [r3, #8]
 }
- 8004198:      bf00            nop
- 800419a:      371c            adds    r7, #28
- 800419c:      46bd            mov     sp, r7
- 800419e:      f85d 7b04       ldr.w   r7, [sp], #4
- 80041a2:      4770            bx      lr
+ 80041c8:      bf00            nop
+ 80041ca:      371c            adds    r7, #28
+ 80041cc:      46bd            mov     sp, r7
+ 80041ce:      f85d 7b04       ldr.w   r7, [sp], #4
+ 80041d2:      4770            bx      lr
 
-080041a4 <TIM_CCxChannelCmd>:
+080041d4 <TIM_CCxChannelCmd>:
   * @param  ChannelState specifies the TIM Channel CCxE bit new state.
   *          This parameter can be: TIM_CCx_ENABLE or TIM_CCx_DISABLE.
   * @retval None
   */
 void TIM_CCxChannelCmd(TIM_TypeDef *TIMx, uint32_t Channel, uint32_t ChannelState)
 {
- 80041a4:      b480            push    {r7}
- 80041a6:      b087            sub     sp, #28
- 80041a8:      af00            add     r7, sp, #0
- 80041aa:      60f8            str     r0, [r7, #12]
- 80041ac:      60b9            str     r1, [r7, #8]
- 80041ae:      607a            str     r2, [r7, #4]
+ 80041d4:      b480            push    {r7}
+ 80041d6:      b087            sub     sp, #28
+ 80041d8:      af00            add     r7, sp, #0
+ 80041da:      60f8            str     r0, [r7, #12]
+ 80041dc:      60b9            str     r1, [r7, #8]
+ 80041de:      607a            str     r2, [r7, #4]
 
   /* Check the parameters */
   assert_param(IS_TIM_CC1_INSTANCE(TIMx));
   assert_param(IS_TIM_CHANNELS(Channel));
 
   tmp = TIM_CCER_CC1E << (Channel & 0x1FU); /* 0x1FU = 31 bits max shift */
- 80041b0:      68bb            ldr     r3, [r7, #8]
- 80041b2:      f003 031f       and.w   r3, r3, #31
- 80041b6:      2201            movs    r2, #1
- 80041b8:      fa02 f303       lsl.w   r3, r2, r3
- 80041bc:      617b            str     r3, [r7, #20]
+ 80041e0:      68bb            ldr     r3, [r7, #8]
+ 80041e2:      f003 031f       and.w   r3, r3, #31
+ 80041e6:      2201            movs    r2, #1
+ 80041e8:      fa02 f303       lsl.w   r3, r2, r3
+ 80041ec:      617b            str     r3, [r7, #20]
 
   /* Reset the CCxE Bit */
   TIMx->CCER &= ~tmp;
- 80041be:      68fb            ldr     r3, [r7, #12]
- 80041c0:      6a1a            ldr     r2, [r3, #32]
- 80041c2:      697b            ldr     r3, [r7, #20]
- 80041c4:      43db            mvns    r3, r3
- 80041c6:      401a            ands    r2, r3
- 80041c8:      68fb            ldr     r3, [r7, #12]
- 80041ca:      621a            str     r2, [r3, #32]
+ 80041ee:      68fb            ldr     r3, [r7, #12]
+ 80041f0:      6a1a            ldr     r2, [r3, #32]
+ 80041f2:      697b            ldr     r3, [r7, #20]
+ 80041f4:      43db            mvns    r3, r3
+ 80041f6:      401a            ands    r2, r3
+ 80041f8:      68fb            ldr     r3, [r7, #12]
+ 80041fa:      621a            str     r2, [r3, #32]
 
   /* Set or reset the CCxE Bit */
   TIMx->CCER |= (uint32_t)(ChannelState << (Channel & 0x1FU)); /* 0x1FU = 31 bits max shift */
- 80041cc:      68fb            ldr     r3, [r7, #12]
- 80041ce:      6a1a            ldr     r2, [r3, #32]
- 80041d0:      68bb            ldr     r3, [r7, #8]
- 80041d2:      f003 031f       and.w   r3, r3, #31
- 80041d6:      6879            ldr     r1, [r7, #4]
- 80041d8:      fa01 f303       lsl.w   r3, r1, r3
- 80041dc:      431a            orrs    r2, r3
- 80041de:      68fb            ldr     r3, [r7, #12]
- 80041e0:      621a            str     r2, [r3, #32]
+ 80041fc:      68fb            ldr     r3, [r7, #12]
+ 80041fe:      6a1a            ldr     r2, [r3, #32]
+ 8004200:      68bb            ldr     r3, [r7, #8]
+ 8004202:      f003 031f       and.w   r3, r3, #31
+ 8004206:      6879            ldr     r1, [r7, #4]
+ 8004208:      fa01 f303       lsl.w   r3, r1, r3
+ 800420c:      431a            orrs    r2, r3
+ 800420e:      68fb            ldr     r3, [r7, #12]
+ 8004210:      621a            str     r2, [r3, #32]
 }
- 80041e2:      bf00            nop
- 80041e4:      371c            adds    r7, #28
- 80041e6:      46bd            mov     sp, r7
- 80041e8:      f85d 7b04       ldr.w   r7, [sp], #4
- 80041ec:      4770            bx      lr
+ 8004212:      bf00            nop
+ 8004214:      371c            adds    r7, #28
+ 8004216:      46bd            mov     sp, r7
+ 8004218:      f85d 7b04       ldr.w   r7, [sp], #4
+ 800421c:      4770            bx      lr
        ...
 
-080041f0 <HAL_TIMEx_MasterConfigSynchronization>:
+08004220 <HAL_TIMEx_MasterConfigSynchronization>:
   *         mode.
   * @retval HAL status
   */
 HAL_StatusTypeDef HAL_TIMEx_MasterConfigSynchronization(TIM_HandleTypeDef *htim,
                                                         TIM_MasterConfigTypeDef *sMasterConfig)
 {
- 80041f0:      b480            push    {r7}
- 80041f2:      b085            sub     sp, #20
- 80041f4:      af00            add     r7, sp, #0
- 80041f6:      6078            str     r0, [r7, #4]
- 80041f8:      6039            str     r1, [r7, #0]
+ 8004220:      b480            push    {r7}
+ 8004222:      b085            sub     sp, #20
+ 8004224:      af00            add     r7, sp, #0
+ 8004226:      6078            str     r0, [r7, #4]
+ 8004228:      6039            str     r1, [r7, #0]
   assert_param(IS_TIM_SYNCHRO_INSTANCE(htim->Instance));
   assert_param(IS_TIM_TRGO_SOURCE(sMasterConfig->MasterOutputTrigger));
   assert_param(IS_TIM_MSM_STATE(sMasterConfig->MasterSlaveMode));
 
   /* Check input state */
   __HAL_LOCK(htim);
- 80041fa:      687b            ldr     r3, [r7, #4]
- 80041fc:      f893 303c       ldrb.w  r3, [r3, #60]   ; 0x3c
- 8004200:      2b01            cmp     r3, #1
- 8004202:      d101            bne.n   8004208 <HAL_TIMEx_MasterConfigSynchronization+0x18>
- 8004204:      2302            movs    r3, #2
- 8004206:      e045            b.n     8004294 <HAL_TIMEx_MasterConfigSynchronization+0xa4>
- 8004208:      687b            ldr     r3, [r7, #4]
- 800420a:      2201            movs    r2, #1
- 800420c:      f883 203c       strb.w  r2, [r3, #60]   ; 0x3c
+ 800422a:      687b            ldr     r3, [r7, #4]
+ 800422c:      f893 303c       ldrb.w  r3, [r3, #60]   ; 0x3c
+ 8004230:      2b01            cmp     r3, #1
+ 8004232:      d101            bne.n   8004238 <HAL_TIMEx_MasterConfigSynchronization+0x18>
+ 8004234:      2302            movs    r3, #2
+ 8004236:      e045            b.n     80042c4 <HAL_TIMEx_MasterConfigSynchronization+0xa4>
+ 8004238:      687b            ldr     r3, [r7, #4]
+ 800423a:      2201            movs    r2, #1
+ 800423c:      f883 203c       strb.w  r2, [r3, #60]   ; 0x3c
 
   /* Change the handler state */
   htim->State = HAL_TIM_STATE_BUSY;
- 8004210:      687b            ldr     r3, [r7, #4]
- 8004212:      2202            movs    r2, #2
- 8004214:      f883 203d       strb.w  r2, [r3, #61]   ; 0x3d
+ 8004240:      687b            ldr     r3, [r7, #4]
+ 8004242:      2202            movs    r2, #2
+ 8004244:      f883 203d       strb.w  r2, [r3, #61]   ; 0x3d
 
   /* Get the TIMx CR2 register value */
   tmpcr2 = htim->Instance->CR2;
- 8004218:      687b            ldr     r3, [r7, #4]
- 800421a:      681b            ldr     r3, [r3, #0]
- 800421c:      685b            ldr     r3, [r3, #4]
- 800421e:      60fb            str     r3, [r7, #12]
+ 8004248:      687b            ldr     r3, [r7, #4]
+ 800424a:      681b            ldr     r3, [r3, #0]
+ 800424c:      685b            ldr     r3, [r3, #4]
+ 800424e:      60fb            str     r3, [r7, #12]
 
   /* Get the TIMx SMCR register value */
   tmpsmcr = htim->Instance->SMCR;
- 8004220:      687b            ldr     r3, [r7, #4]
- 8004222:      681b            ldr     r3, [r3, #0]
- 8004224:      689b            ldr     r3, [r3, #8]
- 8004226:      60bb            str     r3, [r7, #8]
+ 8004250:      687b            ldr     r3, [r7, #4]
+ 8004252:      681b            ldr     r3, [r3, #0]
+ 8004254:      689b            ldr     r3, [r3, #8]
+ 8004256:      60bb            str     r3, [r7, #8]
 
   /* If the timer supports ADC synchronization through TRGO2, set the master mode selection 2 */
   if (IS_TIM_TRGO2_INSTANCE(htim->Instance))
- 8004228:      687b            ldr     r3, [r7, #4]
- 800422a:      681b            ldr     r3, [r3, #0]
- 800422c:      4a1c            ldr     r2, [pc, #112]  ; (80042a0 <HAL_TIMEx_MasterConfigSynchronization+0xb0>)
- 800422e:      4293            cmp     r3, r2
- 8004230:      d004            beq.n   800423c <HAL_TIMEx_MasterConfigSynchronization+0x4c>
- 8004232:      687b            ldr     r3, [r7, #4]
- 8004234:      681b            ldr     r3, [r3, #0]
- 8004236:      4a1b            ldr     r2, [pc, #108]  ; (80042a4 <HAL_TIMEx_MasterConfigSynchronization+0xb4>)
- 8004238:      4293            cmp     r3, r2
- 800423a:      d108            bne.n   800424e <HAL_TIMEx_MasterConfigSynchronization+0x5e>
+ 8004258:      687b            ldr     r3, [r7, #4]
+ 800425a:      681b            ldr     r3, [r3, #0]
+ 800425c:      4a1c            ldr     r2, [pc, #112]  ; (80042d0 <HAL_TIMEx_MasterConfigSynchronization+0xb0>)
+ 800425e:      4293            cmp     r3, r2
+ 8004260:      d004            beq.n   800426c <HAL_TIMEx_MasterConfigSynchronization+0x4c>
+ 8004262:      687b            ldr     r3, [r7, #4]
+ 8004264:      681b            ldr     r3, [r3, #0]
+ 8004266:      4a1b            ldr     r2, [pc, #108]  ; (80042d4 <HAL_TIMEx_MasterConfigSynchronization+0xb4>)
+ 8004268:      4293            cmp     r3, r2
+ 800426a:      d108            bne.n   800427e <HAL_TIMEx_MasterConfigSynchronization+0x5e>
   {
     /* Check the parameters */
     assert_param(IS_TIM_TRGO2_SOURCE(sMasterConfig->MasterOutputTrigger2));
 
     /* Clear the MMS2 bits */
     tmpcr2 &= ~TIM_CR2_MMS2;
- 800423c:      68fb            ldr     r3, [r7, #12]
- 800423e:      f423 0370       bic.w   r3, r3, #15728640       ; 0xf00000
- 8004242:      60fb            str     r3, [r7, #12]
+ 800426c:      68fb            ldr     r3, [r7, #12]
+ 800426e:      f423 0370       bic.w   r3, r3, #15728640       ; 0xf00000
+ 8004272:      60fb            str     r3, [r7, #12]
     /* Select the TRGO2 source*/
     tmpcr2 |= sMasterConfig->MasterOutputTrigger2;
- 8004244:      683b            ldr     r3, [r7, #0]
- 8004246:      685b            ldr     r3, [r3, #4]
- 8004248:      68fa            ldr     r2, [r7, #12]
- 800424a:      4313            orrs    r3, r2
- 800424c:      60fb            str     r3, [r7, #12]
+ 8004274:      683b            ldr     r3, [r7, #0]
+ 8004276:      685b            ldr     r3, [r3, #4]
+ 8004278:      68fa            ldr     r2, [r7, #12]
+ 800427a:      4313            orrs    r3, r2
+ 800427c:      60fb            str     r3, [r7, #12]
   }
 
   /* Reset the MMS Bits */
   tmpcr2 &= ~TIM_CR2_MMS;
- 800424e:      68fb            ldr     r3, [r7, #12]
- 8004250:      f023 0370       bic.w   r3, r3, #112    ; 0x70
- 8004254:      60fb            str     r3, [r7, #12]
+ 800427e:      68fb            ldr     r3, [r7, #12]
+ 8004280:      f023 0370       bic.w   r3, r3, #112    ; 0x70
+ 8004284:      60fb            str     r3, [r7, #12]
   /* Select the TRGO source */
   tmpcr2 |=  sMasterConfig->MasterOutputTrigger;
- 8004256:      683b            ldr     r3, [r7, #0]
- 8004258:      681b            ldr     r3, [r3, #0]
- 800425a:      68fa            ldr     r2, [r7, #12]
- 800425c:      4313            orrs    r3, r2
- 800425e:      60fb            str     r3, [r7, #12]
+ 8004286:      683b            ldr     r3, [r7, #0]
+ 8004288:      681b            ldr     r3, [r3, #0]
+ 800428a:      68fa            ldr     r2, [r7, #12]
+ 800428c:      4313            orrs    r3, r2
+ 800428e:      60fb            str     r3, [r7, #12]
 
   /* Reset the MSM Bit */
   tmpsmcr &= ~TIM_SMCR_MSM;
- 8004260:      68bb            ldr     r3, [r7, #8]
- 8004262:      f023 0380       bic.w   r3, r3, #128    ; 0x80
- 8004266:      60bb            str     r3, [r7, #8]
+ 8004290:      68bb            ldr     r3, [r7, #8]
+ 8004292:      f023 0380       bic.w   r3, r3, #128    ; 0x80
+ 8004296:      60bb            str     r3, [r7, #8]
   /* Set master mode */
   tmpsmcr |= sMasterConfig->MasterSlaveMode;
- 8004268:      683b            ldr     r3, [r7, #0]
- 800426a:      689b            ldr     r3, [r3, #8]
- 800426c:      68ba            ldr     r2, [r7, #8]
- 800426e:      4313            orrs    r3, r2
- 8004270:      60bb            str     r3, [r7, #8]
+ 8004298:      683b            ldr     r3, [r7, #0]
+ 800429a:      689b            ldr     r3, [r3, #8]
+ 800429c:      68ba            ldr     r2, [r7, #8]
+ 800429e:      4313            orrs    r3, r2
+ 80042a0:      60bb            str     r3, [r7, #8]
 
   /* Update TIMx CR2 */
   htim->Instance->CR2 = tmpcr2;
- 8004272:      687b            ldr     r3, [r7, #4]
- 8004274:      681b            ldr     r3, [r3, #0]
- 8004276:      68fa            ldr     r2, [r7, #12]
- 8004278:      605a            str     r2, [r3, #4]
+ 80042a2:      687b            ldr     r3, [r7, #4]
+ 80042a4:      681b            ldr     r3, [r3, #0]
+ 80042a6:      68fa            ldr     r2, [r7, #12]
+ 80042a8:      605a            str     r2, [r3, #4]
 
   /* Update TIMx SMCR */
   htim->Instance->SMCR = tmpsmcr;
- 800427a:      687b            ldr     r3, [r7, #4]
- 800427c:      681b            ldr     r3, [r3, #0]
- 800427e:      68ba            ldr     r2, [r7, #8]
- 8004280:      609a            str     r2, [r3, #8]
+ 80042aa:      687b            ldr     r3, [r7, #4]
+ 80042ac:      681b            ldr     r3, [r3, #0]
+ 80042ae:      68ba            ldr     r2, [r7, #8]
+ 80042b0:      609a            str     r2, [r3, #8]
 
   /* Change the htim state */
   htim->State = HAL_TIM_STATE_READY;
- 8004282:      687b            ldr     r3, [r7, #4]
- 8004284:      2201            movs    r2, #1
- 8004286:      f883 203d       strb.w  r2, [r3, #61]   ; 0x3d
+ 80042b2:      687b            ldr     r3, [r7, #4]
+ 80042b4:      2201            movs    r2, #1
+ 80042b6:      f883 203d       strb.w  r2, [r3, #61]   ; 0x3d
 
   __HAL_UNLOCK(htim);
- 800428a:      687b            ldr     r3, [r7, #4]
- 800428c:      2200            movs    r2, #0
- 800428e:      f883 203c       strb.w  r2, [r3, #60]   ; 0x3c
+ 80042ba:      687b            ldr     r3, [r7, #4]
+ 80042bc:      2200            movs    r2, #0
+ 80042be:      f883 203c       strb.w  r2, [r3, #60]   ; 0x3c
 
   return HAL_OK;
- 8004292:      2300            movs    r3, #0
+ 80042c2:      2300            movs    r3, #0
 }
- 8004294:      4618            mov     r0, r3
- 8004296:      3714            adds    r7, #20
- 8004298:      46bd            mov     sp, r7
- 800429a:      f85d 7b04       ldr.w   r7, [sp], #4
- 800429e:      4770            bx      lr
- 80042a0:      40010000        .word   0x40010000
- 80042a4:      40010400        .word   0x40010400
-
-080042a8 <HAL_TIMEx_CommutCallback>:
+ 80042c4:      4618            mov     r0, r3
+ 80042c6:      3714            adds    r7, #20
+ 80042c8:      46bd            mov     sp, r7
+ 80042ca:      f85d 7b04       ldr.w   r7, [sp], #4
+ 80042ce:      4770            bx      lr
+ 80042d0:      40010000        .word   0x40010000
+ 80042d4:      40010400        .word   0x40010400
+
+080042d8 <HAL_TIMEx_CommutCallback>:
   * @brief  Hall commutation changed callback in non-blocking mode
   * @param  htim TIM handle
   * @retval None
   */
 __weak void HAL_TIMEx_CommutCallback(TIM_HandleTypeDef *htim)
 {
- 80042a8:      b480            push    {r7}
- 80042aa:      b083            sub     sp, #12
- 80042ac:      af00            add     r7, sp, #0
- 80042ae:      6078            str     r0, [r7, #4]
+ 80042d8:      b480            push    {r7}
+ 80042da:      b083            sub     sp, #12
+ 80042dc:      af00            add     r7, sp, #0
+ 80042de:      6078            str     r0, [r7, #4]
   UNUSED(htim);
 
   /* NOTE : This function should not be modified, when the callback is needed,
             the HAL_TIMEx_CommutCallback could be implemented in the user file
    */
 }
- 80042b0:      bf00            nop
- 80042b2:      370c            adds    r7, #12
- 80042b4:      46bd            mov     sp, r7
- 80042b6:      f85d 7b04       ldr.w   r7, [sp], #4
- 80042ba:      4770            bx      lr
+ 80042e0:      bf00            nop
+ 80042e2:      370c            adds    r7, #12
+ 80042e4:      46bd            mov     sp, r7
+ 80042e6:      f85d 7b04       ldr.w   r7, [sp], #4
+ 80042ea:      4770            bx      lr
 
-080042bc <HAL_TIMEx_BreakCallback>:
+080042ec <HAL_TIMEx_BreakCallback>:
   * @brief  Hall Break detection callback in non-blocking mode
   * @param  htim TIM handle
   * @retval None
   */
 __weak void HAL_TIMEx_BreakCallback(TIM_HandleTypeDef *htim)
 {
- 80042bc:      b480            push    {r7}
- 80042be:      b083            sub     sp, #12
- 80042c0:      af00            add     r7, sp, #0
- 80042c2:      6078            str     r0, [r7, #4]
+ 80042ec:      b480            push    {r7}
+ 80042ee:      b083            sub     sp, #12
+ 80042f0:      af00            add     r7, sp, #0
+ 80042f2:      6078            str     r0, [r7, #4]
   UNUSED(htim);
 
   /* NOTE : This function should not be modified, when the callback is needed,
             the HAL_TIMEx_BreakCallback could be implemented in the user file
    */
 }
- 80042c4:      bf00            nop
- 80042c6:      370c            adds    r7, #12
- 80042c8:      46bd            mov     sp, r7
- 80042ca:      f85d 7b04       ldr.w   r7, [sp], #4
- 80042ce:      4770            bx      lr
+ 80042f4:      bf00            nop
+ 80042f6:      370c            adds    r7, #12
+ 80042f8:      46bd            mov     sp, r7
+ 80042fa:      f85d 7b04       ldr.w   r7, [sp], #4
+ 80042fe:      4770            bx      lr
 
-080042d0 <HAL_TIMEx_Break2Callback>:
+08004300 <HAL_TIMEx_Break2Callback>:
   * @brief  Hall Break2 detection callback in non blocking mode
   * @param  htim: TIM handle
   * @retval None
   */
 __weak void HAL_TIMEx_Break2Callback(TIM_HandleTypeDef *htim)
 {
- 80042d0:      b480            push    {r7}
- 80042d2:      b083            sub     sp, #12
- 80042d4:      af00            add     r7, sp, #0
- 80042d6:      6078            str     r0, [r7, #4]
+ 8004300:      b480            push    {r7}
+ 8004302:      b083            sub     sp, #12
+ 8004304:      af00            add     r7, sp, #0
+ 8004306:      6078            str     r0, [r7, #4]
   UNUSED(htim);
 
   /* NOTE : This function Should not be modified, when the callback is needed,
             the HAL_TIMEx_Break2Callback could be implemented in the user file
    */
 }
- 80042d8:      bf00            nop
- 80042da:      370c            adds    r7, #12
- 80042dc:      46bd            mov     sp, r7
- 80042de:      f85d 7b04       ldr.w   r7, [sp], #4
- 80042e2:      4770            bx      lr
+ 8004308:      bf00            nop
+ 800430a:      370c            adds    r7, #12
+ 800430c:      46bd            mov     sp, r7
+ 800430e:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8004312:      4770            bx      lr
 
-080042e4 <HAL_UART_Init>:
+08004314 <HAL_UART_Init>:
   *        parameters in the UART_InitTypeDef and initialize the associated handle.
   * @param huart UART handle.
   * @retval HAL status
   */
 HAL_StatusTypeDef HAL_UART_Init(UART_HandleTypeDef *huart)
 {
- 80042e4:      b580            push    {r7, lr}
- 80042e6:      b082            sub     sp, #8
- 80042e8:      af00            add     r7, sp, #0
- 80042ea:      6078            str     r0, [r7, #4]
+ 8004314:      b580            push    {r7, lr}
+ 8004316:      b082            sub     sp, #8
+ 8004318:      af00            add     r7, sp, #0
+ 800431a:      6078            str     r0, [r7, #4]
   /* Check the UART handle allocation */
   if (huart == NULL)
- 80042ec:      687b            ldr     r3, [r7, #4]
- 80042ee:      2b00            cmp     r3, #0
- 80042f0:      d101            bne.n   80042f6 <HAL_UART_Init+0x12>
+ 800431c:      687b            ldr     r3, [r7, #4]
+ 800431e:      2b00            cmp     r3, #0
+ 8004320:      d101            bne.n   8004326 <HAL_UART_Init+0x12>
   {
     return HAL_ERROR;
- 80042f2:      2301            movs    r3, #1
- 80042f4:      e040            b.n     8004378 <HAL_UART_Init+0x94>
+ 8004322:      2301            movs    r3, #1
+ 8004324:      e040            b.n     80043a8 <HAL_UART_Init+0x94>
   {
     /* Check the parameters */
     assert_param(IS_UART_INSTANCE(huart->Instance));
   }
 
   if (huart->gState == HAL_UART_STATE_RESET)
- 80042f6:      687b            ldr     r3, [r7, #4]
- 80042f8:      6f5b            ldr     r3, [r3, #116]  ; 0x74
- 80042fa:      2b00            cmp     r3, #0
- 80042fc:      d106            bne.n   800430c <HAL_UART_Init+0x28>
+ 8004326:      687b            ldr     r3, [r7, #4]
+ 8004328:      6f5b            ldr     r3, [r3, #116]  ; 0x74
+ 800432a:      2b00            cmp     r3, #0
+ 800432c:      d106            bne.n   800433c <HAL_UART_Init+0x28>
   {
     /* Allocate lock resource and initialize it */
     huart->Lock = HAL_UNLOCKED;
- 80042fe:      687b            ldr     r3, [r7, #4]
- 8004300:      2200            movs    r2, #0
- 8004302:      f883 2070       strb.w  r2, [r3, #112]  ; 0x70
+ 800432e:      687b            ldr     r3, [r7, #4]
+ 8004330:      2200            movs    r2, #0
+ 8004332:      f883 2070       strb.w  r2, [r3, #112]  ; 0x70
 
     /* Init the low level hardware */
     huart->MspInitCallback(huart);
 #else
     /* Init the low level hardware : GPIO, CLOCK */
     HAL_UART_MspInit(huart);
- 8004306:      6878            ldr     r0, [r7, #4]
- 8004308:      f7fd fa38       bl      800177c <HAL_UART_MspInit>
+ 8004336:      6878            ldr     r0, [r7, #4]
+ 8004338:      f7fd fa38       bl      80017ac <HAL_UART_MspInit>
 #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
   }
 
   huart->gState = HAL_UART_STATE_BUSY;
- 800430c:      687b            ldr     r3, [r7, #4]
- 800430e:      2224            movs    r2, #36 ; 0x24
- 8004310:      675a            str     r2, [r3, #116]  ; 0x74
+ 800433c:      687b            ldr     r3, [r7, #4]
+ 800433e:      2224            movs    r2, #36 ; 0x24
+ 8004340:      675a            str     r2, [r3, #116]  ; 0x74
 
   /* Disable the Peripheral */
   __HAL_UART_DISABLE(huart);
- 8004312:      687b            ldr     r3, [r7, #4]
- 8004314:      681b            ldr     r3, [r3, #0]
- 8004316:      681a            ldr     r2, [r3, #0]
- 8004318:      687b            ldr     r3, [r7, #4]
- 800431a:      681b            ldr     r3, [r3, #0]
- 800431c:      f022 0201       bic.w   r2, r2, #1
- 8004320:      601a            str     r2, [r3, #0]
+ 8004342:      687b            ldr     r3, [r7, #4]
+ 8004344:      681b            ldr     r3, [r3, #0]
+ 8004346:      681a            ldr     r2, [r3, #0]
+ 8004348:      687b            ldr     r3, [r7, #4]
+ 800434a:      681b            ldr     r3, [r3, #0]
+ 800434c:      f022 0201       bic.w   r2, r2, #1
+ 8004350:      601a            str     r2, [r3, #0]
 
   /* Set the UART Communication parameters */
   if (UART_SetConfig(huart) == HAL_ERROR)
- 8004322:      6878            ldr     r0, [r7, #4]
- 8004324:      f000 f9ee       bl      8004704 <UART_SetConfig>
- 8004328:      4603            mov     r3, r0
- 800432a:      2b01            cmp     r3, #1
- 800432c:      d101            bne.n   8004332 <HAL_UART_Init+0x4e>
+ 8004352:      6878            ldr     r0, [r7, #4]
+ 8004354:      f000 f9ee       bl      8004734 <UART_SetConfig>
+ 8004358:      4603            mov     r3, r0
+ 800435a:      2b01            cmp     r3, #1
+ 800435c:      d101            bne.n   8004362 <HAL_UART_Init+0x4e>
   {
     return HAL_ERROR;
- 800432e:      2301            movs    r3, #1
- 8004330:      e022            b.n     8004378 <HAL_UART_Init+0x94>
+ 800435e:      2301            movs    r3, #1
+ 8004360:      e022            b.n     80043a8 <HAL_UART_Init+0x94>
   }
 
   if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT)
- 8004332:      687b            ldr     r3, [r7, #4]
- 8004334:      6a5b            ldr     r3, [r3, #36]   ; 0x24
- 8004336:      2b00            cmp     r3, #0
- 8004338:      d002            beq.n   8004340 <HAL_UART_Init+0x5c>
+ 8004362:      687b            ldr     r3, [r7, #4]
+ 8004364:      6a5b            ldr     r3, [r3, #36]   ; 0x24
+ 8004366:      2b00            cmp     r3, #0
+ 8004368:      d002            beq.n   8004370 <HAL_UART_Init+0x5c>
   {
     UART_AdvFeatureConfig(huart);
- 800433a:      6878            ldr     r0, [r7, #4]
- 800433c:      f000 fc86       bl      8004c4c <UART_AdvFeatureConfig>
+ 800436a:      6878            ldr     r0, [r7, #4]
+ 800436c:      f000 fc86       bl      8004c7c <UART_AdvFeatureConfig>
   }
 
   /* In asynchronous mode, the following bits must be kept cleared:
   - LINEN and CLKEN bits in the USART_CR2 register,
   - SCEN, HDSEL and IREN  bits in the USART_CR3 register.*/
   CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
- 8004340:      687b            ldr     r3, [r7, #4]
- 8004342:      681b            ldr     r3, [r3, #0]
- 8004344:      685a            ldr     r2, [r3, #4]
- 8004346:      687b            ldr     r3, [r7, #4]
- 8004348:      681b            ldr     r3, [r3, #0]
- 800434a:      f422 4290       bic.w   r2, r2, #18432  ; 0x4800
- 800434e:      605a            str     r2, [r3, #4]
+ 8004370:      687b            ldr     r3, [r7, #4]
+ 8004372:      681b            ldr     r3, [r3, #0]
+ 8004374:      685a            ldr     r2, [r3, #4]
+ 8004376:      687b            ldr     r3, [r7, #4]
+ 8004378:      681b            ldr     r3, [r3, #0]
+ 800437a:      f422 4290       bic.w   r2, r2, #18432  ; 0x4800
+ 800437e:      605a            str     r2, [r3, #4]
   CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
- 8004350:      687b            ldr     r3, [r7, #4]
- 8004352:      681b            ldr     r3, [r3, #0]
- 8004354:      689a            ldr     r2, [r3, #8]
- 8004356:      687b            ldr     r3, [r7, #4]
- 8004358:      681b            ldr     r3, [r3, #0]
- 800435a:      f022 022a       bic.w   r2, r2, #42     ; 0x2a
- 800435e:      609a            str     r2, [r3, #8]
+ 8004380:      687b            ldr     r3, [r7, #4]
+ 8004382:      681b            ldr     r3, [r3, #0]
+ 8004384:      689a            ldr     r2, [r3, #8]
+ 8004386:      687b            ldr     r3, [r7, #4]
+ 8004388:      681b            ldr     r3, [r3, #0]
+ 800438a:      f022 022a       bic.w   r2, r2, #42     ; 0x2a
+ 800438e:      609a            str     r2, [r3, #8]
 
   /* Enable the Peripheral */
   __HAL_UART_ENABLE(huart);
- 8004360:      687b            ldr     r3, [r7, #4]
- 8004362:      681b            ldr     r3, [r3, #0]
- 8004364:      681a            ldr     r2, [r3, #0]
- 8004366:      687b            ldr     r3, [r7, #4]
- 8004368:      681b            ldr     r3, [r3, #0]
- 800436a:      f042 0201       orr.w   r2, r2, #1
- 800436e:      601a            str     r2, [r3, #0]
+ 8004390:      687b            ldr     r3, [r7, #4]
+ 8004392:      681b            ldr     r3, [r3, #0]
+ 8004394:      681a            ldr     r2, [r3, #0]
+ 8004396:      687b            ldr     r3, [r7, #4]
+ 8004398:      681b            ldr     r3, [r3, #0]
+ 800439a:      f042 0201       orr.w   r2, r2, #1
+ 800439e:      601a            str     r2, [r3, #0]
 
   /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */
   return (UART_CheckIdleState(huart));
- 8004370:      6878            ldr     r0, [r7, #4]
- 8004372:      f000 fd0d       bl      8004d90 <UART_CheckIdleState>
- 8004376:      4603            mov     r3, r0
+ 80043a0:      6878            ldr     r0, [r7, #4]
+ 80043a2:      f000 fd0d       bl      8004dc0 <UART_CheckIdleState>
+ 80043a6:      4603            mov     r3, r0
 }
- 8004378:      4618            mov     r0, r3
- 800437a:      3708            adds    r7, #8
- 800437c:      46bd            mov     sp, r7
- 800437e:      bd80            pop     {r7, pc}
+ 80043a8:      4618            mov     r0, r3
+ 80043aa:      3708            adds    r7, #8
+ 80043ac:      46bd            mov     sp, r7
+ 80043ae:      bd80            pop     {r7, pc}
 
-08004380 <HAL_UART_Transmit>:
+080043b0 <HAL_UART_Transmit>:
   * @param Size    Amount of data to be sent.
   * @param Timeout Timeout duration.
   * @retval HAL status
   */
 HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout)
 {
- 8004380:      b580            push    {r7, lr}
- 8004382:      b08a            sub     sp, #40 ; 0x28
- 8004384:      af02            add     r7, sp, #8
- 8004386:      60f8            str     r0, [r7, #12]
- 8004388:      60b9            str     r1, [r7, #8]
- 800438a:      603b            str     r3, [r7, #0]
- 800438c:      4613            mov     r3, r2
- 800438e:      80fb            strh    r3, [r7, #6]
+ 80043b0:      b580            push    {r7, lr}
+ 80043b2:      b08a            sub     sp, #40 ; 0x28
+ 80043b4:      af02            add     r7, sp, #8
+ 80043b6:      60f8            str     r0, [r7, #12]
+ 80043b8:      60b9            str     r1, [r7, #8]
+ 80043ba:      603b            str     r3, [r7, #0]
+ 80043bc:      4613            mov     r3, r2
+ 80043be:      80fb            strh    r3, [r7, #6]
   uint8_t  *pdata8bits;
   uint16_t *pdata16bits;
   uint32_t tickstart;
 
   /* Check that a Tx process is not already ongoing */
   if (huart->gState == HAL_UART_STATE_READY)
- 8004390:      68fb            ldr     r3, [r7, #12]
- 8004392:      6f5b            ldr     r3, [r3, #116]  ; 0x74
- 8004394:      2b20            cmp     r3, #32
- 8004396:      d17f            bne.n   8004498 <HAL_UART_Transmit+0x118>
+ 80043c0:      68fb            ldr     r3, [r7, #12]
+ 80043c2:      6f5b            ldr     r3, [r3, #116]  ; 0x74
+ 80043c4:      2b20            cmp     r3, #32
+ 80043c6:      d17f            bne.n   80044c8 <HAL_UART_Transmit+0x118>
   {
     if ((pData == NULL) || (Size == 0U))
- 8004398:      68bb            ldr     r3, [r7, #8]
- 800439a:      2b00            cmp     r3, #0
- 800439c:      d002            beq.n   80043a4 <HAL_UART_Transmit+0x24>
- 800439e:      88fb            ldrh    r3, [r7, #6]
- 80043a0:      2b00            cmp     r3, #0
- 80043a2:      d101            bne.n   80043a8 <HAL_UART_Transmit+0x28>
+ 80043c8:      68bb            ldr     r3, [r7, #8]
+ 80043ca:      2b00            cmp     r3, #0
+ 80043cc:      d002            beq.n   80043d4 <HAL_UART_Transmit+0x24>
+ 80043ce:      88fb            ldrh    r3, [r7, #6]
+ 80043d0:      2b00            cmp     r3, #0
+ 80043d2:      d101            bne.n   80043d8 <HAL_UART_Transmit+0x28>
     {
       return  HAL_ERROR;
- 80043a4:      2301            movs    r3, #1
- 80043a6:      e078            b.n     800449a <HAL_UART_Transmit+0x11a>
+ 80043d4:      2301            movs    r3, #1
+ 80043d6:      e078            b.n     80044ca <HAL_UART_Transmit+0x11a>
     }
 
     /* Process Locked */
     __HAL_LOCK(huart);
- 80043a8:      68fb            ldr     r3, [r7, #12]
- 80043aa:      f893 3070       ldrb.w  r3, [r3, #112]  ; 0x70
- 80043ae:      2b01            cmp     r3, #1
- 80043b0:      d101            bne.n   80043b6 <HAL_UART_Transmit+0x36>
- 80043b2:      2302            movs    r3, #2
- 80043b4:      e071            b.n     800449a <HAL_UART_Transmit+0x11a>
- 80043b6:      68fb            ldr     r3, [r7, #12]
- 80043b8:      2201            movs    r2, #1
- 80043ba:      f883 2070       strb.w  r2, [r3, #112]  ; 0x70
+ 80043d8:      68fb            ldr     r3, [r7, #12]
+ 80043da:      f893 3070       ldrb.w  r3, [r3, #112]  ; 0x70
+ 80043de:      2b01            cmp     r3, #1
+ 80043e0:      d101            bne.n   80043e6 <HAL_UART_Transmit+0x36>
+ 80043e2:      2302            movs    r3, #2
+ 80043e4:      e071            b.n     80044ca <HAL_UART_Transmit+0x11a>
+ 80043e6:      68fb            ldr     r3, [r7, #12]
+ 80043e8:      2201            movs    r2, #1
+ 80043ea:      f883 2070       strb.w  r2, [r3, #112]  ; 0x70
 
     huart->ErrorCode = HAL_UART_ERROR_NONE;
- 80043be:      68fb            ldr     r3, [r7, #12]
- 80043c0:      2200            movs    r2, #0
- 80043c2:      67da            str     r2, [r3, #124]  ; 0x7c
+ 80043ee:      68fb            ldr     r3, [r7, #12]
+ 80043f0:      2200            movs    r2, #0
+ 80043f2:      67da            str     r2, [r3, #124]  ; 0x7c
     huart->gState = HAL_UART_STATE_BUSY_TX;
- 80043c4:      68fb            ldr     r3, [r7, #12]
- 80043c6:      2221            movs    r2, #33 ; 0x21
- 80043c8:      675a            str     r2, [r3, #116]  ; 0x74
+ 80043f4:      68fb            ldr     r3, [r7, #12]
+ 80043f6:      2221            movs    r2, #33 ; 0x21
+ 80043f8:      675a            str     r2, [r3, #116]  ; 0x74
 
     /* Init tickstart for timeout managment*/
     tickstart = HAL_GetTick();
- 80043ca:      f7fd fb1f       bl      8001a0c <HAL_GetTick>
- 80043ce:      6178            str     r0, [r7, #20]
+ 80043fa:      f7fd fb1f       bl      8001a3c <HAL_GetTick>
+ 80043fe:      6178            str     r0, [r7, #20]
 
     huart->TxXferSize  = Size;
- 80043d0:      68fb            ldr     r3, [r7, #12]
- 80043d2:      88fa            ldrh    r2, [r7, #6]
- 80043d4:      f8a3 2050       strh.w  r2, [r3, #80]   ; 0x50
+ 8004400:      68fb            ldr     r3, [r7, #12]
+ 8004402:      88fa            ldrh    r2, [r7, #6]
+ 8004404:      f8a3 2050       strh.w  r2, [r3, #80]   ; 0x50
     huart->TxXferCount = Size;
- 80043d8:      68fb            ldr     r3, [r7, #12]
- 80043da:      88fa            ldrh    r2, [r7, #6]
- 80043dc:      f8a3 2052       strh.w  r2, [r3, #82]   ; 0x52
+ 8004408:      68fb            ldr     r3, [r7, #12]
+ 800440a:      88fa            ldrh    r2, [r7, #6]
+ 800440c:      f8a3 2052       strh.w  r2, [r3, #82]   ; 0x52
 
         /* In case of 9bits/No Parity transfer, pData needs to be handled as a uint16_t pointer */
     if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
- 80043e0:      68fb            ldr     r3, [r7, #12]
- 80043e2:      689b            ldr     r3, [r3, #8]
- 80043e4:      f5b3 5f80       cmp.w   r3, #4096       ; 0x1000
- 80043e8:      d108            bne.n   80043fc <HAL_UART_Transmit+0x7c>
- 80043ea:      68fb            ldr     r3, [r7, #12]
- 80043ec:      691b            ldr     r3, [r3, #16]
- 80043ee:      2b00            cmp     r3, #0
- 80043f0:      d104            bne.n   80043fc <HAL_UART_Transmit+0x7c>
+ 8004410:      68fb            ldr     r3, [r7, #12]
+ 8004412:      689b            ldr     r3, [r3, #8]
+ 8004414:      f5b3 5f80       cmp.w   r3, #4096       ; 0x1000
+ 8004418:      d108            bne.n   800442c <HAL_UART_Transmit+0x7c>
+ 800441a:      68fb            ldr     r3, [r7, #12]
+ 800441c:      691b            ldr     r3, [r3, #16]
+ 800441e:      2b00            cmp     r3, #0
+ 8004420:      d104            bne.n   800442c <HAL_UART_Transmit+0x7c>
     {
       pdata8bits  = NULL;
- 80043f2:      2300            movs    r3, #0
- 80043f4:      61fb            str     r3, [r7, #28]
+ 8004422:      2300            movs    r3, #0
+ 8004424:      61fb            str     r3, [r7, #28]
       pdata16bits = (uint16_t *) pData;
- 80043f6:      68bb            ldr     r3, [r7, #8]
- 80043f8:      61bb            str     r3, [r7, #24]
- 80043fa:      e003            b.n     8004404 <HAL_UART_Transmit+0x84>
+ 8004426:      68bb            ldr     r3, [r7, #8]
+ 8004428:      61bb            str     r3, [r7, #24]
+ 800442a:      e003            b.n     8004434 <HAL_UART_Transmit+0x84>
     }
     else
     {
       pdata8bits  = pData;
- 80043fc:      68bb            ldr     r3, [r7, #8]
- 80043fe:      61fb            str     r3, [r7, #28]
+ 800442c:      68bb            ldr     r3, [r7, #8]
+ 800442e:      61fb            str     r3, [r7, #28]
       pdata16bits = NULL;
- 8004400:      2300            movs    r3, #0
- 8004402:      61bb            str     r3, [r7, #24]
+ 8004430:      2300            movs    r3, #0
+ 8004432:      61bb            str     r3, [r7, #24]
     }
 
     while (huart->TxXferCount > 0U)
- 8004404:      e02c            b.n     8004460 <HAL_UART_Transmit+0xe0>
+ 8004434:      e02c            b.n     8004490 <HAL_UART_Transmit+0xe0>
     {
       if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TXE, RESET, tickstart, Timeout) != HAL_OK)
- 8004406:      683b            ldr     r3, [r7, #0]
- 8004408:      9300            str     r3, [sp, #0]
- 800440a:      697b            ldr     r3, [r7, #20]
- 800440c:      2200            movs    r2, #0
- 800440e:      2180            movs    r1, #128        ; 0x80
- 8004410:      68f8            ldr     r0, [r7, #12]
- 8004412:      f000 fcec       bl      8004dee <UART_WaitOnFlagUntilTimeout>
- 8004416:      4603            mov     r3, r0
- 8004418:      2b00            cmp     r3, #0
- 800441a:      d001            beq.n   8004420 <HAL_UART_Transmit+0xa0>
+ 8004436:      683b            ldr     r3, [r7, #0]
+ 8004438:      9300            str     r3, [sp, #0]
+ 800443a:      697b            ldr     r3, [r7, #20]
+ 800443c:      2200            movs    r2, #0
+ 800443e:      2180            movs    r1, #128        ; 0x80
+ 8004440:      68f8            ldr     r0, [r7, #12]
+ 8004442:      f000 fcec       bl      8004e1e <UART_WaitOnFlagUntilTimeout>
+ 8004446:      4603            mov     r3, r0
+ 8004448:      2b00            cmp     r3, #0
+ 800444a:      d001            beq.n   8004450 <HAL_UART_Transmit+0xa0>
       {
         return HAL_TIMEOUT;
- 800441c:      2303            movs    r3, #3
- 800441e:      e03c            b.n     800449a <HAL_UART_Transmit+0x11a>
+ 800444c:      2303            movs    r3, #3
+ 800444e:      e03c            b.n     80044ca <HAL_UART_Transmit+0x11a>
       }
       if (pdata8bits == NULL)
- 8004420:      69fb            ldr     r3, [r7, #28]
- 8004422:      2b00            cmp     r3, #0
- 8004424:      d10b            bne.n   800443e <HAL_UART_Transmit+0xbe>
+ 8004450:      69fb            ldr     r3, [r7, #28]
+ 8004452:      2b00            cmp     r3, #0
+ 8004454:      d10b            bne.n   800446e <HAL_UART_Transmit+0xbe>
       {
         huart->Instance->TDR = (uint16_t)(*pdata16bits & 0x01FFU);
- 8004426:      69bb            ldr     r3, [r7, #24]
- 8004428:      881b            ldrh    r3, [r3, #0]
- 800442a:      461a            mov     r2, r3
- 800442c:      68fb            ldr     r3, [r7, #12]
- 800442e:      681b            ldr     r3, [r3, #0]
- 8004430:      f3c2 0208       ubfx    r2, r2, #0, #9
- 8004434:      629a            str     r2, [r3, #40]   ; 0x28
+ 8004456:      69bb            ldr     r3, [r7, #24]
+ 8004458:      881b            ldrh    r3, [r3, #0]
+ 800445a:      461a            mov     r2, r3
+ 800445c:      68fb            ldr     r3, [r7, #12]
+ 800445e:      681b            ldr     r3, [r3, #0]
+ 8004460:      f3c2 0208       ubfx    r2, r2, #0, #9
+ 8004464:      629a            str     r2, [r3, #40]   ; 0x28
         pdata16bits++;
- 8004436:      69bb            ldr     r3, [r7, #24]
- 8004438:      3302            adds    r3, #2
- 800443a:      61bb            str     r3, [r7, #24]
- 800443c:      e007            b.n     800444e <HAL_UART_Transmit+0xce>
+ 8004466:      69bb            ldr     r3, [r7, #24]
+ 8004468:      3302            adds    r3, #2
+ 800446a:      61bb            str     r3, [r7, #24]
+ 800446c:      e007            b.n     800447e <HAL_UART_Transmit+0xce>
       }
       else
       {
         huart->Instance->TDR = (uint8_t)(*pdata8bits & 0xFFU);
- 800443e:      69fb            ldr     r3, [r7, #28]
- 8004440:      781a            ldrb    r2, [r3, #0]
- 8004442:      68fb            ldr     r3, [r7, #12]
- 8004444:      681b            ldr     r3, [r3, #0]
- 8004446:      629a            str     r2, [r3, #40]   ; 0x28
+ 800446e:      69fb            ldr     r3, [r7, #28]
+ 8004470:      781a            ldrb    r2, [r3, #0]
+ 8004472:      68fb            ldr     r3, [r7, #12]
+ 8004474:      681b            ldr     r3, [r3, #0]
+ 8004476:      629a            str     r2, [r3, #40]   ; 0x28
         pdata8bits++;
- 8004448:      69fb            ldr     r3, [r7, #28]
- 800444a:      3301            adds    r3, #1
- 800444c:      61fb            str     r3, [r7, #28]
+ 8004478:      69fb            ldr     r3, [r7, #28]
+ 800447a:      3301            adds    r3, #1
+ 800447c:      61fb            str     r3, [r7, #28]
       }
       huart->TxXferCount--;
- 800444e:      68fb            ldr     r3, [r7, #12]
- 8004450:      f8b3 3052       ldrh.w  r3, [r3, #82]   ; 0x52
- 8004454:      b29b            uxth    r3, r3
- 8004456:      3b01            subs    r3, #1
- 8004458:      b29a            uxth    r2, r3
- 800445a:      68fb            ldr     r3, [r7, #12]
- 800445c:      f8a3 2052       strh.w  r2, [r3, #82]   ; 0x52
+ 800447e:      68fb            ldr     r3, [r7, #12]
+ 8004480:      f8b3 3052       ldrh.w  r3, [r3, #82]   ; 0x52
+ 8004484:      b29b            uxth    r3, r3
+ 8004486:      3b01            subs    r3, #1
+ 8004488:      b29a            uxth    r2, r3
+ 800448a:      68fb            ldr     r3, [r7, #12]
+ 800448c:      f8a3 2052       strh.w  r2, [r3, #82]   ; 0x52
     while (huart->TxXferCount > 0U)
- 8004460:      68fb            ldr     r3, [r7, #12]
- 8004462:      f8b3 3052       ldrh.w  r3, [r3, #82]   ; 0x52
- 8004466:      b29b            uxth    r3, r3
- 8004468:      2b00            cmp     r3, #0
- 800446a:      d1cc            bne.n   8004406 <HAL_UART_Transmit+0x86>
+ 8004490:      68fb            ldr     r3, [r7, #12]
+ 8004492:      f8b3 3052       ldrh.w  r3, [r3, #82]   ; 0x52
+ 8004496:      b29b            uxth    r3, r3
+ 8004498:      2b00            cmp     r3, #0
+ 800449a:      d1cc            bne.n   8004436 <HAL_UART_Transmit+0x86>
     }
 
     if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TC, RESET, tickstart, Timeout) != HAL_OK)
- 800446c:      683b            ldr     r3, [r7, #0]
- 800446e:      9300            str     r3, [sp, #0]
- 8004470:      697b            ldr     r3, [r7, #20]
- 8004472:      2200            movs    r2, #0
- 8004474:      2140            movs    r1, #64 ; 0x40
- 8004476:      68f8            ldr     r0, [r7, #12]
- 8004478:      f000 fcb9       bl      8004dee <UART_WaitOnFlagUntilTimeout>
- 800447c:      4603            mov     r3, r0
- 800447e:      2b00            cmp     r3, #0
- 8004480:      d001            beq.n   8004486 <HAL_UART_Transmit+0x106>
+ 800449c:      683b            ldr     r3, [r7, #0]
+ 800449e:      9300            str     r3, [sp, #0]
+ 80044a0:      697b            ldr     r3, [r7, #20]
+ 80044a2:      2200            movs    r2, #0
+ 80044a4:      2140            movs    r1, #64 ; 0x40
+ 80044a6:      68f8            ldr     r0, [r7, #12]
+ 80044a8:      f000 fcb9       bl      8004e1e <UART_WaitOnFlagUntilTimeout>
+ 80044ac:      4603            mov     r3, r0
+ 80044ae:      2b00            cmp     r3, #0
+ 80044b0:      d001            beq.n   80044b6 <HAL_UART_Transmit+0x106>
     {
       return HAL_TIMEOUT;
- 8004482:      2303            movs    r3, #3
- 8004484:      e009            b.n     800449a <HAL_UART_Transmit+0x11a>
+ 80044b2:      2303            movs    r3, #3
+ 80044b4:      e009            b.n     80044ca <HAL_UART_Transmit+0x11a>
     }
 
     /* At end of Tx process, restore huart->gState to Ready */
     huart->gState = HAL_UART_STATE_READY;
- 8004486:      68fb            ldr     r3, [r7, #12]
- 8004488:      2220            movs    r2, #32
- 800448a:      675a            str     r2, [r3, #116]  ; 0x74
+ 80044b6:      68fb            ldr     r3, [r7, #12]
+ 80044b8:      2220            movs    r2, #32
+ 80044ba:      675a            str     r2, [r3, #116]  ; 0x74
 
     /* Process Unlocked */
     __HAL_UNLOCK(huart);
- 800448c:      68fb            ldr     r3, [r7, #12]
- 800448e:      2200            movs    r2, #0
- 8004490:      f883 2070       strb.w  r2, [r3, #112]  ; 0x70
+ 80044bc:      68fb            ldr     r3, [r7, #12]
+ 80044be:      2200            movs    r2, #0
+ 80044c0:      f883 2070       strb.w  r2, [r3, #112]  ; 0x70
 
     return HAL_OK;
- 8004494:      2300            movs    r3, #0
- 8004496:      e000            b.n     800449a <HAL_UART_Transmit+0x11a>
+ 80044c4:      2300            movs    r3, #0
+ 80044c6:      e000            b.n     80044ca <HAL_UART_Transmit+0x11a>
   }
   else
   {
     return HAL_BUSY;
- 8004498:      2302            movs    r3, #2
+ 80044c8:      2302            movs    r3, #2
   }
 }
- 800449a:      4618            mov     r0, r3
- 800449c:      3720            adds    r7, #32
- 800449e:      46bd            mov     sp, r7
- 80044a0:      bd80            pop     {r7, pc}
+ 80044ca:      4618            mov     r0, r3
+ 80044cc:      3720            adds    r7, #32
+ 80044ce:      46bd            mov     sp, r7
+ 80044d0:      bd80            pop     {r7, pc}
        ...
 
-080044a4 <HAL_UART_IRQHandler>:
+080044d4 <HAL_UART_IRQHandler>:
   * @brief Handle UART interrupt request.
   * @param huart UART handle.
   * @retval None
   */
 void HAL_UART_IRQHandler(UART_HandleTypeDef *huart)
 {
- 80044a4:      b580            push    {r7, lr}
- 80044a6:      b088            sub     sp, #32
- 80044a8:      af00            add     r7, sp, #0
- 80044aa:      6078            str     r0, [r7, #4]
+ 80044d4:      b580            push    {r7, lr}
+ 80044d6:      b088            sub     sp, #32
+ 80044d8:      af00            add     r7, sp, #0
+ 80044da:      6078            str     r0, [r7, #4]
   uint32_t isrflags   = READ_REG(huart->Instance->ISR);
- 80044ac:      687b            ldr     r3, [r7, #4]
- 80044ae:      681b            ldr     r3, [r3, #0]
- 80044b0:      69db            ldr     r3, [r3, #28]
- 80044b2:      61fb            str     r3, [r7, #28]
+ 80044dc:      687b            ldr     r3, [r7, #4]
+ 80044de:      681b            ldr     r3, [r3, #0]
+ 80044e0:      69db            ldr     r3, [r3, #28]
+ 80044e2:      61fb            str     r3, [r7, #28]
   uint32_t cr1its     = READ_REG(huart->Instance->CR1);
- 80044b4:      687b            ldr     r3, [r7, #4]
- 80044b6:      681b            ldr     r3, [r3, #0]
- 80044b8:      681b            ldr     r3, [r3, #0]
- 80044ba:      61bb            str     r3, [r7, #24]
+ 80044e4:      687b            ldr     r3, [r7, #4]
+ 80044e6:      681b            ldr     r3, [r3, #0]
+ 80044e8:      681b            ldr     r3, [r3, #0]
+ 80044ea:      61bb            str     r3, [r7, #24]
   uint32_t cr3its     = READ_REG(huart->Instance->CR3);
- 80044bc:      687b            ldr     r3, [r7, #4]
- 80044be:      681b            ldr     r3, [r3, #0]
- 80044c0:      689b            ldr     r3, [r3, #8]
- 80044c2:      617b            str     r3, [r7, #20]
+ 80044ec:      687b            ldr     r3, [r7, #4]
+ 80044ee:      681b            ldr     r3, [r3, #0]
+ 80044f0:      689b            ldr     r3, [r3, #8]
+ 80044f2:      617b            str     r3, [r7, #20]
 
   uint32_t errorflags;
   uint32_t errorcode;
 
   /* If no error occurs */
   errorflags = (isrflags & (uint32_t)(USART_ISR_PE | USART_ISR_FE | USART_ISR_ORE | USART_ISR_NE));
- 80044c4:      69fb            ldr     r3, [r7, #28]
- 80044c6:      f003 030f       and.w   r3, r3, #15
- 80044ca:      613b            str     r3, [r7, #16]
+ 80044f4:      69fb            ldr     r3, [r7, #28]
+ 80044f6:      f003 030f       and.w   r3, r3, #15
+ 80044fa:      613b            str     r3, [r7, #16]
   if (errorflags == 0U)
- 80044cc:      693b            ldr     r3, [r7, #16]
- 80044ce:      2b00            cmp     r3, #0
- 80044d0:      d113            bne.n   80044fa <HAL_UART_IRQHandler+0x56>
+ 80044fc:      693b            ldr     r3, [r7, #16]
+ 80044fe:      2b00            cmp     r3, #0
+ 8004500:      d113            bne.n   800452a <HAL_UART_IRQHandler+0x56>
   {
     /* UART in mode Receiver ---------------------------------------------------*/
     if (((isrflags & USART_ISR_RXNE) != 0U)
- 80044d2:      69fb            ldr     r3, [r7, #28]
- 80044d4:      f003 0320       and.w   r3, r3, #32
- 80044d8:      2b00            cmp     r3, #0
- 80044da:      d00e            beq.n   80044fa <HAL_UART_IRQHandler+0x56>
+ 8004502:      69fb            ldr     r3, [r7, #28]
+ 8004504:      f003 0320       and.w   r3, r3, #32
+ 8004508:      2b00            cmp     r3, #0
+ 800450a:      d00e            beq.n   800452a <HAL_UART_IRQHandler+0x56>
         && ((cr1its & USART_CR1_RXNEIE) != 0U))
- 80044dc:      69bb            ldr     r3, [r7, #24]
- 80044de:      f003 0320       and.w   r3, r3, #32
- 80044e2:      2b00            cmp     r3, #0
- 80044e4:      d009            beq.n   80044fa <HAL_UART_IRQHandler+0x56>
+ 800450c:      69bb            ldr     r3, [r7, #24]
+ 800450e:      f003 0320       and.w   r3, r3, #32
+ 8004512:      2b00            cmp     r3, #0
+ 8004514:      d009            beq.n   800452a <HAL_UART_IRQHandler+0x56>
     {
       if (huart->RxISR != NULL)
- 80044e6:      687b            ldr     r3, [r7, #4]
- 80044e8:      6e1b            ldr     r3, [r3, #96]   ; 0x60
- 80044ea:      2b00            cmp     r3, #0
- 80044ec:      f000 80eb       beq.w   80046c6 <HAL_UART_IRQHandler+0x222>
+ 8004516:      687b            ldr     r3, [r7, #4]
+ 8004518:      6e1b            ldr     r3, [r3, #96]   ; 0x60
+ 800451a:      2b00            cmp     r3, #0
+ 800451c:      f000 80eb       beq.w   80046f6 <HAL_UART_IRQHandler+0x222>
       {
         huart->RxISR(huart);
- 80044f0:      687b            ldr     r3, [r7, #4]
- 80044f2:      6e1b            ldr     r3, [r3, #96]   ; 0x60
- 80044f4:      6878            ldr     r0, [r7, #4]
- 80044f6:      4798            blx     r3
+ 8004520:      687b            ldr     r3, [r7, #4]
+ 8004522:      6e1b            ldr     r3, [r3, #96]   ; 0x60
+ 8004524:      6878            ldr     r0, [r7, #4]
+ 8004526:      4798            blx     r3
       }
       return;
- 80044f8:      e0e5            b.n     80046c6 <HAL_UART_IRQHandler+0x222>
+ 8004528:      e0e5            b.n     80046f6 <HAL_UART_IRQHandler+0x222>
     }
   }
 
   /* If some errors occur */
   if ((errorflags != 0U)
- 80044fa:      693b            ldr     r3, [r7, #16]
- 80044fc:      2b00            cmp     r3, #0
- 80044fe:      f000 80c0       beq.w   8004682 <HAL_UART_IRQHandler+0x1de>
+ 800452a:      693b            ldr     r3, [r7, #16]
+ 800452c:      2b00            cmp     r3, #0
+ 800452e:      f000 80c0       beq.w   80046b2 <HAL_UART_IRQHandler+0x1de>
       && (((cr3its & USART_CR3_EIE) != 0U)
- 8004502:      697b            ldr     r3, [r7, #20]
- 8004504:      f003 0301       and.w   r3, r3, #1
- 8004508:      2b00            cmp     r3, #0
- 800450a:      d105            bne.n   8004518 <HAL_UART_IRQHandler+0x74>
+ 8004532:      697b            ldr     r3, [r7, #20]
+ 8004534:      f003 0301       and.w   r3, r3, #1
+ 8004538:      2b00            cmp     r3, #0
+ 800453a:      d105            bne.n   8004548 <HAL_UART_IRQHandler+0x74>
           || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE)) != 0U)))
- 800450c:      69bb            ldr     r3, [r7, #24]
- 800450e:      f403 7390       and.w   r3, r3, #288    ; 0x120
- 8004512:      2b00            cmp     r3, #0
- 8004514:      f000 80b5       beq.w   8004682 <HAL_UART_IRQHandler+0x1de>
+ 800453c:      69bb            ldr     r3, [r7, #24]
+ 800453e:      f403 7390       and.w   r3, r3, #288    ; 0x120
+ 8004542:      2b00            cmp     r3, #0
+ 8004544:      f000 80b5       beq.w   80046b2 <HAL_UART_IRQHandler+0x1de>
   {
     /* UART parity error interrupt occurred -------------------------------------*/
     if (((isrflags & USART_ISR_PE) != 0U) && ((cr1its & USART_CR1_PEIE) != 0U))
- 8004518:      69fb            ldr     r3, [r7, #28]
- 800451a:      f003 0301       and.w   r3, r3, #1
- 800451e:      2b00            cmp     r3, #0
- 8004520:      d00e            beq.n   8004540 <HAL_UART_IRQHandler+0x9c>
- 8004522:      69bb            ldr     r3, [r7, #24]
- 8004524:      f403 7380       and.w   r3, r3, #256    ; 0x100
- 8004528:      2b00            cmp     r3, #0
- 800452a:      d009            beq.n   8004540 <HAL_UART_IRQHandler+0x9c>
+ 8004548:      69fb            ldr     r3, [r7, #28]
+ 800454a:      f003 0301       and.w   r3, r3, #1
+ 800454e:      2b00            cmp     r3, #0
+ 8004550:      d00e            beq.n   8004570 <HAL_UART_IRQHandler+0x9c>
+ 8004552:      69bb            ldr     r3, [r7, #24]
+ 8004554:      f403 7380       and.w   r3, r3, #256    ; 0x100
+ 8004558:      2b00            cmp     r3, #0
+ 800455a:      d009            beq.n   8004570 <HAL_UART_IRQHandler+0x9c>
     {
       __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_PEF);
- 800452c:      687b            ldr     r3, [r7, #4]
- 800452e:      681b            ldr     r3, [r3, #0]
- 8004530:      2201            movs    r2, #1
- 8004532:      621a            str     r2, [r3, #32]
+ 800455c:      687b            ldr     r3, [r7, #4]
+ 800455e:      681b            ldr     r3, [r3, #0]
+ 8004560:      2201            movs    r2, #1
+ 8004562:      621a            str     r2, [r3, #32]
 
       huart->ErrorCode |= HAL_UART_ERROR_PE;
- 8004534:      687b            ldr     r3, [r7, #4]
- 8004536:      6fdb            ldr     r3, [r3, #124]  ; 0x7c
- 8004538:      f043 0201       orr.w   r2, r3, #1
- 800453c:      687b            ldr     r3, [r7, #4]
- 800453e:      67da            str     r2, [r3, #124]  ; 0x7c
+ 8004564:      687b            ldr     r3, [r7, #4]
+ 8004566:      6fdb            ldr     r3, [r3, #124]  ; 0x7c
+ 8004568:      f043 0201       orr.w   r2, r3, #1
+ 800456c:      687b            ldr     r3, [r7, #4]
+ 800456e:      67da            str     r2, [r3, #124]  ; 0x7c
     }
 
     /* UART frame error interrupt occurred --------------------------------------*/
     if (((isrflags & USART_ISR_FE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U))
- 8004540:      69fb            ldr     r3, [r7, #28]
- 8004542:      f003 0302       and.w   r3, r3, #2
- 8004546:      2b00            cmp     r3, #0
- 8004548:      d00e            beq.n   8004568 <HAL_UART_IRQHandler+0xc4>
- 800454a:      697b            ldr     r3, [r7, #20]
- 800454c:      f003 0301       and.w   r3, r3, #1
- 8004550:      2b00            cmp     r3, #0
- 8004552:      d009            beq.n   8004568 <HAL_UART_IRQHandler+0xc4>
+ 8004570:      69fb            ldr     r3, [r7, #28]
+ 8004572:      f003 0302       and.w   r3, r3, #2
+ 8004576:      2b00            cmp     r3, #0
+ 8004578:      d00e            beq.n   8004598 <HAL_UART_IRQHandler+0xc4>
+ 800457a:      697b            ldr     r3, [r7, #20]
+ 800457c:      f003 0301       and.w   r3, r3, #1
+ 8004580:      2b00            cmp     r3, #0
+ 8004582:      d009            beq.n   8004598 <HAL_UART_IRQHandler+0xc4>
     {
       __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_FEF);
- 8004554:      687b            ldr     r3, [r7, #4]
- 8004556:      681b            ldr     r3, [r3, #0]
- 8004558:      2202            movs    r2, #2
- 800455a:      621a            str     r2, [r3, #32]
+ 8004584:      687b            ldr     r3, [r7, #4]
+ 8004586:      681b            ldr     r3, [r3, #0]
+ 8004588:      2202            movs    r2, #2
+ 800458a:      621a            str     r2, [r3, #32]
 
       huart->ErrorCode |= HAL_UART_ERROR_FE;
- 800455c:      687b            ldr     r3, [r7, #4]
- 800455e:      6fdb            ldr     r3, [r3, #124]  ; 0x7c
- 8004560:      f043 0204       orr.w   r2, r3, #4
- 8004564:      687b            ldr     r3, [r7, #4]
- 8004566:      67da            str     r2, [r3, #124]  ; 0x7c
+ 800458c:      687b            ldr     r3, [r7, #4]
+ 800458e:      6fdb            ldr     r3, [r3, #124]  ; 0x7c
+ 8004590:      f043 0204       orr.w   r2, r3, #4
+ 8004594:      687b            ldr     r3, [r7, #4]
+ 8004596:      67da            str     r2, [r3, #124]  ; 0x7c
     }
 
     /* UART noise error interrupt occurred --------------------------------------*/
     if (((isrflags & USART_ISR_NE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U))
- 8004568:      69fb            ldr     r3, [r7, #28]
- 800456a:      f003 0304       and.w   r3, r3, #4
- 800456e:      2b00            cmp     r3, #0
- 8004570:      d00e            beq.n   8004590 <HAL_UART_IRQHandler+0xec>
- 8004572:      697b            ldr     r3, [r7, #20]
- 8004574:      f003 0301       and.w   r3, r3, #1
- 8004578:      2b00            cmp     r3, #0
- 800457a:      d009            beq.n   8004590 <HAL_UART_IRQHandler+0xec>
+ 8004598:      69fb            ldr     r3, [r7, #28]
+ 800459a:      f003 0304       and.w   r3, r3, #4
+ 800459e:      2b00            cmp     r3, #0
+ 80045a0:      d00e            beq.n   80045c0 <HAL_UART_IRQHandler+0xec>
+ 80045a2:      697b            ldr     r3, [r7, #20]
+ 80045a4:      f003 0301       and.w   r3, r3, #1
+ 80045a8:      2b00            cmp     r3, #0
+ 80045aa:      d009            beq.n   80045c0 <HAL_UART_IRQHandler+0xec>
     {
       __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_NEF);
- 800457c:      687b            ldr     r3, [r7, #4]
- 800457e:      681b            ldr     r3, [r3, #0]
- 8004580:      2204            movs    r2, #4
- 8004582:      621a            str     r2, [r3, #32]
+ 80045ac:      687b            ldr     r3, [r7, #4]
+ 80045ae:      681b            ldr     r3, [r3, #0]
+ 80045b0:      2204            movs    r2, #4
+ 80045b2:      621a            str     r2, [r3, #32]
 
       huart->ErrorCode |= HAL_UART_ERROR_NE;
- 8004584:      687b            ldr     r3, [r7, #4]
- 8004586:      6fdb            ldr     r3, [r3, #124]  ; 0x7c
- 8004588:      f043 0202       orr.w   r2, r3, #2
- 800458c:      687b            ldr     r3, [r7, #4]
- 800458e:      67da            str     r2, [r3, #124]  ; 0x7c
+ 80045b4:      687b            ldr     r3, [r7, #4]
+ 80045b6:      6fdb            ldr     r3, [r3, #124]  ; 0x7c
+ 80045b8:      f043 0202       orr.w   r2, r3, #2
+ 80045bc:      687b            ldr     r3, [r7, #4]
+ 80045be:      67da            str     r2, [r3, #124]  ; 0x7c
     }
 
     /* UART Over-Run interrupt occurred -----------------------------------------*/
     if (((isrflags & USART_ISR_ORE) != 0U)
- 8004590:      69fb            ldr     r3, [r7, #28]
- 8004592:      f003 0308       and.w   r3, r3, #8
- 8004596:      2b00            cmp     r3, #0
- 8004598:      d013            beq.n   80045c2 <HAL_UART_IRQHandler+0x11e>
+ 80045c0:      69fb            ldr     r3, [r7, #28]
+ 80045c2:      f003 0308       and.w   r3, r3, #8
+ 80045c6:      2b00            cmp     r3, #0
+ 80045c8:      d013            beq.n   80045f2 <HAL_UART_IRQHandler+0x11e>
         && (((cr1its & USART_CR1_RXNEIE) != 0U) ||
- 800459a:      69bb            ldr     r3, [r7, #24]
- 800459c:      f003 0320       and.w   r3, r3, #32
- 80045a0:      2b00            cmp     r3, #0
- 80045a2:      d104            bne.n   80045ae <HAL_UART_IRQHandler+0x10a>
+ 80045ca:      69bb            ldr     r3, [r7, #24]
+ 80045cc:      f003 0320       and.w   r3, r3, #32
+ 80045d0:      2b00            cmp     r3, #0
+ 80045d2:      d104            bne.n   80045de <HAL_UART_IRQHandler+0x10a>
             ((cr3its & USART_CR3_EIE) != 0U)))
- 80045a4:      697b            ldr     r3, [r7, #20]
- 80045a6:      f003 0301       and.w   r3, r3, #1
+ 80045d4:      697b            ldr     r3, [r7, #20]
+ 80045d6:      f003 0301       and.w   r3, r3, #1
         && (((cr1its & USART_CR1_RXNEIE) != 0U) ||
- 80045aa:      2b00            cmp     r3, #0
- 80045ac:      d009            beq.n   80045c2 <HAL_UART_IRQHandler+0x11e>
+ 80045da:      2b00            cmp     r3, #0
+ 80045dc:      d009            beq.n   80045f2 <HAL_UART_IRQHandler+0x11e>
     {
       __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF);
- 80045ae:      687b            ldr     r3, [r7, #4]
- 80045b0:      681b            ldr     r3, [r3, #0]
- 80045b2:      2208            movs    r2, #8
- 80045b4:      621a            str     r2, [r3, #32]
+ 80045de:      687b            ldr     r3, [r7, #4]
+ 80045e0:      681b            ldr     r3, [r3, #0]
+ 80045e2:      2208            movs    r2, #8
+ 80045e4:      621a            str     r2, [r3, #32]
 
       huart->ErrorCode |= HAL_UART_ERROR_ORE;
- 80045b6:      687b            ldr     r3, [r7, #4]
- 80045b8:      6fdb            ldr     r3, [r3, #124]  ; 0x7c
- 80045ba:      f043 0208       orr.w   r2, r3, #8
- 80045be:      687b            ldr     r3, [r7, #4]
- 80045c0:      67da            str     r2, [r3, #124]  ; 0x7c
+ 80045e6:      687b            ldr     r3, [r7, #4]
+ 80045e8:      6fdb            ldr     r3, [r3, #124]  ; 0x7c
+ 80045ea:      f043 0208       orr.w   r2, r3, #8
+ 80045ee:      687b            ldr     r3, [r7, #4]
+ 80045f0:      67da            str     r2, [r3, #124]  ; 0x7c
     }
 
     /* Call UART Error Call back function if need be --------------------------*/
     if (huart->ErrorCode != HAL_UART_ERROR_NONE)
- 80045c2:      687b            ldr     r3, [r7, #4]
- 80045c4:      6fdb            ldr     r3, [r3, #124]  ; 0x7c
- 80045c6:      2b00            cmp     r3, #0
- 80045c8:      d07f            beq.n   80046ca <HAL_UART_IRQHandler+0x226>
+ 80045f2:      687b            ldr     r3, [r7, #4]
+ 80045f4:      6fdb            ldr     r3, [r3, #124]  ; 0x7c
+ 80045f6:      2b00            cmp     r3, #0
+ 80045f8:      d07f            beq.n   80046fa <HAL_UART_IRQHandler+0x226>
     {
       /* UART in mode Receiver ---------------------------------------------------*/
       if (((isrflags & USART_ISR_RXNE) != 0U)
- 80045ca:      69fb            ldr     r3, [r7, #28]
- 80045cc:      f003 0320       and.w   r3, r3, #32
- 80045d0:      2b00            cmp     r3, #0
- 80045d2:      d00c            beq.n   80045ee <HAL_UART_IRQHandler+0x14a>
+ 80045fa:      69fb            ldr     r3, [r7, #28]
+ 80045fc:      f003 0320       and.w   r3, r3, #32
+ 8004600:      2b00            cmp     r3, #0
+ 8004602:      d00c            beq.n   800461e <HAL_UART_IRQHandler+0x14a>
           && ((cr1its & USART_CR1_RXNEIE) != 0U))
- 80045d4:      69bb            ldr     r3, [r7, #24]
- 80045d6:      f003 0320       and.w   r3, r3, #32
- 80045da:      2b00            cmp     r3, #0
- 80045dc:      d007            beq.n   80045ee <HAL_UART_IRQHandler+0x14a>
+ 8004604:      69bb            ldr     r3, [r7, #24]
+ 8004606:      f003 0320       and.w   r3, r3, #32
+ 800460a:      2b00            cmp     r3, #0
+ 800460c:      d007            beq.n   800461e <HAL_UART_IRQHandler+0x14a>
       {
         if (huart->RxISR != NULL)
- 80045de:      687b            ldr     r3, [r7, #4]
- 80045e0:      6e1b            ldr     r3, [r3, #96]   ; 0x60
- 80045e2:      2b00            cmp     r3, #0
- 80045e4:      d003            beq.n   80045ee <HAL_UART_IRQHandler+0x14a>
+ 800460e:      687b            ldr     r3, [r7, #4]
+ 8004610:      6e1b            ldr     r3, [r3, #96]   ; 0x60
+ 8004612:      2b00            cmp     r3, #0
+ 8004614:      d003            beq.n   800461e <HAL_UART_IRQHandler+0x14a>
         {
           huart->RxISR(huart);
- 80045e6:      687b            ldr     r3, [r7, #4]
- 80045e8:      6e1b            ldr     r3, [r3, #96]   ; 0x60
- 80045ea:      6878            ldr     r0, [r7, #4]
- 80045ec:      4798            blx     r3
+ 8004616:      687b            ldr     r3, [r7, #4]
+ 8004618:      6e1b            ldr     r3, [r3, #96]   ; 0x60
+ 800461a:      6878            ldr     r0, [r7, #4]
+ 800461c:      4798            blx     r3
         }
       }
 
       /* If Overrun error occurs, or if any error occurs in DMA mode reception,
          consider error as blocking */
       errorcode = huart->ErrorCode;
- 80045ee:      687b            ldr     r3, [r7, #4]
- 80045f0:      6fdb            ldr     r3, [r3, #124]  ; 0x7c
- 80045f2:      60fb            str     r3, [r7, #12]
+ 800461e:      687b            ldr     r3, [r7, #4]
+ 8004620:      6fdb            ldr     r3, [r3, #124]  ; 0x7c
+ 8004622:      60fb            str     r3, [r7, #12]
       if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) ||
- 80045f4:      687b            ldr     r3, [r7, #4]
- 80045f6:      681b            ldr     r3, [r3, #0]
- 80045f8:      689b            ldr     r3, [r3, #8]
- 80045fa:      f003 0340       and.w   r3, r3, #64     ; 0x40
- 80045fe:      2b40            cmp     r3, #64 ; 0x40
- 8004600:      d004            beq.n   800460c <HAL_UART_IRQHandler+0x168>
+ 8004624:      687b            ldr     r3, [r7, #4]
+ 8004626:      681b            ldr     r3, [r3, #0]
+ 8004628:      689b            ldr     r3, [r3, #8]
+ 800462a:      f003 0340       and.w   r3, r3, #64     ; 0x40
+ 800462e:      2b40            cmp     r3, #64 ; 0x40
+ 8004630:      d004            beq.n   800463c <HAL_UART_IRQHandler+0x168>
           ((errorcode & HAL_UART_ERROR_ORE) != 0U))
- 8004602:      68fb            ldr     r3, [r7, #12]
- 8004604:      f003 0308       and.w   r3, r3, #8
+ 8004632:      68fb            ldr     r3, [r7, #12]
+ 8004634:      f003 0308       and.w   r3, r3, #8
       if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) ||
- 8004608:      2b00            cmp     r3, #0
- 800460a:      d031            beq.n   8004670 <HAL_UART_IRQHandler+0x1cc>
+ 8004638:      2b00            cmp     r3, #0
+ 800463a:      d031            beq.n   80046a0 <HAL_UART_IRQHandler+0x1cc>
       {
         /* Blocking error : transfer is aborted
            Set the UART state ready to be able to start again the process,
            Disable Rx Interrupts, and disable Rx DMA request, if ongoing */
         UART_EndRxTransfer(huart);
- 800460c:      6878            ldr     r0, [r7, #4]
- 800460e:      f000 fc36       bl      8004e7e <UART_EndRxTransfer>
+ 800463c:      6878            ldr     r0, [r7, #4]
+ 800463e:      f000 fc36       bl      8004eae <UART_EndRxTransfer>
 
         /* Disable the UART DMA Rx request if enabled */
         if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
- 8004612:      687b            ldr     r3, [r7, #4]
- 8004614:      681b            ldr     r3, [r3, #0]
- 8004616:      689b            ldr     r3, [r3, #8]
- 8004618:      f003 0340       and.w   r3, r3, #64     ; 0x40
- 800461c:      2b40            cmp     r3, #64 ; 0x40
- 800461e:      d123            bne.n   8004668 <HAL_UART_IRQHandler+0x1c4>
+ 8004642:      687b            ldr     r3, [r7, #4]
+ 8004644:      681b            ldr     r3, [r3, #0]
+ 8004646:      689b            ldr     r3, [r3, #8]
+ 8004648:      f003 0340       and.w   r3, r3, #64     ; 0x40
+ 800464c:      2b40            cmp     r3, #64 ; 0x40
+ 800464e:      d123            bne.n   8004698 <HAL_UART_IRQHandler+0x1c4>
         {
           CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
- 8004620:      687b            ldr     r3, [r7, #4]
- 8004622:      681b            ldr     r3, [r3, #0]
- 8004624:      689a            ldr     r2, [r3, #8]
- 8004626:      687b            ldr     r3, [r7, #4]
- 8004628:      681b            ldr     r3, [r3, #0]
- 800462a:      f022 0240       bic.w   r2, r2, #64     ; 0x40
- 800462e:      609a            str     r2, [r3, #8]
+ 8004650:      687b            ldr     r3, [r7, #4]
+ 8004652:      681b            ldr     r3, [r3, #0]
+ 8004654:      689a            ldr     r2, [r3, #8]
+ 8004656:      687b            ldr     r3, [r7, #4]
+ 8004658:      681b            ldr     r3, [r3, #0]
+ 800465a:      f022 0240       bic.w   r2, r2, #64     ; 0x40
+ 800465e:      609a            str     r2, [r3, #8]
 
           /* Abort the UART DMA Rx channel */
           if (huart->hdmarx != NULL)
- 8004630:      687b            ldr     r3, [r7, #4]
- 8004632:      6edb            ldr     r3, [r3, #108]  ; 0x6c
- 8004634:      2b00            cmp     r3, #0
- 8004636:      d013            beq.n   8004660 <HAL_UART_IRQHandler+0x1bc>
+ 8004660:      687b            ldr     r3, [r7, #4]
+ 8004662:      6edb            ldr     r3, [r3, #108]  ; 0x6c
+ 8004664:      2b00            cmp     r3, #0
+ 8004666:      d013            beq.n   8004690 <HAL_UART_IRQHandler+0x1bc>
           {
             /* Set the UART DMA Abort callback :
                will lead to call HAL_UART_ErrorCallback() at end of DMA abort procedure */
             huart->hdmarx->XferAbortCallback = UART_DMAAbortOnError;
- 8004638:      687b            ldr     r3, [r7, #4]
- 800463a:      6edb            ldr     r3, [r3, #108]  ; 0x6c
- 800463c:      4a26            ldr     r2, [pc, #152]  ; (80046d8 <HAL_UART_IRQHandler+0x234>)
- 800463e:      651a            str     r2, [r3, #80]   ; 0x50
+ 8004668:      687b            ldr     r3, [r7, #4]
+ 800466a:      6edb            ldr     r3, [r3, #108]  ; 0x6c
+ 800466c:      4a26            ldr     r2, [pc, #152]  ; (8004708 <HAL_UART_IRQHandler+0x234>)
+ 800466e:      651a            str     r2, [r3, #80]   ; 0x50
 
             /* Abort DMA RX */
             if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
- 8004640:      687b            ldr     r3, [r7, #4]
- 8004642:      6edb            ldr     r3, [r3, #108]  ; 0x6c
- 8004644:      4618            mov     r0, r3
- 8004646:      f7fd fafe       bl      8001c46 <HAL_DMA_Abort_IT>
- 800464a:      4603            mov     r3, r0
- 800464c:      2b00            cmp     r3, #0
- 800464e:      d016            beq.n   800467e <HAL_UART_IRQHandler+0x1da>
+ 8004670:      687b            ldr     r3, [r7, #4]
+ 8004672:      6edb            ldr     r3, [r3, #108]  ; 0x6c
+ 8004674:      4618            mov     r0, r3
+ 8004676:      f7fd fafe       bl      8001c76 <HAL_DMA_Abort_IT>
+ 800467a:      4603            mov     r3, r0
+ 800467c:      2b00            cmp     r3, #0
+ 800467e:      d016            beq.n   80046ae <HAL_UART_IRQHandler+0x1da>
             {
               /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */
               huart->hdmarx->XferAbortCallback(huart->hdmarx);
- 8004650:      687b            ldr     r3, [r7, #4]
- 8004652:      6edb            ldr     r3, [r3, #108]  ; 0x6c
- 8004654:      6d1b            ldr     r3, [r3, #80]   ; 0x50
- 8004656:      687a            ldr     r2, [r7, #4]
- 8004658:      6ed2            ldr     r2, [r2, #108]  ; 0x6c
- 800465a:      4610            mov     r0, r2
- 800465c:      4798            blx     r3
+ 8004680:      687b            ldr     r3, [r7, #4]
+ 8004682:      6edb            ldr     r3, [r3, #108]  ; 0x6c
+ 8004684:      6d1b            ldr     r3, [r3, #80]   ; 0x50
+ 8004686:      687a            ldr     r2, [r7, #4]
+ 8004688:      6ed2            ldr     r2, [r2, #108]  ; 0x6c
+ 800468a:      4610            mov     r0, r2
+ 800468c:      4798            blx     r3
         if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
- 800465e:      e00e            b.n     800467e <HAL_UART_IRQHandler+0x1da>
+ 800468e:      e00e            b.n     80046ae <HAL_UART_IRQHandler+0x1da>
 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
             /*Call registered error callback*/
             huart->ErrorCallback(huart);
 #else
             /*Call legacy weak error callback*/
             HAL_UART_ErrorCallback(huart);
- 8004660:      6878            ldr     r0, [r7, #4]
- 8004662:      f000 f845       bl      80046f0 <HAL_UART_ErrorCallback>
+ 8004690:      6878            ldr     r0, [r7, #4]
+ 8004692:      f000 f845       bl      8004720 <HAL_UART_ErrorCallback>
         if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
- 8004666:      e00a            b.n     800467e <HAL_UART_IRQHandler+0x1da>
+ 8004696:      e00a            b.n     80046ae <HAL_UART_IRQHandler+0x1da>
 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
           /*Call registered error callback*/
           huart->ErrorCallback(huart);
 #else
           /*Call legacy weak error callback*/
           HAL_UART_ErrorCallback(huart);
- 8004668:      6878            ldr     r0, [r7, #4]
- 800466a:      f000 f841       bl      80046f0 <HAL_UART_ErrorCallback>
+ 8004698:      6878            ldr     r0, [r7, #4]
+ 800469a:      f000 f841       bl      8004720 <HAL_UART_ErrorCallback>
         if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
- 800466e:      e006            b.n     800467e <HAL_UART_IRQHandler+0x1da>
+ 800469e:      e006            b.n     80046ae <HAL_UART_IRQHandler+0x1da>
 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
         /*Call registered error callback*/
         huart->ErrorCallback(huart);
 #else
         /*Call legacy weak error callback*/
         HAL_UART_ErrorCallback(huart);
- 8004670:      6878            ldr     r0, [r7, #4]
- 8004672:      f000 f83d       bl      80046f0 <HAL_UART_ErrorCallback>
+ 80046a0:      6878            ldr     r0, [r7, #4]
+ 80046a2:      f000 f83d       bl      8004720 <HAL_UART_ErrorCallback>
 #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
         huart->ErrorCode = HAL_UART_ERROR_NONE;
- 8004676:      687b            ldr     r3, [r7, #4]
- 8004678:      2200            movs    r2, #0
- 800467a:      67da            str     r2, [r3, #124]  ; 0x7c
+ 80046a6:      687b            ldr     r3, [r7, #4]
+ 80046a8:      2200            movs    r2, #0
+ 80046aa:      67da            str     r2, [r3, #124]  ; 0x7c
       }
     }
     return;
- 800467c:      e025            b.n     80046ca <HAL_UART_IRQHandler+0x226>
+ 80046ac:      e025            b.n     80046fa <HAL_UART_IRQHandler+0x226>
         if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
- 800467e:      bf00            nop
+ 80046ae:      bf00            nop
     return;
- 8004680:      e023            b.n     80046ca <HAL_UART_IRQHandler+0x226>
+ 80046b0:      e023            b.n     80046fa <HAL_UART_IRQHandler+0x226>
 
   } /* End if some error occurs */
 
   /* UART in mode Transmitter ------------------------------------------------*/
   if (((isrflags & USART_ISR_TXE) != 0U)
- 8004682:      69fb            ldr     r3, [r7, #28]
- 8004684:      f003 0380       and.w   r3, r3, #128    ; 0x80
- 8004688:      2b00            cmp     r3, #0
- 800468a:      d00d            beq.n   80046a8 <HAL_UART_IRQHandler+0x204>
+ 80046b2:      69fb            ldr     r3, [r7, #28]
+ 80046b4:      f003 0380       and.w   r3, r3, #128    ; 0x80
+ 80046b8:      2b00            cmp     r3, #0
+ 80046ba:      d00d            beq.n   80046d8 <HAL_UART_IRQHandler+0x204>
       && ((cr1its & USART_CR1_TXEIE) != 0U))
- 800468c:      69bb            ldr     r3, [r7, #24]
- 800468e:      f003 0380       and.w   r3, r3, #128    ; 0x80
- 8004692:      2b00            cmp     r3, #0
- 8004694:      d008            beq.n   80046a8 <HAL_UART_IRQHandler+0x204>
+ 80046bc:      69bb            ldr     r3, [r7, #24]
+ 80046be:      f003 0380       and.w   r3, r3, #128    ; 0x80
+ 80046c2:      2b00            cmp     r3, #0
+ 80046c4:      d008            beq.n   80046d8 <HAL_UART_IRQHandler+0x204>
   {
     if (huart->TxISR != NULL)
- 8004696:      687b            ldr     r3, [r7, #4]
- 8004698:      6e5b            ldr     r3, [r3, #100]  ; 0x64
- 800469a:      2b00            cmp     r3, #0
- 800469c:      d017            beq.n   80046ce <HAL_UART_IRQHandler+0x22a>
+ 80046c6:      687b            ldr     r3, [r7, #4]
+ 80046c8:      6e5b            ldr     r3, [r3, #100]  ; 0x64
+ 80046ca:      2b00            cmp     r3, #0
+ 80046cc:      d017            beq.n   80046fe <HAL_UART_IRQHandler+0x22a>
     {
       huart->TxISR(huart);
- 800469e:      687b            ldr     r3, [r7, #4]
- 80046a0:      6e5b            ldr     r3, [r3, #100]  ; 0x64
- 80046a2:      6878            ldr     r0, [r7, #4]
- 80046a4:      4798            blx     r3
+ 80046ce:      687b            ldr     r3, [r7, #4]
+ 80046d0:      6e5b            ldr     r3, [r3, #100]  ; 0x64
+ 80046d2:      6878            ldr     r0, [r7, #4]
+ 80046d4:      4798            blx     r3
     }
     return;
- 80046a6:      e012            b.n     80046ce <HAL_UART_IRQHandler+0x22a>
+ 80046d6:      e012            b.n     80046fe <HAL_UART_IRQHandler+0x22a>
   }
 
   /* UART in mode Transmitter (transmission end) -----------------------------*/
   if (((isrflags & USART_ISR_TC) != 0U) && ((cr1its & USART_CR1_TCIE) != 0U))
- 80046a8:      69fb            ldr     r3, [r7, #28]
- 80046aa:      f003 0340       and.w   r3, r3, #64     ; 0x40
- 80046ae:      2b00            cmp     r3, #0
- 80046b0:      d00e            beq.n   80046d0 <HAL_UART_IRQHandler+0x22c>
- 80046b2:      69bb            ldr     r3, [r7, #24]
- 80046b4:      f003 0340       and.w   r3, r3, #64     ; 0x40
- 80046b8:      2b00            cmp     r3, #0
- 80046ba:      d009            beq.n   80046d0 <HAL_UART_IRQHandler+0x22c>
+ 80046d8:      69fb            ldr     r3, [r7, #28]
+ 80046da:      f003 0340       and.w   r3, r3, #64     ; 0x40
+ 80046de:      2b00            cmp     r3, #0
+ 80046e0:      d00e            beq.n   8004700 <HAL_UART_IRQHandler+0x22c>
+ 80046e2:      69bb            ldr     r3, [r7, #24]
+ 80046e4:      f003 0340       and.w   r3, r3, #64     ; 0x40
+ 80046e8:      2b00            cmp     r3, #0
+ 80046ea:      d009            beq.n   8004700 <HAL_UART_IRQHandler+0x22c>
   {
     UART_EndTransmit_IT(huart);
- 80046bc:      6878            ldr     r0, [r7, #4]
- 80046be:      f000 fc14       bl      8004eea <UART_EndTransmit_IT>
+ 80046ec:      6878            ldr     r0, [r7, #4]
+ 80046ee:      f000 fc14       bl      8004f1a <UART_EndTransmit_IT>
     return;
- 80046c2:      bf00            nop
- 80046c4:      e004            b.n     80046d0 <HAL_UART_IRQHandler+0x22c>
+ 80046f2:      bf00            nop
+ 80046f4:      e004            b.n     8004700 <HAL_UART_IRQHandler+0x22c>
       return;
- 80046c6:      bf00            nop
- 80046c8:      e002            b.n     80046d0 <HAL_UART_IRQHandler+0x22c>
+ 80046f6:      bf00            nop
+ 80046f8:      e002            b.n     8004700 <HAL_UART_IRQHandler+0x22c>
     return;
- 80046ca:      bf00            nop
- 80046cc:      e000            b.n     80046d0 <HAL_UART_IRQHandler+0x22c>
+ 80046fa:      bf00            nop
+ 80046fc:      e000            b.n     8004700 <HAL_UART_IRQHandler+0x22c>
     return;
- 80046ce:      bf00            nop
+ 80046fe:      bf00            nop
   }
 
 }
- 80046d0:      3720            adds    r7, #32
- 80046d2:      46bd            mov     sp, r7
- 80046d4:      bd80            pop     {r7, pc}
- 80046d6:      bf00            nop
- 80046d8:      08004ebf        .word   0x08004ebf
+ 8004700:      3720            adds    r7, #32
+ 8004702:      46bd            mov     sp, r7
+ 8004704:      bd80            pop     {r7, pc}
+ 8004706:      bf00            nop
+ 8004708:      08004eef        .word   0x08004eef
 
-080046dc <HAL_UART_TxCpltCallback>:
+0800470c <HAL_UART_TxCpltCallback>:
   * @brief Tx Transfer completed callback.
   * @param huart UART handle.
   * @retval None
   */
 __weak void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
 {
- 80046dc:      b480            push    {r7}
- 80046de:      b083            sub     sp, #12
- 80046e0:      af00            add     r7, sp, #0
- 80046e2:      6078            str     r0, [r7, #4]
+ 800470c:      b480            push    {r7}
+ 800470e:      b083            sub     sp, #12
+ 8004710:      af00            add     r7, sp, #0
+ 8004712:      6078            str     r0, [r7, #4]
   UNUSED(huart);
 
   /* NOTE : This function should not be modified, when the callback is needed,
             the HAL_UART_TxCpltCallback can be implemented in the user file.
    */
 }
- 80046e4:      bf00            nop
- 80046e6:      370c            adds    r7, #12
- 80046e8:      46bd            mov     sp, r7
- 80046ea:      f85d 7b04       ldr.w   r7, [sp], #4
- 80046ee:      4770            bx      lr
+ 8004714:      bf00            nop
+ 8004716:      370c            adds    r7, #12
+ 8004718:      46bd            mov     sp, r7
+ 800471a:      f85d 7b04       ldr.w   r7, [sp], #4
+ 800471e:      4770            bx      lr
 
-080046f0 <HAL_UART_ErrorCallback>:
+08004720 <HAL_UART_ErrorCallback>:
   * @brief  UART error callback.
   * @param  huart UART handle.
   * @retval None
   */
 __weak void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart)
 {
- 80046f0:      b480            push    {r7}
- 80046f2:      b083            sub     sp, #12
- 80046f4:      af00            add     r7, sp, #0
- 80046f6:      6078            str     r0, [r7, #4]
+ 8004720:      b480            push    {r7}
+ 8004722:      b083            sub     sp, #12
+ 8004724:      af00            add     r7, sp, #0
+ 8004726:      6078            str     r0, [r7, #4]
   UNUSED(huart);
 
   /* NOTE : This function should not be modified, when the callback is needed,
             the HAL_UART_ErrorCallback can be implemented in the user file.
    */
 }
- 80046f8:      bf00            nop
- 80046fa:      370c            adds    r7, #12
- 80046fc:      46bd            mov     sp, r7
- 80046fe:      f85d 7b04       ldr.w   r7, [sp], #4
- 8004702:      4770            bx      lr
+ 8004728:      bf00            nop
+ 800472a:      370c            adds    r7, #12
+ 800472c:      46bd            mov     sp, r7
+ 800472e:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8004732:      4770            bx      lr
 
-08004704 <UART_SetConfig>:
+08004734 <UART_SetConfig>:
   * @brief Configure the UART peripheral.
   * @param huart UART handle.
   * @retval HAL status
   */
 HAL_StatusTypeDef UART_SetConfig(UART_HandleTypeDef *huart)
 {
- 8004704:      b580            push    {r7, lr}
- 8004706:      b088            sub     sp, #32
- 8004708:      af00            add     r7, sp, #0
- 800470a:      6078            str     r0, [r7, #4]
+ 8004734:      b580            push    {r7, lr}
+ 8004736:      b088            sub     sp, #32
+ 8004738:      af00            add     r7, sp, #0
+ 800473a:      6078            str     r0, [r7, #4]
   uint32_t tmpreg;
   uint16_t brrtemp;
   UART_ClockSourceTypeDef clocksource;
   uint32_t usartdiv                   = 0x00000000U;
- 800470c:      2300            movs    r3, #0
- 800470e:      61bb            str     r3, [r7, #24]
+ 800473c:      2300            movs    r3, #0
+ 800473e:      61bb            str     r3, [r7, #24]
   HAL_StatusTypeDef ret               = HAL_OK;
- 8004710:      2300            movs    r3, #0
- 8004712:      75fb            strb    r3, [r7, #23]
+ 8004740:      2300            movs    r3, #0
+ 8004742:      75fb            strb    r3, [r7, #23]
   *  the UART Word Length, Parity, Mode and oversampling:
   *  set the M bits according to huart->Init.WordLength value
   *  set PCE and PS bits according to huart->Init.Parity value
   *  set TE and RE bits according to huart->Init.Mode value
   *  set OVER8 bit according to huart->Init.OverSampling value */
   tmpreg = (uint32_t)huart->Init.WordLength | huart->Init.Parity | huart->Init.Mode | huart->Init.OverSampling ;
- 8004714:      687b            ldr     r3, [r7, #4]
- 8004716:      689a            ldr     r2, [r3, #8]
- 8004718:      687b            ldr     r3, [r7, #4]
- 800471a:      691b            ldr     r3, [r3, #16]
- 800471c:      431a            orrs    r2, r3
- 800471e:      687b            ldr     r3, [r7, #4]
- 8004720:      695b            ldr     r3, [r3, #20]
- 8004722:      431a            orrs    r2, r3
- 8004724:      687b            ldr     r3, [r7, #4]
- 8004726:      69db            ldr     r3, [r3, #28]
- 8004728:      4313            orrs    r3, r2
- 800472a:      613b            str     r3, [r7, #16]
+ 8004744:      687b            ldr     r3, [r7, #4]
+ 8004746:      689a            ldr     r2, [r3, #8]
+ 8004748:      687b            ldr     r3, [r7, #4]
+ 800474a:      691b            ldr     r3, [r3, #16]
+ 800474c:      431a            orrs    r2, r3
+ 800474e:      687b            ldr     r3, [r7, #4]
+ 8004750:      695b            ldr     r3, [r3, #20]
+ 8004752:      431a            orrs    r2, r3
+ 8004754:      687b            ldr     r3, [r7, #4]
+ 8004756:      69db            ldr     r3, [r3, #28]
+ 8004758:      4313            orrs    r3, r2
+ 800475a:      613b            str     r3, [r7, #16]
   MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg);
- 800472c:      687b            ldr     r3, [r7, #4]
- 800472e:      681b            ldr     r3, [r3, #0]
- 8004730:      681a            ldr     r2, [r3, #0]
- 8004732:      4bb1            ldr     r3, [pc, #708]  ; (80049f8 <UART_SetConfig+0x2f4>)
- 8004734:      4013            ands    r3, r2
- 8004736:      687a            ldr     r2, [r7, #4]
- 8004738:      6812            ldr     r2, [r2, #0]
- 800473a:      6939            ldr     r1, [r7, #16]
- 800473c:      430b            orrs    r3, r1
- 800473e:      6013            str     r3, [r2, #0]
+ 800475c:      687b            ldr     r3, [r7, #4]
+ 800475e:      681b            ldr     r3, [r3, #0]
+ 8004760:      681a            ldr     r2, [r3, #0]
+ 8004762:      4bb1            ldr     r3, [pc, #708]  ; (8004a28 <UART_SetConfig+0x2f4>)
+ 8004764:      4013            ands    r3, r2
+ 8004766:      687a            ldr     r2, [r7, #4]
+ 8004768:      6812            ldr     r2, [r2, #0]
+ 800476a:      6939            ldr     r1, [r7, #16]
+ 800476c:      430b            orrs    r3, r1
+ 800476e:      6013            str     r3, [r2, #0]
 
   /*-------------------------- USART CR2 Configuration -----------------------*/
   /* Configure the UART Stop Bits: Set STOP[13:12] bits according
   * to huart->Init.StopBits value */
   MODIFY_REG(huart->Instance->CR2, USART_CR2_STOP, huart->Init.StopBits);
- 8004740:      687b            ldr     r3, [r7, #4]
- 8004742:      681b            ldr     r3, [r3, #0]
- 8004744:      685b            ldr     r3, [r3, #4]
- 8004746:      f423 5140       bic.w   r1, r3, #12288  ; 0x3000
- 800474a:      687b            ldr     r3, [r7, #4]
- 800474c:      68da            ldr     r2, [r3, #12]
- 800474e:      687b            ldr     r3, [r7, #4]
- 8004750:      681b            ldr     r3, [r3, #0]
- 8004752:      430a            orrs    r2, r1
- 8004754:      605a            str     r2, [r3, #4]
+ 8004770:      687b            ldr     r3, [r7, #4]
+ 8004772:      681b            ldr     r3, [r3, #0]
+ 8004774:      685b            ldr     r3, [r3, #4]
+ 8004776:      f423 5140       bic.w   r1, r3, #12288  ; 0x3000
+ 800477a:      687b            ldr     r3, [r7, #4]
+ 800477c:      68da            ldr     r2, [r3, #12]
+ 800477e:      687b            ldr     r3, [r7, #4]
+ 8004780:      681b            ldr     r3, [r3, #0]
+ 8004782:      430a            orrs    r2, r1
+ 8004784:      605a            str     r2, [r3, #4]
   /* Configure
   * - UART HardWare Flow Control: set CTSE and RTSE bits according
   *   to huart->Init.HwFlowCtl value
   * - one-bit sampling method versus three samples' majority rule according
   *   to huart->Init.OneBitSampling (not applicable to LPUART) */
   tmpreg = (uint32_t)huart->Init.HwFlowCtl;
- 8004756:      687b            ldr     r3, [r7, #4]
- 8004758:      699b            ldr     r3, [r3, #24]
- 800475a:      613b            str     r3, [r7, #16]
+ 8004786:      687b            ldr     r3, [r7, #4]
+ 8004788:      699b            ldr     r3, [r3, #24]
+ 800478a:      613b            str     r3, [r7, #16]
 
   tmpreg |= huart->Init.OneBitSampling;
- 800475c:      687b            ldr     r3, [r7, #4]
- 800475e:      6a1b            ldr     r3, [r3, #32]
- 8004760:      693a            ldr     r2, [r7, #16]
- 8004762:      4313            orrs    r3, r2
- 8004764:      613b            str     r3, [r7, #16]
+ 800478c:      687b            ldr     r3, [r7, #4]
+ 800478e:      6a1b            ldr     r3, [r3, #32]
+ 8004790:      693a            ldr     r2, [r7, #16]
+ 8004792:      4313            orrs    r3, r2
+ 8004794:      613b            str     r3, [r7, #16]
   MODIFY_REG(huart->Instance->CR3, USART_CR3_FIELDS, tmpreg);
- 8004766:      687b            ldr     r3, [r7, #4]
- 8004768:      681b            ldr     r3, [r3, #0]
- 800476a:      689b            ldr     r3, [r3, #8]
- 800476c:      f423 6130       bic.w   r1, r3, #2816   ; 0xb00
- 8004770:      687b            ldr     r3, [r7, #4]
- 8004772:      681b            ldr     r3, [r3, #0]
- 8004774:      693a            ldr     r2, [r7, #16]
- 8004776:      430a            orrs    r2, r1
- 8004778:      609a            str     r2, [r3, #8]
+ 8004796:      687b            ldr     r3, [r7, #4]
+ 8004798:      681b            ldr     r3, [r3, #0]
+ 800479a:      689b            ldr     r3, [r3, #8]
+ 800479c:      f423 6130       bic.w   r1, r3, #2816   ; 0xb00
+ 80047a0:      687b            ldr     r3, [r7, #4]
+ 80047a2:      681b            ldr     r3, [r3, #0]
+ 80047a4:      693a            ldr     r2, [r7, #16]
+ 80047a6:      430a            orrs    r2, r1
+ 80047a8:      609a            str     r2, [r3, #8]
 
 
   /*-------------------------- USART BRR Configuration -----------------------*/
   UART_GETCLOCKSOURCE(huart, clocksource);
- 800477a:      687b            ldr     r3, [r7, #4]
- 800477c:      681b            ldr     r3, [r3, #0]
- 800477e:      4a9f            ldr     r2, [pc, #636]  ; (80049fc <UART_SetConfig+0x2f8>)
- 8004780:      4293            cmp     r3, r2
- 8004782:      d121            bne.n   80047c8 <UART_SetConfig+0xc4>
- 8004784:      4b9e            ldr     r3, [pc, #632]  ; (8004a00 <UART_SetConfig+0x2fc>)
- 8004786:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 800478a:      f003 0303       and.w   r3, r3, #3
- 800478e:      2b03            cmp     r3, #3
- 8004790:      d816            bhi.n   80047c0 <UART_SetConfig+0xbc>
- 8004792:      a201            add     r2, pc, #4      ; (adr r2, 8004798 <UART_SetConfig+0x94>)
- 8004794:      f852 f023       ldr.w   pc, [r2, r3, lsl #2]
- 8004798:      080047a9        .word   0x080047a9
- 800479c:      080047b5        .word   0x080047b5
- 80047a0:      080047af        .word   0x080047af
- 80047a4:      080047bb        .word   0x080047bb
- 80047a8:      2301            movs    r3, #1
- 80047aa:      77fb            strb    r3, [r7, #31]
- 80047ac:      e151            b.n     8004a52 <UART_SetConfig+0x34e>
- 80047ae:      2302            movs    r3, #2
- 80047b0:      77fb            strb    r3, [r7, #31]
- 80047b2:      e14e            b.n     8004a52 <UART_SetConfig+0x34e>
- 80047b4:      2304            movs    r3, #4
- 80047b6:      77fb            strb    r3, [r7, #31]
- 80047b8:      e14b            b.n     8004a52 <UART_SetConfig+0x34e>
- 80047ba:      2308            movs    r3, #8
- 80047bc:      77fb            strb    r3, [r7, #31]
- 80047be:      e148            b.n     8004a52 <UART_SetConfig+0x34e>
- 80047c0:      2310            movs    r3, #16
- 80047c2:      77fb            strb    r3, [r7, #31]
- 80047c4:      bf00            nop
- 80047c6:      e144            b.n     8004a52 <UART_SetConfig+0x34e>
- 80047c8:      687b            ldr     r3, [r7, #4]
- 80047ca:      681b            ldr     r3, [r3, #0]
- 80047cc:      4a8d            ldr     r2, [pc, #564]  ; (8004a04 <UART_SetConfig+0x300>)
- 80047ce:      4293            cmp     r3, r2
- 80047d0:      d134            bne.n   800483c <UART_SetConfig+0x138>
- 80047d2:      4b8b            ldr     r3, [pc, #556]  ; (8004a00 <UART_SetConfig+0x2fc>)
- 80047d4:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 80047d8:      f003 030c       and.w   r3, r3, #12
- 80047dc:      2b0c            cmp     r3, #12
- 80047de:      d829            bhi.n   8004834 <UART_SetConfig+0x130>
- 80047e0:      a201            add     r2, pc, #4      ; (adr r2, 80047e8 <UART_SetConfig+0xe4>)
- 80047e2:      f852 f023       ldr.w   pc, [r2, r3, lsl #2]
- 80047e6:      bf00            nop
- 80047e8:      0800481d        .word   0x0800481d
- 80047ec:      08004835        .word   0x08004835
- 80047f0:      08004835        .word   0x08004835
- 80047f4:      08004835        .word   0x08004835
- 80047f8:      08004829        .word   0x08004829
- 80047fc:      08004835        .word   0x08004835
- 8004800:      08004835        .word   0x08004835
- 8004804:      08004835        .word   0x08004835
- 8004808:      08004823        .word   0x08004823
- 800480c:      08004835        .word   0x08004835
- 8004810:      08004835        .word   0x08004835
- 8004814:      08004835        .word   0x08004835
- 8004818:      0800482f        .word   0x0800482f
- 800481c:      2300            movs    r3, #0
- 800481e:      77fb            strb    r3, [r7, #31]
- 8004820:      e117            b.n     8004a52 <UART_SetConfig+0x34e>
- 8004822:      2302            movs    r3, #2
- 8004824:      77fb            strb    r3, [r7, #31]
- 8004826:      e114            b.n     8004a52 <UART_SetConfig+0x34e>
- 8004828:      2304            movs    r3, #4
- 800482a:      77fb            strb    r3, [r7, #31]
- 800482c:      e111            b.n     8004a52 <UART_SetConfig+0x34e>
- 800482e:      2308            movs    r3, #8
- 8004830:      77fb            strb    r3, [r7, #31]
- 8004832:      e10e            b.n     8004a52 <UART_SetConfig+0x34e>
- 8004834:      2310            movs    r3, #16
- 8004836:      77fb            strb    r3, [r7, #31]
- 8004838:      bf00            nop
- 800483a:      e10a            b.n     8004a52 <UART_SetConfig+0x34e>
- 800483c:      687b            ldr     r3, [r7, #4]
- 800483e:      681b            ldr     r3, [r3, #0]
- 8004840:      4a71            ldr     r2, [pc, #452]  ; (8004a08 <UART_SetConfig+0x304>)
- 8004842:      4293            cmp     r3, r2
- 8004844:      d120            bne.n   8004888 <UART_SetConfig+0x184>
- 8004846:      4b6e            ldr     r3, [pc, #440]  ; (8004a00 <UART_SetConfig+0x2fc>)
- 8004848:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 800484c:      f003 0330       and.w   r3, r3, #48     ; 0x30
- 8004850:      2b10            cmp     r3, #16
- 8004852:      d00f            beq.n   8004874 <UART_SetConfig+0x170>
- 8004854:      2b10            cmp     r3, #16
- 8004856:      d802            bhi.n   800485e <UART_SetConfig+0x15a>
- 8004858:      2b00            cmp     r3, #0
- 800485a:      d005            beq.n   8004868 <UART_SetConfig+0x164>
- 800485c:      e010            b.n     8004880 <UART_SetConfig+0x17c>
- 800485e:      2b20            cmp     r3, #32
- 8004860:      d005            beq.n   800486e <UART_SetConfig+0x16a>
- 8004862:      2b30            cmp     r3, #48 ; 0x30
- 8004864:      d009            beq.n   800487a <UART_SetConfig+0x176>
- 8004866:      e00b            b.n     8004880 <UART_SetConfig+0x17c>
- 8004868:      2300            movs    r3, #0
- 800486a:      77fb            strb    r3, [r7, #31]
- 800486c:      e0f1            b.n     8004a52 <UART_SetConfig+0x34e>
- 800486e:      2302            movs    r3, #2
- 8004870:      77fb            strb    r3, [r7, #31]
- 8004872:      e0ee            b.n     8004a52 <UART_SetConfig+0x34e>
- 8004874:      2304            movs    r3, #4
- 8004876:      77fb            strb    r3, [r7, #31]
- 8004878:      e0eb            b.n     8004a52 <UART_SetConfig+0x34e>
- 800487a:      2308            movs    r3, #8
- 800487c:      77fb            strb    r3, [r7, #31]
- 800487e:      e0e8            b.n     8004a52 <UART_SetConfig+0x34e>
- 8004880:      2310            movs    r3, #16
- 8004882:      77fb            strb    r3, [r7, #31]
- 8004884:      bf00            nop
- 8004886:      e0e4            b.n     8004a52 <UART_SetConfig+0x34e>
- 8004888:      687b            ldr     r3, [r7, #4]
- 800488a:      681b            ldr     r3, [r3, #0]
- 800488c:      4a5f            ldr     r2, [pc, #380]  ; (8004a0c <UART_SetConfig+0x308>)
- 800488e:      4293            cmp     r3, r2
- 8004890:      d120            bne.n   80048d4 <UART_SetConfig+0x1d0>
- 8004892:      4b5b            ldr     r3, [pc, #364]  ; (8004a00 <UART_SetConfig+0x2fc>)
- 8004894:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 8004898:      f003 03c0       and.w   r3, r3, #192    ; 0xc0
- 800489c:      2b40            cmp     r3, #64 ; 0x40
- 800489e:      d00f            beq.n   80048c0 <UART_SetConfig+0x1bc>
- 80048a0:      2b40            cmp     r3, #64 ; 0x40
- 80048a2:      d802            bhi.n   80048aa <UART_SetConfig+0x1a6>
- 80048a4:      2b00            cmp     r3, #0
- 80048a6:      d005            beq.n   80048b4 <UART_SetConfig+0x1b0>
- 80048a8:      e010            b.n     80048cc <UART_SetConfig+0x1c8>
- 80048aa:      2b80            cmp     r3, #128        ; 0x80
- 80048ac:      d005            beq.n   80048ba <UART_SetConfig+0x1b6>
- 80048ae:      2bc0            cmp     r3, #192        ; 0xc0
- 80048b0:      d009            beq.n   80048c6 <UART_SetConfig+0x1c2>
- 80048b2:      e00b            b.n     80048cc <UART_SetConfig+0x1c8>
- 80048b4:      2300            movs    r3, #0
- 80048b6:      77fb            strb    r3, [r7, #31]
- 80048b8:      e0cb            b.n     8004a52 <UART_SetConfig+0x34e>
- 80048ba:      2302            movs    r3, #2
- 80048bc:      77fb            strb    r3, [r7, #31]
- 80048be:      e0c8            b.n     8004a52 <UART_SetConfig+0x34e>
- 80048c0:      2304            movs    r3, #4
- 80048c2:      77fb            strb    r3, [r7, #31]
- 80048c4:      e0c5            b.n     8004a52 <UART_SetConfig+0x34e>
- 80048c6:      2308            movs    r3, #8
- 80048c8:      77fb            strb    r3, [r7, #31]
- 80048ca:      e0c2            b.n     8004a52 <UART_SetConfig+0x34e>
- 80048cc:      2310            movs    r3, #16
- 80048ce:      77fb            strb    r3, [r7, #31]
- 80048d0:      bf00            nop
- 80048d2:      e0be            b.n     8004a52 <UART_SetConfig+0x34e>
- 80048d4:      687b            ldr     r3, [r7, #4]
- 80048d6:      681b            ldr     r3, [r3, #0]
- 80048d8:      4a4d            ldr     r2, [pc, #308]  ; (8004a10 <UART_SetConfig+0x30c>)
- 80048da:      4293            cmp     r3, r2
- 80048dc:      d124            bne.n   8004928 <UART_SetConfig+0x224>
- 80048de:      4b48            ldr     r3, [pc, #288]  ; (8004a00 <UART_SetConfig+0x2fc>)
- 80048e0:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 80048e4:      f403 7340       and.w   r3, r3, #768    ; 0x300
- 80048e8:      f5b3 7f80       cmp.w   r3, #256        ; 0x100
- 80048ec:      d012            beq.n   8004914 <UART_SetConfig+0x210>
- 80048ee:      f5b3 7f80       cmp.w   r3, #256        ; 0x100
- 80048f2:      d802            bhi.n   80048fa <UART_SetConfig+0x1f6>
- 80048f4:      2b00            cmp     r3, #0
- 80048f6:      d007            beq.n   8004908 <UART_SetConfig+0x204>
- 80048f8:      e012            b.n     8004920 <UART_SetConfig+0x21c>
- 80048fa:      f5b3 7f00       cmp.w   r3, #512        ; 0x200
- 80048fe:      d006            beq.n   800490e <UART_SetConfig+0x20a>
- 8004900:      f5b3 7f40       cmp.w   r3, #768        ; 0x300
- 8004904:      d009            beq.n   800491a <UART_SetConfig+0x216>
- 8004906:      e00b            b.n     8004920 <UART_SetConfig+0x21c>
- 8004908:      2300            movs    r3, #0
- 800490a:      77fb            strb    r3, [r7, #31]
- 800490c:      e0a1            b.n     8004a52 <UART_SetConfig+0x34e>
- 800490e:      2302            movs    r3, #2
- 8004910:      77fb            strb    r3, [r7, #31]
- 8004912:      e09e            b.n     8004a52 <UART_SetConfig+0x34e>
- 8004914:      2304            movs    r3, #4
- 8004916:      77fb            strb    r3, [r7, #31]
- 8004918:      e09b            b.n     8004a52 <UART_SetConfig+0x34e>
- 800491a:      2308            movs    r3, #8
- 800491c:      77fb            strb    r3, [r7, #31]
- 800491e:      e098            b.n     8004a52 <UART_SetConfig+0x34e>
- 8004920:      2310            movs    r3, #16
- 8004922:      77fb            strb    r3, [r7, #31]
- 8004924:      bf00            nop
- 8004926:      e094            b.n     8004a52 <UART_SetConfig+0x34e>
- 8004928:      687b            ldr     r3, [r7, #4]
- 800492a:      681b            ldr     r3, [r3, #0]
- 800492c:      4a39            ldr     r2, [pc, #228]  ; (8004a14 <UART_SetConfig+0x310>)
- 800492e:      4293            cmp     r3, r2
- 8004930:      d124            bne.n   800497c <UART_SetConfig+0x278>
- 8004932:      4b33            ldr     r3, [pc, #204]  ; (8004a00 <UART_SetConfig+0x2fc>)
- 8004934:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 8004938:      f403 6340       and.w   r3, r3, #3072   ; 0xc00
- 800493c:      f5b3 6f80       cmp.w   r3, #1024       ; 0x400
- 8004940:      d012            beq.n   8004968 <UART_SetConfig+0x264>
- 8004942:      f5b3 6f80       cmp.w   r3, #1024       ; 0x400
- 8004946:      d802            bhi.n   800494e <UART_SetConfig+0x24a>
- 8004948:      2b00            cmp     r3, #0
- 800494a:      d007            beq.n   800495c <UART_SetConfig+0x258>
- 800494c:      e012            b.n     8004974 <UART_SetConfig+0x270>
- 800494e:      f5b3 6f00       cmp.w   r3, #2048       ; 0x800
- 8004952:      d006            beq.n   8004962 <UART_SetConfig+0x25e>
- 8004954:      f5b3 6f40       cmp.w   r3, #3072       ; 0xc00
- 8004958:      d009            beq.n   800496e <UART_SetConfig+0x26a>
- 800495a:      e00b            b.n     8004974 <UART_SetConfig+0x270>
- 800495c:      2301            movs    r3, #1
- 800495e:      77fb            strb    r3, [r7, #31]
- 8004960:      e077            b.n     8004a52 <UART_SetConfig+0x34e>
- 8004962:      2302            movs    r3, #2
- 8004964:      77fb            strb    r3, [r7, #31]
- 8004966:      e074            b.n     8004a52 <UART_SetConfig+0x34e>
- 8004968:      2304            movs    r3, #4
- 800496a:      77fb            strb    r3, [r7, #31]
- 800496c:      e071            b.n     8004a52 <UART_SetConfig+0x34e>
- 800496e:      2308            movs    r3, #8
- 8004970:      77fb            strb    r3, [r7, #31]
- 8004972:      e06e            b.n     8004a52 <UART_SetConfig+0x34e>
- 8004974:      2310            movs    r3, #16
- 8004976:      77fb            strb    r3, [r7, #31]
- 8004978:      bf00            nop
- 800497a:      e06a            b.n     8004a52 <UART_SetConfig+0x34e>
- 800497c:      687b            ldr     r3, [r7, #4]
- 800497e:      681b            ldr     r3, [r3, #0]
- 8004980:      4a25            ldr     r2, [pc, #148]  ; (8004a18 <UART_SetConfig+0x314>)
- 8004982:      4293            cmp     r3, r2
- 8004984:      d124            bne.n   80049d0 <UART_SetConfig+0x2cc>
- 8004986:      4b1e            ldr     r3, [pc, #120]  ; (8004a00 <UART_SetConfig+0x2fc>)
- 8004988:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 800498c:      f403 5340       and.w   r3, r3, #12288  ; 0x3000
- 8004990:      f5b3 5f80       cmp.w   r3, #4096       ; 0x1000
- 8004994:      d012            beq.n   80049bc <UART_SetConfig+0x2b8>
- 8004996:      f5b3 5f80       cmp.w   r3, #4096       ; 0x1000
- 800499a:      d802            bhi.n   80049a2 <UART_SetConfig+0x29e>
- 800499c:      2b00            cmp     r3, #0
- 800499e:      d007            beq.n   80049b0 <UART_SetConfig+0x2ac>
- 80049a0:      e012            b.n     80049c8 <UART_SetConfig+0x2c4>
- 80049a2:      f5b3 5f00       cmp.w   r3, #8192       ; 0x2000
- 80049a6:      d006            beq.n   80049b6 <UART_SetConfig+0x2b2>
- 80049a8:      f5b3 5f40       cmp.w   r3, #12288      ; 0x3000
- 80049ac:      d009            beq.n   80049c2 <UART_SetConfig+0x2be>
- 80049ae:      e00b            b.n     80049c8 <UART_SetConfig+0x2c4>
- 80049b0:      2300            movs    r3, #0
- 80049b2:      77fb            strb    r3, [r7, #31]
- 80049b4:      e04d            b.n     8004a52 <UART_SetConfig+0x34e>
- 80049b6:      2302            movs    r3, #2
- 80049b8:      77fb            strb    r3, [r7, #31]
- 80049ba:      e04a            b.n     8004a52 <UART_SetConfig+0x34e>
- 80049bc:      2304            movs    r3, #4
- 80049be:      77fb            strb    r3, [r7, #31]
- 80049c0:      e047            b.n     8004a52 <UART_SetConfig+0x34e>
- 80049c2:      2308            movs    r3, #8
- 80049c4:      77fb            strb    r3, [r7, #31]
- 80049c6:      e044            b.n     8004a52 <UART_SetConfig+0x34e>
- 80049c8:      2310            movs    r3, #16
- 80049ca:      77fb            strb    r3, [r7, #31]
- 80049cc:      bf00            nop
- 80049ce:      e040            b.n     8004a52 <UART_SetConfig+0x34e>
- 80049d0:      687b            ldr     r3, [r7, #4]
- 80049d2:      681b            ldr     r3, [r3, #0]
- 80049d4:      4a11            ldr     r2, [pc, #68]   ; (8004a1c <UART_SetConfig+0x318>)
- 80049d6:      4293            cmp     r3, r2
- 80049d8:      d139            bne.n   8004a4e <UART_SetConfig+0x34a>
- 80049da:      4b09            ldr     r3, [pc, #36]   ; (8004a00 <UART_SetConfig+0x2fc>)
- 80049dc:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 80049e0:      f403 4340       and.w   r3, r3, #49152  ; 0xc000
- 80049e4:      f5b3 4f80       cmp.w   r3, #16384      ; 0x4000
- 80049e8:      d027            beq.n   8004a3a <UART_SetConfig+0x336>
- 80049ea:      f5b3 4f80       cmp.w   r3, #16384      ; 0x4000
- 80049ee:      d817            bhi.n   8004a20 <UART_SetConfig+0x31c>
- 80049f0:      2b00            cmp     r3, #0
- 80049f2:      d01c            beq.n   8004a2e <UART_SetConfig+0x32a>
- 80049f4:      e027            b.n     8004a46 <UART_SetConfig+0x342>
- 80049f6:      bf00            nop
- 80049f8:      efff69f3        .word   0xefff69f3
- 80049fc:      40011000        .word   0x40011000
- 8004a00:      40023800        .word   0x40023800
- 8004a04:      40004400        .word   0x40004400
- 8004a08:      40004800        .word   0x40004800
- 8004a0c:      40004c00        .word   0x40004c00
- 8004a10:      40005000        .word   0x40005000
- 8004a14:      40011400        .word   0x40011400
- 8004a18:      40007800        .word   0x40007800
- 8004a1c:      40007c00        .word   0x40007c00
- 8004a20:      f5b3 4f00       cmp.w   r3, #32768      ; 0x8000
- 8004a24:      d006            beq.n   8004a34 <UART_SetConfig+0x330>
- 8004a26:      f5b3 4f40       cmp.w   r3, #49152      ; 0xc000
- 8004a2a:      d009            beq.n   8004a40 <UART_SetConfig+0x33c>
- 8004a2c:      e00b            b.n     8004a46 <UART_SetConfig+0x342>
- 8004a2e:      2300            movs    r3, #0
- 8004a30:      77fb            strb    r3, [r7, #31]
- 8004a32:      e00e            b.n     8004a52 <UART_SetConfig+0x34e>
- 8004a34:      2302            movs    r3, #2
- 8004a36:      77fb            strb    r3, [r7, #31]
- 8004a38:      e00b            b.n     8004a52 <UART_SetConfig+0x34e>
- 8004a3a:      2304            movs    r3, #4
- 8004a3c:      77fb            strb    r3, [r7, #31]
- 8004a3e:      e008            b.n     8004a52 <UART_SetConfig+0x34e>
- 8004a40:      2308            movs    r3, #8
- 8004a42:      77fb            strb    r3, [r7, #31]
- 8004a44:      e005            b.n     8004a52 <UART_SetConfig+0x34e>
- 8004a46:      2310            movs    r3, #16
- 8004a48:      77fb            strb    r3, [r7, #31]
- 8004a4a:      bf00            nop
- 8004a4c:      e001            b.n     8004a52 <UART_SetConfig+0x34e>
- 8004a4e:      2310            movs    r3, #16
- 8004a50:      77fb            strb    r3, [r7, #31]
+ 80047aa:      687b            ldr     r3, [r7, #4]
+ 80047ac:      681b            ldr     r3, [r3, #0]
+ 80047ae:      4a9f            ldr     r2, [pc, #636]  ; (8004a2c <UART_SetConfig+0x2f8>)
+ 80047b0:      4293            cmp     r3, r2
+ 80047b2:      d121            bne.n   80047f8 <UART_SetConfig+0xc4>
+ 80047b4:      4b9e            ldr     r3, [pc, #632]  ; (8004a30 <UART_SetConfig+0x2fc>)
+ 80047b6:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 80047ba:      f003 0303       and.w   r3, r3, #3
+ 80047be:      2b03            cmp     r3, #3
+ 80047c0:      d816            bhi.n   80047f0 <UART_SetConfig+0xbc>
+ 80047c2:      a201            add     r2, pc, #4      ; (adr r2, 80047c8 <UART_SetConfig+0x94>)
+ 80047c4:      f852 f023       ldr.w   pc, [r2, r3, lsl #2]
+ 80047c8:      080047d9        .word   0x080047d9
+ 80047cc:      080047e5        .word   0x080047e5
+ 80047d0:      080047df        .word   0x080047df
+ 80047d4:      080047eb        .word   0x080047eb
+ 80047d8:      2301            movs    r3, #1
+ 80047da:      77fb            strb    r3, [r7, #31]
+ 80047dc:      e151            b.n     8004a82 <UART_SetConfig+0x34e>
+ 80047de:      2302            movs    r3, #2
+ 80047e0:      77fb            strb    r3, [r7, #31]
+ 80047e2:      e14e            b.n     8004a82 <UART_SetConfig+0x34e>
+ 80047e4:      2304            movs    r3, #4
+ 80047e6:      77fb            strb    r3, [r7, #31]
+ 80047e8:      e14b            b.n     8004a82 <UART_SetConfig+0x34e>
+ 80047ea:      2308            movs    r3, #8
+ 80047ec:      77fb            strb    r3, [r7, #31]
+ 80047ee:      e148            b.n     8004a82 <UART_SetConfig+0x34e>
+ 80047f0:      2310            movs    r3, #16
+ 80047f2:      77fb            strb    r3, [r7, #31]
+ 80047f4:      bf00            nop
+ 80047f6:      e144            b.n     8004a82 <UART_SetConfig+0x34e>
+ 80047f8:      687b            ldr     r3, [r7, #4]
+ 80047fa:      681b            ldr     r3, [r3, #0]
+ 80047fc:      4a8d            ldr     r2, [pc, #564]  ; (8004a34 <UART_SetConfig+0x300>)
+ 80047fe:      4293            cmp     r3, r2
+ 8004800:      d134            bne.n   800486c <UART_SetConfig+0x138>
+ 8004802:      4b8b            ldr     r3, [pc, #556]  ; (8004a30 <UART_SetConfig+0x2fc>)
+ 8004804:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8004808:      f003 030c       and.w   r3, r3, #12
+ 800480c:      2b0c            cmp     r3, #12
+ 800480e:      d829            bhi.n   8004864 <UART_SetConfig+0x130>
+ 8004810:      a201            add     r2, pc, #4      ; (adr r2, 8004818 <UART_SetConfig+0xe4>)
+ 8004812:      f852 f023       ldr.w   pc, [r2, r3, lsl #2]
+ 8004816:      bf00            nop
+ 8004818:      0800484d        .word   0x0800484d
+ 800481c:      08004865        .word   0x08004865
+ 8004820:      08004865        .word   0x08004865
+ 8004824:      08004865        .word   0x08004865
+ 8004828:      08004859        .word   0x08004859
+ 800482c:      08004865        .word   0x08004865
+ 8004830:      08004865        .word   0x08004865
+ 8004834:      08004865        .word   0x08004865
+ 8004838:      08004853        .word   0x08004853
+ 800483c:      08004865        .word   0x08004865
+ 8004840:      08004865        .word   0x08004865
+ 8004844:      08004865        .word   0x08004865
+ 8004848:      0800485f        .word   0x0800485f
+ 800484c:      2300            movs    r3, #0
+ 800484e:      77fb            strb    r3, [r7, #31]
+ 8004850:      e117            b.n     8004a82 <UART_SetConfig+0x34e>
+ 8004852:      2302            movs    r3, #2
+ 8004854:      77fb            strb    r3, [r7, #31]
+ 8004856:      e114            b.n     8004a82 <UART_SetConfig+0x34e>
+ 8004858:      2304            movs    r3, #4
+ 800485a:      77fb            strb    r3, [r7, #31]
+ 800485c:      e111            b.n     8004a82 <UART_SetConfig+0x34e>
+ 800485e:      2308            movs    r3, #8
+ 8004860:      77fb            strb    r3, [r7, #31]
+ 8004862:      e10e            b.n     8004a82 <UART_SetConfig+0x34e>
+ 8004864:      2310            movs    r3, #16
+ 8004866:      77fb            strb    r3, [r7, #31]
+ 8004868:      bf00            nop
+ 800486a:      e10a            b.n     8004a82 <UART_SetConfig+0x34e>
+ 800486c:      687b            ldr     r3, [r7, #4]
+ 800486e:      681b            ldr     r3, [r3, #0]
+ 8004870:      4a71            ldr     r2, [pc, #452]  ; (8004a38 <UART_SetConfig+0x304>)
+ 8004872:      4293            cmp     r3, r2
+ 8004874:      d120            bne.n   80048b8 <UART_SetConfig+0x184>
+ 8004876:      4b6e            ldr     r3, [pc, #440]  ; (8004a30 <UART_SetConfig+0x2fc>)
+ 8004878:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 800487c:      f003 0330       and.w   r3, r3, #48     ; 0x30
+ 8004880:      2b10            cmp     r3, #16
+ 8004882:      d00f            beq.n   80048a4 <UART_SetConfig+0x170>
+ 8004884:      2b10            cmp     r3, #16
+ 8004886:      d802            bhi.n   800488e <UART_SetConfig+0x15a>
+ 8004888:      2b00            cmp     r3, #0
+ 800488a:      d005            beq.n   8004898 <UART_SetConfig+0x164>
+ 800488c:      e010            b.n     80048b0 <UART_SetConfig+0x17c>
+ 800488e:      2b20            cmp     r3, #32
+ 8004890:      d005            beq.n   800489e <UART_SetConfig+0x16a>
+ 8004892:      2b30            cmp     r3, #48 ; 0x30
+ 8004894:      d009            beq.n   80048aa <UART_SetConfig+0x176>
+ 8004896:      e00b            b.n     80048b0 <UART_SetConfig+0x17c>
+ 8004898:      2300            movs    r3, #0
+ 800489a:      77fb            strb    r3, [r7, #31]
+ 800489c:      e0f1            b.n     8004a82 <UART_SetConfig+0x34e>
+ 800489e:      2302            movs    r3, #2
+ 80048a0:      77fb            strb    r3, [r7, #31]
+ 80048a2:      e0ee            b.n     8004a82 <UART_SetConfig+0x34e>
+ 80048a4:      2304            movs    r3, #4
+ 80048a6:      77fb            strb    r3, [r7, #31]
+ 80048a8:      e0eb            b.n     8004a82 <UART_SetConfig+0x34e>
+ 80048aa:      2308            movs    r3, #8
+ 80048ac:      77fb            strb    r3, [r7, #31]
+ 80048ae:      e0e8            b.n     8004a82 <UART_SetConfig+0x34e>
+ 80048b0:      2310            movs    r3, #16
+ 80048b2:      77fb            strb    r3, [r7, #31]
+ 80048b4:      bf00            nop
+ 80048b6:      e0e4            b.n     8004a82 <UART_SetConfig+0x34e>
+ 80048b8:      687b            ldr     r3, [r7, #4]
+ 80048ba:      681b            ldr     r3, [r3, #0]
+ 80048bc:      4a5f            ldr     r2, [pc, #380]  ; (8004a3c <UART_SetConfig+0x308>)
+ 80048be:      4293            cmp     r3, r2
+ 80048c0:      d120            bne.n   8004904 <UART_SetConfig+0x1d0>
+ 80048c2:      4b5b            ldr     r3, [pc, #364]  ; (8004a30 <UART_SetConfig+0x2fc>)
+ 80048c4:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 80048c8:      f003 03c0       and.w   r3, r3, #192    ; 0xc0
+ 80048cc:      2b40            cmp     r3, #64 ; 0x40
+ 80048ce:      d00f            beq.n   80048f0 <UART_SetConfig+0x1bc>
+ 80048d0:      2b40            cmp     r3, #64 ; 0x40
+ 80048d2:      d802            bhi.n   80048da <UART_SetConfig+0x1a6>
+ 80048d4:      2b00            cmp     r3, #0
+ 80048d6:      d005            beq.n   80048e4 <UART_SetConfig+0x1b0>
+ 80048d8:      e010            b.n     80048fc <UART_SetConfig+0x1c8>
+ 80048da:      2b80            cmp     r3, #128        ; 0x80
+ 80048dc:      d005            beq.n   80048ea <UART_SetConfig+0x1b6>
+ 80048de:      2bc0            cmp     r3, #192        ; 0xc0
+ 80048e0:      d009            beq.n   80048f6 <UART_SetConfig+0x1c2>
+ 80048e2:      e00b            b.n     80048fc <UART_SetConfig+0x1c8>
+ 80048e4:      2300            movs    r3, #0
+ 80048e6:      77fb            strb    r3, [r7, #31]
+ 80048e8:      e0cb            b.n     8004a82 <UART_SetConfig+0x34e>
+ 80048ea:      2302            movs    r3, #2
+ 80048ec:      77fb            strb    r3, [r7, #31]
+ 80048ee:      e0c8            b.n     8004a82 <UART_SetConfig+0x34e>
+ 80048f0:      2304            movs    r3, #4
+ 80048f2:      77fb            strb    r3, [r7, #31]
+ 80048f4:      e0c5            b.n     8004a82 <UART_SetConfig+0x34e>
+ 80048f6:      2308            movs    r3, #8
+ 80048f8:      77fb            strb    r3, [r7, #31]
+ 80048fa:      e0c2            b.n     8004a82 <UART_SetConfig+0x34e>
+ 80048fc:      2310            movs    r3, #16
+ 80048fe:      77fb            strb    r3, [r7, #31]
+ 8004900:      bf00            nop
+ 8004902:      e0be            b.n     8004a82 <UART_SetConfig+0x34e>
+ 8004904:      687b            ldr     r3, [r7, #4]
+ 8004906:      681b            ldr     r3, [r3, #0]
+ 8004908:      4a4d            ldr     r2, [pc, #308]  ; (8004a40 <UART_SetConfig+0x30c>)
+ 800490a:      4293            cmp     r3, r2
+ 800490c:      d124            bne.n   8004958 <UART_SetConfig+0x224>
+ 800490e:      4b48            ldr     r3, [pc, #288]  ; (8004a30 <UART_SetConfig+0x2fc>)
+ 8004910:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8004914:      f403 7340       and.w   r3, r3, #768    ; 0x300
+ 8004918:      f5b3 7f80       cmp.w   r3, #256        ; 0x100
+ 800491c:      d012            beq.n   8004944 <UART_SetConfig+0x210>
+ 800491e:      f5b3 7f80       cmp.w   r3, #256        ; 0x100
+ 8004922:      d802            bhi.n   800492a <UART_SetConfig+0x1f6>
+ 8004924:      2b00            cmp     r3, #0
+ 8004926:      d007            beq.n   8004938 <UART_SetConfig+0x204>
+ 8004928:      e012            b.n     8004950 <UART_SetConfig+0x21c>
+ 800492a:      f5b3 7f00       cmp.w   r3, #512        ; 0x200
+ 800492e:      d006            beq.n   800493e <UART_SetConfig+0x20a>
+ 8004930:      f5b3 7f40       cmp.w   r3, #768        ; 0x300
+ 8004934:      d009            beq.n   800494a <UART_SetConfig+0x216>
+ 8004936:      e00b            b.n     8004950 <UART_SetConfig+0x21c>
+ 8004938:      2300            movs    r3, #0
+ 800493a:      77fb            strb    r3, [r7, #31]
+ 800493c:      e0a1            b.n     8004a82 <UART_SetConfig+0x34e>
+ 800493e:      2302            movs    r3, #2
+ 8004940:      77fb            strb    r3, [r7, #31]
+ 8004942:      e09e            b.n     8004a82 <UART_SetConfig+0x34e>
+ 8004944:      2304            movs    r3, #4
+ 8004946:      77fb            strb    r3, [r7, #31]
+ 8004948:      e09b            b.n     8004a82 <UART_SetConfig+0x34e>
+ 800494a:      2308            movs    r3, #8
+ 800494c:      77fb            strb    r3, [r7, #31]
+ 800494e:      e098            b.n     8004a82 <UART_SetConfig+0x34e>
+ 8004950:      2310            movs    r3, #16
+ 8004952:      77fb            strb    r3, [r7, #31]
+ 8004954:      bf00            nop
+ 8004956:      e094            b.n     8004a82 <UART_SetConfig+0x34e>
+ 8004958:      687b            ldr     r3, [r7, #4]
+ 800495a:      681b            ldr     r3, [r3, #0]
+ 800495c:      4a39            ldr     r2, [pc, #228]  ; (8004a44 <UART_SetConfig+0x310>)
+ 800495e:      4293            cmp     r3, r2
+ 8004960:      d124            bne.n   80049ac <UART_SetConfig+0x278>
+ 8004962:      4b33            ldr     r3, [pc, #204]  ; (8004a30 <UART_SetConfig+0x2fc>)
+ 8004964:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8004968:      f403 6340       and.w   r3, r3, #3072   ; 0xc00
+ 800496c:      f5b3 6f80       cmp.w   r3, #1024       ; 0x400
+ 8004970:      d012            beq.n   8004998 <UART_SetConfig+0x264>
+ 8004972:      f5b3 6f80       cmp.w   r3, #1024       ; 0x400
+ 8004976:      d802            bhi.n   800497e <UART_SetConfig+0x24a>
+ 8004978:      2b00            cmp     r3, #0
+ 800497a:      d007            beq.n   800498c <UART_SetConfig+0x258>
+ 800497c:      e012            b.n     80049a4 <UART_SetConfig+0x270>
+ 800497e:      f5b3 6f00       cmp.w   r3, #2048       ; 0x800
+ 8004982:      d006            beq.n   8004992 <UART_SetConfig+0x25e>
+ 8004984:      f5b3 6f40       cmp.w   r3, #3072       ; 0xc00
+ 8004988:      d009            beq.n   800499e <UART_SetConfig+0x26a>
+ 800498a:      e00b            b.n     80049a4 <UART_SetConfig+0x270>
+ 800498c:      2301            movs    r3, #1
+ 800498e:      77fb            strb    r3, [r7, #31]
+ 8004990:      e077            b.n     8004a82 <UART_SetConfig+0x34e>
+ 8004992:      2302            movs    r3, #2
+ 8004994:      77fb            strb    r3, [r7, #31]
+ 8004996:      e074            b.n     8004a82 <UART_SetConfig+0x34e>
+ 8004998:      2304            movs    r3, #4
+ 800499a:      77fb            strb    r3, [r7, #31]
+ 800499c:      e071            b.n     8004a82 <UART_SetConfig+0x34e>
+ 800499e:      2308            movs    r3, #8
+ 80049a0:      77fb            strb    r3, [r7, #31]
+ 80049a2:      e06e            b.n     8004a82 <UART_SetConfig+0x34e>
+ 80049a4:      2310            movs    r3, #16
+ 80049a6:      77fb            strb    r3, [r7, #31]
+ 80049a8:      bf00            nop
+ 80049aa:      e06a            b.n     8004a82 <UART_SetConfig+0x34e>
+ 80049ac:      687b            ldr     r3, [r7, #4]
+ 80049ae:      681b            ldr     r3, [r3, #0]
+ 80049b0:      4a25            ldr     r2, [pc, #148]  ; (8004a48 <UART_SetConfig+0x314>)
+ 80049b2:      4293            cmp     r3, r2
+ 80049b4:      d124            bne.n   8004a00 <UART_SetConfig+0x2cc>
+ 80049b6:      4b1e            ldr     r3, [pc, #120]  ; (8004a30 <UART_SetConfig+0x2fc>)
+ 80049b8:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 80049bc:      f403 5340       and.w   r3, r3, #12288  ; 0x3000
+ 80049c0:      f5b3 5f80       cmp.w   r3, #4096       ; 0x1000
+ 80049c4:      d012            beq.n   80049ec <UART_SetConfig+0x2b8>
+ 80049c6:      f5b3 5f80       cmp.w   r3, #4096       ; 0x1000
+ 80049ca:      d802            bhi.n   80049d2 <UART_SetConfig+0x29e>
+ 80049cc:      2b00            cmp     r3, #0
+ 80049ce:      d007            beq.n   80049e0 <UART_SetConfig+0x2ac>
+ 80049d0:      e012            b.n     80049f8 <UART_SetConfig+0x2c4>
+ 80049d2:      f5b3 5f00       cmp.w   r3, #8192       ; 0x2000
+ 80049d6:      d006            beq.n   80049e6 <UART_SetConfig+0x2b2>
+ 80049d8:      f5b3 5f40       cmp.w   r3, #12288      ; 0x3000
+ 80049dc:      d009            beq.n   80049f2 <UART_SetConfig+0x2be>
+ 80049de:      e00b            b.n     80049f8 <UART_SetConfig+0x2c4>
+ 80049e0:      2300            movs    r3, #0
+ 80049e2:      77fb            strb    r3, [r7, #31]
+ 80049e4:      e04d            b.n     8004a82 <UART_SetConfig+0x34e>
+ 80049e6:      2302            movs    r3, #2
+ 80049e8:      77fb            strb    r3, [r7, #31]
+ 80049ea:      e04a            b.n     8004a82 <UART_SetConfig+0x34e>
+ 80049ec:      2304            movs    r3, #4
+ 80049ee:      77fb            strb    r3, [r7, #31]
+ 80049f0:      e047            b.n     8004a82 <UART_SetConfig+0x34e>
+ 80049f2:      2308            movs    r3, #8
+ 80049f4:      77fb            strb    r3, [r7, #31]
+ 80049f6:      e044            b.n     8004a82 <UART_SetConfig+0x34e>
+ 80049f8:      2310            movs    r3, #16
+ 80049fa:      77fb            strb    r3, [r7, #31]
+ 80049fc:      bf00            nop
+ 80049fe:      e040            b.n     8004a82 <UART_SetConfig+0x34e>
+ 8004a00:      687b            ldr     r3, [r7, #4]
+ 8004a02:      681b            ldr     r3, [r3, #0]
+ 8004a04:      4a11            ldr     r2, [pc, #68]   ; (8004a4c <UART_SetConfig+0x318>)
+ 8004a06:      4293            cmp     r3, r2
+ 8004a08:      d139            bne.n   8004a7e <UART_SetConfig+0x34a>
+ 8004a0a:      4b09            ldr     r3, [pc, #36]   ; (8004a30 <UART_SetConfig+0x2fc>)
+ 8004a0c:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8004a10:      f403 4340       and.w   r3, r3, #49152  ; 0xc000
+ 8004a14:      f5b3 4f80       cmp.w   r3, #16384      ; 0x4000
+ 8004a18:      d027            beq.n   8004a6a <UART_SetConfig+0x336>
+ 8004a1a:      f5b3 4f80       cmp.w   r3, #16384      ; 0x4000
+ 8004a1e:      d817            bhi.n   8004a50 <UART_SetConfig+0x31c>
+ 8004a20:      2b00            cmp     r3, #0
+ 8004a22:      d01c            beq.n   8004a5e <UART_SetConfig+0x32a>
+ 8004a24:      e027            b.n     8004a76 <UART_SetConfig+0x342>
+ 8004a26:      bf00            nop
+ 8004a28:      efff69f3        .word   0xefff69f3
+ 8004a2c:      40011000        .word   0x40011000
+ 8004a30:      40023800        .word   0x40023800
+ 8004a34:      40004400        .word   0x40004400
+ 8004a38:      40004800        .word   0x40004800
+ 8004a3c:      40004c00        .word   0x40004c00
+ 8004a40:      40005000        .word   0x40005000
+ 8004a44:      40011400        .word   0x40011400
+ 8004a48:      40007800        .word   0x40007800
+ 8004a4c:      40007c00        .word   0x40007c00
+ 8004a50:      f5b3 4f00       cmp.w   r3, #32768      ; 0x8000
+ 8004a54:      d006            beq.n   8004a64 <UART_SetConfig+0x330>
+ 8004a56:      f5b3 4f40       cmp.w   r3, #49152      ; 0xc000
+ 8004a5a:      d009            beq.n   8004a70 <UART_SetConfig+0x33c>
+ 8004a5c:      e00b            b.n     8004a76 <UART_SetConfig+0x342>
+ 8004a5e:      2300            movs    r3, #0
+ 8004a60:      77fb            strb    r3, [r7, #31]
+ 8004a62:      e00e            b.n     8004a82 <UART_SetConfig+0x34e>
+ 8004a64:      2302            movs    r3, #2
+ 8004a66:      77fb            strb    r3, [r7, #31]
+ 8004a68:      e00b            b.n     8004a82 <UART_SetConfig+0x34e>
+ 8004a6a:      2304            movs    r3, #4
+ 8004a6c:      77fb            strb    r3, [r7, #31]
+ 8004a6e:      e008            b.n     8004a82 <UART_SetConfig+0x34e>
+ 8004a70:      2308            movs    r3, #8
+ 8004a72:      77fb            strb    r3, [r7, #31]
+ 8004a74:      e005            b.n     8004a82 <UART_SetConfig+0x34e>
+ 8004a76:      2310            movs    r3, #16
+ 8004a78:      77fb            strb    r3, [r7, #31]
+ 8004a7a:      bf00            nop
+ 8004a7c:      e001            b.n     8004a82 <UART_SetConfig+0x34e>
+ 8004a7e:      2310            movs    r3, #16
+ 8004a80:      77fb            strb    r3, [r7, #31]
 
   if (huart->Init.OverSampling == UART_OVERSAMPLING_8)
- 8004a52:      687b            ldr     r3, [r7, #4]
- 8004a54:      69db            ldr     r3, [r3, #28]
- 8004a56:      f5b3 4f00       cmp.w   r3, #32768      ; 0x8000
- 8004a5a:      d17c            bne.n   8004b56 <UART_SetConfig+0x452>
+ 8004a82:      687b            ldr     r3, [r7, #4]
+ 8004a84:      69db            ldr     r3, [r3, #28]
+ 8004a86:      f5b3 4f00       cmp.w   r3, #32768      ; 0x8000
+ 8004a8a:      d17c            bne.n   8004b86 <UART_SetConfig+0x452>
   {
     switch (clocksource)
- 8004a5c:      7ffb            ldrb    r3, [r7, #31]
- 8004a5e:      2b08            cmp     r3, #8
- 8004a60:      d859            bhi.n   8004b16 <UART_SetConfig+0x412>
- 8004a62:      a201            add     r2, pc, #4      ; (adr r2, 8004a68 <UART_SetConfig+0x364>)
- 8004a64:      f852 f023       ldr.w   pc, [r2, r3, lsl #2]
- 8004a68:      08004a8d        .word   0x08004a8d
- 8004a6c:      08004aab        .word   0x08004aab
- 8004a70:      08004ac9        .word   0x08004ac9
- 8004a74:      08004b17        .word   0x08004b17
- 8004a78:      08004ae1        .word   0x08004ae1
- 8004a7c:      08004b17        .word   0x08004b17
- 8004a80:      08004b17        .word   0x08004b17
- 8004a84:      08004b17        .word   0x08004b17
- 8004a88:      08004aff        .word   0x08004aff
+ 8004a8c:      7ffb            ldrb    r3, [r7, #31]
+ 8004a8e:      2b08            cmp     r3, #8
+ 8004a90:      d859            bhi.n   8004b46 <UART_SetConfig+0x412>
+ 8004a92:      a201            add     r2, pc, #4      ; (adr r2, 8004a98 <UART_SetConfig+0x364>)
+ 8004a94:      f852 f023       ldr.w   pc, [r2, r3, lsl #2]
+ 8004a98:      08004abd        .word   0x08004abd
+ 8004a9c:      08004adb        .word   0x08004adb
+ 8004aa0:      08004af9        .word   0x08004af9
+ 8004aa4:      08004b47        .word   0x08004b47
+ 8004aa8:      08004b11        .word   0x08004b11
+ 8004aac:      08004b47        .word   0x08004b47
+ 8004ab0:      08004b47        .word   0x08004b47
+ 8004ab4:      08004b47        .word   0x08004b47
+ 8004ab8:      08004b2f        .word   0x08004b2f
     {
       case UART_CLOCKSOURCE_PCLK1:
         usartdiv = (uint16_t)(UART_DIV_SAMPLING8(HAL_RCC_GetPCLK1Freq(), huart->Init.BaudRate));
- 8004a8c:      f7fd fef2       bl      8002874 <HAL_RCC_GetPCLK1Freq>
- 8004a90:      4603            mov     r3, r0
- 8004a92:      005a            lsls    r2, r3, #1
- 8004a94:      687b            ldr     r3, [r7, #4]
- 8004a96:      685b            ldr     r3, [r3, #4]
- 8004a98:      085b            lsrs    r3, r3, #1
- 8004a9a:      441a            add     r2, r3
- 8004a9c:      687b            ldr     r3, [r7, #4]
- 8004a9e:      685b            ldr     r3, [r3, #4]
- 8004aa0:      fbb2 f3f3       udiv    r3, r2, r3
- 8004aa4:      b29b            uxth    r3, r3
- 8004aa6:      61bb            str     r3, [r7, #24]
+ 8004abc:      f7fd fef2       bl      80028a4 <HAL_RCC_GetPCLK1Freq>
+ 8004ac0:      4603            mov     r3, r0
+ 8004ac2:      005a            lsls    r2, r3, #1
+ 8004ac4:      687b            ldr     r3, [r7, #4]
+ 8004ac6:      685b            ldr     r3, [r3, #4]
+ 8004ac8:      085b            lsrs    r3, r3, #1
+ 8004aca:      441a            add     r2, r3
+ 8004acc:      687b            ldr     r3, [r7, #4]
+ 8004ace:      685b            ldr     r3, [r3, #4]
+ 8004ad0:      fbb2 f3f3       udiv    r3, r2, r3
+ 8004ad4:      b29b            uxth    r3, r3
+ 8004ad6:      61bb            str     r3, [r7, #24]
         break;
- 8004aa8:      e038            b.n     8004b1c <UART_SetConfig+0x418>
+ 8004ad8:      e038            b.n     8004b4c <UART_SetConfig+0x418>
       case UART_CLOCKSOURCE_PCLK2:
         usartdiv = (uint16_t)(UART_DIV_SAMPLING8(HAL_RCC_GetPCLK2Freq(), huart->Init.BaudRate));
- 8004aaa:      f7fd fef7       bl      800289c <HAL_RCC_GetPCLK2Freq>
- 8004aae:      4603            mov     r3, r0
- 8004ab0:      005a            lsls    r2, r3, #1
- 8004ab2:      687b            ldr     r3, [r7, #4]
- 8004ab4:      685b            ldr     r3, [r3, #4]
- 8004ab6:      085b            lsrs    r3, r3, #1
- 8004ab8:      441a            add     r2, r3
- 8004aba:      687b            ldr     r3, [r7, #4]
- 8004abc:      685b            ldr     r3, [r3, #4]
- 8004abe:      fbb2 f3f3       udiv    r3, r2, r3
- 8004ac2:      b29b            uxth    r3, r3
- 8004ac4:      61bb            str     r3, [r7, #24]
+ 8004ada:      f7fd fef7       bl      80028cc <HAL_RCC_GetPCLK2Freq>
+ 8004ade:      4603            mov     r3, r0
+ 8004ae0:      005a            lsls    r2, r3, #1
+ 8004ae2:      687b            ldr     r3, [r7, #4]
+ 8004ae4:      685b            ldr     r3, [r3, #4]
+ 8004ae6:      085b            lsrs    r3, r3, #1
+ 8004ae8:      441a            add     r2, r3
+ 8004aea:      687b            ldr     r3, [r7, #4]
+ 8004aec:      685b            ldr     r3, [r3, #4]
+ 8004aee:      fbb2 f3f3       udiv    r3, r2, r3
+ 8004af2:      b29b            uxth    r3, r3
+ 8004af4:      61bb            str     r3, [r7, #24]
         break;
- 8004ac6:      e029            b.n     8004b1c <UART_SetConfig+0x418>
+ 8004af6:      e029            b.n     8004b4c <UART_SetConfig+0x418>
       case UART_CLOCKSOURCE_HSI:
         usartdiv = (uint16_t)(UART_DIV_SAMPLING8(HSI_VALUE, huart->Init.BaudRate));
- 8004ac8:      687b            ldr     r3, [r7, #4]
- 8004aca:      685b            ldr     r3, [r3, #4]
- 8004acc:      085a            lsrs    r2, r3, #1
- 8004ace:      4b5d            ldr     r3, [pc, #372]  ; (8004c44 <UART_SetConfig+0x540>)
- 8004ad0:      4413            add     r3, r2
- 8004ad2:      687a            ldr     r2, [r7, #4]
- 8004ad4:      6852            ldr     r2, [r2, #4]
- 8004ad6:      fbb3 f3f2       udiv    r3, r3, r2
- 8004ada:      b29b            uxth    r3, r3
- 8004adc:      61bb            str     r3, [r7, #24]
+ 8004af8:      687b            ldr     r3, [r7, #4]
+ 8004afa:      685b            ldr     r3, [r3, #4]
+ 8004afc:      085a            lsrs    r2, r3, #1
+ 8004afe:      4b5d            ldr     r3, [pc, #372]  ; (8004c74 <UART_SetConfig+0x540>)
+ 8004b00:      4413            add     r3, r2
+ 8004b02:      687a            ldr     r2, [r7, #4]
+ 8004b04:      6852            ldr     r2, [r2, #4]
+ 8004b06:      fbb3 f3f2       udiv    r3, r3, r2
+ 8004b0a:      b29b            uxth    r3, r3
+ 8004b0c:      61bb            str     r3, [r7, #24]
         break;
- 8004ade:      e01d            b.n     8004b1c <UART_SetConfig+0x418>
+ 8004b0e:      e01d            b.n     8004b4c <UART_SetConfig+0x418>
       case UART_CLOCKSOURCE_SYSCLK:
         usartdiv = (uint16_t)(UART_DIV_SAMPLING8(HAL_RCC_GetSysClockFreq(), huart->Init.BaudRate));
- 8004ae0:      f7fd fe0a       bl      80026f8 <HAL_RCC_GetSysClockFreq>
- 8004ae4:      4603            mov     r3, r0
- 8004ae6:      005a            lsls    r2, r3, #1
- 8004ae8:      687b            ldr     r3, [r7, #4]
- 8004aea:      685b            ldr     r3, [r3, #4]
- 8004aec:      085b            lsrs    r3, r3, #1
- 8004aee:      441a            add     r2, r3
- 8004af0:      687b            ldr     r3, [r7, #4]
- 8004af2:      685b            ldr     r3, [r3, #4]
- 8004af4:      fbb2 f3f3       udiv    r3, r2, r3
- 8004af8:      b29b            uxth    r3, r3
- 8004afa:      61bb            str     r3, [r7, #24]
+ 8004b10:      f7fd fe0a       bl      8002728 <HAL_RCC_GetSysClockFreq>
+ 8004b14:      4603            mov     r3, r0
+ 8004b16:      005a            lsls    r2, r3, #1
+ 8004b18:      687b            ldr     r3, [r7, #4]
+ 8004b1a:      685b            ldr     r3, [r3, #4]
+ 8004b1c:      085b            lsrs    r3, r3, #1
+ 8004b1e:      441a            add     r2, r3
+ 8004b20:      687b            ldr     r3, [r7, #4]
+ 8004b22:      685b            ldr     r3, [r3, #4]
+ 8004b24:      fbb2 f3f3       udiv    r3, r2, r3
+ 8004b28:      b29b            uxth    r3, r3
+ 8004b2a:      61bb            str     r3, [r7, #24]
         break;
- 8004afc:      e00e            b.n     8004b1c <UART_SetConfig+0x418>
+ 8004b2c:      e00e            b.n     8004b4c <UART_SetConfig+0x418>
       case UART_CLOCKSOURCE_LSE:
         usartdiv = (uint16_t)(UART_DIV_SAMPLING8(LSE_VALUE, huart->Init.BaudRate));
- 8004afe:      687b            ldr     r3, [r7, #4]
- 8004b00:      685b            ldr     r3, [r3, #4]
- 8004b02:      085b            lsrs    r3, r3, #1
- 8004b04:      f503 3280       add.w   r2, r3, #65536  ; 0x10000
- 8004b08:      687b            ldr     r3, [r7, #4]
- 8004b0a:      685b            ldr     r3, [r3, #4]
- 8004b0c:      fbb2 f3f3       udiv    r3, r2, r3
- 8004b10:      b29b            uxth    r3, r3
- 8004b12:      61bb            str     r3, [r7, #24]
+ 8004b2e:      687b            ldr     r3, [r7, #4]
+ 8004b30:      685b            ldr     r3, [r3, #4]
+ 8004b32:      085b            lsrs    r3, r3, #1
+ 8004b34:      f503 3280       add.w   r2, r3, #65536  ; 0x10000
+ 8004b38:      687b            ldr     r3, [r7, #4]
+ 8004b3a:      685b            ldr     r3, [r3, #4]
+ 8004b3c:      fbb2 f3f3       udiv    r3, r2, r3
+ 8004b40:      b29b            uxth    r3, r3
+ 8004b42:      61bb            str     r3, [r7, #24]
         break;
- 8004b14:      e002            b.n     8004b1c <UART_SetConfig+0x418>
+ 8004b44:      e002            b.n     8004b4c <UART_SetConfig+0x418>
       case UART_CLOCKSOURCE_UNDEFINED:
       default:
         ret = HAL_ERROR;
- 8004b16:      2301            movs    r3, #1
- 8004b18:      75fb            strb    r3, [r7, #23]
+ 8004b46:      2301            movs    r3, #1
+ 8004b48:      75fb            strb    r3, [r7, #23]
         break;
- 8004b1a:      bf00            nop
+ 8004b4a:      bf00            nop
     }
 
     /* USARTDIV must be greater than or equal to 0d16 */
     if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
- 8004b1c:      69bb            ldr     r3, [r7, #24]
- 8004b1e:      2b0f            cmp     r3, #15
- 8004b20:      d916            bls.n   8004b50 <UART_SetConfig+0x44c>
- 8004b22:      69bb            ldr     r3, [r7, #24]
- 8004b24:      f5b3 3f80       cmp.w   r3, #65536      ; 0x10000
- 8004b28:      d212            bcs.n   8004b50 <UART_SetConfig+0x44c>
+ 8004b4c:      69bb            ldr     r3, [r7, #24]
+ 8004b4e:      2b0f            cmp     r3, #15
+ 8004b50:      d916            bls.n   8004b80 <UART_SetConfig+0x44c>
+ 8004b52:      69bb            ldr     r3, [r7, #24]
+ 8004b54:      f5b3 3f80       cmp.w   r3, #65536      ; 0x10000
+ 8004b58:      d212            bcs.n   8004b80 <UART_SetConfig+0x44c>
     {
       brrtemp = (uint16_t)(usartdiv & 0xFFF0U);
- 8004b2a:      69bb            ldr     r3, [r7, #24]
- 8004b2c:      b29b            uxth    r3, r3
- 8004b2e:      f023 030f       bic.w   r3, r3, #15
- 8004b32:      81fb            strh    r3, [r7, #14]
+ 8004b5a:      69bb            ldr     r3, [r7, #24]
+ 8004b5c:      b29b            uxth    r3, r3
+ 8004b5e:      f023 030f       bic.w   r3, r3, #15
+ 8004b62:      81fb            strh    r3, [r7, #14]
       brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U);
- 8004b34:      69bb            ldr     r3, [r7, #24]
- 8004b36:      085b            lsrs    r3, r3, #1
- 8004b38:      b29b            uxth    r3, r3
- 8004b3a:      f003 0307       and.w   r3, r3, #7
- 8004b3e:      b29a            uxth    r2, r3
- 8004b40:      89fb            ldrh    r3, [r7, #14]
- 8004b42:      4313            orrs    r3, r2
- 8004b44:      81fb            strh    r3, [r7, #14]
+ 8004b64:      69bb            ldr     r3, [r7, #24]
+ 8004b66:      085b            lsrs    r3, r3, #1
+ 8004b68:      b29b            uxth    r3, r3
+ 8004b6a:      f003 0307       and.w   r3, r3, #7
+ 8004b6e:      b29a            uxth    r2, r3
+ 8004b70:      89fb            ldrh    r3, [r7, #14]
+ 8004b72:      4313            orrs    r3, r2
+ 8004b74:      81fb            strh    r3, [r7, #14]
       huart->Instance->BRR = brrtemp;
- 8004b46:      687b            ldr     r3, [r7, #4]
- 8004b48:      681b            ldr     r3, [r3, #0]
- 8004b4a:      89fa            ldrh    r2, [r7, #14]
- 8004b4c:      60da            str     r2, [r3, #12]
- 8004b4e:      e06e            b.n     8004c2e <UART_SetConfig+0x52a>
+ 8004b76:      687b            ldr     r3, [r7, #4]
+ 8004b78:      681b            ldr     r3, [r3, #0]
+ 8004b7a:      89fa            ldrh    r2, [r7, #14]
+ 8004b7c:      60da            str     r2, [r3, #12]
+ 8004b7e:      e06e            b.n     8004c5e <UART_SetConfig+0x52a>
     }
     else
     {
       ret = HAL_ERROR;
- 8004b50:      2301            movs    r3, #1
- 8004b52:      75fb            strb    r3, [r7, #23]
- 8004b54:      e06b            b.n     8004c2e <UART_SetConfig+0x52a>
+ 8004b80:      2301            movs    r3, #1
+ 8004b82:      75fb            strb    r3, [r7, #23]
+ 8004b84:      e06b            b.n     8004c5e <UART_SetConfig+0x52a>
     }
   }
   else
   {
     switch (clocksource)
- 8004b56:      7ffb            ldrb    r3, [r7, #31]
- 8004b58:      2b08            cmp     r3, #8
- 8004b5a:      d857            bhi.n   8004c0c <UART_SetConfig+0x508>
- 8004b5c:      a201            add     r2, pc, #4      ; (adr r2, 8004b64 <UART_SetConfig+0x460>)
- 8004b5e:      f852 f023       ldr.w   pc, [r2, r3, lsl #2]
- 8004b62:      bf00            nop
- 8004b64:      08004b89        .word   0x08004b89
- 8004b68:      08004ba5        .word   0x08004ba5
- 8004b6c:      08004bc1        .word   0x08004bc1
- 8004b70:      08004c0d        .word   0x08004c0d
- 8004b74:      08004bd9        .word   0x08004bd9
- 8004b78:      08004c0d        .word   0x08004c0d
- 8004b7c:      08004c0d        .word   0x08004c0d
- 8004b80:      08004c0d        .word   0x08004c0d
- 8004b84:      08004bf5        .word   0x08004bf5
+ 8004b86:      7ffb            ldrb    r3, [r7, #31]
+ 8004b88:      2b08            cmp     r3, #8
+ 8004b8a:      d857            bhi.n   8004c3c <UART_SetConfig+0x508>
+ 8004b8c:      a201            add     r2, pc, #4      ; (adr r2, 8004b94 <UART_SetConfig+0x460>)
+ 8004b8e:      f852 f023       ldr.w   pc, [r2, r3, lsl #2]
+ 8004b92:      bf00            nop
+ 8004b94:      08004bb9        .word   0x08004bb9
+ 8004b98:      08004bd5        .word   0x08004bd5
+ 8004b9c:      08004bf1        .word   0x08004bf1
+ 8004ba0:      08004c3d        .word   0x08004c3d
+ 8004ba4:      08004c09        .word   0x08004c09
+ 8004ba8:      08004c3d        .word   0x08004c3d
+ 8004bac:      08004c3d        .word   0x08004c3d
+ 8004bb0:      08004c3d        .word   0x08004c3d
+ 8004bb4:      08004c25        .word   0x08004c25
     {
       case UART_CLOCKSOURCE_PCLK1:
         usartdiv = (uint16_t)(UART_DIV_SAMPLING16(HAL_RCC_GetPCLK1Freq(), huart->Init.BaudRate));
- 8004b88:      f7fd fe74       bl      8002874 <HAL_RCC_GetPCLK1Freq>
- 8004b8c:      4602            mov     r2, r0
- 8004b8e:      687b            ldr     r3, [r7, #4]
- 8004b90:      685b            ldr     r3, [r3, #4]
- 8004b92:      085b            lsrs    r3, r3, #1
- 8004b94:      441a            add     r2, r3
- 8004b96:      687b            ldr     r3, [r7, #4]
- 8004b98:      685b            ldr     r3, [r3, #4]
- 8004b9a:      fbb2 f3f3       udiv    r3, r2, r3
- 8004b9e:      b29b            uxth    r3, r3
- 8004ba0:      61bb            str     r3, [r7, #24]
+ 8004bb8:      f7fd fe74       bl      80028a4 <HAL_RCC_GetPCLK1Freq>
+ 8004bbc:      4602            mov     r2, r0
+ 8004bbe:      687b            ldr     r3, [r7, #4]
+ 8004bc0:      685b            ldr     r3, [r3, #4]
+ 8004bc2:      085b            lsrs    r3, r3, #1
+ 8004bc4:      441a            add     r2, r3
+ 8004bc6:      687b            ldr     r3, [r7, #4]
+ 8004bc8:      685b            ldr     r3, [r3, #4]
+ 8004bca:      fbb2 f3f3       udiv    r3, r2, r3
+ 8004bce:      b29b            uxth    r3, r3
+ 8004bd0:      61bb            str     r3, [r7, #24]
         break;
- 8004ba2:      e036            b.n     8004c12 <UART_SetConfig+0x50e>
+ 8004bd2:      e036            b.n     8004c42 <UART_SetConfig+0x50e>
       case UART_CLOCKSOURCE_PCLK2:
         usartdiv = (uint16_t)(UART_DIV_SAMPLING16(HAL_RCC_GetPCLK2Freq(), huart->Init.BaudRate));
- 8004ba4:      f7fd fe7a       bl      800289c <HAL_RCC_GetPCLK2Freq>
- 8004ba8:      4602            mov     r2, r0
- 8004baa:      687b            ldr     r3, [r7, #4]
- 8004bac:      685b            ldr     r3, [r3, #4]
- 8004bae:      085b            lsrs    r3, r3, #1
- 8004bb0:      441a            add     r2, r3
- 8004bb2:      687b            ldr     r3, [r7, #4]
- 8004bb4:      685b            ldr     r3, [r3, #4]
- 8004bb6:      fbb2 f3f3       udiv    r3, r2, r3
- 8004bba:      b29b            uxth    r3, r3
- 8004bbc:      61bb            str     r3, [r7, #24]
+ 8004bd4:      f7fd fe7a       bl      80028cc <HAL_RCC_GetPCLK2Freq>
+ 8004bd8:      4602            mov     r2, r0
+ 8004bda:      687b            ldr     r3, [r7, #4]
+ 8004bdc:      685b            ldr     r3, [r3, #4]
+ 8004bde:      085b            lsrs    r3, r3, #1
+ 8004be0:      441a            add     r2, r3
+ 8004be2:      687b            ldr     r3, [r7, #4]
+ 8004be4:      685b            ldr     r3, [r3, #4]
+ 8004be6:      fbb2 f3f3       udiv    r3, r2, r3
+ 8004bea:      b29b            uxth    r3, r3
+ 8004bec:      61bb            str     r3, [r7, #24]
         break;
- 8004bbe:      e028            b.n     8004c12 <UART_SetConfig+0x50e>
+ 8004bee:      e028            b.n     8004c42 <UART_SetConfig+0x50e>
       case UART_CLOCKSOURCE_HSI:
         usartdiv = (uint16_t)(UART_DIV_SAMPLING16(HSI_VALUE, huart->Init.BaudRate));
- 8004bc0:      687b            ldr     r3, [r7, #4]
- 8004bc2:      685b            ldr     r3, [r3, #4]
- 8004bc4:      085a            lsrs    r2, r3, #1
- 8004bc6:      4b20            ldr     r3, [pc, #128]  ; (8004c48 <UART_SetConfig+0x544>)
- 8004bc8:      4413            add     r3, r2
- 8004bca:      687a            ldr     r2, [r7, #4]
- 8004bcc:      6852            ldr     r2, [r2, #4]
- 8004bce:      fbb3 f3f2       udiv    r3, r3, r2
- 8004bd2:      b29b            uxth    r3, r3
- 8004bd4:      61bb            str     r3, [r7, #24]
+ 8004bf0:      687b            ldr     r3, [r7, #4]
+ 8004bf2:      685b            ldr     r3, [r3, #4]
+ 8004bf4:      085a            lsrs    r2, r3, #1
+ 8004bf6:      4b20            ldr     r3, [pc, #128]  ; (8004c78 <UART_SetConfig+0x544>)
+ 8004bf8:      4413            add     r3, r2
+ 8004bfa:      687a            ldr     r2, [r7, #4]
+ 8004bfc:      6852            ldr     r2, [r2, #4]
+ 8004bfe:      fbb3 f3f2       udiv    r3, r3, r2
+ 8004c02:      b29b            uxth    r3, r3
+ 8004c04:      61bb            str     r3, [r7, #24]
         break;
- 8004bd6:      e01c            b.n     8004c12 <UART_SetConfig+0x50e>
+ 8004c06:      e01c            b.n     8004c42 <UART_SetConfig+0x50e>
       case UART_CLOCKSOURCE_SYSCLK:
         usartdiv = (uint16_t)(UART_DIV_SAMPLING16(HAL_RCC_GetSysClockFreq(), huart->Init.BaudRate));
- 8004bd8:      f7fd fd8e       bl      80026f8 <HAL_RCC_GetSysClockFreq>
- 8004bdc:      4602            mov     r2, r0
- 8004bde:      687b            ldr     r3, [r7, #4]
- 8004be0:      685b            ldr     r3, [r3, #4]
- 8004be2:      085b            lsrs    r3, r3, #1
- 8004be4:      441a            add     r2, r3
- 8004be6:      687b            ldr     r3, [r7, #4]
- 8004be8:      685b            ldr     r3, [r3, #4]
- 8004bea:      fbb2 f3f3       udiv    r3, r2, r3
- 8004bee:      b29b            uxth    r3, r3
- 8004bf0:      61bb            str     r3, [r7, #24]
+ 8004c08:      f7fd fd8e       bl      8002728 <HAL_RCC_GetSysClockFreq>
+ 8004c0c:      4602            mov     r2, r0
+ 8004c0e:      687b            ldr     r3, [r7, #4]
+ 8004c10:      685b            ldr     r3, [r3, #4]
+ 8004c12:      085b            lsrs    r3, r3, #1
+ 8004c14:      441a            add     r2, r3
+ 8004c16:      687b            ldr     r3, [r7, #4]
+ 8004c18:      685b            ldr     r3, [r3, #4]
+ 8004c1a:      fbb2 f3f3       udiv    r3, r2, r3
+ 8004c1e:      b29b            uxth    r3, r3
+ 8004c20:      61bb            str     r3, [r7, #24]
         break;
- 8004bf2:      e00e            b.n     8004c12 <UART_SetConfig+0x50e>
+ 8004c22:      e00e            b.n     8004c42 <UART_SetConfig+0x50e>
       case UART_CLOCKSOURCE_LSE:
         usartdiv = (uint16_t)(UART_DIV_SAMPLING16(LSE_VALUE, huart->Init.BaudRate));
- 8004bf4:      687b            ldr     r3, [r7, #4]
- 8004bf6:      685b            ldr     r3, [r3, #4]
- 8004bf8:      085b            lsrs    r3, r3, #1
- 8004bfa:      f503 4200       add.w   r2, r3, #32768  ; 0x8000
- 8004bfe:      687b            ldr     r3, [r7, #4]
- 8004c00:      685b            ldr     r3, [r3, #4]
- 8004c02:      fbb2 f3f3       udiv    r3, r2, r3
- 8004c06:      b29b            uxth    r3, r3
- 8004c08:      61bb            str     r3, [r7, #24]
+ 8004c24:      687b            ldr     r3, [r7, #4]
+ 8004c26:      685b            ldr     r3, [r3, #4]
+ 8004c28:      085b            lsrs    r3, r3, #1
+ 8004c2a:      f503 4200       add.w   r2, r3, #32768  ; 0x8000
+ 8004c2e:      687b            ldr     r3, [r7, #4]
+ 8004c30:      685b            ldr     r3, [r3, #4]
+ 8004c32:      fbb2 f3f3       udiv    r3, r2, r3
+ 8004c36:      b29b            uxth    r3, r3
+ 8004c38:      61bb            str     r3, [r7, #24]
         break;
- 8004c0a:      e002            b.n     8004c12 <UART_SetConfig+0x50e>
+ 8004c3a:      e002            b.n     8004c42 <UART_SetConfig+0x50e>
       case UART_CLOCKSOURCE_UNDEFINED:
       default:
         ret = HAL_ERROR;
- 8004c0c:      2301            movs    r3, #1
- 8004c0e:      75fb            strb    r3, [r7, #23]
+ 8004c3c:      2301            movs    r3, #1
+ 8004c3e:      75fb            strb    r3, [r7, #23]
         break;
- 8004c10:      bf00            nop
+ 8004c40:      bf00            nop
     }
 
     /* USARTDIV must be greater than or equal to 0d16 */
     if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
- 8004c12:      69bb            ldr     r3, [r7, #24]
- 8004c14:      2b0f            cmp     r3, #15
- 8004c16:      d908            bls.n   8004c2a <UART_SetConfig+0x526>
- 8004c18:      69bb            ldr     r3, [r7, #24]
- 8004c1a:      f5b3 3f80       cmp.w   r3, #65536      ; 0x10000
- 8004c1e:      d204            bcs.n   8004c2a <UART_SetConfig+0x526>
+ 8004c42:      69bb            ldr     r3, [r7, #24]
+ 8004c44:      2b0f            cmp     r3, #15
+ 8004c46:      d908            bls.n   8004c5a <UART_SetConfig+0x526>
+ 8004c48:      69bb            ldr     r3, [r7, #24]
+ 8004c4a:      f5b3 3f80       cmp.w   r3, #65536      ; 0x10000
+ 8004c4e:      d204            bcs.n   8004c5a <UART_SetConfig+0x526>
     {
       huart->Instance->BRR = usartdiv;
- 8004c20:      687b            ldr     r3, [r7, #4]
- 8004c22:      681b            ldr     r3, [r3, #0]
- 8004c24:      69ba            ldr     r2, [r7, #24]
- 8004c26:      60da            str     r2, [r3, #12]
- 8004c28:      e001            b.n     8004c2e <UART_SetConfig+0x52a>
+ 8004c50:      687b            ldr     r3, [r7, #4]
+ 8004c52:      681b            ldr     r3, [r3, #0]
+ 8004c54:      69ba            ldr     r2, [r7, #24]
+ 8004c56:      60da            str     r2, [r3, #12]
+ 8004c58:      e001            b.n     8004c5e <UART_SetConfig+0x52a>
     }
     else
     {
       ret = HAL_ERROR;
- 8004c2a:      2301            movs    r3, #1
- 8004c2c:      75fb            strb    r3, [r7, #23]
+ 8004c5a:      2301            movs    r3, #1
+ 8004c5c:      75fb            strb    r3, [r7, #23]
     }
   }
 
 
   /* Clear ISR function pointers */
   huart->RxISR = NULL;
- 8004c2e:      687b            ldr     r3, [r7, #4]
- 8004c30:      2200            movs    r2, #0
- 8004c32:      661a            str     r2, [r3, #96]   ; 0x60
+ 8004c5e:      687b            ldr     r3, [r7, #4]
+ 8004c60:      2200            movs    r2, #0
+ 8004c62:      661a            str     r2, [r3, #96]   ; 0x60
   huart->TxISR = NULL;
- 8004c34:      687b            ldr     r3, [r7, #4]
- 8004c36:      2200            movs    r2, #0
- 8004c38:      665a            str     r2, [r3, #100]  ; 0x64
+ 8004c64:      687b            ldr     r3, [r7, #4]
+ 8004c66:      2200            movs    r2, #0
+ 8004c68:      665a            str     r2, [r3, #100]  ; 0x64
 
   return ret;
- 8004c3a:      7dfb            ldrb    r3, [r7, #23]
+ 8004c6a:      7dfb            ldrb    r3, [r7, #23]
 }
- 8004c3c:      4618            mov     r0, r3
- 8004c3e:      3720            adds    r7, #32
- 8004c40:      46bd            mov     sp, r7
- 8004c42:      bd80            pop     {r7, pc}
- 8004c44:      01e84800        .word   0x01e84800
- 8004c48:      00f42400        .word   0x00f42400
-
-08004c4c <UART_AdvFeatureConfig>:
+ 8004c6c:      4618            mov     r0, r3
+ 8004c6e:      3720            adds    r7, #32
+ 8004c70:      46bd            mov     sp, r7
+ 8004c72:      bd80            pop     {r7, pc}
+ 8004c74:      01e84800        .word   0x01e84800
+ 8004c78:      00f42400        .word   0x00f42400
+
+08004c7c <UART_AdvFeatureConfig>:
   * @brief Configure the UART peripheral advanced features.
   * @param huart UART handle.
   * @retval None
   */
 void UART_AdvFeatureConfig(UART_HandleTypeDef *huart)
 {
- 8004c4c:      b480            push    {r7}
- 8004c4e:      b083            sub     sp, #12
- 8004c50:      af00            add     r7, sp, #0
- 8004c52:      6078            str     r0, [r7, #4]
+ 8004c7c:      b480            push    {r7}
+ 8004c7e:      b083            sub     sp, #12
+ 8004c80:      af00            add     r7, sp, #0
+ 8004c82:      6078            str     r0, [r7, #4]
   /* Check whether the set of advanced features to configure is properly set */
   assert_param(IS_UART_ADVFEATURE_INIT(huart->AdvancedInit.AdvFeatureInit));
 
   /* if required, configure TX pin active level inversion */
   if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_TXINVERT_INIT))
- 8004c54:      687b            ldr     r3, [r7, #4]
- 8004c56:      6a5b            ldr     r3, [r3, #36]   ; 0x24
- 8004c58:      f003 0301       and.w   r3, r3, #1
- 8004c5c:      2b00            cmp     r3, #0
- 8004c5e:      d00a            beq.n   8004c76 <UART_AdvFeatureConfig+0x2a>
+ 8004c84:      687b            ldr     r3, [r7, #4]
+ 8004c86:      6a5b            ldr     r3, [r3, #36]   ; 0x24
+ 8004c88:      f003 0301       and.w   r3, r3, #1
+ 8004c8c:      2b00            cmp     r3, #0
+ 8004c8e:      d00a            beq.n   8004ca6 <UART_AdvFeatureConfig+0x2a>
   {
     assert_param(IS_UART_ADVFEATURE_TXINV(huart->AdvancedInit.TxPinLevelInvert));
     MODIFY_REG(huart->Instance->CR2, USART_CR2_TXINV, huart->AdvancedInit.TxPinLevelInvert);
- 8004c60:      687b            ldr     r3, [r7, #4]
- 8004c62:      681b            ldr     r3, [r3, #0]
- 8004c64:      685b            ldr     r3, [r3, #4]
- 8004c66:      f423 3100       bic.w   r1, r3, #131072 ; 0x20000
- 8004c6a:      687b            ldr     r3, [r7, #4]
- 8004c6c:      6a9a            ldr     r2, [r3, #40]   ; 0x28
- 8004c6e:      687b            ldr     r3, [r7, #4]
- 8004c70:      681b            ldr     r3, [r3, #0]
- 8004c72:      430a            orrs    r2, r1
- 8004c74:      605a            str     r2, [r3, #4]
+ 8004c90:      687b            ldr     r3, [r7, #4]
+ 8004c92:      681b            ldr     r3, [r3, #0]
+ 8004c94:      685b            ldr     r3, [r3, #4]
+ 8004c96:      f423 3100       bic.w   r1, r3, #131072 ; 0x20000
+ 8004c9a:      687b            ldr     r3, [r7, #4]
+ 8004c9c:      6a9a            ldr     r2, [r3, #40]   ; 0x28
+ 8004c9e:      687b            ldr     r3, [r7, #4]
+ 8004ca0:      681b            ldr     r3, [r3, #0]
+ 8004ca2:      430a            orrs    r2, r1
+ 8004ca4:      605a            str     r2, [r3, #4]
   }
 
   /* if required, configure RX pin active level inversion */
   if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_RXINVERT_INIT))
- 8004c76:      687b            ldr     r3, [r7, #4]
- 8004c78:      6a5b            ldr     r3, [r3, #36]   ; 0x24
- 8004c7a:      f003 0302       and.w   r3, r3, #2
- 8004c7e:      2b00            cmp     r3, #0
- 8004c80:      d00a            beq.n   8004c98 <UART_AdvFeatureConfig+0x4c>
+ 8004ca6:      687b            ldr     r3, [r7, #4]
+ 8004ca8:      6a5b            ldr     r3, [r3, #36]   ; 0x24
+ 8004caa:      f003 0302       and.w   r3, r3, #2
+ 8004cae:      2b00            cmp     r3, #0
+ 8004cb0:      d00a            beq.n   8004cc8 <UART_AdvFeatureConfig+0x4c>
   {
     assert_param(IS_UART_ADVFEATURE_RXINV(huart->AdvancedInit.RxPinLevelInvert));
     MODIFY_REG(huart->Instance->CR2, USART_CR2_RXINV, huart->AdvancedInit.RxPinLevelInvert);
- 8004c82:      687b            ldr     r3, [r7, #4]
- 8004c84:      681b            ldr     r3, [r3, #0]
- 8004c86:      685b            ldr     r3, [r3, #4]
- 8004c88:      f423 3180       bic.w   r1, r3, #65536  ; 0x10000
- 8004c8c:      687b            ldr     r3, [r7, #4]
- 8004c8e:      6ada            ldr     r2, [r3, #44]   ; 0x2c
- 8004c90:      687b            ldr     r3, [r7, #4]
- 8004c92:      681b            ldr     r3, [r3, #0]
- 8004c94:      430a            orrs    r2, r1
- 8004c96:      605a            str     r2, [r3, #4]
+ 8004cb2:      687b            ldr     r3, [r7, #4]
+ 8004cb4:      681b            ldr     r3, [r3, #0]
+ 8004cb6:      685b            ldr     r3, [r3, #4]
+ 8004cb8:      f423 3180       bic.w   r1, r3, #65536  ; 0x10000
+ 8004cbc:      687b            ldr     r3, [r7, #4]
+ 8004cbe:      6ada            ldr     r2, [r3, #44]   ; 0x2c
+ 8004cc0:      687b            ldr     r3, [r7, #4]
+ 8004cc2:      681b            ldr     r3, [r3, #0]
+ 8004cc4:      430a            orrs    r2, r1
+ 8004cc6:      605a            str     r2, [r3, #4]
   }
 
   /* if required, configure data inversion */
   if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_DATAINVERT_INIT))
- 8004c98:      687b            ldr     r3, [r7, #4]
- 8004c9a:      6a5b            ldr     r3, [r3, #36]   ; 0x24
- 8004c9c:      f003 0304       and.w   r3, r3, #4
- 8004ca0:      2b00            cmp     r3, #0
- 8004ca2:      d00a            beq.n   8004cba <UART_AdvFeatureConfig+0x6e>
+ 8004cc8:      687b            ldr     r3, [r7, #4]
+ 8004cca:      6a5b            ldr     r3, [r3, #36]   ; 0x24
+ 8004ccc:      f003 0304       and.w   r3, r3, #4
+ 8004cd0:      2b00            cmp     r3, #0
+ 8004cd2:      d00a            beq.n   8004cea <UART_AdvFeatureConfig+0x6e>
   {
     assert_param(IS_UART_ADVFEATURE_DATAINV(huart->AdvancedInit.DataInvert));
     MODIFY_REG(huart->Instance->CR2, USART_CR2_DATAINV, huart->AdvancedInit.DataInvert);
- 8004ca4:      687b            ldr     r3, [r7, #4]
- 8004ca6:      681b            ldr     r3, [r3, #0]
- 8004ca8:      685b            ldr     r3, [r3, #4]
- 8004caa:      f423 2180       bic.w   r1, r3, #262144 ; 0x40000
- 8004cae:      687b            ldr     r3, [r7, #4]
- 8004cb0:      6b1a            ldr     r2, [r3, #48]   ; 0x30
- 8004cb2:      687b            ldr     r3, [r7, #4]
- 8004cb4:      681b            ldr     r3, [r3, #0]
- 8004cb6:      430a            orrs    r2, r1
- 8004cb8:      605a            str     r2, [r3, #4]
+ 8004cd4:      687b            ldr     r3, [r7, #4]
+ 8004cd6:      681b            ldr     r3, [r3, #0]
+ 8004cd8:      685b            ldr     r3, [r3, #4]
+ 8004cda:      f423 2180       bic.w   r1, r3, #262144 ; 0x40000
+ 8004cde:      687b            ldr     r3, [r7, #4]
+ 8004ce0:      6b1a            ldr     r2, [r3, #48]   ; 0x30
+ 8004ce2:      687b            ldr     r3, [r7, #4]
+ 8004ce4:      681b            ldr     r3, [r3, #0]
+ 8004ce6:      430a            orrs    r2, r1
+ 8004ce8:      605a            str     r2, [r3, #4]
   }
 
   /* if required, configure RX/TX pins swap */
   if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_SWAP_INIT))
- 8004cba:      687b            ldr     r3, [r7, #4]
- 8004cbc:      6a5b            ldr     r3, [r3, #36]   ; 0x24
- 8004cbe:      f003 0308       and.w   r3, r3, #8
- 8004cc2:      2b00            cmp     r3, #0
- 8004cc4:      d00a            beq.n   8004cdc <UART_AdvFeatureConfig+0x90>
+ 8004cea:      687b            ldr     r3, [r7, #4]
+ 8004cec:      6a5b            ldr     r3, [r3, #36]   ; 0x24
+ 8004cee:      f003 0308       and.w   r3, r3, #8
+ 8004cf2:      2b00            cmp     r3, #0
+ 8004cf4:      d00a            beq.n   8004d0c <UART_AdvFeatureConfig+0x90>
   {
     assert_param(IS_UART_ADVFEATURE_SWAP(huart->AdvancedInit.Swap));
     MODIFY_REG(huart->Instance->CR2, USART_CR2_SWAP, huart->AdvancedInit.Swap);
- 8004cc6:      687b            ldr     r3, [r7, #4]
- 8004cc8:      681b            ldr     r3, [r3, #0]
- 8004cca:      685b            ldr     r3, [r3, #4]
- 8004ccc:      f423 4100       bic.w   r1, r3, #32768  ; 0x8000
- 8004cd0:      687b            ldr     r3, [r7, #4]
- 8004cd2:      6b5a            ldr     r2, [r3, #52]   ; 0x34
- 8004cd4:      687b            ldr     r3, [r7, #4]
- 8004cd6:      681b            ldr     r3, [r3, #0]
- 8004cd8:      430a            orrs    r2, r1
- 8004cda:      605a            str     r2, [r3, #4]
+ 8004cf6:      687b            ldr     r3, [r7, #4]
+ 8004cf8:      681b            ldr     r3, [r3, #0]
+ 8004cfa:      685b            ldr     r3, [r3, #4]
+ 8004cfc:      f423 4100       bic.w   r1, r3, #32768  ; 0x8000
+ 8004d00:      687b            ldr     r3, [r7, #4]
+ 8004d02:      6b5a            ldr     r2, [r3, #52]   ; 0x34
+ 8004d04:      687b            ldr     r3, [r7, #4]
+ 8004d06:      681b            ldr     r3, [r3, #0]
+ 8004d08:      430a            orrs    r2, r1
+ 8004d0a:      605a            str     r2, [r3, #4]
   }
 
   /* if required, configure RX overrun detection disabling */
   if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_RXOVERRUNDISABLE_INIT))
- 8004cdc:      687b            ldr     r3, [r7, #4]
- 8004cde:      6a5b            ldr     r3, [r3, #36]   ; 0x24
- 8004ce0:      f003 0310       and.w   r3, r3, #16
- 8004ce4:      2b00            cmp     r3, #0
- 8004ce6:      d00a            beq.n   8004cfe <UART_AdvFeatureConfig+0xb2>
+ 8004d0c:      687b            ldr     r3, [r7, #4]
+ 8004d0e:      6a5b            ldr     r3, [r3, #36]   ; 0x24
+ 8004d10:      f003 0310       and.w   r3, r3, #16
+ 8004d14:      2b00            cmp     r3, #0
+ 8004d16:      d00a            beq.n   8004d2e <UART_AdvFeatureConfig+0xb2>
   {
     assert_param(IS_UART_OVERRUN(huart->AdvancedInit.OverrunDisable));
     MODIFY_REG(huart->Instance->CR3, USART_CR3_OVRDIS, huart->AdvancedInit.OverrunDisable);
- 8004ce8:      687b            ldr     r3, [r7, #4]
- 8004cea:      681b            ldr     r3, [r3, #0]
- 8004cec:      689b            ldr     r3, [r3, #8]
- 8004cee:      f423 5180       bic.w   r1, r3, #4096   ; 0x1000
- 8004cf2:      687b            ldr     r3, [r7, #4]
- 8004cf4:      6b9a            ldr     r2, [r3, #56]   ; 0x38
- 8004cf6:      687b            ldr     r3, [r7, #4]
- 8004cf8:      681b            ldr     r3, [r3, #0]
- 8004cfa:      430a            orrs    r2, r1
- 8004cfc:      609a            str     r2, [r3, #8]
+ 8004d18:      687b            ldr     r3, [r7, #4]
+ 8004d1a:      681b            ldr     r3, [r3, #0]
+ 8004d1c:      689b            ldr     r3, [r3, #8]
+ 8004d1e:      f423 5180       bic.w   r1, r3, #4096   ; 0x1000
+ 8004d22:      687b            ldr     r3, [r7, #4]
+ 8004d24:      6b9a            ldr     r2, [r3, #56]   ; 0x38
+ 8004d26:      687b            ldr     r3, [r7, #4]
+ 8004d28:      681b            ldr     r3, [r3, #0]
+ 8004d2a:      430a            orrs    r2, r1
+ 8004d2c:      609a            str     r2, [r3, #8]
   }
 
   /* if required, configure DMA disabling on reception error */
   if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_DMADISABLEONERROR_INIT))
- 8004cfe:      687b            ldr     r3, [r7, #4]
- 8004d00:      6a5b            ldr     r3, [r3, #36]   ; 0x24
- 8004d02:      f003 0320       and.w   r3, r3, #32
- 8004d06:      2b00            cmp     r3, #0
- 8004d08:      d00a            beq.n   8004d20 <UART_AdvFeatureConfig+0xd4>
+ 8004d2e:      687b            ldr     r3, [r7, #4]
+ 8004d30:      6a5b            ldr     r3, [r3, #36]   ; 0x24
+ 8004d32:      f003 0320       and.w   r3, r3, #32
+ 8004d36:      2b00            cmp     r3, #0
+ 8004d38:      d00a            beq.n   8004d50 <UART_AdvFeatureConfig+0xd4>
   {
     assert_param(IS_UART_ADVFEATURE_DMAONRXERROR(huart->AdvancedInit.DMADisableonRxError));
     MODIFY_REG(huart->Instance->CR3, USART_CR3_DDRE, huart->AdvancedInit.DMADisableonRxError);
- 8004d0a:      687b            ldr     r3, [r7, #4]
- 8004d0c:      681b            ldr     r3, [r3, #0]
- 8004d0e:      689b            ldr     r3, [r3, #8]
- 8004d10:      f423 5100       bic.w   r1, r3, #8192   ; 0x2000
- 8004d14:      687b            ldr     r3, [r7, #4]
- 8004d16:      6bda            ldr     r2, [r3, #60]   ; 0x3c
- 8004d18:      687b            ldr     r3, [r7, #4]
- 8004d1a:      681b            ldr     r3, [r3, #0]
- 8004d1c:      430a            orrs    r2, r1
- 8004d1e:      609a            str     r2, [r3, #8]
+ 8004d3a:      687b            ldr     r3, [r7, #4]
+ 8004d3c:      681b            ldr     r3, [r3, #0]
+ 8004d3e:      689b            ldr     r3, [r3, #8]
+ 8004d40:      f423 5100       bic.w   r1, r3, #8192   ; 0x2000
+ 8004d44:      687b            ldr     r3, [r7, #4]
+ 8004d46:      6bda            ldr     r2, [r3, #60]   ; 0x3c
+ 8004d48:      687b            ldr     r3, [r7, #4]
+ 8004d4a:      681b            ldr     r3, [r3, #0]
+ 8004d4c:      430a            orrs    r2, r1
+ 8004d4e:      609a            str     r2, [r3, #8]
   }
 
   /* if required, configure auto Baud rate detection scheme */
   if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_AUTOBAUDRATE_INIT))
- 8004d20:      687b            ldr     r3, [r7, #4]
- 8004d22:      6a5b            ldr     r3, [r3, #36]   ; 0x24
- 8004d24:      f003 0340       and.w   r3, r3, #64     ; 0x40
- 8004d28:      2b00            cmp     r3, #0
- 8004d2a:      d01a            beq.n   8004d62 <UART_AdvFeatureConfig+0x116>
+ 8004d50:      687b            ldr     r3, [r7, #4]
+ 8004d52:      6a5b            ldr     r3, [r3, #36]   ; 0x24
+ 8004d54:      f003 0340       and.w   r3, r3, #64     ; 0x40
+ 8004d58:      2b00            cmp     r3, #0
+ 8004d5a:      d01a            beq.n   8004d92 <UART_AdvFeatureConfig+0x116>
   {
     assert_param(IS_USART_AUTOBAUDRATE_DETECTION_INSTANCE(huart->Instance));
     assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATE(huart->AdvancedInit.AutoBaudRateEnable));
     MODIFY_REG(huart->Instance->CR2, USART_CR2_ABREN, huart->AdvancedInit.AutoBaudRateEnable);
- 8004d2c:      687b            ldr     r3, [r7, #4]
- 8004d2e:      681b            ldr     r3, [r3, #0]
- 8004d30:      685b            ldr     r3, [r3, #4]
- 8004d32:      f423 1180       bic.w   r1, r3, #1048576        ; 0x100000
- 8004d36:      687b            ldr     r3, [r7, #4]
- 8004d38:      6c1a            ldr     r2, [r3, #64]   ; 0x40
- 8004d3a:      687b            ldr     r3, [r7, #4]
- 8004d3c:      681b            ldr     r3, [r3, #0]
- 8004d3e:      430a            orrs    r2, r1
- 8004d40:      605a            str     r2, [r3, #4]
+ 8004d5c:      687b            ldr     r3, [r7, #4]
+ 8004d5e:      681b            ldr     r3, [r3, #0]
+ 8004d60:      685b            ldr     r3, [r3, #4]
+ 8004d62:      f423 1180       bic.w   r1, r3, #1048576        ; 0x100000
+ 8004d66:      687b            ldr     r3, [r7, #4]
+ 8004d68:      6c1a            ldr     r2, [r3, #64]   ; 0x40
+ 8004d6a:      687b            ldr     r3, [r7, #4]
+ 8004d6c:      681b            ldr     r3, [r3, #0]
+ 8004d6e:      430a            orrs    r2, r1
+ 8004d70:      605a            str     r2, [r3, #4]
     /* set auto Baudrate detection parameters if detection is enabled */
     if (huart->AdvancedInit.AutoBaudRateEnable == UART_ADVFEATURE_AUTOBAUDRATE_ENABLE)
- 8004d42:      687b            ldr     r3, [r7, #4]
- 8004d44:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 8004d46:      f5b3 1f80       cmp.w   r3, #1048576    ; 0x100000
- 8004d4a:      d10a            bne.n   8004d62 <UART_AdvFeatureConfig+0x116>
+ 8004d72:      687b            ldr     r3, [r7, #4]
+ 8004d74:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 8004d76:      f5b3 1f80       cmp.w   r3, #1048576    ; 0x100000
+ 8004d7a:      d10a            bne.n   8004d92 <UART_AdvFeatureConfig+0x116>
     {
       assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATEMODE(huart->AdvancedInit.AutoBaudRateMode));
       MODIFY_REG(huart->Instance->CR2, USART_CR2_ABRMODE, huart->AdvancedInit.AutoBaudRateMode);
- 8004d4c:      687b            ldr     r3, [r7, #4]
- 8004d4e:      681b            ldr     r3, [r3, #0]
- 8004d50:      685b            ldr     r3, [r3, #4]
- 8004d52:      f423 01c0       bic.w   r1, r3, #6291456        ; 0x600000
- 8004d56:      687b            ldr     r3, [r7, #4]
- 8004d58:      6c5a            ldr     r2, [r3, #68]   ; 0x44
- 8004d5a:      687b            ldr     r3, [r7, #4]
- 8004d5c:      681b            ldr     r3, [r3, #0]
- 8004d5e:      430a            orrs    r2, r1
- 8004d60:      605a            str     r2, [r3, #4]
+ 8004d7c:      687b            ldr     r3, [r7, #4]
+ 8004d7e:      681b            ldr     r3, [r3, #0]
+ 8004d80:      685b            ldr     r3, [r3, #4]
+ 8004d82:      f423 01c0       bic.w   r1, r3, #6291456        ; 0x600000
+ 8004d86:      687b            ldr     r3, [r7, #4]
+ 8004d88:      6c5a            ldr     r2, [r3, #68]   ; 0x44
+ 8004d8a:      687b            ldr     r3, [r7, #4]
+ 8004d8c:      681b            ldr     r3, [r3, #0]
+ 8004d8e:      430a            orrs    r2, r1
+ 8004d90:      605a            str     r2, [r3, #4]
     }
   }
 
   /* if required, configure MSB first on communication line */
   if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_MSBFIRST_INIT))
- 8004d62:      687b            ldr     r3, [r7, #4]
- 8004d64:      6a5b            ldr     r3, [r3, #36]   ; 0x24
- 8004d66:      f003 0380       and.w   r3, r3, #128    ; 0x80
- 8004d6a:      2b00            cmp     r3, #0
- 8004d6c:      d00a            beq.n   8004d84 <UART_AdvFeatureConfig+0x138>
+ 8004d92:      687b            ldr     r3, [r7, #4]
+ 8004d94:      6a5b            ldr     r3, [r3, #36]   ; 0x24
+ 8004d96:      f003 0380       and.w   r3, r3, #128    ; 0x80
+ 8004d9a:      2b00            cmp     r3, #0
+ 8004d9c:      d00a            beq.n   8004db4 <UART_AdvFeatureConfig+0x138>
   {
     assert_param(IS_UART_ADVFEATURE_MSBFIRST(huart->AdvancedInit.MSBFirst));
     MODIFY_REG(huart->Instance->CR2, USART_CR2_MSBFIRST, huart->AdvancedInit.MSBFirst);
- 8004d6e:      687b            ldr     r3, [r7, #4]
- 8004d70:      681b            ldr     r3, [r3, #0]
- 8004d72:      685b            ldr     r3, [r3, #4]
- 8004d74:      f423 2100       bic.w   r1, r3, #524288 ; 0x80000
- 8004d78:      687b            ldr     r3, [r7, #4]
- 8004d7a:      6c9a            ldr     r2, [r3, #72]   ; 0x48
- 8004d7c:      687b            ldr     r3, [r7, #4]
- 8004d7e:      681b            ldr     r3, [r3, #0]
- 8004d80:      430a            orrs    r2, r1
- 8004d82:      605a            str     r2, [r3, #4]
+ 8004d9e:      687b            ldr     r3, [r7, #4]
+ 8004da0:      681b            ldr     r3, [r3, #0]
+ 8004da2:      685b            ldr     r3, [r3, #4]
+ 8004da4:      f423 2100       bic.w   r1, r3, #524288 ; 0x80000
+ 8004da8:      687b            ldr     r3, [r7, #4]
+ 8004daa:      6c9a            ldr     r2, [r3, #72]   ; 0x48
+ 8004dac:      687b            ldr     r3, [r7, #4]
+ 8004dae:      681b            ldr     r3, [r3, #0]
+ 8004db0:      430a            orrs    r2, r1
+ 8004db2:      605a            str     r2, [r3, #4]
   }
 }
- 8004d84:      bf00            nop
- 8004d86:      370c            adds    r7, #12
- 8004d88:      46bd            mov     sp, r7
- 8004d8a:      f85d 7b04       ldr.w   r7, [sp], #4
- 8004d8e:      4770            bx      lr
+ 8004db4:      bf00            nop
+ 8004db6:      370c            adds    r7, #12
+ 8004db8:      46bd            mov     sp, r7
+ 8004dba:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8004dbe:      4770            bx      lr
 
-08004d90 <UART_CheckIdleState>:
+08004dc0 <UART_CheckIdleState>:
   * @brief Check the UART Idle State.
   * @param huart UART handle.
   * @retval HAL status
   */
 HAL_StatusTypeDef UART_CheckIdleState(UART_HandleTypeDef *huart)
 {
- 8004d90:      b580            push    {r7, lr}
- 8004d92:      b086            sub     sp, #24
- 8004d94:      af02            add     r7, sp, #8
- 8004d96:      6078            str     r0, [r7, #4]
+ 8004dc0:      b580            push    {r7, lr}
+ 8004dc2:      b086            sub     sp, #24
+ 8004dc4:      af02            add     r7, sp, #8
+ 8004dc6:      6078            str     r0, [r7, #4]
   uint32_t tickstart;
 
   /* Initialize the UART ErrorCode */
   huart->ErrorCode = HAL_UART_ERROR_NONE;
- 8004d98:      687b            ldr     r3, [r7, #4]
- 8004d9a:      2200            movs    r2, #0
- 8004d9c:      67da            str     r2, [r3, #124]  ; 0x7c
+ 8004dc8:      687b            ldr     r3, [r7, #4]
+ 8004dca:      2200            movs    r2, #0
+ 8004dcc:      67da            str     r2, [r3, #124]  ; 0x7c
 
   /* Init tickstart for timeout managment*/
   tickstart = HAL_GetTick();
- 8004d9e:      f7fc fe35       bl      8001a0c <HAL_GetTick>
- 8004da2:      60f8            str     r0, [r7, #12]
+ 8004dce:      f7fc fe35       bl      8001a3c <HAL_GetTick>
+ 8004dd2:      60f8            str     r0, [r7, #12]
 
   /* Check if the Transmitter is enabled */
   if ((huart->Instance->CR1 & USART_CR1_TE) == USART_CR1_TE)
- 8004da4:      687b            ldr     r3, [r7, #4]
- 8004da6:      681b            ldr     r3, [r3, #0]
- 8004da8:      681b            ldr     r3, [r3, #0]
- 8004daa:      f003 0308       and.w   r3, r3, #8
- 8004dae:      2b08            cmp     r3, #8
- 8004db0:      d10e            bne.n   8004dd0 <UART_CheckIdleState+0x40>
+ 8004dd4:      687b            ldr     r3, [r7, #4]
+ 8004dd6:      681b            ldr     r3, [r3, #0]
+ 8004dd8:      681b            ldr     r3, [r3, #0]
+ 8004dda:      f003 0308       and.w   r3, r3, #8
+ 8004dde:      2b08            cmp     r3, #8
+ 8004de0:      d10e            bne.n   8004e00 <UART_CheckIdleState+0x40>
   {
     /* Wait until TEACK flag is set */
     if (UART_WaitOnFlagUntilTimeout(huart, USART_ISR_TEACK, RESET, tickstart, HAL_UART_TIMEOUT_VALUE) != HAL_OK)
- 8004db2:      f06f 437e       mvn.w   r3, #4261412864 ; 0xfe000000
- 8004db6:      9300            str     r3, [sp, #0]
- 8004db8:      68fb            ldr     r3, [r7, #12]
- 8004dba:      2200            movs    r2, #0
- 8004dbc:      f44f 1100       mov.w   r1, #2097152    ; 0x200000
- 8004dc0:      6878            ldr     r0, [r7, #4]
- 8004dc2:      f000 f814       bl      8004dee <UART_WaitOnFlagUntilTimeout>
- 8004dc6:      4603            mov     r3, r0
- 8004dc8:      2b00            cmp     r3, #0
- 8004dca:      d001            beq.n   8004dd0 <UART_CheckIdleState+0x40>
+ 8004de2:      f06f 437e       mvn.w   r3, #4261412864 ; 0xfe000000
+ 8004de6:      9300            str     r3, [sp, #0]
+ 8004de8:      68fb            ldr     r3, [r7, #12]
+ 8004dea:      2200            movs    r2, #0
+ 8004dec:      f44f 1100       mov.w   r1, #2097152    ; 0x200000
+ 8004df0:      6878            ldr     r0, [r7, #4]
+ 8004df2:      f000 f814       bl      8004e1e <UART_WaitOnFlagUntilTimeout>
+ 8004df6:      4603            mov     r3, r0
+ 8004df8:      2b00            cmp     r3, #0
+ 8004dfa:      d001            beq.n   8004e00 <UART_CheckIdleState+0x40>
     {
       /* Timeout occurred */
       return HAL_TIMEOUT;
- 8004dcc:      2303            movs    r3, #3
- 8004dce:      e00a            b.n     8004de6 <UART_CheckIdleState+0x56>
+ 8004dfc:      2303            movs    r3, #3
+ 8004dfe:      e00a            b.n     8004e16 <UART_CheckIdleState+0x56>
     }
   }
 
   /* Initialize the UART State */
   huart->gState = HAL_UART_STATE_READY;
- 8004dd0:      687b            ldr     r3, [r7, #4]
- 8004dd2:      2220            movs    r2, #32
- 8004dd4:      675a            str     r2, [r3, #116]  ; 0x74
+ 8004e00:      687b            ldr     r3, [r7, #4]
+ 8004e02:      2220            movs    r2, #32
+ 8004e04:      675a            str     r2, [r3, #116]  ; 0x74
   huart->RxState = HAL_UART_STATE_READY;
- 8004dd6:      687b            ldr     r3, [r7, #4]
- 8004dd8:      2220            movs    r2, #32
- 8004dda:      679a            str     r2, [r3, #120]  ; 0x78
+ 8004e06:      687b            ldr     r3, [r7, #4]
+ 8004e08:      2220            movs    r2, #32
+ 8004e0a:      679a            str     r2, [r3, #120]  ; 0x78
 
   /* Process Unlocked */
   __HAL_UNLOCK(huart);
- 8004ddc:      687b            ldr     r3, [r7, #4]
- 8004dde:      2200            movs    r2, #0
- 8004de0:      f883 2070       strb.w  r2, [r3, #112]  ; 0x70
+ 8004e0c:      687b            ldr     r3, [r7, #4]
+ 8004e0e:      2200            movs    r2, #0
+ 8004e10:      f883 2070       strb.w  r2, [r3, #112]  ; 0x70
 
   return HAL_OK;
- 8004de4:      2300            movs    r3, #0
+ 8004e14:      2300            movs    r3, #0
 }
- 8004de6:      4618            mov     r0, r3
- 8004de8:      3710            adds    r7, #16
- 8004dea:      46bd            mov     sp, r7
- 8004dec:      bd80            pop     {r7, pc}
+ 8004e16:      4618            mov     r0, r3
+ 8004e18:      3710            adds    r7, #16
+ 8004e1a:      46bd            mov     sp, r7
+ 8004e1c:      bd80            pop     {r7, pc}
 
-08004dee <UART_WaitOnFlagUntilTimeout>:
+08004e1e <UART_WaitOnFlagUntilTimeout>:
   * @param Tickstart Tick start value
   * @param Timeout   Timeout duration
   * @retval HAL status
   */
 HAL_StatusTypeDef UART_WaitOnFlagUntilTimeout(UART_HandleTypeDef *huart, uint32_t Flag, FlagStatus Status, uint32_t Tickstart, uint32_t Timeout)
 {
- 8004dee:      b580            push    {r7, lr}
- 8004df0:      b084            sub     sp, #16
- 8004df2:      af00            add     r7, sp, #0
- 8004df4:      60f8            str     r0, [r7, #12]
- 8004df6:      60b9            str     r1, [r7, #8]
- 8004df8:      603b            str     r3, [r7, #0]
- 8004dfa:      4613            mov     r3, r2
- 8004dfc:      71fb            strb    r3, [r7, #7]
+ 8004e1e:      b580            push    {r7, lr}
+ 8004e20:      b084            sub     sp, #16
+ 8004e22:      af00            add     r7, sp, #0
+ 8004e24:      60f8            str     r0, [r7, #12]
+ 8004e26:      60b9            str     r1, [r7, #8]
+ 8004e28:      603b            str     r3, [r7, #0]
+ 8004e2a:      4613            mov     r3, r2
+ 8004e2c:      71fb            strb    r3, [r7, #7]
   /* Wait until flag is set */
   while ((__HAL_UART_GET_FLAG(huart, Flag) ? SET : RESET) == Status)
- 8004dfe:      e02a            b.n     8004e56 <UART_WaitOnFlagUntilTimeout+0x68>
+ 8004e2e:      e02a            b.n     8004e86 <UART_WaitOnFlagUntilTimeout+0x68>
   {
     /* Check for the Timeout */
     if (Timeout != HAL_MAX_DELAY)
- 8004e00:      69bb            ldr     r3, [r7, #24]
- 8004e02:      f1b3 3fff       cmp.w   r3, #4294967295 ; 0xffffffff
- 8004e06:      d026            beq.n   8004e56 <UART_WaitOnFlagUntilTimeout+0x68>
+ 8004e30:      69bb            ldr     r3, [r7, #24]
+ 8004e32:      f1b3 3fff       cmp.w   r3, #4294967295 ; 0xffffffff
+ 8004e36:      d026            beq.n   8004e86 <UART_WaitOnFlagUntilTimeout+0x68>
     {
       if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
- 8004e08:      f7fc fe00       bl      8001a0c <HAL_GetTick>
- 8004e0c:      4602            mov     r2, r0
- 8004e0e:      683b            ldr     r3, [r7, #0]
- 8004e10:      1ad3            subs    r3, r2, r3
- 8004e12:      69ba            ldr     r2, [r7, #24]
- 8004e14:      429a            cmp     r2, r3
- 8004e16:      d302            bcc.n   8004e1e <UART_WaitOnFlagUntilTimeout+0x30>
- 8004e18:      69bb            ldr     r3, [r7, #24]
- 8004e1a:      2b00            cmp     r3, #0
- 8004e1c:      d11b            bne.n   8004e56 <UART_WaitOnFlagUntilTimeout+0x68>
+ 8004e38:      f7fc fe00       bl      8001a3c <HAL_GetTick>
+ 8004e3c:      4602            mov     r2, r0
+ 8004e3e:      683b            ldr     r3, [r7, #0]
+ 8004e40:      1ad3            subs    r3, r2, r3
+ 8004e42:      69ba            ldr     r2, [r7, #24]
+ 8004e44:      429a            cmp     r2, r3
+ 8004e46:      d302            bcc.n   8004e4e <UART_WaitOnFlagUntilTimeout+0x30>
+ 8004e48:      69bb            ldr     r3, [r7, #24]
+ 8004e4a:      2b00            cmp     r3, #0
+ 8004e4c:      d11b            bne.n   8004e86 <UART_WaitOnFlagUntilTimeout+0x68>
       {
         /* Disable TXE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts for the interrupt process */
         CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE));
- 8004e1e:      68fb            ldr     r3, [r7, #12]
- 8004e20:      681b            ldr     r3, [r3, #0]
- 8004e22:      681a            ldr     r2, [r3, #0]
- 8004e24:      68fb            ldr     r3, [r7, #12]
- 8004e26:      681b            ldr     r3, [r3, #0]
- 8004e28:      f422 72d0       bic.w   r2, r2, #416    ; 0x1a0
- 8004e2c:      601a            str     r2, [r3, #0]
+ 8004e4e:      68fb            ldr     r3, [r7, #12]
+ 8004e50:      681b            ldr     r3, [r3, #0]
+ 8004e52:      681a            ldr     r2, [r3, #0]
+ 8004e54:      68fb            ldr     r3, [r7, #12]
+ 8004e56:      681b            ldr     r3, [r3, #0]
+ 8004e58:      f422 72d0       bic.w   r2, r2, #416    ; 0x1a0
+ 8004e5c:      601a            str     r2, [r3, #0]
         CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
- 8004e2e:      68fb            ldr     r3, [r7, #12]
- 8004e30:      681b            ldr     r3, [r3, #0]
- 8004e32:      689a            ldr     r2, [r3, #8]
- 8004e34:      68fb            ldr     r3, [r7, #12]
- 8004e36:      681b            ldr     r3, [r3, #0]
- 8004e38:      f022 0201       bic.w   r2, r2, #1
- 8004e3c:      609a            str     r2, [r3, #8]
+ 8004e5e:      68fb            ldr     r3, [r7, #12]
+ 8004e60:      681b            ldr     r3, [r3, #0]
+ 8004e62:      689a            ldr     r2, [r3, #8]
+ 8004e64:      68fb            ldr     r3, [r7, #12]
+ 8004e66:      681b            ldr     r3, [r3, #0]
+ 8004e68:      f022 0201       bic.w   r2, r2, #1
+ 8004e6c:      609a            str     r2, [r3, #8]
 
         huart->gState = HAL_UART_STATE_READY;
- 8004e3e:      68fb            ldr     r3, [r7, #12]
- 8004e40:      2220            movs    r2, #32
- 8004e42:      675a            str     r2, [r3, #116]  ; 0x74
+ 8004e6e:      68fb            ldr     r3, [r7, #12]
+ 8004e70:      2220            movs    r2, #32
+ 8004e72:      675a            str     r2, [r3, #116]  ; 0x74
         huart->RxState = HAL_UART_STATE_READY;
- 8004e44:      68fb            ldr     r3, [r7, #12]
- 8004e46:      2220            movs    r2, #32
- 8004e48:      679a            str     r2, [r3, #120]  ; 0x78
+ 8004e74:      68fb            ldr     r3, [r7, #12]
+ 8004e76:      2220            movs    r2, #32
+ 8004e78:      679a            str     r2, [r3, #120]  ; 0x78
 
         /* Process Unlocked */
         __HAL_UNLOCK(huart);
- 8004e4a:      68fb            ldr     r3, [r7, #12]
- 8004e4c:      2200            movs    r2, #0
- 8004e4e:      f883 2070       strb.w  r2, [r3, #112]  ; 0x70
+ 8004e7a:      68fb            ldr     r3, [r7, #12]
+ 8004e7c:      2200            movs    r2, #0
+ 8004e7e:      f883 2070       strb.w  r2, [r3, #112]  ; 0x70
 
         return HAL_TIMEOUT;
- 8004e52:      2303            movs    r3, #3
- 8004e54:      e00f            b.n     8004e76 <UART_WaitOnFlagUntilTimeout+0x88>
+ 8004e82:      2303            movs    r3, #3
+ 8004e84:      e00f            b.n     8004ea6 <UART_WaitOnFlagUntilTimeout+0x88>
   while ((__HAL_UART_GET_FLAG(huart, Flag) ? SET : RESET) == Status)
- 8004e56:      68fb            ldr     r3, [r7, #12]
- 8004e58:      681b            ldr     r3, [r3, #0]
- 8004e5a:      69da            ldr     r2, [r3, #28]
- 8004e5c:      68bb            ldr     r3, [r7, #8]
- 8004e5e:      4013            ands    r3, r2
- 8004e60:      68ba            ldr     r2, [r7, #8]
- 8004e62:      429a            cmp     r2, r3
- 8004e64:      bf0c            ite     eq
- 8004e66:      2301            moveq   r3, #1
- 8004e68:      2300            movne   r3, #0
- 8004e6a:      b2db            uxtb    r3, r3
- 8004e6c:      461a            mov     r2, r3
- 8004e6e:      79fb            ldrb    r3, [r7, #7]
- 8004e70:      429a            cmp     r2, r3
- 8004e72:      d0c5            beq.n   8004e00 <UART_WaitOnFlagUntilTimeout+0x12>
+ 8004e86:      68fb            ldr     r3, [r7, #12]
+ 8004e88:      681b            ldr     r3, [r3, #0]
+ 8004e8a:      69da            ldr     r2, [r3, #28]
+ 8004e8c:      68bb            ldr     r3, [r7, #8]
+ 8004e8e:      4013            ands    r3, r2
+ 8004e90:      68ba            ldr     r2, [r7, #8]
+ 8004e92:      429a            cmp     r2, r3
+ 8004e94:      bf0c            ite     eq
+ 8004e96:      2301            moveq   r3, #1
+ 8004e98:      2300            movne   r3, #0
+ 8004e9a:      b2db            uxtb    r3, r3
+ 8004e9c:      461a            mov     r2, r3
+ 8004e9e:      79fb            ldrb    r3, [r7, #7]
+ 8004ea0:      429a            cmp     r2, r3
+ 8004ea2:      d0c5            beq.n   8004e30 <UART_WaitOnFlagUntilTimeout+0x12>
       }
     }
   }
   return HAL_OK;
- 8004e74:      2300            movs    r3, #0
+ 8004ea4:      2300            movs    r3, #0
 }
- 8004e76:      4618            mov     r0, r3
- 8004e78:      3710            adds    r7, #16
- 8004e7a:      46bd            mov     sp, r7
- 8004e7c:      bd80            pop     {r7, pc}
+ 8004ea6:      4618            mov     r0, r3
+ 8004ea8:      3710            adds    r7, #16
+ 8004eaa:      46bd            mov     sp, r7
+ 8004eac:      bd80            pop     {r7, pc}
 
-08004e7e <UART_EndRxTransfer>:
+08004eae <UART_EndRxTransfer>:
   * @brief  End ongoing Rx transfer on UART peripheral (following error detection or Reception completion).
   * @param  huart UART handle.
   * @retval None
   */
 static void UART_EndRxTransfer(UART_HandleTypeDef *huart)
 {
- 8004e7e:      b480            push    {r7}
- 8004e80:      b083            sub     sp, #12
- 8004e82:      af00            add     r7, sp, #0
- 8004e84:      6078            str     r0, [r7, #4]
+ 8004eae:      b480            push    {r7}
+ 8004eb0:      b083            sub     sp, #12
+ 8004eb2:      af00            add     r7, sp, #0
+ 8004eb4:      6078            str     r0, [r7, #4]
   /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
   CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
- 8004e86:      687b            ldr     r3, [r7, #4]
- 8004e88:      681b            ldr     r3, [r3, #0]
- 8004e8a:      681a            ldr     r2, [r3, #0]
- 8004e8c:      687b            ldr     r3, [r7, #4]
- 8004e8e:      681b            ldr     r3, [r3, #0]
- 8004e90:      f422 7290       bic.w   r2, r2, #288    ; 0x120
- 8004e94:      601a            str     r2, [r3, #0]
+ 8004eb6:      687b            ldr     r3, [r7, #4]
+ 8004eb8:      681b            ldr     r3, [r3, #0]
+ 8004eba:      681a            ldr     r2, [r3, #0]
+ 8004ebc:      687b            ldr     r3, [r7, #4]
+ 8004ebe:      681b            ldr     r3, [r3, #0]
+ 8004ec0:      f422 7290       bic.w   r2, r2, #288    ; 0x120
+ 8004ec4:      601a            str     r2, [r3, #0]
   CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
- 8004e96:      687b            ldr     r3, [r7, #4]
- 8004e98:      681b            ldr     r3, [r3, #0]
- 8004e9a:      689a            ldr     r2, [r3, #8]
- 8004e9c:      687b            ldr     r3, [r7, #4]
- 8004e9e:      681b            ldr     r3, [r3, #0]
- 8004ea0:      f022 0201       bic.w   r2, r2, #1
- 8004ea4:      609a            str     r2, [r3, #8]
+ 8004ec6:      687b            ldr     r3, [r7, #4]
+ 8004ec8:      681b            ldr     r3, [r3, #0]
+ 8004eca:      689a            ldr     r2, [r3, #8]
+ 8004ecc:      687b            ldr     r3, [r7, #4]
+ 8004ece:      681b            ldr     r3, [r3, #0]
+ 8004ed0:      f022 0201       bic.w   r2, r2, #1
+ 8004ed4:      609a            str     r2, [r3, #8]
 
   /* At end of Rx process, restore huart->RxState to Ready */
   huart->RxState = HAL_UART_STATE_READY;
- 8004ea6:      687b            ldr     r3, [r7, #4]
- 8004ea8:      2220            movs    r2, #32
- 8004eaa:      679a            str     r2, [r3, #120]  ; 0x78
+ 8004ed6:      687b            ldr     r3, [r7, #4]
+ 8004ed8:      2220            movs    r2, #32
+ 8004eda:      679a            str     r2, [r3, #120]  ; 0x78
 
   /* Reset RxIsr function pointer */
   huart->RxISR = NULL;
- 8004eac:      687b            ldr     r3, [r7, #4]
- 8004eae:      2200            movs    r2, #0
- 8004eb0:      661a            str     r2, [r3, #96]   ; 0x60
+ 8004edc:      687b            ldr     r3, [r7, #4]
+ 8004ede:      2200            movs    r2, #0
+ 8004ee0:      661a            str     r2, [r3, #96]   ; 0x60
 }
- 8004eb2:      bf00            nop
- 8004eb4:      370c            adds    r7, #12
- 8004eb6:      46bd            mov     sp, r7
- 8004eb8:      f85d 7b04       ldr.w   r7, [sp], #4
- 8004ebc:      4770            bx      lr
+ 8004ee2:      bf00            nop
+ 8004ee4:      370c            adds    r7, #12
+ 8004ee6:      46bd            mov     sp, r7
+ 8004ee8:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8004eec:      4770            bx      lr
 
-08004ebe <UART_DMAAbortOnError>:
+08004eee <UART_DMAAbortOnError>:
   *         (To be called at end of DMA Abort procedure following error occurrence).
   * @param  hdma DMA handle.
   * @retval None
   */
 static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma)
 {
- 8004ebe:      b580            push    {r7, lr}
- 8004ec0:      b084            sub     sp, #16
- 8004ec2:      af00            add     r7, sp, #0
- 8004ec4:      6078            str     r0, [r7, #4]
+ 8004eee:      b580            push    {r7, lr}
+ 8004ef0:      b084            sub     sp, #16
+ 8004ef2:      af00            add     r7, sp, #0
+ 8004ef4:      6078            str     r0, [r7, #4]
   UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
- 8004ec6:      687b            ldr     r3, [r7, #4]
- 8004ec8:      6b9b            ldr     r3, [r3, #56]   ; 0x38
- 8004eca:      60fb            str     r3, [r7, #12]
+ 8004ef6:      687b            ldr     r3, [r7, #4]
+ 8004ef8:      6b9b            ldr     r3, [r3, #56]   ; 0x38
+ 8004efa:      60fb            str     r3, [r7, #12]
   huart->RxXferCount = 0U;
- 8004ecc:      68fb            ldr     r3, [r7, #12]
- 8004ece:      2200            movs    r2, #0
- 8004ed0:      f8a3 205a       strh.w  r2, [r3, #90]   ; 0x5a
+ 8004efc:      68fb            ldr     r3, [r7, #12]
+ 8004efe:      2200            movs    r2, #0
+ 8004f00:      f8a3 205a       strh.w  r2, [r3, #90]   ; 0x5a
   huart->TxXferCount = 0U;
- 8004ed4:      68fb            ldr     r3, [r7, #12]
- 8004ed6:      2200            movs    r2, #0
- 8004ed8:      f8a3 2052       strh.w  r2, [r3, #82]   ; 0x52
+ 8004f04:      68fb            ldr     r3, [r7, #12]
+ 8004f06:      2200            movs    r2, #0
+ 8004f08:      f8a3 2052       strh.w  r2, [r3, #82]   ; 0x52
 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
   /*Call registered error callback*/
   huart->ErrorCallback(huart);
 #else
   /*Call legacy weak error callback*/
   HAL_UART_ErrorCallback(huart);
- 8004edc:      68f8            ldr     r0, [r7, #12]
- 8004ede:      f7ff fc07       bl      80046f0 <HAL_UART_ErrorCallback>
+ 8004f0c:      68f8            ldr     r0, [r7, #12]
+ 8004f0e:      f7ff fc07       bl      8004720 <HAL_UART_ErrorCallback>
 #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 }
- 8004ee2:      bf00            nop
- 8004ee4:      3710            adds    r7, #16
- 8004ee6:      46bd            mov     sp, r7
- 8004ee8:      bd80            pop     {r7, pc}
+ 8004f12:      bf00            nop
+ 8004f14:      3710            adds    r7, #16
+ 8004f16:      46bd            mov     sp, r7
+ 8004f18:      bd80            pop     {r7, pc}
 
-08004eea <UART_EndTransmit_IT>:
+08004f1a <UART_EndTransmit_IT>:
   * @param  huart pointer to a UART_HandleTypeDef structure that contains
   *                the configuration information for the specified UART module.
   * @retval None
   */
 static void UART_EndTransmit_IT(UART_HandleTypeDef *huart)
 {
- 8004eea:      b580            push    {r7, lr}
- 8004eec:      b082            sub     sp, #8
- 8004eee:      af00            add     r7, sp, #0
- 8004ef0:      6078            str     r0, [r7, #4]
+ 8004f1a:      b580            push    {r7, lr}
+ 8004f1c:      b082            sub     sp, #8
+ 8004f1e:      af00            add     r7, sp, #0
+ 8004f20:      6078            str     r0, [r7, #4]
   /* Disable the UART Transmit Complete Interrupt */
   CLEAR_BIT(huart->Instance->CR1, USART_CR1_TCIE);
- 8004ef2:      687b            ldr     r3, [r7, #4]
- 8004ef4:      681b            ldr     r3, [r3, #0]
- 8004ef6:      681a            ldr     r2, [r3, #0]
- 8004ef8:      687b            ldr     r3, [r7, #4]
- 8004efa:      681b            ldr     r3, [r3, #0]
- 8004efc:      f022 0240       bic.w   r2, r2, #64     ; 0x40
- 8004f00:      601a            str     r2, [r3, #0]
+ 8004f22:      687b            ldr     r3, [r7, #4]
+ 8004f24:      681b            ldr     r3, [r3, #0]
+ 8004f26:      681a            ldr     r2, [r3, #0]
+ 8004f28:      687b            ldr     r3, [r7, #4]
+ 8004f2a:      681b            ldr     r3, [r3, #0]
+ 8004f2c:      f022 0240       bic.w   r2, r2, #64     ; 0x40
+ 8004f30:      601a            str     r2, [r3, #0]
 
   /* Tx process is ended, restore huart->gState to Ready */
   huart->gState = HAL_UART_STATE_READY;
- 8004f02:      687b            ldr     r3, [r7, #4]
- 8004f04:      2220            movs    r2, #32
- 8004f06:      675a            str     r2, [r3, #116]  ; 0x74
+ 8004f32:      687b            ldr     r3, [r7, #4]
+ 8004f34:      2220            movs    r2, #32
+ 8004f36:      675a            str     r2, [r3, #116]  ; 0x74
 
   /* Cleat TxISR function pointer */
   huart->TxISR = NULL;
- 8004f08:      687b            ldr     r3, [r7, #4]
- 8004f0a:      2200            movs    r2, #0
- 8004f0c:      665a            str     r2, [r3, #100]  ; 0x64
+ 8004f38:      687b            ldr     r3, [r7, #4]
+ 8004f3a:      2200            movs    r2, #0
+ 8004f3c:      665a            str     r2, [r3, #100]  ; 0x64
 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
   /*Call registered Tx complete callback*/
   huart->TxCpltCallback(huart);
 #else
   /*Call legacy weak Tx complete callback*/
   HAL_UART_TxCpltCallback(huart);
- 8004f0e:      6878            ldr     r0, [r7, #4]
- 8004f10:      f7ff fbe4       bl      80046dc <HAL_UART_TxCpltCallback>
+ 8004f3e:      6878            ldr     r0, [r7, #4]
+ 8004f40:      f7ff fbe4       bl      800470c <HAL_UART_TxCpltCallback>
 #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
 }
- 8004f14:      bf00            nop
- 8004f16:      3708            adds    r7, #8
- 8004f18:      46bd            mov     sp, r7
- 8004f1a:      bd80            pop     {r7, pc}
-
-08004f1c <__libc_init_array>:
- 8004f1c:      b570            push    {r4, r5, r6, lr}
- 8004f1e:      4e0d            ldr     r6, [pc, #52]   ; (8004f54 <__libc_init_array+0x38>)
- 8004f20:      4c0d            ldr     r4, [pc, #52]   ; (8004f58 <__libc_init_array+0x3c>)
- 8004f22:      1ba4            subs    r4, r4, r6
- 8004f24:      10a4            asrs    r4, r4, #2
- 8004f26:      2500            movs    r5, #0
- 8004f28:      42a5            cmp     r5, r4
- 8004f2a:      d109            bne.n   8004f40 <__libc_init_array+0x24>
- 8004f2c:      4e0b            ldr     r6, [pc, #44]   ; (8004f5c <__libc_init_array+0x40>)
- 8004f2e:      4c0c            ldr     r4, [pc, #48]   ; (8004f60 <__libc_init_array+0x44>)
- 8004f30:      f000 f820       bl      8004f74 <_init>
- 8004f34:      1ba4            subs    r4, r4, r6
- 8004f36:      10a4            asrs    r4, r4, #2
- 8004f38:      2500            movs    r5, #0
- 8004f3a:      42a5            cmp     r5, r4
- 8004f3c:      d105            bne.n   8004f4a <__libc_init_array+0x2e>
- 8004f3e:      bd70            pop     {r4, r5, r6, pc}
- 8004f40:      f856 3025       ldr.w   r3, [r6, r5, lsl #2]
- 8004f44:      4798            blx     r3
- 8004f46:      3501            adds    r5, #1
- 8004f48:      e7ee            b.n     8004f28 <__libc_init_array+0xc>
- 8004f4a:      f856 3025       ldr.w   r3, [r6, r5, lsl #2]
- 8004f4e:      4798            blx     r3
- 8004f50:      3501            adds    r5, #1
- 8004f52:      e7f2            b.n     8004f3a <__libc_init_array+0x1e>
- 8004f54:      08004fac        .word   0x08004fac
- 8004f58:      08004fac        .word   0x08004fac
- 8004f5c:      08004fac        .word   0x08004fac
- 8004f60:      08004fb4        .word   0x08004fb4
-
-08004f64 <memset>:
- 8004f64:      4402            add     r2, r0
- 8004f66:      4603            mov     r3, r0
- 8004f68:      4293            cmp     r3, r2
- 8004f6a:      d100            bne.n   8004f6e <memset+0xa>
- 8004f6c:      4770            bx      lr
- 8004f6e:      f803 1b01       strb.w  r1, [r3], #1
- 8004f72:      e7f9            b.n     8004f68 <memset+0x4>
-
-08004f74 <_init>:
- 8004f74:      b5f8            push    {r3, r4, r5, r6, r7, lr}
- 8004f76:      bf00            nop
- 8004f78:      bcf8            pop     {r3, r4, r5, r6, r7}
- 8004f7a:      bc08            pop     {r3}
- 8004f7c:      469e            mov     lr, r3
- 8004f7e:      4770            bx      lr
-
-08004f80 <_fini>:
- 8004f80:      b5f8            push    {r3, r4, r5, r6, r7, lr}
- 8004f82:      bf00            nop
- 8004f84:      bcf8            pop     {r3, r4, r5, r6, r7}
- 8004f86:      bc08            pop     {r3}
- 8004f88:      469e            mov     lr, r3
- 8004f8a:      4770            bx      lr
+ 8004f44:      bf00            nop
+ 8004f46:      3708            adds    r7, #8
+ 8004f48:      46bd            mov     sp, r7
+ 8004f4a:      bd80            pop     {r7, pc}
+
+08004f4c <__libc_init_array>:
+ 8004f4c:      b570            push    {r4, r5, r6, lr}
+ 8004f4e:      4e0d            ldr     r6, [pc, #52]   ; (8004f84 <__libc_init_array+0x38>)
+ 8004f50:      4c0d            ldr     r4, [pc, #52]   ; (8004f88 <__libc_init_array+0x3c>)
+ 8004f52:      1ba4            subs    r4, r4, r6
+ 8004f54:      10a4            asrs    r4, r4, #2
+ 8004f56:      2500            movs    r5, #0
+ 8004f58:      42a5            cmp     r5, r4
+ 8004f5a:      d109            bne.n   8004f70 <__libc_init_array+0x24>
+ 8004f5c:      4e0b            ldr     r6, [pc, #44]   ; (8004f8c <__libc_init_array+0x40>)
+ 8004f5e:      4c0c            ldr     r4, [pc, #48]   ; (8004f90 <__libc_init_array+0x44>)
+ 8004f60:      f000 f820       bl      8004fa4 <_init>
+ 8004f64:      1ba4            subs    r4, r4, r6
+ 8004f66:      10a4            asrs    r4, r4, #2
+ 8004f68:      2500            movs    r5, #0
+ 8004f6a:      42a5            cmp     r5, r4
+ 8004f6c:      d105            bne.n   8004f7a <__libc_init_array+0x2e>
+ 8004f6e:      bd70            pop     {r4, r5, r6, pc}
+ 8004f70:      f856 3025       ldr.w   r3, [r6, r5, lsl #2]
+ 8004f74:      4798            blx     r3
+ 8004f76:      3501            adds    r5, #1
+ 8004f78:      e7ee            b.n     8004f58 <__libc_init_array+0xc>
+ 8004f7a:      f856 3025       ldr.w   r3, [r6, r5, lsl #2]
+ 8004f7e:      4798            blx     r3
+ 8004f80:      3501            adds    r5, #1
+ 8004f82:      e7f2            b.n     8004f6a <__libc_init_array+0x1e>
+ 8004f84:      08004fdc        .word   0x08004fdc
+ 8004f88:      08004fdc        .word   0x08004fdc
+ 8004f8c:      08004fdc        .word   0x08004fdc
+ 8004f90:      08004fe4        .word   0x08004fe4
+
+08004f94 <memset>:
+ 8004f94:      4402            add     r2, r0
+ 8004f96:      4603            mov     r3, r0
+ 8004f98:      4293            cmp     r3, r2
+ 8004f9a:      d100            bne.n   8004f9e <memset+0xa>
+ 8004f9c:      4770            bx      lr
+ 8004f9e:      f803 1b01       strb.w  r1, [r3], #1
+ 8004fa2:      e7f9            b.n     8004f98 <memset+0x4>
+
+08004fa4 <_init>:
+ 8004fa4:      b5f8            push    {r3, r4, r5, r6, r7, lr}
+ 8004fa6:      bf00            nop
+ 8004fa8:      bcf8            pop     {r3, r4, r5, r6, r7}
+ 8004faa:      bc08            pop     {r3}
+ 8004fac:      469e            mov     lr, r3
+ 8004fae:      4770            bx      lr
+
+08004fb0 <_fini>:
+ 8004fb0:      b5f8            push    {r3, r4, r5, r6, r7, lr}
+ 8004fb2:      bf00            nop
+ 8004fb4:      bcf8            pop     {r3, r4, r5, r6, r7}
+ 8004fb6:      bc08            pop     {r3}
+ 8004fb8:      469e            mov     lr, r3
+ 8004fba:      4770            bx      lr
diff --git a/pid_tuning/data/left-motor-2019-12-18-11-55-33.csv b/pid_tuning/data/left-motor-2019-12-18-11-55-33.csv
new file mode 100644 (file)
index 0000000..37b931d
--- /dev/null
@@ -0,0 +1,3174 @@
+DutyCycle, Velocity 
+0.000000 0.000000 
+1.000000 0.000000 
+2.000000 0.000000 
+3.000000 0.000000 
+4.000000 0.000000 
+5.000000 0.000000 
+6.000000 0.000000 
+7.000000 0.000000 
+8.000000 0.000000 
+9.000000 0.000000 
+10.000000 0.000000 
+11.000000 0.000000 
+12.000000 0.000000 
+13.000000 0.000204 
+14.000000 0.000713 
+15.000000 0.003117 
+16.000000 0.000835 
+17.000000 0.005929 
+18.000000 0.012266 
+19.000000 0.013285 
+20.000000 0.015424 
+21.000000 0.023962 
+22.000000 0.026488 
+23.000000 0.028669 
+24.000000 0.033742 
+25.000000 0.037471 
+26.000000 0.039447 
+27.000000 0.043726 
+28.000000 0.048840 
+29.000000 0.051367 
+30.000000 0.057684 
+31.000000 0.061331 
+32.000000 0.065650 
+33.000000 0.070011 
+34.000000 0.074392 
+35.000000 0.078324 
+36.000000 0.082929 
+37.000000 0.086454 
+38.000000 0.090285 
+39.000000 0.092669 
+40.000000 0.097253 
+41.000000 0.100452 
+42.000000 0.105913 
+43.000000 0.108623 
+44.000000 0.113493 
+45.000000 0.117771 
+46.000000 0.121317 
+47.000000 0.125107 
+48.000000 0.128856 
+49.000000 0.132177 
+50.000000 0.136558 
+51.000000 0.138330 
+52.000000 0.143669 
+53.000000 0.147520 
+54.000000 0.151167 
+55.000000 0.155405 
+56.000000 0.159705 
+57.000000 0.164289 
+58.000000 0.167671 
+59.000000 0.174069 
+60.000000 0.177146 
+61.000000 0.179897 
+62.000000 0.184339 
+63.000000 0.187741 
+64.000000 0.192163 
+65.000000 0.195301 
+66.000000 0.197909 
+67.000000 0.201943 
+68.000000 0.204898 
+69.000000 0.208484 
+70.000000 0.211112 
+71.000000 0.215452 
+72.000000 0.220689 
+73.000000 0.225946 
+74.000000 0.228860 
+75.000000 0.231427 
+76.000000 0.235319 
+77.000000 0.238721 
+78.000000 0.241757 
+79.000000 0.244243 
+80.000000 0.247544 
+81.000000 0.248950 
+82.000000 0.254248 
+83.000000 0.257447 
+84.000000 0.261746 
+85.000000 0.267268 
+86.000000 0.270263 
+87.000000 0.273014 
+88.000000 0.277211 
+89.000000 0.280695 
+90.000000 0.282916 
+91.000000 0.286258 
+92.000000 0.289559 
+93.000000 0.292330 
+94.000000 0.295997 
+95.000000 0.301315 
+96.000000 0.304188 
+97.000000 0.307795 
+98.000000 0.311687 
+99.000000 0.314641 
+100.000000 0.317310 
+101.000000 0.320122 
+102.000000 0.323851 
+103.000000 0.326215 
+104.000000 0.331940 
+105.000000 0.334956 
+106.000000 0.338236 
+107.000000 0.342800 
+108.000000 0.345327 
+109.000000 0.348404 
+110.000000 0.351277 
+111.000000 0.352988 
+112.000000 0.357919 
+113.000000 0.363033 
+114.000000 0.365825 
+115.000000 0.369819 
+116.000000 0.373017 
+117.000000 0.375850 
+118.000000 0.379354 
+119.000000 0.380088 
+120.000000 0.385976 
+121.000000 0.389644 
+122.000000 0.392925 
+123.000000 0.397244 
+124.000000 0.399465 
+125.000000 0.403133 
+126.000000 0.404885 
+127.000000 0.407065 
+128.000000 0.413606 
+129.000000 0.416866 
+130.000000 0.420982 
+131.000000 0.423345 
+132.000000 0.427400 
+133.000000 0.429723 
+134.000000 0.430844 
+135.000000 0.436101 
+136.000000 0.441296 
+137.000000 0.444760 
+138.000000 0.447144 
+139.000000 0.450914 
+140.000000 0.453379 
+141.000000 0.456619 
+142.000000 0.459594 
+143.000000 0.464932 
+144.000000 0.467683 
+145.000000 0.470882 
+146.000000 0.473429 
+147.000000 0.476607 
+148.000000 0.480336 
+149.000000 0.484615 
+150.000000 0.487671 
+151.000000 0.491339 
+152.000000 0.493336 
+153.000000 0.495903 
+154.000000 0.499652 
+155.000000 0.504359 
+156.000000 0.507212 
+157.000000 0.510879 
+158.000000 0.513019 
+159.000000 0.515708 
+160.000000 0.520028 
+161.000000 0.524511 
+162.000000 0.527465 
+163.000000 0.530399 
+164.000000 0.533476 
+165.000000 0.536186 
+166.000000 0.540995 
+167.000000 0.544479 
+168.000000 0.547474 
+169.000000 0.550490 
+170.000000 0.553648 
+171.000000 0.555971 
+172.000000 0.560840 
+173.000000 0.564528 
+174.000000 0.567259 
+175.000000 0.569643 
+176.000000 0.572720 
+177.000000 0.577630 
+178.000000 0.581074 
+179.000000 0.584048 
+180.000000 0.585862 
+181.000000 0.589774 
+182.000000 0.594664 
+183.000000 0.598108 
+184.000000 0.600756 
+185.000000 0.603527 
+186.000000 0.606380 
+187.000000 0.611046 
+188.000000 0.614184 
+189.000000 0.617200 
+190.000000 0.620195 
+191.000000 0.622681 
+192.000000 0.627489 
+193.000000 0.630872 
+194.000000 0.634071 
+195.000000 0.636149 
+196.000000 0.639429 
+197.000000 0.644381 
+198.000000 0.647376 
+199.000000 0.649536 
+200.000000 0.652959 
+201.000000 0.657054 
+202.000000 0.660905 
+203.000000 0.664043 
+204.000000 0.667324 
+205.000000 0.670217 
+206.000000 0.674211 
+207.000000 0.677939 
+208.000000 0.680425 
+209.000000 0.683135 
+210.000000 0.687455 
+211.000000 0.691245 
+212.000000 0.693914 
+213.000000 0.695829 
+214.000000 0.700475 
+215.000000 0.705059 
+216.000000 0.707301 
+217.000000 0.710113 
+218.000000 0.714412 
+219.000000 0.717774 
+220.000000 0.720423 
+221.000000 0.723642 
+222.000000 0.727595 
+223.000000 0.731487 
+224.000000 0.734115 
+225.000000 0.737538 
+226.000000 0.739800 
+227.000000 0.745037 
+228.000000 0.747910 
+229.000000 0.750925 
+230.000000 0.753452 
+231.000000 0.758464 
+232.000000 0.761174 
+233.000000 0.763599 
+234.000000 0.767022 
+235.000000 0.771566 
+236.000000 0.774785 
+237.000000 0.776639 
+238.000000 0.779838 
+239.000000 0.785136 
+240.000000 0.788315 
+241.000000 0.790372 
+242.000000 0.794264 
+243.000000 0.797993 
+244.000000 0.800846 
+245.000000 0.803698 
+246.000000 0.807855 
+247.000000 0.811441 
+248.000000 0.814110 
+249.000000 0.816168 
+250.000000 0.820569 
+251.000000 0.823809 
+252.000000 0.826152 
+253.000000 0.828964 
+254.000000 0.834323 
+255.000000 0.836768 
+256.000000 0.839498 
+257.000000 0.846446 
+258.000000 0.850318 
+259.000000 0.853068 
+260.000000 0.856288 
+261.000000 0.860057 
+262.000000 0.863317 
+263.000000 0.865436 
+264.000000 0.870388 
+265.000000 0.873954 
+266.000000 0.877173 
+267.000000 0.879862 
+268.000000 0.883795 
+269.000000 0.886464 
+270.000000 0.888970 
+271.000000 0.894146 
+272.000000 0.897345 
+273.000000 0.900421 
+274.000000 0.903804 
+275.000000 0.907696 
+276.000000 0.910935 
+277.000000 0.913543 
+278.000000 0.918006 
+279.000000 0.920614 
+280.000000 0.923426 
+281.000000 0.928357 
+282.000000 0.930720 
+283.000000 0.933613 
+284.000000 0.938259 
+285.000000 0.941621 
+286.000000 0.943720 
+287.000000 0.948590 
+288.000000 0.951850 
+289.000000 0.953989 
+290.000000 0.958431 
+291.000000 0.959103 
+292.000000 0.960998 
+293.000000 0.963545 
+294.000000 0.968089 
+295.000000 0.970636 
+296.000000 0.974732 
+297.000000 0.978603 
+298.000000 0.981007 
+299.000000 0.983676 
+300.000000 0.988709 
+301.000000 0.991725 
+302.000000 0.994088 
+303.000000 0.998367 
+304.000000 1.001464 
+305.000000 1.004643 
+306.000000 1.008677 
+307.000000 1.010960 
+308.000000 1.014851 
+309.000000 1.018763 
+310.000000 1.021942 
+311.000000 1.024733 
+312.000000 1.028686 
+313.000000 1.030663 
+314.000000 1.033964 
+315.000000 1.037855 
+316.000000 1.040463 
+317.000000 1.044579 
+318.000000 1.048349 
+319.000000 1.050977 
+320.000000 1.054462 
+321.000000 1.058333 
+322.000000 1.060615 
+323.000000 1.064670 
+324.000000 1.067787 
+325.000000 1.070619 
+326.000000 1.075469 
+327.000000 1.077568 
+328.000000 1.080542 
+329.000000 1.084455 
+330.000000 1.087552 
+331.000000 1.090934 
+332.000000 1.094622 
+333.000000 1.096537 
+334.000000 1.101713 
+335.000000 1.104769 
+336.000000 1.107377 
+337.000000 1.111677 
+338.000000 1.114122 
+339.000000 1.118360 
+340.000000 1.121701 
+341.000000 1.124024 
+342.000000 1.128568 
+343.000000 1.131869 
+344.000000 1.134253 
+345.000000 1.138144 
+346.000000 1.140732 
+347.000000 1.144828 
+348.000000 1.148394 
+349.000000 1.150655 
+350.000000 1.154771 
+351.000000 1.158051 
+352.000000 1.161312 
+353.000000 1.165427 
+354.000000 1.167873 
+355.000000 1.172274 
+356.000000 1.174841 
+357.000000 1.177918 
+358.000000 1.181524 
+359.000000 1.184295 
+360.000000 1.188371 
+361.000000 1.190999 
+362.000000 1.193729 
+363.000000 1.197906 
+364.000000 1.200229 
+365.000000 1.203856 
+366.000000 1.206912 
+367.000000 1.209378 
+368.000000 1.213922 
+369.000000 1.216041 
+370.000000 1.219790 
+371.000000 1.223193 
+372.000000 1.225943 
+373.000000 1.230833 
+374.000000 1.232871 
+375.000000 1.237863 
+376.000000 1.240471 
+377.000000 1.243527 
+378.000000 1.247562 
+379.000000 1.250272 
+380.000000 1.255529 
+381.000000 1.257566 
+382.000000 1.260480 
+383.000000 1.264372 
+384.000000 1.267347 
+385.000000 1.271279 
+386.000000 1.273887 
+387.000000 1.278798 
+388.000000 1.280632 
+389.000000 1.285379 
+390.000000 1.287722 
+391.000000 1.290718 
+392.000000 1.295220 
+393.000000 1.298175 
+394.000000 1.302148 
+395.000000 1.304716 
+396.000000 1.308689 
+397.000000 1.312540 
+398.000000 1.315902 
+399.000000 1.319671 
+400.000000 1.321974 
+401.000000 1.326008 
+402.000000 1.328820 
+403.000000 1.333343 
+404.000000 1.336502 
+405.000000 1.339925 
+406.000000 1.343490 
+407.000000 1.346588 
+408.000000 1.349868 
+409.000000 1.352069 
+410.000000 1.356979 
+411.000000 1.358670 
+412.000000 1.363133 
+413.000000 1.365435 
+414.000000 1.369327 
+415.000000 1.373096 
+416.000000 1.376336 
+417.000000 1.379719 
+418.000000 1.382449 
+419.000000 1.387339 
+420.000000 1.390171 
+421.000000 1.394878 
+422.000000 1.396569 
+423.000000 1.401093 
+424.000000 1.404047 
+425.000000 1.407735 
+426.000000 1.410465 
+427.000000 1.414663 
+428.000000 1.418229 
+429.000000 1.421774 
+430.000000 1.424953 
+431.000000 1.428783 
+432.000000 1.431982 
+433.000000 1.434733 
+434.000000 1.438930 
+435.000000 1.441538 
+436.000000 1.445491 
+437.000000 1.447468 
+438.000000 1.451217 
+439.000000 1.452602 
+440.000000 1.457533 
+441.000000 1.460284 
+442.000000 1.464644 
+443.000000 1.466886 
+444.000000 1.471776 
+445.000000 1.474384 
+446.000000 1.479335 
+447.000000 1.480721 
+448.000000 1.484022 
+449.000000 1.486793 
+450.000000 1.490481 
+451.000000 1.493496 
+452.000000 1.498937 
+453.000000 1.502217 
+454.000000 1.507128 
+455.000000 1.509919 
+456.000000 1.513709 
+457.000000 1.516582 
+458.000000 1.520861 
+459.000000 1.523510 
+460.000000 1.528441 
+461.000000 1.530111 
+462.000000 1.535491 
+463.000000 1.538628 
+464.000000 1.542826 
+465.000000 1.544924 
+466.000000 1.549040 
+467.000000 1.552219 
+468.000000 1.555153 
+469.000000 1.558596 
+470.000000 1.562998 
+471.000000 1.564791 
+472.000000 1.568255 
+473.000000 1.571107 
+474.000000 1.573960 
+475.000000 1.577016 
+476.000000 1.579889 
+477.000000 1.583740 
+478.000000 1.587367 
+479.000000 1.591340 
+480.000000 1.593398 
+481.000000 1.599124 
+482.000000 1.600876 
+483.000000 1.605909 
+484.000000 1.609617 
+485.000000 1.613040 
+486.000000 1.615261 
+487.000000 1.618073 
+488.000000 1.620314 
+489.000000 1.623738 
+490.000000 1.627955 
+491.000000 1.631093 
+492.000000 1.634068 
+493.000000 1.637185 
+494.000000 1.641240 
+495.000000 1.644297 
+496.000000 1.647170 
+497.000000 1.650796 
+498.000000 1.653506 
+499.000000 1.655605 
+500.000000 1.658682 
+501.000000 1.664041 
+502.000000 1.666751 
+503.000000 1.670968 
+504.000000 1.673454 
+505.000000 1.677061 
+506.000000 1.679791 
+507.000000 1.683153 
+508.000000 1.686026 
+509.000000 1.688512 
+510.000000 1.694156 
+511.000000 1.696336 
+512.000000 1.701491 
+513.000000 1.705546 
+514.000000 1.710680 
+515.000000 1.714898 
+516.000000 1.717262 
+517.000000 1.721684 
+518.000000 1.724047 
+519.000000 1.726798 
+520.000000 1.727878 
+521.000000 1.731810 
+522.000000 1.736028 
+523.000000 1.739960 
+524.000000 1.743934 
+525.000000 1.745869 
+526.000000 1.749517 
+527.000000 1.751391 
+528.000000 1.755690 
+529.000000 1.759114 
+530.000000 1.761416 
+531.000000 1.767019 
+532.000000 1.767671 
+533.000000 1.771950 
+534.000000 1.776739 
+535.000000 1.780060 
+536.000000 1.783340 
+537.000000 1.787028 
+538.000000 1.790920 
+539.000000 1.795973 
+540.000000 1.798846 
+541.000000 1.802412 
+542.000000 1.802167 
+543.000000 1.806344 
+544.000000 1.811194 
+545.000000 1.814189 
+546.000000 1.817531 
+547.000000 1.820913 
+548.000000 1.824356 
+549.000000 1.828208 
+550.000000 1.831325 
+551.000000 1.835461 
+552.000000 1.838110 
+553.000000 1.841757 
+554.000000 1.845425 
+555.000000 1.848624 
+556.000000 1.852638 
+557.000000 1.855694 
+558.000000 1.857487 
+559.000000 1.860910 
+560.000000 1.863946 
+561.000000 1.866351 
+562.000000 1.870609 
+563.000000 1.874277 
+564.000000 1.878637 
+565.000000 1.882142 
+566.000000 1.885035 
+567.000000 1.889518 
+568.000000 1.895386 
+569.000000 1.898605 
+570.000000 1.903170 
+571.000000 1.906267 
+572.000000 1.910077 
+573.000000 1.913439 
+574.000000 1.916618 
+575.000000 1.920265 
+576.000000 1.923504 
+577.000000 1.926968 
+578.000000 1.930555 
+579.000000 1.935139 
+580.000000 1.937054 
+581.000000 1.941007 
+582.000000 1.943799 
+583.000000 1.945938 
+584.000000 1.949239 
+585.000000 1.952336 
+586.000000 1.956961 
+587.000000 1.960405 
+588.000000 1.963380 
+589.000000 1.967781 
+590.000000 1.972243 
+591.000000 1.974709 
+592.000000 1.978295 
+593.000000 1.982003 
+594.000000 1.984713 
+595.000000 1.988890 
+596.000000 1.991804 
+597.000000 1.993597 
+598.000000 1.997713 
+599.000000 2.001706 
+600.000000 2.004213 
+601.000000 2.004416 
+602.000000 2.009021 
+603.000000 2.011751 
+604.000000 2.015806 
+605.000000 2.020269 
+606.000000 2.022836 
+607.000000 2.029499 
+608.000000 2.034124 
+609.000000 2.036386 
+610.000000 2.039503 
+611.000000 2.043517 
+612.000000 2.045107 
+613.000000 2.046818 
+614.000000 2.050099 
+615.000000 2.051993 
+616.000000 2.055600 
+617.000000 2.059777 
+618.000000 2.064097 
+619.000000 2.067561 
+620.000000 2.071167 
+621.000000 2.075099 
+622.000000 2.078258 
+623.000000 2.082455 
+624.000000 2.086286 
+625.000000 2.089689 
+626.000000 2.093417 
+627.000000 2.098002 
+628.000000 2.101038 
+629.000000 2.103850 
+630.000000 2.107762 
+631.000000 2.112122 
+632.000000 2.115505 
+633.000000 2.119315 
+634.000000 2.123471 
+635.000000 2.126711 
+636.000000 2.129136 
+637.000000 2.131499 
+638.000000 2.135656 
+639.000000 2.138814 
+640.000000 2.142828 
+641.000000 2.146333 
+642.000000 2.149165 
+643.000000 2.152996 
+644.000000 2.158558 
+645.000000 2.162002 
+646.000000 2.164263 
+647.000000 2.166953 
+648.000000 2.168644 
+649.000000 2.171843 
+650.000000 2.175185 
+651.000000 2.178730 
+652.000000 2.181338 
+653.000000 2.184374 
+654.000000 2.188979 
+655.000000 2.191872 
+656.000000 2.194970 
+657.000000 2.197313 
+658.000000 2.201673 
+659.000000 2.206176 
+660.000000 2.210741 
+661.000000 2.213817 
+662.000000 2.217831 
+663.000000 2.220826 
+664.000000 2.224087 
+665.000000 2.228793 
+666.000000 2.230158 
+667.000000 2.233561 
+668.000000 2.236312 
+669.000000 2.239103 
+670.000000 2.242547 
+671.000000 2.247030 
+672.000000 2.251125 
+673.000000 2.255383 
+674.000000 2.259133 
+675.000000 2.262413 
+676.000000 2.266305 
+677.000000 2.269015 
+678.000000 2.271378 
+679.000000 2.274883 
+680.000000 2.277511 
+681.000000 2.280446 
+682.000000 2.284358 
+683.000000 2.287842 
+684.000000 2.291754 
+685.000000 2.294994 
+686.000000 2.299680 
+687.000000 2.303164 
+688.000000 2.306690 
+689.000000 2.308951 
+690.000000 2.312802 
+691.000000 2.315899 
+692.000000 2.319730 
+693.000000 2.322521 
+694.000000 2.325578 
+695.000000 2.327860 
+696.000000 2.332200 
+697.000000 2.336622 
+698.000000 2.340309 
+699.000000 2.344018 
+700.000000 2.347013 
+701.000000 2.349376 
+702.000000 2.352922 
+703.000000 2.356386 
+704.000000 2.360033 
+705.000000 2.364027 
+706.000000 2.366003 
+707.000000 2.368102 
+708.000000 2.371301 
+709.000000 2.374133 
+710.000000 2.377291 
+711.000000 2.380001 
+712.000000 2.381896 
+713.000000 2.385054 
+714.000000 2.389395 
+715.000000 2.391636 
+716.000000 2.394407 
+717.000000 2.398421 
+718.000000 2.401966 
+719.000000 2.408058 
+720.000000 2.412439 
+721.000000 2.416025 
+722.000000 2.419571 
+723.000000 2.422362 
+724.000000 2.425195 
+725.000000 2.429494 
+726.000000 2.433202 
+727.000000 2.435892 
+728.000000 2.438153 
+729.000000 2.442514 
+730.000000 2.446120 
+731.000000 2.449136 
+732.000000 2.452579 
+733.000000 2.456879 
+734.000000 2.459527 
+735.000000 2.462706 
+736.000000 2.466863 
+737.000000 2.471508 
+738.000000 2.474870 
+739.000000 2.477764 
+740.000000 2.480698 
+741.000000 2.485323 
+742.000000 2.490132 
+743.000000 2.494288 
+744.000000 2.495368 
+745.000000 2.499769 
+746.000000 2.503722 
+747.000000 2.507614 
+748.000000 2.510304 
+749.000000 2.514236 
+750.000000 2.517659 
+751.000000 2.520919 
+752.000000 2.524526 
+753.000000 2.528173 
+754.000000 2.532656 
+755.000000 2.536364 
+756.000000 2.540623 
+757.000000 2.543047 
+758.000000 2.546756 
+759.000000 2.551218 
+760.000000 2.555884 
+761.000000 2.559226 
+762.000000 2.562812 
+763.000000 2.567457 
+764.000000 2.571125 
+765.000000 2.574120 
+766.000000 2.577930 
+767.000000 2.580131 
+768.000000 2.584553 
+769.000000 2.588261 
+770.000000 2.590726 
+771.000000 2.593233 
+772.000000 2.596289 
+773.000000 2.599997 
+774.000000 2.603706 
+775.000000 2.608107 
+776.000000 2.611795 
+777.000000 2.615625 
+778.000000 2.620679 
+779.000000 2.624509 
+780.000000 2.626343 
+781.000000 2.630520 
+782.000000 2.632761 
+783.000000 2.638446 
+784.000000 2.641992 
+785.000000 2.647228 
+786.000000 2.650386 
+787.000000 2.653687 
+788.000000 2.656805 
+789.000000 2.661817 
+790.000000 2.669764 
+789.000000 2.671944 
+788.000000 2.668317 
+787.000000 2.663305 
+786.000000 2.657171 
+785.000000 2.654217 
+784.000000 2.649286 
+783.000000 2.644661 
+782.000000 2.640993 
+781.000000 2.636572 
+780.000000 2.632109 
+779.000000 2.629277 
+778.000000 2.627199 
+777.000000 2.622859 
+776.000000 2.618560 
+775.000000 2.614220 
+774.000000 2.609900 
+773.000000 2.607821 
+772.000000 2.603461 
+771.000000 2.600038 
+770.000000 2.596391 
+769.000000 2.592988 
+768.000000 2.590074 
+767.000000 2.586550 
+766.000000 2.581761 
+765.000000 2.579377 
+764.000000 2.574956 
+763.000000 2.572531 
+762.000000 2.567600 
+761.000000 2.563403 
+760.000000 2.558716 
+759.000000 2.556271 
+758.000000 2.553276 
+757.000000 2.551075 
+756.000000 2.547387 
+755.000000 2.544025 
+754.000000 2.540684 
+753.000000 2.537607 
+752.000000 2.534571 
+751.000000 2.531780 
+750.000000 2.528030 
+749.000000 2.525463 
+748.000000 2.523466 
+747.000000 2.518841 
+746.000000 2.513319 
+745.000000 2.510161 
+744.000000 2.507145 
+743.000000 2.502703 
+742.000000 2.497976 
+741.000000 2.494696 
+740.000000 2.491538 
+739.000000 2.488644 
+738.000000 2.486301 
+737.000000 2.481798 
+736.000000 2.477642 
+735.000000 2.473811 
+734.000000 2.470204 
+733.000000 2.466537 
+732.000000 2.463582 
+731.000000 2.460750 
+730.000000 2.457612 
+729.000000 2.455452 
+728.000000 2.452090 
+727.000000 2.449238 
+726.000000 2.445937 
+725.000000 2.443777 
+724.000000 2.439743 
+723.000000 2.436136 
+722.000000 2.433548 
+721.000000 2.430227 
+720.000000 2.426825 
+719.000000 2.422810 
+718.000000 2.418654 
+717.000000 2.415373 
+716.000000 2.411808 
+715.000000 2.408731 
+714.000000 2.404941 
+713.000000 2.402394 
+712.000000 2.400988 
+711.000000 2.397687 
+710.000000 2.394346 
+709.000000 2.389333 
+708.000000 2.384280 
+707.000000 2.381815 
+706.000000 2.377862 
+705.000000 2.373257 
+704.000000 2.369569 
+703.000000 2.368183 
+702.000000 2.364169 
+701.000000 2.361684 
+700.000000 2.358851 
+699.000000 2.355326 
+698.000000 2.351903 
+697.000000 2.347420 
+696.000000 2.345383 
+695.000000 2.339739 
+694.000000 2.336622 
+693.000000 2.333361 
+692.000000 2.332750 
+691.000000 2.328186 
+690.000000 2.323764 
+689.000000 2.319791 
+688.000000 2.316368 
+687.000000 2.314677 
+686.000000 2.310194 
+685.000000 2.307117 
+684.000000 2.304530 
+683.000000 2.299660 
+682.000000 2.296114 
+681.000000 2.293282 
+680.000000 2.291428 
+679.000000 2.289187 
+678.000000 2.286558 
+677.000000 2.282300 
+676.000000 2.279671 
+675.000000 2.277104 
+674.000000 2.273987 
+673.000000 2.270849 
+672.000000 2.267099 
+671.000000 2.264817 
+670.000000 2.260090 
+669.000000 2.257523 
+668.000000 2.254100 
+667.000000 2.249067 
+666.000000 2.245399 
+665.000000 2.242363 
+664.000000 2.238655 
+663.000000 2.235599 
+662.000000 2.231198 
+661.000000 2.227102 
+660.000000 2.224718 
+659.000000 2.222212 
+658.000000 2.217831 
+657.000000 2.214225 
+656.000000 2.211637 
+655.000000 2.208295 
+654.000000 2.203731 
+653.000000 2.199208 
+652.000000 2.195968 
+651.000000 2.192402 
+650.000000 2.188837 
+649.000000 2.185984 
+648.000000 2.183539 
+647.000000 2.179423 
+646.000000 2.175368 
+645.000000 2.171782 
+644.000000 2.169602 
+643.000000 2.164956 
+642.000000 2.161819 
+641.000000 2.159373 
+640.000000 2.155828 
+639.000000 2.151488 
+638.000000 2.148595 
+637.000000 2.145192 
+636.000000 2.141382 
+635.000000 2.137571 
+634.000000 2.133598 
+633.000000 2.132009 
+632.000000 2.128443 
+631.000000 2.125427 
+630.000000 2.123410 
+629.000000 2.119070 
+628.000000 2.115484 
+627.000000 2.111939 
+626.000000 2.109310 
+625.000000 2.105459 
+624.000000 2.103136 
+623.000000 2.100569 
+622.000000 2.096453 
+621.000000 2.092704 
+620.000000 2.089200 
+619.000000 2.085675 
+618.000000 2.081172 
+617.000000 2.077321 
+616.000000 2.074509 
+615.000000 2.071351 
+614.000000 2.067459 
+613.000000 2.064239 
+612.000000 2.060470 
+611.000000 2.057536 
+610.000000 2.055050 
+609.000000 2.052442 
+608.000000 2.048876 
+607.000000 2.046186 
+606.000000 2.042967 
+605.000000 2.037995 
+604.000000 2.036243 
+603.000000 2.032535 
+602.000000 2.029499 
+601.000000 2.026931 
+600.000000 2.023549 
+599.000000 2.018883 
+598.000000 2.015847 
+597.000000 2.012078 
+596.000000 2.008818 
+595.000000 2.004844 
+594.000000 2.001686 
+593.000000 1.997998 
+592.000000 1.995390 
+591.000000 1.991009 
+590.000000 1.985732 
+589.000000 1.982533 
+588.000000 1.980332 
+587.000000 1.975483 
+586.000000 1.972589 
+585.000000 1.970348 
+584.000000 1.966558 
+583.000000 1.963400 
+582.000000 1.960262 
+581.000000 1.955209 
+580.000000 1.954048 
+579.000000 1.950441 
+578.000000 1.945958 
+577.000000 1.942250 
+576.000000 1.939622 
+575.000000 1.935669 
+574.000000 1.931940 
+573.000000 1.928598 
+572.000000 1.923851 
+571.000000 1.920346 
+570.000000 1.916516 
+569.000000 1.913480 
+568.000000 1.911238 
+567.000000 1.907673 
+566.000000 1.904963 
+565.000000 1.901703 
+564.000000 1.898300 
+563.000000 1.896242 
+562.000000 1.892330 
+561.000000 1.889355 
+560.000000 1.886319 
+559.000000 1.882407 
+558.000000 1.879493 
+557.000000 1.876213 
+556.000000 1.873523 
+555.000000 1.871424 
+554.000000 1.866717 
+553.000000 1.863193 
+552.000000 1.860381 
+551.000000 1.856469 
+550.000000 1.854125 
+549.000000 1.850967 
+548.000000 1.847116 
+547.000000 1.844814 
+546.000000 1.840739 
+545.000000 1.837560 
+544.000000 1.834341 
+543.000000 1.828697 
+542.000000 1.824030 
+541.000000 1.820078 
+540.000000 1.817225 
+539.000000 1.814067 
+538.000000 1.808789 
+537.000000 1.806609 
+536.000000 1.802738 
+535.000000 1.799233 
+534.000000 1.796931 
+533.000000 1.793161 
+532.000000 1.791531 
+531.000000 1.788556 
+530.000000 1.784746 
+529.000000 1.781323 
+528.000000 1.776840 
+527.000000 1.774171 
+526.000000 1.770076 
+525.000000 1.767264 
+524.000000 1.765023 
+523.000000 1.760336 
+522.000000 1.757483 
+521.000000 1.753836 
+520.000000 1.749944 
+519.000000 1.748233 
+518.000000 1.743689 
+517.000000 1.742304 
+516.000000 1.737026 
+515.000000 1.734642 
+514.000000 1.730139 
+513.000000 1.727165 
+512.000000 1.724801 
+511.000000 1.720318 
+510.000000 1.717058 
+509.000000 1.714389 
+508.000000 1.711720 
+507.000000 1.707156 
+506.000000 1.703529 
+505.000000 1.701308 
+504.000000 1.696723 
+503.000000 1.694523 
+502.000000 1.690631 
+501.000000 1.687799 
+500.000000 1.684355 
+499.000000 1.680912 
+498.000000 1.677978 
+497.000000 1.673515 
+496.000000 1.670133 
+495.000000 1.666975 
+494.000000 1.664326 
+493.000000 1.659639 
+492.000000 1.657276 
+491.000000 1.653180 
+490.000000 1.650858 
+489.000000 1.647475 
+488.000000 1.645132 
+487.000000 1.643176 
+486.000000 1.639834 
+485.000000 1.637450 
+484.000000 1.632886 
+483.000000 1.630706 
+482.000000 1.626325 
+481.000000 1.622719 
+480.000000 1.619418 
+479.000000 1.616871 
+478.000000 1.613142 
+477.000000 1.609964 
+476.000000 1.606642 
+475.000000 1.602812 
+474.000000 1.600387 
+473.000000 1.596128 
+472.000000 1.593235 
+471.000000 1.589506 
+470.000000 1.586348 
+469.000000 1.582253 
+468.000000 1.579685 
+467.000000 1.576446 
+466.000000 1.573654 
+465.000000 1.569783 
+464.000000 1.567256 
+463.000000 1.563955 
+462.000000 1.559982 
+461.000000 1.556335 
+460.000000 1.551791 
+459.000000 1.549081 
+458.000000 1.544171 
+457.000000 1.540849 
+456.000000 1.538425 
+455.000000 1.536285 
+454.000000 1.531864 
+453.000000 1.529663 
+452.000000 1.526118 
+451.000000 1.522695 
+450.000000 1.518946 
+449.000000 1.517356 
+448.000000 1.513790 
+447.000000 1.511508 
+446.000000 1.506068 
+445.000000 1.504255 
+444.000000 1.500016 
+443.000000 1.496960 
+442.000000 1.492457 
+441.000000 1.489543 
+440.000000 1.485407 
+439.000000 1.482636 
+438.000000 1.478805 
+437.000000 1.476299 
+436.000000 1.471939 
+435.000000 1.469738 
+434.000000 1.465704 
+433.000000 1.462647 
+432.000000 1.458124 
+431.000000 1.455801 
+430.000000 1.450728 
+429.000000 1.448466 
+428.000000 1.444513 
+427.000000 1.442476 
+426.000000 1.438828 
+425.000000 1.436302 
+424.000000 1.434896 
+423.000000 1.430861 
+422.000000 1.426949 
+421.000000 1.422732 
+420.000000 1.419940 
+419.000000 1.417291 
+418.000000 1.414337 
+417.000000 1.410058 
+416.000000 1.407735 
+415.000000 1.402743 
+414.000000 1.401031 
+413.000000 1.395448 
+412.000000 1.394572 
+411.000000 1.389866 
+410.000000 1.386218 
+409.000000 1.380961 
+408.000000 1.379576 
+407.000000 1.376499 
+406.000000 1.372750 
+405.000000 1.369612 
+404.000000 1.365476 
+403.000000 1.362970 
+402.000000 1.358507 
+401.000000 1.356123 
+400.000000 1.351804 
+399.000000 1.349257 
+398.000000 1.345304 
+397.000000 1.342451 
+396.000000 1.338886 
+395.000000 1.335646 
+394.000000 1.332080 
+393.000000 1.328270 
+392.000000 1.325988 
+391.000000 1.321342 
+390.000000 1.319407 
+389.000000 1.314985 
+388.000000 1.313273 
+387.000000 1.310156 
+386.000000 1.305999 
+385.000000 1.303493 
+384.000000 1.298746 
+383.000000 1.296769 
+382.000000 1.292144 
+381.000000 1.289699 
+380.000000 1.285787 
+379.000000 1.282262 
+378.000000 1.279531 
+377.000000 1.274886 
+376.000000 1.273154 
+375.000000 1.268630 
+374.000000 1.265798 
+373.000000 1.262558 
+372.000000 1.259115 
+371.000000 1.256323 
+370.000000 1.251780 
+369.000000 1.250088 
+368.000000 1.245341 
+367.000000 1.242244 
+366.000000 1.239799 
+365.000000 1.235540 
+364.000000 1.232952 
+363.000000 1.228816 
+362.000000 1.226555 
+361.000000 1.222846 
+360.000000 1.219260 
+359.000000 1.216998 
+358.000000 1.212781 
+357.000000 1.210234 
+356.000000 1.206770 
+355.000000 1.202796 
+354.000000 1.200025 
+353.000000 1.194972 
+352.000000 1.192609 
+351.000000 1.190184 
+350.000000 1.186088 
+349.000000 1.182910 
+348.000000 1.177734 
+347.000000 1.172661 
+346.000000 1.172213 
+345.000000 1.168158 
+344.000000 1.167180 
+343.000000 1.162208 
+342.000000 1.160191 
+341.000000 1.156829 
+340.000000 1.151776 
+339.000000 1.150187 
+338.000000 1.145806 
+337.000000 1.142321 
+336.000000 1.140610 
+335.000000 1.135292 
+334.000000 1.132949 
+333.000000 1.129098 
+332.000000 1.124921 
+331.000000 1.122924 
+330.000000 1.118482 
+329.000000 1.115731 
+328.000000 1.113184 
+327.000000 1.108702 
+326.000000 1.106827 
+325.000000 1.102589 
+324.000000 1.097903 
+323.000000 1.096374 
+322.000000 1.092686 
+321.000000 1.088081 
+320.000000 1.085799 
+319.000000 1.081684 
+318.000000 1.078362 
+317.000000 1.075428 
+316.000000 1.070334 
+315.000000 1.068847 
+314.000000 1.066157 
+313.000000 1.061206 
+312.000000 1.059087 
+311.000000 1.055460 
+310.000000 1.051507 
+309.000000 1.049755 
+308.000000 1.045557 
+307.000000 1.041319 
+306.000000 1.039974 
+305.000000 1.035247 
+304.000000 1.031457 
+303.000000 1.029257 
+302.000000 1.025080 
+301.000000 1.021799 
+300.000000 1.019497 
+299.000000 1.014933 
+298.000000 1.011713 
+297.000000 1.008963 
+296.000000 1.004521 
+295.000000 1.001261 
+294.000000 0.998327 
+293.000000 0.994088 
+292.000000 0.991256 
+291.000000 0.988281 
+290.000000 0.983575 
+289.000000 0.980885 
+288.000000 0.977992 
+287.000000 0.973529 
+286.000000 0.970616 
+285.000000 0.968089 
+284.000000 0.964034 
+283.000000 0.960632 
+282.000000 0.957759 
+281.000000 0.953969 
+280.000000 0.948895 
+279.000000 0.947754 
+278.000000 0.943475 
+277.000000 0.939889 
+276.000000 0.937383 
+275.000000 0.933776 
+274.000000 0.929538 
+273.000000 0.926910 
+272.000000 0.923853 
+271.000000 0.919086 
+270.000000 0.916661 
+269.000000 0.914134 
+268.000000 0.910202 
+267.000000 0.905841 
+266.000000 0.904395 
+265.000000 0.899953 
+264.000000 0.895165 
+263.000000 0.894288 
+262.000000 0.890641 
+261.000000 0.886158 
+260.000000 0.883428 
+259.000000 0.880474 
+258.000000 0.876826 
+257.000000 0.872731 
+256.000000 0.870123 
+255.000000 0.866700 
+254.000000 0.862563 
+253.000000 0.860261 
+252.000000 0.857164 
+251.000000 0.852620 
+250.000000 0.848525 
+249.000000 0.846976 
+248.000000 0.843125 
+247.000000 0.838296 
+246.000000 0.836340 
+245.000000 0.833528 
+244.000000 0.829677 
+243.000000 0.825194 
+242.000000 0.823075 
+241.000000 0.819510 
+240.000000 0.815272 
+239.000000 0.812358 
+238.000000 0.809464 
+237.000000 0.805797 
+236.000000 0.800825 
+235.000000 0.798584 
+234.000000 0.796322 
+233.000000 0.792206 
+232.000000 0.787703 
+231.000000 0.785360 
+230.000000 0.782365 
+229.000000 0.777882 
+228.000000 0.774174 
+227.000000 0.772605 
+226.000000 0.768937 
+225.000000 0.764149 
+224.000000 0.760379 
+223.000000 0.758994 
+222.000000 0.755408 
+221.000000 0.750762 
+220.000000 0.746789 
+219.000000 0.745179 
+218.000000 0.741247 
+217.000000 0.736601 
+216.000000 0.732995 
+215.000000 0.731813 
+214.000000 0.728655 
+213.000000 0.724111 
+212.000000 0.719058 
+211.000000 0.717570 
+210.000000 0.714982 
+209.000000 0.710541 
+208.000000 0.706221 
+207.000000 0.703002 
+206.000000 0.700638 
+205.000000 0.696461 
+204.000000 0.691754 
+203.000000 0.690022 
+202.000000 0.687516 
+201.000000 0.683115 
+200.000000 0.678673 
+199.000000 0.676574 
+198.000000 0.673294 
+197.000000 0.670013 
+196.000000 0.666957 
+195.000000 0.661883 
+194.000000 0.659622 
+193.000000 0.657095 
+192.000000 0.652735 
+191.000000 0.648456 
+190.000000 0.645379 
+189.000000 0.642506 
+188.000000 0.638981 
+187.000000 0.636088 
+186.000000 0.630586 
+185.000000 0.626939 
+184.000000 0.625880 
+183.000000 0.621295 
+182.000000 0.617383 
+181.000000 0.612819 
+180.000000 0.610190 
+179.000000 0.608662 
+178.000000 0.605015 
+177.000000 0.599921 
+176.000000 0.596355 
+175.000000 0.593442 
+174.000000 0.591119 
+173.000000 0.587961 
+172.000000 0.582928 
+171.000000 0.579179 
+170.000000 0.576530 
+169.000000 0.574064 
+168.000000 0.571069 
+167.000000 0.566464 
+166.000000 0.563021 
+165.000000 0.558966 
+164.000000 0.556908 
+163.000000 0.554341 
+162.000000 0.549287 
+161.000000 0.546639 
+160.000000 0.539365 
+159.000000 0.539385 
+158.000000 0.535880 
+157.000000 0.532600 
+156.000000 0.528627 
+155.000000 0.524327 
+154.000000 0.521617 
+153.000000 0.518296 
+152.000000 0.516116 
+151.000000 0.512183 
+150.000000 0.509249 
+149.000000 0.503911 
+148.000000 0.500895 
+147.000000 0.498328 
+146.000000 0.495577 
+145.000000 0.491522 
+144.000000 0.487488 
+143.000000 0.482455 
+142.000000 0.479868 
+141.000000 0.476383 
+140.000000 0.474529 
+139.000000 0.470393 
+138.000000 0.468029 
+137.000000 0.463017 
+136.000000 0.459798 
+135.000000 0.456436 
+134.000000 0.454378 
+133.000000 0.449813 
+132.000000 0.446350 
+131.000000 0.441765 
+130.000000 0.437018 
+129.000000 0.433982 
+128.000000 0.432759 
+127.000000 0.428847 
+126.000000 0.425505 
+125.000000 0.421797 
+124.000000 0.417355 
+123.000000 0.413300 
+122.000000 0.408390 
+121.000000 0.408227 
+120.000000 0.404783 
+119.000000 0.401217 
+118.000000 0.397529 
+117.000000 0.393108 
+116.000000 0.389644 
+115.000000 0.383755 
+114.000000 0.382798 
+113.000000 0.380190 
+112.000000 0.376033 
+111.000000 0.373710 
+110.000000 0.368779 
+109.000000 0.364888 
+108.000000 0.361587 
+107.000000 0.355678 
+106.000000 0.353946 
+105.000000 0.351236 
+104.000000 0.348098 
+103.000000 0.345673 
+102.000000 0.340865 
+101.000000 0.337116 
+100.000000 0.333937 
+99.000000 0.328782 
+98.000000 0.325522 
+97.000000 0.322649 
+96.000000 0.319491 
+95.000000 0.316495 
+94.000000 0.314173 
+93.000000 0.309099 
+92.000000 0.305207 
+91.000000 0.302069 
+90.000000 0.296160 
+89.000000 0.291128 
+88.000000 0.290557 
+87.000000 0.287542 
+86.000000 0.283813 
+85.000000 0.281959 
+84.000000 0.278576 
+83.000000 0.273503 
+82.000000 0.269896 
+81.000000 0.267145 
+80.000000 0.262255 
+79.000000 0.257630 
+78.000000 0.253779 
+77.000000 0.253086 
+76.000000 0.249969 
+75.000000 0.244712 
+74.000000 0.242878 
+73.000000 0.240148 
+72.000000 0.235196 
+71.000000 0.230286 
+70.000000 0.227576 
+69.000000 0.225009 
+68.000000 0.220933 
+67.000000 0.216186 
+66.000000 0.212620 
+65.000000 0.208606 
+64.000000 0.203838 
+63.000000 0.200028 
+62.000000 0.194160 
+61.000000 0.195219 
+60.000000 0.192448 
+59.000000 0.188414 
+58.000000 0.182097 
+57.000000 0.177411 
+56.000000 0.173906 
+55.000000 0.170646 
+54.000000 0.166897 
+53.000000 0.161335 
+52.000000 0.156709 
+51.000000 0.152532 
+50.000000 0.149048 
+49.000000 0.141896 
+48.000000 0.138330 
+47.000000 0.135702 
+46.000000 0.131932 
+45.000000 0.123110 
+44.000000 0.120318 
+43.000000 0.119524 
+42.000000 0.116549 
+41.000000 0.115102 
+40.000000 0.111638 
+39.000000 0.107217 
+38.000000 0.101797 
+37.000000 0.096866 
+36.000000 0.090692 
+35.000000 0.087004 
+34.000000 0.082990 
+33.000000 0.079486 
+32.000000 0.075899 
+31.000000 0.072537 
+30.000000 0.068768 
+29.000000 0.064428 
+28.000000 0.059517 
+27.000000 0.056013 
+26.000000 0.051286 
+25.000000 0.046355 
+24.000000 0.042626 
+23.000000 0.038408 
+22.000000 0.034537 
+21.000000 0.030625 
+20.000000 0.025144 
+19.000000 0.020539 
+18.000000 0.015852 
+17.000000 0.012796 
+16.000000 0.006479 
+15.000000 0.001936 
+14.000000 0.000000 
+13.000000 0.000000 
+12.000000 0.000000 
+11.000000 0.000000 
+10.000000 0.000000 
+9.000000 0.000000 
+8.000000 0.000000 
+7.000000 0.000000 
+6.000000 0.000000 
+5.000000 0.000000 
+4.000000 0.000000 
+3.000000 0.000000 
+2.000000 0.000000 
+1.000000 0.000000 
+0.000000 0.000000 
+-1.000000 0.000000 
+-2.000000 0.000000 
+-3.000000 0.000000 
+-4.000000 0.000000 
+-5.000000 0.000000 
+-6.000000 0.000000 
+-7.000000 0.000000 
+-8.000000 0.000000 
+-9.000000 0.000000 
+-10.000000 0.000000 
+-11.000000 0.000000 
+-12.000000 -0.001202 
+-13.000000 -0.000387 
+-14.000000 -0.002914 
+-15.000000 -0.007233 
+-16.000000 -0.006989 
+-17.000000 -0.010636 
+-18.000000 -0.015160 
+-19.000000 -0.019989 
+-20.000000 -0.022189 
+-21.000000 -0.026101 
+-22.000000 -0.029850 
+-23.000000 -0.033722 
+-24.000000 -0.037797 
+-25.000000 -0.042259 
+-26.000000 -0.047414 
+-27.000000 -0.050430 
+-28.000000 -0.054872 
+-29.000000 -0.059558 
+-30.000000 -0.063165 
+-31.000000 -0.067464 
+-32.000000 -0.071865 
+-33.000000 -0.077774 
+-34.000000 -0.083296 
+-35.000000 -0.089042 
+-36.000000 -0.093300 
+-37.000000 -0.098455 
+-38.000000 -0.102184 
+-39.000000 -0.105403 
+-40.000000 -0.108765 
+-41.000000 -0.111761 
+-42.000000 -0.114450 
+-43.000000 -0.117079 
+-44.000000 -0.120726 
+-45.000000 -0.128591 
+-46.000000 -0.132564 
+-47.000000 -0.136171 
+-48.000000 -0.139981 
+-49.000000 -0.144076 
+-50.000000 -0.150637 
+-51.000000 -0.155670 
+-52.000000 -0.160581 
+-53.000000 -0.164045 
+-54.000000 -0.168140 
+-55.000000 -0.171237 
+-56.000000 -0.176148 
+-57.000000 -0.180773 
+-58.000000 -0.184237 
+-59.000000 -0.187354 
+-60.000000 -0.189290 
+-61.000000 -0.192183 
+-62.000000 -0.196503 
+-63.000000 -0.201169 
+-64.000000 -0.203899 
+-65.000000 -0.207791 
+-66.000000 -0.211887 
+-67.000000 -0.216451 
+-68.000000 -0.220261 
+-69.000000 -0.223440 
+-70.000000 -0.226985 
+-71.000000 -0.231508 
+-72.000000 -0.235319 
+-73.000000 -0.237662 
+-74.000000 -0.240331 
+-75.000000 -0.243876 
+-76.000000 -0.247218 
+-77.000000 -0.249622 
+-78.000000 -0.253759 
+-79.000000 -0.258119 
+-80.000000 -0.261889 
+-81.000000 -0.265597 
+-82.000000 -0.269631 
+-83.000000 -0.274358 
+-84.000000 -0.277109 
+-85.000000 -0.279636 
+-86.000000 -0.283385 
+-87.000000 -0.286237 
+-88.000000 -0.288560 
+-89.000000 -0.292085 
+-90.000000 -0.296629 
+-91.000000 -0.300725 
+-92.000000 -0.304677 
+-93.000000 -0.309608 
+-94.000000 -0.312359 
+-95.000000 -0.314947 
+-96.000000 -0.318044 
+-97.000000 -0.320672 
+-98.000000 -0.324544 
+-99.000000 -0.329230 
+-100.000000 -0.332633 
+-101.000000 -0.336973 
+-102.000000 -0.341272 
+-103.000000 -0.343901 
+-104.000000 -0.346957 
+-105.000000 -0.349443 
+-106.000000 -0.352092 
+-107.000000 -0.356595 
+-108.000000 -0.360079 
+-109.000000 -0.364236 
+-110.000000 -0.368759 
+-111.000000 -0.371978 
+-112.000000 -0.375238 
+-113.000000 -0.378641 
+-114.000000 -0.380332 
+-115.000000 -0.384509 
+-116.000000 -0.387892 
+-117.000000 -0.392048 
+-118.000000 -0.396246 
+-119.000000 -0.399404 
+-120.000000 -0.403357 
+-121.000000 -0.404926 
+-122.000000 -0.408492 
+-123.000000 -0.412750 
+-124.000000 -0.415195 
+-125.000000 -0.419250 
+-126.000000 -0.422592 
+-127.000000 -0.426606 
+-128.000000 -0.428378 
+-129.000000 -0.431557 
+-130.000000 -0.435387 
+-131.000000 -0.441174 
+-132.000000 -0.444964 
+-133.000000 -0.448530 
+-134.000000 -0.451912 
+-135.000000 -0.454296 
+-136.000000 -0.457699 
+-137.000000 -0.460674 
+-138.000000 -0.465177 
+-139.000000 -0.468559 
+-140.000000 -0.472655 
+-141.000000 -0.473918 
+-142.000000 -0.477708 
+-143.000000 -0.481518 
+-144.000000 -0.485634 
+-145.000000 -0.489444 
+-146.000000 -0.493417 
+-147.000000 -0.495394 
+-148.000000 -0.497880 
+-149.000000 -0.501629 
+-150.000000 -0.506193 
+-151.000000 -0.509983 
+-152.000000 -0.514465 
+-153.000000 -0.517400 
+-154.000000 -0.519641 
+-155.000000 -0.523309 
+-156.000000 -0.526670 
+-157.000000 -0.531662 
+-158.000000 -0.534413 
+-159.000000 -0.537368 
+-160.000000 -0.538977 
+-161.000000 -0.544214 
+-162.000000 -0.548330 
+-163.000000 -0.551814 
+-164.000000 -0.554809 
+-165.000000 -0.555767 
+-166.000000 -0.560922 
+-167.000000 -0.564427 
+-168.000000 -0.568991 
+-169.000000 -0.572638 
+-170.000000 -0.574431 
+-171.000000 -0.578221 
+-172.000000 -0.581848 
+-173.000000 -0.586045 
+-174.000000 -0.589428 
+-175.000000 -0.591302 
+-176.000000 -0.595010 
+-177.000000 -0.599106 
+-178.000000 -0.603854 
+-179.000000 -0.607705 
+-180.000000 -0.609131 
+-181.000000 -0.612106 
+-182.000000 -0.616833 
+-183.000000 -0.620399 
+-184.000000 -0.623964 
+-185.000000 -0.625717 
+-186.000000 -0.628895 
+-187.000000 -0.633582 
+-188.000000 -0.637290 
+-189.000000 -0.639796 
+-190.000000 -0.642751 
+-191.000000 -0.646581 
+-192.000000 -0.650392 
+-193.000000 -0.655037 
+-194.000000 -0.657340 
+-195.000000 -0.659336 
+-196.000000 -0.664532 
+-197.000000 -0.668281 
+-198.000000 -0.671664 
+-199.000000 -0.674842 
+-200.000000 -0.679101 
+-201.000000 -0.682300 
+-202.000000 -0.685519 
+-203.000000 -0.687985 
+-204.000000 -0.690980 
+-205.000000 -0.695157 
+-206.000000 -0.699477 
+-207.000000 -0.701453 
+-208.000000 -0.704733 
+-209.000000 -0.708829 
+-210.000000 -0.713760 
+-211.000000 -0.716572 
+-212.000000 -0.718691 
+-213.000000 -0.722827 
+-214.000000 -0.727004 
+-215.000000 -0.730346 
+-216.000000 -0.732118 
+-217.000000 -0.736581 
+-218.000000 -0.741267 
+-219.000000 -0.744874 
+-220.000000 -0.746320 
+-221.000000 -0.750232 
+-222.000000 -0.755000 
+-223.000000 -0.758811 
+-224.000000 -0.760746 
+-225.000000 -0.764129 
+-226.000000 -0.768774 
+-227.000000 -0.771668 
+-228.000000 -0.773685 
+-229.000000 -0.777801 
+-230.000000 -0.782120 
+-231.000000 -0.785095 
+-232.000000 -0.787663 
+-233.000000 -0.791941 
+-234.000000 -0.796139 
+-235.000000 -0.798767 
+-236.000000 -0.801049 
+-237.000000 -0.805593 
+-238.000000 -0.809383 
+-239.000000 -0.811054 
+-240.000000 -0.815068 
+-241.000000 -0.819122 
+-242.000000 -0.822790 
+-243.000000 -0.824767 
+-244.000000 -0.829086 
+-245.000000 -0.833365 
+-246.000000 -0.835688 
+-247.000000 -0.838602 
+-248.000000 -0.842555 
+-249.000000 -0.846467 
+-250.000000 -0.848443 
+-251.000000 -0.852416 
+-252.000000 -0.857082 
+-253.000000 -0.859894 
+-254.000000 -0.862054 
+-255.000000 -0.866761 
+-256.000000 -0.870571 
+-257.000000 -0.873281 
+-258.000000 -0.877315 
+-259.000000 -0.881126 
+-260.000000 -0.883510 
+-261.000000 -0.886444 
+-262.000000 -0.891069 
+-263.000000 -0.894003 
+-264.000000 -0.896367 
+-265.000000 -0.900951 
+-266.000000 -0.904965 
+-267.000000 -0.906758 
+-268.000000 -0.911159 
+-269.000000 -0.915662 
+-270.000000 -0.917680 
+-271.000000 -0.921307 
+-272.000000 -0.925830 
+-273.000000 -0.928866 
+-274.000000 -0.930965 
+-275.000000 -0.935896 
+-276.000000 -0.938850 
+-277.000000 -0.940521 
+-278.000000 -0.945472 
+-279.000000 -0.949180 
+-280.000000 -0.951035 
+-281.000000 -0.955089 
+-282.000000 -0.959144 
+-283.000000 -0.960835 
+-284.000000 -0.965216 
+-285.000000 -0.969312 
+-286.000000 -0.971798 
+-287.000000 -0.975526 
+-288.000000 -0.979357 
+-289.000000 -0.982046 
+-290.000000 -0.985755 
+-291.000000 -0.990176 
+-292.000000 -0.992683 
+-293.000000 -0.996065 
+-294.000000 -1.000486 
+-295.000000 -1.002931 
+-296.000000 -1.005967 
+-297.000000 -1.009717 
+-298.000000 -1.012956 
+-299.000000 -1.016420 
+-300.000000 -1.020679 
+-301.000000 -1.022757 
+-302.000000 -1.026404 
+-303.000000 -1.030642 
+-304.000000 -1.033271 
+-305.000000 -1.036837 
+-306.000000 -1.041421 
+-307.000000 -1.043072 
+-308.000000 -1.047941 
+-309.000000 -1.051079 
+-310.000000 -1.052832 
+-311.000000 -1.058150 
+-312.000000 -1.062327 
+-313.000000 -1.065301 
+-314.000000 -1.069723 
+-315.000000 -1.072433 
+-316.000000 -1.074796 
+-317.000000 -1.079727 
+-318.000000 -1.081480 
+-319.000000 -1.084027 
+-320.000000 -1.088570 
+-321.000000 -1.090730 
+-322.000000 -1.095763 
+-323.000000 -1.099308 
+-324.000000 -1.101896 
+-325.000000 -1.107072 
+-326.000000 -1.109293 
+-327.000000 -1.112492 
+-328.000000 -1.117280 
+-329.000000 -1.119542 
+-330.000000 -1.123902 
+-331.000000 -1.127569 
+-332.000000 -1.130116 
+-333.000000 -1.134905 
+-334.000000 -1.137574 
+-335.000000 -1.140630 
+-336.000000 -1.145072 
+-337.000000 -1.147640 
+-338.000000 -1.151735 
+-339.000000 -1.155484 
+-340.000000 -1.157807 
+-341.000000 -1.162392 
+-342.000000 -1.164775 
+-343.000000 -1.168463 
+-344.000000 -1.172090 
+-345.000000 -1.174617 
+-346.000000 -1.178794 
+-347.000000 -1.181830 
+-348.000000 -1.185192 
+-349.000000 -1.189838 
+-350.000000 -1.191753 
+-351.000000 -1.196011 
+-352.000000 -1.199068 
+-353.000000 -1.202776 
+-354.000000 -1.207096 
+-355.000000 -1.208318 
+-356.000000 -1.212719 
+-357.000000 -1.215755 
+-358.000000 -1.218914 
+-359.000000 -1.223131 
+-360.000000 -1.225617 
+-361.000000 -1.230018 
+-362.000000 -1.233054 
+-363.000000 -1.237068 
+-364.000000 -1.241123 
+-365.000000 -1.243609 
+-366.000000 -1.247766 
+-367.000000 -1.249946 
+-368.000000 -1.254775 
+-369.000000 -1.257546 
+-370.000000 -1.260684 
+-371.000000 -1.265431 
+-372.000000 -1.267306 
+-373.000000 -1.272155 
+-374.000000 -1.274580 
+-375.000000 -1.279185 
+-376.000000 -1.281711 
+-377.000000 -1.284503 
+-378.000000 -1.289026 
+-379.000000 -1.291777 
+-380.000000 -1.295913 
+-381.000000 -1.297788 
+-382.000000 -1.302658 
+-383.000000 -1.305836 
+-384.000000 -1.308424 
+-385.000000 -1.313070 
+-386.000000 -1.314924 
+-387.000000 -1.319040 
+-388.000000 -1.322055 
+-389.000000 -1.326395 
+-390.000000 -1.328759 
+-391.000000 -1.332019 
+-392.000000 -1.335198 
+-393.000000 -1.338009 
+-394.000000 -1.343022 
+-395.000000 -1.345202 
+-396.000000 -1.349359 
+-397.000000 -1.351437 
+-398.000000 -1.355614 
+-399.000000 -1.358467 
+-400.000000 -1.363072 
+-401.000000 -1.366210 
+-402.000000 -1.368328 
+-403.000000 -1.372404 
+-404.000000 -1.375338 
+-405.000000 -1.379515 
+-406.000000 -1.381654 
+-407.000000 -1.386300 
+-408.000000 -1.389356 
+-409.000000 -1.393696 
+-410.000000 -1.395897 
+-411.000000 -1.400644 
+-412.000000 -1.403191 
+-413.000000 -1.407409 
+-414.000000 -1.410262 
+-415.000000 -1.414887 
+-416.000000 -1.418269 
+-417.000000 -1.420877 
+-418.000000 -1.424891 
+-419.000000 -1.428070 
+-420.000000 -1.432267 
+-421.000000 -1.435059 
+-422.000000 -1.439908 
+-423.000000 -1.442150 
+-424.000000 -1.446021 
+-425.000000 -1.449729 
+-426.000000 -1.453336 
+-427.000000 -1.454905 
+-428.000000 -1.460569 
+-429.000000 -1.462770 
+-430.000000 -1.467354 
+-431.000000 -1.469005 
+-432.000000 -1.474832 
+-433.000000 -1.476523 
+-434.000000 -1.481678 
+-435.000000 -1.483757 
+-436.000000 -1.488239 
+-437.000000 -1.490094 
+-438.000000 -1.495473 
+-439.000000 -1.496349 
+-440.000000 -1.500342 
+-441.000000 -1.502828 
+-442.000000 -1.507983 
+-443.000000 -1.510021 
+-444.000000 -1.514585 
+-445.000000 -1.517641 
+-446.000000 -1.521655 
+-447.000000 -1.524019 
+-448.000000 -1.528339 
+-449.000000 -1.530356 
+-450.000000 -1.535287 
+-451.000000 -1.537650 
+-452.000000 -1.542357 
+-453.000000 -1.544965 
+-454.000000 -1.549652 
+-455.000000 -1.552036 
+-456.000000 -1.555540 
+-457.000000 -1.557761 
+-458.000000 -1.561775 
+-459.000000 -1.564709 
+-460.000000 -1.569029 
+-461.000000 -1.570985 
+-462.000000 -1.574469 
+-463.000000 -1.578646 
+-464.000000 -1.582253 
+-465.000000 -1.585329 
+-466.000000 -1.587958 
+-467.000000 -1.591850 
+-468.000000 -1.594967 
+-469.000000 -1.599409 
+-470.000000 -1.601793 
+-471.000000 -1.606174 
+-472.000000 -1.608639 
+-473.000000 -1.613061 
+-474.000000 -1.615282 
+-475.000000 -1.619907 
+-476.000000 -1.622923 
+-477.000000 -1.626570 
+-478.000000 -1.630400 
+-479.000000 -1.633416 
+-480.000000 -1.637471 
+-481.000000 -1.639895 
+-482.000000 -1.645703 
+-483.000000 -1.647659 
+-484.000000 -1.652691 
+-485.000000 -1.654851 
+-486.000000 -1.658356 
+-487.000000 -1.661127 
+-488.000000 -1.665202 
+-489.000000 -1.668605 
+-490.000000 -1.671457 
+-491.000000 -1.675634 
+-492.000000 -1.678100 
+-493.000000 -1.681869 
+-494.000000 -1.684885 
+-495.000000 -1.689368 
+-496.000000 -1.691792 
+-497.000000 -1.695093 
+-498.000000 -1.700004 
+-499.000000 -1.703203 
+-500.000000 -1.708093 
+-501.000000 -1.710171 
+-502.000000 -1.714430 
+-503.000000 -1.716732 
+-504.000000 -1.719503 
+-505.000000 -1.724842 
+-506.000000 -1.728387 
+-507.000000 -1.731851 
+-508.000000 -1.734561 
+-509.000000 -1.738351 
+-510.000000 -1.741346 
+-511.000000 -1.745054 
+-512.000000 -1.749537 
+-513.000000 -1.751473 
+-514.000000 -1.756546 
+-515.000000 -1.759521 
+-516.000000 -1.763168 
+-517.000000 -1.767060 
+-518.000000 -1.769790 
+-519.000000 -1.773356 
+-520.000000 -1.775720 
+-521.000000 -1.780365 
+-522.000000 -1.784766 
+-523.000000 -1.787415 
+-524.000000 -1.791735 
+-525.000000 -1.794404 
+-526.000000 -1.798276 
+-527.000000 -1.802982 
+-528.000000 -1.805366 
+-529.000000 -1.809727 
+-530.000000 -1.813150 
+-531.000000 -1.816655 
+-532.000000 -1.820444 
+-533.000000 -1.822910 
+-534.000000 -1.826700 
+-535.000000 -1.829287 
+-536.000000 -1.832711 
+-537.000000 -1.836663 
+-538.000000 -1.840168 
+-539.000000 -1.844345 
+-540.000000 -1.846423 
+-541.000000 -1.849520 
+-542.000000 -1.854288 
+-543.000000 -1.857182 
+-544.000000 -1.860462 
+-545.000000 -1.864680 
+-546.000000 -1.867736 
+-547.000000 -1.872362 
+-548.000000 -1.875173 
+-549.000000 -1.878026 
+-550.000000 -1.882896 
+-551.000000 -1.885239 
+-552.000000 -1.888784 
+-553.000000 -1.892004 
+-554.000000 -1.895019 
+-555.000000 -1.899094 
+-556.000000 -1.903007 
+-557.000000 -1.906063 
+-558.000000 -1.910688 
+-559.000000 -1.913541 
+-560.000000 -1.917494 
+-561.000000 -1.920998 
+-562.000000 -1.923178 
+-563.000000 -1.927131 
+-564.000000 -1.931390 
+-565.000000 -1.933672 
+-566.000000 -1.937116 
+-567.000000 -1.939846 
+-568.000000 -1.942515 
+-569.000000 -1.946386 
+-570.000000 -1.950339 
+-571.000000 -1.954068 
+-572.000000 -1.958306 
+-573.000000 -1.960242 
+-574.000000 -1.964134 
+-575.000000 -1.968270 
+-576.000000 -1.971306 
+-577.000000 -1.974220 
+-578.000000 -1.977928 
+-579.000000 -1.980658 
+-580.000000 -1.983857 
+-581.000000 -1.989155 
+-582.000000 -1.991682 
+-583.000000 -1.994330 
+-584.000000 -1.998956 
+-585.000000 -2.001584 
+-586.000000 -2.004457 
+-587.000000 -2.009307 
+-588.000000 -2.012322 
+-589.000000 -2.014889 
+-590.000000 -2.020187 
+-591.000000 -2.022775 
+-592.000000 -2.026055 
+-593.000000 -2.029825 
+-594.000000 -2.033146 
+-595.000000 -2.037058 
+-596.000000 -2.040970 
+-597.000000 -2.044006 
+-598.000000 -2.048203 
+-599.000000 -2.052340 
+-600.000000 -2.055091 
+-601.000000 -2.058310 
+-602.000000 -2.062243 
+-603.000000 -2.066236 
+-604.000000 -2.070271 
+-605.000000 -2.073694 
+-606.000000 -2.077096 
+-607.000000 -2.080662 
+-608.000000 -2.084309 
+-609.000000 -2.088405 
+-610.000000 -2.091930 
+-611.000000 -2.094497 
+-612.000000 -2.098674 
+-613.000000 -2.103096 
+-614.000000 -2.105439 
+-615.000000 -2.109738 
+-616.000000 -2.113569 
+-617.000000 -2.116218 
+-618.000000 -2.118744 
+-619.000000 -2.123084 
+-620.000000 -2.125815 
+-621.000000 -2.130073 
+-622.000000 -2.133578 
+-623.000000 -2.136654 
+-624.000000 -2.140893 
+-625.000000 -2.143990 
+-626.000000 -2.148798 
+-627.000000 -2.151896 
+-628.000000 -2.155726 
+-629.000000 -2.159088 
+-630.000000 -2.162063 
+-631.000000 -2.164019 
+-632.000000 -2.167605 
+-633.000000 -2.171517 
+-634.000000 -2.176020 
+-635.000000 -2.178262 
+-636.000000 -2.181827 
+-637.000000 -2.185495 
+-638.000000 -2.188123 
+-639.000000 -2.191526 
+-640.000000 -2.195377 
+-641.000000 -2.199045 
+-642.000000 -2.202081 
+-643.000000 -2.205035 
+-644.000000 -2.207664 
+-645.000000 -2.212839 
+-646.000000 -2.215019 
+-647.000000 -2.218524 
+-648.000000 -2.222090 
+-649.000000 -2.225452 
+-650.000000 -2.228793 
+-651.000000 -2.231829 
+-652.000000 -2.236251 
+-653.000000 -2.240020 
+-654.000000 -2.243606 
+-655.000000 -2.247763 
+-656.000000 -2.250717 
+-657.000000 -2.254263 
+-658.000000 -2.257095 
+-659.000000 -2.260376 
+-660.000000 -2.264165 
+-661.000000 -2.267079 
+-662.000000 -2.270421 
+-663.000000 -2.275393 
+-664.000000 -2.279957 
+-665.000000 -2.282300 
+-666.000000 -2.285152 
+-667.000000 -2.288392 
+-668.000000 -2.291856 
+-669.000000 -2.295075 
+-670.000000 -2.299436 
+-671.000000 -2.302431 
+-672.000000 -2.306017 
+-673.000000 -2.312232 
+-674.000000 -2.314167 
+-675.000000 -2.315736 
+-676.000000 -2.320158 
+-677.000000 -2.323948 
+-678.000000 -2.327717 
+-679.000000 -2.331507 
+-680.000000 -2.334828 
+-681.000000 -2.338190 
+-682.000000 -2.341797 
+-683.000000 -2.344160 
+-684.000000 -2.347502 
+-685.000000 -2.352596 
+-686.000000 -2.355163 
+-687.000000 -2.359116 
+-688.000000 -2.361622 
+-689.000000 -2.365270 
+-690.000000 -2.369324 
+-691.000000 -2.373746 
+-692.000000 -2.377638 
+-693.000000 -2.379818 
+-694.000000 -2.383934 
+-695.000000 -2.388355 
+-696.000000 -2.391575 
+-697.000000 -2.396098 
+-698.000000 -2.398380 
+-699.000000 -2.402557 
+-700.000000 -2.406571 
+-701.000000 -2.408874 
+-702.000000 -2.413377 
+-703.000000 -2.415699 
+-704.000000 -2.418165 
+-705.000000 -2.422627 
+-706.000000 -2.427273 
+-707.000000 -2.430003 
+-708.000000 -2.433569 
+-709.000000 -2.437664 
+-710.000000 -2.441597 
+-711.000000 -2.445427 
+-712.000000 -2.448830 
+-713.000000 -2.451010 
+-714.000000 -2.454413 
+-715.000000 -2.459100 
+-716.000000 -2.461341 
+-717.000000 -2.464703 
+-718.000000 -2.468269 
+-719.000000 -2.472120 
+-720.000000 -2.475074 
+-721.000000 -2.479659 
+-722.000000 -2.482796 
+-723.000000 -2.487401 
+-724.000000 -2.491374 
+-725.000000 -2.494574 
+-726.000000 -2.498139 
+-727.000000 -2.500768 
+-728.000000 -2.502968 
+-729.000000 -2.505495 
+-730.000000 -2.507431 
+-731.000000 -2.510691 
+-732.000000 -2.513442 
+-733.000000 -2.515703 
+-734.000000 -2.520043 
+-735.000000 -2.525218 
+-736.000000 -2.527766 
+-737.000000 -2.531596 
+-738.000000 -2.534652 
+-739.000000 -2.538096 
+-740.000000 -2.542110 
+-741.000000 -2.545717 
+-742.000000 -2.549894 
+-743.000000 -2.551788 
+-744.000000 -2.555599 
+-745.000000 -2.558879 
+-746.000000 -2.562832 
+-747.000000 -2.567111 
+-748.000000 -2.571716 
+-749.000000 -2.575180 
+-750.000000 -2.579703 
+-751.000000 -2.584023 
+-752.000000 -2.588302 
+-753.000000 -2.590930 
+-754.000000 -2.594496 
+-755.000000 -2.598143 
+-756.000000 -2.601872 
+-757.000000 -2.604602 
+-758.000000 -2.606803 
+-759.000000 -2.610939 
+-760.000000 -2.614444 
+-761.000000 -2.618824 
+-762.000000 -2.622166 
+-763.000000 -2.624652 
+-764.000000 -2.628849 
+-765.000000 -2.633678 
+-766.000000 -2.636083 
+-767.000000 -2.639384 
+-768.000000 -2.643561 
+-769.000000 -2.645496 
+-770.000000 -2.647493 
+-771.000000 -2.650366 
+-772.000000 -2.653973 
+-773.000000 -2.657029 
+-774.000000 -2.660187 
+-775.000000 -2.665729 
+-776.000000 -2.668745 
+-777.000000 -2.672209 
+-778.000000 -2.674185 
+-779.000000 -2.677486 
+-780.000000 -2.680135 
+-781.000000 -2.684760 
+-782.000000 -2.688652 
+-783.000000 -2.692931 
+-784.000000 -2.696130 
+-785.000000 -2.700225 
+-786.000000 -2.703465 
+-787.000000 -2.706969 
+-788.000000 -2.710739 
+-789.000000 -2.716791 
+-790.000000 -2.723229 
+-789.000000 -2.725797 
+-788.000000 -2.724493 
+-787.000000 -2.717769 
+-786.000000 -2.711656 
+-785.000000 -2.706603 
+-784.000000 -2.702202 
+-783.000000 -2.697352 
+-782.000000 -2.693216 
+-781.000000 -2.690262 
+-780.000000 -2.687001 
+-779.000000 -2.684780 
+-778.000000 -2.680746 
+-777.000000 -2.678383 
+-776.000000 -2.673818 
+-775.000000 -2.671006 
+-774.000000 -2.667869 
+-773.000000 -2.663427 
+-772.000000 -2.658924 
+-771.000000 -2.655440 
+-770.000000 -2.651874 
+-769.000000 -2.645252 
+-768.000000 -2.642399 
+-767.000000 -2.638589 
+-766.000000 -2.634371 
+-765.000000 -2.631030 
+-764.000000 -2.627382 
+-763.000000 -2.625569 
+-762.000000 -2.621147 
+-761.000000 -2.617928 
+-760.000000 -2.614423 
+-759.000000 -2.612447 
+-758.000000 -2.609390 
+-757.000000 -2.604643 
+-756.000000 -2.600914 
+-755.000000 -2.598143 
+-754.000000 -2.594801 
+-753.000000 -2.592153 
+-752.000000 -2.588750 
+-751.000000 -2.586814 
+-750.000000 -2.582454 
+-749.000000 -2.579479 
+-748.000000 -2.577258 
+-747.000000 -2.572938 
+-746.000000 -2.568924 
+-745.000000 -2.565664 
+-744.000000 -2.560591 
+-743.000000 -2.559001 
+-742.000000 -2.555436 
+-741.000000 -2.553113 
+-740.000000 -2.550383 
+-739.000000 -2.547978 
+-738.000000 -2.544147 
+-737.000000 -2.539135 
+-736.000000 -2.535060 
+-735.000000 -2.532452 
+-734.000000 -2.529681 
+-733.000000 -2.525667 
+-732.000000 -2.522875 
+-731.000000 -2.519737 
+-730.000000 -2.516763 
+-729.000000 -2.513482 
+-728.000000 -2.509753 
+-727.000000 -2.508653 
+-726.000000 -2.506106 
+-725.000000 -2.502296 
+-724.000000 -2.498588 
+-723.000000 -2.486892 
+-722.000000 -2.478049 
+-721.000000 -2.475380 
+-720.000000 -2.470938 
+-719.000000 -2.466027 
+-718.000000 -2.461891 
+-717.000000 -2.458305 
+-716.000000 -2.455350 
+-715.000000 -2.452192 
+-714.000000 -2.449340 
+-713.000000 -2.445896 
+-712.000000 -2.441169 
+-711.000000 -2.436299 
+-710.000000 -2.433854 
+-709.000000 -2.430757 
+-708.000000 -2.426234 
+-707.000000 -2.423035 
+-706.000000 -2.418776 
+-705.000000 -2.416555 
+-704.000000 -2.412928 
+-703.000000 -2.409220 
+-702.000000 -2.407121 
+-701.000000 -2.404778 
+-700.000000 -2.402048 
+-699.000000 -2.399684 
+-698.000000 -2.395161 
+-697.000000 -2.390698 
+-696.000000 -2.386481 
+-695.000000 -2.384525 
+-694.000000 -2.381509 
+-693.000000 -2.377006 
+-692.000000 -2.373685 
+-691.000000 -2.371015 
+-690.000000 -2.368448 
+-689.000000 -2.366085 
+-688.000000 -2.362295 
+-687.000000 -2.359177 
+-686.000000 -2.355428 
+-685.000000 -2.352718 
+-684.000000 -2.349784 
+-683.000000 -2.346341 
+-682.000000 -2.342856 
+-681.000000 -2.337600 
+-680.000000 -2.334299 
+-679.000000 -2.331405 
+-678.000000 -2.327371 
+-677.000000 -2.322644 
+-676.000000 -2.318304 
+-675.000000 -2.315410 
+-674.000000 -2.310540 
+-673.000000 -2.307525 
+-672.000000 -2.305345 
+-671.000000 -2.300821 
+-670.000000 -2.297765 
+-669.000000 -2.294688 
+-668.000000 -2.289839 
+-667.000000 -2.286395 
+-666.000000 -2.283298 
+-665.000000 -2.279060 
+-664.000000 -2.274088 
+-663.000000 -2.271338 
+-662.000000 -2.270400 
+-661.000000 -2.265918 
+-660.000000 -2.261822 
+-659.000000 -2.259255 
+-658.000000 -2.255934 
+-657.000000 -2.251594 
+-656.000000 -2.248517 
+-655.000000 -2.245888 
+-654.000000 -2.242323 
+-653.000000 -2.237840 
+-652.000000 -2.234132 
+-651.000000 -2.231075 
+-650.000000 -2.225126 
+-649.000000 -2.220949 
+-648.000000 -2.218748 
+-647.000000 -2.215508 
+-646.000000 -2.211637 
+-645.000000 -2.207745 
+-644.000000 -2.205687 
+-643.000000 -2.202020 
+-642.000000 -2.199106 
+-641.000000 -2.194053 
+-640.000000 -2.190670 
+-639.000000 -2.187573 
+-638.000000 -2.184598 
+-637.000000 -2.179464 
+-636.000000 -2.176835 
+-635.000000 -2.173270 
+-634.000000 -2.168665 
+-633.000000 -2.166036 
+-632.000000 -2.164936 
+-631.000000 -2.161411 
+-630.000000 -2.156826 
+-629.000000 -2.153913 
+-628.000000 -2.150897 
+-627.000000 -2.146639 
+-626.000000 -2.144255 
+-625.000000 -2.142462 
+-624.000000 -2.139385 
+-623.000000 -2.136736 
+-622.000000 -2.132498 
+-621.000000 -2.130664 
+-620.000000 -2.126405 
+-619.000000 -2.122656 
+-618.000000 -2.119519 
+-617.000000 -2.117399 
+-616.000000 -2.113813 
+-615.000000 -2.110798 
+-614.000000 -2.108679 
+-613.000000 -2.104848 
+-612.000000 -2.102342 
+-611.000000 -2.099530 
+-610.000000 -2.095495 
+-609.000000 -2.091767 
+-608.000000 -2.089118 
+-607.000000 -2.086306 
+-606.000000 -2.082068 
+-605.000000 -2.079704 
+-604.000000 -2.077137 
+-603.000000 -2.072797 
+-602.000000 -2.068640 
+-601.000000 -2.065849 
+-600.000000 -2.060979 
+-599.000000 -2.058004 
+-598.000000 -2.055254 
+-597.000000 -2.051810 
+-596.000000 -2.048611 
+-595.000000 -2.044964 
+-594.000000 -2.041052 
+-593.000000 -2.037201 
+-592.000000 -2.035224 
+-591.000000 -2.032188 
+-590.000000 -2.027746 
+-589.000000 -2.024466 
+-588.000000 -2.020370 
+-587.000000 -2.016071 
+-586.000000 -2.012322 
+-585.000000 -2.009653 
+-584.000000 -2.006372 
+-583.000000 -2.003092 
+-582.000000 -1.999526 
+-581.000000 -1.995288 
+-580.000000 -1.992537 
+-579.000000 -1.989236 
+-578.000000 -1.985936 
+-577.000000 -1.982839 
+-576.000000 -1.979354 
+-575.000000 -1.974729 
+-574.000000 -1.971958 
+-573.000000 -1.969472 
+-572.000000 -1.964521 
+-571.000000 -1.961974 
+-570.000000 -1.958877 
+-569.000000 -1.955250 
+-568.000000 -1.952010 
+-567.000000 -1.948913 
+-566.000000 -1.944818 
+-565.000000 -1.942026 
+-564.000000 -1.938012 
+-563.000000 -1.934650 
+-562.000000 -1.932429 
+-561.000000 -1.928334 
+-560.000000 -1.924849 
+-559.000000 -1.921406 
+-558.000000 -1.917127 
+-557.000000 -1.914417 
+-556.000000 -1.911238 
+-555.000000 -1.906878 
+-554.000000 -1.904474 
+-553.000000 -1.900460 
+-552.000000 -1.897363 
+-551.000000 -1.893654 
+-550.000000 -1.890027 
+-549.000000 -1.886278 
+-548.000000 -1.882712 
+-547.000000 -1.879025 
+-546.000000 -1.875846 
+-545.000000 -1.872341 
+-544.000000 -1.868103 
+-543.000000 -1.865393 
+-542.000000 -1.861583 
+-541.000000 -1.857222 
+-540.000000 -1.854614 
+-539.000000 -1.850010 
+-538.000000 -1.847564 
+-537.000000 -1.843224 
+-536.000000 -1.839496 
+-535.000000 -1.837336 
+-534.000000 -1.832914 
+-533.000000 -1.829838 
+-532.000000 -1.826883 
+-531.000000 -1.823073 
+-530.000000 -1.819772 
+-529.000000 -1.815310 
+-528.000000 -1.812803 
+-527.000000 -1.810338 
+-526.000000 -1.804837 
+-525.000000 -1.803410 
+-524.000000 -1.799356 
+-523.000000 -1.795892 
+-522.000000 -1.793324 
+-521.000000 -1.789657 
+-520.000000 -1.787314 
+-519.000000 -1.782423 
+-518.000000 -1.778919 
+-517.000000 -1.776229 
+-516.000000 -1.772032 
+-515.000000 -1.769261 
+-514.000000 -1.764961 
+-513.000000 -1.761681 
+-512.000000 -1.758523 
+-511.000000 -1.754386 
+-510.000000 -1.751901 
+-509.000000 -1.747337 
+-508.000000 -1.744565 
+-507.000000 -1.742385 
+-506.000000 -1.739532 
+-505.000000 -1.737026 
+-504.000000 -1.733257 
+-503.000000 -1.730099 
+-502.000000 -1.725820 
+-501.000000 -1.723232 
+-500.000000 -1.718301 
+-499.000000 -1.715082 
+-498.000000 -1.713228 
+-497.000000 -1.708378 
+-496.000000 -1.705505 
+-495.000000 -1.702021 
+-494.000000 -1.698863 
+-493.000000 -1.695888 
+-492.000000 -1.691507 
+-491.000000 -1.688940 
+-490.000000 -1.684172 
+-489.000000 -1.681788 
+-488.000000 -1.677529 
+-487.000000 -1.674819 
+-486.000000 -1.670663 
+-485.000000 -1.667912 
+-484.000000 -1.664591 
+-483.000000 -1.660781 
+-482.000000 -1.659477 
+-481.000000 -1.654770 
+-480.000000 -1.651754 
+-479.000000 -1.647251 
+-478.000000 -1.644195 
+-477.000000 -1.640038 
+-476.000000 -1.636554 
+-475.000000 -1.633946 
+-474.000000 -1.629443 
+-473.000000 -1.626183 
+-472.000000 -1.622169 
+-471.000000 -1.620314 
+-470.000000 -1.615954 
+-469.000000 -1.613611 
+-468.000000 -1.609678 
+-467.000000 -1.606479 
+-466.000000 -1.602099 
+-465.000000 -1.599307 
+-464.000000 -1.596577 
+-463.000000 -1.592726 
+-462.000000 -1.590444 
+-461.000000 -1.586470 
+-460.000000 -1.584229 
+-459.000000 -1.579441 
+-458.000000 -1.576996 
+-457.000000 -1.572513 
+-456.000000 -1.570944 
+-455.000000 -1.565850 
+-454.000000 -1.562488 
+-453.000000 -1.558719 
+-452.000000 -1.556070 
+-451.000000 -1.551465 
+-450.000000 -1.549896 
+-449.000000 -1.545271 
+-448.000000 -1.543172 
+-447.000000 -1.537976 
+-446.000000 -1.535205 
+-445.000000 -1.530499 
+-444.000000 -1.528868 
+-443.000000 -1.525140 
+-442.000000 -1.522185 
+-441.000000 -1.517825 
+-440.000000 -1.515115 
+-439.000000 -1.511712 
+-438.000000 -1.508595 
+-437.000000 -1.504866 
+-436.000000 -1.501402 
+-435.000000 -1.498468 
+-434.000000 -1.494698 
+-433.000000 -1.491296 
+-432.000000 -1.487954 
+-431.000000 -1.484022 
+-430.000000 -1.481169 
+-429.000000 -1.477318 
+-428.000000 -1.474954 
+-427.000000 -1.470838 
+-426.000000 -1.468801 
+-425.000000 -1.464237 
+-424.000000 -1.461140 
+-423.000000 -1.457146 
+-422.000000 -1.454497 
+-421.000000 -1.449831 
+-420.000000 -1.448385 
+-419.000000 -1.444330 
+-418.000000 -1.442007 
+-417.000000 -1.436546 
+-416.000000 -1.434509 
+-415.000000 -1.429843 
+-414.000000 -1.427724 
+-413.000000 -1.422793 
+-412.000000 -1.420898 
+-411.000000 -1.416476 
+-410.000000 -1.414296 
+-409.000000 -1.409752 
+-408.000000 -1.406675 
+-407.000000 -1.403110 
+-406.000000 -1.399605 
+-405.000000 -1.396121 
+-404.000000 -1.391536 
+-403.000000 -1.389173 
+-402.000000 -1.385077 
+-401.000000 -1.381817 
+-400.000000 -1.376947 
+-399.000000 -1.375806 
+-398.000000 -1.370672 
+-397.000000 -1.368043 
+-396.000000 -1.363703 
+-395.000000 -1.360586 
+-394.000000 -1.357754 
+-393.000000 -1.353841 
+-392.000000 -1.350968 
+-391.000000 -1.346914 
+-390.000000 -1.344509 
+-389.000000 -1.340332 
+-388.000000 -1.337256 
+-387.000000 -1.332406 
+-386.000000 -1.329941 
+-385.000000 -1.326029 
+-384.000000 -1.322585 
+-383.000000 -1.319569 
+-382.000000 -1.315983 
+-381.000000 -1.314170 
+-380.000000 -1.309728 
+-379.000000 -1.306794 
+-378.000000 -1.302943 
+-377.000000 -1.300294 
+-376.000000 -1.296341 
+-375.000000 -1.292348 
+-374.000000 -1.289903 
+-373.000000 -1.285603 
+-372.000000 -1.283362 
+-371.000000 -1.278370 
+-370.000000 -1.276495 
+-369.000000 -1.272848 
+-368.000000 -1.268753 
+-367.000000 -1.265880 
+-366.000000 -1.262029 
+-365.000000 -1.259787 
+-364.000000 -1.254327 
+-363.000000 -1.252534 
+-362.000000 -1.249518 
+-361.000000 -1.245035 
+-360.000000 -1.242631 
+-359.000000 -1.238637 
+-358.000000 -1.235927 
+-357.000000 -1.232015 
+-356.000000 -1.227818 
+-355.000000 -1.225128 
+-354.000000 -1.220116 
+-353.000000 -1.218465 
+-352.000000 -1.214940 
+-351.000000 -1.211884 
+-350.000000 -1.208583 
+-349.000000 -1.203591 
+-348.000000 -1.201696 
+-347.000000 -1.197499 
+-346.000000 -1.194626 
+-345.000000 -1.191733 
+-344.000000 -1.187515 
+-343.000000 -1.185172 
+-342.000000 -1.179935 
+-341.000000 -1.177286 
+-340.000000 -1.174576 
+-339.000000 -1.169849 
+-338.000000 -1.167608 
+-337.000000 -1.164021 
+-336.000000 -1.160497 
+-335.000000 -1.157848 
+-334.000000 -1.153467 
+-333.000000 -1.150981 
+-332.000000 -1.147436 
+-331.000000 -1.143238 
+-330.000000 -1.140956 
+-329.000000 -1.136250 
+-328.000000 -1.133601 
+-327.000000 -1.130116 
+-326.000000 -1.125471 
+-325.000000 -1.122883 
+-324.000000 -1.119704 
+-323.000000 -1.114631 
+-322.000000 -1.112919 
+-321.000000 -1.108702 
+-320.000000 -1.105747 
+-319.000000 -1.102650 
+-318.000000 -1.097454 
+-317.000000 -1.095457 
+-316.000000 -1.092258 
+-315.000000 -1.087755 
+-314.000000 -1.085636 
+-313.000000 -1.081582 
+-312.000000 -1.078057 
+-311.000000 -1.075999 
+-310.000000 -1.071679 
+-309.000000 -1.068337 
+-308.000000 -1.066320 
+-307.000000 -1.060778 
+-306.000000 -1.057803 
+-305.000000 -1.055317 
+-304.000000 -1.051181 
+-303.000000 -1.047982 
+-302.000000 -1.044376 
+-301.000000 -1.039363 
+-300.000000 -1.036918 
+-299.000000 -1.033943 
+-298.000000 -1.030113 
+-297.000000 -1.027810 
+-296.000000 -1.023816 
+-295.000000 -1.019925 
+-294.000000 -1.017643 
+-293.000000 -1.013221 
+-292.000000 -1.008820 
+-291.000000 -1.007394 
+-290.000000 -1.003482 
+-289.000000 -0.998775 
+-288.000000 -0.996534 
+-287.000000 -0.992458 
+-286.000000 -0.988444 
+-285.000000 -0.986631 
+-284.000000 -0.982617 
+-283.000000 -0.978725 
+-282.000000 -0.977156 
+-281.000000 -0.973489 
+-280.000000 -0.969597 
+-279.000000 -0.966296 
+-278.000000 -0.962791 
+-277.000000 -0.957677 
+-276.000000 -0.955232 
+-275.000000 -0.952298 
+-274.000000 -0.946817 
+-273.000000 -0.945187 
+-272.000000 -0.941641 
+-271.000000 -0.936405 
+-270.000000 -0.933838 
+-269.000000 -0.930985 
+-268.000000 -0.927012 
+-267.000000 -0.923772 
+-266.000000 -0.921673 
+-265.000000 -0.917150 
+-264.000000 -0.913462 
+-263.000000 -0.910630 
+-262.000000 -0.907471 
+-261.000000 -0.902541 
+-260.000000 -0.900401 
+-259.000000 -0.897569 
+-258.000000 -0.892740 
+-257.000000 -0.889582 
+-256.000000 -0.888013 
+-255.000000 -0.883041 
+-254.000000 -0.879638 
+-253.000000 -0.877051 
+-252.000000 -0.873464 
+-251.000000 -0.868900 
+-250.000000 -0.866109 
+-249.000000 -0.863440 
+-248.000000 -0.858855 
+-247.000000 -0.854821 
+-246.000000 -0.852844 
+-245.000000 -0.849054 
+-244.000000 -0.844185 
+-243.000000 -0.841271 
+-242.000000 -0.838846 
+-241.000000 -0.834669 
+-240.000000 -0.830431 
+-239.000000 -0.828393 
+-238.000000 -0.825031 
+-237.000000 -0.819734 
+-236.000000 -0.817757 
+-235.000000 -0.814884 
+-234.000000 -0.811115 
+-233.000000 -0.806204 
+-232.000000 -0.803943 
+-231.000000 -0.800947 
+-230.000000 -0.796281 
+-229.000000 -0.792593 
+-228.000000 -0.789924 
+-227.000000 -0.787520 
+-226.000000 -0.782243 
+-225.000000 -0.779105 
+-224.000000 -0.776986 
+-223.000000 -0.773461 
+-222.000000 -0.768917 
+-221.000000 -0.764842 
+-220.000000 -0.763558 
+-219.000000 -0.760033 
+-218.000000 -0.755387 
+-217.000000 -0.752331 
+-216.000000 -0.750008 
+-215.000000 -0.745709 
+-214.000000 -0.740839 
+-213.000000 -0.738170 
+-212.000000 -0.735786 
+-211.000000 -0.732424 
+-210.000000 -0.727860 
+-209.000000 -0.724681 
+-208.000000 -0.721829 
+-207.000000 -0.718487 
+-206.000000 -0.713434 
+-205.000000 -0.710011 
+-204.000000 -0.707851 
+-203.000000 -0.704346 
+-202.000000 -0.699130 
+-201.000000 -0.694362 
+-200.000000 -0.692956 
+-199.000000 -0.690267 
+-198.000000 -0.686253 
+-197.000000 -0.681281 
+-196.000000 -0.677960 
+-195.000000 -0.675759 
+-194.000000 -0.672336 
+-193.000000 -0.666916 
+-192.000000 -0.663758 
+-191.000000 -0.661496 
+-190.000000 -0.658094 
+-189.000000 -0.653978 
+-188.000000 -0.649108 
+-187.000000 -0.647050 
+-186.000000 -0.644238 
+-185.000000 -0.641304 
+-184.000000 -0.636251 
+-183.000000 -0.632746 
+-182.000000 -0.630057 
+-181.000000 -0.627612 
+-180.000000 -0.624229 
+-179.000000 -0.620032 
+-178.000000 -0.615712 
+-177.000000 -0.612839 
+-176.000000 -0.610068 
+-175.000000 -0.606665 
+-174.000000 -0.602570 
+-173.000000 -0.598230 
+-172.000000 -0.596111 
+-171.000000 -0.593625 
+-170.000000 -0.589550 
+-169.000000 -0.585026 
+-168.000000 -0.580544 
+-167.000000 -0.578364 
+-166.000000 -0.575857 
+-165.000000 -0.571660 
+-164.000000 -0.567401 
+-163.000000 -0.564080 
+-162.000000 -0.561635 
+-161.000000 -0.558986 
+-160.000000 -0.555176 
+-159.000000 -0.550734 
+-158.000000 -0.546578 
+-157.000000 -0.543603 
+-156.000000 -0.540404 
+-155.000000 -0.537266 
+-154.000000 -0.533578 
+-153.000000 -0.528871 
+-152.000000 -0.525366 
+-151.000000 -0.522249 
+-150.000000 -0.519519 
+-149.000000 -0.516136 
+-148.000000 -0.512469 
+-147.000000 -0.507354 
+-146.000000 -0.504869 
+-145.000000 -0.502057 
+-144.000000 -0.499082 
+-143.000000 -0.495679 
+-142.000000 -0.492073 
+-141.000000 -0.486714 
+-140.000000 -0.482965 
+-139.000000 -0.481131 
+-138.000000 -0.477810 
+-137.000000 -0.474549 
+-136.000000 -0.471045 
+-135.000000 -0.466888 
+-134.000000 -0.462772 
+-133.000000 -0.459431 
+-132.000000 -0.456823 
+-131.000000 -0.453726 
+-130.000000 -0.450099 
+-129.000000 -0.445555 
+-128.000000 -0.441663 
+-127.000000 -0.437792 
+-126.000000 -0.435775 
+-125.000000 -0.432087 
+-124.000000 -0.429234 
+-123.000000 -0.425668 
+-122.000000 -0.421226 
+-121.000000 -0.417029 
+-120.000000 -0.412893 
+-119.000000 -0.410712 
+-118.000000 -0.407778 
+-117.000000 -0.405211 
+-116.000000 -0.401380 
+-115.000000 -0.397631 
+-114.000000 -0.393617 
+-113.000000 -0.389705 
+-112.000000 -0.386588 
+-111.000000 -0.382614 
+-110.000000 -0.380292 
+-109.000000 -0.377337 
+-108.000000 -0.373181 
+-107.000000 -0.369085 
+-106.000000 -0.362830 
+-105.000000 -0.361118 
+-104.000000 -0.358571 
+-103.000000 -0.354577 
+-102.000000 -0.352397 
+-101.000000 -0.348628 
+-100.000000 -0.344756 
+-99.000000 -0.341456 
+-98.000000 -0.335995 
+-97.000000 -0.331838 
+-96.000000 -0.329699 
+-95.000000 -0.326459 
+-94.000000 -0.322975 
+-93.000000 -0.320591 
+-92.000000 -0.317168 
+-91.000000 -0.313826 
+-90.000000 -0.310464 
+-89.000000 -0.306409 
+-88.000000 -0.301397 
+-87.000000 -0.298789 
+-86.000000 -0.295182 
+-85.000000 -0.290761 
+-84.000000 -0.288581 
+-83.000000 -0.285626 
+-82.000000 -0.281205 
+-81.000000 -0.278087 
+-80.000000 -0.274257 
+-79.000000 -0.270018 
+-78.000000 -0.264497 
+-77.000000 -0.260829 
+-76.000000 -0.257875 
+-75.000000 -0.253698 
+-74.000000 -0.250336 
+-73.000000 -0.248644 
+-72.000000 -0.245751 
+-71.000000 -0.241676 
+-70.000000 -0.238090 
+-69.000000 -0.235033 
+-68.000000 -0.231223 
+-67.000000 -0.226415 
+-66.000000 -0.221443 
+-65.000000 -0.217775 
+-64.000000 -0.212783 
+-63.000000 -0.210746 
+-62.000000 -0.203716 
+-61.000000 -0.203268 
+-60.000000 -0.200395 
+-59.000000 -0.197522 
+-58.000000 -0.193345 
+-57.000000 -0.189209 
+-56.000000 -0.186784 
+-55.000000 -0.183259 
+-54.000000 -0.179510 
+-53.000000 -0.175007 
+-52.000000 -0.169016 
+-51.000000 -0.163474 
+-50.000000 -0.159827 
+-49.000000 -0.155120 
+-48.000000 -0.152349 
+-47.000000 -0.147927 
+-46.000000 -0.142996 
+-45.000000 -0.137719 
+-44.000000 -0.134316 
+-43.000000 -0.132116 
+-42.000000 -0.128306 
+-41.000000 -0.123986 
+-40.000000 -0.120706 
+-39.000000 -0.116101 
+-38.000000 -0.110192 
+-37.000000 -0.105444 
+-36.000000 -0.101980 
+-35.000000 -0.098741 
+-34.000000 -0.095012 
+-33.000000 -0.091405 
+-32.000000 -0.087188 
+-31.000000 -0.082318 
+-30.000000 -0.077224 
+-29.000000 -0.073026 
+-28.000000 -0.066445 
+-27.000000 -0.062248 
+-26.000000 -0.056828 
+-25.000000 -0.052019 
+-24.000000 -0.049044 
+-23.000000 -0.044541 
+-22.000000 -0.040996 
+-21.000000 -0.038041 
+-20.000000 -0.031990 
+-19.000000 -0.030401 
+-18.000000 -0.026488 
+-17.000000 -0.021231 
+-16.000000 -0.018440 
+-15.000000 -0.012898 
+-14.000000 -0.009169 
+-13.000000 -0.004340 
+-12.000000 -0.000020 
+-11.000000 0.000000 
+-10.000000 0.000000 
+-9.000000 0.000000 
+-8.000000 0.000000 
+-7.000000 0.000000 
+-6.000000 0.000000 
+-5.000000 0.000000 
+-4.000000 0.000000 
+-3.000000 0.000000 
+-2.000000 0.000000 
+-1.000000 0.000000 
+0.000000 0.000000 
+1.000000 0.000000 
+2.000000 0.000000 
+3.000000 0.000000 
+4.000000 0.000000 
+5.000000 0.000000 
+6.000000 0.000000 
+7.000000 0.000000 
+8.000000 0.000000 
+9.000000 0.000000 
+10.000000 0.000000 
+11.000000 0.000000 
+12.000000 0.001732 
diff --git a/pid_tuning/data/right-motor-2019-12-18-11-24-51.csv b/pid_tuning/data/right-motor-2019-12-18-11-24-51.csv
new file mode 100644 (file)
index 0000000..19a04e8
--- /dev/null
@@ -0,0 +1,3166 @@
+DutyCycle, Velocity 
+0.000000 0.000000 
+0.000000 0.000000 
+1.000000 0.000000 
+2.000000 0.000000 
+3.000000 0.000000 
+4.000000 0.000000 
+5.000000 0.000000 
+6.000000 0.000000 
+7.000000 0.000000 
+8.000000 0.000000 
+9.000000 0.000000 
+10.000000 0.000000 
+11.000000 0.000000 
+12.000000 0.003342 
+13.000000 0.004972 
+14.000000 0.006520 
+15.000000 0.011125 
+16.000000 0.014141 
+17.000000 0.015954 
+18.000000 0.019785 
+19.000000 0.022209 
+20.000000 0.026753 
+21.000000 0.033742 
+22.000000 0.037695 
+23.000000 0.041281 
+24.000000 0.045112 
+25.000000 0.049513 
+26.000000 0.053058 
+27.000000 0.057785 
+28.000000 0.060883 
+29.000000 0.063755 
+30.000000 0.065630 
+31.000000 0.069175 
+32.000000 0.077326 
+33.000000 0.080341 
+34.000000 0.084437 
+35.000000 0.088145 
+36.000000 0.092526 
+37.000000 0.096092 
+38.000000 0.095969 
+39.000000 0.090305 
+40.000000 0.086760 
+41.000000 0.103549 
+42.000000 0.115978 
+43.000000 0.120522 
+44.000000 0.125698 
+45.000000 0.129039 
+46.000000 0.131973 
+47.000000 0.133501 
+48.000000 0.135417 
+49.000000 0.139105 
+50.000000 0.141448 
+51.000000 0.152410 
+52.000000 0.155609 
+53.000000 0.160153 
+54.000000 0.163902 
+55.000000 0.167264 
+56.000000 0.171685 
+57.000000 0.175435 
+58.000000 0.180223 
+59.000000 0.185011 
+60.000000 0.188883 
+61.000000 0.192958 
+62.000000 0.196890 
+63.000000 0.198194 
+64.000000 0.182322 
+65.000000 0.201801 
+66.000000 0.210155 
+67.000000 0.212742 
+68.000000 0.213333 
+69.000000 0.213496 
+70.000000 0.216756 
+71.000000 0.226516 
+72.000000 0.230103 
+73.000000 0.235176 
+74.000000 0.239190 
+75.000000 0.243000 
+76.000000 0.246831 
+77.000000 0.250091 
+78.000000 0.253575 
+79.000000 0.256020 
+80.000000 0.241024 
+81.000000 0.253066 
+82.000000 0.266269 
+83.000000 0.267247 
+84.000000 0.270283 
+85.000000 0.274216 
+86.000000 0.280186 
+87.000000 0.284424 
+88.000000 0.288988 
+89.000000 0.292248 
+90.000000 0.294897 
+91.000000 0.297831 
+92.000000 0.301295 
+93.000000 0.296303 
+94.000000 0.293043 
+95.000000 0.311564 
+96.000000 0.314784 
+97.000000 0.317779 
+98.000000 0.321060 
+99.000000 0.324768 
+100.000000 0.328843 
+101.000000 0.332674 
+102.000000 0.334772 
+103.000000 0.338277 
+104.000000 0.343004 
+105.000000 0.339275 
+106.000000 0.348974 
+107.000000 0.352927 
+108.000000 0.355168 
+109.000000 0.358755 
+110.000000 0.362748 
+111.000000 0.367862 
+112.000000 0.371897 
+113.000000 0.374953 
+114.000000 0.379497 
+115.000000 0.378010 
+116.000000 0.381066 
+117.000000 0.387362 
+118.000000 0.389196 
+119.000000 0.393047 
+120.000000 0.398446 
+121.000000 0.402786 
+122.000000 0.407228 
+123.000000 0.409877 
+124.000000 0.412363 
+125.000000 0.404518 
+126.000000 0.416336 
+127.000000 0.421104 
+128.000000 0.424731 
+129.000000 0.430131 
+130.000000 0.434104 
+131.000000 0.437018 
+132.000000 0.439503 
+133.000000 0.438648 
+134.000000 0.438464 
+135.000000 0.449773 
+136.000000 0.453542 
+137.000000 0.456925 
+138.000000 0.461265 
+139.000000 0.463832 
+140.000000 0.466990 
+141.000000 0.470535 
+142.000000 0.469863 
+143.000000 0.477321 
+144.000000 0.479134 
+145.000000 0.484248 
+146.000000 0.487610 
+147.000000 0.490646 
+148.000000 0.495740 
+149.000000 0.496637 
+150.000000 0.498552 
+151.000000 0.502709 
+152.000000 0.505622 
+153.000000 0.511959 
+154.000000 0.516523 
+155.000000 0.520395 
+156.000000 0.523492 
+157.000000 0.516462 
+158.000000 0.527811 
+159.000000 0.530786 
+160.000000 0.536858 
+161.000000 0.540628 
+162.000000 0.543093 
+163.000000 0.546761 
+164.000000 0.540913 
+165.000000 0.553750 
+166.000000 0.556623 
+167.000000 0.561085 
+168.000000 0.564223 
+169.000000 0.566403 
+170.000000 0.569724 
+171.000000 0.572679 
+172.000000 0.576876 
+173.000000 0.580034 
+174.000000 0.585495 
+175.000000 0.589998 
+176.000000 0.593951 
+177.000000 0.592321 
+178.000000 0.599534 
+179.000000 0.599473 
+180.000000 0.606665 
+181.000000 0.610761 
+182.000000 0.613695 
+183.000000 0.608397 
+184.000000 0.618035 
+185.000000 0.621254 
+186.000000 0.627897 
+187.000000 0.631218 
+188.000000 0.633419 
+189.000000 0.630097 
+190.000000 0.641630 
+191.000000 0.644503 
+192.000000 0.649088 
+193.000000 0.652877 
+194.000000 0.655873 
+195.000000 0.656525 
+196.000000 0.662128 
+197.000000 0.664145 
+198.000000 0.669606 
+199.000000 0.673599 
+200.000000 0.674537 
+201.000000 0.676758 
+202.000000 0.679162 
+203.000000 0.684643 
+204.000000 0.689391 
+205.000000 0.692773 
+206.000000 0.687007 
+207.000000 0.696237 
+208.000000 0.701127 
+209.000000 0.705813 
+210.000000 0.708197 
+211.000000 0.704041 
+212.000000 0.713862 
+213.000000 0.717489 
+214.000000 0.721421 
+215.000000 0.724050 
+216.000000 0.725965 
+217.000000 0.728451 
+218.000000 0.732465 
+219.000000 0.737253 
+220.000000 0.741532 
+221.000000 0.744609 
+222.000000 0.743549 
+223.000000 0.748480 
+224.000000 0.754960 
+225.000000 0.759850 
+226.000000 0.759768 
+227.000000 0.759198 
+228.000000 0.767715 
+229.000000 0.773155 
+230.000000 0.776456 
+231.000000 0.772951 
+232.000000 0.781611 
+233.000000 0.785605 
+234.000000 0.789252 
+235.000000 0.792023 
+236.000000 0.793653 
+237.000000 0.800357 
+238.000000 0.802720 
+239.000000 0.807508 
+240.000000 0.811930 
+241.000000 0.811257 
+242.000000 0.814253 
+243.000000 0.821771 
+244.000000 0.826091 
+245.000000 0.824339 
+246.000000 0.830533 
+247.000000 0.834364 
+248.000000 0.840171 
+249.000000 0.841638 
+250.000000 0.839946 
+251.000000 0.848688 
+252.000000 0.853476 
+253.000000 0.856267 
+254.000000 0.857796 
+255.000000 0.862991 
+256.000000 0.865538 
+257.000000 0.870632 
+258.000000 0.873913 
+259.000000 0.874707 
+260.000000 0.877315 
+261.000000 0.884223 
+262.000000 0.887972 
+263.000000 0.884182 
+264.000000 0.890886 
+265.000000 0.897059 
+266.000000 0.899016 
+267.000000 0.896082 
+268.000000 0.906453 
+269.000000 0.909611 
+270.000000 0.913462 
+271.000000 0.914297 
+272.000000 0.919412 
+273.000000 0.922386 
+274.000000 0.926889 
+275.000000 0.928479 
+276.000000 0.932472 
+277.000000 0.936975 
+278.000000 0.942762 
+279.000000 0.940134 
+280.000000 0.946837 
+281.000000 0.952400 
+282.000000 0.955599 
+283.000000 0.952991 
+284.000000 0.961324 
+285.000000 0.965461 
+286.000000 0.968660 
+287.000000 0.970371 
+288.000000 0.973468 
+289.000000 0.974691 
+290.000000 0.978053 
+291.000000 0.978094 
+292.000000 0.981048 
+293.000000 0.989280 
+294.000000 0.992601 
+295.000000 0.990563 
+296.000000 0.999121 
+297.000000 1.004317 
+298.000000 1.001322 
+299.000000 1.009676 
+300.000000 1.012997 
+301.000000 1.015279 
+302.000000 1.016318 
+303.000000 1.021147 
+304.000000 1.025406 
+305.000000 1.029664 
+306.000000 1.030153 
+307.000000 1.033801 
+308.000000 1.040932 
+309.000000 1.039078 
+310.000000 1.045598 
+311.000000 1.051344 
+312.000000 1.054197 
+313.000000 1.052159 
+314.000000 1.061634 
+315.000000 1.064955 
+316.000000 1.065811 
+317.000000 1.070497 
+318.000000 1.074674 
+319.000000 1.079483 
+320.000000 1.079809 
+321.000000 1.082845 
+322.000000 1.089039 
+323.000000 1.088591 
+324.000000 1.092870 
+325.000000 1.098718 
+326.000000 1.102406 
+327.000000 1.100470 
+328.000000 1.109252 
+329.000000 1.112532 
+330.000000 1.113938 
+331.000000 1.118971 
+332.000000 1.123331 
+333.000000 1.126734 
+334.000000 1.127631 
+335.000000 1.133601 
+336.000000 1.139611 
+337.000000 1.137452 
+338.000000 1.143952 
+339.000000 1.148067 
+340.000000 1.145684 
+341.000000 1.155321 
+342.000000 1.158867 
+343.000000 1.159824 
+344.000000 1.165570 
+345.000000 1.168810 
+346.000000 1.171010 
+347.000000 1.171642 
+348.000000 1.176960 
+349.000000 1.182462 
+350.000000 1.180607 
+351.000000 1.190062 
+352.000000 1.192975 
+353.000000 1.192548 
+354.000000 1.200779 
+355.000000 1.203550 
+356.000000 1.205669 
+357.000000 1.209846 
+358.000000 1.214961 
+359.000000 1.216326 
+360.000000 1.219179 
+361.000000 1.225780 
+362.000000 1.224191 
+363.000000 1.230100 
+364.000000 1.236233 
+365.000000 1.234358 
+366.000000 1.241042 
+367.000000 1.244668 
+368.000000 1.247012 
+369.000000 1.250965 
+370.000000 1.256181 
+371.000000 1.257587 
+372.000000 1.260073 
+373.000000 1.267774 
+374.000000 1.266246 
+375.000000 1.271564 
+376.000000 1.277188 
+377.000000 1.275803 
+378.000000 1.283749 
+379.000000 1.286704 
+380.000000 1.288497 
+381.000000 1.293305 
+382.000000 1.298134 
+383.000000 1.298501 
+384.000000 1.302923 
+385.000000 1.309850 
+386.000000 1.305979 
+387.000000 1.315433 
+388.000000 1.317124 
+389.000000 1.318306 
+390.000000 1.324826 
+391.000000 1.326477 
+392.000000 1.332101 
+393.000000 1.335748 
+394.000000 1.337561 
+395.000000 1.340760 
+396.000000 1.346995 
+397.000000 1.344958 
+398.000000 1.352354 
+399.000000 1.356490 
+400.000000 1.355675 
+401.000000 1.362888 
+402.000000 1.366271 
+403.000000 1.369347 
+404.000000 1.374584 
+405.000000 1.376316 
+406.000000 1.379535 
+407.000000 1.386198 
+408.000000 1.384955 
+409.000000 1.391414 
+410.000000 1.395774 
+411.000000 1.395021 
+412.000000 1.403293 
+413.000000 1.404903 
+414.000000 1.408917 
+415.000000 1.414153 
+416.000000 1.415804 
+417.000000 1.419125 
+418.000000 1.424973 
+419.000000 1.422772 
+420.000000 1.432247 
+421.000000 1.430046 
+422.000000 1.438217 
+423.000000 1.441762 
+424.000000 1.442231 
+425.000000 1.446979 
+426.000000 1.449546 
+427.000000 1.452195 
+428.000000 1.458287 
+429.000000 1.456392 
+430.000000 1.463850 
+431.000000 1.465867 
+432.000000 1.468393 
+433.000000 1.474975 
+434.000000 1.477359 
+435.000000 1.481230 
+436.000000 1.486365 
+437.000000 1.485570 
+438.000000 1.493537 
+439.000000 1.492783 
+440.000000 1.498774 
+441.000000 1.503603 
+442.000000 1.503073 
+443.000000 1.510469 
+444.000000 1.512690 
+445.000000 1.516704 
+446.000000 1.521391 
+447.000000 1.519292 
+448.000000 1.528828 
+449.000000 1.528298 
+450.000000 1.535144 
+451.000000 1.536632 
+452.000000 1.541868 
+453.000000 1.546493 
+454.000000 1.548083 
+455.000000 1.552280 
+456.000000 1.555174 
+457.000000 1.559636 
+458.000000 1.564057 
+459.000000 1.560919 
+460.000000 1.569314 
+461.000000 1.567868 
+462.000000 1.576018 
+463.000000 1.578442 
+464.000000 1.582518 
+465.000000 1.586817 
+466.000000 1.588528 
+467.000000 1.593521 
+468.000000 1.594437 
+469.000000 1.599042 
+470.000000 1.601385 
+471.000000 1.603566 
+472.000000 1.609312 
+473.000000 1.611675 
+474.000000 1.617380 
+475.000000 1.620152 
+476.000000 1.622372 
+477.000000 1.627140 
+478.000000 1.628383 
+479.000000 1.634924 
+480.000000 1.634007 
+481.000000 1.641750 
+482.000000 1.643196 
+483.000000 1.648596 
+484.000000 1.650980 
+485.000000 1.654423 
+486.000000 1.660128 
+487.000000 1.659273 
+488.000000 1.667871 
+489.000000 1.666567 
+490.000000 1.673943 
+491.000000 1.676694 
+492.000000 1.680260 
+493.000000 1.684274 
+494.000000 1.686332 
+495.000000 1.691690 
+496.000000 1.691833 
+497.000000 1.699922 
+498.000000 1.698964 
+499.000000 1.705709 
+500.000000 1.707461 
+501.000000 1.712616 
+502.000000 1.714572 
+503.000000 1.718647 
+504.000000 1.720094 
+505.000000 1.725310 
+506.000000 1.725962 
+507.000000 1.732421 
+508.000000 1.737169 
+509.000000 1.738636 
+510.000000 1.744565 
+511.000000 1.745238 
+512.000000 1.752390 
+513.000000 1.751758 
+514.000000 1.758828 
+515.000000 1.759786 
+516.000000 1.766490 
+517.000000 1.768323 
+518.000000 1.772256 
+519.000000 1.775536 
+520.000000 1.779347 
+521.000000 1.783157 
+522.000000 1.786763 
+523.000000 1.788882 
+524.000000 1.793773 
+525.000000 1.797950 
+526.000000 1.799213 
+527.000000 1.805489 
+528.000000 1.804918 
+529.000000 1.813231 
+530.000000 1.811377 
+531.000000 1.819344 
+532.000000 1.819018 
+533.000000 1.826027 
+534.000000 1.826924 
+535.000000 1.832812 
+536.000000 1.831916 
+537.000000 1.838069 
+538.000000 1.836765 
+539.000000 1.843774 
+540.000000 1.844162 
+541.000000 1.850437 
+542.000000 1.854696 
+543.000000 1.858078 
+544.000000 1.860971 
+545.000000 1.865760 
+546.000000 1.866066 
+547.000000 1.872749 
+548.000000 1.873095 
+549.000000 1.879391 
+550.000000 1.880960 
+551.000000 1.885687 
+552.000000 1.885830 
+553.000000 1.889864 
+554.000000 1.888703 
+555.000000 1.896038 
+556.000000 1.896873 
+557.000000 1.902293 
+558.000000 1.903149 
+559.000000 1.907387 
+560.000000 1.909038 
+561.000000 1.914702 
+562.000000 1.915273 
+563.000000 1.923423 
+564.000000 1.923158 
+565.000000 1.931064 
+566.000000 1.933081 
+567.000000 1.939275 
+568.000000 1.939357 
+569.000000 1.946936 
+570.000000 1.943778 
+571.000000 1.949321 
+572.000000 1.954252 
+573.000000 1.955882 
+574.000000 1.961322 
+575.000000 1.963930 
+576.000000 1.967985 
+577.000000 1.970674 
+578.000000 1.976298 
+579.000000 1.976889 
+580.000000 1.984061 
+581.000000 1.987321 
+582.000000 1.990704 
+583.000000 1.994188 
+584.000000 2.002379 
+585.000000 2.000952 
+586.000000 2.008940 
+587.000000 2.009205 
+588.000000 2.016275 
+589.000000 2.020574 
+590.000000 2.023040 
+591.000000 2.025851 
+592.000000 2.029682 
+593.000000 2.035021 
+594.000000 2.036080 
+595.000000 2.043782 
+596.000000 2.045616 
+597.000000 2.050812 
+598.000000 2.051056 
+599.000000 2.056476 
+600.000000 2.057434 
+601.000000 2.057495 
+602.000000 2.062507 
+603.000000 2.065156 
+604.000000 2.068946 
+605.000000 2.071106 
+606.000000 2.077463 
+607.000000 2.076750 
+608.000000 2.083637 
+609.000000 2.085389 
+610.000000 2.089281 
+611.000000 2.095659 
+612.000000 2.099591 
+613.000000 2.102647 
+614.000000 2.103992 
+615.000000 2.112509 
+616.000000 2.112713 
+617.000000 2.118479 
+618.000000 2.122942 
+619.000000 2.125692 
+620.000000 2.128749 
+621.000000 2.129930 
+622.000000 2.136614 
+623.000000 2.139344 
+624.000000 2.144825 
+625.000000 2.149308 
+626.000000 2.153138 
+627.000000 2.154504 
+628.000000 2.156195 
+629.000000 2.162552 
+630.000000 2.163347 
+631.000000 2.170356 
+632.000000 2.174716 
+633.000000 2.177039 
+634.000000 2.181726 
+635.000000 2.182357 
+636.000000 2.189774 
+637.000000 2.190365 
+638.000000 2.193910 
+639.000000 2.197659 
+640.000000 2.200247 
+641.000000 2.203120 
+642.000000 2.203914 
+643.000000 2.208845 
+644.000000 2.216772 
+645.000000 2.219278 
+646.000000 2.223536 
+647.000000 2.226837 
+648.000000 2.232807 
+649.000000 2.237860 
+650.000000 2.239755 
+651.000000 2.244197 
+652.000000 2.244707 
+653.000000 2.248109 
+654.000000 2.252327 
+655.000000 2.253407 
+656.000000 2.259744 
+657.000000 2.259785 
+658.000000 2.265245 
+659.000000 2.269402 
+660.000000 2.271929 
+661.000000 2.276696 
+662.000000 2.276533 
+663.000000 2.282055 
+664.000000 2.286008 
+665.000000 2.286721 
+666.000000 2.293017 
+667.000000 2.292916 
+668.000000 2.296400 
+669.000000 2.302512 
+670.000000 2.304265 
+671.000000 2.308177 
+672.000000 2.308279 
+673.000000 2.311009 
+674.000000 2.316551 
+675.000000 2.316225 
+676.000000 2.318630 
+677.000000 2.324050 
+678.000000 2.327085 
+679.000000 2.332730 
+680.000000 2.333647 
+681.000000 2.335867 
+682.000000 2.341002 
+683.000000 2.340513 
+684.000000 2.348052 
+685.000000 2.351312 
+686.000000 2.354613 
+687.000000 2.362519 
+688.000000 2.361194 
+689.000000 2.362988 
+690.000000 2.369874 
+691.000000 2.371260 
+692.000000 2.375376 
+693.000000 2.381550 
+694.000000 2.383608 
+695.000000 2.386949 
+696.000000 2.394081 
+697.000000 2.397789 
+698.000000 2.402863 
+699.000000 2.404167 
+700.000000 2.404207 
+701.000000 2.412582 
+702.000000 2.417839 
+703.000000 2.422912 
+704.000000 2.426172 
+705.000000 2.427008 
+706.000000 2.431205 
+707.000000 2.436931 
+708.000000 2.437909 
+709.000000 2.442554 
+710.000000 2.447017 
+711.000000 2.445631 
+712.000000 2.450725 
+713.000000 2.454902 
+714.000000 2.454393 
+715.000000 2.459711 
+716.000000 2.464173 
+717.000000 2.464764 
+718.000000 2.465029 
+719.000000 2.466170 
+720.000000 2.470449 
+721.000000 2.476337 
+722.000000 2.479618 
+723.000000 2.484528 
+724.000000 2.488583 
+725.000000 2.493799 
+726.000000 2.500197 
+727.000000 2.504741 
+728.000000 2.504354 
+729.000000 2.509937 
+730.000000 2.514420 
+731.000000 2.514766 
+732.000000 2.520736 
+733.000000 2.524505 
+734.000000 2.527358 
+735.000000 2.529966 
+736.000000 2.533165 
+737.000000 2.535936 
+738.000000 2.536608 
+739.000000 2.542884 
+740.000000 2.547041 
+741.000000 2.552665 
+742.000000 2.555945 
+743.000000 2.561345 
+744.000000 2.562119 
+745.000000 2.568945 
+746.000000 2.573631 
+747.000000 2.573733 
+748.000000 2.580213 
+749.000000 2.584410 
+750.000000 2.582046 
+751.000000 2.584879 
+752.000000 2.593823 
+753.000000 2.594109 
+754.000000 2.593987 
+755.000000 2.598326 
+756.000000 2.605071 
+757.000000 2.608127 
+758.000000 2.612793 
+759.000000 2.616196 
+760.000000 2.617500 
+761.000000 2.623225 
+762.000000 2.627423 
+763.000000 2.630948 
+764.000000 2.635186 
+765.000000 2.636123 
+766.000000 2.642481 
+767.000000 2.643072 
+768.000000 2.646332 
+769.000000 2.650692 
+770.000000 2.652077 
+771.000000 2.656907 
+772.000000 2.661776 
+773.000000 2.666341 
+774.000000 2.670640 
+775.000000 2.676508 
+776.000000 2.677567 
+777.000000 2.677649 
+778.000000 2.684801 
+779.000000 2.690771 
+780.000000 2.692890 
+781.000000 2.687877 
+782.000000 2.690221 
+783.000000 2.697617 
+784.000000 2.696659 
+785.000000 2.699044 
+786.000000 2.705482 
+787.000000 2.710331 
+788.000000 2.709944 
+789.000000 2.717748 
+790.000000 2.725899 
+789.000000 2.725715 
+788.000000 2.725797 
+787.000000 2.716017 
+786.000000 2.714529 
+785.000000 2.709639 
+784.000000 2.707825 
+783.000000 2.704463 
+782.000000 2.704606 
+781.000000 2.697088 
+780.000000 2.694153 
+779.000000 2.692605 
+778.000000 2.686309 
+777.000000 2.684047 
+776.000000 2.684149 
+775.000000 2.679646 
+774.000000 2.673207 
+773.000000 2.671923 
+772.000000 2.668826 
+771.000000 2.663386 
+770.000000 2.659657 
+769.000000 2.657335 
+768.000000 2.656968 
+767.000000 2.650488 
+766.000000 2.648145 
+765.000000 2.644865 
+764.000000 2.637550 
+763.000000 2.636123 
+762.000000 2.634310 
+761.000000 2.629623 
+760.000000 2.626037 
+759.000000 2.624958 
+758.000000 2.619986 
+757.000000 2.614464 
+756.000000 2.615136 
+755.000000 2.613282 
+754.000000 2.609044 
+753.000000 2.605152 
+752.000000 2.602096 
+751.000000 2.597858 
+750.000000 2.591012 
+749.000000 2.588342 
+748.000000 2.587711 
+747.000000 2.583004 
+746.000000 2.579459 
+745.000000 2.576973 
+744.000000 2.572531 
+743.000000 2.571471 
+742.000000 2.567498 
+741.000000 2.559817 
+740.000000 2.557698 
+739.000000 2.557208 
+738.000000 2.551972 
+737.000000 2.549751 
+736.000000 2.548753 
+735.000000 2.539339 
+734.000000 2.532778 
+733.000000 2.529314 
+732.000000 2.528744 
+731.000000 2.530088 
+730.000000 2.528988 
+729.000000 2.522183 
+728.000000 2.522040 
+727.000000 2.521531 
+726.000000 2.519146 
+725.000000 2.512708 
+724.000000 2.505475 
+723.000000 2.505291 
+722.000000 2.499810 
+721.000000 2.494981 
+720.000000 2.492292 
+719.000000 2.487544 
+718.000000 2.484854 
+717.000000 2.481146 
+716.000000 2.472018 
+715.000000 2.472201 
+714.000000 2.467535 
+713.000000 2.461972 
+712.000000 2.461769 
+711.000000 2.457103 
+710.000000 2.451581 
+709.000000 2.454006 
+708.000000 2.447343 
+707.000000 2.443716 
+706.000000 2.443492 
+705.000000 2.435932 
+704.000000 2.430431 
+703.000000 2.431328 
+702.000000 2.426458 
+701.000000 2.422484 
+700.000000 2.418613 
+699.000000 2.410605 
+698.000000 2.406999 
+697.000000 2.407264 
+696.000000 2.406551 
+695.000000 2.404615 
+694.000000 2.402109 
+693.000000 2.398319 
+692.000000 2.396526 
+691.000000 2.392430 
+690.000000 2.391228 
+689.000000 2.389578 
+688.000000 2.381448 
+687.000000 2.381713 
+686.000000 2.375641 
+685.000000 2.368346 
+684.000000 2.367450 
+683.000000 2.365066 
+682.000000 2.359646 
+681.000000 2.357893 
+680.000000 2.350864 
+679.000000 2.346707 
+678.000000 2.344364 
+677.000000 2.338129 
+676.000000 2.334951 
+675.000000 2.332424 
+674.000000 2.327778 
+673.000000 2.329795 
+672.000000 2.323764 
+671.000000 2.320952 
+670.000000 2.320830 
+669.000000 2.316918 
+668.000000 2.313149 
+667.000000 2.309298 
+666.000000 2.301697 
+665.000000 2.301412 
+664.000000 2.298376 
+663.000000 2.295035 
+662.000000 2.292264 
+661.000000 2.286334 
+660.000000 2.286375 
+659.000000 2.280629 
+658.000000 2.278041 
+657.000000 2.274659 
+656.000000 2.267365 
+655.000000 2.264736 
+654.000000 2.256260 
+653.000000 2.250942 
+652.000000 2.248048 
+651.000000 2.245990 
+650.000000 2.242995 
+649.000000 2.238349 
+648.000000 2.234010 
+647.000000 2.231116 
+646.000000 2.225024 
+645.000000 2.222986 
+644.000000 2.217994 
+643.000000 2.215794 
+642.000000 2.211474 
+641.000000 2.206686 
+640.000000 2.206665 
+639.000000 2.199351 
+638.000000 2.197721 
+637.000000 2.196620 
+636.000000 2.190752 
+635.000000 2.187614 
+634.000000 2.180340 
+633.000000 2.178200 
+632.000000 2.176407 
+631.000000 2.171089 
+630.000000 2.168013 
+629.000000 2.163347 
+628.000000 2.162369 
+627.000000 2.155889 
+626.000000 2.153811 
+625.000000 2.151957 
+624.000000 2.147067 
+623.000000 2.144642 
+622.000000 2.139018 
+621.000000 2.140118 
+620.000000 2.131418 
+619.000000 2.131724 
+618.000000 2.129951 
+617.000000 2.124897 
+616.000000 2.123105 
+615.000000 2.118337 
+614.000000 2.116768 
+613.000000 2.109575 
+612.000000 2.106071 
+611.000000 2.104461 
+610.000000 2.099102 
+609.000000 2.096107 
+608.000000 2.092419 
+607.000000 2.090565 
+606.000000 2.084248 
+605.000000 2.084065 
+604.000000 2.078034 
+603.000000 2.075772 
+602.000000 2.073021 
+601.000000 2.070596 
+600.000000 2.066623 
+599.000000 2.061550 
+598.000000 2.061346 
+597.000000 2.055152 
+596.000000 2.053216 
+595.000000 2.048815 
+594.000000 2.046166 
+593.000000 2.042132 
+592.000000 2.037934 
+591.000000 2.036345 
+590.000000 2.029988 
+589.000000 2.029702 
+588.000000 2.024690 
+587.000000 2.022795 
+586.000000 2.017599 
+585.000000 2.019168 
+584.000000 2.017579 
+583.000000 2.017966 
+582.000000 2.010712 
+581.000000 2.008430 
+580.000000 2.007473 
+579.000000 2.002684 
+578.000000 1.996714 
+577.000000 1.990194 
+576.000000 1.988116 
+575.000000 1.982777 
+574.000000 1.987321 
+573.000000 1.983694 
+572.000000 1.982085 
+571.000000 1.975809 
+570.000000 1.975198 
+569.000000 1.967638 
+568.000000 1.967475 
+567.000000 1.960792 
+566.000000 1.960201 
+565.000000 1.955902 
+564.000000 1.952540 
+563.000000 1.946977 
+562.000000 1.944329 
+561.000000 1.941129 
+560.000000 1.935363 
+559.000000 1.935526 
+558.000000 1.930555 
+557.000000 1.928150 
+556.000000 1.923647 
+555.000000 1.918390 
+554.000000 1.913337 
+553.000000 1.914519 
+552.000000 1.907591 
+551.000000 1.907265 
+550.000000 1.900786 
+549.000000 1.898116 
+548.000000 1.894734 
+547.000000 1.892778 
+546.000000 1.888356 
+545.000000 1.888336 
+544.000000 1.881959 
+543.000000 1.881796 
+542.000000 1.876396 
+541.000000 1.873421 
+540.000000 1.868450 
+539.000000 1.866962 
+538.000000 1.859932 
+537.000000 1.859647 
+536.000000 1.852088 
+535.000000 1.851884 
+534.000000 1.846525 
+533.000000 1.844345 
+532.000000 1.840494 
+531.000000 1.837376 
+530.000000 1.832262 
+529.000000 1.831366 
+528.000000 1.824336 
+527.000000 1.823867 
+526.000000 1.819650 
+525.000000 1.816858 
+524.000000 1.813089 
+523.000000 1.809258 
+522.000000 1.806039 
+521.000000 1.803512 
+520.000000 1.798724 
+519.000000 1.798072 
+518.000000 1.794710 
+517.000000 1.790227 
+516.000000 1.786417 
+515.000000 1.781608 
+514.000000 1.783014 
+513.000000 1.773519 
+512.000000 1.775007 
+511.000000 1.766082 
+510.000000 1.766551 
+509.000000 1.761681 
+508.000000 1.758360 
+507.000000 1.755263 
+506.000000 1.751778 
+505.000000 1.746807 
+504.000000 1.744545 
+503.000000 1.737678 
+502.000000 1.737169 
+501.000000 1.734011 
+500.000000 1.729956 
+499.000000 1.729202 
+498.000000 1.721296 
+497.000000 1.722397 
+496.000000 1.712942 
+495.000000 1.714593 
+494.000000 1.706789 
+493.000000 1.707461 
+492.000000 1.703366 
+491.000000 1.701185 
+490.000000 1.697864 
+489.000000 1.693382 
+488.000000 1.693117 
+487.000000 1.684233 
+486.000000 1.685252 
+485.000000 1.679302 
+484.000000 1.679934 
+483.000000 1.675125 
+482.000000 1.671804 
+481.000000 1.666730 
+480.000000 1.664530 
+479.000000 1.664142 
+478.000000 1.653914 
+477.000000 1.656339 
+476.000000 1.648800 
+475.000000 1.650328 
+474.000000 1.645315 
+473.000000 1.641913 
+472.000000 1.637715 
+471.000000 1.634598 
+470.000000 1.633477 
+469.000000 1.622372 
+468.000000 1.625877 
+467.000000 1.616606 
+466.000000 1.617217 
+465.000000 1.612653 
+464.000000 1.609434 
+463.000000 1.607417 
+462.000000 1.602649 
+461.000000 1.603301 
+460.000000 1.595986 
+459.000000 1.595436 
+458.000000 1.588732 
+457.000000 1.587713 
+456.000000 1.584738 
+455.000000 1.580174 
+454.000000 1.577974 
+453.000000 1.573369 
+452.000000 1.568581 
+451.000000 1.566788 
+450.000000 1.561979 
+449.000000 1.562101 
+448.000000 1.553706 
+447.000000 1.553034 
+446.000000 1.549489 
+445.000000 1.545536 
+444.000000 1.542439 
+443.000000 1.536204 
+442.000000 1.536306 
+441.000000 1.527829 
+440.000000 1.527666 
+439.000000 1.525384 
+438.000000 1.515930 
+437.000000 1.519027 
+436.000000 1.512588 
+435.000000 1.511345 
+434.000000 1.508126 
+433.000000 1.503052 
+432.000000 1.503358 
+431.000000 1.493761 
+430.000000 1.492620 
+429.000000 1.488300 
+428.000000 1.485203 
+427.000000 1.484939 
+426.000000 1.480537 
+425.000000 1.478826 
+424.000000 1.474465 
+423.000000 1.467599 
+422.000000 1.467395 
+421.000000 1.461568 
+420.000000 1.460773 
+419.000000 1.458858 
+418.000000 1.450218 
+417.000000 1.451217 
+416.000000 1.447651 
+415.000000 1.445797 
+414.000000 1.444004 
+413.000000 1.438360 
+412.000000 1.434937 
+411.000000 1.432390 
+410.000000 1.425462 
+409.000000 1.426705 
+408.000000 1.416721 
+407.000000 1.416497 
+406.000000 1.413298 
+405.000000 1.407592 
+404.000000 1.405657 
+403.000000 1.401113 
+402.000000 1.398179 
+401.000000 1.398322 
+400.000000 1.389315 
+399.000000 1.388704 
+398.000000 1.385831 
+397.000000 1.377436 
+396.000000 1.377701 
+395.000000 1.373667 
+394.000000 1.370325 
+393.000000 1.368104 
+392.000000 1.363418 
+391.000000 1.359811 
+390.000000 1.359669 
+389.000000 1.351926 
+388.000000 1.351804 
+387.000000 1.349664 
+386.000000 1.340638 
+385.000000 1.342085 
+384.000000 1.339130 
+383.000000 1.332793 
+382.000000 1.331245 
+381.000000 1.326497 
+380.000000 1.321852 
+379.000000 1.323054 
+378.000000 1.314924 
+377.000000 1.313477 
+376.000000 1.312866 
+375.000000 1.302800 
+374.000000 1.304451 
+373.000000 1.299887 
+372.000000 1.294772 
+371.000000 1.292796 
+370.000000 1.291308 
+369.000000 1.282567 
+368.000000 1.280530 
+367.000000 1.279450 
+366.000000 1.270077 
+365.000000 1.270851 
+364.000000 1.269364 
+363.000000 1.263720 
+362.000000 1.265391 
+361.000000 1.261845 
+360.000000 1.257485 
+359.000000 1.251494 
+358.000000 1.249457 
+357.000000 1.242529 
+356.000000 1.240227 
+355.000000 1.239371 
+354.000000 1.228938 
+353.000000 1.230670 
+352.000000 1.227960 
+351.000000 1.218343 
+350.000000 1.219525 
+349.000000 1.216917 
+348.000000 1.212271 
+347.000000 1.209806 
+346.000000 1.208298 
+345.000000 1.201146 
+344.000000 1.198110 
+343.000000 1.197886 
+342.000000 1.186598 
+341.000000 1.188330 
+340.000000 1.188065 
+339.000000 1.177123 
+338.000000 1.179874 
+337.000000 1.177123 
+336.000000 1.170012 
+335.000000 1.168423 
+334.000000 1.166487 
+333.000000 1.164409 
+332.000000 1.154954 
+331.000000 1.153875 
+330.000000 1.153793 
+329.000000 1.143748 
+328.000000 1.145256 
+327.000000 1.143748 
+326.000000 1.133866 
+325.000000 1.134925 
+324.000000 1.131930 
+323.000000 1.126204 
+322.000000 1.123719 
+321.000000 1.120173 
+320.000000 1.119032 
+319.000000 1.111738 
+318.000000 1.108722 
+317.000000 1.109048 
+316.000000 1.099736 
+315.000000 1.099675 
+314.000000 1.098575 
+313.000000 1.093603 
+312.000000 1.086350 
+311.000000 1.088183 
+310.000000 1.085127 
+309.000000 1.078220 
+308.000000 1.076773 
+307.000000 1.073920 
+306.000000 1.070619 
+305.000000 1.064548 
+304.000000 1.062245 
+303.000000 1.062286 
+302.000000 1.050427 
+301.000000 1.051955 
+300.000000 1.051038 
+299.000000 1.045130 
+298.000000 1.036612 
+297.000000 1.039037 
+296.000000 1.036225 
+295.000000 1.028890 
+294.000000 1.028238 
+293.000000 1.024998 
+292.000000 1.023266 
+291.000000 1.015096 
+290.000000 1.011734 
+289.000000 1.012732 
+288.000000 1.008474 
+287.000000 0.998490 
+286.000000 1.000323 
+285.000000 0.998856 
+284.000000 0.987915 
+283.000000 0.990584 
+282.000000 0.987609 
+281.000000 0.983697 
+280.000000 0.978195 
+279.000000 0.975974 
+278.000000 0.973815 
+277.000000 0.971859 
+276.000000 0.963871 
+275.000000 0.960061 
+274.000000 0.960672 
+273.000000 0.957820 
+272.000000 0.945370 
+271.000000 0.947428 
+270.000000 0.946532 
+269.000000 0.941641 
+268.000000 0.931005 
+267.000000 0.935366 
+266.000000 0.931780 
+265.000000 0.927766 
+264.000000 0.921836 
+263.000000 0.920614 
+262.000000 0.917435 
+261.000000 0.915540 
+260.000000 0.907207 
+259.000000 0.904436 
+258.000000 0.903519 
+257.000000 0.901950 
+256.000000 0.889969 
+255.000000 0.891497 
+254.000000 0.889867 
+253.000000 0.886933 
+252.000000 0.875359 
+251.000000 0.878844 
+250.000000 0.875094 
+249.000000 0.872385 
+248.000000 0.867943 
+247.000000 0.862665 
+246.000000 0.859752 
+245.000000 0.858407 
+244.000000 0.856695 
+243.000000 0.848484 
+242.000000 0.844368 
+241.000000 0.843920 
+240.000000 0.843023 
+239.000000 0.832896 
+238.000000 0.830533 
+237.000000 0.828944 
+236.000000 0.828556 
+235.000000 0.822994 
+234.000000 0.811624 
+233.000000 0.815618 
+232.000000 0.813254 
+231.000000 0.809689 
+230.000000 0.804452 
+229.000000 0.799215 
+228.000000 0.796485 
+227.000000 0.795364 
+226.000000 0.792369 
+225.000000 0.784097 
+224.000000 0.783567 
+223.000000 0.778351 
+222.000000 0.779186 
+221.000000 0.776252 
+220.000000 0.761745 
+219.000000 0.765596 
+218.000000 0.763762 
+217.000000 0.762030 
+216.000000 0.756753 
+215.000000 0.742530 
+214.000000 0.750905 
+213.000000 0.746993 
+212.000000 0.743407 
+211.000000 0.739209 
+210.000000 0.731364 
+209.000000 0.733198 
+208.000000 0.727615 
+207.000000 0.725231 
+206.000000 0.723826 
+205.000000 0.713923 
+204.000000 0.714636 
+203.000000 0.708646 
+202.000000 0.708788 
+201.000000 0.707668 
+200.000000 0.701840 
+199.000000 0.695646 
+198.000000 0.693710 
+197.000000 0.691836 
+196.000000 0.688800 
+195.000000 0.683380 
+194.000000 0.669973 
+193.000000 0.675820 
+192.000000 0.672683 
+191.000000 0.670136 
+190.000000 0.665001 
+189.000000 0.661313 
+188.000000 0.656851 
+187.000000 0.653550 
+186.000000 0.650392 
+185.000000 0.648639 
+184.000000 0.646031 
+183.000000 0.638187 
+182.000000 0.637698 
+181.000000 0.628814 
+180.000000 0.630118 
+179.000000 0.628977 
+178.000000 0.624963 
+177.000000 0.611168 
+176.000000 0.614225 
+175.000000 0.609966 
+174.000000 0.610618 
+173.000000 0.607256 
+172.000000 0.601938 
+171.000000 0.589529 
+170.000000 0.590528 
+169.000000 0.591180 
+168.000000 0.588001 
+167.000000 0.584476 
+166.000000 0.580177 
+165.000000 0.576020 
+164.000000 0.567870 
+163.000000 0.569785 
+162.000000 0.563489 
+161.000000 0.563245 
+160.000000 0.558762 
+159.000000 0.557173 
+158.000000 0.550001 
+157.000000 0.543542 
+156.000000 0.545824 
+155.000000 0.542197 
+154.000000 0.542197 
+153.000000 0.539120 
+152.000000 0.535880 
+151.000000 0.523003 
+150.000000 0.517726 
+149.000000 0.517909 
+148.000000 0.515443 
+147.000000 0.514160 
+146.000000 0.510879 
+145.000000 0.505847 
+144.000000 0.501568 
+143.000000 0.486591 
+142.000000 0.495292 
+141.000000 0.491237 
+140.000000 0.488344 
+139.000000 0.485247 
+138.000000 0.480907 
+137.000000 0.478930 
+136.000000 0.474325 
+135.000000 0.467866 
+134.000000 0.468885 
+133.000000 0.460979 
+132.000000 0.461020 
+131.000000 0.457088 
+130.000000 0.453542 
+129.000000 0.450343 
+128.000000 0.446329 
+127.000000 0.433289 
+126.000000 0.440176 
+125.000000 0.432677 
+124.000000 0.429254 
+123.000000 0.428928 
+122.000000 0.426870 
+121.000000 0.424364 
+120.000000 0.419902 
+119.000000 0.408899 
+118.000000 0.402970 
+117.000000 0.406311 
+116.000000 0.401543 
+115.000000 0.398711 
+114.000000 0.397998 
+113.000000 0.394127 
+112.000000 0.390439 
+111.000000 0.385324 
+110.000000 0.380821 
+109.000000 0.359121 
+108.000000 0.373751 
+107.000000 0.372080 
+106.000000 0.368555 
+105.000000 0.364806 
+104.000000 0.362830 
+103.000000 0.358673 
+102.000000 0.354476 
+101.000000 0.349708 
+100.000000 0.346183 
+99.000000 0.337360 
+98.000000 0.336525 
+97.000000 0.334752 
+96.000000 0.331533 
+95.000000 0.324911 
+94.000000 0.323525 
+93.000000 0.323138 
+92.000000 0.319715 
+91.000000 0.314926 
+90.000000 0.311646 
+89.000000 0.308467 
+88.000000 0.303964 
+87.000000 0.288255 
+86.000000 0.296772 
+85.000000 0.290455 
+84.000000 0.283813 
+83.000000 0.279269 
+82.000000 0.279269 
+81.000000 0.278291 
+80.000000 0.276315 
+79.000000 0.273116 
+78.000000 0.270467 
+77.000000 0.267329 
+76.000000 0.263661 
+75.000000 0.259627 
+74.000000 0.247809 
+73.000000 0.228289 
+72.000000 0.246179 
+71.000000 0.240657 
+70.000000 0.236378 
+69.000000 0.231977 
+68.000000 0.231244 
+67.000000 0.229552 
+66.000000 0.225457 
+65.000000 0.223175 
+64.000000 0.220139 
+63.000000 0.215941 
+62.000000 0.210847 
+61.000000 0.205305 
+60.000000 0.200619 
+59.000000 0.195790 
+58.000000 0.193304 
+57.000000 0.178246 
+56.000000 0.141468 
+55.000000 0.168242 
+54.000000 0.178369 
+53.000000 0.175496 
+52.000000 0.171258 
+51.000000 0.164472 
+50.000000 0.158767 
+49.000000 0.156872 
+48.000000 0.153796 
+47.000000 0.148457 
+46.000000 0.145156 
+45.000000 0.142018 
+44.000000 0.138066 
+43.000000 0.132707 
+42.000000 0.128224 
+41.000000 0.124597 
+40.000000 0.120869 
+39.000000 0.115408 
+38.000000 0.111109 
+37.000000 0.106300 
+36.000000 0.099759 
+35.000000 0.095480 
+34.000000 0.093891 
+33.000000 0.087575 
+32.000000 0.085374 
+31.000000 0.081666 
+30.000000 0.078996 
+29.000000 0.076511 
+28.000000 0.071722 
+27.000000 0.061372 
+26.000000 0.049452 
+25.000000 0.039284 
+24.000000 0.030604 
+23.000000 0.025877 
+22.000000 0.025694 
+21.000000 0.025470 
+20.000000 0.025347 
+19.000000 0.025490 
+18.000000 0.023615 
+17.000000 0.020905 
+16.000000 0.016790 
+15.000000 0.012816 
+14.000000 0.010432 
+13.000000 0.006011 
+12.000000 0.000102 
+11.000000 0.000000 
+10.000000 0.000000 
+9.000000 0.000000 
+8.000000 0.000000 
+7.000000 0.000000 
+6.000000 0.000000 
+5.000000 0.000000 
+4.000000 0.000000 
+3.000000 0.000000 
+2.000000 0.000000 
+1.000000 0.000000 
+0.000000 0.000000 
+-1.000000 0.000000 
+-2.000000 0.000000 
+-3.000000 0.000000 
+-4.000000 0.000000 
+-5.000000 0.000000 
+-6.000000 0.000000 
+-7.000000 0.000000 
+-8.000000 0.000000 
+-9.000000 0.000000 
+-10.000000 0.000000 
+-11.000000 0.000000 
+-12.000000 -0.003484 
+-13.000000 -0.004177 
+-14.000000 -0.004197 
+-15.000000 -0.003586 
+-16.000000 -0.007213 
+-17.000000 -0.012633 
+-18.000000 -0.016627 
+-19.000000 -0.019785 
+-20.000000 -0.022046 
+-21.000000 -0.025673 
+-22.000000 -0.029647 
+-23.000000 -0.033885 
+-24.000000 -0.044786 
+-25.000000 -0.048840 
+-26.000000 -0.051795 
+-27.000000 -0.056706 
+-28.000000 -0.061209 
+-29.000000 -0.064876 
+-30.000000 -0.067892 
+-31.000000 -0.070174 
+-32.000000 -0.071580 
+-33.000000 -0.077468 
+-34.000000 -0.086352 
+-35.000000 -0.090264 
+-36.000000 -0.094869 
+-37.000000 -0.098700 
+-38.000000 -0.104059 
+-39.000000 -0.107543 
+-40.000000 -0.111536 
+-41.000000 -0.114491 
+-42.000000 -0.118892 
+-43.000000 -0.125046 
+-44.000000 -0.129875 
+-45.000000 -0.134744 
+-46.000000 -0.138942 
+-47.000000 -0.140450 
+-48.000000 -0.140429 
+-49.000000 -0.137067 
+-50.000000 -0.145136 
+-51.000000 -0.153001 
+-52.000000 -0.158441 
+-53.000000 -0.162720 
+-54.000000 -0.164595 
+-55.000000 -0.167142 
+-56.000000 -0.165695 
+-57.000000 -0.165817 
+-58.000000 -0.182220 
+-59.000000 -0.186600 
+-60.000000 -0.187680 
+-61.000000 -0.196646 
+-62.000000 -0.200965 
+-63.000000 -0.206243 
+-64.000000 -0.209584 
+-65.000000 -0.212702 
+-66.000000 -0.216084 
+-67.000000 -0.220139 
+-68.000000 -0.222523 
+-69.000000 -0.218305 
+-70.000000 -0.223358 
+-71.000000 -0.229838 
+-72.000000 -0.235359 
+-73.000000 -0.237764 
+-74.000000 -0.237112 
+-75.000000 -0.242898 
+-76.000000 -0.251803 
+-77.000000 -0.255002 
+-78.000000 -0.259097 
+-79.000000 -0.263009 
+-80.000000 -0.266493 
+-81.000000 -0.268735 
+-82.000000 -0.272423 
+-83.000000 -0.275499 
+-84.000000 -0.268287 
+-85.000000 -0.278861 
+-86.000000 -0.284628 
+-87.000000 -0.289681 
+-88.000000 -0.290415 
+-89.000000 -0.293226 
+-90.000000 -0.300276 
+-91.000000 -0.302742 
+-92.000000 -0.305819 
+-93.000000 -0.309445 
+-94.000000 -0.312502 
+-95.000000 -0.315619 
+-96.000000 -0.318411 
+-97.000000 -0.316984 
+-98.000000 -0.325970 
+-99.000000 -0.331084 
+-100.000000 -0.331961 
+-101.000000 -0.333428 
+-102.000000 -0.340335 
+-103.000000 -0.343391 
+-104.000000 -0.348465 
+-105.000000 -0.352642 
+-106.000000 -0.356167 
+-107.000000 -0.357838 
+-108.000000 -0.357552 
+-109.000000 -0.363502 
+-110.000000 -0.366334 
+-111.000000 -0.366395 
+-112.000000 -0.373486 
+-113.000000 -0.378621 
+-114.000000 -0.383817 
+-115.000000 -0.387688 
+-116.000000 -0.391091 
+-117.000000 -0.391620 
+-118.000000 -0.390887 
+-119.000000 -0.398426 
+-120.000000 -0.399669 
+-121.000000 -0.403989 
+-122.000000 -0.411752 
+-123.000000 -0.415623 
+-124.000000 -0.418516 
+-125.000000 -0.421776 
+-126.000000 -0.424303 
+-127.000000 -0.419087 
+-128.000000 -0.430640 
+-129.000000 -0.433309 
+-130.000000 -0.436814 
+-131.000000 -0.442111 
+-132.000000 -0.445983 
+-133.000000 -0.448998 
+-134.000000 -0.453542 
+-135.000000 -0.450058 
+-136.000000 -0.458901 
+-137.000000 -0.461835 
+-138.000000 -0.462039 
+-139.000000 -0.468172 
+-140.000000 -0.471371 
+-141.000000 -0.475446 
+-142.000000 -0.480153 
+-143.000000 -0.478645 
+-144.000000 -0.485491 
+-145.000000 -0.486836 
+-146.000000 -0.489811 
+-147.000000 -0.497492 
+-148.000000 -0.502648 
+-149.000000 -0.506315 
+-150.000000 -0.508842 
+-151.000000 -0.506274 
+-152.000000 -0.512998 
+-153.000000 -0.513508 
+-154.000000 -0.523145 
+-155.000000 -0.526609 
+-156.000000 -0.530012 
+-157.000000 -0.531989 
+-158.000000 -0.528749 
+-159.000000 -0.536675 
+-160.000000 -0.538427 
+-161.000000 -0.544968 
+-162.000000 -0.548737 
+-163.000000 -0.552079 
+-164.000000 -0.555339 
+-165.000000 -0.554728 
+-166.000000 -0.561105 
+-167.000000 -0.561737 
+-168.000000 -0.567524 
+-169.000000 -0.572414 
+-170.000000 -0.576102 
+-171.000000 -0.577060 
+-172.000000 -0.580422 
+-173.000000 -0.580360 
+-174.000000 -0.585393 
+-175.000000 -0.592525 
+-176.000000 -0.597578 
+-177.000000 -0.600838 
+-178.000000 -0.598515 
+-179.000000 -0.603833 
+-180.000000 -0.606462 
+-181.000000 -0.614490 
+-182.000000 -0.618280 
+-183.000000 -0.621152 
+-184.000000 -0.618483 
+-185.000000 -0.626654 
+-186.000000 -0.628101 
+-187.000000 -0.633561 
+-188.000000 -0.637270 
+-189.000000 -0.640754 
+-190.000000 -0.640326 
+-191.000000 -0.647641 
+-192.000000 -0.648395 
+-193.000000 -0.653774 
+-194.000000 -0.658970 
+-195.000000 -0.661354 
+-196.000000 -0.661904 
+-197.000000 -0.664451 
+-198.000000 -0.669789 
+-199.000000 -0.675963 
+-200.000000 -0.680731 
+-201.000000 -0.678612 
+-202.000000 -0.683971 
+-203.000000 -0.685825 
+-204.000000 -0.694281 
+-205.000000 -0.697378 
+-206.000000 -0.698743 
+-207.000000 -0.698009 
+-208.000000 -0.705243 
+-209.000000 -0.709216 
+-210.000000 -0.712945 
+-211.000000 -0.716857 
+-212.000000 -0.714269 
+-213.000000 -0.720606 
+-214.000000 -0.722725 
+-215.000000 -0.727615 
+-216.000000 -0.732628 
+-217.000000 -0.731894 
+-218.000000 -0.735562 
+-219.000000 -0.738924 
+-220.000000 -0.745872 
+-221.000000 -0.750457 
+-222.000000 -0.747930 
+-223.000000 -0.751740 
+-224.000000 -0.757405 
+-225.000000 -0.763477 
+-226.000000 -0.766349 
+-227.000000 -0.764108 
+-228.000000 -0.771077 
+-229.000000 -0.775172 
+-230.000000 -0.780062 
+-231.000000 -0.783485 
+-232.000000 -0.783832 
+-233.000000 -0.787296 
+-234.000000 -0.792634 
+-235.000000 -0.797810 
+-236.000000 -0.801335 
+-237.000000 -0.801559 
+-238.000000 -0.802048 
+-239.000000 -0.811176 
+-240.000000 -0.816392 
+-241.000000 -0.815353 
+-242.000000 -0.817859 
+-243.000000 -0.822281 
+-244.000000 -0.829147 
+-245.000000 -0.831674 
+-246.000000 -0.830553 
+-247.000000 -0.837074 
+-248.000000 -0.843370 
+-249.000000 -0.846283 
+-250.000000 -0.846956 
+-251.000000 -0.853598 
+-252.000000 -0.854454 
+-253.000000 -0.859670 
+-254.000000 -0.863297 
+-255.000000 -0.863990 
+-256.000000 -0.864907 
+-257.000000 -0.873057 
+-258.000000 -0.877988 
+-259.000000 -0.875543 
+-260.000000 -0.879312 
+-261.000000 -0.887320 
+-262.000000 -0.890437 
+-263.000000 -0.888746 
+-264.000000 -0.895694 
+-265.000000 -0.898730 
+-266.000000 -0.903030 
+-267.000000 -0.903885 
+-268.000000 -0.908939 
+-269.000000 -0.910528 
+-270.000000 -0.916804 
+-271.000000 -0.918169 
+-272.000000 -0.920553 
+-273.000000 -0.923609 
+-274.000000 -0.931413 
+-275.000000 -0.931922 
+-276.000000 -0.933940 
+-277.000000 -0.938626 
+-278.000000 -0.944800 
+-279.000000 -0.944290 
+-280.000000 -0.948590 
+-281.000000 -0.952379 
+-282.000000 -0.957005 
+-283.000000 -0.958879 
+-284.000000 -0.963158 
+-285.000000 -0.965440 
+-286.000000 -0.971471 
+-287.000000 -0.973081 
+-288.000000 -0.972776 
+-289.000000 -0.980355 
+-290.000000 -0.986590 
+-291.000000 -0.985531 
+-292.000000 -0.987263 
+-293.000000 -0.997145 
+-294.000000 -0.999773 
+-295.000000 -0.998591 
+-296.000000 -1.003869 
+-297.000000 -1.009696 
+-298.000000 -1.010858 
+-299.000000 -1.016542 
+-300.000000 -1.017480 
+-301.000000 -1.024285 
+-302.000000 -1.025365 
+-303.000000 -1.025915 
+-304.000000 -1.033189 
+-305.000000 -1.037978 
+-306.000000 -1.035899 
+-307.000000 -1.040219 
+-308.000000 -1.048369 
+-309.000000 -1.046943 
+-310.000000 -1.052322 
+-311.000000 -1.054604 
+-312.000000 -1.059352 
+-313.000000 -1.061308 
+-314.000000 -1.065342 
+-315.000000 -1.069641 
+-316.000000 -1.073024 
+-317.000000 -1.073411 
+-318.000000 -1.077343 
+-319.000000 -1.085555 
+-320.000000 -1.083273 
+-321.000000 -1.087266 
+-322.000000 -1.095335 
+-323.000000 -1.093868 
+-324.000000 -1.098208 
+-325.000000 -1.102385 
+-326.000000 -1.106990 
+-327.000000 -1.108579 
+-328.000000 -1.111738 
+-329.000000 -1.118156 
+-330.000000 -1.120193 
+-331.000000 -1.120886 
+-332.000000 -1.128873 
+-333.000000 -1.131156 
+-334.000000 -1.131685 
+-335.000000 -1.140223 
+-336.000000 -1.143605 
+-337.000000 -1.143320 
+-338.000000 -1.148271 
+-339.000000 -1.152856 
+-340.000000 -1.154160 
+-341.000000 -1.158011 
+-342.000000 -1.163431 
+-343.000000 -1.165774 
+-344.000000 -1.166630 
+-345.000000 -1.176329 
+-346.000000 -1.176206 
+-347.000000 -1.178977 
+-348.000000 -1.186252 
+-349.000000 -1.187637 
+-350.000000 -1.189613 
+-351.000000 -1.195196 
+-352.000000 -1.199801 
+-353.000000 -1.201228 
+-354.000000 -1.202756 
+-355.000000 -1.209846 
+-356.000000 -1.209541 
+-357.000000 -1.211354 
+-358.000000 -1.221766 
+-359.000000 -1.219973 
+-360.000000 -1.223885 
+-361.000000 -1.231547 
+-362.000000 -1.230711 
+-363.000000 -1.235500 
+-364.000000 -1.240369 
+-365.000000 -1.242081 
+-366.000000 -1.245585 
+-367.000000 -1.251474 
+-368.000000 -1.252941 
+-369.000000 -1.253960 
+-370.000000 -1.262355 
+-371.000000 -1.261315 
+-372.000000 -1.265228 
+-373.000000 -1.272542 
+-374.000000 -1.272013 
+-375.000000 -1.277310 
+-376.000000 -1.282139 
+-377.000000 -1.282975 
+-378.000000 -1.286724 
+-379.000000 -1.293183 
+-380.000000 -1.292266 
+-381.000000 -1.296708 
+-382.000000 -1.304390 
+-383.000000 -1.301272 
+-384.000000 -1.309422 
+-385.000000 -1.310217 
+-386.000000 -1.315392 
+-387.000000 -1.318367 
+-388.000000 -1.319182 
+-389.000000 -1.324093 
+-390.000000 -1.327088 
+-391.000000 -1.329003 
+-392.000000 -1.329818 
+-393.000000 -1.339252 
+-394.000000 -1.338091 
+-395.000000 -1.342594 
+-396.000000 -1.350622 
+-397.000000 -1.349135 
+-398.000000 -1.353699 
+-399.000000 -1.357998 
+-400.000000 -1.360219 
+-401.000000 -1.364274 
+-402.000000 -1.368838 
+-403.000000 -1.368797 
+-404.000000 -1.377172 
+-405.000000 -1.375847 
+-406.000000 -1.380065 
+-407.000000 -1.386728 
+-408.000000 -1.386157 
+-409.000000 -1.392168 
+-410.000000 -1.393900 
+-411.000000 -1.397873 
+-412.000000 -1.404434 
+-413.000000 -1.405922 
+-414.000000 -1.408183 
+-415.000000 -1.415743 
+-416.000000 -1.412829 
+-417.000000 -1.421896 
+-418.000000 -1.421285 
+-419.000000 -1.427092 
+-420.000000 -1.430882 
+-421.000000 -1.432817 
+-422.000000 -1.436444 
+-423.000000 -1.442618 
+-424.000000 -1.441599 
+-425.000000 -1.447997 
+-426.000000 -1.449811 
+-427.000000 -1.452623 
+-428.000000 -1.460182 
+-429.000000 -1.458939 
+-430.000000 -1.464176 
+-431.000000 -1.467110 
+-432.000000 -1.469636 
+-433.000000 -1.476055 
+-434.000000 -1.476095 
+-435.000000 -1.479743 
+-436.000000 -1.484225 
+-437.000000 -1.485427 
+-438.000000 -1.493007 
+-439.000000 -1.492090 
+-440.000000 -1.496532 
+-441.000000 -1.499772 
+-442.000000 -1.503175 
+-443.000000 -1.508595 
+-444.000000 -1.509104 
+-445.000000 -1.514809 
+-446.000000 -1.518314 
+-447.000000 -1.520046 
+-448.000000 -1.526118 
+-449.000000 -1.526118 
+-450.000000 -1.532373 
+-451.000000 -1.533942 
+-452.000000 -1.537813 
+-453.000000 -1.545210 
+-454.000000 -1.544639 
+-455.000000 -1.551383 
+-456.000000 -1.553951 
+-457.000000 -1.558087 
+-458.000000 -1.560899 
+-459.000000 -1.563222 
+-460.000000 -1.568866 
+-461.000000 -1.571596 
+-462.000000 -1.574653 
+-463.000000 -1.579420 
+-464.000000 -1.579115 
+-465.000000 -1.588121 
+-466.000000 -1.584738 
+-467.000000 -1.595354 
+-468.000000 -1.594641 
+-469.000000 -1.598838 
+-470.000000 -1.601874 
+-471.000000 -1.605440 
+-472.000000 -1.612185 
+-473.000000 -1.610228 
+-474.000000 -1.619051 
+-475.000000 -1.619010 
+-476.000000 -1.624593 
+-477.000000 -1.625144 
+-478.000000 -1.630217 
+-479.000000 -1.634353 
+-480.000000 -1.636065 
+-481.000000 -1.642972 
+-482.000000 -1.643563 
+-483.000000 -1.649452 
+-484.000000 -1.652814 
+-485.000000 -1.655422 
+-486.000000 -1.658743 
+-487.000000 -1.662574 
+-488.000000 -1.667382 
+-489.000000 -1.667953 
+-490.000000 -1.673902 
+-491.000000 -1.675634 
+-492.000000 -1.679974 
+-493.000000 -1.682277 
+-494.000000 -1.686311 
+-495.000000 -1.690937 
+-496.000000 -1.693932 
+-497.000000 -1.697498 
+-498.000000 -1.700391 
+-499.000000 -1.705913 
+-500.000000 -1.705037 
+-501.000000 -1.712250 
+-502.000000 -1.712433 
+-503.000000 -1.719361 
+-504.000000 -1.721011 
+-505.000000 -1.725983 
+-506.000000 -1.728489 
+-507.000000 -1.732564 
+-508.000000 -1.737271 
+-509.000000 -1.737923 
+-510.000000 -1.745503 
+-511.000000 -1.743404 
+-512.000000 -1.751778 
+-513.000000 -1.750902 
+-514.000000 -1.757504 
+-515.000000 -1.759806 
+-516.000000 -1.764289 
+-517.000000 -1.766795 
+-518.000000 -1.770544 
+-519.000000 -1.773315 
+-520.000000 -1.777126 
+-521.000000 -1.780956 
+-522.000000 -1.784603 
+-523.000000 -1.787741 
+-524.000000 -1.791042 
+-525.000000 -1.795545 
+-526.000000 -1.795158 
+-527.000000 -1.802004 
+-528.000000 -1.803777 
+-529.000000 -1.809034 
+-530.000000 -1.811275 
+-531.000000 -1.817347 
+-532.000000 -1.817123 
+-533.000000 -1.824438 
+-534.000000 -1.823256 
+-535.000000 -1.831712 
+-536.000000 -1.830327 
+-537.000000 -1.839455 
+-538.000000 -1.836806 
+-539.000000 -1.842572 
+-540.000000 -1.844875 
+-541.000000 -1.849724 
+-542.000000 -1.851538 
+-543.000000 -1.858180 
+-544.000000 -1.858099 
+-545.000000 -1.865902 
+-546.000000 -1.866106 
+-547.000000 -1.871669 
+-548.000000 -1.873217 
+-549.000000 -1.878800 
+-550.000000 -1.879086 
+-551.000000 -1.887195 
+-552.000000 -1.885484 
+-553.000000 -1.894958 
+-554.000000 -1.894775 
+-555.000000 -1.900643 
+-556.000000 -1.901438 
+-557.000000 -1.907734 
+-558.000000 -1.906470 
+-559.000000 -1.916292 
+-560.000000 -1.915171 
+-561.000000 -1.922404 
+-562.000000 -1.921650 
+-563.000000 -1.928334 
+-564.000000 -1.930086 
+-565.000000 -1.935669 
+-566.000000 -1.937441 
+-567.000000 -1.942922 
+-568.000000 -1.943534 
+-569.000000 -1.948444 
+-570.000000 -1.952397 
+-571.000000 -1.955148 
+-572.000000 -1.960323 
+-573.000000 -1.963563 
+-574.000000 -1.965601 
+-575.000000 -1.969696 
+-576.000000 -1.974260 
+-577.000000 -1.976440 
+-578.000000 -1.981412 
+-579.000000 -1.984611 
+-580.000000 -1.989257 
+-581.000000 -1.989379 
+-582.000000 -1.997489 
+-583.000000 -1.996816 
+-584.000000 -2.004478 
+-585.000000 -2.007025 
+-586.000000 -2.010998 
+-587.000000 -2.012892 
+-588.000000 -2.016907 
+-589.000000 -2.018455 
+-590.000000 -2.023141 
+-591.000000 -2.028684 
+-592.000000 -2.030090 
+-593.000000 -2.036345 
+-594.000000 -2.038362 
+-595.000000 -2.042967 
+-596.000000 -2.043945 
+-597.000000 -2.050914 
+-598.000000 -2.052320 
+-599.000000 -2.055906 
+-600.000000 -2.061509 
+-601.000000 -2.063506 
+-602.000000 -2.066195 
+-603.000000 -2.070128 
+-604.000000 -2.074672 
+-605.000000 -2.075691 
+-606.000000 -2.081763 
+-607.000000 -2.084758 
+-608.000000 -2.088751 
+-609.000000 -2.091115 
+-610.000000 -2.096433 
+-611.000000 -2.098470 
+-612.000000 -2.100732 
+-613.000000 -2.107925 
+-614.000000 -2.108658 
+-615.000000 -2.112815 
+-616.000000 -2.115912 
+-617.000000 -2.121719 
+-618.000000 -2.124938 
+-619.000000 -2.127791 
+-620.000000 -2.133741 
+-621.000000 -2.133741 
+-622.000000 -2.137999 
+-623.000000 -2.142339 
+-624.000000 -2.146190 
+-625.000000 -2.147902 
+-626.000000 -2.150469 
+-627.000000 -2.155909 
+-628.000000 -2.156684 
+-629.000000 -2.162328 
+-630.000000 -2.165017 
+-631.000000 -2.169602 
+-632.000000 -2.173270 
+-633.000000 -2.174839 
+-634.000000 -2.182214 
+-635.000000 -2.181420 
+-636.000000 -2.186351 
+-637.000000 -2.189305 
+-638.000000 -2.191608 
+-639.000000 -2.196376 
+-640.000000 -2.195825 
+-641.000000 -2.202060 
+-642.000000 -2.203874 
+-643.000000 -2.208845 
+-644.000000 -2.213084 
+-645.000000 -2.213471 
+-646.000000 -2.218972 
+-647.000000 -2.222681 
+-648.000000 -2.226695 
+-649.000000 -2.230810 
+-650.000000 -2.233174 
+-651.000000 -2.238757 
+-652.000000 -2.239735 
+-653.000000 -2.243647 
+-654.000000 -2.248415 
+-655.000000 -2.248965 
+-656.000000 -2.254548 
+-657.000000 -2.258236 
+-658.000000 -2.262311 
+-659.000000 -2.264064 
+-660.000000 -2.266672 
+-661.000000 -2.273559 
+-662.000000 -2.276065 
+-663.000000 -2.278408 
+-664.000000 -2.282137 
+-665.000000 -2.283217 
+-666.000000 -2.289819 
+-667.000000 -2.292141 
+-668.000000 -2.295870 
+-669.000000 -2.300088 
+-670.000000 -2.301616 
+-671.000000 -2.306302 
+-672.000000 -2.309766 
+-673.000000 -2.311641 
+-674.000000 -2.318507 
+-675.000000 -2.319628 
+-676.000000 -2.322379 
+-677.000000 -2.327717 
+-678.000000 -2.330488 
+-679.000000 -2.335460 
+-680.000000 -2.338414 
+-681.000000 -2.338741 
+-682.000000 -2.344527 
+-683.000000 -2.344690 
+-684.000000 -2.351292 
+-685.000000 -2.353452 
+-686.000000 -2.354532 
+-687.000000 -2.360114 
+-688.000000 -2.362743 
+-689.000000 -2.365433 
+-690.000000 -2.370160 
+-691.000000 -2.374031 
+-692.000000 -2.378514 
+-693.000000 -2.383363 
+-694.000000 -2.384239 
+-695.000000 -2.389456 
+-696.000000 -2.392960 
+-697.000000 -2.394264 
+-698.000000 -2.400621 
+-699.000000 -2.403535 
+-700.000000 -2.406102 
+-701.000000 -2.409974 
+-702.000000 -2.415516 
+-703.000000 -2.417472 
+-704.000000 -2.421180 
+-705.000000 -2.422810 
+-706.000000 -2.428801 
+-707.000000 -2.432387 
+-708.000000 -2.433671 
+-709.000000 -2.439396 
+-710.000000 -2.443777 
+-711.000000 -2.443879 
+-712.000000 -2.449380 
+-713.000000 -2.452702 
+-714.000000 -2.455432 
+-715.000000 -2.459161 
+-716.000000 -2.462360 
+-717.000000 -2.464764 
+-718.000000 -2.470510 
+-719.000000 -2.474504 
+-720.000000 -2.476501 
+-721.000000 -2.481492 
+-722.000000 -2.483367 
+-723.000000 -2.484834 
+-724.000000 -2.489948 
+-725.000000 -2.492944 
+-726.000000 -2.496265 
+-727.000000 -2.500319 
+-728.000000 -2.501685 
+-729.000000 -2.504048 
+-730.000000 -2.510100 
+-731.000000 -2.513625 
+-732.000000 -2.515927 
+-733.000000 -2.521327 
+-734.000000 -2.524750 
+-735.000000 -2.526400 
+-736.000000 -2.532207 
+-737.000000 -2.535569 
+-738.000000 -2.536568 
+-739.000000 -2.542844 
+-740.000000 -2.544983 
+-741.000000 -2.547082 
+-742.000000 -2.552848 
+-743.000000 -2.557025 
+-744.000000 -2.559083 
+-745.000000 -2.565318 
+-746.000000 -2.568272 
+-747.000000 -2.569800 
+-748.000000 -2.572999 
+-749.000000 -2.576708 
+-750.000000 -2.579499 
+-751.000000 -2.581252 
+-752.000000 -2.589076 
+-753.000000 -2.591541 
+-754.000000 -2.592377 
+-755.000000 -2.598062 
+-756.000000 -2.601729 
+-757.000000 -2.602076 
+-758.000000 -2.609166 
+-759.000000 -2.614301 
+-760.000000 -2.614321 
+-761.000000 -2.620149 
+-762.000000 -2.623674 
+-763.000000 -2.628014 
+-764.000000 -2.630500 
+-765.000000 -2.635329 
+-766.000000 -2.637529 
+-767.000000 -2.639180 
+-768.000000 -2.644661 
+-769.000000 -2.648308 
+-770.000000 -2.650244 
+-771.000000 -2.653117 
+-772.000000 -2.656866 
+-773.000000 -2.662551 
+-774.000000 -2.662999 
+-775.000000 -2.671251 
+-776.000000 -2.676589 
+-777.000000 -2.677934 
+-778.000000 -2.681806 
+-779.000000 -2.686553 
+-780.000000 -2.692564 
+-781.000000 -2.694377 
+-782.000000 -2.700144 
+-783.000000 -2.703302 
+-784.000000 -2.705339 
+-785.000000 -2.708172 
+-786.000000 -2.712960 
+-787.000000 -2.716607 
+-788.000000 -2.714957 
+-789.000000 -2.720581 
+-790.000000 -2.730463 
+-789.000000 -2.732826 
+-788.000000 -2.728405 
+-787.000000 -2.723148 
+-786.000000 -2.719827 
+-785.000000 -2.714223 
+-784.000000 -2.709190 
+-783.000000 -2.708498 
+-782.000000 -2.705014 
+-781.000000 -2.698208 
+-780.000000 -2.695539 
+-779.000000 -2.692482 
+-778.000000 -2.689467 
+-777.000000 -2.685025 
+-776.000000 -2.683232 
+-775.000000 -2.679137 
+-774.000000 -2.675020 
+-773.000000 -2.671210 
+-772.000000 -2.667278 
+-771.000000 -2.664894 
+-770.000000 -2.660615 
+-769.000000 -2.657620 
+-768.000000 -2.655603 
+-767.000000 -2.648369 
+-766.000000 -2.647778 
+-765.000000 -2.645782 
+-764.000000 -2.641462 
+-763.000000 -2.635736 
+-762.000000 -2.634778 
+-761.000000 -2.630867 
+-760.000000 -2.625793 
+-759.000000 -2.623837 
+-758.000000 -2.621188 
+-757.000000 -2.616237 
+-756.000000 -2.613547 
+-755.000000 -2.610124 
+-754.000000 -2.606049 
+-753.000000 -2.598897 
+-752.000000 -2.595066 
+-751.000000 -2.592479 
+-750.000000 -2.587201 
+-749.000000 -2.586264 
+-748.000000 -2.583941 
+-747.000000 -2.578318 
+-746.000000 -2.575139 
+-745.000000 -2.571655 
+-744.000000 -2.564157 
+-743.000000 -2.562506 
+-742.000000 -2.561284 
+-741.000000 -2.556006 
+-740.000000 -2.552848 
+-739.000000 -2.549160 
+-738.000000 -2.544616 
+-737.000000 -2.540725 
+-736.000000 -2.539889 
+-735.000000 -2.534530 
+-734.000000 -2.531841 
+-733.000000 -2.528968 
+-732.000000 -2.524281 
+-731.000000 -2.518923 
+-730.000000 -2.519045 
+-729.000000 -2.514868 
+-728.000000 -2.509611 
+-727.000000 -2.508266 
+-726.000000 -2.504660 
+-725.000000 -2.499219 
+-724.000000 -2.497895 
+-723.000000 -2.494349 
+-722.000000 -2.489541 
+-721.000000 -2.486953 
+-720.000000 -2.482287 
+-719.000000 -2.477275 
+-718.000000 -2.475787 
+-717.000000 -2.470286 
+-716.000000 -2.463766 
+-715.000000 -2.462074 
+-714.000000 -2.457306 
+-713.000000 -2.452905 
+-712.000000 -2.450644 
+-711.000000 -2.447954 
+-710.000000 -2.444042 
+-709.000000 -2.440986 
+-708.000000 -2.435525 
+-707.000000 -2.431755 
+-706.000000 -2.430105 
+-705.000000 -2.423238 
+-704.000000 -2.420773 
+-703.000000 -2.416148 
+-702.000000 -2.410626 
+-701.000000 -2.410830 
+-700.000000 -2.407549 
+-699.000000 -2.402027 
+-698.000000 -2.400030 
+-697.000000 -2.397280 
+-696.000000 -2.393123 
+-695.000000 -2.391452 
+-694.000000 -2.385808 
+-693.000000 -2.383098 
+-692.000000 -2.380062 
+-691.000000 -2.373868 
+-690.000000 -2.371423 
+-689.000000 -2.368611 
+-688.000000 -2.363252 
+-687.000000 -2.361643 
+-686.000000 -2.358688 
+-685.000000 -2.355041 
+-684.000000 -2.353105 
+-683.000000 -2.346972 
+-682.000000 -2.344507 
+-681.000000 -2.342714 
+-680.000000 -2.334951 
+-679.000000 -2.333239 
+-678.000000 -2.331670 
+-677.000000 -2.327065 
+-676.000000 -2.326556 
+-675.000000 -2.321075 
+-674.000000 -2.318344 
+-673.000000 -2.315777 
+-672.000000 -2.310520 
+-671.000000 -2.309889 
+-670.000000 -2.304448 
+-669.000000 -2.300455 
+-668.000000 -2.297989 
+-667.000000 -2.291672 
+-666.000000 -2.289248 
+-665.000000 -2.283787 
+-664.000000 -2.279651 
+-663.000000 -2.279080 
+-662.000000 -2.271969 
+-661.000000 -2.271175 
+-660.000000 -2.267813 
+-659.000000 -2.264206 
+-658.000000 -2.261395 
+-657.000000 -2.255057 
+-656.000000 -2.254630 
+-655.000000 -2.251960 
+-654.000000 -2.246663 
+-653.000000 -2.244136 
+-652.000000 -2.240143 
+-651.000000 -2.237208 
+-650.000000 -2.233113 
+-649.000000 -2.227795 
+-648.000000 -2.228182 
+-647.000000 -2.223129 
+-646.000000 -2.219889 
+-645.000000 -2.217770 
+-644.000000 -2.213226 
+-643.000000 -2.212248 
+-642.000000 -2.204526 
+-641.000000 -2.203364 
+-640.000000 -2.200002 
+-639.000000 -2.196457 
+-638.000000 -2.194093 
+-637.000000 -2.188755 
+-636.000000 -2.189183 
+-635.000000 -2.184782 
+-634.000000 -2.181664 
+-633.000000 -2.178384 
+-632.000000 -2.173168 
+-631.000000 -2.172312 
+-630.000000 -2.165669 
+-629.000000 -2.164875 
+-628.000000 -2.162104 
+-627.000000 -2.158680 
+-626.000000 -2.155767 
+-625.000000 -2.150041 
+-624.000000 -2.149186 
+-623.000000 -2.143929 
+-622.000000 -2.142462 
+-621.000000 -2.138590 
+-620.000000 -2.133965 
+-619.000000 -2.130684 
+-618.000000 -2.126039 
+-617.000000 -2.124022 
+-616.000000 -2.119050 
+-615.000000 -2.118133 
+-614.000000 -2.113915 
+-613.000000 -2.109555 
+-612.000000 -2.106376 
+-611.000000 -2.101812 
+-610.000000 -2.099326 
+-609.000000 -2.092541 
+-608.000000 -2.093173 
+-607.000000 -2.087936 
+-606.000000 -2.083882 
+-605.000000 -2.081538 
+-604.000000 -2.077280 
+-603.000000 -2.074998 
+-602.000000 -2.068518 
+-601.000000 -2.070433 
+-600.000000 -2.061713 
+-599.000000 -2.061652 
+-598.000000 -2.058779 
+-597.000000 -2.054092 
+-596.000000 -2.050893 
+-595.000000 -2.048000 
+-594.000000 -2.043640 
+-593.000000 -2.039136 
+-592.000000 -2.038831 
+-591.000000 -2.032290 
+-590.000000 -2.032066 
+-589.000000 -2.026524 
+-588.000000 -2.025159 
+-587.000000 -2.018965 
+-586.000000 -2.018292 
+-585.000000 -2.013585 
+-584.000000 -2.010223 
+-583.000000 -2.007473 
+-582.000000 -2.003418 
+-581.000000 -1.999628 
+-580.000000 -1.995186 
+-579.000000 -1.993719 
+-578.000000 -1.986180 
+-577.000000 -1.988544 
+-576.000000 -1.978926 
+-575.000000 -1.979538 
+-574.000000 -1.973629 
+-573.000000 -1.972671 
+-572.000000 -1.965825 
+-571.000000 -1.964317 
+-570.000000 -1.959977 
+-569.000000 -1.955657 
+-568.000000 -1.953681 
+-567.000000 -1.950013 
+-566.000000 -1.947038 
+-565.000000 -1.943941 
+-564.000000 -1.940681 
+-563.000000 -1.937116 
+-562.000000 -1.934854 
+-561.000000 -1.929801 
+-560.000000 -1.927539 
+-559.000000 -1.923708 
+-558.000000 -1.921671 
+-557.000000 -1.916516 
+-556.000000 -1.916129 
+-555.000000 -1.908141 
+-554.000000 -1.908793 
+-553.000000 -1.901315 
+-552.000000 -1.900480 
+-551.000000 -1.894245 
+-550.000000 -1.894856 
+-549.000000 -1.886584 
+-548.000000 -1.889049 
+-547.000000 -1.879228 
+-546.000000 -1.882081 
+-545.000000 -1.873034 
+-544.000000 -1.872728 
+-543.000000 -1.867043 
+-542.000000 -1.866432 
+-541.000000 -1.859260 
+-540.000000 -1.860584 
+-539.000000 -1.853412 
+-538.000000 -1.853596 
+-537.000000 -1.846668 
+-536.000000 -1.845262 
+-535.000000 -1.840779 
+-534.000000 -1.838619 
+-533.000000 -1.831997 
+-532.000000 -1.831549 
+-531.000000 -1.824907 
+-530.000000 -1.824886 
+-529.000000 -1.819099 
+-528.000000 -1.818244 
+-527.000000 -1.814617 
+-526.000000 -1.811153 
+-525.000000 -1.807098 
+-524.000000 -1.803349 
+-523.000000 -1.799580 
+-522.000000 -1.797685 
+-521.000000 -1.792774 
+-520.000000 -1.790737 
+-519.000000 -1.786723 
+-518.000000 -1.783666 
+-517.000000 -1.781343 
+-516.000000 -1.774579 
+-515.000000 -1.774416 
+-514.000000 -1.768140 
+-513.000000 -1.768710 
+-512.000000 -1.761049 
+-511.000000 -1.761273 
+-510.000000 -1.755222 
+-509.000000 -1.754386 
+-508.000000 -1.748803 
+-507.000000 -1.746603 
+-506.000000 -1.742018 
+-505.000000 -1.739023 
+-504.000000 -1.733766 
+-503.000000 -1.733542 
+-502.000000 -1.728407 
+-501.000000 -1.725351 
+-500.000000 -1.722763 
+-499.000000 -1.717669 
+-498.000000 -1.718974 
+-497.000000 -1.708317 
+-496.000000 -1.710029 
+-495.000000 -1.701899 
+-494.000000 -1.700758 
+-493.000000 -1.697192 
+-492.000000 -1.693280 
+-491.000000 -1.690916 
+-490.000000 -1.684661 
+-489.000000 -1.686006 
+-488.000000 -1.678304 
+-487.000000 -1.680688 
+-486.000000 -1.671722 
+-485.000000 -1.671519 
+-484.000000 -1.667545 
+-483.000000 -1.663552 
+-482.000000 -1.661351 
+-481.000000 -1.655320 
+-480.000000 -1.655300 
+-479.000000 -1.648657 
+-478.000000 -1.648412 
+-477.000000 -1.640221 
+-476.000000 -1.638510 
+-475.000000 -1.634150 
+-474.000000 -1.632010 
+-473.000000 -1.629096 
+-472.000000 -1.623228 
+-471.000000 -1.624695 
+-470.000000 -1.615404 
+-469.000000 -1.617340 
+-468.000000 -1.609801 
+-467.000000 -1.608191 
+-466.000000 -1.603525 
+-465.000000 -1.600917 
+-464.000000 -1.598981 
+-463.000000 -1.591727 
+-462.000000 -1.593256 
+-461.000000 -1.586919 
+-460.000000 -1.584229 
+-459.000000 -1.579971 
+-458.000000 -1.576588 
+-457.000000 -1.575366 
+-456.000000 -1.570089 
+-455.000000 -1.566808 
+-454.000000 -1.564078 
+-453.000000 -1.557089 
+-452.000000 -1.557435 
+-451.000000 -1.550609 
+-450.000000 -1.552260 
+-449.000000 -1.544476 
+-448.000000 -1.543213 
+-447.000000 -1.538139 
+-446.000000 -1.535837 
+-445.000000 -1.534329 
+-444.000000 -1.527809 
+-443.000000 -1.525832 
+-442.000000 -1.521961 
+-441.000000 -1.518803 
+-440.000000 -1.518477 
+-439.000000 -1.509450 
+-438.000000 -1.508391 
+-437.000000 -1.503256 
+-436.000000 -1.501056 
+-435.000000 -1.499650 
+-434.000000 -1.491887 
+-433.000000 -1.491194 
+-432.000000 -1.487139 
+-431.000000 -1.482330 
+-430.000000 -1.482616 
+-429.000000 -1.474954 
+-428.000000 -1.472183 
+-427.000000 -1.468047 
+-426.000000 -1.465276 
+-425.000000 -1.464298 
+-424.000000 -1.458470 
+-423.000000 -1.454721 
+-422.000000 -1.453499 
+-421.000000 -1.447590 
+-420.000000 -1.448527 
+-419.000000 -1.441070 
+-418.000000 -1.439093 
+-417.000000 -1.436872 
+-416.000000 -1.429619 
+-415.000000 -1.429354 
+-414.000000 -1.424708 
+-413.000000 -1.420286 
+-412.000000 -1.421978 
+-411.000000 -1.412075 
+-410.000000 -1.412870 
+-409.000000 -1.406655 
+-408.000000 -1.403436 
+-407.000000 -1.401602 
+-406.000000 -1.395204 
+-405.000000 -1.394226 
+-404.000000 -1.392209 
+-403.000000 -1.386972 
+-402.000000 -1.382551 
+-401.000000 -1.383896 
+-400.000000 -1.375745 
+-399.000000 -1.378639 
+-398.000000 -1.372261 
+-397.000000 -1.369449 
+-396.000000 -1.367615 
+-395.000000 -1.363031 
+-394.000000 -1.358120 
+-393.000000 -1.357244 
+-392.000000 -1.350479 
+-391.000000 -1.347158 
+-390.000000 -1.348055 
+-389.000000 -1.337948 
+-388.000000 -1.341840 
+-387.000000 -1.334403 
+-386.000000 -1.331326 
+-385.000000 -1.330878 
+-384.000000 -1.324541 
+-383.000000 -1.322076 
+-382.000000 -1.320772 
+-381.000000 -1.315046 
+-380.000000 -1.310400 
+-379.000000 -1.313436 
+-378.000000 -1.303289 
+-377.000000 -1.302087 
+-376.000000 -1.301720 
+-375.000000 -1.292123 
+-374.000000 -1.291044 
+-373.000000 -1.289230 
+-372.000000 -1.283464 
+-371.000000 -1.279776 
+-370.000000 -1.279837 
+-369.000000 -1.271626 
+-368.000000 -1.270138 
+-367.000000 -1.268793 
+-366.000000 -1.261010 
+-365.000000 -1.262232 
+-364.000000 -1.255855 
+-363.000000 -1.252676 
+-362.000000 -1.250170 
+-361.000000 -1.245748 
+-360.000000 -1.243079 
+-359.000000 -1.239534 
+-358.000000 -1.238108 
+-357.000000 -1.230141 
+-356.000000 -1.229448 
+-355.000000 -1.228531 
+-354.000000 -1.219382 
+-353.000000 -1.220992 
+-352.000000 -1.218445 
+-351.000000 -1.210641 
+-350.000000 -1.209317 
+-349.000000 -1.206220 
+-348.000000 -1.200759 
+-347.000000 -1.197764 
+-346.000000 -1.200616 
+-345.000000 -1.190123 
+-344.000000 -1.185396 
+-343.000000 -1.188697 
+-342.000000 -1.178998 
+-341.000000 -1.175962 
+-340.000000 -1.177734 
+-339.000000 -1.167424 
+-338.000000 -1.167567 
+-337.000000 -1.165815 
+-336.000000 -1.158520 
+-335.000000 -1.157929 
+-334.000000 -1.152183 
+-333.000000 -1.153121 
+-332.000000 -1.143687 
+-331.000000 -1.139917 
+-330.000000 -1.143605 
+-329.000000 -1.133601 
+-328.000000 -1.131115 
+-327.000000 -1.132541 
+-326.000000 -1.123983 
+-325.000000 -1.121987 
+-324.000000 -1.119256 
+-323.000000 -1.116220 
+-322.000000 -1.111941 
+-321.000000 -1.107357 
+-320.000000 -1.107622 
+-319.000000 -1.101366 
+-318.000000 -1.095743 
+-317.000000 -1.097414 
+-316.000000 -1.091525 
+-315.000000 -1.085310 
+-314.000000 -1.086737 
+-313.000000 -1.083945 
+-312.000000 -1.075673 
+-311.000000 -1.074144 
+-310.000000 -1.072616 
+-309.000000 -1.067502 
+-308.000000 -1.064588 
+-307.000000 -1.060656 
+-306.000000 -1.060472 
+-305.000000 -1.053056 
+-304.000000 -1.047575 
+-303.000000 -1.050264 
+-302.000000 -1.042603 
+-301.000000 -1.038568 
+-300.000000 -1.037183 
+-299.000000 -1.037081 
+-298.000000 -1.025691 
+-297.000000 -1.025080 
+-296.000000 -1.024122 
+-295.000000 -1.019986 
+-294.000000 -1.013221 
+-293.000000 -1.009248 
+-292.000000 -1.010124 
+-291.000000 -1.004399 
+-290.000000 -1.000425 
+-289.000000 -0.995576 
+-288.000000 -0.999631 
+-287.000000 -0.989219 
+-286.000000 -0.984960 
+-285.000000 -0.986794 
+-284.000000 -0.984756 
+-283.000000 -0.972938 
+-282.000000 -0.974161 
+-281.000000 -0.971655 
+-280.000000 -0.967539 
+-279.000000 -0.961569 
+-278.000000 -0.958879 
+-277.000000 -0.957025 
+-276.000000 -0.956292 
+-275.000000 -0.947449 
+-274.000000 -0.943577 
+-273.000000 -0.945289 
+-272.000000 -0.943027 
+-271.000000 -0.933226 
+-270.000000 -0.931454 
+-269.000000 -0.933410 
+-268.000000 -0.927684 
+-267.000000 -0.919595 
+-266.000000 -0.918271 
+-265.000000 -0.917191 
+-264.000000 -0.912993 
+-263.000000 -0.907247 
+-262.000000 -0.904680 
+-261.000000 -0.902663 
+-260.000000 -0.901216 
+-259.000000 -0.893840 
+-258.000000 -0.888359 
+-257.000000 -0.887748 
+-256.000000 -0.888767 
+-255.000000 -0.879109 
+-254.000000 -0.876684 
+-253.000000 -0.875359 
+-252.000000 -0.874952 
+-251.000000 -0.865803 
+-250.000000 -0.865314 
+-249.000000 -0.859690 
+-248.000000 -0.858794 
+-247.000000 -0.854821 
+-246.000000 -0.847995 
+-245.000000 -0.846080 
+-244.000000 -0.842758 
+-243.000000 -0.843227 
+-242.000000 -0.835586 
+-241.000000 -0.831735 
+-240.000000 -0.825337 
+-239.000000 -0.829759 
+-238.000000 -0.826173 
+-237.000000 -0.815149 
+-236.000000 -0.812847 
+-235.000000 -0.814742 
+-234.000000 -0.812562 
+-233.000000 -0.802231 
+-232.000000 -0.802150 
+-231.000000 -0.797911 
+-230.000000 -0.795670 
+-229.000000 -0.792899 
+-228.000000 -0.784993 
+-227.000000 -0.785910 
+-226.000000 -0.779145 
+-225.000000 -0.777536 
+-224.000000 -0.777108 
+-223.000000 -0.767348 
+-222.000000 -0.763904 
+-221.000000 -0.762947 
+-220.000000 -0.764883 
+-219.000000 -0.760868 
+-218.000000 -0.748684 
+-217.000000 -0.746524 
+-216.000000 -0.747624 
+-215.000000 -0.745933 
+-214.000000 -0.741023 
+-213.000000 -0.730101 
+-212.000000 -0.733402 
+-211.000000 -0.729836 
+-210.000000 -0.727778 
+-209.000000 -0.723520 
+-208.000000 -0.715064 
+-207.000000 -0.717448 
+-206.000000 -0.710113 
+-205.000000 -0.710479 
+-204.000000 -0.707036 
+-203.000000 -0.700312 
+-202.000000 -0.697846 
+-201.000000 -0.690267 
+-200.000000 -0.692264 
+-199.000000 -0.691754 
+-198.000000 -0.686253 
+-197.000000 -0.676330 
+-196.000000 -0.674822 
+-195.000000 -0.674496 
+-194.000000 -0.674313 
+-193.000000 -0.669341 
+-192.000000 -0.657095 
+-191.000000 -0.661252 
+-190.000000 -0.654670 
+-189.000000 -0.653305 
+-188.000000 -0.649678 
+-187.000000 -0.646174 
+-186.000000 -0.637596 
+-185.000000 -0.640489 
+-184.000000 -0.632420 
+-183.000000 -0.630301 
+-182.000000 -0.629853 
+-181.000000 -0.627347 
+-180.000000 -0.617077 
+-179.000000 -0.616120 
+-178.000000 -0.608418 
+-177.000000 -0.610353 
+-176.000000 -0.610618 
+-175.000000 -0.606849 
+-174.000000 -0.595398 
+-173.000000 -0.594277 
+-172.000000 -0.588083 
+-171.000000 -0.591465 
+-170.000000 -0.588979 
+-169.000000 -0.585638 
+-168.000000 -0.573779 
+-167.000000 -0.574981 
+-166.000000 -0.571375 
+-165.000000 -0.567707 
+-164.000000 -0.566179 
+-163.000000 -0.562511 
+-162.000000 -0.559373 
+-161.000000 -0.550816 
+-160.000000 -0.552731 
+-159.000000 -0.545355 
+-158.000000 -0.542625 
+-157.000000 -0.541484 
+-156.000000 -0.538692 
+-155.000000 -0.536981 
+-154.000000 -0.526467 
+-153.000000 -0.526039 
+-152.000000 -0.517094 
+-151.000000 -0.517685 
+-150.000000 -0.518255 
+-149.000000 -0.516238 
+-148.000000 -0.512326 
+-147.000000 -0.499815 
+-146.000000 -0.500508 
+-145.000000 -0.494110 
+-144.000000 -0.493254 
+-143.000000 -0.493988 
+-142.000000 -0.491522 
+-141.000000 -0.486897 
+-140.000000 -0.482007 
+-139.000000 -0.467398 
+-138.000000 -0.475405 
+-137.000000 -0.469028 
+-136.000000 -0.466195 
+-135.000000 -0.464464 
+-134.000000 -0.461692 
+-133.000000 -0.456986 
+-132.000000 -0.453644 
+-131.000000 -0.442906 
+-130.000000 -0.447491 
+-129.000000 -0.443334 
+-128.000000 -0.436691 
+-127.000000 -0.435265 
+-126.000000 -0.434613 
+-125.000000 -0.431068 
+-124.000000 -0.428134 
+-123.000000 -0.417579 
+-122.000000 -0.416336 
+-121.000000 -0.413871 
+-120.000000 -0.406250 
+-119.000000 -0.404702 
+-118.000000 -0.403724 
+-117.000000 -0.404029 
+-116.000000 -0.400973 
+-115.000000 -0.396735 
+-114.000000 -0.389155 
+-113.000000 -0.377704 
+-112.000000 -0.381535 
+-111.000000 -0.376278 
+-110.000000 -0.371469 
+-109.000000 -0.372916 
+-108.000000 -0.371530 
+-107.000000 -0.368555 
+-106.000000 -0.363828 
+-105.000000 -0.359977 
+-104.000000 -0.353864 
+-103.000000 -0.333957 
+-102.000000 -0.346916 
+-101.000000 -0.344818 
+-100.000000 -0.339072 
+-99.000000 -0.334426 
+-98.000000 -0.332714 
+-97.000000 -0.329882 
+-96.000000 -0.327172 
+-95.000000 -0.322364 
+-94.000000 -0.319287 
+-93.000000 -0.316108 
+-92.000000 -0.297057 
+-91.000000 -0.308895 
+-90.000000 -0.306654 
+-89.000000 -0.301723 
+-88.000000 -0.293206 
+-87.000000 -0.291454 
+-86.000000 -0.287929 
+-85.000000 -0.285300 
+-84.000000 -0.284180 
+-83.000000 -0.280247 
+-82.000000 -0.277211 
+-81.000000 -0.276376 
+-80.000000 -0.271241 
+-79.000000 -0.253922 
+-78.000000 -0.258730 
+-77.000000 -0.256102 
+-76.000000 -0.253535 
+-75.000000 -0.244691 
+-74.000000 -0.233383 
+-73.000000 -0.238131 
+-72.000000 -0.238864 
+-71.000000 -0.234422 
+-70.000000 -0.233138 
+-69.000000 -0.233526 
+-68.000000 -0.229267 
+-67.000000 -0.225762 
+-66.000000 -0.221524 
+-65.000000 -0.218550 
+-64.000000 -0.211500 
+-63.000000 -0.186315 
+-62.000000 -0.192978 
+-61.000000 -0.192448 
+-60.000000 -0.193997 
+-59.000000 -0.189005 
+-58.000000 -0.179673 
+-57.000000 -0.169750 
+-56.000000 -0.159929 
+-55.000000 -0.169627 
+-54.000000 -0.173051 
+-53.000000 -0.169954 
+-52.000000 -0.165756 
+-51.000000 -0.162068 
+-50.000000 -0.158156 
+-49.000000 -0.155996 
+-48.000000 -0.150882 
+-47.000000 -0.146542 
+-46.000000 -0.141692 
+-45.000000 -0.136782 
+-44.000000 -0.134337 
+-43.000000 -0.129508 
+-42.000000 -0.123049 
+-41.000000 -0.118974 
+-40.000000 -0.103610 
+-39.000000 -0.075247 
+-38.000000 -0.069033 
+-37.000000 -0.086108 
+-36.000000 -0.096886 
+-35.000000 -0.086515 
+-34.000000 -0.084315 
+-33.000000 -0.084192 
+-32.000000 -0.080443 
+-31.000000 -0.078487 
+-30.000000 -0.072660 
+-29.000000 -0.067240 
+-28.000000 -0.061229 
+-27.000000 -0.057276 
+-26.000000 -0.054831 
+-25.000000 -0.050674 
+-24.000000 -0.043747 
+-23.000000 -0.036982 
+-22.000000 -0.032051 
+-21.000000 -0.027405 
+-20.000000 -0.023941 
+-19.000000 -0.018053 
+-18.000000 -0.016749 
+-17.000000 -0.001610 
+-16.000000 0.000000 
+-15.000000 0.000000 
+-14.000000 0.000000 
+-13.000000 0.000000 
+-12.000000 0.000000 
+-11.000000 0.000000 
+-10.000000 0.000000 
+-9.000000 0.000367 
+-8.000000 0.000143 
+-7.000000 0.000020 
+-6.000000 0.000020 
+-5.000000 0.000020 
+-4.000000 0.000000 
+-3.000000 0.000000 
+-2.000000 0.000000 
+-1.000000 0.000000 
+0.000000 0.000000 
+1.000000 0.000000 
+2.000000 0.000000 
+3.000000 0.000000 
diff --git a/pid_tuning/pid_logger.py b/pid_tuning/pid_logger.py
new file mode 100644 (file)
index 0000000..2cdfdab
--- /dev/null
@@ -0,0 +1,31 @@
+import serial, struct, time, signal, sys
+from datetime import datetime
+
+ser = serial.Serial(
+       port='/dev/ttyUSB0',
+        baudrate=115200,
+        parity=serial.PARITY_ODD,
+        stopbits=serial.STOPBITS_ONE,
+        bytesize=serial.EIGHTBITS,
+        rtscts=False)
+
+def signal_handler(sig, frame):
+       print('Logging stopped')
+       log_file.close()
+       sys.exit(0)
+signal.signal(signal.SIGINT, signal_handler)
+
+file_name = datetime.now().strftime("%Y-%m-%d-%H-%M-%S") + ".csv"
+
+log_file = open("data/" + file_name, 'w')
+log_file.write("DutyCycle, Velocity \n")
+
+while 1:
+       ser.reset_input_buffer()
+       buffer = ser.read(8)
+       msg_received = struct.unpack('<ff', buffer)
+       print(msg_received[0])
+       print(msg_received[1])
+       log_file.write("%f %f \n" % (msg_received[0], msg_received[1])) 
+
+