Subversion Repositories FuelGauge

Rev

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

Rev 2 Rev 6
Line 80... Line 80...
80
     =============================================
80
     =============================================
81
 
81
 
82
  [..]
82
  [..]
83
     The compilation flag USE_HAL_TSC_REGISTER_CALLBACKS when set to 1
83
     The compilation flag USE_HAL_TSC_REGISTER_CALLBACKS when set to 1
84
     allows the user to configure dynamically the driver callbacks.
84
     allows the user to configure dynamically the driver callbacks.
85
     Use Functions @ref HAL_TSC_RegisterCallback() to register an interrupt callback.
85
     Use Functions HAL_TSC_RegisterCallback() to register an interrupt callback.
86
 
86
 
87
  [..]
87
  [..]
88
     Function @ref HAL_TSC_RegisterCallback() allows to register following callbacks:
88
     Function HAL_TSC_RegisterCallback() allows to register following callbacks:
89
       (+) ConvCpltCallback   : callback for conversion complete process.
89
       (+) ConvCpltCallback   : callback for conversion complete process.
90
       (+) ErrorCallback      : callback for error detection.
90
       (+) ErrorCallback      : callback for error detection.
91
       (+) MspInitCallback    : callback for Msp Init.
91
       (+) MspInitCallback    : callback for Msp Init.
92
       (+) MspDeInitCallback  : callback for Msp DeInit.
92
       (+) MspDeInitCallback  : callback for Msp DeInit.
93
  [..]
93
  [..]
94
     This function takes as parameters the HAL peripheral handle, the Callback ID
94
     This function takes as parameters the HAL peripheral handle, the Callback ID
95
     and a pointer to the user callback function.
95
     and a pointer to the user callback function.
96
 
96
 
97
  [..]
97
  [..]
98
     Use function @ref HAL_TSC_UnRegisterCallback to reset a callback to the default
98
     Use function HAL_TSC_UnRegisterCallback to reset a callback to the default
99
     weak function.
99
     weak function.
100
     @ref HAL_TSC_UnRegisterCallback takes as parameters the HAL peripheral handle,
100
     HAL_TSC_UnRegisterCallback takes as parameters the HAL peripheral handle,
101
     and the Callback ID.
101
     and the Callback ID.
102
  [..]
102
  [..]
103
     This function allows to reset following callbacks:
103
     This function allows to reset following callbacks:
104
       (+) ConvCpltCallback   : callback for conversion complete process.
104
       (+) ConvCpltCallback   : callback for conversion complete process.
105
       (+) ErrorCallback      : callback for error detection.
105
       (+) ErrorCallback      : callback for error detection.
106
       (+) MspInitCallback    : callback for Msp Init.
106
       (+) MspInitCallback    : callback for Msp Init.
107
       (+) MspDeInitCallback  : callback for Msp DeInit.
107
       (+) MspDeInitCallback  : callback for Msp DeInit.
108
 
108
 
109
  [..]
109
  [..]
110
     By default, after the @ref HAL_TSC_Init() and when the state is @ref HAL_TSC_STATE_RESET
110
     By default, after the HAL_TSC_Init() and when the state is HAL_TSC_STATE_RESET
111
     all callbacks are set to the corresponding weak functions:
111
     all callbacks are set to the corresponding weak functions:
112
     examples @ref HAL_TSC_ConvCpltCallback(), @ref HAL_TSC_ErrorCallback().
112
     examples HAL_TSC_ConvCpltCallback(), HAL_TSC_ErrorCallback().
113
     Exception done for MspInit and MspDeInit functions that are
113
     Exception done for MspInit and MspDeInit functions that are
114
     reset to the legacy weak functions in the @ref HAL_TSC_Init()/ @ref HAL_TSC_DeInit() only when
114
     reset to the legacy weak functions in the HAL_TSC_Init()/ HAL_TSC_DeInit() only when
115
     these callbacks are null (not registered beforehand).
115
     these callbacks are null (not registered beforehand).
116
     If MspInit or MspDeInit are not null, the @ref HAL_TSC_Init()/ @ref HAL_TSC_DeInit()
116
     If MspInit or MspDeInit are not null, the HAL_TSC_Init()/ HAL_TSC_DeInit()
117
     keep and use the user MspInit/MspDeInit callbacks (registered beforehand) whatever the state.
117
     keep and use the user MspInit/MspDeInit callbacks (registered beforehand) whatever the state.
118
 
118
 
119
  [..]
119
  [..]
120
     Callbacks can be registered/unregistered in @ref HAL_TSC_STATE_READY state only.
120
     Callbacks can be registered/unregistered in HAL_TSC_STATE_READY state only.
121
     Exception done MspInit/MspDeInit functions that can be registered/unregistered
121
     Exception done MspInit/MspDeInit functions that can be registered/unregistered
122
     in @ref HAL_TSC_STATE_READY or @ref HAL_TSC_STATE_RESET state,
