Subversion Repositories FuelGauge

Rev

Rev 2 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2 Rev 6
Line 580... Line 580...
580
  */
580
  */
581
#define SPI_RESET_CRC(__HANDLE__) do{CLEAR_BIT((__HANDLE__)->Instance->CR1, SPI_CR1_CRCEN);\
581
#define SPI_RESET_CRC(__HANDLE__) do{CLEAR_BIT((__HANDLE__)->Instance->CR1, SPI_CR1_CRCEN);\
582
                                       SET_BIT((__HANDLE__)->Instance->CR1, SPI_CR1_CRCEN);}while(0U)
582
                                       SET_BIT((__HANDLE__)->Instance->CR1, SPI_CR1_CRCEN);}while(0U)
583
 
583
 
584
/** @brief  Check whether the specified SPI flag is set or not.
584
/** @brief  Check whether the specified SPI flag is set or not.
585
  * @param  __SR__  copy of SPI SR regsiter.
585
  * @param  __SR__  copy of SPI SR register.
586
  * @param  __FLAG__ specifies the flag to check.
586
  * @param  __FLAG__ specifies the flag to check.
587
  *         This parameter can be one of the following values:
587
  *         This parameter can be one of the following values:
588
  *            @arg SPI_FLAG_RXNE: Receive buffer not empty flag
588
  *            @arg SPI_FLAG_RXNE: Receive buffer not empty flag
589
  *            @arg SPI_FLAG_TXE: Transmit buffer empty flag
589
  *            @arg SPI_FLAG_TXE: Transmit buffer empty flag
590
  *            @arg SPI_FLAG_CRCERR: CRC error flag
590
  *            @arg SPI_FLAG_CRCERR: CRC error flag
Line 594... Line 594...
594
  *            @arg SPI_FLAG_FRE: Frame format error flag
594
  *            @arg SPI_FLAG_FRE: Frame format error flag
595
  *            @arg SPI_FLAG_FTLVL: SPI fifo transmission level
595
  *            @arg SPI_FLAG_FTLVL: SPI fifo transmission level
596
  *            @arg SPI_FLAG_FRLVL: SPI fifo reception level
596
  *            @arg SPI_FLAG_FRLVL: SPI fifo reception level
597
  * @retval SET or RESET.
597
  * @retval SET or RESET.
598
  */
598
  */
599
#define SPI_CHECK_FLAG(__SR__, __FLAG__)         ((((__SR__) & ((__FLAG__) & SPI_FLAG_MASK)) == ((__FLAG__) & SPI_FLAG_MASK)) ? SET : RESET)
599
#define SPI_CHECK_FLAG(__SR__, __FLAG__) ((((__SR__) & ((__FLAG__) & SPI_FLAG_MASK)) == \
-
 
600
                                          ((__FLAG__) & SPI_FLAG_MASK)) ? SET : RESET)
600
 
601
 
601
/** @brief  Check whether the specified SPI Interrupt is set or not.
602
/** @brief  Check whether the specified SPI Interrupt is set or not.
602
  * @param  __CR2__  copy of SPI CR2 regsiter.
603
  * @param  __CR2__  copy of SPI CR2 register.
603
  * @param  __INTERRUPT__ specifies the SPI interrupt source to check.
604
  * @param  __INTERRUPT__ specifies the SPI interrupt source to check.
604
  *         This parameter can be one of the following values:
605
  *         This parameter can be one of the following values:
605
  *            @arg SPI_IT_TXE: Tx buffer empty interrupt enable
606
  *            @arg SPI_IT_TXE: Tx buffer empty interrupt enable
606
  *            @arg SPI_IT_RXNE: RX buffer not empty interrupt enable
607
  *            @arg SPI_IT_RXNE: RX buffer not empty interrupt enable
607
  *            @arg SPI_IT_ERR: Error interrupt enable
608
  *            @arg SPI_IT_ERR: Error interrupt enable
608
  * @retval SET or RESET.
609
  * @retval SET or RESET.
609
  */
610
  */
610
#define SPI_CHECK_IT_SOURCE(__CR2__, __INTERRUPT__)      ((((__CR2__) & (__INTERRUPT__)) == (__INTERRUPT__)) ? SET : RESET)
611
#define SPI_CHECK_IT_SOURCE(__CR2__, __INTERRUPT__) ((((__CR2__) & (__INTERRUPT__)) == \
-
 
