Subversion Repositories dashGPS

Rev

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

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