24,617 obj/app.lss

Large diffs are not rendered by default.

6,560 obj/app.map

Large diffs are not rendered by default.

Large diffs are not rendered by default.

@@ -8,7 +8,7 @@
8 .eabi_attribute 24, 1
9 .eabi_attribute 25, 1
10 .eabi_attribute 26, 1
11 .eabi_attribute 30, 6
11 .eabi_attribute 30, 1
12 .eabi_attribute 34, 1
13 .eabi_attribute 18, 4
14 .thumb
@@ -45,130 +45,183 @@
19:src/clock.c **** {
28 .loc 1 19 0
29 .cfi_startproc
30 @ args = 0, pretend = 0, frame = 8
31 @ frame_needed = 1, uses_anonymous_args = 0
32 0000 80B5 push {r7, lr}
30 @ args = 0, pretend = 0, frame = 0
31 @ frame_needed = 0, uses_anonymous_args = 0
32 0000 10B5 push {r4, lr}
33 .LCFI0:
34 .cfi_def_cfa_offset 8
35 .cfi_offset 7, -8
35 .cfi_offset 4, -8
36 .cfi_offset 14, -4
37 0002 84B0 sub sp, sp, #16
37 0002 82B0 sub sp, sp, #8
38 .LCFI1:
39 .cfi_def_cfa_offset 24
40 0004 02AF add r7, sp, #8
41 .LCFI2:
42 .cfi_def_cfa 7, 16
39 .cfi_def_cfa_offset 16
20:src/clock.c **** // Resets the clock configuration to the default reset state
21:src/clock.c **** RCC_DeInit();
43 .loc 1 21 0
44 0006 FFF7FEFF bl RCC_DeInit
40 .loc 1 21 0
41 0004 FFF7FEFF bl RCC_DeInit
42 .LVL0:
22:src/clock.c ****
23:src/clock.c **** // Enable external crystal (HSE)
24:src/clock.c **** RCC_HSEConfig(RCC_HSE_ON);
45 .loc 1 24 0
46 000a 0120 movs r0, #1
47 000c FFF7FEFF bl RCC_HSEConfig
43 .loc 1 24 0
44 0008 0120 movs r0, #1
45 000a FFF7FEFF bl RCC_HSEConfig
46 .LVL1:
25:src/clock.c **** // Wait until HSE ready to use or not
26:src/clock.c **** ErrorStatus errorStatus = RCC_WaitForHSEStartUp();
48 .loc 1 26 0
49 0010 FFF7FEFF bl RCC_WaitForHSEStartUp
50 0014 0346 mov r3, r0
51 0016 FB71 strb r3, [r7, #7]
47 .loc 1 26 0
48 000e FFF7FEFF bl RCC_WaitForHSEStartUp
49 .LVL2:
27:src/clock.c ****
28:src/clock.c **** if (errorStatus == SUCCESS)
52 .loc 1 28 0
53 0018 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2
54 001a 012B cmp r3, #1
55 001c 26D1 bne .L2
50 .loc 1 28 0
51 0012 0128 cmp r0, #1
29:src/clock.c **** {
30:src/clock.c **** // Configure the PLL for 168MHz SysClk and 48MHz for USB OTG, SDIO
31:src/clock.c **** RCC_PLLConfig(RCC_PLLSource_HSE, 8, 336, 2, 7);
56 .loc 1 31 0
57 001e 0723 movs r3, #7
58 0020 0093 str r3, [sp]
59 0022 4FF48000 mov r0, #4194304
60 0026 0821 movs r1, #8
61 0028 4FF4A872 mov r2, #336
62 002c 0223 movs r3, #2
63 002e FFF7FEFF bl RCC_PLLConfig
32:src/clock.c **** // Enable PLL
33:src/clock.c **** RCC_PLLCmd(ENABLE);
64 .loc 1 33 0
65 0032 0120 movs r0, #1
66 0034 FFF7FEFF bl RCC_PLLCmd
34:src/clock.c **** // Wait until main PLL clock ready
35:src/clock.c **** while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);
67 .loc 1 35 0
68 0038 00BF nop
69 .L3:
70 .loc 1 35 0 is_stmt 0 discriminator 1
71 003a 3920 movs r0, #57
72 003c FFF7FEFF bl RCC_GetFlagStatus
73 0040 0346 mov r3, r0
74 0042 002B cmp r3, #0
75 0044 F9D0 beq .L3
36:src/clock.c ****
37:src/clock.c **** // Set flash latency
38:src/clock.c **** FLASH_SetLatency(FLASH_Latency_5);
76 .loc 1 38 0 is_stmt 1
77 0046 0520 movs r0, #5
78 0048 FFF7FEFF bl FLASH_SetLatency
39:src/clock.c ****
40:src/clock.c **** // AHB 168MHz
41:src/clock.c **** RCC_HCLKConfig(RCC_SYSCLK_Div1);
79 .loc 1 41 0
80 004c 0020 movs r0, #0
81 004e FFF7FEFF bl RCC_HCLKConfig
42:src/clock.c **** // APB1 42MHz
43:src/clock.c **** RCC_PCLK1Config(RCC_HCLK_Div4);
82 .loc 1 43 0
83 0052 4FF4A050 mov r0, #5120
84 0056 FFF7FEFF bl RCC_PCLK1Config
44:src/clock.c **** // APB2 84 MHz
45:src/clock.c **** RCC_PCLK2Config(RCC_HCLK_Div2);
85 .loc 1 45 0
86 005a 4FF48050 mov r0, #4096
87 005e FFF7FEFF bl RCC_PCLK2Config
46:src/clock.c ****
47:src/clock.c **** // Set SysClk using PLL
48:src/clock.c **** RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
88 .loc 1 48 0
89 0062 0220 movs r0, #2
90 0064 FFF7FEFF bl RCC_SYSCLKConfig
49:src/clock.c ****
50:src/clock.c **** return SUCCESS;
91 .loc 1 50 0
92 0068 0123 movs r3, #1
93 006a 00E0 b .L4
94 .L2:
51:src/clock.c **** }
52:src/clock.c **** else
53:src/clock.c **** {
54:src/clock.c **** return ERROR;
95 .loc 1 54 0
96 006c 0023 movs r3, #0
97 .L4:
52 .loc 1 54 0
53 0014 18BF it ne
54 0016 0020 movne r0, #0
55 .LVL3:
28:src/clock.c **** {
56 .loc 1 28 0
57 0018 25D1 bne .L2
31:src/clock.c **** // Enable PLL
58 .loc 1 31 0
59 001a 0723 movs r3, #7
60 001c 0093 str r3, [sp]
61 001e 4FF48000 mov r0, #4194304
62 0022 0821 movs r1, #8
63 0024 4FF4A872 mov r2, #336
64 0028 0223 movs r3, #2
65 002a FFF7FEFF bl RCC_PLLConfig
66 .LVL4:
33:src/clock.c **** // Wait until main PLL clock ready
67 .loc 1 33 0
68 002e 0120 movs r0, #1
69 0030 FFF7FEFF bl RCC_PLLCmd
70 .LVL5:
35:src/clock.c ****
71 .loc 1 35 0
72 0034 3924 movs r4, #57
73 .L3:
35:src/clock.c ****
74 .loc 1 35 0 is_stmt 0 discriminator 1
75 0036 2046 mov r0, r4
76 0038 FFF7FEFF bl RCC_GetFlagStatus
77 .LVL6:
78 003c 0028 cmp r0, #0
79 003e FAD0 beq .L3
38:src/clock.c ****
80 .loc 1 38 0 is_stmt 1
81 0040 0520 movs r0, #5
82 0042 FFF7FEFF bl FLASH_SetLatency
83 .LVL7:
41:src/clock.c **** // APB1 42MHz
84 .loc 1 41 0
85 0046 0020 movs r0, #0
86 0048 FFF7FEFF bl RCC_HCLKConfig
87 .LVL8:
43:src/clock.c **** // APB2 84 MHz
88 .loc 1 43 0
89 004c 4FF4A050 mov r0, #5120
90 0050 FFF7FEFF bl RCC_PCLK1Config
91 .LVL9:
45:src/clock.c ****
92 .loc 1 45 0
93 0054 4FF48050 mov r0, #4096
94 0058 FFF7FEFF bl RCC_PCLK2Config
95 .LVL10:
48:src/clock.c ****
96 .loc 1 48 0
97 005c 0220 movs r0, #2
98 005e FFF7FEFF bl RCC_SYSCLKConfig
99 .LVL11:
50:src/clock.c **** }
100 .loc 1 50 0
101 0062 0120 movs r0, #1
102 0064 FFE7 b .L2
103 .L2:
55:src/clock.c **** }
56:src/clock.c **** }
98 .loc 1 56 0
99 006e 1846 mov r0, r3
100 0070 0837 adds r7, r7, #8
101 0072 BD46 mov sp, r7
102 @ sp needed
103 0074 80BD pop {r7, pc}
104 .cfi_endproc
105 .LFE110:
107 0076 00BF .text
108 .Letext0:
109 .file 2 "/usr/include/newlib/machine/_default_types.h"
110 .file 3 "/usr/include/newlib/stdint.h"
111 .file 4 "libs/Device/STM32F4xx/Include/stm32f4xx.h"
112 .file 5 "libs/CMSIS/Include/core_cm4.h"
104 .loc 1 56 0
105 0066 02B0 add sp, sp, #8
106 @ sp needed
107 0068 10BD pop {r4, pc}
108 .cfi_endproc
109 .LFE110:
111 006a 00BF .text
112 .Letext0:
113 .file 2 "/usr/include/newlib/machine/_default_types.h"
114 .file 3 "/usr/include/newlib/stdint.h"
115 .file 4 "libs/Device/STM32F4xx/Include/stm32f4xx.h"
116 .file 5 "libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_rcc.h"
117 .file 6 "libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_flash.h"
118 .file 7 "libs/CMSIS/Include/core_cm4.h"
DEFINED SYMBOLS
*ABS*:0000000000000000 clock.c
/tmp/cccjAxcd.s:20 .text.CLOCK_SetClockTo168MHz:0000000000000000 $t
/tmp/cccjAxcd.s:25 .text.CLOCK_SetClockTo168MHz:0000000000000000 CLOCK_SetClockTo168MHz
/tmp/ccaaQut7.s:20 .text.CLOCK_SetClockTo168MHz:0000000000000000 $t
/tmp/ccaaQut7.s:25 .text.CLOCK_SetClockTo168MHz:0000000000000000 CLOCK_SetClockTo168MHz
.debug_frame:0000000000000010 $d
.group:0000000000000000 wm4.1.7402b5479d3fa4780665141f585fc0ee
.group:0000000000000000 wm4.stm32f4xx.h.48.a3308e16720c7afc3eb28e585e628ce6
.group:0000000000000000 wm4.core_cm4.h.32.5f62939b60122629d60d85d0c4a14709
.group:0000000000000000 wm4.features.h.22.6a4ca7cd053637cc1d0db6c16f39b2d7
.group:0000000000000000 wm4._default_types.h.15.8b2cb27e528498f8ff711db085d6e489
.group:0000000000000000 wm4.stdint.h.20.796e373797e732130a803d4c0338fa1b
.group:0000000000000000 wm4.core_cmInstr.h.25.f50f886f2edf670cf199b35fd96f5c91
.group:0000000000000000 wm4.core_cm4_simd.h.29.b4a3fdfb606cb3b26119424324d4b963
.group:0000000000000000 wm4.core_cm4.h.153.5393ef7e6cebf34dd51ca528f9218ab3
.group:0000000000000000 wm4.stm32f4xx.h.282.95bae448a91bccfbf24a6f9d95904bb8
.group:0000000000000000 wm4.stm32f4xx_adc.h.102.2061aa73008746f3c2cc6ce8f635cad3
.group:0000000000000000 wm4.stm32f4xx_can.h.25.87f18ca48b2692d39f76e87b1f07c953
.group:0000000000000000 wm4.stm32f4xx_cryp.h.25.db1951c06ee684df97ea3a11aba6cb51
.group:0000000000000000 wm4.stm32f4xx_dac.h.25.c43557a6416ea4dfa986c1209c2558d6
.group:0000000000000000 wm4.stm32f4xx_dbgmcu.h.24.7aedfdcf091890b5cb96019bd29a2bfc
.group:0000000000000000 wm4.stm32f4xx_dcmi.h.24.64883d9be802a535b1d7770d14da73e0
.group:0000000000000000 wm4.stm32f4xx_dma.h.25.c1fa1d44ae0bc9c2b3a0d1d355d8c1e6
.group:0000000000000000 wm4.stm32f4xx_exti.h.25.620998268d5d3d9042a8297fbe07d507
.group:0000000000000000 wm4.stm32f4xx_flash.h.25.65d4f351b72ee41355279f70305f361a
.group:0000000000000000 wm4.stm32f4xx_fsmc.h.25.b907ac7bd9bec46e02d06b137d53cfd8
.group:0000000000000000 wm4.stm32f4xx_hash.h.25.633fb84f031cf2ab1bd834e536716dfa
.group:0000000000000000 wm4.stm32f4xx_gpio.h.25.5bd1d790d742a307b55aea5fa8fcdae8
.group:0000000000000000 wm4.stm32f4xx_i2c.h.25.8fcdb817a00a67d4624d79bab0d9275f
.group:0000000000000000 wm4.stm32f4xx_iwdg.h.25.3013e8d2058415cb9d51af77f748a146
.group:0000000000000000 wm4.stm32f4xx_pwr.h.25.48b68c1f3a894ab012f9c2a2c222f159
.group:0000000000000000 wm4.stm32f4xx_rcc.h.24.c15e7c8dc065bb29146f29591b195c87
.group:0000000000000000 wm4.stm32f4xx_rng.h.25.cdb5c5c07de6a48aedfde608da3f447e
.group:0000000000000000 wm4.stm32f4xx_rtc.h.25.4809a79ad46ad97b4a01e735a96738eb
.group:0000000000000000 wm4.stm32f4xx_sdio.h.25.406302aabae34eada94e5f2cde635a3e
.group:0000000000000000 wm4.stm32f4xx_spi.h.25.46c61b79ff8408da93e2e90cf9b717d6
.group:0000000000000000 wm4.stm32f4xx_syscfg.h.25.9d5caab5677661b69e959531364e23d7
.group:0000000000000000 wm4.stm32f4xx_tim.h.25.948f7fc943f34bd206e29758e77ee0a2
.group:0000000000000000 wm4.stm32f4xx_usart.h.25.b64697dad017ba547dd272c2cdb5846a
.group:0000000000000000 wm4.stm32f4xx_wwdg.h.25.09d70b7849c6894ddf1e83c8e86b70e1
.group:0000000000000000 wm4.misc.h.25.a0cb758c1f091b46f201b19cec9e63a1
.group:0000000000000000 wm4.stm32f4xx.h.6913.da011404ccb203790556c86f10c46b18

