Subversion Repositories AFRtranscoder

Rev

Blame | 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.   * 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 */
  126.