STM32F4xx_HAL_Driver  1.8.3
Filter operation functions

Filter operation functions. More...

+ Collaboration diagram for Filter operation functions:

Functions

HAL_StatusTypeDef HAL_DFSDM_FilterRegularStart (DFSDM_Filter_HandleTypeDef *hdfsdm_filter)
 This function allows to start regular conversion in polling mode. More...
 
HAL_StatusTypeDef HAL_DFSDM_FilterRegularStart_IT (DFSDM_Filter_HandleTypeDef *hdfsdm_filter)
 This function allows to start regular conversion in interrupt mode. More...
 
HAL_StatusTypeDef HAL_DFSDM_FilterRegularStart_DMA (DFSDM_Filter_HandleTypeDef *hdfsdm_filter, int32_t *pData, uint32_t Length)
 This function allows to start regular conversion in DMA mode. More...
 
HAL_StatusTypeDef HAL_DFSDM_FilterRegularMsbStart_DMA (DFSDM_Filter_HandleTypeDef *hdfsdm_filter, int16_t *pData, uint32_t Length)
 This function allows to start regular conversion in DMA mode and to get only the 16 most significant bits of conversion. More...
 
HAL_StatusTypeDef HAL_DFSDM_FilterRegularStop (DFSDM_Filter_HandleTypeDef *hdfsdm_filter)
 This function allows to stop regular conversion in polling mode. More...
 
HAL_StatusTypeDef HAL_DFSDM_FilterRegularStop_IT (DFSDM_Filter_HandleTypeDef *hdfsdm_filter)
 This function allows to stop regular conversion in interrupt mode. More...
 
HAL_StatusTypeDef HAL_DFSDM_FilterRegularStop_DMA (DFSDM_Filter_HandleTypeDef *hdfsdm_filter)
 This function allows to stop regular conversion in DMA mode. More...
 
HAL_StatusTypeDef HAL_DFSDM_FilterInjectedStart (DFSDM_Filter_HandleTypeDef *hdfsdm_filter)
 This function allows to start injected conversion in polling mode. More...
 
HAL_StatusTypeDef HAL_DFSDM_FilterInjectedStart_IT (DFSDM_Filter_HandleTypeDef *hdfsdm_filter)
 This function allows to start injected conversion in interrupt mode. More...
 
HAL_StatusTypeDef HAL_DFSDM_FilterInjectedStart_DMA (DFSDM_Filter_HandleTypeDef *hdfsdm_filter, int32_t *pData, uint32_t Length)
 This function allows to start injected conversion in DMA mode. More...
 
HAL_StatusTypeDef HAL_DFSDM_FilterInjectedMsbStart_DMA (DFSDM_Filter_HandleTypeDef *hdfsdm_filter, int16_t *pData, uint32_t Length)
 This function allows to start injected conversion in DMA mode and to get only the 16 most significant bits of conversion. More...
 
HAL_StatusTypeDef HAL_DFSDM_FilterInjectedStop (DFSDM_Filter_HandleTypeDef *hdfsdm_filter)
 This function allows to stop injected conversion in polling mode. More...
 
HAL_StatusTypeDef HAL_DFSDM_FilterInjectedStop_IT (DFSDM_Filter_HandleTypeDef *hdfsdm_filter)
 This function allows to stop injected conversion in interrupt mode. More...
 
HAL_StatusTypeDef HAL_DFSDM_FilterInjectedStop_DMA (DFSDM_Filter_HandleTypeDef *hdfsdm_filter)
 This function allows to stop injected conversion in DMA mode. More...
 
HAL_StatusTypeDef HAL_DFSDM_FilterAwdStart_IT (DFSDM_Filter_HandleTypeDef *hdfsdm_filter, const DFSDM_Filter_AwdParamTypeDef *awdParam)
 This function allows to start filter analog watchdog in interrupt mode. More...
 
HAL_StatusTypeDef HAL_DFSDM_FilterAwdStop_IT (DFSDM_Filter_HandleTypeDef *hdfsdm_filter)
 This function allows to stop filter analog watchdog in interrupt mode. More...
 
HAL_StatusTypeDef HAL_DFSDM_FilterExdStart (DFSDM_Filter_HandleTypeDef *hdfsdm_filter, uint32_t Channel)
 This function allows to start extreme detector feature. More...
 