UNDEFINED SYMBOLS
RCC_DeInit
@@ -36,7 +36,8 @@ obj/src/command_parser.o: src/command_parser.c src/command_parser.h \
FreeRTOS/Source/include/../../Source/portable/GCC/ARM_CM4F/portmacro.h \
FreeRTOS/Source/include/mpu_wrappers.h FreeRTOS/Source/include/task.h \
FreeRTOS/Source/include/list.h FreeRTOS/Source/include/semphr.h \
FreeRTOS/Source/include/queue.h
FreeRTOS/Source/include/queue.h src/hbfuncs.h src/hb_structs.h \
src/module.h

src/command_parser.h:

@@ -129,3 +130,9 @@ FreeRTOS/Source/include/list.h:
FreeRTOS/Source/include/semphr.h:

FreeRTOS/Source/include/queue.h:

src/hbfuncs.h:

src/hb_structs.h:

src/module.h:

Large diffs are not rendered by default.

@@ -1146,53 +1146,53 @@
715 .file 10 "FreeRTOS/Source/include/portable.h"
DEFINED SYMBOLS
*ABS*:0000000000000000 croutine.c
/tmp/ccIXfk4j.s:20 .text.prvInitialiseCoRoutineLists:0000000000000000 $t
/tmp/ccIXfk4j.s:24 .text.prvInitialiseCoRoutineLists:0000000000000000 prvInitialiseCoRoutineLists
/tmp/ccIXfk4j.s:686 .bss.pxReadyCoRoutineLists:0000000000000000 .LANCHOR0
/tmp/ccIXfk4j.s:630 .bss.xDelayedCoRoutineList1:0000000000000000 .LANCHOR1
/tmp/ccIXfk4j.s:658 .bss.xDelayedCoRoutineList2:0000000000000000 .LANCHOR2
/tmp/ccIXfk4j.s:644 .bss.xPendingReadyCoRoutineList:0000000000000000 .LANCHOR3
/tmp/ccIXfk4j.s:679 .bss.pxDelayedCoRoutineList:0000000000000000 .LANCHOR4
/tmp/ccIXfk4j.s:700 .bss.pxOverflowDelayedCoRoutineList:0000000000000000 .LANCHOR5
/tmp/ccIXfk4j.s:91 .text.prvCheckPendingReadyList:0000000000000000 $t
/tmp/ccIXfk4j.s:95 .text.prvCheckPendingReadyList:0000000000000000 prvCheckPendingReadyList
/tmp/ccIXfk4j.s:693 .bss.uxTopCoRoutineReadyPriority:0000000000000000 .LANCHOR6
/tmp/ccIXfk4j.s:174 .text.prvCheckDelayedList:0000000000000000 $t
/tmp/ccIXfk4j.s:178 .text.prvCheckDelayedList:0000000000000000 prvCheckDelayedList
/tmp/ccIXfk4j.s:672 .bss.xLastTickCount:0000000000000000 .LANCHOR7
/tmp/ccIXfk4j.s:637 .bss.xPassedTicks:0000000000000000 .LANCHOR8
/tmp/ccIXfk4j.s:665 .bss.xCoRoutineTickCount:0000000000000000 .LANCHOR9
/tmp/ccIXfk4j.s:320 .text.xCoRoutineCreate:0000000000000000 $t
/tmp/ccIXfk4j.s:325 .text.xCoRoutineCreate:0000000000000000 xCoRoutineCreate
/tmp/ccIXfk4j.s:651 .bss.pxCurrentCoRoutine:0000000000000000 .LANCHOR10
/tmp/ccIXfk4j.s:430 .text.vCoRoutineAddToDelayedList:0000000000000000 $t
/tmp/ccIXfk4j.s:435 .text.vCoRoutineAddToDelayedList:0000000000000000 vCoRoutineAddToDelayedList
/tmp/ccIXfk4j.s:499 .text.vCoRoutineSchedule:0000000000000000 $t
/tmp/ccIXfk4j.s:504 .text.vCoRoutineSchedule:0000000000000000 vCoRoutineSchedule
/tmp/ccIXfk4j.s:575 .text.xCoRoutineRemoveFromEventList:0000000000000000 $t
/tmp/ccIXfk4j.s:580 .text.xCoRoutineRemoveFromEventList:0000000000000000 xCoRoutineRemoveFromEventList
/tmp/ccIXfk4j.s:654 .bss.pxCurrentCoRoutine:0000000000000000 pxCurrentCoRoutine
/tmp/ccIXfk4j.s:629 .bss.xDelayedCoRoutineList1:0000000000000000 $d
/tmp/ccIXfk4j.s:633 .bss.xDelayedCoRoutineList1:0000000000000000 xDelayedCoRoutineList1
/tmp/ccIXfk4j.s:636 .bss.xPassedTicks:0000000000000000 $d
/tmp/ccIXfk4j.s:640 .bss.xPassedTicks:0000000000000000 xPassedTicks
/tmp/ccIXfk4j.s:643 .bss.xPendingReadyCoRoutineList:0000000000000000 $d
/tmp/ccIXfk4j.s:647 .bss.xPendingReadyCoRoutineList:0000000000000000 xPendingReadyCoRoutineList
/tmp/ccIXfk4j.s:650 .bss.pxCurrentCoRoutine:0000000000000000 $d
/tmp/ccIXfk4j.s:657 .bss.xDelayedCoRoutineList2:0000000000000000 $d
/tmp/ccIXfk4j.s:661 .bss.xDelayedCoRoutineList2:0000000000000000 xDelayedCoRoutineList2
/tmp/ccIXfk4j.s:664 .bss.xCoRoutineTickCount:0000000000000000 $d
/tmp/ccIXfk4j.s:668 .bss.xCoRoutineTickCount:0000000000000000 xCoRoutineTickCount
/tmp/ccIXfk4j.s:671 .bss.xLastTickCount:0000000000000000 $d
/tmp/ccIXfk4j.s:675 .bss.xLastTickCount:0000000000000000 xLastTickCount
/tmp/ccIXfk4j.s:678 .bss.pxDelayedCoRoutineList:0000000000000000 $d
/tmp/ccIXfk4j.s:682 .bss.pxDelayedCoRoutineList:0000000000000000 pxDelayedCoRoutineList
/tmp/ccIXfk4j.s:685 .bss.pxReadyCoRoutineLists:0000000000000000 $d
/tmp/ccIXfk4j.s:689 .bss.pxReadyCoRoutineLists:0000000000000000 pxReadyCoRoutineLists
/tmp/ccIXfk4j.s:692 .bss.uxTopCoRoutineReadyPriority:0000000000000000 $d
/tmp/ccIXfk4j.s:696 .bss.uxTopCoRoutineReadyPriority:0000000000000000 uxTopCoRoutineReadyPriority
/tmp/ccIXfk4j.s:699 .bss.pxOverflowDelayedCoRoutineList:0000000000000000 $d
/tmp/ccIXfk4j.s:703 .bss.pxOverflowDelayedCoRoutineList:0000000000000000 pxOverflowDelayedCoRoutineList
/tmp/cc8q4mpJ.s:20 .text.prvInitialiseCoRoutineLists:0000000000000000 $t
/tmp/cc8q4mpJ.s:24 .text.prvInitialiseCoRoutineLists:0000000000000000 prvInitialiseCoRoutineLists
/tmp/cc8q4mpJ.s:686 .bss.pxReadyCoRoutineLists:0000000000000000 .LANCHOR0
/tmp/cc8q4mpJ.s:630 .bss.xDelayedCoRoutineList1:0000000000000000 .LANCHOR1
/tmp/cc8q4mpJ.s:658 .bss.xDelayedCoRoutineList2:0000000000000000 .LANCHOR2
/tmp/cc8q4mpJ.s:644 .bss.xPendingReadyCoRoutineList:0000000000000000 .LANCHOR3
/tmp/cc8q4mpJ.s:679 .bss.pxDelayedCoRoutineList:0000000000000000 .LANCHOR4
/tmp/cc8q4mpJ.s:700 .bss.pxOverflowDelayedCoRoutineList:0000000000000000 .LANCHOR5
/tmp/cc8q4mpJ.s:91 .text.prvCheckPendingReadyList:0000000000000000 $t
/tmp/cc8q4mpJ.s:95 .text.prvCheckPendingReadyList:0000000000000000 prvCheckPendingReadyList
/tmp/cc8q4mpJ.s:693 .bss.uxTopCoRoutineReadyPriority:0000000000000000 .LANCHOR6
/tmp/cc8q4mpJ.s:174 .text.prvCheckDelayedList:0000000000000000 $t
/tmp/cc8q4mpJ.s:178 .text.prvCheckDelayedList:0000000000000000 prvCheckDelayedList
/tmp/cc8q4mpJ.s:672 .bss.xLastTickCount:0000000000000000 .LANCHOR7
/tmp/cc8q4mpJ.s:637 .bss.xPassedTicks:0000000000000000 .LANCHOR8
/tmp/cc8q4mpJ.s:665 .bss.xCoRoutineTickCount:0000000000000000 .LANCHOR9
/tmp/cc8q4mpJ.s:320 .text.xCoRoutineCreate:0000000000000000 $t
/tmp/cc8q4mpJ.s:325 .text.xCoRoutineCreate:0000000000000000 xCoRoutineCreate
/tmp/cc8q4mpJ.s:651 .bss.pxCurrentCoRoutine:0000000000000000 .LANCHOR10
/tmp/cc8q4mpJ.s:430 .text.vCoRoutineAddToDelayedList:0000000000000000 $t
/tmp/cc8q4mpJ.s:435 .text.vCoRoutineAddToDelayedList:0000000000000000 vCoRoutineAddToDelayedList
/tmp/cc8q4mpJ.s:499 .text.vCoRoutineSchedule:0000000000000000 $t
/tmp/cc8q4mpJ.s:504 .text.vCoRoutineSchedule:0000000000000000 vCoRoutineSchedule
/tmp/cc8q4mpJ.s:575 .text.xCoRoutineRemoveFromEventList:0000000000000000 $t
/tmp/cc8q4mpJ.s:580 .text.xCoRoutineRemoveFromEventList:0000000000000000 xCoRoutineRemoveFromEventList
/tmp/cc8q4mpJ.s:654 .bss.pxCurrentCoRoutine:0000000000000000 pxCurrentCoRoutine
/tmp/cc8q4mpJ.s:629 .bss.xDelayedCoRoutineList1:0000000000000000 $d
/tmp/cc8q4mpJ.s:633 .bss.xDelayedCoRoutineList1:0000000000000000 xDelayedCoRoutineList1
/tmp/cc8q4mpJ.s:636 .bss.xPassedTicks:0000000000000000 $d
/tmp/cc8q4mpJ.s:640 .bss.xPassedTicks:0000000000000000 xPassedTicks
/tmp/cc8q4mpJ.s:643 .bss.xPendingReadyCoRoutineList:0000000000000000 $d
/tmp/cc8q4mpJ.s:647 .bss.xPendingReadyCoRoutineList:0000000000000000 xPendingReadyCoRoutineList
/tmp/cc8q4mpJ.s:650 .bss.pxCurrentCoRoutine:0000000000000000 $d
/tmp/cc8q4mpJ.s:657 .bss.xDelayedCoRoutineList2:0000000000000000 $d
/tmp/cc8q4mpJ.s:661 .bss.xDelayedCoRoutineList2:0000000000000000 xDelayedCoRoutineList2
/tmp/cc8q4mpJ.s:664 .bss.xCoRoutineTickCount:0000000000000000 $d
/tmp/cc8q4mpJ.s:668 .bss.xCoRoutineTickCount:0000000000000000 xCoRoutineTickCount
/tmp/cc8q4mpJ.s:671 .bss.xLastTickCount:0000000000000000 $d
/tmp/cc8q4mpJ.s:675 .bss.xLastTickCount:0000000000000000 xLastTickCount
/tmp/cc8q4mpJ.s:678 .bss.pxDelayedCoRoutineList:0000000000000000 $d
/tmp/cc8q4mpJ.s:682 .bss.pxDelayedCoRoutineList:0000000000000000 pxDelayedCoRoutineList
/tmp/cc8q4mpJ.s:685 .bss.pxReadyCoRoutineLists:0000000000000000 $d
/tmp/cc8q4mpJ.s:689 .bss.pxReadyCoRoutineLists:0000000000000000 pxReadyCoRoutineLists
/tmp/cc8q4mpJ.s:692 .bss.uxTopCoRoutineReadyPriority:0000000000000000 $d
/tmp/cc8q4mpJ.s:696 .bss.uxTopCoRoutineReadyPriority:0000000000000000 uxTopCoRoutineReadyPriority
/tmp/cc8q4mpJ.s:699 .bss.pxOverflowDelayedCoRoutineList:0000000000000000 $d
/tmp/cc8q4mpJ.s:703 .bss.pxOverflowDelayedCoRoutineList:0000000000000000 pxOverflowDelayedCoRoutineList
.debug_frame:0000000000000010 $d
.group:0000000000000000 wm4.1.7402b5479d3fa4780665141f585fc0ee
.group:0000000000000000 wm4.stddef.h.39.daafd3d79fe2f3a84d2d73d7d4e706f8
@@ -0,0 +1,127 @@
obj/src/hb_structs.o: src/hb_structs.c src/hb_structs.h src/module.h \
FreeRTOS/Source/include/FreeRTOS.h FreeRTOS/Source/include/projdefs.h \
FreeRTOS/Source/include/FreeRTOSConfig.h \
libs/Device/STM32F4xx/Include/stm32f4xx.h libs/CMSIS/Include/core_cm4.h \
libs/CMSIS/Include/core_cmInstr.h libs/CMSIS/Include/core_cmFunc.h \
libs/CMSIS/Include/core_cm4_simd.h \
libs/Device/STM32F4xx/Include/system_stm32f4xx.h src/stm32f4xx_conf.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_adc.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_can.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_crc.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_cryp.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_dac.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_dbgmcu.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_dcmi.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_dma.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_exti.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_flash.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_fsmc.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_hash.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_gpio.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_i2c.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_iwdg.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_pwr.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_rcc.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_rng.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_rtc.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_sdio.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_spi.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_syscfg.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_tim.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_usart.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_wwdg.h \
libs/STM32F4xx_StdPeriph_Driver/inc/misc.h src/ustime.h \
FreeRTOS/Source/include/portable.h \
FreeRTOS/Source/include/../../Source/portable/GCC/ARM_CM4F/portmacro.h \
FreeRTOS/Source/include/mpu_wrappers.h FreeRTOS/Source/include/semphr.h \
FreeRTOS/Source/include/queue.h src/hbfuncs.h

