Browse Source

Limiter switches logic inversion

Bartosz Jakubski 3 months ago
parent
commit
841fd79ecd

+ 0 - 72
OZE_Sensor/Core/Src/main.c

@@ -1407,49 +1407,6 @@ void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *hadc)
 
 
 void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim)
 void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim)
 {
 {
-#if 0
-	if (htim->Instance == TIM4)
-	{
-		if(htim->Channel == HAL_TIM_ACTIVE_CHANNEL_3)
-		{
-			encoderXChannelA += HAL_TIM_ReadCapturedValue(htim, TIM_CHANNEL_3) + 1;
-		} else if(htim->Channel == HAL_TIM_ACTIVE_CHANNEL_4)
-		{
-			encoderXChannelB += HAL_TIM_ReadCapturedValue(htim, TIM_CHANNEL_4) + 1;
-		}
-		if((encoderXChannelA != 0) && (encoderXChannelB != 0))
-		{
-			EncoderData encoderData = { 0 };
-			encoderData.axe = encoderAxeX;
-			encoderData.direction = encoderXChannelA - encoderXChannelB < 0 ? encoderCW : encoderCCW;
-			if (encoderData.direction == encoderCCW)
-			{
-				asm("nop;");
-			}
-			osMessageQueuePut(encoderXDataQueue, &encoderData, 0, 0);
-			encoderXChannelA = 0;
-			encoderXChannelB = 0;
-		}
-	} else if (htim->Instance == TIM2)
-	{
-		if(htim->Channel == HAL_TIM_ACTIVE_CHANNEL_3)
-		{
-			encoderYChannelA += HAL_TIM_ReadCapturedValue(htim, TIM_CHANNEL_3) + 1;
-		} else if(htim->Channel == HAL_TIM_ACTIVE_CHANNEL_4)
-		{
-			encoderYChannelB += HAL_TIM_ReadCapturedValue(htim, TIM_CHANNEL_4) + 1;
-		}
-		if((encoderYChannelA != 0) && (encoderYChannelB != 0))
-		{
-			EncoderData encoderData = { 0 };
-			encoderData.axe = encoderAxeY;
-			encoderData.direction = encoderYChannelA - encoderYChannelB < 0 ? encoderCW : encoderCCW;
-			osMessageQueuePut(encoderYDataQueue, &encoderData, 0, 0);
-			encoderYChannelA = 0;
-			encoderYChannelB = 0;
-		}
-	}
-#endif
 	if (htim->Instance == TIM4)
 	if (htim->Instance == TIM4)
 	{
 	{
 		if(htim->Channel == HAL_TIM_ACTIVE_CHANNEL_3)
 		if(htim->Channel == HAL_TIM_ACTIVE_CHANNEL_3)
@@ -1736,35 +1693,6 @@ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
 	  encoderYChannelA = 0;
 	  encoderYChannelA = 0;
 	  encoderYChannelB = 0;
 	  encoderYChannelB = 0;
   }
   }
-//  else if (htim->Instance == TIM4)
-//  {
-//	  if((encoderXChannelA > 0) && (encoderXChannelB == 0))
-//	  {
-//		  encoderXChannelB += htim->Instance->ARR;
-//	  } else if((encoderXChannelB > 0) && (encoderXChannelA == 0 ))
-//	  {
-//		  encoderXChannelA += htim->Instance->ARR;
-//	  } else
-//	  {
-//		  encoderXChannelA = 0;
-//		  encoderXChannelB = 0;
-//	  }
-//  }
-//  else if (htim->Instance == TIM2)
-//  {
-//	  if((encoderYChannelA > 0) && (encoderYChannelB == 0))
-//	  {
-//		  encoderYChannelB += htim->Instance->ARR;
-//	  } else if((encoderYChannelB > 0) && (encoderYChannelA == 0))
-//	  {
-//		  encoderYChannelA += htim->Instance->ARR;
-//	  } else
-//	  {
-//		  encoderYChannelA = 0;
-//		  encoderYChannelB = 0;
-//	  }
-//  }
-
   /* USER CODE END Callback 1 */
   /* USER CODE END Callback 1 */
 }
 }
 
 