HAL_StatusTypeDef HAL_DFSDM_FilterExdStop (DFSDM_Filter_HandleTypeDef *hdfsdm_filter)
 This function allows to stop extreme detector feature. More...
 
int32_t HAL_DFSDM_FilterGetRegularValue (const DFSDM_Filter_HandleTypeDef *hdfsdm_filter, uint32_t *Channel)
 This function allows to get regular conversion value. More...
 
int32_t HAL_DFSDM_FilterGetInjectedValue (const DFSDM_Filter_HandleTypeDef *hdfsdm_filter, uint32_t *Channel)
 This function allows to get injected conversion value. More...
 
int32_t HAL_DFSDM_FilterGetExdMaxValue (const DFSDM_Filter_HandleTypeDef *hdfsdm_filter, uint32_t *Channel)
 This function allows to get extreme detector maximum value. More...
 
int32_t HAL_DFSDM_FilterGetExdMinValue (const DFSDM_Filter_HandleTypeDef *hdfsdm_filter, uint32_t *Channel)
 This function allows to get extreme detector minimum value. More...
 
uint32_t HAL_DFSDM_FilterGetConvTimeValue (const DFSDM_Filter_HandleTypeDef *hdfsdm_filter)
 This function allows to get conversion time value. More...
 
void HAL_DFSDM_IRQHandler (DFSDM_Filter_HandleTypeDef *hdfsdm_filter)
 This function handles the DFSDM interrupts. More...
 
HAL_StatusTypeDef HAL_DFSDM_FilterPollForRegConversion (DFSDM_Filter_HandleTypeDef *hdfsdm_filter, uint32_t Timeout)
 This function allows to poll for the end of regular conversion. More...
 
HAL_StatusTypeDef HAL_DFSDM_FilterPollForInjConversion (DFSDM_Filter_HandleTypeDef *hdfsdm_filter, uint32_t Timeout)
 This function allows to poll for the end of injected conversion. More...
 
void HAL_DFSDM_FilterRegConvCpltCallback (DFSDM_Filter_HandleTypeDef *hdfsdm_filter)
 Regular conversion complete callback. More...
 
void HAL_DFSDM_FilterRegConvHalfCpltCallback (DFSDM_Filter_HandleTypeDef *hdfsdm_filter)
 Half regular conversion complete callback. More...
 
void HAL_DFSDM_FilterInjConvCpltCallback (DFSDM_Filter_HandleTypeDef *hdfsdm_filter)
 Injected conversion complete callback. More...
 
void HAL_DFSDM_FilterInjConvHalfCpltCallback (DFSDM_Filter_HandleTypeDef *hdfsdm_filter)
 Half injected conversion complete callback. More...
 
void HAL_DFSDM_FilterAwdCallback (DFSDM_Filter_HandleTypeDef *hdfsdm_filter, uint32_t Channel, uint32_t Threshold)
 Filter analog watchdog callback. More...
 
void HAL_DFSDM_FilterErrorCallback (DFSDM_Filter_HandleTypeDef *hdfsdm_filter)
 Error callback. More...
 

Detailed Description

Filter operation functions.

  ==============================================================================
                    ##### Filter operation functions #####
  ==============================================================================
    [..]  This section provides functions allowing to:
      (+) Start conversion of regular/injected channel.
      (+) Poll for the end of regular/injected conversion.
      (+) Stop conversion of regular/injected channel.
      (+) Start conversion of regular/injected channel and enable interrupt.
      (+) Call the callback functions at the end of regular/injected conversions.
      (+) Stop conversion of regular/injected channel and disable interrupt.
      (+) Start conversion of regular/injected channel and enable DMA transfer.
      (+) Stop conversion of regular/injected channel and disable DMA transfer.
      (+) Start analog watchdog and enable interrupt.
      (+) Call the callback function when analog watchdog occurs.
      (+) Stop analog watchdog and disable interrupt.
      (+) Start extreme detector.
      (+) Stop extreme detector.
      (+) Get result of regular channel conversion.
      (+) Get result of injected channel conversion.
      (+) Get extreme detector maximum and minimum values.
      (+) Get conversion time.
      (+) Handle DFSDM interrupt request.

Function Documentation

◆ HAL_DFSDM_FilterAwdCallback()