src/hb_structs.h:

src/module.h:

FreeRTOS/Source/include/FreeRTOS.h:

FreeRTOS/Source/include/projdefs.h:

FreeRTOS/Source/include/FreeRTOSConfig.h:

libs/Device/STM32F4xx/Include/stm32f4xx.h:

libs/CMSIS/Include/core_cm4.h:

libs/CMSIS/Include/core_cmInstr.h:

libs/CMSIS/Include/core_cmFunc.h:

libs/CMSIS/Include/core_cm4_simd.h:

libs/Device/STM32F4xx/Include/system_stm32f4xx.h:

src/stm32f4xx_conf.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_adc.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_can.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_crc.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_cryp.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_dac.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_dbgmcu.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_dcmi.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_dma.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_exti.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_flash.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_fsmc.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_hash.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_gpio.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_i2c.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_iwdg.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_pwr.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_rcc.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_rng.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_rtc.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_sdio.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_spi.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_syscfg.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_tim.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_usart.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_wwdg.h:

libs/STM32F4xx_StdPeriph_Driver/inc/misc.h:

src/ustime.h:

FreeRTOS/Source/include/portable.h:

FreeRTOS/Source/include/../../Source/portable/GCC/ARM_CM4F/portmacro.h:

FreeRTOS/Source/include/mpu_wrappers.h:

FreeRTOS/Source/include/semphr.h:

FreeRTOS/Source/include/queue.h:

src/hbfuncs.h:

Large diffs are not rendered by default.

@@ -0,0 +1,133 @@
obj/src/hbfuncs.o: src/hbfuncs.c FreeRTOS/Source/include/FreeRTOS.h \
FreeRTOS/Source/include/projdefs.h \
FreeRTOS/Source/include/FreeRTOSConfig.h \
libs/Device/STM32F4xx/Include/stm32f4xx.h libs/CMSIS/Include/core_cm4.h \
libs/CMSIS/Include/core_cmInstr.h libs/CMSIS/Include/core_cmFunc.h \
libs/CMSIS/Include/core_cm4_simd.h \
libs/Device/STM32F4xx/Include/system_stm32f4xx.h src/stm32f4xx_conf.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_adc.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_can.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_crc.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_cryp.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_dac.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_dbgmcu.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_dcmi.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_dma.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_exti.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_flash.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_fsmc.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_hash.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_gpio.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_i2c.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_iwdg.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_pwr.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_rcc.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_rng.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_rtc.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_sdio.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_spi.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_syscfg.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_tim.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_usart.h \
libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_wwdg.h \
libs/STM32F4xx_StdPeriph_Driver/inc/misc.h src/ustime.h \
FreeRTOS/Source/include/portable.h \
FreeRTOS/Source/include/../../Source/portable/GCC/ARM_CM4F/portmacro.h \
FreeRTOS/Source/include/mpu_wrappers.h FreeRTOS/Source/include/task.h \
FreeRTOS/Source/include/list.h src/hb_structs.h src/module.h \
FreeRTOS/Source/include/semphr.h FreeRTOS/Source/include/queue.h \
src/hbfuncs.h

