L4 HAL Drivers

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers stm32l4xx_hal_swpmi.h Source File

stm32l4xx_hal_swpmi.h

Go to the documentation of this file.
00001 /**
00002   ******************************************************************************
00003   * @file    stm32l4xx_hal_swpmi.h
00004   * @author  MCD Application Team
00005   * @version V1.1.0
00006   * @date    16-September-2015
00007   * @brief   Header file of SWPMI HAL module.
00008   ******************************************************************************
00009   * @attention
00010   *
00011   * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
00012   *
00013   * Redistribution and use in source and binary forms, with or without modification,
00014   * are permitted provided that the following conditions are met:
00015   *   1. Redistributions of source code must retain the above copyright notice,
00016   *      this list of conditions and the following disclaimer.
00017   *   2. Redistributions in binary form must reproduce the above copyright notice,
00018   *      this list of conditions and the following disclaimer in the documentation
00019   *      and/or other materials provided with the distribution.
00020   *   3. Neither the name of STMicroelectronics nor the names of its contributors
00021   *      may be used to endorse or promote products derived from this software
00022   *      without specific prior written permission.
00023   *
00024   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00025   * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00026   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
00027   * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
00028   * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
00029   * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
00030   * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
00031   * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
00032   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00033   * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00034   *
00035   ******************************************************************************
00036   */
00037 
00038 /* Define to prevent recursive inclusion -------------------------------------*/
00039 #ifndef __STM32L4xx_HAL_SWPMI_H
00040 #define __STM32L4xx_HAL_SWPMI_H
00041 
00042 #ifdef __cplusplus
00043  extern "C" {
00044 #endif
00045 
00046 /* Includes ------------------------------------------------------------------*/
00047 #include "stm32l4xx_hal_def.h"
00048 
00049 /** @addtogroup STM32L4xx_HAL_Driver
00050   * @{
00051   */
00052 
00053 /** @addtogroup SWPMI
00054   * @{
00055   */
00056 
00057 /* Exported types ------------------------------------------------------------*/
00058 /** @defgroup SWPMI_Exported_Types SWPMI Exported Types
00059   * @{
00060   */
00061 
00062 /**
00063   * @brief SWPMI Init Structure definition
00064   */
00065 typedef struct
00066 {
00067   uint32_t VoltageClass;             /*!< Specifies the SWP Voltage Class.
00068                                           This parameter can be a value of @ref SWPMI_Voltage_Class */
00069 
00070   uint32_t BitRate;                  /*!< Specifies the SWPMI Bitrate.
00071                                           This parameter must be a number between 0 and 63.
00072                                           The Bitrate is computed using the following formula:
00073                                           SWPMI_freq = SWPMI_clk / (((BitRate) + 1)  * 4)
00074                                           */
00075 
00076   uint32_t TxBufferingMode;          /*!< Specifies the transmission buffering mode.
00077                                           This parameter can be a value of @ref SWPMI_Tx_Buffering_Mode */
00078 
00079   uint32_t RxBufferingMode;          /*!< Specifies the reception buffering mode.
00080                                           This parameter can be a value of @ref SWPMI_Rx_Buffering_Mode */
00081 
00082 }SWPMI_InitTypeDef;
00083 
00084 
00085 /**
00086   * @brief HAL SWPMI State structures definition
00087   */
00088 typedef enum
00089 {
00090   HAL_SWPMI_STATE_RESET             = 0x00,    /*!< Peripheral Reset state                             */
00091   HAL_SWPMI_STATE_READY             = 0x01,    /*!< Peripheral Initialized and ready for use           */
00092   HAL_SWPMI_STATE_BUSY              = 0x02,    /*!< an internal process is ongoing                     */
00093   HAL_SWPMI_STATE_BUSY_TX           = 0x12,    /*!< Data Transmission process is ongoing               */
00094   HAL_SWPMI_STATE_BUSY_RX           = 0x22,    /*!< Data Reception process is ongoing                  */
00095   HAL_SWPMI_STATE_BUSY_TX_RX        = 0x32,    /*!< Data Transmission and Reception process is ongoing */
00096   HAL_SWPMI_STATE_TIMEOUT           = 0x03,    /*!< Timeout state                                      */
00097   HAL_SWPMI_STATE_ERROR             = 0x04     /*!< Error                                              */
00098 }HAL_SWPMI_StateTypeDef;
00099 
00100 /**
00101   * @brief  SWPMI handle Structure definition
00102   */
00103 typedef struct
00104 {
00105   SWPMI_TypeDef                  *Instance;     /* SWPMI registers base address         */
00106 
00107   SWPMI_InitTypeDef              Init;          /* SWMPI communication parameters       */
00108 
00109   uint32_t                       *pTxBuffPtr;   /* Pointer to SWPMI Tx transfer Buffer  */
00110 
00111   uint32_t                       TxXferSize;    /* SWPMI Tx Transfer size               */
00112 
00113   uint32_t                       TxXferCount;   /* SWPMI Tx Transfer Counter            */
00114 
00115   uint32_t                       *pRxBuffPtr;   /* Pointer to SWPMI Rx transfer Buffer  */
00116 
00117   uint32_t                       RxXferSize;    /* SWPMI Rx Transfer size               */
00118 
00119   uint32_t                       RxXferCount;   /* SWPMI Rx Transfer Counter            */
00120 
00121   DMA_HandleTypeDef              *hdmatx;       /* SWPMI Tx DMA Handle parameters       */
00122 
00123   DMA_HandleTypeDef              *hdmarx;       /* SWPMI Rx DMA Handle parameters       */
00124 
00125   HAL_LockTypeDef                Lock;          /* SWPMI object                         */
00126 
00127   __IO HAL_SWPMI_StateTypeDef    State;         /* SWPMI communication state            */
00128 
00129   __IO uint32_t                  ErrorCode;     /* SWPMI Error code                     */
00130 
00131 }SWPMI_HandleTypeDef;
00132 
00133 /**
00134   * @}
00135   */
00136 
00137 /* Exported constants --------------------------------------------------------*/
00138 /** @defgroup SWPMI_Exported_Constants SWPMI Exported Constants
00139   * @{
00140   */
00141 
00142 /**
00143   * @defgroup SWPMI_Error_Code SWPMI Error Code Bitmap
00144   * @{
00145   */
00146 #define HAL_SWPMI_ERROR_NONE                 ((uint32_t)0x00000000) /*!< No error             */
00147 #define HAL_SWPMI_ERROR_CRC                  ((uint32_t)0x00000004) /*!< frame error          */
00148 #define HAL_SWPMI_ERROR_OVR                  ((uint32_t)0x00000008) /*!< Overrun error        */
00149 #define HAL_SWPMI_ERROR_UDR                  ((uint32_t)0x0000000C) /*!< Underrun error       */
00150 #define HAL_SWPMI_ERROR_DMA                  ((uint32_t)0x00000010) /*!< DMA transfer error   */
00151 /**
00152   * @}
00153   */
00154 
00155 /** @defgroup SWPMI_Voltage_Class SWPMI Voltage Class
00156   * @{
00157   */
00158 #define SWPMI_VOLTAGE_CLASS_C                ((uint32_t)0x00000000)
00159 #define SWPMI_VOLTAGE_CLASS_B                SWPMI_OR_CLASS
00160 /**
00161   * @}
00162   */
00163 
00164 /** @defgroup SWPMI_Tx_Buffering_Mode SWPMI Tx Buffering Mode
00165   * @{
00166   */
00167 #define SWPMI_TX_NO_SOFTWAREBUFFER           ((uint32_t)0x00000000)
00168 #define SWPMI_TX_SINGLE_SOFTWAREBUFFER       ((uint32_t)0x00000000)
00169 #define SWPMI_TX_MULTI_SOFTWAREBUFFER        SWPMI_CR_TXMODE
00170 /**
00171   * @}
00172   */
00173 
00174 /** @defgroup SWPMI_Rx_Buffering_Mode SWPMI Rx Buffering Mode
00175   * @{
00176   */
00177 #define SWPMI_RX_NO_SOFTWAREBUFFER           ((uint32_t)0x00000000)
00178 #define SWPMI_RX_SINGLE_SOFTWAREBUFFER       ((uint32_t)0x00000000)
00179 #define SWPMI_RX_MULTI_SOFTWAREBUFFER        SWPMI_CR_RXMODE
00180 /**
00181   * @}
00182   */
00183 
00184 /** @defgroup SWPMI_Flags SWPMI Status Flags
00185   *        Elements values convention: 0xXXXXXXXX
00186   *           - 0xXXXXXXXX  : Flag mask in the ISR register
00187   * @{
00188   */
00189 #define SWPMI_FLAG_RXBFF                 SWPMI_ISR_RXBFF
00190 #define SWPMI_FLAG_TXBEF                 SWPMI_ISR_TXBEF
00191 #define SWPMI_FLAG_RXBERF                SWPMI_ISR_RXBERF
00192 #define SWPMI_FLAG_RXOVRF                SWPMI_ISR_RXOVRF
00193 #define SWPMI_FLAG_TXUNRF                SWPMI_ISR_TXUNRF
00194 #define SWPMI_FLAG_RXNE                  SWPMI_ISR_RXNE
00195 #define SWPMI_FLAG_TXE                   SWPMI_ISR_TXE
00196 #define SWPMI_FLAG_TCF                   SWPMI_ISR_TCF
00197 #define SWPMI_FLAG_SRF                   SWPMI_ISR_SRF
00198 #define SWPMI_FLAG_SUSP                  SWPMI_ISR_SUSP
00199 #define SWPMI_FLAG_DEACTF                SWPMI_ISR_DEACTF
00200 /**
00201   * @}
00202   */
00203 
00204 /** @defgroup SWPMI_Interrupt_definition SWPMI Interrupts Definition
00205   *        Elements values convention: 0xXXXX
00206   *           - 0xXXXX  : Flag mask in the IER register
00207   * @{
00208   */
00209 #define SWPMI_IT_SRIE                    SWPMI_IER_SRIE
00210 #define SWPMI_IT_TCIE                    SWPMI_IER_TCIE
00211 #define SWPMI_IT_TIE                     SWPMI_IER_TIE
00212 #define SWPMI_IT_RIE                     SWPMI_IER_RIE
00213 #define SWPMI_IT_TXUNRIE                 SWPMI_IER_TXUNRIE
00214 #define SWPMI_IT_RXOVRIE                 SWPMI_IER_RXOVRIE
00215 #define SWPMI_IT_RXBERIE                 SWPMI_IER_RXBERIE
00216 #define SWPMI_IT_TXBEIE                  SWPMI_IER_TXBEIE
00217 #define SWPMI_IT_RXBFIE                  SWPMI_IER_RXBFIE
00218 /**
00219   * @}
00220   */
00221 
00222 /**
00223   * @}
00224   */
00225 
00226 /* Exported macros -----------------------------------------------------------*/
00227 /** @defgroup SWPMI_Exported_Macros SWPMI Exported Macros
00228   * @{
00229   */
00230 
00231 /** @brief Reset SWPMI handle state.
00232   * @param  __HANDLE__: specifies the SWPMI Handle.
00233   * @retval None
00234   */
00235 #define __HAL_SWPMI_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_SWPMI_STATE_RESET)
00236 
00237 /**
00238   * @brief  Enable the SWPMI peripheral.
00239   * @param  __HANDLE__: SWPMI handle
00240   * @retval None
00241   */
00242 #define __HAL_SWPMI_ENABLE(__HANDLE__)   SET_BIT((__HANDLE__)->Instance->CR, SWPMI_CR_SWPACT)
00243 
00244 /**
00245   * @brief  Disable the SWPMI peripheral.
00246   * @param  __HANDLE__: SWPMI handle
00247   * @retval None
00248   */
00249 #define __HAL_SWPMI_DISABLE(__HANDLE__)  CLEAR_BIT((__HANDLE__)->Instance->CR, SWPMI_CR_SWPACT)
00250 
00251 /** @brief  Check whether the specified SWPMI flag is set or not.
00252   * @param  __HANDLE__: specifies the SWPMI Handle.
00253   * @param  __FLAG__: specifies the flag to check.
00254   *        This parameter can be one of the following values:
00255   *            @arg SWPMI_FLAG_RXBFF : Receive buffer full flag.
00256   *            @arg SWPMI_FLAG_TXBEF : Transmit buffer empty flag.
00257   *            @arg SWPMI_FLAG_RXBERF : Receive CRC error flag.
00258   *            @arg SWPMI_FLAG_RXOVRF : Receive overrun error flag.
00259   *            @arg SWPMI_FLAG_TXUNRF : Transmit underrun error flag.
00260   *            @arg SWPMI_FLAG_RXNE : Receive data register not empty.
00261   *            @arg SWPMI_FLAG_TXE : Transmit data register empty.
00262   *            @arg SWPMI_FLAG_TCF : Transfer complete flag.
00263   *            @arg SWPMI_FLAG_SRF : Slave resume flag.
00264   *            @arg SWPMI_FLAG_SUSP : SUSPEND flag.
00265   *            @arg SWPMI_FLAG_DEACTF : DEACTIVATED flag.
00266   * @retval The new state of __FLAG__ (TRUE or FALSE).
00267   */
00268 #define __HAL_SWPMI_GET_FLAG(__HANDLE__, __FLAG__) (READ_BIT((__HANDLE__)->Instance->ISR, (__FLAG__)) == (__FLAG__))
00269 
00270 /** @brief  Clear the specified SWPMI ISR flag.
00271   * @param  __HANDLE__: specifies the SWPMI Handle.
00272   * @param  __FLAG__: specifies the flag to clear.
00273   *        This parameter can be one of the following values:
00274   *            @arg SWPMI_FLAG_RXBFF : Receive buffer full flag.
00275   *            @arg SWPMI_FLAG_TXBEF : Transmit buffer empty flag.
00276   *            @arg SWPMI_FLAG_RXBERF : Receive CRC error flag.
00277   *            @arg SWPMI_FLAG_RXOVRF : Receive overrun error flag.
00278   *            @arg SWPMI_FLAG_TXUNRF : Transmit underrun error flag.
00279   *            @arg SWPMI_FLAG_TCF : Transfer complete flag.
00280   *            @arg SWPMI_FLAG_SRF : Slave resume flag.
00281   * @retval None
00282   */
00283 #define __HAL_SWPMI_CLEAR_FLAG(__HANDLE__, __FLAG__) WRITE_REG((__HANDLE__)->Instance->ICR, (__FLAG__))
00284 
00285 /** @brief  Enable the specified SWPMI interrupt.
00286   * @param  __HANDLE__: specifies the SWPMI Handle.
00287   * @param  __INTERRUPT__: specifies the SWPMI interrupt source to enable.
00288   *          This parameter can be one of the following values:
00289   *            @arg SWPMI_IT_SRIE : Slave resume interrupt.
00290   *            @arg SWPMI_IT_TCIE : Transmit complete interrupt.
00291   *            @arg SWPMI_IT_TIE :  Transmit interrupt.
00292   *            @arg SWPMI_IT_RIE :  Receive interrupt.
00293   *            @arg SWPMI_IT_TXUNRIE : Transmit underrun error interrupt.
00294   *            @arg SWPMI_IT_RXOVRIE : Receive overrun error interrupt.
00295   *            @arg SWPMI_IT_RXBEIE : Receive CRC error interrupt.
00296   *            @arg SWPMI_IT_TXBEIE :  Transmit buffer empty interrupt.
00297   *            @arg SWPMI_IT_RXBFIE :  Receive buffer full interrupt.
00298   * @retval None
00299   */
00300 #define __HAL_SWPMI_ENABLE_IT(__HANDLE__, __INTERRUPT__)   SET_BIT((__HANDLE__)->Instance->IER, (__INTERRUPT__))
00301 
00302 /** @brief  Disable the specified SWPMI interrupt.
00303   * @param  __HANDLE__: specifies the SWPMI Handle.
00304   * @param  __INTERRUPT__: specifies the SWPMI interrupt source to disable.
00305   *          This parameter can be one of the following values:
00306   *            @arg SWPMI_IT_SRIE : Slave resume interrupt.
00307   *            @arg SWPMI_IT_TCIE : Transmit complete interrupt.
00308   *            @arg SWPMI_IT_TIE :  Transmit interrupt.
00309   *            @arg SWPMI_IT_RIE :  Receive interrupt.
00310   *            @arg SWPMI_IT_TXUNRIE : Transmit underrun error interrupt.
00311   *            @arg SWPMI_IT_RXOVRIE : Receive overrun error interrupt.
00312   *            @arg SWPMI_IT_RXBEIE : Receive CRC error interrupt.
00313   *            @arg SWPMI_IT_TXBEIE :  Transmit buffer empty interrupt.
00314   *            @arg SWPMI_IT_RXBFIE :  Receive buffer full interrupt.
00315   * @retval None
00316   */
00317 #define __HAL_SWPMI_DISABLE_IT(__HANDLE__, __INTERRUPT__)  CLEAR_BIT((__HANDLE__)->Instance->IER, (__INTERRUPT__))
00318 
00319 /** @brief  Check whether the specified SWPMI interrupt has occurred or not.
00320   * @param  __HANDLE__: specifies the SWPMI Handle.
00321   * @param  __IT__: specifies the SWPMI interrupt to check.
00322   *          This parameter can be one of the following values:
00323   *            @arg SWPMI_IT_SRIE : Slave resume interrupt.
00324   *            @arg SWPMI_IT_TCIE : Transmit complete interrupt.
00325   *            @arg SWPMI_IT_TIE :  Transmit interrupt.
00326   *            @arg SWPMI_IT_RIE :  Receive interrupt.
00327   *            @arg SWPMI_IT_TXUNRIE : Transmit underrun error interrupt.
00328   *            @arg SWPMI_IT_RXOVRIE : Receive overrun error interrupt.
00329   *            @arg SWPMI_IT_RXBERIE : Receive CRC error interrupt.
00330   *            @arg SWPMI_IT_TXBEIE :  Transmit buffer empty interrupt.
00331   *            @arg SWPMI_IT_RXBFIE :  Receive buffer full interrupt.
00332   * @retval The new state of __IT__ (TRUE or FALSE).
00333   */
00334 #define __HAL_SWPMI_GET_IT(__HANDLE__, __IT__)  (READ_BIT((__HANDLE__)->Instance->ISR,(__IT__)) == (__IT__))
00335 
00336 /** @brief  Check whether the specified SWPMI interrupt source is enabled or not.
00337   * @param  __HANDLE__: specifies the SWPMI Handle.
00338   * @param  __IT__: specifies the SWPMI interrupt source to check.
00339   *          This parameter can be one of the following values:
00340   *            @arg SWPMI_IT_SRIE : Slave resume interrupt.
00341   *            @arg SWPMI_IT_TCIE : Transmit complete interrupt.
00342   *            @arg SWPMI_IT_TIE :  Transmit interrupt.
00343   *            @arg SWPMI_IT_RIE :  Receive interrupt.
00344   *            @arg SWPMI_IT_TXUNRIE : Transmit underrun error interrupt.
00345   *            @arg SWPMI_IT_RXOVRIE : Receive overrun error interrupt.
00346   *            @arg SWPMI_IT_RXBERIE : Receive CRC error interrupt.
00347   *            @arg SWPMI_IT_TXBEIE :  Transmit buffer empty interrupt.
00348   *            @arg SWPMI_IT_RXBFIE :  Receive buffer full interrupt.
00349   * @retval The new state of __IT__ (TRUE or FALSE).
00350   */
00351 #define __HAL_SWPMI_GET_IT_SOURCE(__HANDLE__, __IT__) ((READ_BIT((__HANDLE__)->Instance->IER, (__IT__)) == (__IT__)) ? SET : RESET)
00352 
00353 /**
00354   * @}
00355   */
00356 
00357 /* Exported functions --------------------------------------------------------*/
00358 /** @defgroup SWPMI_Exported_Functions SWPMI Exported Functions
00359   * @{
00360   */
00361 /* Initialization/de-initialization functions  ********************************/
00362 HAL_StatusTypeDef HAL_SWPMI_Init(SWPMI_HandleTypeDef *hswpmi);
00363 HAL_StatusTypeDef HAL_SWPMI_DeInit(SWPMI_HandleTypeDef *hswpmi);
00364 void              HAL_SWPMI_MspInit(SWPMI_HandleTypeDef *hswpmi);
00365 void              HAL_SWPMI_MspDeInit(SWPMI_HandleTypeDef *hswpmi);
00366 
00367 /* IO operation functions *****************************************************/
00368 HAL_StatusTypeDef HAL_SWPMI_Transmit(SWPMI_HandleTypeDef *hswpmi, uint32_t *pData, uint16_t Size, uint32_t Timeout);
00369 HAL_StatusTypeDef HAL_SWPMI_Receive(SWPMI_HandleTypeDef *hswpmi, uint32_t *pData, uint16_t Size, uint32_t Timeout);
00370 HAL_StatusTypeDef HAL_SWPMI_Transmit_IT(SWPMI_HandleTypeDef *hswpmi, uint32_t *pData, uint16_t Size);
00371 HAL_StatusTypeDef HAL_SWPMI_Receive_IT(SWPMI_HandleTypeDef *hswpmi, uint32_t *pData, uint16_t Size);
00372 HAL_StatusTypeDef HAL_SWPMI_Transmit_DMA(SWPMI_HandleTypeDef *hswpmi, uint32_t *pData, uint16_t Size);
00373 HAL_StatusTypeDef HAL_SWPMI_Receive_DMA(SWPMI_HandleTypeDef *hswpmi, uint32_t *pData, uint16_t Size);
00374 HAL_StatusTypeDef HAL_SWPMI_DMAStop(SWPMI_HandleTypeDef *hswpmi);
00375 HAL_StatusTypeDef HAL_SWPMI_EnableLoopback(SWPMI_HandleTypeDef *hswpmi);
00376 HAL_StatusTypeDef HAL_SWPMI_DisableLoopback(SWPMI_HandleTypeDef *hswpmi);
00377 void              HAL_SWPMI_IRQHandler(SWPMI_HandleTypeDef *hswpmi);
00378 void              HAL_SWPMI_TxCpltCallback(SWPMI_HandleTypeDef *hswpmi);
00379 void              HAL_SWPMI_TxHalfCpltCallback(SWPMI_HandleTypeDef *hswpmi);
00380 void              HAL_SWPMI_RxCpltCallback(SWPMI_HandleTypeDef *hswpmi);
00381 void              HAL_SWPMI_RxHalfCpltCallback(SWPMI_HandleTypeDef *hswpmi);
00382 void              HAL_SWPMI_ErrorCallback(SWPMI_HandleTypeDef *hswpmi);
00383 
00384 /* Peripheral Control and State functions  ************************************/
00385 HAL_SWPMI_StateTypeDef HAL_SWPMI_GetState(SWPMI_HandleTypeDef *hswpmi);
00386 uint32_t               HAL_SWPMI_GetError(SWPMI_HandleTypeDef *hswpmi);
00387 
00388 /**
00389   * @}
00390   */
00391 
00392 /* Private types -------------------------------------------------------------*/
00393 /** @defgroup SWPMI_Private_Types SWPMI Private Types
00394   * @{
00395   */
00396 
00397 /**
00398   * @}
00399   */
00400 
00401 /* Private variables ---------------------------------------------------------*/
00402 /** @defgroup SWPMI_Private_Variables SWPMI Private Variables
00403   * @{
00404   */
00405   
00406 /**
00407   * @}
00408   */
00409 
00410 /* Private constants ---------------------------------------------------------*/
00411 /** @defgroup SWPMI_Private_Constants SWPMI Private Constants
00412   * @{
00413   */
00414 
00415 /**
00416   * @}
00417   */
00418 
00419 /* Private macros ------------------------------------------------------------*/
00420 /** @defgroup SWPMI_Private_Macros SWPMI Private Macros
00421   * @{
00422   */
00423 
00424 
00425 #define IS_SWPMI_VOLTAGE_CLASS(__CLASS__)    (((__CLASS__) == SWPMI_VOLTAGE_CLASS_C) || \
00426                                               ((__CLASS__) == SWPMI_VOLTAGE_CLASS_B))
00427 
00428 #define IS_SWPMI_BITRATE_VALUE(__VALUE__)    (((__VALUE__) <= 63))
00429 
00430 
00431 #define IS_SWPMI_TX_BUFFERING_MODE(__MODE__) (((__MODE__) == SWPMI_TX_NO_SOFTWAREBUFFER) || \
00432                                               ((__MODE__) == SWPMI_TX_MULTI_SOFTWAREBUFFER))
00433 
00434 
00435 #define IS_SWPMI_RX_BUFFERING_MODE(__MODE__) (((__MODE__) == SWPMI_RX_NO_SOFTWAREBUFFER) || \
00436                                               ((__MODE__) == SWPMI_RX_MULTI_SOFTWAREBUFFER))
00437 
00438 /**
00439   * @}
00440   */
00441 
00442 /**
00443   * @}
00444   */
00445 
00446 /**
00447   * @}
00448   */
00449 
00450 #ifdef __cplusplus
00451 }
00452 #endif
00453 
00454 #endif /* __STM32L4xx_HAL_SWPMI_H */
00455 
00456 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
00457