__weak void HAL_DFSDM_FilterAwdCallback ( DFSDM_Filter_HandleTypeDef hdfsdm_filter,
uint32_t  Channel,
uint32_t  Threshold 
)

Filter analog watchdog callback.

Parameters
hdfsdm_filterDFSDM filter handle.
ChannelCorresponding channel.
ThresholdLow or high threshold has been reached.
Return values
None

Definition at line 3629 of file stm32f4xx_hal_dfsdm.c.

◆ HAL_DFSDM_FilterAwdStart_IT()

HAL_StatusTypeDef HAL_DFSDM_FilterAwdStart_IT ( DFSDM_Filter_HandleTypeDef hdfsdm_filter,
const DFSDM_Filter_AwdParamTypeDef awdParam 
)

This function allows to start filter analog watchdog in interrupt mode.

Parameters
hdfsdm_filterDFSDM filter handle.
awdParamDFSDM filter analog watchdog parameters.
Return values
HALstatus

Definition at line 3081 of file stm32f4xx_hal_dfsdm.c.

◆ HAL_DFSDM_FilterAwdStop_IT()

HAL_StatusTypeDef HAL_DFSDM_FilterAwdStop_IT ( DFSDM_Filter_HandleTypeDef hdfsdm_filter)

This function allows to stop filter analog watchdog in interrupt mode.

Parameters
hdfsdm_filterDFSDM filter handle.
Return values
HALstatus

Definition at line 3130 of file stm32f4xx_hal_dfsdm.c.

◆ HAL_DFSDM_FilterErrorCallback()

__weak void HAL_DFSDM_FilterErrorCallback ( DFSDM_Filter_HandleTypeDef hdfsdm_filter)

Error callback.

Parameters
hdfsdm_filterDFSDM filter handle.
Return values
None

Definition at line 3647 of file stm32f4xx_hal_dfsdm.c.

◆ HAL_DFSDM_FilterExdStart()

HAL_StatusTypeDef HAL_DFSDM_FilterExdStart ( DFSDM_Filter_HandleTypeDef hdfsdm_filter,
uint32_t  Channel 
)

This function allows to start extreme detector feature.

Parameters
hdfsdm_filterDFSDM filter handle.
ChannelChannels where extreme detector is enabled. This parameter can be a values combination of DFSDM Channel Selection.
Return values
HALstatus

Definition at line 3170 of file stm32f4xx_hal_dfsdm.c.

◆ HAL_DFSDM_FilterExdStop()

HAL_StatusTypeDef HAL_DFSDM_FilterExdStop ( DFSDM_Filter_HandleTypeDef hdfsdm_filter)

This function allows to stop extreme detector feature.

Parameters
hdfsdm_filterDFSDM filter handle.
Return values
HALstatus

Definition at line 3201 of file stm32f4xx_hal_dfsdm.c.

◆ HAL_DFSDM_FilterGetConvTimeValue()

uint32_t HAL_DFSDM_FilterGetConvTimeValue ( const DFSDM_Filter_HandleTypeDef hdfsdm_filter)

This function allows to get conversion time value.

Parameters
hdfsdm_filterDFSDM filter handle.
Return values
Conversiontime value
Note
To get time in second, this value has to be divided by DFSDM clock frequency.

Definition at line 3294 of file stm32f4xx_hal_dfsdm.c.

◆ HAL_DFSDM_FilterGetExdMaxValue()

int32_t HAL_DFSDM_FilterGetExdMaxValue ( const DFSDM_Filter_HandleTypeDef hdfsdm_filter,
uint32_t *  Channel 
)

This function allows to get extreme detector maximum value.

Parameters
hdfsdm_filterDFSDM filter handle.
ChannelCorresponding channel.
Return values
Extremedetector maximum value This value is between Min_Data = -8388608 and Max_Data = 8388607.

Definition at line 3239 of file stm32f4xx_hal_dfsdm.c.

◆ HAL_DFSDM_FilterGetExdMinValue()

int32_t HAL_DFSDM_FilterGetExdMinValue ( const DFSDM_Filter_HandleTypeDef hdfsdm_filter,
uint32_t *  Channel 
)

This function allows to get extreme detector minimum value.

Parameters
hdfsdm_filterDFSDM filter handle.
ChannelCorresponding channel.
Return values
Extremedetector minimum value This value is between Min_Data = -8388608 and Max_Data = 8388607.