FreeRTOS/Source/include/FreeRTOS.h:

FreeRTOS/Source/include/projdefs.h:

FreeRTOS/Source/include/FreeRTOSConfig.h:

libs/Device/STM32F4xx/Include/stm32f4xx.h:

libs/CMSIS/Include/core_cm4.h:

libs/CMSIS/Include/core_cmInstr.h:

libs/CMSIS/Include/core_cmFunc.h:

libs/CMSIS/Include/core_cm4_simd.h:

libs/Device/STM32F4xx/Include/system_stm32f4xx.h:

src/stm32f4xx_conf.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_adc.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_can.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_crc.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_cryp.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_dac.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_dbgmcu.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_dcmi.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_dma.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_exti.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_flash.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_fsmc.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_hash.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_gpio.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_i2c.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_iwdg.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_pwr.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_rcc.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_rng.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_rtc.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_sdio.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_spi.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_syscfg.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_tim.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_usart.h:

libs/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_wwdg.h:

libs/STM32F4xx_StdPeriph_Driver/inc/misc.h:

src/ustime.h:

FreeRTOS/Source/include/portable.h:

FreeRTOS/Source/include/../../Source/portable/GCC/ARM_CM4F/portmacro.h:

FreeRTOS/Source/include/mpu_wrappers.h:

FreeRTOS/Source/include/task.h:

FreeRTOS/Source/include/list.h:

src/hb_structs.h:

src/module.h:

FreeRTOS/Source/include/semphr.h:

FreeRTOS/Source/include/queue.h:

src/hbfuncs.h:

Large diffs are not rendered by default.

@@ -317,15 +317,15 @@
250 .file 8 "libs/CMSIS/Include/core_cm4.h"
DEFINED SYMBOLS
*ABS*:0000000000000000 hbperiph.c
/tmp/cc3KOUZC.s:20 .text.ultrasonic_init:0000000000000000 $t
/tmp/cc3KOUZC.s:25 .text.ultrasonic_init:0000000000000000 ultrasonic_init
/tmp/cc3KOUZC.s:52 .text.ultrasonic_read_distance:0000000000000000 $t
/tmp/cc3KOUZC.s:57 .text.ultrasonic_read_distance:0000000000000000 ultrasonic_read_distance
/tmp/cc3KOUZC.s:152 .text.ultrasonic_read_distance:0000000000000084 $d
/tmp/cc3KOUZC.s:157 .text.servo_init:0000000000000000 $t
/tmp/cc3KOUZC.s:162 .text.servo_init:0000000000000000 servo_init
/tmp/cc3KOUZC.s:202 .text.servo_set_degrees:0000000000000000 $t
/tmp/cc3KOUZC.s:207 .text.servo_set_degrees:0000000000000000 servo_set_degrees
/tmp/cccqJMpR.s:20 .text.ultrasonic_init:0000000000000000 $t
/tmp/cccqJMpR.s:25 .text.ultrasonic_init:0000000000000000 ultrasonic_init
/tmp/cccqJMpR.s:52 .text.ultrasonic_read_distance:0000000000000000 $t
/tmp/cccqJMpR.s:57 .text.ultrasonic_read_distance:0000000000000000 ultrasonic_read_distance
/tmp/cccqJMpR.s:152 .text.ultrasonic_read_distance:0000000000000084 $d
/tmp/cccqJMpR.s:157 .text.servo_init:0000000000000000 $t
/tmp/cccqJMpR.s:162 .text.servo_init:0000000000000000 servo_init
/tmp/cccqJMpR.s:202 .text.servo_set_degrees:0000000000000000 $t
/tmp/cccqJMpR.s:207 .text.servo_set_degrees:0000000000000000 servo_set_degrees
.debug_frame:0000000000000010 $d
.group:0000000000000000 wm4.1.7402b5479d3fa4780665141f585fc0ee
.group:0000000000000000 wm4.stm32f4xx.h.48.a3308e16720c7afc3eb28e585e628ce6
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -408,16 +408,16 @@
229 .file 6 "libs/CMSIS/Include/core_cm4.h"
DEFINED SYMBOLS
*ABS*:0000000000000000 list.c
/tmp/ccs9U8X7.s:20 .text.vListInitialise:0000000000000000 $t
/tmp/ccs9U8X7.s:25 .text.vListInitialise:0000000000000000 vListInitialise
/tmp/ccs9U8X7.s:52 .text.vListInitialiseItem:0000000000000000 $t
/tmp/ccs9U8X7.s:57 .text.vListInitialiseItem:0000000000000000 vListInitialiseItem
/tmp/ccs9U8X7.s:73 .text.vListInsertEnd:0000000000000000 $t
/tmp/ccs9U8X7.s:78 .text.vListInsertEnd:0000000000000000 vListInsertEnd
/tmp/ccs9U8X7.s:114 .text.vListInsert:0000000000000000 $t
/tmp/ccs9U8X7.s:119 .text.vListInsert:0000000000000000 vListInsert
/tmp/ccs9U8X7.s:181 .text.vListRemove:0000000000000000 $t
/tmp/ccs9U8X7.s:186 .text.vListRemove:0000000000000000 vListRemove
/tmp/cc9cnqUx.s:20 .text.vListInitialise:0000000000000000 $t
/tmp/cc9cnqUx.s:25 .text.vListInitialise:0000000000000000 vListInitialise
/tmp/cc9cnqUx.s:52 .text.vListInitialiseItem:0000000000000000 $t
/tmp/cc9cnqUx.s:57 .text.vListInitialiseItem:0000000000000000 vListInitialiseItem
/tmp/cc9cnqUx.s:73 .text.vListInsertEnd:0000000000000000 $t
/tmp/cc9cnqUx.s:78 .text.vListInsertEnd:0000000000000000 vListInsertEnd
/tmp/cc9cnqUx.s:114 .text.vListInsert:0000000000000000 $t
/tmp/cc9cnqUx.s:119 .text.vListInsert:0000000000000000 vListInsert
/tmp/cc9cnqUx.s:181 .text.vListRemove:0000000000000000 $t
/tmp/cc9cnqUx.s:186 .text.vListRemove:0000000000000000 vListRemove
.debug_frame:0000000000000010 $d
.group:0000000000000000 wm4.1.7402b5479d3fa4780665141f585fc0ee
.group:0000000000000000 wm4.newlib.h.8.fec018e441fee7bfa1923812ad010f97
@@ -35,8 +35,9 @@ obj/src/main.o: src/main.c FreeRTOS/Source/include/FreeRTOS.h \
FreeRTOS/Source/include/../../Source/portable/GCC/ARM_CM4F/portmacro.h \
FreeRTOS/Source/include/mpu_wrappers.h FreeRTOS/Source/include/task.h \
FreeRTOS/Source/include/list.h FreeRTOS/Source/include/semphr.h \
FreeRTOS/Source/include/queue.h src/clock.h src/module.h \
src/command_parser.h src/usart_rtos.h src/hbconfig.h
FreeRTOS/Source/include/queue.h src/clock.h src/command_parser.h \
src/usart_rtos.h src/hbconfig.h src/hb_structs.h src/module.h \
src/hbfuncs.h

FreeRTOS/Source/include/FreeRTOS.h:

@@ -128,10 +129,14 @@ FreeRTOS/Source/include/queue.h:

src/clock.h:

src/module.h:

src/command_parser.h:

src/usart_rtos.h:

src/hbconfig.h:

src/hb_structs.h:

src/module.h:

src/hbfuncs.h:
7,318 obj/main.lst

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