612
                                                     (__INTERRUPT__)) ? SET : RESET)
611
 
613
 
612
/** @brief  Checks if SPI Mode parameter is in allowed range.
614
/** @brief  Checks if SPI Mode parameter is in allowed range.
613
  * @param  __MODE__ specifies the SPI Mode.
615
  * @param  __MODE__ specifies the SPI Mode.
614
  *         This parameter can be a value of @ref SPI_Mode
616
  *         This parameter can be a value of @ref SPI_Mode
615
  * @retval None
617
  * @retval None
616
  */
618
  */
617
#define IS_SPI_MODE(__MODE__) (((__MODE__) == SPI_MODE_SLAVE) || \
619
#define IS_SPI_MODE(__MODE__)      (((__MODE__) == SPI_MODE_SLAVE)   || \
618
                               ((__MODE__) == SPI_MODE_MASTER))
620
                                    ((__MODE__) == SPI_MODE_MASTER))
619
 
621
 
620
/** @brief  Checks if SPI Direction Mode parameter is in allowed range.
622
/** @brief  Checks if SPI Direction Mode parameter is in allowed range.
621
  * @param  __MODE__ specifies the SPI Direction Mode.
623
  * @param  __MODE__ specifies the SPI Direction Mode.
622
  *         This parameter can be a value of @ref SPI_Direction
624
  *         This parameter can be a value of @ref SPI_Direction
623
  * @retval None
625
  * @retval None
Line 661... Line 663...
661
/** @brief  Checks if SPI Serial clock steady state parameter is in allowed range.
663
/** @brief  Checks if SPI Serial clock steady state parameter is in allowed range.
662
  * @param  __CPOL__ specifies the SPI serial clock steady state.
664
  * @param  __CPOL__ specifies the SPI serial clock steady state.
663
  *         This parameter can be a value of @ref SPI_Clock_Polarity
665
  *         This parameter can be a value of @ref SPI_Clock_Polarity
664
  * @retval None
666
  * @retval None
665
  */
667
  */
666
#define IS_SPI_CPOL(__CPOL__) (((__CPOL__) == SPI_POLARITY_LOW) || \
668
#define IS_SPI_CPOL(__CPOL__)      (((__CPOL__) == SPI_POLARITY_LOW) || \
667
                               ((__CPOL__) == SPI_POLARITY_HIGH))
669
                                    ((__CPOL__) == SPI_POLARITY_HIGH))
668
 
670
 
669
/** @brief  Checks if SPI Clock Phase parameter is in allowed range.
671
/** @brief  Checks if SPI Clock Phase parameter is in allowed range.
670
  * @param  __CPHA__ specifies the SPI Clock Phase.
672
  * @param  __CPHA__ specifies the SPI Clock Phase.
671
  *         This parameter can be a value of @ref SPI_Clock_Phase
673
  *         This parameter can be a value of @ref SPI_Clock_Phase
672
  * @retval None
674
  * @retval None
673
  */
675
  */
674
#define IS_SPI_CPHA(__CPHA__) (((__CPHA__) == SPI_PHASE_1EDGE) || \
676
#define IS_SPI_CPHA(__CPHA__)      (((__CPHA__) == SPI_PHASE_1EDGE) || \
675
                               ((__CPHA__) == SPI_PHASE_2EDGE))
677
                                    ((__CPHA__) == SPI_PHASE_2EDGE))
676
 
678
 
677
/** @brief  Checks if SPI Slave Select parameter is in allowed range.
679
/** @brief  Checks if SPI Slave Select parameter is in allowed range.
678
  * @param  __NSS__ specifies the SPI Slave Select management parameter.
680
  * @param  __NSS__ specifies the SPI Slave Select management parameter.
679
  *         This parameter can be a value of @ref SPI_Slave_Select_management
681
  *         This parameter can be a value of @ref SPI_Slave_Select_management
680
  * @retval None
682
  * @retval None
681
  */
683
  */
