filters CAN bus
This commit is contained in:
@ -81,9 +81,9 @@
|
|||||||
CAND_pfnRxCallback m_pfnRxCallback = NULL;
|
CAND_pfnRxCallback m_pfnRxCallback = NULL;
|
||||||
|
|
||||||
CAN_FilterTypeDef stFilter_public = {
|
CAN_FilterTypeDef stFilter_public = {
|
||||||
(CAND_SHIFT<<6)|(CAND_PUBLIC<<5), // FilterIdHigh
|
(CAND_SHIFT<<14)|(CAND_PUBLIC<<13), // FilterIdHigh
|
||||||
0x0000, // FilterIdLow
|
0x0000, // FilterIdLow
|
||||||
0xC000, // FilterMaskIdHigh
|
0xE000, // FilterMaskIdHigh
|
||||||
0x0000, // FilterMaskIdLow
|
0x0000, // FilterMaskIdLow
|
||||||
CAN_FILTER_FIFO0, // FilterFIFOAssignment
|
CAN_FILTER_FIFO0, // FilterFIFOAssignment
|
||||||
0x00, // FilterBank
|
0x00, // FilterBank
|
||||||
@ -94,9 +94,9 @@ CAN_FilterTypeDef stFilter_public = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
CAN_FilterTypeDef stFilter_private = {
|
CAN_FilterTypeDef stFilter_private = {
|
||||||
(CAND_SHIFT<<6)|(CAND_PRIVATE<<5), // FilterIdHigh
|
(CAND_SHIFT<<14)|(CAND_PRIVATE<<13), // FilterIdHigh
|
||||||
0x0000, // FilterIdLow
|
0x0000, // FilterIdLow
|
||||||
0xC1C0, // FilterMaskIdHigh
|
0xE1E0, // FilterMaskIdHigh
|
||||||
0x0000, // FilterMaskIdLow
|
0x0000, // FilterMaskIdLow
|
||||||
CAN_FILTER_FIFO0, // FilterFIFOAssignment
|
CAN_FILTER_FIFO0, // FilterFIFOAssignment
|
||||||
0x01, // FilterBank
|
0x01, // FilterBank
|
||||||
@ -153,8 +153,7 @@ BOOL CAND_boInitializeModule( VOID )
|
|||||||
u8BoardId |= DIPO_boGetInput(DIPO_eADR2) << 2;
|
u8BoardId |= DIPO_boGetInput(DIPO_eADR2) << 2;
|
||||||
u8BoardId |= DIPO_boGetInput(DIPO_eADR3) << 3;
|
u8BoardId |= DIPO_boGetInput(DIPO_eADR3) << 3;
|
||||||
|
|
||||||
stFilter_private.FilterIdHigh |= u8BoardId >> 3;
|
stFilter_private.FilterIdHigh |= u8BoardId << 5;
|
||||||
stFilter_private.FilterIdLow |= u8BoardId << 5;
|
|
||||||
|
|
||||||
boOK &= ( HAL_CAN_ConfigFilter(&hcan1, &stFilter_public) == HAL_OK ) ? TRUE : FALSE;
|
boOK &= ( HAL_CAN_ConfigFilter(&hcan1, &stFilter_public) == HAL_OK ) ? TRUE : FALSE;
|
||||||
boOK &= ( HAL_CAN_ConfigFilter(&hcan1, &stFilter_private) == HAL_OK ) ? TRUE : FALSE;
|
boOK &= ( HAL_CAN_ConfigFilter(&hcan1, &stFilter_private) == HAL_OK ) ? TRUE : FALSE;
|
||||||
|
@ -99,8 +99,8 @@ LOCAL CONST StDigitalIO m_astInputs[DIPO_eInNumberOfInputs] =
|
|||||||
|
|
||||||
{ GPIOB, { GPIO_PIN_7, GPIO_MODE_INPUT, GPIO_NOPULL, GPIO_SPEED_FREQ_MEDIUM, 0 }, FALSE, TRUE }, // 00 DIPO_ePG
|
{ GPIOB, { GPIO_PIN_7, GPIO_MODE_INPUT, GPIO_NOPULL, GPIO_SPEED_FREQ_MEDIUM, 0 }, FALSE, TRUE }, // 00 DIPO_ePG
|
||||||
{ GPIOC, { GPIO_PIN_15, GPIO_MODE_INPUT, GPIO_NOPULL, GPIO_SPEED_FREQ_MEDIUM, 0 }, FALSE, TRUE }, // 01 DIPO_eADR3
|
{ GPIOC, { GPIO_PIN_15, GPIO_MODE_INPUT, GPIO_NOPULL, GPIO_SPEED_FREQ_MEDIUM, 0 }, FALSE, TRUE }, // 01 DIPO_eADR3
|
||||||
{ GPIOB, { GPIO_PIN_4, GPIO_MODE_INPUT, GPIO_NOPULL, GPIO_SPEED_FREQ_MEDIUM, 0 }, FALSE, TRUE }, // 01 DIPO_eADR2
|
{ GPIOB, { GPIO_PIN_3, GPIO_MODE_INPUT, GPIO_NOPULL, GPIO_SPEED_FREQ_MEDIUM, 0 }, FALSE, TRUE }, // 02 DIPO_eADR2
|
||||||
{ GPIOB, { GPIO_PIN_3, GPIO_MODE_INPUT, GPIO_NOPULL, GPIO_SPEED_FREQ_MEDIUM, 0 }, FALSE, TRUE }, // 02 DIPO_eADR1
|
{ GPIOB, { GPIO_PIN_4, GPIO_MODE_INPUT, GPIO_NOPULL, GPIO_SPEED_FREQ_MEDIUM, 0 }, FALSE, TRUE }, // 01 DIPO_eADR1
|
||||||
{ GPIOA, { GPIO_PIN_15, GPIO_MODE_INPUT, GPIO_NOPULL, GPIO_SPEED_FREQ_MEDIUM, 0 }, FALSE, TRUE }, // 03 DIPO_eADR0
|
{ GPIOA, { GPIO_PIN_15, GPIO_MODE_INPUT, GPIO_NOPULL, GPIO_SPEED_FREQ_MEDIUM, 0 }, FALSE, TRUE }, // 03 DIPO_eADR0
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -328,7 +328,7 @@ static void MX_CAN1_Init(void)
|
|||||||
|
|
||||||
/* USER CODE END CAN1_Init 1 */
|
/* USER CODE END CAN1_Init 1 */
|
||||||
hcan1.Instance = CAN1;
|
hcan1.Instance = CAN1;
|
||||||
hcan1.Init.Prescaler = 16;
|
hcan1.Init.Prescaler = 128;
|
||||||
hcan1.Init.Mode = CAN_MODE_NORMAL;
|
hcan1.Init.Mode = CAN_MODE_NORMAL;
|
||||||
hcan1.Init.SyncJumpWidth = CAN_SJW_1TQ;
|
hcan1.Init.SyncJumpWidth = CAN_SJW_1TQ;
|
||||||
hcan1.Init.TimeSeg1 = CAN_BS1_3TQ;
|
hcan1.Init.TimeSeg1 = CAN_BS1_3TQ;
|
||||||
|
2
Makefile
2
Makefile
@ -1,5 +1,5 @@
|
|||||||
##########################################################################################################################
|
##########################################################################################################################
|
||||||
# File automatically-generated by tool: [projectgenerator] version: [3.15.2] date: [Wed Jun 22 14:50:04 CEST 2022]
|
# File automatically-generated by tool: [projectgenerator] version: [3.15.2] date: [Thu Jul 07 18:17:37 CEST 2022]
|
||||||
##########################################################################################################################
|
##########################################################################################################################
|
||||||
|
|
||||||
# ------------------------------------------------
|
# ------------------------------------------------
|
||||||
|
@ -26,12 +26,12 @@ ADC1.SamplingTime-2\#ChannelRegularConversion=ADC_SAMPLETIME_640CYCLES_5
|
|||||||
ADC1.SamplingTime-3\#ChannelRegularConversion=ADC_SAMPLETIME_640CYCLES_5
|
ADC1.SamplingTime-3\#ChannelRegularConversion=ADC_SAMPLETIME_640CYCLES_5
|
||||||
ADC1.master=1
|
ADC1.master=1
|
||||||
CAN1.BS1=CAN_BS1_3TQ
|
CAN1.BS1=CAN_BS1_3TQ
|
||||||
CAN1.CalculateBaudRate=1000000
|
CAN1.CalculateBaudRate=125000
|
||||||
CAN1.CalculateTimeBit=1000
|
CAN1.CalculateTimeBit=8000
|
||||||
CAN1.CalculateTimeQuantum=200.0
|
CAN1.CalculateTimeQuantum=1600.0
|
||||||
CAN1.IPParameters=CalculateTimeQuantum,CalculateTimeBit,CalculateBaudRate,BS1,Prescaler,NART
|
CAN1.IPParameters=CalculateTimeQuantum,CalculateTimeBit,CalculateBaudRate,BS1,Prescaler,NART
|
||||||
CAN1.NART=ENABLE
|
CAN1.NART=ENABLE
|
||||||
CAN1.Prescaler=16
|
CAN1.Prescaler=128
|
||||||
Dma.ADC1.2.Direction=DMA_PERIPH_TO_MEMORY
|
Dma.ADC1.2.Direction=DMA_PERIPH_TO_MEMORY
|
||||||
Dma.ADC1.2.Instance=DMA2_Channel3
|
Dma.ADC1.2.Instance=DMA2_Channel3
|
||||||
Dma.ADC1.2.MemDataAlignment=DMA_MDATAALIGN_HALFWORD
|
Dma.ADC1.2.MemDataAlignment=DMA_MDATAALIGN_HALFWORD
|
||||||
@ -244,7 +244,7 @@ ProjectManager.StackSize=0x400
|
|||||||
ProjectManager.TargetToolchain=Makefile
|
ProjectManager.TargetToolchain=Makefile
|
||||||
ProjectManager.ToolChainLocation=
|
ProjectManager.ToolChainLocation=
|
||||||
ProjectManager.UnderRoot=false
|
ProjectManager.UnderRoot=false
|
||||||
ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-MX_DMA_Init-DMA-false-HAL-true,3-SystemClock_Config-RCC-false-HAL-false,4-MX_ADC1_Init-ADC1-false-HAL-true,5-MX_CAN1_Init-CAN1-false-HAL-true,6-MX_DAC1_Init-DAC1-false-HAL-true,7-MX_SPI1_Init-SPI1-false-HAL-true,8-MX_I2C1_Init-I2C1-false-HAL-true,9-MX_WWDG_Init-WWDG-false-HAL-true
|
ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-MX_DMA_Init-DMA-false-HAL-true,3-SystemClock_Config-RCC-false-HAL-false,4-MX_ADC1_Init-ADC1-false-HAL-true,5-MX_CAN1_Init-CAN1-false-HAL-true,6-MX_DAC1_Init-DAC1-false-HAL-true,7-MX_SPI1_Init-SPI1-false-HAL-true,8-MX_I2C1_Init-I2C1-false-HAL-true,9-MX_IWDG_Init-IWDG-false-HAL-true
|
||||||
RCC.ADCCLockSelection=RCC_ADCCLKSOURCE_SYSCLK
|
RCC.ADCCLockSelection=RCC_ADCCLKSOURCE_SYSCLK
|
||||||
RCC.ADCFreq_Value=80000000
|
RCC.ADCFreq_Value=80000000
|
||||||
RCC.AHBFreq_Value=80000000
|
RCC.AHBFreq_Value=80000000
|
||||||
|
Reference in New Issue
Block a user