@@ -404,19 +404,19 @@
337 .file 10 "libs/CMSIS/Include/core_cm4.h"
DEFINED SYMBOLS
*ABS*:0000000000000000 module.c
/tmp/ccdfsFC9.s:20 .text.PHMeter_Module_Init:0000000000000000 $t
/tmp/ccdfsFC9.s:25 .text.PHMeter_Module_Init:0000000000000000 PHMeter_Module_Init
/tmp/ccdfsFC9.s:54 .text.UDS_Module_Init:0000000000000000 $t
/tmp/ccdfsFC9.s:59 .text.UDS_Module_Init:0000000000000000 UDS_Module_Init
/tmp/ccdfsFC9.s:87 .text.UDS_Module_distance:0000000000000000 $t
/tmp/ccdfsFC9.s:92 .text.UDS_Module_distance:0000000000000000 UDS_Module_distance
/tmp/ccdfsFC9.s:201 .text.UDS_Module_distance:000000000000009c $d
/tmp/ccdfsFC9.s:206 .text.PPump_Module_Init:0000000000000000 $t
/tmp/ccdfsFC9.s:211 .text.PPump_Module_Init:0000000000000000 PPump_Module_Init
/tmp/ccdfsFC9.s:242 .text.PPump_Module_dispense:0000000000000000 $t
/tmp/ccdfsFC9.s:247 .text.PPump_Module_dispense:0000000000000000 PPump_Module_dispense
/tmp/ccdfsFC9.s:295 .text.Fan_Module_Init:0000000000000000 $t
/tmp/ccdfsFC9.s:300 .text.Fan_Module_Init:0000000000000000 Fan_Module_Init
/tmp/cco69bek.s:20 .text.PHMeter_Module_Init:0000000000000000 $t
/tmp/cco69bek.s:25 .text.PHMeter_Module_Init:0000000000000000 PHMeter_Module_Init
/tmp/cco69bek.s:54 .text.UDS_Module_Init:0000000000000000 $t
/tmp/cco69bek.s:59 .text.UDS_Module_Init:0000000000000000 UDS_Module_Init
/tmp/cco69bek.s:87 .text.UDS_Module_distance:0000000000000000 $t
/tmp/cco69bek.s:92 .text.UDS_Module_distance:0000000000000000 UDS_Module_distance
/tmp/cco69bek.s:201 .text.UDS_Module_distance:000000000000009c $d
/tmp/cco69bek.s:206 .text.PPump_Module_Init:0000000000000000 $t
/tmp/cco69bek.s:211 .text.PPump_Module_Init:0000000000000000 PPump_Module_Init
/tmp/cco69bek.s:242 .text.PPump_Module_dispense:0000000000000000 $t
/tmp/cco69bek.s:247 .text.PPump_Module_dispense:0000000000000000 PPump_Module_dispense
/tmp/cco69bek.s:295 .text.Fan_Module_Init:0000000000000000 $t
/tmp/cco69bek.s:300 .text.Fan_Module_Init:0000000000000000 Fan_Module_Init
.debug_frame:0000000000000010 $d
.group:0000000000000000 wm4.1.7402b5479d3fa4780665141f585fc0ee
.group:0000000000000000 wm4.stddef.h.39.daafd3d79fe2f3a84d2d73d7d4e706f8
@@ -811,41 +811,41 @@
457 .file 8 "FreeRTOS/Source/include/task.h"
DEFINED SYMBOLS
*ABS*:0000000000000000 port.c
/tmp/ccSTmMyu.s:20 .text.vPortStartFirstTask:0000000000000000 $t
/tmp/ccSTmMyu.s:24 .text.vPortStartFirstTask:0000000000000000 vPortStartFirstTask
/tmp/ccSTmMyu.s:49 .text.prvSetupTimerInterrupt:0000000000000000 $t
/tmp/ccSTmMyu.s:53 .text.prvSetupTimerInterrupt:0000000000000000 prvSetupTimerInterrupt
/tmp/ccSTmMyu.s:82 .text.vPortEnableVFP:0000000000000000 $t
/tmp/ccSTmMyu.s:86 .text.vPortEnableVFP:0000000000000000 vPortEnableVFP
/tmp/ccSTmMyu.s:108 .text.pxPortInitialiseStack:0000000000000000 $t
/tmp/ccSTmMyu.s:113 .text.pxPortInitialiseStack:0000000000000000 pxPortInitialiseStack
/tmp/ccSTmMyu.s:147 .text.SVC_Handler:0000000000000000 $t
/tmp/ccSTmMyu.s:152 .text.SVC_Handler:0000000000000000 SVC_Handler
/tmp/ccSTmMyu.s:171 .text.SVC_Handler:0000000000000018 pxCurrentTCBConst2
/tmp/ccSTmMyu.s:171 .text.SVC_Handler:0000000000000018 $d
/tmp/ccSTmMyu.s:180 .text.xPortStartScheduler:0000000000000000 $t
/tmp/ccSTmMyu.s:185 .text.xPortStartScheduler:0000000000000000 xPortStartScheduler
/tmp/ccSTmMyu.s:444 .data.uxCriticalNesting:0000000000000000 .LANCHOR0
/tmp/ccSTmMyu.s:233 .text.vPortEndScheduler:0000000000000000 $t
/tmp/ccSTmMyu.s:238 .text.vPortEndScheduler:0000000000000000 vPortEndScheduler
/tmp/ccSTmMyu.s:250 .text.vPortYieldFromISR:0000000000000000 $t
/tmp/ccSTmMyu.s:255 .text.vPortYieldFromISR:0000000000000000 vPortYieldFromISR
/tmp/ccSTmMyu.s:272 .text.vPortEnterCritical:0000000000000000 $t
/tmp/ccSTmMyu.s:277 .text.vPortEnterCritical:0000000000000000 vPortEnterCritical
/tmp/ccSTmMyu.s:302 .text.vPortExitCritical:0000000000000000 $t
/tmp/ccSTmMyu.s:307 .text.vPortExitCritical:0000000000000000 vPortExitCritical
/tmp/ccSTmMyu.s:335 .text.PendSV_Handler:0000000000000000 $t
/tmp/ccSTmMyu.s:340 .text.PendSV_Handler:0000000000000000 PendSV_Handler
/tmp/ccSTmMyu.s:383 .text.PendSV_Handler:000000000000004c pxCurrentTCBConst
/tmp/ccSTmMyu.s:383 .text.PendSV_Handler:000000000000004c $d
/tmp/ccSTmMyu.s:392 .text.SysTick_Handler:0000000000000000 $t
/tmp/ccSTmMyu.s:397 .text.SysTick_Handler:0000000000000000 SysTick_Handler
/tmp/ccSTmMyu.s:440 .rodata.ulKernelPriority:0000000000000000 ulKernelPriority
/tmp/ccSTmMyu.s:437 .rodata.ulKernelPriority:0000000000000000 $d
/tmp/ccSTmMyu.s:443 .data.uxCriticalNesting:0000000000000000 $d
/tmp/ccSTmMyu.s:447 .data.uxCriticalNesting:0000000000000000 uxCriticalNesting
/tmp/ccSTmMyu.s:107 .text.vPortEnableVFP:000000000000000e $d
/tmp/ccSTmMyu.s:48 .text.vPortStartFirstTask:0000000000000010 $d
/tmp/cc65hzpY.s:20 .text.vPortStartFirstTask:0000000000000000 $t
/tmp/cc65hzpY.s:24 .text.vPortStartFirstTask:0000000000000000 vPortStartFirstTask
/tmp/cc65hzpY.s:49 .text.prvSetupTimerInterrupt:0000000000000000 $t
/tmp/cc65hzpY.s:53 .text.prvSetupTimerInterrupt:0000000000000000 prvSetupTimerInterrupt
/tmp/cc65hzpY.s:82 .text.vPortEnableVFP:0000000000000000 $t
/tmp/cc65hzpY.s:86 .text.vPortEnableVFP:0000000000000000 vPortEnableVFP
/tmp/cc65hzpY.s:108 .text.pxPortInitialiseStack:0000000000000000 $t
/tmp/cc65hzpY.s:113 .text.pxPortInitialiseStack:0000000000000000 pxPortInitialiseStack
/tmp/cc65hzpY.s:147 .text.SVC_Handler:0000000000000000 $t
/tmp/cc65hzpY.s:152 .text.SVC_Handler:0000000000000000 SVC_Handler
/tmp/cc65hzpY.s:171 .text.SVC_Handler:0000000000000018 pxCurrentTCBConst2
/tmp/cc65hzpY.s:171 .text.SVC_Handler:0000000000000018 $d
/tmp/cc65hzpY.s:180 .text.xPortStartScheduler:0000000000000000 $t
/tmp/cc65hzpY.s:185 .text.xPortStartScheduler:0000000000000000 xPortStartScheduler
/tmp/cc65hzpY.s:444 .data.uxCriticalNesting:0000000000000000 .LANCHOR0
/tmp/cc65hzpY.s:233 .text.vPortEndScheduler:0000000000000000 $t
/tmp/cc65hzpY.s:238 .text.vPortEndScheduler:0000000000000000 vPortEndScheduler
/tmp/cc65hzpY.s:250 .text.vPortYieldFromISR:0000000000000000 $t
/tmp/cc65hzpY.s:255 .text.vPortYieldFromISR:0000000000000000 vPortYieldFromISR
/tmp/cc65hzpY.s:272 .text.vPortEnterCritical:0000000000000000 $t
/tmp/cc65hzpY.s:277 .text.vPortEnterCritical:0000000000000000 vPortEnterCritical
/tmp/cc65hzpY.s:302 .text.vPortExitCritical:0000000000000000 $t
/tmp/cc65hzpY.s:307 .text.vPortExitCritical:0000000000000000 vPortExitCritical
/tmp/cc65hzpY.s:335 .text.PendSV_Handler:0000000000000000 $t
/tmp/cc65hzpY.s:340 .text.PendSV_Handler:0000000000000000 PendSV_Handler
/tmp/cc65hzpY.s:383 .text.PendSV_Handler:000000000000004c pxCurrentTCBConst
/tmp/cc65hzpY.s:383 .text.PendSV_Handler:000000000000004c $d
/tmp/cc65hzpY.s:392 .text.SysTick_Handler:0000000000000000 $t
/tmp/cc65hzpY.s:397 .text.SysTick_Handler:0000000000000000 SysTick_Handler
/tmp/cc65hzpY.s:440 .rodata.ulKernelPriority:0000000000000000 ulKernelPriority
/tmp/cc65hzpY.s:437 .rodata.ulKernelPriority:0000000000000000 $d
/tmp/cc65hzpY.s:443 .data.uxCriticalNesting:0000000000000000 $d
/tmp/cc65hzpY.s:447 .data.uxCriticalNesting:0000000000000000 uxCriticalNesting
/tmp/cc65hzpY.s:107 .text.vPortEnableVFP:000000000000000e $d
/tmp/cc65hzpY.s:48 .text.vPortStartFirstTask:0000000000000010 $d
.debug_frame:0000000000000010 $d
.group:0000000000000000 wm4.1.7402b5479d3fa4780665141f585fc0ee
.group:0000000000000000 wm4.stddef.h.39.daafd3d79fe2f3a84d2d73d7d4e706f8
@@ -2653,38 +2653,38 @@
1222 .file 9 "libs/CMSIS/Include/core_cm4.h"
DEFINED SYMBOLS
*ABS*:0000000000000000 queue.c
/tmp/ccaAMljO.s:20 .text.prvIsQueueFull:0000000000000000 $t
/tmp/ccaAMljO.s:24 .text.prvIsQueueFull:0000000000000000 prvIsQueueFull
/tmp/ccaAMljO.s:60 .text.prvIsQueueEmpty:0000000000000000 $t
/tmp/ccaAMljO.s:64 .text.prvIsQueueEmpty:0000000000000000 prvIsQueueEmpty
/tmp/ccaAMljO.s:97 .text.prvCopyDataToQueue:0000000000000000 $t
/tmp/ccaAMljO.s:101 .text.prvCopyDataToQueue:0000000000000000 prvCopyDataToQueue
/tmp/ccaAMljO.s:186 .text.prvCopyDataFromQueue:0000000000000000 $t
/tmp/ccaAMljO.s:190 .text.prvCopyDataFromQueue:0000000000000000 prvCopyDataFromQueue
/tmp/ccaAMljO.s:232 .text.prvUnlockQueue:0000000000000000 $t
/tmp/ccaAMljO.s:236 .text.prvUnlockQueue:0000000000000000 prvUnlockQueue
/tmp/ccaAMljO.s:328 .text.xQueueCreate:0000000000000000 $t
/tmp/ccaAMljO.s:333 .text.xQueueCreate:0000000000000000 xQueueCreate
/tmp/ccaAMljO.s:426 .text.xQueueGenericSend:0000000000000000 $t
/tmp/ccaAMljO.s:431 .text.xQueueGenericSend:0000000000000000 xQueueGenericSend
/tmp/ccaAMljO.s:599 .text.xQueueCreateMutex:0000000000000000 $t
/tmp/ccaAMljO.s:604 .text.xQueueCreateMutex:0000000000000000 xQueueCreateMutex
/tmp/ccaAMljO.s:669 .text.xQueueGenericSendFromISR:0000000000000000 $t
/tmp/ccaAMljO.s:674 .text.xQueueGenericSendFromISR:0000000000000000 xQueueGenericSendFromISR
/tmp/ccaAMljO.s:761 .text.xQueueGenericReceive:0000000000000000 $t
/tmp/ccaAMljO.s:766 .text.xQueueGenericReceive:0000000000000000 xQueueGenericReceive
/tmp/ccaAMljO.s:979 .text.xQueueReceiveFromISR:0000000000000000 $t
/tmp/ccaAMljO.s:984 .text.xQueueReceiveFromISR:0000000000000000 xQueueReceiveFromISR
/tmp/ccaAMljO.s:1072 .text.uxQueueMessagesWaiting:0000000000000000 $t
/tmp/ccaAMljO.s:1077 .text.uxQueueMessagesWaiting:0000000000000000 uxQueueMessagesWaiting
/tmp/ccaAMljO.s:1106 .text.uxQueueMessagesWaitingFromISR:0000000000000000 $t
/tmp/ccaAMljO.s:1111 .text.uxQueueMessagesWaitingFromISR:0000000000000000 uxQueueMessagesWaitingFromISR
/tmp/ccaAMljO.s:1128 .text.vQueueDelete:0000000000000000 $t
/tmp/ccaAMljO.s:1133 .text.vQueueDelete:0000000000000000 vQueueDelete
/tmp/ccaAMljO.s:1160 .text.xQueueIsQueueEmptyFromISR:0000000000000000 $t
/tmp/ccaAMljO.s:1165 .text.xQueueIsQueueEmptyFromISR:0000000000000000 xQueueIsQueueEmptyFromISR
/tmp/ccaAMljO.s:1186 .text.xQueueIsQueueFullFromISR:0000000000000000 $t
/tmp/ccaAMljO.s:1191 .text.xQueueIsQueueFullFromISR:0000000000000000 xQueueIsQueueFullFromISR
/tmp/cc0Ss67r.s:20 .text.prvIsQueueFull:0000000000000000 $t
/tmp/cc0Ss67r.s:24 .text.prvIsQueueFull:0000000000000000 prvIsQueueFull
/tmp/cc0Ss67r.s:60 .text.prvIsQueueEmpty:0000000000000000 $t
/tmp/cc0Ss67r.s:64 .text.prvIsQueueEmpty:0000000000000000 prvIsQueueEmpty
/tmp/cc0Ss67r.s:97 .text.prvCopyDataToQueue:0000000000000000 $t
/tmp/cc0Ss67r.s:101 .text.prvCopyDataToQueue:0000000000000000 prvCopyDataToQueue
/tmp/cc0Ss67r.s:186 .text.prvCopyDataFromQueue:0000000000000000 $t
/tmp/cc0Ss67r.s:190 .text.prvCopyDataFromQueue:0000000000000000 prvCopyDataFromQueue
/tmp/cc0Ss67r.s:232 .text.prvUnlockQueue:0000000000000000 $t
/tmp/cc0Ss67r.s:236 .text.prvUnlockQueue:0000000000000000 prvUnlockQueue
/tmp/cc0Ss67r.s:328 .text.xQueueCreate:0000000000000000 $t
/tmp/cc0Ss67r.s:333 .text.xQueueCreate:0000000000000000 xQueueCreate
/tmp/cc0Ss67r.s:426 .text.xQueueGenericSend:0000000000000000 $t
/tmp/cc0Ss67r.s:431 .text.xQueueGenericSend:0000000000000000 xQueueGenericSend
/tmp/cc0Ss67r.s:599 .text.xQueueCreateMutex:0000000000000000 $t
/tmp/cc0Ss67r.s:604 .text.xQueueCreateMutex:0000000000000000 xQueueCreateMutex
/tmp/cc0Ss67r.s:669 .text.xQueueGenericSendFromISR:0000000000000000 $t
/tmp/cc0Ss67r.s:674 .text.xQueueGenericSendFromISR:0000000000000000 xQueueGenericSendFromISR
/tmp/cc0Ss67r.s:761 .text.xQueueGenericReceive:0000000000000000 $t
/tmp/cc0Ss67r.s:766 .text.xQueueGenericReceive:0000000000000000 xQueueGenericReceive
/tmp/cc0Ss67r.s:979 .text.xQueueReceiveFromISR:0000000000000000 $t
/tmp/cc0Ss67r.s:984 .text.xQueueReceiveFromISR:0000000000000000 xQueueReceiveFromISR
/tmp/cc0Ss67r.s:1072 .text.uxQueueMessagesWaiting:0000000000000000 $t
/tmp/cc0Ss67r.s:1077 .text.uxQueueMessagesWaiting:0000000000000000 uxQueueMessagesWaiting
/tmp/cc0Ss67r.s:1106 .text.uxQueueMessagesWaitingFromISR:0000000000000000 $t
/tmp/cc0Ss67r.s:1111 .text.uxQueueMessagesWaitingFromISR:0000000000000000 uxQueueMessagesWaitingFromISR
/tmp/cc0Ss67r.s:1128 .text.vQueueDelete:0000000000000000 $t
/tmp/cc0Ss67r.s:1133 .text.vQueueDelete:0000000000000000 vQueueDelete
/tmp/cc0Ss67r.s:1160 .text.xQueueIsQueueEmptyFromISR:0000000000000000 $t
/tmp/cc0Ss67r.s:1165 .text.xQueueIsQueueEmptyFromISR:0000000000000000 xQueueIsQueueEmptyFromISR
/tmp/cc0Ss67r.s:1186 .text.xQueueIsQueueFullFromISR:0000000000000000 $t
/tmp/cc0Ss67r.s:1191 .text.xQueueIsQueueFullFromISR:0000000000000000 xQueueIsQueueFullFromISR
.debug_frame:0000000000000010 $d
.group:0000000000000000 wm4.1.7402b5479d3fa4780665141f585fc0ee
.group:0000000000000000 wm4.newlib.h.8.fec018e441fee7bfa1923812ad010f97
BIN +461 KB (12000%) obj/src/clock.o
Binary file not shown.
BIN +4.98 KB (100%) obj/src/command_parser.o
Binary file not shown.
BIN +483 KB obj/src/hb_structs.o
Binary file not shown.
BIN +487 KB obj/src/hbfuncs.o
Binary file not shown.
BIN -8 Bytes (100%) obj/src/hbperiph.o
Binary file not shown.
BIN +3.23 KB (100%) obj/src/main.o
Binary file not shown.
BIN +66.7 KB (300%) obj/src/modbus.o
Binary file not shown.
BIN -8 Bytes (100%) obj/src/module.o
Binary file not shown.
BIN -8 Bytes (100%) obj/src/syscalls.o
Binary file not shown.
BIN +461 KB (6000%) obj/src/system_stm32f4xx.o
Binary file not shown.
BIN +64.3 KB (700%) obj/src/test.o
Binary file not shown.
BIN +972 Bytes (100%) obj/src/usart_rtos.o
Binary file not shown.
BIN -8 Bytes (100%) obj/src/ustime.o
Binary file not shown.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