682
#define IS_SPI_NSS(__NSS__) (((__NSS__) == SPI_NSS_SOFT)       || \
684
#define IS_SPI_NSS(__NSS__)        (((__NSS__) == SPI_NSS_SOFT)       || \
683
                             ((__NSS__) == SPI_NSS_HARD_INPUT) || \
685
                                    ((__NSS__) == SPI_NSS_HARD_INPUT) || \
684
                             ((__NSS__) == SPI_NSS_HARD_OUTPUT))
686
                                    ((__NSS__) == SPI_NSS_HARD_OUTPUT))
685
 
687
 
686
/** @brief  Checks if SPI NSS Pulse parameter is in allowed range.
688
/** @brief  Checks if SPI NSS Pulse parameter is in allowed range.
687
  * @param  __NSSP__ specifies the SPI NSS Pulse Mode parameter.
689
  * @param  __NSSP__ specifies the SPI NSS Pulse Mode parameter.
688
  *         This parameter can be a value of @ref SPI_NSSP_Mode
690
  *         This parameter can be a value of @ref SPI_NSSP_Mode
689
  * @retval None
691
  * @retval None
690
  */
692
  */
691
#define IS_SPI_NSSP(__NSSP__) (((__NSSP__) == SPI_NSS_PULSE_ENABLE) || \
693
#define IS_SPI_NSSP(__NSSP__)      (((__NSSP__) == SPI_NSS_PULSE_ENABLE) || \
692
                               ((__NSSP__) == SPI_NSS_PULSE_DISABLE))
694
                                    ((__NSSP__) == SPI_NSS_PULSE_DISABLE))
693
 
695
 
694
/** @brief  Checks if SPI Baudrate prescaler parameter is in allowed range.
696
/** @brief  Checks if SPI Baudrate prescaler parameter is in allowed range.
695
  * @param  __PRESCALER__ specifies the SPI Baudrate prescaler.
697
  * @param  __PRESCALER__ specifies the SPI Baudrate prescaler.
696
  *         This parameter can be a value of @ref SPI_BaudRate_Prescaler
698
  *         This parameter can be a value of @ref SPI_BaudRate_Prescaler
697
  * @retval None
699
  * @retval None
Line 708... Line 710...
708
/** @brief  Checks if SPI MSB LSB transmission parameter is in allowed range.
710
/** @brief  Checks if SPI MSB LSB transmission parameter is in allowed range.
709
  * @param  __BIT__ specifies the SPI MSB LSB transmission (whether data transfer starts from MSB or LSB bit).
711
  * @param  __BIT__ specifies the SPI MSB LSB transmission (whether data transfer starts from MSB or LSB bit).
710
  *         This parameter can be a value of @ref SPI_MSB_LSB_transmission
712
  *         This parameter can be a value of @ref SPI_MSB_LSB_transmission
711
  * @retval None
713
  * @retval None
712
  */
714
  */
713
#define IS_SPI_FIRST_BIT(__BIT__) (((__BIT__) == SPI_FIRSTBIT_MSB) || \
715
#define IS_SPI_FIRST_BIT(__BIT__)  (((__BIT__) == SPI_FIRSTBIT_MSB) || \
714
                                   ((__BIT__) == SPI_FIRSTBIT_LSB))
716
                                    ((__BIT__) == SPI_FIRSTBIT_LSB))
715
 
717
 
716
/** @brief  Checks if SPI TI mode parameter is in allowed range.
718
/** @brief  Checks if SPI TI mode parameter is in allowed range.
717
  * @param  __MODE__ specifies the SPI TI mode.
719
  * @param  __MODE__ specifies the SPI TI mode.
718
  *         This parameter can be a value of @ref SPI_TI_mode
720
  *         This parameter can be a value of @ref SPI_TI_mode
719
  * @retval None
721
  * @retval None
720
  */
722
  */
721
#define IS_SPI_TIMODE(__MODE__) (((__MODE__) == SPI_TIMODE_DISABLE) || \
723
#define IS_SPI_TIMODE(__MODE__)    (((__MODE__) == SPI_TIMODE_DISABLE) || \
722
                                 ((__MODE__) == SPI_TIMODE_ENABLE))
724
                                    ((__MODE__) == SPI_TIMODE_ENABLE))
723
 
725
 