122
     in HAL_TSC_STATE_READY or HAL_TSC_STATE_RESET state,
123
     thus registered (user) MspInit/DeInit callbacks can be used during the Init/DeInit.
123
     thus registered (user) MspInit/DeInit callbacks can be used during the Init/DeInit.
124
     Then, the user first registers the MspInit/MspDeInit user callbacks
124
     Then, the user first registers the MspInit/MspDeInit user callbacks
125
     using @ref HAL_TSC_RegisterCallback() before calling @ref HAL_TSC_DeInit()
125
     using HAL_TSC_RegisterCallback() before calling HAL_TSC_DeInit()
126
     or @ref HAL_TSC_Init() function.
126
     or HAL_TSC_Init() function.
127
 
127
 
128
  [..]
128
  [..]
129
     When the compilation flag USE_HAL_TSC_REGISTER_CALLBACKS is set to 0 or
129
     When the compilation flag USE_HAL_TSC_REGISTER_CALLBACKS is set to 0 or
130
     not defined, the callback registration feature is not available and all callbacks
130
     not defined, the callback registration feature is not available and all callbacks
131
     are set to the corresponding weak functions.
131
     are set to the corresponding weak functions.
Line 173... Line 173...
173
/** @defgroup TSC_Exported_Functions TSC Exported Functions
173
/** @defgroup TSC_Exported_Functions TSC Exported Functions
174
  * @{
174
  * @{
175
  */
175
  */
176
 
176
 
177
/** @defgroup TSC_Exported_Functions_Group1 Initialization and de-initialization functions
177
/** @defgroup TSC_Exported_Functions_Group1 Initialization and de-initialization functions
178
 *  @brief    Initialization and Configuration functions
178
  *  @brief    Initialization and Configuration functions
179
 *
179
  *
180
@verbatim
180
@verbatim
181
 ===============================================================================
181
 ===============================================================================
182
              ##### Initialization and de-initialization functions #####
182
              ##### Initialization and de-initialization functions #####
183
 ===============================================================================
183
 ===============================================================================
184
    [..]  This section provides functions allowing to:
184
    [..]  This section provides functions allowing to:
Line 208... Line 208...
208
  assert_param(IS_TSC_CTPL(htsc->Init.CTPulseLowLength));
208
  assert_param(IS_TSC_CTPL(htsc->Init.CTPulseLowLength));
209
  assert_param(IS_TSC_SS(htsc->Init.SpreadSpectrum));
209
  assert_param(IS_TSC_SS(htsc->Init.SpreadSpectrum));
210
  assert_param(IS_TSC_SSD(htsc->Init.SpreadSpectrumDeviation));
210
  assert_param(IS_TSC_SSD(htsc->Init.SpreadSpectrumDeviation));
211
  assert_param(IS_TSC_SS_PRESC(htsc->Init.SpreadSpectrumPrescaler));
211
  assert_param(IS_TSC_SS_PRESC(htsc->Init.SpreadSpectrumPrescaler));
212
  assert_param(IS_TSC_PG_PRESC(htsc->Init.PulseGeneratorPrescaler));
212
  assert_param(IS_TSC_PG_PRESC(htsc->Init.PulseGeneratorPrescaler));
-
 
213
  assert_param(IS_TSC_PG_PRESC_VS_CTPL(htsc->Init.PulseGeneratorPrescaler, htsc->Init.CTPulseLowLength));
213
  assert_param(IS_TSC_MCV(htsc->Init.MaxCountValue));
214
  assert_param(IS_TSC_MCV(htsc->Init.MaxCountValue));
214
  assert_param(IS_TSC_IODEF(htsc->Init.IODefaultMode));
215
  assert_param(IS_TSC_IODEF(htsc->Init.IODefaultMode));
215
  assert_param(IS_TSC_SYNC_POL(htsc->Init.SynchroPinPolarity));
216
  assert_param(IS_TSC_SYNC_POL(htsc->Init.SynchroPinPolarity));
216
  assert_param(IS_TSC_ACQ_MODE(htsc->Init.AcquisitionMode));
217
  assert_param(IS_TSC_ACQ_MODE(htsc->Init.AcquisitionMode));
217
  assert_param(IS_TSC_MCE_IT(htsc->Init.MaxCountInterrupt));
218
  assert_param(IS_TSC_MCE_IT(htsc->Init.MaxCountInterrupt));
Line 381... Line 382...
381
  *          @arg @ref HAL_TSC_MSPINIT_CB_ID MspInit callback ID
382
  *          @arg @ref HAL_TSC_MSPINIT_CB_ID MspInit callback ID
382
  *          @arg @ref HAL_TSC_MSPDEINIT_CB_ID MspDeInit callback ID
383
  *          @arg @ref HAL_TSC_MSPDEINIT_CB_ID MspDeInit callback ID
383
  * @param  pCallback pointer to the Callback function
384
  * @param  pCallback pointer to the Callback function
384
  * @retval HAL status
385
  * @retval HAL status
385
  */