@@ -912,34 +912,34 @@
392 .file 15 "FreeRTOS/Source/include/../../Source/portable/GCC/ARM_CM4F/portmacro.h"
DEFINED SYMBOLS
*ABS*:0000000000000000 syscalls.c
/tmp/ccMN7cO7.s:20 .text._exit:0000000000000000 $t
/tmp/ccMN7cO7.s:25 .text._exit:0000000000000000 _exit
/tmp/ccMN7cO7.s:41 .text._read_r:0000000000000000 $t
/tmp/ccMN7cO7.s:46 .text._read_r:0000000000000000 _read_r
/tmp/ccMN7cO7.s:68 .text._write_r:0000000000000000 $t
/tmp/ccMN7cO7.s:73 .text._write_r:0000000000000000 _write_r
/tmp/ccMN7cO7.s:94 .text._lseek_r:0000000000000000 $t
/tmp/ccMN7cO7.s:99 .text._lseek_r:0000000000000000 _lseek_r
/tmp/ccMN7cO7.s:119 .text._close_r:0000000000000000 $t
/tmp/ccMN7cO7.s:124 .text._close_r:0000000000000000 _close_r
/tmp/ccMN7cO7.s:143 .text._fstat_r:0000000000000000 $t
/tmp/ccMN7cO7.s:148 .text._fstat_r:0000000000000000 _fstat_r
/tmp/ccMN7cO7.s:177 .text._isatty_r:0000000000000000 $t
/tmp/ccMN7cO7.s:182 .text._isatty_r:0000000000000000 _isatty_r
/tmp/ccMN7cO7.s:198 .text._sbrk_r:0000000000000000 $t
/tmp/ccMN7cO7.s:203 .text._sbrk_r:0000000000000000 _sbrk_r
/tmp/cctvi0BC.s:20 .text._exit:0000000000000000 $t
/tmp/cctvi0BC.s:25 .text._exit:0000000000000000 _exit
/tmp/cctvi0BC.s:41 .text._read_r:0000000000000000 $t
/tmp/cctvi0BC.s:46 .text._read_r:0000000000000000 _read_r
/tmp/cctvi0BC.s:68 .text._write_r:0000000000000000 $t
/tmp/cctvi0BC.s:73 .text._write_r:0000000000000000 _write_r
/tmp/cctvi0BC.s:94 .text._lseek_r:0000000000000000 $t
/tmp/cctvi0BC.s:99 .text._lseek_r:0000000000000000 _lseek_r
/tmp/cctvi0BC.s:119 .text._close_r:0000000000000000 $t
/tmp/cctvi0BC.s:124 .text._close_r:0000000000000000 _close_r
/tmp/cctvi0BC.s:143 .text._fstat_r:0000000000000000 $t
/tmp/cctvi0BC.s:148 .text._fstat_r:0000000000000000 _fstat_r
/tmp/cctvi0BC.s:177 .text._isatty_r:0000000000000000 $t
/tmp/cctvi0BC.s:182 .text._isatty_r:0000000000000000 _isatty_r
/tmp/cctvi0BC.s:198 .text._sbrk_r:0000000000000000 $t
/tmp/cctvi0BC.s:203 .text._sbrk_r:0000000000000000 _sbrk_r
*COM*:0000000000000004 __brkval
/tmp/ccMN7cO7.s:373 .data.__malloc_margin:0000000000000000 .LANCHOR0
/tmp/ccMN7cO7.s:272 .text._kill_r:0000000000000000 $t
/tmp/ccMN7cO7.s:277 .text._kill_r:0000000000000000 _kill_r
/tmp/ccMN7cO7.s:296 .text._getpid_r:0000000000000000 $t
/tmp/ccMN7cO7.s:301 .text._getpid_r:0000000000000000 _getpid_r
/tmp/ccMN7cO7.s:320 .text.__malloc_lock:0000000000000000 $t
/tmp/ccMN7cO7.s:325 .text.__malloc_lock:0000000000000000 __malloc_lock
/tmp/ccMN7cO7.s:345 .text.__malloc_unlock:0000000000000000 $t
/tmp/ccMN7cO7.s:350 .text.__malloc_unlock:0000000000000000 __malloc_unlock
/tmp/ccMN7cO7.s:376 .data.__malloc_margin:0000000000000000 __malloc_margin
/tmp/ccMN7cO7.s:372 .data.__malloc_margin:0000000000000000 $d
/tmp/cctvi0BC.s:373 .data.__malloc_margin:0000000000000000 .LANCHOR0
/tmp/cctvi0BC.s:272 .text._kill_r:0000000000000000 $t
/tmp/cctvi0BC.s:277 .text._kill_r:0000000000000000 _kill_r
/tmp/cctvi0BC.s:296 .text._getpid_r:0000000000000000 $t
/tmp/cctvi0BC.s:301 .text._getpid_r:0000000000000000 _getpid_r
/tmp/cctvi0BC.s:320 .text.__malloc_lock:0000000000000000 $t
/tmp/cctvi0BC.s:325 .text.__malloc_lock:0000000000000000 __malloc_lock
/tmp/cctvi0BC.s:345 .text.__malloc_unlock:0000000000000000 $t
/tmp/cctvi0BC.s:350 .text.__malloc_unlock:0000000000000000 __malloc_unlock
/tmp/cctvi0BC.s:376 .data.__malloc_margin:0000000000000000 __malloc_margin
/tmp/cctvi0BC.s:372 .data.__malloc_margin:0000000000000000 $d
.debug_frame:0000000000000010 $d
.group:0000000000000000 wm4.1.7402b5479d3fa4780665141f585fc0ee
.group:0000000000000000 wm4.newlib.h.8.fec018e441fee7bfa1923812ad010f97