724
/** @brief  Checks if SPI CRC calculation enabled state is in allowed range.
726
/** @brief  Checks if SPI CRC calculation enabled state is in allowed range.
725
  * @param  __CALCULATION__ specifies the SPI CRC calculation enable state.
727
  * @param  __CALCULATION__ specifies the SPI CRC calculation enable state.
726
  *         This parameter can be a value of @ref SPI_CRC_Calculation
728
  *         This parameter can be a value of @ref SPI_CRC_Calculation
727
  * @retval None
729
  * @retval None
Line 732... Line 734...
732
/** @brief  Checks if SPI CRC length is in allowed range.
734
/** @brief  Checks if SPI CRC length is in allowed range.
733
  * @param  __LENGTH__ specifies the SPI CRC length.
735
  * @param  __LENGTH__ specifies the SPI CRC length.
734
  *         This parameter can be a value of @ref SPI_CRC_length
736
  *         This parameter can be a value of @ref SPI_CRC_length
735
  * @retval None
737
  * @retval None
736
  */
738
  */
737
#define IS_SPI_CRC_LENGTH(__LENGTH__) (((__LENGTH__) == SPI_CRC_LENGTH_DATASIZE) ||\
739
#define IS_SPI_CRC_LENGTH(__LENGTH__) (((__LENGTH__) == SPI_CRC_LENGTH_DATASIZE) || \
738
                                       ((__LENGTH__) == SPI_CRC_LENGTH_8BIT)  ||   \
740
                                       ((__LENGTH__) == SPI_CRC_LENGTH_8BIT)     || \
739
                                       ((__LENGTH__) == SPI_CRC_LENGTH_16BIT))
741
                                       ((__LENGTH__) == SPI_CRC_LENGTH_16BIT))
740
 
742
 
741
/** @brief  Checks if SPI polynomial value to be used for the CRC calculation, is in allowed range.
743
/** @brief  Checks if SPI polynomial value to be used for the CRC calculation, is in allowed range.
742
  * @param  __POLYNOMIAL__ specifies the SPI polynomial value to be used for the CRC calculation.
744
  * @param  __POLYNOMIAL__ specifies the SPI polynomial value to be used for the CRC calculation.
743
  *         This parameter must be a number between Min_Data = 0 and Max_Data = 65535
745
  *         This parameter must be a number between Min_Data = 0 and Max_Data = 65535
744
  * @retval None
746
  * @retval None
745
  */
747
  */
746
#define IS_SPI_CRC_POLYNOMIAL(__POLYNOMIAL__) (((__POLYNOMIAL__) >= 0x1U) && ((__POLYNOMIAL__) <= 0xFFFFU) && (((__POLYNOMIAL__)&0x1U) != 0U))
748
#define IS_SPI_CRC_POLYNOMIAL(__POLYNOMIAL__) (((__POLYNOMIAL__) >= 0x1U)    && \
-
 
749
                                               ((__POLYNOMIAL__) <= 0xFFFFU) && \
-
 
750
                                              (((__POLYNOMIAL__)&0x1U) != 0U))
747
 
751
 
748
/** @brief  Checks if DMA handle is valid.
752
/** @brief  Checks if DMA handle is valid.
749
  * @param  __HANDLE__ specifies a DMA Handle.
753
  * @param  __HANDLE__ specifies a DMA Handle.
750
  * @retval None
754
  * @retval None
751
  */
755
  */
752
#define IS_SPI_DMA_HANDLE(__HANDLE__) ((__HANDLE__) != NULL)
756
#define IS_SPI_DMA_HANDLE(__HANDLE__) ((__HANDLE__) != NULL)
753
 
757
 
754
/** @brief  Checks if a data address is 16bit aligned.
-
 
755
  * @param  __DATA__ specifies a data address.
-
 
756
  * @retval None
-
 
757
  */
-
 
758
#define IS_SPI_16BIT_ALIGNED_ADDRESS(__DATA__) (((uint32_t)(__DATA__) % 2U) == 0U)
-
 
759
 
-
 
760
/**
758
/**
761
  * @}
759
  * @}
762
  */
760
  */
763
 
761
 
764
/* Include SPI HAL Extended module */
762
/* Include SPI HAL Extended module */