Subversion Repositories AFRtranscoder

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 mjames 1
/**
2
  ******************************************************************************
3
  * @file    stm32f1xx_hal_can_ex_legacy.h
4
  * @author  MCD Application Team
5
  * @brief   Header file of CAN HAL Extension module.
6
  ******************************************************************************
7
  * @attention
8
  *
9
  * Copyright (c) 2016 STMicroelectronics.
10
  * All rights reserved.
11
  *
12
  * This software is licensed under terms that can be found in the LICENSE file
13
  * in the root directory of this software component.
14
  * If no LICENSE file comes with this software, it is provided AS-IS.
15
  *
16
  ******************************************************************************
17
  */
18
 
19
/* Define to prevent recursive inclusion -------------------------------------*/
20
#ifndef __STM32F1xx_HAL_CAN_EX_LEGACY_H
21
#define __STM32F1xx_HAL_CAN_EX_LEGACY_H
22
 
23
#ifdef __cplusplus
24
 extern "C" {
25
#endif
26
 
27
#if defined(STM32F103x6) || defined(STM32F103xB) || defined(STM32F103xE) || \
28
    defined(STM32F103xG) || defined(STM32F105xC) || defined(STM32F107xC)
29
 
30
/* Includes ------------------------------------------------------------------*/
31
#include "stm32f1xx_hal_def.h"
32
 
33
/** @addtogroup STM32F1xx_HAL_Driver
34
  * @{
35
  */
36
 
37
/** @defgroup CANEx CANEx
38
  * @{
39
  */
40
 
41
/* Exported types ------------------------------------------------------------*/
42
 
43
/**
44
  * @brief  CAN filter configuration structure definition
45
  */
46
/* CAN filter banks differences over STM32F1 devices:                         */
47
/* - STM32F1 Connectivity line: 28 filter banks shared between CAN1 and CAN2  */
48
/* - Other STM32F10x devices:   14 filter banks                               */
49
 
50
typedef struct
51
{
52
  uint32_t FilterIdHigh;          /*!< Specifies the filter identification number (MSBs for a 32-bit
53
                                       configuration, first one for a 16-bit configuration).
54
                                       This parameter must be a number between Min_Data = 0x0000 and Max_Data = 0xFFFF. */
55
 
56
  uint32_t FilterIdLow;           /*!< Specifies the filter identification number (LSBs for a 32-bit
57
                                       configuration, second one for a 16-bit configuration).
58
                                       This parameter must be a number between Min_Data = 0x0000 and Max_Data = 0xFFFF. */
59
 
60
  uint32_t FilterMaskIdHigh;      /*!< Specifies the filter mask number or identification number,
61
                                       according to the mode (MSBs for a 32-bit configuration,
62
                                       first one for a 16-bit configuration).
63
                                       This parameter must be a number between Min_Data = 0x0000 and Max_Data = 0xFFFF. */
64
 
65
  uint32_t FilterMaskIdLow;       /*!< Specifies the filter mask number or identification number,
66
                                       according to the mode (LSBs for a 32-bit configuration,
67
                                       second one for a 16-bit configuration).
68
                                       This parameter must be a number between Min_Data = 0x0000 and Max_Data = 0xFFFF. */
69
 
70
  uint32_t FilterFIFOAssignment;  /*!< Specifies the FIFO (0 or 1) which will be assigned to the filter.
71
                                       This parameter can be a value of @ref CAN_filter_FIFO */
72
#if defined(STM32F105xC) || defined(STM32F107xC)
73
  uint32_t FilterNumber;          /*!< Specifies the filter which will be initialized.
74
                                       This parameter must be a number between Min_Data = 0 and Max_Data = 27. */
75
#else
76
  uint32_t FilterNumber;          /*!< Specifies the filter which will be initialized.
77
                                       This parameter must be a number between Min_Data = 0 and Max_Data = 13. */
78
#endif /* STM32F105xC || STM32F107xC */
79
  uint32_t FilterMode;            /*!< Specifies the filter mode to be initialized.
80
                                       This parameter can be a value of @ref CAN_filter_mode */
81
 
82
  uint32_t FilterScale;           /*!< Specifies the filter scale.
83
                                       This parameter can be a value of @ref CAN_filter_scale */
84
 
85
  uint32_t FilterActivation;      /*!< Enable or disable the filter.
86
                                       This parameter can be set to ENABLE or DISABLE. */
87
 
88
  uint32_t BankNumber;            /*!< Select the start slave bank filter
89
                                       This parameter must be a number between Min_Data = 0 and Max_Data = 28. */
90
 
91
}CAN_FilterConfTypeDef;
92
 
93
/* Exported constants --------------------------------------------------------*/
94
/* Exported macro ------------------------------------------------------------*/
95
/* Private macro -------------------------------------------------------------*/
96
 
97
/** @defgroup CANEx_Private_Macros CAN Extended Private Macros
98
  * @{
99
  */
100
#if defined(STM32F105xC) || defined(STM32F107xC)
101
#define IS_CAN_FILTER_NUMBER(NUMBER) ((NUMBER) <= 27U)
102
#else
103
#define IS_CAN_FILTER_NUMBER(NUMBER) ((NUMBER) <= 13U)
104
#endif /* STM32F105xC || STM32F107xC */
105
 
106
/**
107
  * @}
108
  */
109
 
110
 
111
/**
112
  * @}
113
  */
114
 
115
/**
116
  * @}
117
  */
118
 
119
#endif /* STM32F103x6) || STM32F103xB || STM32F103xE || STM32F103xG) || STM32F105xC || STM32F107xC    */
120
 
121
#ifdef __cplusplus
122
}
123
#endif
124
 
125
#endif /* __STM32F1xx_HAL_CAN_EX_LEGACY_H */