+ 6 - 6
OZE_Sensor/Core/Src/meas_tasks.c

@@ -259,12 +259,12 @@ void LimiterSwitchTask (void* arg) {
         osMessageQueueGet (limiterSwitchDataQueue, &limiterSwitchData, 0, osWaitForever);
         osMessageQueueGet (limiterSwitchDataQueue, &limiterSwitchData, 0, osWaitForever);
         if (osMutexAcquire (sensorsInfoMutex, osWaitForever) == osOK) {
         if (osMutexAcquire (sensorsInfoMutex, osWaitForever) == osOK) {
             switch (limiterSwitchData.gpioPin) {
             switch (limiterSwitchData.gpioPin) {
-            case GPIO_PIN_8: sensorsInfo.limitYSwitchCenter = limiterSwitchData.pinState == GPIO_PIN_SET ? 0 : 1; break;
-            case GPIO_PIN_9: sensorsInfo.limitYSwitchDown = limiterSwitchData.pinState == GPIO_PIN_SET ? 0 : 1; break;
-            case GPIO_PIN_10: sensorsInfo.limitXSwitchCenter = limiterSwitchData.pinState == GPIO_PIN_SET ? 0 : 1; break;
-            case GPIO_PIN_11: sensorsInfo.limitYSwitchUp = limiterSwitchData.pinState == GPIO_PIN_SET ? 0 : 1; break;
-            case GPIO_PIN_12: sensorsInfo.limitXSwitchUp = limiterSwitchData.pinState == GPIO_PIN_SET ? 0 : 1; break;
-            case GPIO_PIN_13: sensorsInfo.limitXSwitchDown = limiterSwitchData.pinState == GPIO_PIN_SET ? 0 : 1; break;
+            case GPIO_PIN_8: sensorsInfo.limitYSwitchCenter = limiterSwitchData.pinState == GPIO_PIN_SET ? 1 : 0; break;
+            case GPIO_PIN_9: sensorsInfo.limitYSwitchDown = limiterSwitchData.pinState == GPIO_PIN_SET ? 1 : 0; break;
+            case GPIO_PIN_10: sensorsInfo.limitXSwitchCenter = limiterSwitchData.pinState == GPIO_PIN_SET ? 1 : 0; break;
+            case GPIO_PIN_11: sensorsInfo.limitYSwitchUp = limiterSwitchData.pinState == GPIO_PIN_SET ? 1 : 0; break;
+            case GPIO_PIN_12: sensorsInfo.limitXSwitchUp = limiterSwitchData.pinState == GPIO_PIN_SET ? 1 : 0; break;
+            case GPIO_PIN_13: sensorsInfo.limitXSwitchDown = limiterSwitchData.pinState == GPIO_PIN_SET ? 1 : 0; break;
             default: break;
             default: break;
             }
             }
             if ((sensorsInfo.limitXSwitchDown == 1) || (sensorsInfo.limitXSwitchUp == 1)) {
             if ((sensorsInfo.limitXSwitchDown == 1) || (sensorsInfo.limitXSwitchUp == 1)) {

+ 39 - 44
OZE_Sensor/Debug/OZE_Sensor.list

@@ -31,17 +31,17 @@ Idx Name          Size      VMA       LMA       File off  Algn
                   CONTENTS, READONLY, DEBUGGING, OCTETS
                   CONTENTS, READONLY, DEBUGGING, OCTETS
  13 .debug_macro  0003f867  00000000  00000000  00056e30  2**0
  13 .debug_macro  0003f867  00000000  00000000  00056e30  2**0
                   CONTENTS, READONLY, DEBUGGING, OCTETS
                   CONTENTS, READONLY, DEBUGGING, OCTETS
- 14 .debug_line   000314de  00000000  00000000  00096697  2**0
+ 14 .debug_line   000314d8  00000000  00000000  00096697  2**0
                   CONTENTS, READONLY, DEBUGGING, OCTETS
                   CONTENTS, READONLY, DEBUGGING, OCTETS
- 15 .debug_str    0018843f  00000000  00000000  000c7b75  2**0
+ 15 .debug_str    0018843f  00000000  00000000  000c7b6f  2**0
                   CONTENTS, READONLY, DEBUGGING, OCTETS
                   CONTENTS, READONLY, DEBUGGING, OCTETS
- 16 .comment      00000043  00000000  00000000  0024ffb4  2**0
+ 16 .comment      00000043  00000000  00000000  0024ffae  2**0
                   CONTENTS, READONLY
                   CONTENTS, READONLY
- 17 .debug_rnglists 00001c8e  00000000  00000000  0024fff7  2**0
+ 17 .debug_rnglists 00001c8e  00000000  00000000  0024fff1  2**0
                   CONTENTS, READONLY, DEBUGGING, OCTETS
                   CONTENTS, READONLY, DEBUGGING, OCTETS
- 18 .debug_frame  0000a3b4  00000000  00000000  00251c88  2**2
+ 18 .debug_frame  0000a3b4  00000000  00000000  00251c80  2**2
                   CONTENTS, READONLY, DEBUGGING, OCTETS
                   CONTENTS, READONLY, DEBUGGING, OCTETS
- 19 .debug_line_str 00000066  00000000  00000000  0025c03c  2**0
+ 19 .debug_line_str 00000066  00000000  00000000  0025c034  2**0
                   CONTENTS, READONLY, DEBUGGING, OCTETS
                   CONTENTS, READONLY, DEBUGGING, OCTETS
 
 
 Disassembly of section .text:
 Disassembly of section .text:
@@ -3860,11 +3860,6 @@ void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim)
  8001a6a:	b084      	sub	sp, #16
  8001a6a:	b084      	sub	sp, #16
  8001a6c:	af00      	add	r7, sp, #0
  8001a6c:	af00      	add	r7, sp, #0
  8001a6e:	6078      	str	r0, [r7, #4]
  8001a6e:	6078      	str	r0, [r7, #4]
-			encoderYChannelA = 0;
-			encoderYChannelB = 0;
-		}
-	}
-#endif
 	if (htim->Instance == TIM4)
 	if (htim->Instance == TIM4)
  8001a70:	687b      	ldr	r3, [r7, #4]
  8001a70:	687b      	ldr	r3, [r7, #4]
  8001a72:	681b      	ldr	r3, [r3, #0]
  8001a72:	681b      	ldr	r3, [r3, #0]
@@ -4644,10 +4639,10 @@ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
  8001f30:	d102      	bne.n	8001f38 <HAL_TIM_PeriodElapsedCallback+0x18>
  8001f30:	d102      	bne.n	8001f38 <HAL_TIM_PeriodElapsedCallback+0x18>
     HAL_IncTick();
     HAL_IncTick();
  8001f32:	f003 fb05 	bl	8005540 <HAL_IncTick>
  8001f32:	f003 fb05 	bl	8005540 <HAL_IncTick>
-//		  encoderYChannelB = 0;
-//	  }
-//  }
-
+  {
+	  encoderYChannelA = 0;
+	  encoderYChannelB = 0;
+  }
   /* USER CODE END Callback 1 */
   /* USER CODE END Callback 1 */
 }
 }
  8001f36:	e016      	b.n	8001f66 <HAL_TIM_PeriodElapsedCallback+0x46>
  8001f36:	e016      	b.n	8001f66 <HAL_TIM_PeriodElapsedCallback+0x46>
@@ -6050,74 +6045,74 @@ void LimiterSwitchTask (void* arg) {
  8002c02:	d003      	beq.n	8002c0c <LimiterSwitchTask+0xb0>
  8002c02:	d003      	beq.n	8002c0c <LimiterSwitchTask+0xb0>
  8002c04:	f5b3 7f00 	cmp.w	r3, #512	@ 0x200
  8002c04:	f5b3 7f00 	cmp.w	r3, #512	@ 0x200
  8002c08:	d00b      	beq.n	8002c22 <LimiterSwitchTask+0xc6>
  8002c08:	d00b      	beq.n	8002c22 <LimiterSwitchTask+0xc6>
-            case GPIO_PIN_9: sensorsInfo.limitYSwitchDown = limiterSwitchData.pinState == GPIO_PIN_SET ? 0 : 1; break;
-            case GPIO_PIN_10: sensorsInfo.limitXSwitchCenter = limiterSwitchData.pinState == GPIO_PIN_SET ? 0 : 1; break;
-            case GPIO_PIN_11: sensorsInfo.limitYSwitchUp = limiterSwitchData.pinState == GPIO_PIN_SET ? 0 : 1; break;
-            case GPIO_PIN_12: sensorsInfo.limitXSwitchUp = limiterSwitchData.pinState == GPIO_PIN_SET ? 0 : 1; break;
-            case GPIO_PIN_13: sensorsInfo.limitXSwitchDown = limiterSwitchData.pinState == GPIO_PIN_SET ? 0 : 1; break;
+            case GPIO_PIN_9: sensorsInfo.limitYSwitchDown = limiterSwitchData.pinState == GPIO_PIN_SET ? 1 : 0; break;
+            case GPIO_PIN_10: sensorsInfo.limitXSwitchCenter = limiterSwitchData.pinState == GPIO_PIN_SET ? 1 : 0; break;
+            case GPIO_PIN_11: sensorsInfo.limitYSwitchUp = limiterSwitchData.pinState == GPIO_PIN_SET ? 1 : 0; break;
+            case GPIO_PIN_12: sensorsInfo.limitXSwitchUp = limiterSwitchData.pinState == GPIO_PIN_SET ? 1 : 0; break;
+            case GPIO_PIN_13: sensorsInfo.limitXSwitchDown = limiterSwitchData.pinState == GPIO_PIN_SET ? 1 : 0; break;
             default: break;
             default: break;
  8002c0a:	e041      	b.n	8002c90 <LimiterSwitchTask+0x134>
  8002c0a:	e041      	b.n	8002c90 <LimiterSwitchTask+0x134>
-            case GPIO_PIN_8: sensorsInfo.limitYSwitchCenter = limiterSwitchData.pinState == GPIO_PIN_SET ? 0 : 1; break;
+            case GPIO_PIN_8: sensorsInfo.limitYSwitchCenter = limiterSwitchData.pinState == GPIO_PIN_SET ? 1 : 0; break;
  8002c0c:	7abb      	ldrb	r3, [r7, #10]
  8002c0c:	7abb      	ldrb	r3, [r7, #10]
  8002c0e:	2b01      	cmp	r3, #1
  8002c0e:	2b01      	cmp	r3, #1
- 8002c10:	bf14      	ite	ne
- 8002c12:	2301      	movne	r3, #1
- 8002c14:	2300      	moveq	r3, #0
+ 8002c10:	bf0c      	ite	eq
+ 8002c12:	2301      	moveq	r3, #1
+ 8002c14:	2300      	movne	r3, #0
  8002c16:	b2db      	uxtb	r3, r3
  8002c16:	b2db      	uxtb	r3, r3
  8002c18:	461a      	mov	r2, r3
  8002c18:	461a      	mov	r2, r3
  8002c1a:	4b47      	ldr	r3, [pc, #284]	@ (8002d38 <LimiterSwitchTask+0x1dc>)
  8002c1a:	4b47      	ldr	r3, [pc, #284]	@ (8002d38 <LimiterSwitchTask+0x1dc>)
  8002c1c:	f883 202d 	strb.w	r2, [r3, #45]	@ 0x2d
  8002c1c:	f883 202d 	strb.w	r2, [r3, #45]	@ 0x2d
  8002c20:	e037      	b.n	8002c92 <LimiterSwitchTask+0x136>
  8002c20:	e037      	b.n	8002c92 <LimiterSwitchTask+0x136>
-            case GPIO_PIN_9: sensorsInfo.limitYSwitchDown = limiterSwitchData.pinState == GPIO_PIN_SET ? 0 : 1; break;
+            case GPIO_PIN_9: sensorsInfo.limitYSwitchDown = limiterSwitchData.pinState == GPIO_PIN_SET ? 1 : 0; break;
  8002c22:	7abb      	ldrb	r3, [r7, #10]
  8002c22:	7abb      	ldrb	r3, [r7, #10]
  8002c24:	2b01      	cmp	r3, #1
  8002c24:	2b01      	cmp	r3, #1
- 8002c26:	bf14      	ite	ne
- 8002c28:	2301      	movne	r3, #1
- 8002c2a:	2300      	moveq	r3, #0
+ 8002c26:	bf0c      	ite	eq
+ 8002c28:	2301      	moveq	r3, #1
+ 8002c2a:	2300      	movne	r3, #0
  8002c2c:	b2db      	uxtb	r3, r3
  8002c2c:	b2db      	uxtb	r3, r3
  8002c2e:	461a      	mov	r2, r3
  8002c2e:	461a      	mov	r2, r3
  8002c30:	4b41      	ldr	r3, [pc, #260]	@ (8002d38 <LimiterSwitchTask+0x1dc>)
  8002c30:	4b41      	ldr	r3, [pc, #260]	@ (8002d38 <LimiterSwitchTask+0x1dc>)
  8002c32:	f883 202c 	strb.w	r2, [r3, #44]	@ 0x2c
  8002c32:	f883 202c 	strb.w	r2, [r3, #44]	@ 0x2c
  8002c36:	e02c      	b.n	8002c92 <LimiterSwitchTask+0x136>
  8002c36:	e02c      	b.n	8002c92 <LimiterSwitchTask+0x136>
-            case GPIO_PIN_10: sensorsInfo.limitXSwitchCenter = limiterSwitchData.pinState == GPIO_PIN_SET ? 0 : 1; break;
+            case GPIO_PIN_10: sensorsInfo.limitXSwitchCenter = limiterSwitchData.pinState == GPIO_PIN_SET ? 1 : 0; break;
  8002c38:	7abb      	ldrb	r3, [r7, #10]
  8002c38:	7abb      	ldrb	r3, [r7, #10]
  8002c3a:	2b01      	cmp	r3, #1
  8002c3a:	2b01      	cmp	r3, #1
- 8002c3c:	bf14      	ite	ne
- 8002c3e:	2301      	movne	r3, #1
- 8002c40:	2300      	moveq	r3, #0
+ 8002c3c:	bf0c      	ite	eq
+ 8002c3e:	2301      	moveq	r3, #1
+ 8002c40:	2300      	movne	r3, #0
  8002c42:	b2db      	uxtb	r3, r3
  8002c42:	b2db      	uxtb	r3, r3
  8002c44:	461a      	mov	r2, r3
  8002c44:	461a      	mov	r2, r3
  8002c46:	4b3c      	ldr	r3, [pc, #240]	@ (8002d38 <LimiterSwitchTask+0x1dc>)
  8002c46:	4b3c      	ldr	r3, [pc, #240]	@ (8002d38 <LimiterSwitchTask+0x1dc>)
  8002c48:	f883 202a 	strb.w	r2, [r3, #42]	@ 0x2a
  8002c48:	f883 202a 	strb.w	r2, [r3, #42]	@ 0x2a
  8002c4c:	e021      	b.n	8002c92 <LimiterSwitchTask+0x136>
  8002c4c:	e021      	b.n	8002c92 <LimiterSwitchTask+0x136>
-            case GPIO_PIN_11: sensorsInfo.limitYSwitchUp = limiterSwitchData.pinState == GPIO_PIN_SET ? 0 : 1; break;
+            case GPIO_PIN_11: sensorsInfo.limitYSwitchUp = limiterSwitchData.pinState == GPIO_PIN_SET ? 1 : 0; break;
  8002c4e:	7abb      	ldrb	r3, [r7, #10]
  8002c4e:	7abb      	ldrb	r3, [r7, #10]
  8002c50:	2b01      	cmp	r3, #1
  8002c50:	2b01      	cmp	r3, #1
- 8002c52:	bf14      	ite	ne
- 8002c54:	2301      	movne	r3, #1
- 8002c56:	2300      	moveq	r3, #0
+ 8002c52:	bf0c      	ite	eq
+ 8002c54:	2301      	moveq	r3, #1
+ 8002c56:	2300      	movne	r3, #0
  8002c58:	b2db      	uxtb	r3, r3
  8002c58:	b2db      	uxtb	r3, r3
  8002c5a:	461a      	mov	r2, r3
  8002c5a:	461a      	mov	r2, r3
  8002c5c:	4b36      	ldr	r3, [pc, #216]	@ (8002d38 <LimiterSwitchTask+0x1dc>)
  8002c5c:	4b36      	ldr	r3, [pc, #216]	@ (8002d38 <LimiterSwitchTask+0x1dc>)
  8002c5e:	f883 202b 	strb.w	r2, [r3, #43]	@ 0x2b
  8002c5e:	f883 202b 	strb.w	r2, [r3, #43]	@ 0x2b
  8002c62:	e016      	b.n	8002c92 <LimiterSwitchTask+0x136>
  8002c62:	e016      	b.n	8002c92 <LimiterSwitchTask+0x136>
-            case GPIO_PIN_12: sensorsInfo.limitXSwitchUp = limiterSwitchData.pinState == GPIO_PIN_SET ? 0 : 1; break;
+            case GPIO_PIN_12: sensorsInfo.limitXSwitchUp = limiterSwitchData.pinState == GPIO_PIN_SET ? 1 : 0; break;
  8002c64:	7abb      	ldrb	r3, [r7, #10]
  8002c64:	7abb      	ldrb	r3, [r7, #10]
  8002c66:	2b01      	cmp	r3, #1
  8002c66:	2b01      	cmp	r3, #1
- 8002c68:	bf14      	ite	ne
- 8002c6a:	2301      	movne	r3, #1
- 8002c6c:	2300      	moveq	r3, #0
+ 8002c68:	bf0c      	ite	eq
+ 8002c6a:	2301      	moveq	r3, #1
+ 8002c6c:	2300      	movne	r3, #0
  8002c6e:	b2db      	uxtb	r3, r3
  8002c6e:	b2db      	uxtb	r3, r3
  8002c70:	461a      	mov	r2, r3
  8002c70:	461a      	mov	r2, r3
  8002c72:	4b31      	ldr	r3, [pc, #196]	@ (8002d38 <LimiterSwitchTask+0x1dc>)
  8002c72:	4b31      	ldr	r3, [pc, #196]	@ (8002d38 <LimiterSwitchTask+0x1dc>)
  8002c74:	f883 2028 	strb.w	r2, [r3, #40]	@ 0x28
  8002c74:	f883 2028 	strb.w	r2, [r3, #40]	@ 0x28
  8002c78:	e00b      	b.n	8002c92 <LimiterSwitchTask+0x136>
  8002c78:	e00b      	b.n	8002c92 <LimiterSwitchTask+0x136>
-            case GPIO_PIN_13: sensorsInfo.limitXSwitchDown = limiterSwitchData.pinState == GPIO_PIN_SET ? 0 : 1; break;
+            case GPIO_PIN_13: sensorsInfo.limitXSwitchDown = limiterSwitchData.pinState == GPIO_PIN_SET ? 1 : 0; break;
  8002c7a:	7abb      	ldrb	r3, [r7, #10]
  8002c7a:	7abb      	ldrb	r3, [r7, #10]
  8002c7c:	2b01      	cmp	r3, #1
  8002c7c:	2b01      	cmp	r3, #1
- 8002c7e:	bf14      	ite	ne
- 8002c80:	2301      	movne	r3, #1
- 8002c82:	2300      	moveq	r3, #0
+ 8002c7e:	bf0c      	ite	eq
+ 8002c80:	2301      	moveq	r3, #1
+ 8002c82:	2300      	movne	r3, #0
  8002c84:	b2db      	uxtb	r3, r3
  8002c84:	b2db      	uxtb	r3, r3
  8002c86:	461a      	mov	r2, r3
  8002c86:	461a      	mov	r2, r3
  8002c88:	4b2b      	ldr	r3, [pc, #172]	@ (8002d38 <LimiterSwitchTask+0x1dc>)
  8002c88:	4b2b      	ldr	r3, [pc, #172]	@ (8002d38 <LimiterSwitchTask+0x1dc>)

+ 42 - 42
OZE_Sensor/Debug/OZE_Sensor.map

@@ -11863,50 +11863,50 @@ LOAD /opt/st/stm32cubeide_1.15.1/plugins/com.st.stm32cube.ide.mcu.externaltools.
  .debug_macro   0x0003f474      0x233 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o
  .debug_macro   0x0003f474      0x233 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o
  .debug_macro   0x0003f6a7      0x1c0 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o
  .debug_macro   0x0003f6a7      0x1c0 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o
 
 
-.debug_line     0x00000000    0x314de
+.debug_line     0x00000000    0x314d8
  .debug_line    0x00000000      0x8f2 ./Core/Src/adc_buffers.o
  .debug_line    0x00000000      0x8f2 ./Core/Src/adc_buffers.o
  .debug_line    0x000008f2      0xa08 ./Core/Src/freertos.o
  .debug_line    0x000008f2      0xa08 ./Core/Src/freertos.o
- .debug_line    0x000012fa     0x188a ./Core/Src/main.o
- .debug_line    0x00002b84      0xffe ./Core/Src/meas_tasks.o
- .debug_line    0x00003b82      0xc9a ./Core/Src/peripherial.o
- .debug_line    0x0000481c      0xcc0 ./Core/Src/serial_protocol.o
- .debug_line    0x000054dc      0xda7 ./Core/Src/stm32h7xx_hal_msp.o
- .debug_line    0x00006283      0x97f ./Core/Src/stm32h7xx_hal_timebase_tim.o
- .debug_line    0x00006c02      0xa9e ./Core/Src/stm32h7xx_it.o
- .debug_line    0x000076a0      0x7e7 ./Core/Src/syscalls.o
- .debug_line    0x00007e87      0x4b8 ./Core/Src/sysmem.o
- .debug_line    0x0000833f      0xac5 ./Core/Src/system_stm32h7xx.o
- .debug_line    0x00008e04     0x1309 ./Core/Src/uart_tasks.o
- .debug_line    0x0000a10d       0x7a ./Core/Startup/startup_stm32h742vitx.o
- .debug_line    0x0000a187      0xeba ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.o
- .debug_line    0x0000b041     0x2409 ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.o
- .debug_line    0x0000d44a     0x2007 ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.o
- .debug_line    0x0000f451      0xcbd ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_comp.o
- .debug_line    0x0001010e      0xee9 ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.o
- .debug_line    0x00010ff7      0xc4a ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc.o
- .debug_line    0x00011c41      0x9c6 ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc_ex.o
- .debug_line    0x00012607      0xe0a ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dac.o
- .debug_line    0x00013411      0xdbe ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dac_ex.o
- .debug_line    0x000141cf     0x281d ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.o
- .debug_line    0x000169ec      0xd92 ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.o
- .debug_line    0x0001777e      0x995 ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_iwdg.o
- .debug_line    0x00018113      0xb24 ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.o
- .debug_line    0x00018c37      0xfdd ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.o
- .debug_line    0x00019c14     0x148a ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.o
- .debug_line    0x0001b09e     0x1d8e ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.o
- .debug_line    0x0001ce2c      0xb65 ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rng.o
- .debug_line    0x0001d991     0x4050 ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.o
- .debug_line    0x000219e1     0x1e5a ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.o
- .debug_line    0x0002383b     0x3f48 ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.o
- .debug_line    0x00027783      0xf58 ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.o
- .debug_line    0x000286db     0x245c ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o
- .debug_line    0x0002ab37      0x6d6 ./Middlewares/Third_Party/FreeRTOS/Source/list.o
- .debug_line    0x0002b20d     0x16a0 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o
- .debug_line    0x0002c8ad      0xf8e ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o
- .debug_line    0x0002d83b     0x1da5 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
- .debug_line    0x0002f5e0      0xd5e ./Middlewares/Third_Party/FreeRTOS/Source/timers.o
- .debug_line    0x0003033e      0x89f ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o
- .debug_line    0x00030bdd      0x901 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o
+ .debug_line    0x000012fa     0x1884 ./Core/Src/main.o
+ .debug_line    0x00002b7e      0xffe ./Core/Src/meas_tasks.o
+ .debug_line    0x00003b7c      0xc9a ./Core/Src/peripherial.o
+ .debug_line    0x00004816      0xcc0 ./Core/Src/serial_protocol.o
+ .debug_line    0x000054d6      0xda7 ./Core/Src/stm32h7xx_hal_msp.o
+ .debug_line    0x0000627d      0x97f ./Core/Src/stm32h7xx_hal_timebase_tim.o
+ .debug_line    0x00006bfc      0xa9e ./Core/Src/stm32h7xx_it.o
+ .debug_line    0x0000769a      0x7e7 ./Core/Src/syscalls.o
+ .debug_line    0x00007e81      0x4b8 ./Core/Src/sysmem.o
+ .debug_line    0x00008339      0xac5 ./Core/Src/system_stm32h7xx.o
+ .debug_line    0x00008dfe     0x1309 ./Core/Src/uart_tasks.o
+ .debug_line    0x0000a107       0x7a ./Core/Startup/startup_stm32h742vitx.o
+ .debug_line    0x0000a181      0xeba ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.o
+ .debug_line    0x0000b03b     0x2409 ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.o
+ .debug_line    0x0000d444     0x2007 ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.o
+ .debug_line    0x0000f44b      0xcbd ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_comp.o
+ .debug_line    0x00010108      0xee9 ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.o
+ .debug_line    0x00010ff1      0xc4a ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc.o
+ .debug_line    0x00011c3b      0x9c6 ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc_ex.o
+ .debug_line    0x00012601      0xe0a ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dac.o
+ .debug_line    0x0001340b      0xdbe ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dac_ex.o
+ .debug_line    0x000141c9     0x281d ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.o
+ .debug_line    0x000169e6      0xd92 ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.o
+ .debug_line    0x00017778      0x995 ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_iwdg.o
+ .debug_line    0x0001810d      0xb24 ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.o
+ .debug_line    0x00018c31      0xfdd ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.o
+ .debug_line    0x00019c0e     0x148a ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.o
+ .debug_line    0x0001b098     0x1d8e ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.o
+ .debug_line    0x0001ce26      0xb65 ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rng.o
+ .debug_line    0x0001d98b     0x4050 ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.o
+ .debug_line    0x000219db     0x1e5a ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.o
+ .debug_line    0x00023835     0x3f48 ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.o
+ .debug_line    0x0002777d      0xf58 ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.o
+ .debug_line    0x000286d5     0x245c ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o
+ .debug_line    0x0002ab31      0x6d6 ./Middlewares/Third_Party/FreeRTOS/Source/list.o
+ .debug_line    0x0002b207     0x16a0 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o
+ .debug_line    0x0002c8a7      0xf8e ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o
+ .debug_line    0x0002d835     0x1da5 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
+ .debug_line    0x0002f5da      0xd5e ./Middlewares/Third_Party/FreeRTOS/Source/timers.o
+ .debug_line    0x00030338      0x89f ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o
+ .debug_line    0x00030bd7      0x901 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o
 
 
 .debug_str      0x00000000   0x18843f
 .debug_str      0x00000000   0x18843f
  .debug_str     0x00000000   0x16f712 ./Core/Src/adc_buffers.o
  .debug_str     0x00000000   0x16f712 ./Core/Src/adc_buffers.o