Subversion Repositories DashDisplay

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 mjames 1
/**
2
  ******************************************************************************
3
  * @file    stm32f1xx_hal_can_ex.h
4
  * @author  MCD Application Team
5 mjames 5
  * @version V1.0.4
6
  * @date    29-April-2016
2 mjames 7
  * @brief   Header file of CAN HAL Extension module.
8
  ******************************************************************************
9
  * @attention
10
  *
5 mjames 11
  * <h2><center>&copy; COPYRIGHT(c) 2016 STMicroelectronics</center></h2>
2 mjames 12
  *
13
  * Redistribution and use in source and binary forms, with or without modification,
14
  * are permitted provided that the following conditions are met:
15
  *   1. Redistributions of source code must retain the above copyright notice,
16
  *      this list of conditions and the following disclaimer.
17
  *   2. Redistributions in binary form must reproduce the above copyright notice,
18
  *      this list of conditions and the following disclaimer in the documentation
19
  *      and/or other materials provided with the distribution.
20
  *   3. Neither the name of STMicroelectronics nor the names of its contributors
21
  *      may be used to endorse or promote products derived from this software
22
  *      without specific prior written permission.
23
  *
24
  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
25
  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26
  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
27
  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
28
  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
29
  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
30
  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
31
  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
32
  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
33
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34
  *
35
  ******************************************************************************
36
  */
37
 
38
/* Define to prevent recursive inclusion -------------------------------------*/
39
#ifndef __STM32F1xx_HAL_CAN_EX_H
40
#define __STM32F1xx_HAL_CAN_EX_H
41
 
42
#ifdef __cplusplus
43
 extern "C" {
44
#endif
45
 
46
#if defined(STM32F103x6) || defined(STM32F103xB) || defined(STM32F103xE) || \
47
    defined(STM32F103xG) || defined(STM32F105xC) || defined(STM32F107xC)
48
 
49
/* Includes ------------------------------------------------------------------*/
50
#include "stm32f1xx_hal_def.h"
51
 
52
/** @addtogroup STM32F1xx_HAL_Driver
53
  * @{
54
  */
55
 
56
/** @defgroup CANEx CANEx
57
  * @{
58
  */
59
 
60
/* Exported types ------------------------------------------------------------*/
61
 
62
/**
63
  * @brief  CAN filter configuration structure definition
64
  */
65
/* CAN filter banks differences over STM32F1 devices:                         */
66
/* - STM32F1 Connectivity line: 28 filter banks shared between CAN1 and CAN2  */
67
/* - Other STM32F10x devices:   14 filter banks                               */
68
 
69
typedef struct
70
{
71
  uint32_t FilterIdHigh;          /*!< Specifies the filter identification number (MSBs for a 32-bit
72
                                       configuration, first one for a 16-bit configuration).
73
                                       This parameter must be a number between Min_Data = 0x0000 and Max_Data = 0xFFFF. */
74
 
75
  uint32_t FilterIdLow;           /*!< Specifies the filter identification number (LSBs for a 32-bit
76
                                       configuration, second one for a 16-bit configuration).
77
                                       This parameter must be a number between Min_Data = 0x0000 and Max_Data = 0xFFFF. */
78
 
79
  uint32_t FilterMaskIdHigh;      /*!< Specifies the filter mask number or identification number,
80
                                       according to the mode (MSBs for a 32-bit configuration,
81
                                       first one for a 16-bit configuration).
82
                                       This parameter must be a number between Min_Data = 0x0000 and Max_Data = 0xFFFF. */
83
 
84
  uint32_t FilterMaskIdLow;       /*!< Specifies the filter mask number or identification number,
85
                                       according to the mode (LSBs for a 32-bit configuration,
86
                                       second one for a 16-bit configuration).
87
                                       This parameter must be a number between Min_Data = 0x0000 and Max_Data = 0xFFFF. */
88
 
89
  uint32_t FilterFIFOAssignment;  /*!< Specifies the FIFO (0 or 1) which will be assigned to the filter.
90
                                       This parameter can be a value of @ref CAN_filter_FIFO */
91
#if defined(STM32F105xC) || defined(STM32F107xC)
92
  uint32_t FilterNumber;          /*!< Specifies the filter which will be initialized.
93
                                       This parameter must be a number between Min_Data = 0 and Max_Data = 27. */
94
#else
95
  uint32_t FilterNumber;          /*!< Specifies the filter which will be initialized.
96
                                       This parameter must be a number between Min_Data = 0 and Max_Data = 13. */
97
#endif /* STM32F105xC || STM32F107xC */
98
  uint32_t FilterMode;            /*!< Specifies the filter mode to be initialized.
99
                                       This parameter can be a value of @ref CAN_filter_mode */
100
 
101
  uint32_t FilterScale;           /*!< Specifies the filter scale.
102
                                       This parameter can be a value of @ref CAN_filter_scale */
103
 
104
  uint32_t FilterActivation;      /*!< Enable or disable the filter.
105
                                       This parameter can be set to ENABLE or DISABLE. */
106
 
107
  uint32_t BankNumber;            /*!< Select the start slave bank filter
108
                                       This parameter must be a number between Min_Data = 0 and Max_Data = 28. */
109
 
110
}CAN_FilterConfTypeDef;
111
 
112
/* Exported constants --------------------------------------------------------*/
113
/* Exported macro ------------------------------------------------------------*/
114
/* Private macro -------------------------------------------------------------*/
115
 
116
/** @defgroup CANEx_Private_Macros CAN Extended Private Macros
117
  * @{
118
  */
119
#if defined(STM32F105xC) || defined(STM32F107xC)
120
#define IS_CAN_FILTER_NUMBER(NUMBER) ((NUMBER) <= 27)
121
#else
122
#define IS_CAN_FILTER_NUMBER(NUMBER) ((NUMBER) <= 13)
123
#endif /* STM32F105xC || STM32F107xC */
124
 
125
/**
126
  * @}
127
  */
128
 
129
 
130
/**
131
  * @}
132
  */
133
 
134
/**
135
  * @}
136
  */
137
 
138
#endif /* STM32F103x6) || STM32F103xB || STM32F103xE || */
139
       /* STM32F103xG) || STM32F105xC || STM32F107xC    */
140
 
141
#ifdef __cplusplus
142
}
143
#endif
144
 
145
#endif /* __STM32F1xx_HAL_CAN_EX_H */
146
 
147
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/