Large diffs are not rendered by default.

Large diffs are not rendered by default.

1,662 obj/test.lst

Large diffs are not rendered by default.

Large diffs are not rendered by default.

@@ -323,20 +323,20 @@
249 .file 8 "libs/CMSIS/Include/core_cm4.h"
DEFINED SYMBOLS
*ABS*:0000000000000000 ustime.c
/tmp/ccSujqMu.s:20 .text.get_us_time:0000000000000000 $t
/tmp/ccSujqMu.s:25 .text.get_us_time:0000000000000000 get_us_time
/tmp/ccSujqMu.s:229 .bss.t0.7354:0000000000000000 .LANCHOR0
/tmp/ccSujqMu.s:236 .bss.tickcount.7355:0000000000000000 .LANCHOR1
/tmp/ccSujqMu.s:76 .text.delay_us:0000000000000000 $t
/tmp/ccSujqMu.s:81 .text.delay_us:0000000000000000 delay_us
/tmp/ccSujqMu.s:139 .text.delay_ms:0000000000000000 $t
/tmp/ccSujqMu.s:144 .text.delay_ms:0000000000000000 delay_ms
/tmp/ccSujqMu.s:167 .text.init_us_timer:0000000000000000 $t
/tmp/ccSujqMu.s:172 .text.init_us_timer:0000000000000000 init_us_timer
/tmp/ccSujqMu.s:228 .bss.t0.7354:0000000000000000 $d
/tmp/ccSujqMu.s:232 .bss.t0.7354:0000000000000000 t0.7354
/tmp/ccSujqMu.s:235 .bss.tickcount.7355:0000000000000000 $d
/tmp/ccSujqMu.s:239 .bss.tickcount.7355:0000000000000000 tickcount.7355
/tmp/ccJvGVX1.s:20 .text.get_us_time:0000000000000000 $t
/tmp/ccJvGVX1.s:25 .text.get_us_time:0000000000000000 get_us_time
/tmp/ccJvGVX1.s:229 .bss.t0.7354:0000000000000000 .LANCHOR0
/tmp/ccJvGVX1.s:236 .bss.tickcount.7355:0000000000000000 .LANCHOR1
/tmp/ccJvGVX1.s:76 .text.delay_us:0000000000000000 $t
/tmp/ccJvGVX1.s:81 .text.delay_us:0000000000000000 delay_us
/tmp/ccJvGVX1.s:139 .text.delay_ms:0000000000000000 $t
/tmp/ccJvGVX1.s:144 .text.delay_ms:0000000000000000 delay_ms
/tmp/ccJvGVX1.s:167 .text.init_us_timer:0000000000000000 $t
/tmp/ccJvGVX1.s:172 .text.init_us_timer:0000000000000000 init_us_timer
/tmp/ccJvGVX1.s:228 .bss.t0.7354:0000000000000000 $d
/tmp/ccJvGVX1.s:232 .bss.t0.7354:0000000000000000 t0.7354
/tmp/ccJvGVX1.s:235 .bss.tickcount.7355:0000000000000000 $d
/tmp/ccJvGVX1.s:239 .bss.tickcount.7355:0000000000000000 tickcount.7355
.debug_frame:0000000000000010 $d
.group:0000000000000000 wm4.1.7402b5479d3fa4780665141f585fc0ee
.group:0000000000000000 wm4.features.h.22.6a4ca7cd053637cc1d0db6c16f39b2d7
1 run.sh
@@ -0,0 +1 @@
sudo openocd -f /usr/local/share/openocd/scripts/board/stm32f4discovery.cfg &
Binary file not shown.
Binary file not shown.
BIN +16 KB (140%) src/.main.c.swp
Binary file not shown.
Binary file not shown.
@@ -1,4 +1,6 @@
#include "command_parser.h"
#include "hbfuncs.h"
#include "hb_structs.h"

USART_rtos *USARTOutput_rtos;

@@ -87,6 +89,7 @@ int REGIME_PH[MAX_REGIME_PH][2] = {
{-1, -1},
{-1, -1}
}; //ph, delay

int REGIME_LIGHTING[MAX_REGIME_LIGHTING][2] ={{-1, -1}}; //distance, hours_on