Definition at line 3267 of file stm32f4xx_hal_dfsdm.c.

◆ HAL_DFSDM_FilterGetInjectedValue()

int32_t HAL_DFSDM_FilterGetInjectedValue ( const DFSDM_Filter_HandleTypeDef hdfsdm_filter,
uint32_t *  Channel 
)

This function allows to get injected conversion value.

Parameters
hdfsdm_filterDFSDM filter handle.
ChannelCorresponding channel of injected conversion.
Return values
Injectedconversion value

Definition at line 3054 of file stm32f4xx_hal_dfsdm.c.

◆ HAL_DFSDM_FilterGetRegularValue()

int32_t HAL_DFSDM_FilterGetRegularValue ( const DFSDM_Filter_HandleTypeDef hdfsdm_filter,
uint32_t *  Channel 
)

This function allows to get regular conversion value.

Parameters
hdfsdm_filterDFSDM filter handle.
ChannelCorresponding channel of regular conversion.
Return values
Regularconversion value

Definition at line 2640 of file stm32f4xx_hal_dfsdm.c.

◆ HAL_DFSDM_FilterInjConvCpltCallback()

__weak void HAL_DFSDM_FilterInjConvCpltCallback ( DFSDM_Filter_HandleTypeDef hdfsdm_filter)

Injected conversion complete callback.

Note
In interrupt mode, user has to read conversion value in this function using HAL_DFSDM_FilterGetInjectedValue.
Parameters
hdfsdm_filterDFSDM filter handle.
Return values
None

Definition at line 3599 of file stm32f4xx_hal_dfsdm.c.

◆ HAL_DFSDM_FilterInjConvHalfCpltCallback()

__weak void HAL_DFSDM_FilterInjConvHalfCpltCallback ( DFSDM_Filter_HandleTypeDef hdfsdm_filter)

Half injected conversion complete callback.

Parameters
hdfsdm_filterDFSDM filter handle.
Return values
None

Definition at line 3613 of file stm32f4xx_hal_dfsdm.c.

◆ HAL_DFSDM_FilterInjectedMsbStart_DMA()

HAL_StatusTypeDef HAL_DFSDM_FilterInjectedMsbStart_DMA ( DFSDM_Filter_HandleTypeDef hdfsdm_filter,
int16_t *  pData,
uint32_t  Length 
)

This function allows to start injected conversion in DMA mode and to get only the 16 most significant bits of conversion.

Note
This function should be called only when DFSDM filter instance is in idle state or if regular conversion is ongoing. Please note that data on buffer will contain signed 16 most significant bits of injected conversion.
Parameters
hdfsdm_filterDFSDM filter handle.
pDataThe destination buffer address.
LengthThe length of data to be transferred from DFSDM filter to memory.
Return values
HALstatus

Definition at line 2946 of file stm32f4xx_hal_dfsdm.c.

◆ HAL_DFSDM_FilterInjectedStart()

HAL_StatusTypeDef HAL_DFSDM_FilterInjectedStart ( DFSDM_Filter_HandleTypeDef hdfsdm_filter)

This function allows to start injected conversion in polling mode.

Note
This function should be called only when DFSDM filter instance is in idle state or if regular conversion is ongoing.
Parameters
hdfsdm_filterDFSDM filter handle.
Return values
HALstatus

Definition at line 2668 of file stm32f4xx_hal_dfsdm.c.

◆ HAL_DFSDM_FilterInjectedStart_DMA()

HAL_StatusTypeDef HAL_DFSDM_FilterInjectedStart_DMA ( DFSDM_Filter_HandleTypeDef hdfsdm_filter,
int32_t *  pData,
uint32_t  Length 
)

This function allows to start injected conversion in DMA mode.

Note
This function should be called only when DFSDM filter instance is in idle state or if regular conversion is ongoing. Please note that data on buffer will contain signed injected conversion value on 24 most significant bits and corresponding channel on 3 least significant bits.
Parameters
hdfsdm_filterDFSDM filter handle.
pDataThe destination buffer address.
LengthThe length of data to be transferred from DFSDM filter to memory.
Return values
HALstatus

Definition at line 2871 of file stm32f4xx_hal_dfsdm.c.

◆ HAL_DFSDM_FilterInjectedStart_IT()