386
  */
386
HAL_StatusTypeDef HAL_TSC_RegisterCallback(TSC_HandleTypeDef *htsc, HAL_TSC_CallbackIDTypeDef CallbackID, pTSC_CallbackTypeDef pCallback)
387
HAL_StatusTypeDef HAL_TSC_RegisterCallback(TSC_HandleTypeDef *htsc, HAL_TSC_CallbackIDTypeDef CallbackID,
-
 
388
                                           pTSC_CallbackTypeDef pCallback)
387
{
389
{
388
  HAL_StatusTypeDef status = HAL_OK;
390
  HAL_StatusTypeDef status = HAL_OK;
389
 
391
 
390
  if (pCallback == NULL)
392
  if (pCallback == NULL)
391
  {
393
  {
Line 551... Line 553...
551
/**
553
/**
552
  * @}
554
  * @}
553
  */
555
  */
554
 
556
 
555
/** @defgroup TSC_Exported_Functions_Group2 Input and Output operation functions
557
/** @defgroup TSC_Exported_Functions_Group2 Input and Output operation functions
556
 *  @brief    Input and Output operation functions
558
  *  @brief    Input and Output operation functions
557
 *
559
  *
558
@verbatim
560
@verbatim
559
 ===============================================================================
561
 ===============================================================================
560
             ##### IO Operation functions #####
562
             ##### IO Operation functions #####
561
 ===============================================================================
563
 ===============================================================================
562
    [..]  This section provides functions allowing to:
564
    [..]  This section provides functions allowing to:
Line 802... Line 804...
802
/**
804
/**
803
  * @}
805
  * @}
804
  */
806
  */
805
 
807
 
806
/** @defgroup TSC_Exported_Functions_Group3 Peripheral Control functions
808
/** @defgroup TSC_Exported_Functions_Group3 Peripheral Control functions
807
 *  @brief    Peripheral Control functions
809
  *  @brief    Peripheral Control functions
808
 *
810
  *
809
@verbatim
811
@verbatim
810
 ===============================================================================
812
 ===============================================================================
811
             ##### Peripheral Control functions #####
813
             ##### Peripheral Control functions #####
812
 ===============================================================================
814
 ===============================================================================
813
    [..]  This section provides functions allowing to:
815
    [..]  This section provides functions allowing to:
Line 891... Line 893...
891
/**
893
/**
892
  * @}
894
  * @}
893
  */
895
  */
894
 
896
 
895
/** @defgroup TSC_Exported_Functions_Group4 Peripheral State and Errors functions
897
/** @defgroup TSC_Exported_Functions_Group4 Peripheral State and Errors functions
896
 *  @brief   Peripheral State and Errors functions
898
  *  @brief   Peripheral State and Errors functions
897
 *
899
  *
898
@verbatim
900
@verbatim
899
 ===============================================================================
901
 ===============================================================================
900
            ##### State and Errors functions #####
902
            ##### State and Errors functions #####
901
 ===============================================================================
903
 ===============================================================================
902
    [..]
904
    [..]
Line 944... Line 946...
944
/**
946
/**
945
  * @}
947
  * @}
946
  */
948
  */
947
 
949
 
948
/** @defgroup TSC_IRQ_Handler_and_Callbacks IRQ Handler and Callbacks
950
/** @defgroup TSC_IRQ_Handler_and_Callbacks IRQ Handler and Callbacks
949
 * @{
951
  * @{
950
 */
952
  */
951
 
953
 
952
/**
954
/**
953
  * @brief  Handle TSC interrupt request.
955
  * @brief  Handle TSC interrupt request.
954
  * @param  htsc Pointer to a TSC_HandleTypeDef structure that contains
956
  * @param  htsc Pointer to a TSC_HandleTypeDef structure that contains
955
  *         the configuration information for the specified TSC.
957
  *         the configuration information for the specified TSC.
Line 1049... Line 1051...
1049
  uint32_t groups = 0UL;
1051
  uint32_t groups = 0UL;
1050
  uint32_t idx;
1052
  uint32_t idx;
1051
 
1053
 
1052
  for (idx = 0UL; idx < (uint32_t)TSC_NB_OF_GROUPS; idx++)
1054
  for (idx = 0UL; idx < (uint32_t)TSC_NB_OF_GROUPS; idx++)
1053
  {
1055
  {
1054
    if ((iomask & (0x0FUL << (idx * 4UL))) != 0UL )
1056
    if ((iomask & (0x0FUL << (idx * 4UL))) != 0UL)
1055
    {
1057
    {
1056
      groups |= (1UL << idx);
1058
      groups |= (1UL << idx);
1057
    }
1059
    }
1058
  }
1060
  }
1059
 
1061