From 7a7f838a4a5597527c6cc35fe33fdbb6075c21ee Mon Sep 17 00:00:00 2001 From: Razvalyaev Date: Wed, 6 Aug 2025 13:44:12 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20led=20=D0=BF=D1=80=D0=B8=20=D0=BE=D1=82=D0=BF=D1=80?= =?UTF-8?q?=D0=B0=D0=B2=D0=BA=D0=B5=20=D0=BF=D0=BE=20can?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CANEmu.ioc | 37 ++++++++++++++++++++----------------- Core/CANEmu/canEmu.c | 6 ++++++ Core/CANEmu/canEmu.h | 5 +++++ Core/Src/gpio.c | 10 ++++++++++ MDK-ARM/CANEmu.uvguix.I | 40 ++++++++++++++++++++-------------------- 5 files changed, 61 insertions(+), 37 deletions(-) diff --git a/CANEmu.ioc b/CANEmu.ioc index 4e92cde..d5a35b6 100644 --- a/CANEmu.ioc +++ b/CANEmu.ioc @@ -22,22 +22,23 @@ Mcu.IP7=USART1 Mcu.IPNb=8 Mcu.Name=STM32F103C(8-B)Tx Mcu.Package=LQFP48 -Mcu.Pin0=PC14-OSC32_IN -Mcu.Pin1=PC15-OSC32_OUT -Mcu.Pin10=PA14 -Mcu.Pin11=VP_IWDG_VS_IWDG -Mcu.Pin12=VP_SYS_VS_Systick -Mcu.Pin13=VP_TIM2_VS_ClockSourceINT -Mcu.Pin14=VP_TIM3_VS_ClockSourceINT -Mcu.Pin2=PD0-OSC_IN -Mcu.Pin3=PD1-OSC_OUT -Mcu.Pin4=PB0 -Mcu.Pin5=PA9 -Mcu.Pin6=PA10 -Mcu.Pin7=PA11 -Mcu.Pin8=PA12 -Mcu.Pin9=PA13 -Mcu.PinsNb=15 +Mcu.Pin0=PC13-TAMPER-RTC +Mcu.Pin1=PC14-OSC32_IN +Mcu.Pin10=PA13 +Mcu.Pin11=PA14 +Mcu.Pin12=VP_IWDG_VS_IWDG +Mcu.Pin13=VP_SYS_VS_Systick +Mcu.Pin14=VP_TIM2_VS_ClockSourceINT +Mcu.Pin15=VP_TIM3_VS_ClockSourceINT +Mcu.Pin2=PC15-OSC32_OUT +Mcu.Pin3=PD0-OSC_IN +Mcu.Pin4=PD1-OSC_OUT +Mcu.Pin5=PB0 +Mcu.Pin6=PA9 +Mcu.Pin7=PA10 +Mcu.Pin8=PA11 +Mcu.Pin9=PA12 +Mcu.PinsNb=16 Mcu.ThirdPartyNb=0 Mcu.UserConstants= Mcu.UserName=STM32F103C8Tx @@ -72,6 +73,8 @@ PA9.Mode=Asynchronous PA9.Signal=USART1_TX PB0.Locked=true PB0.Signal=GPIO_Output +PC13-TAMPER-RTC.Locked=true +PC13-TAMPER-RTC.Signal=GPIO_Output PC14-OSC32_IN.Mode=LSE-External-Oscillator PC14-OSC32_IN.Signal=RCC_OSC32_IN PC15-OSC32_OUT.Mode=LSE-External-Oscillator @@ -111,7 +114,7 @@ ProjectManager.ToolChainLocation= ProjectManager.UAScriptAfterPath= ProjectManager.UAScriptBeforePath= ProjectManager.UnderRoot=false -ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_TIM2_Init-TIM2-false-HAL-true,4-MX_TIM3_Init-TIM3-false-HAL-true,5-MX_USART1_UART_Init-USART1-false-HAL-true +ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_TIM2_Init-TIM2-false-HAL-true,4-MX_TIM3_Init-TIM3-false-HAL-true,5-MX_USART1_UART_Init-USART1-false-HAL-true,6-MX_CAN_Init-CAN-false-HAL-true,7-MX_IWDG_Init-IWDG-false-HAL-true RCC.ADCFreqValue=36000000 RCC.AHBFreq_Value=72000000 RCC.APB1CLKDivider=RCC_HCLK_DIV2 diff --git a/Core/CANEmu/canEmu.c b/Core/CANEmu/canEmu.c index cb11883..6ca5d8e 100644 --- a/Core/CANEmu/canEmu.c +++ b/Core/CANEmu/canEmu.c @@ -59,6 +59,9 @@ void wait_exact_ticks(uint16_t target_ticks) { void CANEmu_SendFrame(CANEmu_HandleTypeDef *canemu) { if (canemu->bitrate_bps == 0) return; +#ifdef LED_WORKING + LED_WORKING(1); +#endif form_CAN_bitstream_full(&canemu->header, canemu->data, canemu->errors); @@ -80,6 +83,9 @@ void CANEmu_SendFrame(CANEmu_HandleTypeDef *canemu) { can_tx_set_1(); // Завершаем линию __enable_irq(); +#ifdef LED_WORKING + LED_WORKING(0); +#endif } diff --git a/Core/CANEmu/canEmu.h b/Core/CANEmu/canEmu.h index f659c5e..ef47e15 100644 --- a/Core/CANEmu/canEmu.h +++ b/Core/CANEmu/canEmu.h @@ -11,6 +11,11 @@ #define CANEMU_TIM_US_TICKS 72 // Для 1 мкс при 72 МГц #define CANEMU_TIM_CLOCK_HZ 72000000UL // частота таймера #define CAN_MIN_PERIOD 20 +#define LED_WORKING(on_off) \ + do { \ + if (!on_off) GPIOC->ODR |= (1U << 13); \ + else GPIOC->ODR &= ~(1U << 13); \ + } while (0) // === Макросы управления GPIO === #define can_tx_set_1() (CANEMU_TX_GPIO_PORT->BSRR = (1U << CANEMU_TX_GPIO_PIN)) diff --git a/Core/Src/gpio.c b/Core/Src/gpio.c index 84ee09d..a2b6e2e 100644 --- a/Core/Src/gpio.c +++ b/Core/Src/gpio.c @@ -50,9 +50,19 @@ void MX_GPIO_Init(void) __HAL_RCC_GPIOB_CLK_ENABLE(); __HAL_RCC_GPIOA_CLK_ENABLE(); + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET); + /*Configure GPIO pin Output Level */ HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET); + /*Configure GPIO pin : PC13 */ + GPIO_InitStruct.Pin = GPIO_PIN_13; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + /*Configure GPIO pin : PB0 */ GPIO_InitStruct.Pin = GPIO_PIN_0; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; diff --git a/MDK-ARM/CANEmu.uvguix.I b/MDK-ARM/CANEmu.uvguix.I index ca2b733..fe5b020 100644 --- a/MDK-ARM/CANEmu.uvguix.I +++ b/MDK-ARM/CANEmu.uvguix.I @@ -27,12 +27,12 @@ 346 Code Coverage - 860 100 + 875 145 204 Performance Analyzer - 124 153 153 100 + 397 153 153 317 @@ -100,25 +100,25 @@ 2 3 - -32000 - -32000 + -1 + -1 -1 -1 - 419 - 428 - 1688 - 1423 + 725 + 36 + 1296 + 1729 0 1750 - 010000000400000001000000010000000100000001000000000000000200000000000000010000000100000000000000280000002800000001000000130000000A0000000100000030463A5C576F726B5C50726F6A656374735C53544D5C43414E456D755C436F72655C43414E456D755C63616E456D752E63000000000863616E456D752E6300000000C5D4F200FFFFFFFF30463A5C576F726B5C50726F6A656374735C53544D5C43414E456D755C436F72655C43414E456D755C63616E456D752E68000000000863616E456D752E6800000000FFDC7800FFFFFFFF39463A5C576F726B5C50726F6A656374735C53544D5C43414E456D755C4D444B2D41524D5C737461727475705F73746D33326631303378622E730000000015737461727475705F73746D33326631303378622E7300000000BECEA100FFFFFFFF51463A5C576F726B5C50726F6A656374735C53544D5C43414E456D755C447269766572735C53544D3332463178785F48414C5F4472697665725C5372635C73746D3332663178785F68616C5F756172742E63000000001473746D3332663178785F68616C5F756172742E6300000000F0A0A100FFFFFFFF2B463A5C576F726B5C50726F6A656374735C53544D5C43414E456D755C436F72655C5372635C6D61696E2E6300000000066D61696E2E6300000000BCA8E100FFFFFFFF2A463A5C576F726B5C50726F6A656374735C53544D5C43414E456D755C436F72655C5372635C74696D2E63000000000574696D2E63000000009CC1B600FFFFFFFF2C463A5C576F726B5C50726F6A656374735C53544D5C43414E456D755C436F72655C5372635C75736172742E63000000000775736172742E6300000000F7B88600FFFFFFFF31463A5C576F726B5C50726F6A656374735C53544D5C43414E456D755C436F72655C43414E456D755C63616E666F726D2E63000000000963616E666F726D2E6300000000D9ADC200FFFFFFFF34463A5C576F726B5C50726F6A656374735C53544D5C43414E456D755C436F72655C4D6F646275735C72735F6D6573736167652E63000000000C72735F6D6573736167652E6300000000A5C2D700FFFFFFFF34463A5C576F726B5C50726F6A656374735C53544D5C43414E456D755C436F72655C4D6F646275735C72735F6D6573736167652E68000000000C72735F6D6573736167652E6800000000B3A6BE00FFFFFFFF33463A5C576F726B5C50726F6A656374735C53544D5C43414E456D755C436F72655C5372635C73746D3332663178785F69742E63000000000E73746D3332663178785F69742E6300000000EAD6A300FFFFFFFF32463A5C576F726B5C50726F6A656374735C53544D5C43414E456D755C436F72655C4D6F646275735C6372635F616C67732E63000000000A6372635F616C67732E6300000000F6FA7D00FFFFFFFF4C463A5C576F726B5C50726F6A656374735C53544D5C43414E456D755C447269766572735C53544D3332463178785F48414C5F4472697665725C5372635C73746D3332663178785F68616C2E63000000000F73746D3332663178785F68616C2E6300000000B5E99D00FFFFFFFF35463A5C576F726B5C50726F6A656374735C53544D5C43414E456D755C436F72655C4D6F646275735C6D6F646275735F646174612E68000000000D6D6F646275735F646174612E68000000005FC3CF00FFFFFFFF2B463A5C576F726B5C50726F6A656374735C53544D5C43414E456D755C436F72655C5372635C6770696F2E6300000000066770696F2E6300000000C1838300FFFFFFFF31463A5C576F726B5C50726F6A656374735C53544D5C43414E456D755C436F72655C43414E456D755C63616E666F726D2E68000000000963616E666F726D2E6800000000CACAD500FFFFFFFF2B463A5C576F726B5C50726F6A656374735C53544D5C43414E456D755C436F72655C5372635C697764672E630000000006697764672E6300000000C5D4F200FFFFFFFF37463A5C576F726B5C50726F6A656374735C53544D5C43414E456D755C436F72655C5372635C73797374656D5F73746D3332663178782E63000000001273797374656D5F73746D3332663178782E6300000000FFDC7800FFFFFFFF51463A5C576F726B5C50726F6A656374735C53544D5C43414E456D755C447269766572735C53544D3332463178785F48414C5F4472697665725C5372635C73746D3332663178785F68616C5F697764672E63000000001473746D3332663178785F68616C5F697764672E6300000000BECEA100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000D6000000660000009006000094020000 + 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000013000000010000000100000030463A5C576F726B5C50726F6A656374735C53544D5C43414E456D755C436F72655C43414E456D755C63616E456D752E63000000000863616E456D752E6300000000C5D4F200FFFFFFFF30463A5C576F726B5C50726F6A656374735C53544D5C43414E456D755C436F72655C43414E456D755C63616E456D752E68000000000863616E456D752E6800000000FFDC7800FFFFFFFF39463A5C576F726B5C50726F6A656374735C53544D5C43414E456D755C4D444B2D41524D5C737461727475705F73746D33326631303378622E730000000015737461727475705F73746D33326631303378622E7300000000BECEA100FFFFFFFF51463A5C576F726B5C50726F6A656374735C53544D5C43414E456D755C447269766572735C53544D3332463178785F48414C5F4472697665725C5372635C73746D3332663178785F68616C5F756172742E63000000001473746D3332663178785F68616C5F756172742E6300000000F0A0A100FFFFFFFF2B463A5C576F726B5C50726F6A656374735C53544D5C43414E456D755C436F72655C5372635C6D61696E2E6300000000066D61696E2E6300000000BCA8E100FFFFFFFF2A463A5C576F726B5C50726F6A656374735C53544D5C43414E456D755C436F72655C5372635C74696D2E63000000000574696D2E63000000009CC1B600FFFFFFFF2C463A5C576F726B5C50726F6A656374735C53544D5C43414E456D755C436F72655C5372635C75736172742E63000000000775736172742E6300000000F7B88600FFFFFFFF31463A5C576F726B5C50726F6A656374735C53544D5C43414E456D755C436F72655C43414E456D755C63616E666F726D2E63000000000963616E666F726D2E6300000000D9ADC200FFFFFFFF34463A5C576F726B5C50726F6A656374735C53544D5C43414E456D755C436F72655C4D6F646275735C72735F6D6573736167652E63000000000C72735F6D6573736167652E6300000000A5C2D700FFFFFFFF34463A5C576F726B5C50726F6A656374735C53544D5C43414E456D755C436F72655C4D6F646275735C72735F6D6573736167652E68000000000C72735F6D6573736167652E6800000000B3A6BE00FFFFFFFF33463A5C576F726B5C50726F6A656374735C53544D5C43414E456D755C436F72655C5372635C73746D3332663178785F69742E63000000000E73746D3332663178785F69742E6300000000EAD6A300FFFFFFFF32463A5C576F726B5C50726F6A656374735C53544D5C43414E456D755C436F72655C4D6F646275735C6372635F616C67732E63000000000A6372635F616C67732E6300000000F6FA7D00FFFFFFFF4C463A5C576F726B5C50726F6A656374735C53544D5C43414E456D755C447269766572735C53544D3332463178785F48414C5F4472697665725C5372635C73746D3332663178785F68616C2E63000000000F73746D3332663178785F68616C2E6300000000B5E99D00FFFFFFFF35463A5C576F726B5C50726F6A656374735C53544D5C43414E456D755C436F72655C4D6F646275735C6D6F646275735F646174612E68000000000D6D6F646275735F646174612E68000000005FC3CF00FFFFFFFF2B463A5C576F726B5C50726F6A656374735C53544D5C43414E456D755C436F72655C5372635C6770696F2E6300000000066770696F2E6300000000C1838300FFFFFFFF31463A5C576F726B5C50726F6A656374735C53544D5C43414E456D755C436F72655C43414E456D755C63616E666F726D2E68000000000963616E666F726D2E6800000000CACAD500FFFFFFFF2B463A5C576F726B5C50726F6A656374735C53544D5C43414E456D755C436F72655C5372635C697764672E630000000006697764672E6300000000C5D4F200FFFFFFFF37463A5C576F726B5C50726F6A656374735C53544D5C43414E456D755C436F72655C5372635C73797374656D5F73746D3332663178782E63000000001273797374656D5F73746D3332663178782E6300000000FFDC7800FFFFFFFF51463A5C576F726B5C50726F6A656374735C53544D5C43414E456D755C447269766572735C53544D3332463178785F48414C5F4472697665725C5372635C73746D3332663178785F68616C5F697764672E63000000001473746D3332663178785F68616C5F697764672E6300000000BECEA100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000D6000000660000009006000094020000 @@ -1812,8 +1812,8 @@ 59392 File - 2743 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000000460000000000000000000000000000000001000000010000000180FE880000000000004500000000000000000000000000000000010000000100000001800B810000000000001300000000000000000000000000000000010000000100000001800C810000000000001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE8030000000000000000000000000000000000000000000000010000000100000096000000020020500000000008646174615F69647896000000000000000E0008646174615F6964780D464C49505F5241575F4249545308666C69705F6269741D6170706C795F6269745F7374756666696E675F776974685F6572726F720863616E5F626974730852535F41626F7274076572726F72732E086863616E656D752E104465666572726564526573706F6E73650646465F53525303535253000975696E7431365F7420054D534749440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + 2714 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE8030000000000000000000000000000000000000000000000010000000100000096000000020020500000000008646174615F69647896000000000000000B0008646174615F6964780D464C49505F5241575F4249545308666C69705F6269741D6170706C795F6269745F7374756666696E675F776974685F6572726F720863616E5F626974730852535F41626F7274076572726F72732E086863616E656D752E104465666572726564526573706F6E73650646465F535253035352530000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 1423 @@ -1829,7 +1829,7 @@ Build 972 - 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000002001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0000000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000643414E456D75960000000000000001000643414E456D75000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000002001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000643414E456D75960000000000000001000643414E456D75000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 583 @@ -1845,7 +1845,7 @@ Debug 2373 - 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 898 @@ -3610,21 +3610,21 @@ 0 100 - 10 + 1 ..\Core\CANEmu\canEmu.c - 29 - 44 - 45 + 11 + 59 + 87 1 0 ..\Core\CANEmu\canEmu.h - 37 - 6 - 8 + 10 + 1 + 15 1 0