HAL_StatusTypeDef HAL_DFSDM_FilterInjectedStart_IT ( DFSDM_Filter_HandleTypeDef hdfsdm_filter)

This function allows to start injected conversion in interrupt mode.

Note
This function should be called only when DFSDM filter instance is in idle state or if regular conversion is ongoing.
Parameters
hdfsdm_filterDFSDM filter handle.
Return values
HALstatus

Definition at line 2802 of file stm32f4xx_hal_dfsdm.c.

◆ HAL_DFSDM_FilterInjectedStop()

HAL_StatusTypeDef HAL_DFSDM_FilterInjectedStop ( DFSDM_Filter_HandleTypeDef hdfsdm_filter)

This function allows to stop injected conversion in polling mode.

Note
This function should be called only if injected conversion is ongoing.
Parameters
hdfsdm_filterDFSDM filter handle.
Return values
HALstatus

Definition at line 2772 of file stm32f4xx_hal_dfsdm.c.

◆ HAL_DFSDM_FilterInjectedStop_DMA()

HAL_StatusTypeDef HAL_DFSDM_FilterInjectedStop_DMA ( DFSDM_Filter_HandleTypeDef hdfsdm_filter)

This function allows to stop injected conversion in DMA mode.

Note
This function should be called only if injected conversion is ongoing.
Parameters
hdfsdm_filterDFSDM filter handle.
Return values
HALstatus

Definition at line 3015 of file stm32f4xx_hal_dfsdm.c.

◆ HAL_DFSDM_FilterInjectedStop_IT()

HAL_StatusTypeDef HAL_DFSDM_FilterInjectedStop_IT ( DFSDM_Filter_HandleTypeDef hdfsdm_filter)

This function allows to stop injected conversion in interrupt mode.

Note
This function should be called only if injected conversion is ongoing.
Parameters
hdfsdm_filterDFSDM filter handle.
Return values
HALstatus

Definition at line 2833 of file stm32f4xx_hal_dfsdm.c.

◆ HAL_DFSDM_FilterPollForInjConversion()

HAL_StatusTypeDef HAL_DFSDM_FilterPollForInjConversion ( DFSDM_Filter_HandleTypeDef hdfsdm_filter,
uint32_t  Timeout 
)

This function allows to poll for the end of injected conversion.

Note
This function should be called only if injected conversion is ongoing.
Parameters
hdfsdm_filterDFSDM filter handle.
TimeoutTimeout value in milliseconds.
Return values
HALstatus

Definition at line 2697 of file stm32f4xx_hal_dfsdm.c.

◆ HAL_DFSDM_FilterPollForRegConversion()

HAL_StatusTypeDef HAL_DFSDM_FilterPollForRegConversion ( DFSDM_Filter_HandleTypeDef hdfsdm_filter,
uint32_t  Timeout 
)

This function allows to poll for the end of regular conversion.

Note
This function should be called only if regular conversion is ongoing.
Parameters
hdfsdm_filterDFSDM filter handle.
TimeoutTimeout value in milliseconds.
Return values
HALstatus

Definition at line 2289 of file stm32f4xx_hal_dfsdm.c.

◆ HAL_DFSDM_FilterRegConvCpltCallback()

__weak void HAL_DFSDM_FilterRegConvCpltCallback ( DFSDM_Filter_HandleTypeDef hdfsdm_filter)

Regular conversion complete callback.

Note
In interrupt mode, user has to read conversion value in this function using HAL_DFSDM_FilterGetRegularValue.
Parameters
hdfsdm_filterDFSDM filter handle.
Return values
None

Definition at line 3569 of file stm32f4xx_hal_dfsdm.c.

◆ HAL_DFSDM_FilterRegConvHalfCpltCallback()

__weak void HAL_DFSDM_FilterRegConvHalfCpltCallback ( DFSDM_Filter_HandleTypeDef hdfsdm_filter)

Half regular conversion complete callback.

Parameters
hdfsdm_filterDFSDM filter handle.
Return values
None

Definition at line 3583 of file stm32f4xx_hal_dfsdm.c.

◆ HAL_DFSDM_FilterRegularMsbStart_DMA()

HAL_StatusTypeDef HAL_DFSDM_FilterRegularMsbStart_DMA ( DFSDM_Filter_HandleTypeDef hdfsdm_filter,
int16_t *  pData,
uint32_t  Length 
)