void command_set_regime_ph(char *pos, char term) {
@@ -298,6 +301,7 @@ void command_del_regime_ph (char *pos, char term) {
int idx = find_next_char(pos, 0, term);
pos+=idx+1;
int regime_id = str_to_int(pos, '\003')-1;

if (!(regime_id>=0 && regime_id < MAX_REGIME_PH)) {
USART_rtos_puts(&packet, "Error: Incorrect REGIME_PH id\r\n");
return;
@@ -336,6 +340,8 @@ void command_del(char *pos, char term) {
USART_rtos_packet packet;
packet.USARTx_rtos = USARTOutput_rtos;
pos+=4;
USART_puts(USARTOutput_rtos->id, "COOL\r\n");

if (str_compare(pos, "REGIME_PH\003", term)) {
command_del_regime_ph(pos, term);
}
@@ -390,7 +396,7 @@ void command_get(char *pos, char term) {
USART_rtos_packet packet;
packet.USARTx_rtos = USARTOutput_rtos;

pos+=4;
pos+=4; //moves cursor 4 chars to right to access next word. ex( |get ... --> get |...)

if (str_compare(pos, "REGIME_PH\003", term)) {

@@ -448,6 +454,131 @@ void command_get(char *pos, char term) {
}
}

void command_config_clock(char *pos, char term) {
unsigned error_code = 99; //unknown error
USART_rtos_packet packet;
char buffer[80];
char msg[] = "{'object_type': 'CLOCK', 'method': 'config', 'error':%u, h=%d, m=%d, s=%d}\r\n";
packet.msg = buffer;
packet.USARTx_rtos = USARTOutput_rtos;

int NEW_ITEM = 0;

int idx = find_next_char(pos, 0, term);
pos+=idx+1;

int i;

int hours = 0, minutes = 0, seconds = 0;
for(i=0; i<4 && idx!=0; i++) {
//pos++;
switch (*pos) {
case 'h': //hours
pos++;
hours = str_to_int(pos, '\003');
if (!(hours >= 0 && hours <=23)) {
hours = 0;
error_code = 400;
}
break;

case 'm': //minutes
pos++;
minutes = str_to_int(pos, '\003');
if (!(minutes >= 0 && minutes <=59)) {
minutes = 0;
error_code = 400;
}
break;

case 's': //seconds
pos++;
seconds = str_to_int(pos, '\003');
if (!(seconds >= 0 && seconds <=59)) {
seconds = 0;
error_code = 400;
}
break;

default:
error_code = 401;
break;
}

if (error_code != 99) break;

idx = find_next_char(pos, 0, term);
if (idx == -1) break;
pos+=idx+1;
}

RTC_TimeTypeDef t;
if (error_code == 99) {
getTime(&t);
unsigned int c = getEpoch(&t, getSystemDay());
setTimeSafely(hours, minutes, seconds, c);
//RTC_GetTime(RTC_Format_BIN, &t);

error_code = 0;
}
getTime(&t);






/* FOR DEBUGGING
USART_puts(USARTOutput_rtos->id, "debug3: ");
USART_put_unsigned_int(USARTOutput_rtos->id, timer_list_head->debug3);
USART_puts(USARTOutput_rtos->id, "\r\n");
USART_puts(USARTOutput_rtos->id, "prev: ");
USART_put_unsigned_int(USARTOutput_rtos->id, timer_list_head->debug);
USART_puts(USARTOutput_rtos->id, "\r\n");
USART_puts(USARTOutput_rtos->id, "prev timer: ");
USART_put_unsigned_int(USARTOutput_rtos->id, timer_list_head->debug2);
USART_puts(USARTOutput_rtos->id, "\r\n");
USART_puts(USARTOutput_rtos->id, "prev set timer: ");
USART_put_unsigned_int(USARTOutput_rtos->id, timer_list_head->debug0);
USART_puts(USARTOutput_rtos->id, "\r\n");
USART_puts(USARTOutput_rtos->id, "current: ");
USART_put_unsigned_int(USARTOutput_rtos->id, timer_list_head->debug1);
USART_puts(USARTOutput_rtos->id, "\r\n");
USART_puts(USARTOutput_rtos->id, "current timer: ");
USART_put_unsigned_int(USARTOutput_rtos->id, timer_list_head->epoch);
USART_puts(USARTOutput_rtos->id, "\r\n");
*/


USART_rtos_sputs(&packet, msg, error_code, hours, minutes, seconds);
USART_rtos_wait_send(&packet);
}

void command_config(char *pos, char term) {
USART_rtos_packet packet;
packet.USARTx_rtos = USARTOutput_rtos;

pos+=7; //move cursor to next word
if (str_compare(pos, "CLOCK\003", term)) {
command_config_clock(pos, term);
// USART_rtos_puts(&packet, "OK!\r\n");
// USART_rtos_wait_send(&packet);
return;
}
}



int command_routing(char *pos, char term) {
@@ -467,6 +598,10 @@ int command_routing(char *pos, char term) {
command_del(pos, term);
}

else if(str_compare(pos, "config\003", term)) {
command_config(pos, term);
}

else if (*pos != term){
USART_rtos_puts(&packet, "{'method': '', 'error': 9}\r\n"); //error 9: Unknown start command
USART_rtos_wait_send(&packet);
@@ -475,6 +610,7 @@ int command_routing(char *pos, char term) {
return r; //1 = Error
}


/*
int main(void) {
int i=0;
@@ -1,4 +1,8 @@
#include "usart_rtos.h"

#ifndef COMMAND_PARSER_H__
#define COMMAND_PARSER_H__

#define MAX_STAGES 10
#define MAX_REGIME_PH MAX_STAGES * 1
#define MAX_REGIME_LIGHTING MAX_STAGES * 1
@@ -20,7 +24,6 @@ typedef struct {
int using;
} Stage;


void command_set_regime_ph(char *pos, char term);
void command_set_stage(char *pos, char term);
void command_set(char *pos, char term);
@@ -38,14 +41,4 @@ int command_routing(char *pos, char term);
void stage_print(Stage *stage);
void regime_ph_print(int *regime_ph, int regime_id);












#endif
@@ -0,0 +1,72 @@
#include "hb_structs.h"
/*
USART_rtos *USARTOutput_rtos;
void setup_debug_struct_output(USART_rtos *USARTx_rtos) {
USARTOutput_rtos = USARTx_rtos;
}
*/

static unsigned int SYSTEM_DAY_COUNT; //private file var

unsigned getSystemDay() {
return SYSTEM_DAY_COUNT;
}

void setSystemDay(unsigned int day) {
SYSTEM_DAY_COUNT = day;
}

void correctTimeChangeOffset(unsigned int prev_epoch, Timer_node* timer_list_head) {
RTC_TimeTypeDef t;


Timer_node* cursor = timer_list_head;
while(cursor) {
RTC_GetTime(RTC_Format_BIN, &t);
unsigned int current_epoch = getEpoch(&t, getSystemDay());
unsigned int offset = 0;

//gets the absolute offset
int missed = 0;
offset = cursor->epoch - prev_epoch;

//cursor->debug2 = cursor->epoch; //prev timer epoch
cursor->epoch = current_epoch + offset; //current timer epoch
cursor->debug = prev_epoch; // prev epoch
cursor->debug1 = current_epoch; //current epoch
cursor = cursor->next;
}
}

Timer_node* FindTimerInterrupt(int id, Timer_node *timer_list_head) {
Timer_node* cursor = timer_list_head;
while (cursor) {
if (cursor->id == id) return cursor;
cursor = cursor->next;
}
return NULL;
}

int addTimerInterrupt(Timer_node *timer, Timer_node **timer_list_head) {
if (!timer->timer_mutex) timer->timer_mutex = xSemaphoreCreateMutex();
if (xSemaphoreTake(timer->timer_mutex, portMAX_DELAY) == pdTRUE) {
Timer_node* cursor = *timer_list_head;
timer->next = NULL;//safety

if (cursor == NULL) {
*timer_list_head = timer;
return 1;
}

while(cursor->next) cursor = cursor->next;
cursor->next = timer;

int r = (xSemaphoreTake(timer->timer_mutex, portMAX_DELAY) == pdTRUE);
if (r) xSemaphoreGive(timer->timer_mutex);
return r;

}

return 0;
}
@@ -0,0 +1,70 @@
#include "module.h"
#include "hbfuncs.h"
//#include "usart_rtos.h"

#ifndef HB_STRUCTS
#define HB_STRUCTS
enum System_State {SYSTEM_WRITING, SYSTEM_WRITTEN, SYSTEM_READ, SYSTEM_ERROR};


unsigned getSystemDay();

void setSystemDay(unsigned int day);

//void setup_debug_struct_output(USART_rtos *USARTx_rtos);


typedef struct {
enum System_State state;
PPump_Module PPump_PHUp;
UDS_Module UDS_PHUp;
PPump_Module PPump_PHDown;
UDS_Module UDS_PHDown;
PPump_Module PPump_Nutrient;
UDS_Module UDS_Nutrient;
PHMeter_Module PHMeter_Resvoir;
int target_ph;
int ph_delay;
} HydroponicSystem;


typedef struct {
Light_Module Lighting; //change to Lighting_Module
enum System_State state;
int distance;
int hours_on;
} LightingSystem;


typedef struct {
enum System_State state;
Fan_Module Fan_Reservoir; //fans the water
Fan_Module Fan_Plant; //fans the plants
Fan_Module Fan_In; //brings in co2
Fan_Module Fan_Out; //puts out oxygen through carbon filter
Temperature_Module Temperature_Resevoir; // straightforward, above comments apply here
Temperature_Module Temperature_Plant;
} ACSystem;

typedef struct Timer_node{
xSemaphoreHandle* timer_mutex;
struct Timer_node* next;

unsigned epoch;
uint8_t id;
unsigned debug;
unsigned debug0;
unsigned debug1;
unsigned debug2;
unsigned debug3;


} Timer_node;

extern Timer_node* timer_list_head;

int addTimerInterrupt(Timer_node *timer, Timer_node **timer_list_head);
void correctTimeChangeOffset(unsigned int prev_epoch, Timer_node *timer_list_head);
Timer_node* FindTimerInterrupt(int id, Timer_node *timer_list_head);

#endif
@@ -4,3 +4,5 @@
#define UDS_PHUP_PORT_OUT GPIOD


#define USART1_GPIO_PIN GPIO_PIN_7

@@ -0,0 +1,75 @@
#include "FreeRTOS.h"
#include "task.h"
#include "hb_structs.h"

extern Timer_node* timer_list_head;

void setTime(int hours, int minutes, int seconds) {
RTC_TimeTypeDef RTC_TimeStructure;

RTC_EnterInitMode();

//debug
if (timer_list_head)
timer_list_head->debug3 = (unsigned) RTC_TimeStructure.RTC_Hours;

RTC_TimeStructure.RTC_Seconds = DEC_2_HEX(seconds);
RTC_TimeStructure.RTC_Minutes = DEC_2_HEX(minutes);//0x01;
RTC_TimeStructure.RTC_Hours = DEC_2_HEX(hours);//0x01;
RTC_TimeStructure.RTC_H12 = RTC_H12_AM;
RTC_SetTime(RTC_Format_BCD,&RTC_TimeStructure);


RTC_ExitInitMode();
}

//for future: dont pass the previous epoch but rather create it within function
//Also prevent other tasks interrupting
void setTimeSafely(int hours, int minutes, int seconds, unsigned prev_epoch) { //sets time safely for timers and other tasks
RTC_TimeTypeDef t;
taskENTER_CRITICAL();

getTime(&t);
unsigned int c = getEpoch(&t, getSystemDay());

setTime(hours, minutes, seconds);
if (timer_list_head) correctTimeChangeOffset(c, timer_list_head);
taskEXIT_CRITICAL();

}


void setDate(int month, int day, int year) {
RTC_DateTypeDef RTC_DateStructure;

RTC_EnterInitMode();

RTC_DateStructure.RTC_Date = day;
RTC_DateStructure.RTC_Month = month;
RTC_DateStructure.RTC_WeekDay= RTC_Weekday_Thursday;
RTC_DateStructure.RTC_Year = year;
RTC_SetDate(RTC_Format_BCD,&RTC_DateStructure);

RTC_ExitInitMode();

}

void getTime(RTC_TimeTypeDef *time) {
RTC_GetTime(RTC_Format_BIN, time);
/*
time->RTC_Hours = time->RTC_Hours;
time->RTC_Minutes = time->RTC_Minutes;
time->RTC_Seconds = time->RTC_Seconds;
*/
}


unsigned getEpoch(RTC_TimeTypeDef *time, int days) {

unsigned int epoch = days * 86400;
epoch += time->RTC_Hours * 3600;
epoch += time->RTC_Minutes * 60;
epoch += time->RTC_Seconds;
return epoch;
}

@@ -0,0 +1,15 @@
#ifndef HBFUNCS_H__
#define HBFUNCS_H__

#define HEX_2_DEC(val) (((val)/16)*10+((val)%16))
#define DEC_2_HEX(val) (((val)/10)*16+((val)%10))

void getTime(RTC_TimeTypeDef *time);
void setTime(int hours, int minutes, int seconds);
void setTimeSafely(int hours, int minutes, int seconds, unsigned prev_epoch); //sets time safely for timers and other tasks

void setDate(int month, int day, int year);

unsigned getEpoch(RTC_TimeTypeDef *time, int days);

#endif

Large diffs are not rendered by default.

@@ -50,19 +50,16 @@ void USART_rtos_puts(USART_rtos_packet *packet, char *msg) {
int USART_rtos_sputs(USART_rtos_packet *packet, const char *format, ...) {
if (packet->msg){


va_list ap;
int rv;

va_start(ap, format);

rv = vsprintf(packet->msg, format, ap);

va_end(ap);


USART_rtos_puts(packet, packet->msg);


return rv;
}
return -1;
@@ -94,6 +91,20 @@ void USART_puts(USART_TypeDef* USARTx, volatile char *s){
}
}

void USART_put_unsigned_int(USART_TypeDef* USARTx, unsigned int number) {
char value[10];
int i=0;
do {
value[i++] = (char)(number % 10) + '0';
number /= 10;
} while (number);

while(i) {
USART_put(USARTx, value[--i]);
}
}


void USART_put_int(USART_TypeDef* USARTx, int number) {
uint8_t neg = 0;

@@ -29,6 +29,8 @@ void USART_rtos_init(USART_rtos *USARTx_rtos,USART_TypeDef *USARTx);
void USART_put(USART_TypeDef* USARTx, volatile char c);
void USART_puts(USART_TypeDef* USARTx, volatile char *s);
void USART_put_int(USART_TypeDef* USARTx, int number);
void USART_put_unsigned_int(USART_TypeDef* USARTx, unsigned int number);


void USART_getline(USART_rtos *USARTx_rtos, int timeout);
int USART_nextline_length(USART_rtos *USARTx_rtos);