diff --git a/.settings/language.settings.xml b/.settings/language.settings.xml
index f8fcf52..c0174a7 100644
--- a/.settings/language.settings.xml
+++ b/.settings/language.settings.xml
@@ -5,7 +5,7 @@
-
+
@@ -16,7 +16,7 @@
-
+
diff --git a/Core/Src/main.c b/Core/Src/main.c
index 76ebf1e..1d62312 100644
--- a/Core/Src/main.c
+++ b/Core/Src/main.c
@@ -6,12 +6,11 @@
******************************************************************************
* @attention
*
- * Copyright (c) 2025 STMicroelectronics.
- * All rights reserved.
+ * Copyright (c) 2026 Arrive.
+ * Author: D. Rice
+ *
+ * Version: 0.1
*
- * This software is licensed under terms that can be found in the LICENSE file
- * in the root directory of this software component.
- * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -51,7 +50,8 @@ TIM_HandleTypeDef htim2;
UART_HandleTypeDef huart2;
/* USER CODE BEGIN PV */
-
+uint8_t fw_rev_h = 0;
+uint8_t fw_rev_l = 1;
uint8_t rx_hold_buffer[2];
uint8_t rx_buffer[32];
uint8_t tx_buffer[32];
@@ -589,13 +589,19 @@ void serial_number_task (void)
tx_buffer[0] = IN_SYNC_BYTE_1;
tx_buffer[1] = IN_SYNC_BYTE_2;
- tx_buffer[2] = tx_len;
for (tx_len_counter = 0x00; tx_len_counter < tx_len; tx_len_counter++)
{
tx_buffer[tx_len_counter + 3] = serial_number[tx_len_counter];
}
+ tx_buffer[tx_len + 3] = 0x3A;
+ tx_buffer[tx_len + 4] = fw_rev_h + 0x30;
+ tx_buffer[tx_len + 5] = fw_rev_l + 0x30;
+
+ tx_len = 0x16;
+ tx_buffer[2] = tx_len;
+
tx_checksum = 0x00;
/* Need to apply checksum to all data bits */
@@ -606,10 +612,10 @@ void serial_number_task (void)
tx_checksum = ~tx_checksum;
- tx_buffer[22] = (uint8_t)((tx_checksum >> 8) & 0xFF);
- tx_buffer[23] = (uint8_t)(tx_checksum & 0xFF);
+ tx_buffer[tx_len + 3] = (uint8_t)((tx_checksum >> 8) & 0xFF);
+ tx_buffer[tx_len + 4] = (uint8_t)(tx_checksum & 0xFF);
- tx_len = 0x18;
+ tx_len = 0x1B;
HAL_UART_Transmit(&huart2, tx_buffer, tx_len, 100);
}
diff --git a/Debug/Core/Src/main.cyclo b/Debug/Core/Src/main.cyclo
index d2c5d3c..ac17b78 100644
--- a/Debug/Core/Src/main.cyclo
+++ b/Debug/Core/Src/main.cyclo
@@ -9,8 +9,8 @@
../Core/Src/main.c:535:10:get_divider_input_mv 1
../Core/Src/main.c:548:6:voltage_conversion_task 2
../Core/Src/main.c:586:6:serial_number_task 3
-../Core/Src/main.c:618:6:adc_task 1
-../Core/Src/main.c:632:6:power_switch 2
-../Core/Src/main.c:648:6:HAL_UART_TxCpltCallback 1
-../Core/Src/main.c:654:6:HAL_UART_RxCpltCallback 18
-../Core/Src/main.c:805:6:Error_Handler 1
+../Core/Src/main.c:624:6:adc_task 1
+../Core/Src/main.c:638:6:power_switch 2
+../Core/Src/main.c:654:6:HAL_UART_TxCpltCallback 1
+../Core/Src/main.c:660:6:HAL_UART_RxCpltCallback 18
+../Core/Src/main.c:811:6:Error_Handler 1
diff --git a/Debug/Core/Src/main.o b/Debug/Core/Src/main.o
index 80fc303..061dcd4 100644
Binary files a/Debug/Core/Src/main.o and b/Debug/Core/Src/main.o differ
diff --git a/Debug/Core/Src/main.su b/Debug/Core/Src/main.su
index 10c8966..4f17450 100644
--- a/Debug/Core/Src/main.su
+++ b/Debug/Core/Src/main.su
@@ -9,8 +9,8 @@
../Core/Src/main.c:535:10:get_divider_input_mv 48 static
../Core/Src/main.c:548:6:voltage_conversion_task 8 static
../Core/Src/main.c:586:6:serial_number_task 8 static
-../Core/Src/main.c:618:6:adc_task 8 static
-../Core/Src/main.c:632:6:power_switch 16 static
-../Core/Src/main.c:648:6:HAL_UART_TxCpltCallback 16 static
-../Core/Src/main.c:654:6:HAL_UART_RxCpltCallback 16 static
-../Core/Src/main.c:805:6:Error_Handler 4 static,ignoring_inline_asm
+../Core/Src/main.c:624:6:adc_task 8 static
+../Core/Src/main.c:638:6:power_switch 16 static
+../Core/Src/main.c:654:6:HAL_UART_TxCpltCallback 16 static
+../Core/Src/main.c:660:6:HAL_UART_RxCpltCallback 16 static
+../Core/Src/main.c:811:6:Error_Handler 4 static,ignoring_inline_asm
diff --git a/Debug/POWER_SWITCH.elf b/Debug/POWER_SWITCH.elf
index dab5e82..451465c 100644
Binary files a/Debug/POWER_SWITCH.elf and b/Debug/POWER_SWITCH.elf differ
diff --git a/Debug/POWER_SWITCH.list b/Debug/POWER_SWITCH.list
index 1157650..d3adfdf 100644
--- a/Debug/POWER_SWITCH.list
+++ b/Debug/POWER_SWITCH.list
@@ -5,47 +5,47 @@ Sections:
Idx Name Size VMA LMA File off Algn
0 .isr_vector 000001d8 08000000 08000000 00001000 2**0
CONTENTS, ALLOC, LOAD, READONLY, DATA
- 1 .text 00007554 080001d8 080001d8 000011d8 2**3
+ 1 .text 0000759c 080001d8 080001d8 000011d8 2**3
CONTENTS, ALLOC, LOAD, READONLY, CODE
- 2 .rodata 00000040 0800772c 0800772c 0000872c 2**2
+ 2 .rodata 00000040 08007774 08007774 00008774 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
- 3 .ARM.extab 00000000 0800776c 0800776c 00009020 2**0
+ 3 .ARM.extab 00000000 080077b4 080077b4 00009024 2**0
CONTENTS, READONLY
- 4 .ARM 00000008 0800776c 0800776c 0000876c 2**2
+ 4 .ARM 00000008 080077b4 080077b4 000087b4 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
- 5 .preinit_array 00000000 08007774 08007774 00009020 2**0
+ 5 .preinit_array 00000000 080077bc 080077bc 00009024 2**0
CONTENTS, ALLOC, LOAD, DATA
- 6 .init_array 00000004 08007774 08007774 00008774 2**2
+ 6 .init_array 00000004 080077bc 080077bc 000087bc 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
- 7 .fini_array 00000004 08007778 08007778 00008778 2**2
+ 7 .fini_array 00000004 080077c0 080077c0 000087c0 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
- 8 .data 00000020 20000000 0800777c 00009000 2**2
+ 8 .data 00000024 20000000 080077c4 00009000 2**2
CONTENTS, ALLOC, LOAD, DATA
- 9 .bss 00000248 20000020 0800779c 00009020 2**2
+ 9 .bss 0000024c 20000024 080077e8 00009024 2**2
ALLOC
- 10 ._user_heap_stack 00000600 20000268 0800779c 00009268 2**0
+ 10 ._user_heap_stack 00000600 20000270 080077e8 00009270 2**0
ALLOC
- 11 .ARM.attributes 00000030 00000000 00000000 00009020 2**0
+ 11 .ARM.attributes 00000030 00000000 00000000 00009024 2**0
CONTENTS, READONLY
- 12 .debug_info 000170b0 00000000 00000000 00009050 2**0
+ 12 .debug_info 000170d2 00000000 00000000 00009054 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 13 .debug_abbrev 00002a3f 00000000 00000000 00020100 2**0
+ 13 .debug_abbrev 00002a3f 00000000 00000000 00020126 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 14 .debug_aranges 000014a0 00000000 00000000 00022b40 2**3
+ 14 .debug_aranges 000014a0 00000000 00000000 00022b68 2**3
CONTENTS, READONLY, DEBUGGING, OCTETS
- 15 .debug_rnglists 00001021 00000000 00000000 00023fe0 2**0
+ 15 .debug_rnglists 00001021 00000000 00000000 00024008 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 16 .debug_macro 00020407 00000000 00000000 00025001 2**0
+ 16 .debug_macro 00020407 00000000 00000000 00025029 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 17 .debug_line 000168d9 00000000 00000000 00045408 2**0
+ 17 .debug_line 00016908 00000000 00000000 00045430 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 18 .debug_str 000db63e 00000000 00000000 0005bce1 2**0
+ 18 .debug_str 000db650 00000000 00000000 0005bd38 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 19 .comment 00000043 00000000 00000000 0013731f 2**0
+ 19 .comment 00000043 00000000 00000000 00137388 2**0
CONTENTS, READONLY
- 20 .debug_frame 00005a98 00000000 00000000 00137364 2**2
+ 20 .debug_frame 00005a98 00000000 00000000 001373cc 2**2
CONTENTS, READONLY, DEBUGGING, OCTETS
- 21 .debug_line_str 0000006d 00000000 00000000 0013cdfc 2**0
+ 21 .debug_line_str 0000006d 00000000 00000000 0013ce64 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
Disassembly of section .text:
@@ -62,9 +62,9 @@ Disassembly of section .text:
80001ea: 2301 movs r3, #1
80001ec: 7023 strb r3, [r4, #0]
80001ee: bd10 pop {r4, pc}
- 80001f0: 20000020 .word 0x20000020
+ 80001f0: 20000024 .word 0x20000024
80001f4: 00000000 .word 0x00000000
- 80001f8: 08007714 .word 0x08007714
+ 80001f8: 0800775c .word 0x0800775c
080001fc :
80001fc: b508 push {r3, lr}
@@ -75,8 +75,8 @@ Disassembly of section .text:
8000206: f3af 8000 nop.w
800020a: bd08 pop {r3, pc}
800020c: 00000000 .word 0x00000000
- 8000210: 20000024 .word 0x20000024
- 8000214: 08007714 .word 0x08007714
+ 8000210: 20000028 .word 0x20000028
+ 8000214: 0800775c .word 0x0800775c
08000218 <__aeabi_dmul>:
8000218: b570 push {r4, r5, r6, lr}
@@ -891,7 +891,7 @@ int main(void)
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
- 8000b54: f000 ff65 bl 8001a22
+ 8000b54: f000 ff89 bl 8001a6a
/* USER CODE BEGIN Init */
/* USER CODE END Init */
@@ -921,22 +921,22 @@ int main(void)
8000b70: 2200 movs r2, #0
8000b72: f44f 7180 mov.w r1, #256 @ 0x100
8000b76: 4830 ldr r0, [pc, #192] @ (8000c38 )
- 8000b78: f002 ffd4 bl 8003b24
+ 8000b78: f002 fff8 bl 8003b6c
HAL_GPIO_WritePin(POWER_SWITCH_GPIO_Port, POWER_SWITCH_Pin, GPIO_PIN_RESET);
8000b7c: 2200 movs r2, #0
8000b7e: f44f 5180 mov.w r1, #4096 @ 0x1000
8000b82: f04f 4090 mov.w r0, #1207959552 @ 0x48000000
- 8000b86: f002 ffcd bl 8003b24
+ 8000b86: f002 fff1 bl 8003b6c
/* Run ADC calibration */
HAL_ADCEx_Calibration_Start(&hadc1, ADC_SINGLE_ENDED);
8000b8a: 217f movs r1, #127 @ 0x7f
8000b8c: 482b ldr r0, [pc, #172] @ (8000c3c )
- 8000b8e: f002 fb71 bl 8003274
+ 8000b8e: f002 fb95 bl 80032bc
HAL_ADCEx_Calibration_Start(&hadc2, ADC_SINGLE_ENDED);
8000b92: 217f movs r1, #127 @ 0x7f
8000b94: 482a ldr r0, [pc, #168] @ (8000c40 )
- 8000b96: f002 fb6d bl 8003274
+ 8000b96: f002 fb91 bl 80032bc
/* Setup UART interrupts */
/* Make sure UART Rx counters and flags are reset */
@@ -961,7 +961,7 @@ int main(void)
8000bb2: 2201 movs r2, #1
8000bb4: 4927 ldr r1, [pc, #156] @ (8000c54 )
8000bb6: 4828 ldr r0, [pc, #160] @ (8000c58 )
- 8000bb8: f004 fd4e bl 8005658
+ 8000bb8: f004 fd72 bl 80056a0
/* Get real VDDA value */
vdd_ref = get_actual_vdda(&hadc1);
@@ -1011,7 +1011,7 @@ int main(void)
8000c02: 2364 movs r3, #100 @ 0x64
8000c04: 4916 ldr r1, [pc, #88] @ (8000c60 )
8000c06: 4814 ldr r0, [pc, #80] @ (8000c58 )
- 8000c08: f004 fc98 bl 800553c
+ 8000c08: f004 fcbc bl 8005584
/* Infinite loop */
/* USER CODE BEGIN WHILE */
@@ -1028,7 +1028,7 @@ int main(void)
8000c16: 2200 movs r2, #0
8000c18: 701a strb r2, [r3, #0]
adc_task();
- 8000c1a: f000 fbd9 bl 80013d0
+ 8000c1a: f000 fbfd bl 8001418
voltage_conversion_task();
8000c1e: f000 fabf bl 80011a0
}
@@ -1049,18 +1049,18 @@ int main(void)
8000c34: e7ea b.n 8000c0c
8000c36: bf00 nop
8000c38: 48000400 .word 0x48000400
- 8000c3c: 2000003c .word 0x2000003c
- 8000c40: 200000a8 .word 0x200000a8
- 8000c44: 2000023a .word 0x2000023a
- 8000c48: 2000023b .word 0x2000023b
- 8000c4c: 2000023c .word 0x2000023c
- 8000c50: 20000248 .word 0x20000248
- 8000c54: 200001f4 .word 0x200001f4
- 8000c58: 20000160 .word 0x20000160
- 8000c5c: 20000250 .word 0x20000250
- 8000c60: 20000218 .word 0x20000218
- 8000c64: 20000238 .word 0x20000238
- 8000c68: 2000025c .word 0x2000025c
+ 8000c3c: 20000040 .word 0x20000040
+ 8000c40: 200000ac .word 0x200000ac
+ 8000c44: 20000242 .word 0x20000242
+ 8000c48: 20000243 .word 0x20000243
+ 8000c4c: 20000244 .word 0x20000244
+ 8000c50: 20000250 .word 0x20000250
+ 8000c54: 200001fc .word 0x200001fc
+ 8000c58: 20000164 .word 0x20000164
+ 8000c5c: 20000258 .word 0x20000258
+ 8000c60: 20000220 .word 0x20000220
+ 8000c64: 20000240 .word 0x20000240
+ 8000c68: 20000264 .word 0x20000264
08000c6c :
/**
@@ -1077,7 +1077,7 @@ void SystemClock_Config(void)
8000c76: 2238 movs r2, #56 @ 0x38
8000c78: 2100 movs r1, #0
8000c7a: 4618 mov r0, r3
- 8000c7c: f006 fd1e bl 80076bc
+ 8000c7c: f006 fd42 bl 8007704
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
8000c80: 1d3b adds r3, r7, #4
8000c82: 2200 movs r2, #0
@@ -1091,7 +1091,7 @@ void SystemClock_Config(void)
*/
HAL_PWREx_ControlVoltageScaling(PWR_REGULATOR_VOLTAGE_SCALE1);
8000c8e: f44f 7000 mov.w r0, #512 @ 0x200
- 8000c92: f002 ff5f bl 8003b54
+ 8000c92: f002 ff83 bl 8003b9c
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -1129,13 +1129,13 @@ void SystemClock_Config(void)
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
8000cc0: f107 0318 add.w r3, r7, #24
8000cc4: 4618 mov r0, r3
- 8000cc6: f002 fff9 bl 8003cbc
+ 8000cc6: f003 f81d bl 8003d04
8000cca: 4603 mov r3, r0
8000ccc: 2b00 cmp r3, #0
8000cce: d001 beq.n 8000cd4
{
Error_Handler();
- 8000cd0: f000 fcee bl 80016b0
+ 8000cd0: f000 fd12 bl 80016f8
}
/** Initializes the CPU, AHB and APB buses clocks
@@ -1161,13 +1161,13 @@ void SystemClock_Config(void)
8000ce8: 1d3b adds r3, r7, #4
8000cea: 2104 movs r1, #4
8000cec: 4618 mov r0, r3
- 8000cee: f003 faf7 bl 80042e0
+ 8000cee: f003 fb1b bl 8004328
8000cf2: 4603 mov r3, r0
8000cf4: 2b00 cmp r3, #0
8000cf6: d001 beq.n 8000cfc
{
Error_Handler();
- 8000cf8: f000 fcda bl 80016b0
+ 8000cf8: f000 fcfe bl 80016f8
}
}
8000cfc: bf00 nop
@@ -1201,7 +1201,7 @@ static void MX_ADC1_Init(void)
8000d18: 2220 movs r2, #32
8000d1a: 2100 movs r1, #0
8000d1c: 4618 mov r0, r3
- 8000d1e: f006 fccd bl 80076bc
+ 8000d1e: f006 fcf1 bl 8007704
/* USER CODE END ADC1_Init 1 */
@@ -1273,13 +1273,13 @@ static void MX_ADC1_Init(void)
8000d88: f883 2040 strb.w r2, [r3, #64] @ 0x40
if (HAL_ADC_Init(&hadc1) != HAL_OK)
8000d8c: 4817 ldr r0, [pc, #92] @ (8000dec )
- 8000d8e: f001 f933 bl 8001ff8
+ 8000d8e: f001 f957 bl 8002040
8000d92: 4603 mov r3, r0
8000d94: 2b00 cmp r3, #0
8000d96: d001 beq.n 8000d9c
{
Error_Handler();
- 8000d98: f000 fc8a bl 80016b0
+ 8000d98: f000 fcae bl 80016f8
}
/** Configure the ADC multi-mode
@@ -1291,13 +1291,13 @@ static void MX_ADC1_Init(void)
8000da0: f107 0324 add.w r3, r7, #36 @ 0x24
8000da4: 4619 mov r1, r3
8000da6: 4811 ldr r0, [pc, #68] @ (8000dec )
- 8000da8: f002 fac6 bl 8003338
+ 8000da8: f002 faea bl 8003380
8000dac: 4603 mov r3, r0
8000dae: 2b00 cmp r3, #0
8000db0: d001 beq.n 8000db6
{
Error_Handler();
- 8000db2: f000 fc7d bl 80016b0
+ 8000db2: f000 fca1 bl 80016f8
}
/** Configure Regular Channel
@@ -1324,13 +1324,13 @@ static void MX_ADC1_Init(void)
8000dce: 1d3b adds r3, r7, #4
8000dd0: 4619 mov r1, r3
8000dd2: 4806 ldr r0, [pc, #24] @ (8000dec )
- 8000dd4: f001 fc6a bl 80026ac
+ 8000dd4: f001 fc8e bl 80026f4
8000dd8: 4603 mov r3, r0
8000dda: 2b00 cmp r3, #0
8000ddc: d001 beq.n 8000de2
{
Error_Handler();
- 8000dde: f000 fc67 bl 80016b0
+ 8000dde: f000 fc8b bl 80016f8
}
/* USER CODE BEGIN ADC1_Init 2 */
@@ -1342,7 +1342,7 @@ static void MX_ADC1_Init(void)
8000de6: 46bd mov sp, r7
8000de8: bd80 pop {r7, pc}
8000dea: bf00 nop
- 8000dec: 2000003c .word 0x2000003c
+ 8000dec: 20000040 .word 0x20000040
8000df0: cb840000 .word 0xcb840000
08000df4 :
@@ -1365,7 +1365,7 @@ static void MX_ADC2_Init(void)
8000dfc: 2220 movs r2, #32
8000dfe: 2100 movs r1, #0
8000e00: 4618 mov r0, r3
- 8000e02: f006 fc5b bl 80076bc
+ 8000e02: f006 fc7f bl 8007704
/* USER CODE END ADC2_Init 1 */
@@ -1437,13 +1437,13 @@ static void MX_ADC2_Init(void)
8000e6a: f883 2040 strb.w r2, [r3, #64] @ 0x40
if (HAL_ADC_Init(&hadc2) != HAL_OK)
8000e6e: 4818 ldr r0, [pc, #96] @ (8000ed0 )
- 8000e70: f001 f8c2 bl 8001ff8
+ 8000e70: f001 f8e6 bl 8002040
8000e74: 4603 mov r3, r0
8000e76: 2b00 cmp r3, #0
8000e78: d001 beq.n 8000e7e
{
Error_Handler();
- 8000e7a: f000 fc19 bl 80016b0
+ 8000e7a: f000 fc3d bl 80016f8
}
/** Configure Regular Channel
@@ -1470,13 +1470,13 @@ static void MX_ADC2_Init(void)
8000e96: 463b mov r3, r7
8000e98: 4619 mov r1, r3
8000e9a: 480d ldr r0, [pc, #52] @ (8000ed0 )
- 8000e9c: f001 fc06 bl 80026ac
+ 8000e9c: f001 fc2a bl 80026f4
8000ea0: 4603 mov r3, r0
8000ea2: 2b00 cmp r3, #0
8000ea4: d001 beq.n 8000eaa
{
Error_Handler();
- 8000ea6: f000 fc03 bl 80016b0
+ 8000ea6: f000 fc27 bl 80016f8
}
/** Configure Regular Channel
@@ -1491,13 +1491,13 @@ static void MX_ADC2_Init(void)
8000eb2: 463b mov r3, r7
8000eb4: 4619 mov r1, r3
8000eb6: 4806 ldr r0, [pc, #24] @ (8000ed0 )
- 8000eb8: f001 fbf8 bl 80026ac
+ 8000eb8: f001 fc1c bl 80026f4
8000ebc: 4603 mov r3, r0
8000ebe: 2b00 cmp r3, #0
8000ec0: d001 beq.n 8000ec6
{
Error_Handler();
- 8000ec2: f000 fbf5 bl 80016b0
+ 8000ec2: f000 fc19 bl 80016f8
}
/* USER CODE BEGIN ADC2_Init 2 */
@@ -1509,7 +1509,7 @@ static void MX_ADC2_Init(void)
8000eca: 46bd mov sp, r7
8000ecc: bd80 pop {r7, pc}
8000ece: bf00 nop
- 8000ed0: 200000a8 .word 0x200000a8
+ 8000ed0: 200000ac .word 0x200000ac
8000ed4: 50000100 .word 0x50000100
8000ed8: 0c900008 .word 0x0c900008
8000edc: 10c00010 .word 0x10c00010
@@ -1572,13 +1572,13 @@ static void MX_TIM2_Init(void)
8000f22: 619a str r2, [r3, #24]
if (HAL_TIM_Base_Init(&htim2) != HAL_OK)
8000f24: 4813 ldr r0, [pc, #76] @ (8000f74 )
- 8000f26: f003 fde7 bl 8004af8
+ 8000f26: f003 fe0b bl 8004b40
8000f2a: 4603 mov r3, r0
8000f2c: 2b00 cmp r3, #0
8000f2e: d001 beq.n 8000f34
{
Error_Handler();
- 8000f30: f000 fbbe bl 80016b0
+ 8000f30: f000 fbe2 bl 80016f8
}
sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
8000f34: f44f 5380 mov.w r3, #4096 @ 0x1000
@@ -1587,13 +1587,13 @@ static void MX_TIM2_Init(void)
8000f3a: f107 0310 add.w r3, r7, #16
8000f3e: 4619 mov r1, r3
8000f40: 480c ldr r0, [pc, #48] @ (8000f74 )
- 8000f42: f003 ff7f bl 8004e44
+ 8000f42: f003 ffa3 bl 8004e8c
8000f46: 4603 mov r3, r0
8000f48: 2b00 cmp r3, #0
8000f4a: d001 beq.n 8000f50
{
Error_Handler();
- 8000f4c: f000 fbb0 bl 80016b0
+ 8000f4c: f000 fbd4 bl 80016f8
}
sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
8000f50: 2300 movs r3, #0
@@ -1605,13 +1605,13 @@ static void MX_TIM2_Init(void)
8000f58: 1d3b adds r3, r7, #4
8000f5a: 4619 mov r1, r3
8000f5c: 4805 ldr r0, [pc, #20] @ (8000f74 )
- 8000f5e: f004 f9d5 bl 800530c
+ 8000f5e: f004 f9f9 bl 8005354
8000f62: 4603 mov r3, r0
8000f64: 2b00 cmp r3, #0
8000f66: d001 beq.n 8000f6c
{
Error_Handler();
- 8000f68: f000 fba2 bl 80016b0
+ 8000f68: f000 fbc6 bl 80016f8
}
/* USER CODE BEGIN TIM2_Init 2 */
@@ -1622,7 +1622,7 @@ static void MX_TIM2_Init(void)
8000f6e: 3720 adds r7, #32
8000f70: 46bd mov sp, r7
8000f72: bd80 pop {r7, pc}
- 8000f74: 20000114 .word 0x20000114
+ 8000f74: 20000118 .word 0x20000118
8000f78: 0001f7e7 .word 0x0001f7e7
08000f7c :
@@ -1685,45 +1685,45 @@ static void MX_USART2_UART_Init(void)
8000fc2: 629a str r2, [r3, #40] @ 0x28
if (HAL_UART_Init(&huart2) != HAL_OK)
8000fc4: 4811 ldr r0, [pc, #68] @ (800100c )
- 8000fc6: f004 fa69 bl 800549c
+ 8000fc6: f004 fa8d bl 80054e4
8000fca: 4603 mov r3, r0
8000fcc: 2b00 cmp r3, #0
8000fce: d001 beq.n 8000fd4
{
Error_Handler();
- 8000fd0: f000 fb6e bl 80016b0
+ 8000fd0: f000 fb92 bl 80016f8
}
if (HAL_UARTEx_SetTxFifoThreshold(&huart2, UART_TXFIFO_THRESHOLD_1_8) != HAL_OK)
8000fd4: 2100 movs r1, #0
8000fd6: 480d ldr r0, [pc, #52] @ (800100c )
- 8000fd8: f006 faa5 bl 8007526
+ 8000fd8: f006 fac9 bl 800756e
8000fdc: 4603 mov r3, r0
8000fde: 2b00 cmp r3, #0
8000fe0: d001 beq.n 8000fe6
{
Error_Handler();
- 8000fe2: f000 fb65 bl 80016b0
+ 8000fe2: f000 fb89 bl 80016f8
}
if (HAL_UARTEx_SetRxFifoThreshold(&huart2, UART_RXFIFO_THRESHOLD_1_8) != HAL_OK)
8000fe6: 2100 movs r1, #0
8000fe8: 4808 ldr r0, [pc, #32] @ (800100c )
- 8000fea: f006 fada bl 80075a2
+ 8000fea: f006 fafe bl 80075ea
8000fee: 4603 mov r3, r0
8000ff0: 2b00 cmp r3, #0
8000ff2: d001 beq.n 8000ff8
{
Error_Handler();
- 8000ff4: f000 fb5c bl 80016b0
+ 8000ff4: f000 fb80 bl 80016f8
}
if (HAL_UARTEx_DisableFifoMode(&huart2) != HAL_OK)
8000ff8: 4804 ldr r0, [pc, #16] @ (800100c )
- 8000ffa: f006 fa5b bl 80074b4
+ 8000ffa: f006 fa7f bl 80074fc
8000ffe: 4603 mov r3, r0
8001000: 2b00 cmp r3, #0
8001002: d001 beq.n 8001008
{
Error_Handler();
- 8001004: f000 fb54 bl 80016b0
+ 8001004: f000 fb78 bl 80016f8
}
/* USER CODE BEGIN USART2_Init 2 */
@@ -1732,7 +1732,7 @@ static void MX_USART2_UART_Init(void)
}
8001008: bf00 nop
800100a: bd80 pop {r7, pc}
- 800100c: 20000160 .word 0x20000160
+ 800100c: 20000164 .word 0x20000164
8001010: 40004400 .word 0x40004400
08001014 :
@@ -1786,14 +1786,14 @@ static void MX_GPIO_Init(void)
800105a: 2200 movs r2, #0
800105c: f44f 5180 mov.w r1, #4096 @ 0x1000
8001060: f04f 4090 mov.w r0, #1207959552 @ 0x48000000
- 8001064: f002 fd5e bl 8003b24
+ 8001064: f002 fd82 bl 8003b6c
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(LD2_GPIO_Port, LD2_Pin, GPIO_PIN_RESET);
8001068: 2200 movs r2, #0
800106a: f44f 7180 mov.w r1, #256 @ 0x100
800106e: 4814 ldr r0, [pc, #80] @ (80010c0 )
- 8001070: f002 fd58 bl 8003b24
+ 8001070: f002 fd7c bl 8003b6c
/*Configure GPIO pin : POWER_SWITCH_Pin */
GPIO_InitStruct.Pin = POWER_SWITCH_Pin;
@@ -1812,7 +1812,7 @@ static void MX_GPIO_Init(void)
8001086: f107 030c add.w r3, r7, #12
800108a: 4619 mov r1, r3
800108c: f04f 4090 mov.w r0, #1207959552 @ 0x48000000
- 8001090: f002 fbc6 bl 8003820
+ 8001090: f002 fbea bl 8003868
/*Configure GPIO pin : LD2_Pin */
GPIO_InitStruct.Pin = LD2_Pin;
@@ -1831,7 +1831,7 @@ static void MX_GPIO_Init(void)
80010a6: f107 030c add.w r3, r7, #12
80010aa: 4619 mov r1, r3
80010ac: 4804 ldr r0, [pc, #16] @ (80010c0 )
- 80010ae: f002 fbb7 bl 8003820
+ 80010ae: f002 fbdb bl 8003868
/* USER CODE BEGIN MX_GPIO_Init_2 */
@@ -1861,24 +1861,24 @@ uint32_t get_actual_vdda(ADC_HandleTypeDef *hadc)
/* Perform ADC reading of the VREFINT channel */
HAL_ADC_Start(hadc);
80010d0: 6878 ldr r0, [r7, #4]
- 80010d2: f001 f915 bl 8002300
+ 80010d2: f001 f939 bl 8002348
if (HAL_ADC_PollForConversion(hadc, 10) == HAL_OK) {
80010d6: 210a movs r1, #10
80010d8: 6878 ldr r0, [r7, #4]
- 80010da: f001 fa01 bl 80024e0
+ 80010da: f001 fa25 bl 8002528
80010de: 4603 mov r3, r0
80010e0: 2b00 cmp r3, #0
80010e2: d103 bne.n 80010ec
vrefint_raw = HAL_ADC_GetValue(hadc);
80010e4: 6878 ldr r0, [r7, #4]
- 80010e6: f001 fad3 bl 8002690
+ 80010e6: f001 faf7 bl 80026d8
80010ea: 60f8 str r0, [r7, #12]
}
HAL_ADC_Stop(hadc);
80010ec: 6878 ldr r0, [r7, #4]
- 80010ee: f001 f9c3 bl 8002478
+ 80010ee: f001 f9e7 bl 80024c0
if (vrefint_raw == 0) return 0; /* Avoid division by zero */
80010f2: 68fb ldr r3, [r7, #12]
@@ -2148,20 +2148,20 @@ void voltage_conversion_task(void)
80012b2: 2364 movs r3, #100 @ 0x64
80012b4: 4908 ldr r1, [pc, #32] @ (80012d8 )
80012b6: 480b ldr r0, [pc, #44] @ (80012e4 )
- 80012b8: f004 f940 bl 800553c
+ 80012b8: f004 f964 bl 8005584
}
80012bc: bf00 nop
80012be: bd80 pop {r7, pc}
- 80012c0: 2000024a .word 0x2000024a
- 80012c4: 20000250 .word 0x20000250
- 80012c8: 20000254 .word 0x20000254
- 80012cc: 2000024c .word 0x2000024c
- 80012d0: 20000258 .word 0x20000258
- 80012d4: 20000238 .word 0x20000238
- 80012d8: 20000218 .word 0x20000218
- 80012dc: 20000239 .word 0x20000239
- 80012e0: 20000240 .word 0x20000240
- 80012e4: 20000160 .word 0x20000160
+ 80012c0: 20000252 .word 0x20000252
+ 80012c4: 20000258 .word 0x20000258
+ 80012c8: 2000025c .word 0x2000025c
+ 80012cc: 20000254 .word 0x20000254
+ 80012d0: 20000260 .word 0x20000260
+ 80012d4: 20000240 .word 0x20000240
+ 80012d8: 20000220 .word 0x20000220
+ 80012dc: 20000241 .word 0x20000241
+ 80012e0: 20000248 .word 0x20000248
+ 80012e4: 20000164 .word 0x20000164
080012e8 :
@@ -2170,17173 +2170,17213 @@ void serial_number_task (void)
80012e8: b580 push {r7, lr}
80012ea: af00 add r7, sp, #0
tx_len = 0x13;
- 80012ec: 4b32 ldr r3, [pc, #200] @ (80013b8 )
+ 80012ec: 4b42 ldr r3, [pc, #264] @ (80013f8 )
80012ee: 2213 movs r2, #19
80012f0: 701a strb r2, [r3, #0]
tx_buffer[0] = IN_SYNC_BYTE_1;
- 80012f2: 4b32 ldr r3, [pc, #200] @ (80013bc )
+ 80012f2: 4b42 ldr r3, [pc, #264] @ (80013fc )
80012f4: 2241 movs r2, #65 @ 0x41
80012f6: 701a strb r2, [r3, #0]
tx_buffer[1] = IN_SYNC_BYTE_2;
- 80012f8: 4b30 ldr r3, [pc, #192] @ (80013bc )
+ 80012f8: 4b40 ldr r3, [pc, #256] @ (80013fc )
80012fa: 2252 movs r2, #82 @ 0x52
80012fc: 705a strb r2, [r3, #1]
- tx_buffer[2] = tx_len;
- 80012fe: 4b2e ldr r3, [pc, #184] @ (80013b8 )
- 8001300: 781a ldrb r2, [r3, #0]
- 8001302: 4b2e ldr r3, [pc, #184] @ (80013bc )
- 8001304: 709a strb r2, [r3, #2]
for (tx_len_counter = 0x00; tx_len_counter < tx_len; tx_len_counter++)
- 8001306: 4b2e ldr r3, [pc, #184] @ (80013c0 )
- 8001308: 2200 movs r2, #0
- 800130a: 701a strb r2, [r3, #0]
- 800130c: e00f b.n 800132e
+ 80012fe: 4b40 ldr r3, [pc, #256] @ (8001400 )
+ 8001300: 2200 movs r2, #0
+ 8001302: 701a strb r2, [r3, #0]
+ 8001304: e00f b.n 8001326
{
tx_buffer[tx_len_counter + 3] = serial_number[tx_len_counter];
- 800130e: 4b2c ldr r3, [pc, #176] @ (80013c0 )
- 8001310: 781b ldrb r3, [r3, #0]
- 8001312: 4619 mov r1, r3
- 8001314: 4b2a ldr r3, [pc, #168] @ (80013c0 )
- 8001316: 781b ldrb r3, [r3, #0]
- 8001318: 3303 adds r3, #3
- 800131a: 4a2a ldr r2, [pc, #168] @ (80013c4 )
- 800131c: 5c51 ldrb r1, [r2, r1]
- 800131e: 4a27 ldr r2, [pc, #156] @ (80013bc )
- 8001320: 54d1 strb r1, [r2, r3]
+ 8001306: 4b3e ldr r3, [pc, #248] @ (8001400 )
+ 8001308: 781b ldrb r3, [r3, #0]
+ 800130a: 4619 mov r1, r3
+ 800130c: 4b3c ldr r3, [pc, #240] @ (8001400 )
+ 800130e: 781b ldrb r3, [r3, #0]
+ 8001310: 3303 adds r3, #3
+ 8001312: 4a3c ldr r2, [pc, #240] @ (8001404 )
+ 8001314: 5c51 ldrb r1, [r2, r1]
+ 8001316: 4a39 ldr r2, [pc, #228] @ (80013fc )
+ 8001318: 54d1 strb r1, [r2, r3]
for (tx_len_counter = 0x00; tx_len_counter < tx_len; tx_len_counter++)
- 8001322: 4b27 ldr r3, [pc, #156] @ (80013c0 )
- 8001324: 781b ldrb r3, [r3, #0]
- 8001326: 3301 adds r3, #1
- 8001328: b2da uxtb r2, r3
- 800132a: 4b25 ldr r3, [pc, #148] @ (80013c0 )
- 800132c: 701a strb r2, [r3, #0]
- 800132e: 4b24 ldr r3, [pc, #144] @ (80013c0 )
- 8001330: 781a ldrb r2, [r3, #0]
- 8001332: 4b21 ldr r3, [pc, #132] @ (80013b8 )
- 8001334: 781b ldrb r3, [r3, #0]
- 8001336: 429a cmp r2, r3
- 8001338: d3e9 bcc.n 800130e
+ 800131a: 4b39 ldr r3, [pc, #228] @ (8001400 )
+ 800131c: 781b ldrb r3, [r3, #0]
+ 800131e: 3301 adds r3, #1
+ 8001320: b2da uxtb r2, r3
+ 8001322: 4b37 ldr r3, [pc, #220] @ (8001400 )
+ 8001324: 701a strb r2, [r3, #0]
+ 8001326: 4b36 ldr r3, [pc, #216] @ (8001400 )
+ 8001328: 781a ldrb r2, [r3, #0]
+ 800132a: 4b33 ldr r3, [pc, #204] @ (80013f8 )
+ 800132c: 781b ldrb r3, [r3, #0]
+ 800132e: 429a cmp r2, r3
+ 8001330: d3e9 bcc.n 8001306
}
+ tx_buffer[tx_len + 3] = 0x3A;
+ 8001332: 4b31 ldr r3, [pc, #196] @ (80013f8 )
+ 8001334: 781b ldrb r3, [r3, #0]
+ 8001336: 3303 adds r3, #3
+ 8001338: 4a30 ldr r2, [pc, #192] @ (80013fc )
+ 800133a: 213a movs r1, #58 @ 0x3a
+ 800133c: 54d1 strb r1, [r2, r3]
+ tx_buffer[tx_len + 4] = fw_rev_h + 0x30;
+ 800133e: 4b32 ldr r3, [pc, #200] @ (8001408 )
+ 8001340: 781a ldrb r2, [r3, #0]
+ 8001342: 4b2d ldr r3, [pc, #180] @ (80013f8 )
+ 8001344: 781b ldrb r3, [r3, #0]
+ 8001346: 3304 adds r3, #4
+ 8001348: 3230 adds r2, #48 @ 0x30
+ 800134a: b2d1 uxtb r1, r2
+ 800134c: 4a2b ldr r2, [pc, #172] @ (80013fc )
+ 800134e: 54d1 strb r1, [r2, r3]
+ tx_buffer[tx_len + 5] = fw_rev_l + 0x30;
+ 8001350: 4b2e ldr r3, [pc, #184] @ (800140c )
+ 8001352: 781a ldrb r2, [r3, #0]
+ 8001354: 4b28 ldr r3, [pc, #160] @ (80013f8 )
+ 8001356: 781b ldrb r3, [r3, #0]
+ 8001358: 3305 adds r3, #5
+ 800135a: 3230 adds r2, #48 @ 0x30
+ 800135c: b2d1 uxtb r1, r2
+ 800135e: 4a27 ldr r2, [pc, #156] @ (80013fc )
+ 8001360: 54d1 strb r1, [r2, r3]
+
+ tx_len = 0x16;
+ 8001362: 4b25 ldr r3, [pc, #148] @ (80013f8 )
+ 8001364: 2216 movs r2, #22
+ 8001366: 701a strb r2, [r3, #0]
+ tx_buffer[2] = tx_len;
+ 8001368: 4b23 ldr r3, [pc, #140] @ (80013f8 )
+ 800136a: 781a ldrb r2, [r3, #0]
+ 800136c: 4b23 ldr r3, [pc, #140] @ (80013fc )
+ 800136e: 709a strb r2, [r3, #2]
+
tx_checksum = 0x00;
- 800133a: 4b23 ldr r3, [pc, #140] @ (80013c8 )
- 800133c: 2200 movs r2, #0
- 800133e: 801a strh r2, [r3, #0]
+ 8001370: 4b27 ldr r3, [pc, #156] @ (8001410 )
+ 8001372: 2200 movs r2, #0
+ 8001374: 801a strh r2, [r3, #0]
/* Need to apply checksum to all data bits */
for (tx_len_counter = 0x00; tx_len_counter < tx_len; tx_len_counter++)
- 8001340: 4b1f ldr r3, [pc, #124] @ (80013c0 )
- 8001342: 2200 movs r2, #0
- 8001344: 701a strb r2, [r3, #0]
- 8001346: e011 b.n 800136c
+ 8001376: 4b22 ldr r3, [pc, #136] @ (8001400 )
+ 8001378: 2200 movs r2, #0
+ 800137a: 701a strb r2, [r3, #0]
+ 800137c: e011 b.n 80013a2
{
tx_checksum += tx_buffer[tx_len_counter + 3];
- 8001348: 4b1d ldr r3, [pc, #116] @ (80013c0 )
- 800134a: 781b ldrb r3, [r3, #0]
- 800134c: 3303 adds r3, #3
- 800134e: 4a1b ldr r2, [pc, #108] @ (80013bc )
- 8001350: 5cd3 ldrb r3, [r2, r3]
- 8001352: 461a mov r2, r3
- 8001354: 4b1c ldr r3, [pc, #112] @ (80013c8 )
- 8001356: 881b ldrh r3, [r3, #0]
- 8001358: 4413 add r3, r2
- 800135a: b29a uxth r2, r3
- 800135c: 4b1a ldr r3, [pc, #104] @ (80013c8 )
- 800135e: 801a strh r2, [r3, #0]
+ 800137e: 4b20 ldr r3, [pc, #128] @ (8001400 )
+ 8001380: 781b ldrb r3, [r3, #0]
+ 8001382: 3303 adds r3, #3
+ 8001384: 4a1d ldr r2, [pc, #116] @ (80013fc )
+ 8001386: 5cd3 ldrb r3, [r2, r3]
+ 8001388: 461a mov r2, r3
+ 800138a: 4b21 ldr r3, [pc, #132] @ (8001410 )
+ 800138c: 881b ldrh r3, [r3, #0]
+ 800138e: 4413 add r3, r2
+ 8001390: b29a uxth r2, r3
+ 8001392: 4b1f ldr r3, [pc, #124] @ (8001410 )
+ 8001394: 801a strh r2, [r3, #0]
for (tx_len_counter = 0x00; tx_len_counter < tx_len; tx_len_counter++)
- 8001360: 4b17 ldr r3, [pc, #92] @ (80013c0 )
- 8001362: 781b ldrb r3, [r3, #0]
- 8001364: 3301 adds r3, #1
- 8001366: b2da uxtb r2, r3
- 8001368: 4b15 ldr r3, [pc, #84] @ (80013c0 )
- 800136a: 701a strb r2, [r3, #0]
- 800136c: 4b14 ldr r3, [pc, #80] @ (80013c0 )
- 800136e: 781a ldrb r2, [r3, #0]
- 8001370: 4b11 ldr r3, [pc, #68] @ (80013b8 )
- 8001372: 781b ldrb r3, [r3, #0]
- 8001374: 429a cmp r2, r3
- 8001376: d3e7 bcc.n 8001348
+ 8001396: 4b1a ldr r3, [pc, #104] @ (8001400 )
+ 8001398: 781b ldrb r3, [r3, #0]
+ 800139a: 3301 adds r3, #1
+ 800139c: b2da uxtb r2, r3
+ 800139e: 4b18 ldr r3, [pc, #96] @ (8001400 )
+ 80013a0: 701a strb r2, [r3, #0]
+ 80013a2: 4b17 ldr r3, [pc, #92] @ (8001400 )
+ 80013a4: 781a ldrb r2, [r3, #0]
+ 80013a6: 4b14 ldr r3, [pc, #80] @ (80013f8 )
+ 80013a8: 781b ldrb r3, [r3, #0]
+ 80013aa: 429a cmp r2, r3
+ 80013ac: d3e7 bcc.n 800137e
}
tx_checksum = ~tx_checksum;
- 8001378: 4b13 ldr r3, [pc, #76] @ (80013c8 )
- 800137a: 881b ldrh r3, [r3, #0]
- 800137c: 43db mvns r3, r3
- 800137e: b29a uxth r2, r3
- 8001380: 4b11 ldr r3, [pc, #68] @ (80013c8 )
- 8001382: 801a strh r2, [r3, #0]
+ 80013ae: 4b18 ldr r3, [pc, #96] @ (8001410 )
+ 80013b0: 881b ldrh r3, [r3, #0]
+ 80013b2: 43db mvns r3, r3
+ 80013b4: b29a uxth r2, r3
+ 80013b6: 4b16 ldr r3, [pc, #88] @ (8001410 )
+ 80013b8: 801a strh r2, [r3, #0]
- tx_buffer[22] = (uint8_t)((tx_checksum >> 8) & 0xFF);
- 8001384: 4b10 ldr r3, [pc, #64] @ (80013c8 )
- 8001386: 881b ldrh r3, [r3, #0]
- 8001388: 0a1b lsrs r3, r3, #8
- 800138a: b29b uxth r3, r3
- 800138c: b2da uxtb r2, r3
- 800138e: 4b0b ldr r3, [pc, #44] @ (80013bc )
- 8001390: 759a strb r2, [r3, #22]
- tx_buffer[23] = (uint8_t)(tx_checksum & 0xFF);
- 8001392: 4b0d ldr r3, [pc, #52] @ (80013c8 )
- 8001394: 881b ldrh r3, [r3, #0]
- 8001396: b2da uxtb r2, r3
- 8001398: 4b08 ldr r3, [pc, #32] @ (80013bc )
- 800139a: 75da strb r2, [r3, #23]
+ tx_buffer[tx_len + 3] = (uint8_t)((tx_checksum >> 8) & 0xFF);
+ 80013ba: 4b15 ldr r3, [pc, #84] @ (8001410 )
+ 80013bc: 881b ldrh r3, [r3, #0]
+ 80013be: 0a1b lsrs r3, r3, #8
+ 80013c0: b29a uxth r2, r3
+ 80013c2: 4b0d ldr r3, [pc, #52] @ (80013f8 )
+ 80013c4: 781b ldrb r3, [r3, #0]
+ 80013c6: 3303 adds r3, #3
+ 80013c8: b2d1 uxtb r1, r2
+ 80013ca: 4a0c ldr r2, [pc, #48] @ (80013fc )
+ 80013cc: 54d1 strb r1, [r2, r3]
+ tx_buffer[tx_len + 4] = (uint8_t)(tx_checksum & 0xFF);
+ 80013ce: 4b10 ldr r3, [pc, #64] @ (8001410 )
+ 80013d0: 881a ldrh r2, [r3, #0]
+ 80013d2: 4b09 ldr r3, [pc, #36] @ (80013f8 )
+ 80013d4: 781b ldrb r3, [r3, #0]
+ 80013d6: 3304 adds r3, #4
+ 80013d8: b2d1 uxtb r1, r2
+ 80013da: 4a08 ldr r2, [pc, #32] @ (80013fc )
+ 80013dc: 54d1 strb r1, [r2, r3]
- tx_len = 0x18;
- 800139c: 4b06 ldr r3, [pc, #24] @ (80013b8 )
- 800139e: 2218 movs r2, #24
- 80013a0: 701a strb r2, [r3, #0]
+ tx_len = 0x1B;
+ 80013de: 4b06 ldr r3, [pc, #24] @ (80013f8 )
+ 80013e0: 221b movs r2, #27
+ 80013e2: 701a strb r2, [r3, #0]
HAL_UART_Transmit(&huart2, tx_buffer, tx_len, 100);
- 80013a2: 4b05 ldr r3, [pc, #20] @ (80013b8 )
- 80013a4: 781b ldrb r3, [r3, #0]
- 80013a6: 461a mov r2, r3
- 80013a8: 2364 movs r3, #100 @ 0x64
- 80013aa: 4904 ldr r1, [pc, #16] @ (80013bc )
- 80013ac: 4807 ldr r0, [pc, #28] @ (80013cc )
- 80013ae: f004 f8c5 bl 800553c
+ 80013e4: 4b04 ldr r3, [pc, #16] @ (80013f8 )
+ 80013e6: 781b ldrb r3, [r3, #0]
+ 80013e8: 461a mov r2, r3
+ 80013ea: 2364 movs r3, #100 @ 0x64
+ 80013ec: 4903 ldr r1, [pc, #12] @ (80013fc )
+ 80013ee: 4809 ldr r0, [pc, #36] @ (8001414 )
+ 80013f0: f004 f8c8 bl 8005584
}
- 80013b2: bf00 nop
- 80013b4: bd80 pop {r7, pc}
- 80013b6: bf00 nop
- 80013b8: 20000238 .word 0x20000238
- 80013bc: 20000218 .word 0x20000218
- 80013c0: 20000239 .word 0x20000239
- 80013c4: 20000000 .word 0x20000000
- 80013c8: 20000240 .word 0x20000240
- 80013cc: 20000160 .word 0x20000160
+ 80013f4: bf00 nop
+ 80013f6: bd80 pop {r7, pc}
+ 80013f8: 20000240 .word 0x20000240
+ 80013fc: 20000220 .word 0x20000220
+ 8001400: 20000241 .word 0x20000241
+ 8001404: 20000004 .word 0x20000004
+ 8001408: 200001f8 .word 0x200001f8
+ 800140c: 20000000 .word 0x20000000
+ 8001410: 20000248 .word 0x20000248
+ 8001414: 20000164 .word 0x20000164
-080013d0 :
+08001418 :
/* ADC task */
void adc_task (void)
{
- 80013d0: b580 push {r7, lr}
- 80013d2: af00 add r7, sp, #0
+ 8001418: b580 push {r7, lr}
+ 800141a: af00 add r7, sp, #0
HAL_ADC_Start(&hadc2);
- 80013d4: 4811 ldr r0, [pc, #68] @ (800141c )
- 80013d6: f000 ff93 bl 8002300
+ 800141c: 4811 ldr r0, [pc, #68] @ (8001464 )
+ 800141e: f000 ff93 bl 8002348
HAL_ADC_PollForConversion(&hadc2, 500);
- 80013da: f44f 71fa mov.w r1, #500 @ 0x1f4
- 80013de: 480f ldr r0, [pc, #60] @ (800141c )
- 80013e0: f001 f87e bl 80024e0
+ 8001422: f44f 71fa mov.w r1, #500 @ 0x1f4
+ 8001426: 480f ldr r0, [pc, #60] @ (8001464 )
+ 8001428: f001 f87e bl 8002528
vout_adc_val = HAL_ADC_GetValue(&hadc2);
- 80013e4: 480d ldr r0, [pc, #52] @ (800141c )
- 80013e6: f001 f953 bl 8002690
- 80013ea: 4603 mov r3, r0
- 80013ec: b29a uxth r2, r3
- 80013ee: 4b0c ldr r3, [pc, #48] @ (8001420 )
- 80013f0: 801a strh r2, [r3, #0]
+ 800142c: 480d ldr r0, [pc, #52] @ (8001464