This function allows to start regular conversion in DMA mode and to get only the 16 most significant bits of conversion.

Note
This function should be called only when DFSDM filter instance is in idle state or if injected conversion is ongoing. Please note that data on buffer will contain signed 16 most significant bits of regular conversion.
Parameters
hdfsdm_filterDFSDM filter handle.
pDataThe destination buffer address.
LengthThe length of data to be transferred from DFSDM filter to memory.
Return values
HALstatus

Definition at line 2530 of file stm32f4xx_hal_dfsdm.c.

◆ HAL_DFSDM_FilterRegularStart()

HAL_StatusTypeDef HAL_DFSDM_FilterRegularStart ( DFSDM_Filter_HandleTypeDef hdfsdm_filter)

This function allows to start regular conversion in polling mode.

Note
This function should be called only when DFSDM filter instance is in idle state or if injected conversion is ongoing.
Parameters
hdfsdm_filterDFSDM filter handle.
Return values
HALstatus

Definition at line 2260 of file stm32f4xx_hal_dfsdm.c.

◆ HAL_DFSDM_FilterRegularStart_DMA()

HAL_StatusTypeDef HAL_DFSDM_FilterRegularStart_DMA ( DFSDM_Filter_HandleTypeDef hdfsdm_filter,
int32_t *  pData,
uint32_t  Length 
)

This function allows to start regular conversion in DMA mode.

Note
This function should be called only when DFSDM filter instance is in idle state or if injected conversion is ongoing. Please note that data on buffer will contain signed regular conversion value on 24 most significant bits and corresponding channel on 3 least significant bits.
Parameters
hdfsdm_filterDFSDM filter handle.
pDataThe destination buffer address.
LengthThe length of data to be transferred from DFSDM filter to memory.
Return values
HALstatus

Definition at line 2453 of file stm32f4xx_hal_dfsdm.c.

◆ HAL_DFSDM_FilterRegularStart_IT()

HAL_StatusTypeDef HAL_DFSDM_FilterRegularStart_IT ( DFSDM_Filter_HandleTypeDef hdfsdm_filter)

This function allows to start regular conversion in interrupt mode.

Note
This function should be called only when DFSDM filter instance is in idle state or if injected conversion is ongoing.
Parameters
hdfsdm_filterDFSDM filter handle.
Return values
HALstatus

Definition at line 2384 of file stm32f4xx_hal_dfsdm.c.

◆ HAL_DFSDM_FilterRegularStop()

HAL_StatusTypeDef HAL_DFSDM_FilterRegularStop ( DFSDM_Filter_HandleTypeDef hdfsdm_filter)

This function allows to stop regular conversion in polling mode.

Note
This function should be called only if regular conversion is ongoing.
Parameters
hdfsdm_filterDFSDM filter handle.
Return values
HALstatus

Definition at line 2354 of file stm32f4xx_hal_dfsdm.c.

◆ HAL_DFSDM_FilterRegularStop_DMA()

HAL_StatusTypeDef HAL_DFSDM_FilterRegularStop_DMA ( DFSDM_Filter_HandleTypeDef hdfsdm_filter)

This function allows to stop regular conversion in DMA mode.

Note
This function should be called only if regular conversion is ongoing.
Parameters
hdfsdm_filterDFSDM filter handle.
Return values
HALstatus

Definition at line 2601 of file stm32f4xx_hal_dfsdm.c.

◆ HAL_DFSDM_FilterRegularStop_IT()

HAL_StatusTypeDef HAL_DFSDM_FilterRegularStop_IT ( DFSDM_Filter_HandleTypeDef hdfsdm_filter)

This function allows to stop regular conversion in interrupt mode.

Note
This function should be called only if regular conversion is ongoing.
Parameters
hdfsdm_filterDFSDM filter handle.
Return values
HALstatus

Definition at line 2415 of file stm32f4xx_hal_dfsdm.c.

◆ HAL_DFSDM_IRQHandler()

void HAL_DFSDM_IRQHandler ( DFSDM_Filter_HandleTypeDef hdfsdm_filter)

This function handles the DFSDM interrupts.

Parameters
hdfsdm_filterDFSDM filter handle.
Return values
None

Definition at line 3317 of file stm32f4xx_hal_dfsdm.c.