Config Timer#
Modules#
sl_config_timer_interrupt_flags_t
Enumerations#
Enumeration to represent timer modes.
Enumeration to represent timer counter numbers.
Enumeration to represent timer counter directions.
Enumeration to represent timer-config parameters values.
Enumeration to represent timer OCU-config parameters values.
Enumeration to represent various timer input events.
Enumeration to represent various timer actions.
Enumeration to represent various timer interrupt flag values.
Typedefs#
Renaming OCU parameters structure type.
Renaming WFG parameters structure type.
Renaming MCPWM callback structure.
Typedef for the function pointer of the interrupt callback function.
Functions#
Initialize config-timer output GPIO pins and configures clock as 16 MHz.
Set Config-timer mode as 32-bit or 16-bit counters.
Set Config-timer configurations such as 32-bit or 16-bit mode, periodic mode, software trigger enable, soft reset enable, buffer enable, sync trigger enable and direction.
Reset config-timer parameters such as sets 16-bit mode, sets up-counter direction and disables periodic mode, soft reset, buffer, sync & software trigger of counters.
Set Config-timer OCU configurations such as enables outputs in OCU mode, OCU-DMA mode, channel sync with OCU outputs, 8-bit mode for OCU outputs for both counters.
Reset config-timer OCU parameters such as sets 16-bit mode, sets up-counter direction and disables DMA mode, channel sync and 8-bit mode for OCU outputs.
Set Config-timer OCU mode first and next threshold values for counter-0 & counter-1 outputs , register PWM callback, Enable DMA support for counters.
Set Config-timer WFG mode configurations such as select toggle high, low and peak for counter-0 & counter-1 outputs.
Set Config-timer initial count as per timer mode.
Set Config-timer match-count as per timer mode and counter-number.
Get Config-timer current count as per timer mode and counter-number.
Soft reset Config-timer counter.
Start config-timer counter by software trigger.
Select external input event for triggering selected timer-action such as start, stop, continue, halt, increment, capture, interrupt and output.
Configure external input-event's AND-event and OR-event for triggering selected timer-action such as start, stop, continue, halt, increment, capture, interrupt and output.
Register callback of timer interrupt and enabling respective interrupts as per selected interrupt flag.
Resume halt operation of Config-timer counter.
Get Config-timer counter count value on occurrence of capture event occurrence.
Sync counter output with other channels, as per sync_counter_value.
Sync counter output with other channels.
De-initialize config-timer by disabling its clock.
Get the release version of the Config-timer.
Enumeration Documentation#
sl_config_timer_mode_t#
sl_config_timer_mode_t
Enumeration to represent timer modes.
Enumerator | |
---|---|
SL_COUNTER_16BIT | enum for CT 16-bit mode |
SL_COUNTER_32BIT | enum for CT 32-bit mode |
SL_COUNTER_MODE_LAST | Last member of enum for validation. |
67
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_config_timer.h
sl_counter_number_t#
sl_counter_number_t
Enumeration to represent timer counter numbers.
Enumerator | |
---|---|
SL_COUNTER_0 | enum for CT counter-0 |
SL_COUNTER_1 | enum for CT counter-1 |
SL_COUNTER_NUMBER_LAST | Last member of enum for validation. |
74
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_config_timer.h
sl_counter0_direction_t#
sl_counter0_direction_t
Enumeration to represent timer counter directions.
Enumerator | |
---|---|
SL_COUNTER0_UP | CT counter-0 up-counting operation. |
SL_COUNTER0_DOWN | CT counter-0 down-counting operation. |
SL_COUNTER0_UP_DOWN | CT counter-0 up-down counting operation. |
SL_COUNTER0_DIRECTION_LAST | Last member of enum for validation. |
81
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_config_timer.h
sl_counter1_direction_t#
sl_counter1_direction_t
Enumerator | |
---|---|
SL_COUNTER1_UP | CT counter-1 up-counting operation. |
SL_COUNTER1_DOWN | CT counter-1 down-counting operation. |
SL_COUNTER1_UP_DOWN | CT counter-1 up-down counting operation. |
SL_COUNTER1_DIRECTION_LAST | Last member of enum for validation. |
88
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_config_timer.h
sl_config_timer_config_values_t#
sl_config_timer_config_values_t
Enumeration to represent timer-config parameters values.
Enumerator | |
---|---|
SL_COUNTER_MODE_32 | enum for CT 32-bit mode value |
SL_COUNTER0_SOFT_RESET_ENABLE | enum for counter-0 soft reset enable value |
SL_COUNTER0_PERIODIC_ENABLE | enum for counter-0 periodic mode enable value |
SL_COUNTER0_TRIGGER_ENABLE | enum for counter-0 software trigger enable value |
SL_COUNTER0_SYNC_TRIGGER_ENABLE | enum for counter-0 sync trigger enable value |
SL_COUNTER0_BUFFER_ENABLE | enum for counter-0 buffer enable value |
SL_COUNTER0_UP_DIRECTION | enum for counter-0 up-direction enable value |
SL_COUNTER0_DOWN_DIRECTION | enum for counter-0 down-direction enable value |
SL_COUNTER0_UP_DOWN_DIRECTION | enum for counter-0 up-down direction enable value |
SL_COUNTER1_SOFT_RESET_ENABLE | enum for counter-1 soft reset enable value |
SL_COUNTER1_PERIODIC_ENABLE | enum for counter-1 periodic mode enable value |
SL_COUNTER1_TRIGGER_ENABLE | enum for counter-1 software trigger enable value |
SL_COUNTER1_SYNC_TRIGGER_ENABLE | enum for counter-1 sync trigger enable value |
SL_COUNTER1_BUFFER_ENABLE | enum for counter-1 buffer enable value |
SL_COUNTER1_UP_DIRECTION | enum for counter-1 up-direction enable value |
SL_COUNTER1_DOWN_DIRECTION | enum for counter-1 up-direction enable value |
SL_COUNTER1_UP_DOWN_DIRECTION | enum for counter-1 up-direction enable value |
SL_COUNTER_PARAM_LAST | Last member of enum for validation. |
96
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_config_timer.h
sl_config_timer_ocu_config_values_t#
sl_config_timer_ocu_config_values_t
Enumeration to represent timer OCU-config parameters values.
Enumerator | |
---|---|
SL_COUNTER0_OCU_OUTPUT_ENABLE | enum for counter-0 output enable value |
SL_COUNTER0_OCU_DMA_ENABLE | enum for counter-0 OCU-DMA mode enable value |
SL_COUNTER0_OCU_8BIT_ENABLE | enum for counter-0 OCU-8bit mode enable value |
SL_COUNTER0_OCU_SYNC_ENABLE | enum for counter-0 OCU-sync mode enable value |
SL_COUNTER1_OCU_OUTPUT_ENABLE | enum for counter-1 output enable value |
SL_COUNTER1_OCU_DMA_ENABLE | enum for counter-1 OCU-DMA mode enable value |
SL_COUNTER1_OCU_8BIT_ENABLE | enum for counter-1 OCU-8bit mode enable value |
SL_COUNTER1_OCU_SYNC_ENABLE | enum for counter-1 OCU-sync mode enable value |
SL_OCU_OUTPUT0_TOGGLE_HIGH | enum for counter-0 output toggle high |
SL_OCU_OUTPUT0_TOGGLE_LOW | enum for counter-0 output toggle low |
SL_OCU_OUTPUT1_TOGGLE_HIGH | enum for counter-1 output toggle high select value |
SL_OCU_OUTPUT1_TOGGLE_LOW | enum for counter-1 output toggle low select value |
SL_OCU_PARAM_LAST | Last member of enum for validation. |
118
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_config_timer.h
sl_config_timer_event_t#
sl_config_timer_event_t
Enumeration to represent various timer input events.
Enumerator | |
---|---|
SL_NO_EVENT | enum for no input event |
SL_EVENT0_RISING_EDGE | enum for input-0 rising edge event |
SL_EVENT1_RISING_EDGE | enum for input-1 rising edge event |
SL_EVENT2_RISING_EDGE | enum for input-2 rising edge event |
SL_EVENT3_RISING_EDGE | enum for input-3 rising edge event |
SL_EVENT0_FALLING_EDGE | enum for input-0 falling edge event |
SL_EVENT1_FALLING_EDGE | enum for input-1 falling edge event |
SL_EVENT2_FALLING_EDGE | enum for input-2 falling edge event |
SL_EVENT3_FALLING_EDGE | enum for input-3 falling edge event |
SL_EVENT0_RISING_FALLING_EDGE | enum for input-0 rising-falling edge event |
SL_EVENT1_RISING_FALLING_EDGE | enum for input-1 rising-falling edge event |
SL_EVENT2_RISING_FALLING_EDGE | enum for input-2 rising-falling edge event |
SL_EVENT3_RISING_FALLING_EDGE | enum for input-3 rising-falling edge event |
SL_EVENT0_LEVEL0 | enum for input-0 Level-0 event |
SL_EVENT1_LEVEL0 | enum for input-0 Level-0 event |
SL_EVENT2_LEVEL0 | enum for input-0 Level-0 event |
SL_EVENT3_LEVEL0 | enum for input-0 Level-0 event |
SL_EVENT0_LEVEL1 | enum for input-0 Level-0 event |
SL_EVENT1_LEVEL1 | enum for input-0 Level-0 event |
SL_EVENT2_LEVEL1 | enum for input-0 Level-0 event |
SL_EVENT3_LEVEL1 | enum for input-0 Level-0 event |
SL_AND_EVENT | enum for and-event |
SL_OR_EVENT | enum for or-event |
SL_EVENT0_RISING_EDGE_AND_EVENT | enum for input-0 rising edge and-event |
SL_EVENT0_RISING_EDGE_OR_EVENT | enum for input-0 rising edge or-event |
SL_EVENT1_RISING_EDGE_AND_EVENT | enum for input-1 rising edge and-event |
SL_EVENT1_RISING_EDGE_OR_EVENT | enum for input-1 rising edge or-event |
SL_EVENT2_RISING_EDGE_AND_EVENT | enum for input-2 rising edge and-event |
SL_EVENT2_RISING_EDGE_OR_EVENT | enum for input-2 rising edge or-event |
SL_EVENT3_RISING_EDGE_AND_EVENT | enum for input-3 rising edge and-event |
SL_EVENT3_RISING_EDGE_OR_EVENT | enum for input-3 rising edge or-event |
SL_EVENT0_RISING_EDGE_REGISTERED_AND_EVENT | enum for input-0 rising edge registered and-event |
SL_EVENT0_RISING_EDGE_REGISTERED_OR_EVENT | enum for input-0 rising edge registered or-event |
SL_EVENT1_RISING_EDGE_REGISTERED_AND_EVENT | enum for input-1 rising edge registered and-event |
SL_EVENT1_RISING_EDGE_REGISTERED_OR_EVENT | enum for input-1 rising edge registered or-event |
SL_EVENT2_RISING_EDGE_REGISTERED_AND_EVENT | enum for input-2 rising edge registered and-event |
SL_EVENT2_RISING_EDGE_REGISTERED_OR_EVENT | enum for input-2 rising edge registered or-event |
SL_EVENT3_RISING_EDGE_REGISTERED_AND_EVENT | enum for input-3 rising edge registered and-event |
SL_EVENT3_RISING_EDGE_REGISTERED_OR_EVENT | enum for input-3 rising edge registered or-event |
SL_EVENT_LAST | Last member of enum for validation. |
135
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_config_timer.h
sl_config_timer_action_t#
sl_config_timer_action_t
Enumeration to represent various timer actions.
Enumerator | |
---|---|
START | enum for timer-start action |
STOP | enum for timer-stop action |
CONTINUE | enum for timer-continue action |
HALT | enum for timer-halt action |
INCREMENT | enum for timer-increment action |
CAPTURE | enum for timer-capture action |
INTERRUPT | enum for timer-interrupt action |
OUTPUT | enum for timer-output action |
ACTION_LAST | Last member of enum for validation. |
179
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_config_timer.h
sl_config_timer_interrupt_flags_values_t#
sl_config_timer_interrupt_flags_values_t
Enumeration to represent various timer interrupt flag values.
Enumerator | |
---|---|
SL_CT_EVENT_INTR_0_FLAG | enum for counter-0 event interrupt enable value |
SL_CT_FIFO_0_FULL_FLAG | enum for counter-0 FIFO full interrupt enable value |
SL_CT_COUNTER_0_IS_ZERO_FLAG | enum for counter-0 zero-count-value interrupt enable value |
SL_CT_COUNTER_0_IS_PEAK_FLAG | enum for counter-0 match-value interrupt enable value |
SL_CT_EVENT_INTR_1_FLAG | enum for counter-1 event interrupt enable value |
SL_CT_FIFO_1_FULL_FLAG | enum for counter-1 FIFO full interrupt enable value |
SL_CT_COUNTER_1_IS_ZERO_FLAG | enum for counter-1 zero-count-value interrupt enable value |
SL_CT_COUNTER_1_IS_PEAK_FLAG | enum for counter-1 match-value interrupt enable value |
192
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_config_timer.h
Typedef Documentation#
sl_config_timer_ocu_params_t#
typedef OCU_PARAMS_T sl_config_timer_ocu_params_t
Renaming OCU parameters structure type.
55
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_config_timer.h
sl_config_timer_wfg_config_t#
typedef WFG_PARAMS_T sl_config_timer_wfg_config_t
Renaming WFG parameters structure type.
56
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_config_timer.h
sl_config_timer_pwm_callback_t#
typedef RSI_CT_CALLBACK_T sl_config_timer_pwm_callback_t
Renaming MCPWM callback structure.
57
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_config_timer.h
sl_config_timer_callback_t#
typedef void(* sl_config_timer_callback_t) (void *callback_flag) )(void *callback_flag)
Typedef for the function pointer of the interrupt callback function.
N/A | callback_flag | (void *) parameter for updating flag values |
64
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_config_timer.h
Function Documentation#
sl_si91x_config_timer_init#
void sl_si91x_config_timer_init (void )
Initialize config-timer output GPIO pins and configures clock as 16 MHz.
[in] |
Returns
none
301
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_config_timer.h
sl_si91x_config_timer_set_mode#
sl_status_t sl_si91x_config_timer_set_mode (sl_config_timer_mode_t mode)
Set Config-timer mode as 32-bit or 16-bit counters.
[in] | mode | sl_config_timer_mode_t for possible values |
Pre-conditions:
Returns
status 0 if successful, else error-code as follow SL_STATUS_INVALID_MODE (0x0024) - 'mode' parameter value is invalid.
SL_STATUS_OK (0x0000) - Success, timer-mode is set properly
317
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_config_timer.h
sl_si91x_config_timer_set_configuration#
sl_status_t sl_si91x_config_timer_set_configuration (sl_config_timer_config_t * timer_config_ptr)
Set Config-timer configurations such as 32-bit or 16-bit mode, periodic mode, software trigger enable, soft reset enable, buffer enable, sync trigger enable and direction.
[in] | timer_config_ptr | Pointer to CT config structure sl_config_timer_config_t |
Pre-conditions:
Returns
status 0 if successful, else error-code as follow SL_STATUS_NULL_POINTER (0x0022) - The parameter is null pointer.
SL_STATUS_INVALID_PARAMETER (0x0021) - Counter direction parameter has invalid value.
SL_STATUS_OK (0x0000) - Success, timer-mode is set properly
337
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_config_timer.h
sl_si91x_config_timer_reset_configuration#
void sl_si91x_config_timer_reset_configuration (void )
Reset config-timer parameters such as sets 16-bit mode, sets up-counter direction and disables periodic mode, soft reset, buffer, sync & software trigger of counters.
[in] |
Returns
none
346
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_config_timer.h
sl_si91x_config_timer_set_ocu_configuration#
sl_status_t sl_si91x_config_timer_set_ocu_configuration (sl_config_timer_ocu_config_t * ocu_config_ptr)
Set Config-timer OCU configurations such as enables outputs in OCU mode, OCU-DMA mode, channel sync with OCU outputs, 8-bit mode for OCU outputs for both counters.
[in] | ocu_config_ptr | Pointer to CT OCU-config structure sl_config_timer_ocu_config_t |
Pre-conditions:
Returns
status 0 if successful, else error-code as follow SL_STATUS_NULL_POINTER (0x0022) - The parameter is null pointer.
SL_STATUS_OK (0x0000) - Success, timer-mode is set properly.
366
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_config_timer.h
sl_si91x_config_timer_reset_ocu_configuration#
void sl_si91x_config_timer_reset_ocu_configuration (void )
Reset config-timer OCU parameters such as sets 16-bit mode, sets up-counter direction and disables DMA mode, channel sync and 8-bit mode for OCU outputs.
[in] |
Returns
none
375
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_config_timer.h
sl_si91x_config_timer_set_ocu_control#
sl_status_t sl_si91x_config_timer_set_ocu_control (sl_config_timer_ocu_control_t * ocu_params)
Set Config-timer OCU mode first and next threshold values for counter-0 & counter-1 outputs , register PWM callback, Enable DMA support for counters.
[in] | ocu_params | Pointer to CT OCU-config structure sl_config_timer_ocu_control_t |
Pre-conditions:
Returns
status 0 if successful, else error-code as follow SL_STATUS_NULL_POINTER (0x0022) - The parameter is null pointer.
SL_STATUS_OK (0x0000) - Success, timer-mode is set properly.
395
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_config_timer.h
sl_si91x_config_timer_set_wfg_configuration#
sl_status_t sl_si91x_config_timer_set_wfg_configuration (sl_config_timer_wfg_config_t * wfg_config_ptr)
Set Config-timer WFG mode configurations such as select toggle high, low and peak for counter-0 & counter-1 outputs.
[in] | wfg_config_ptr | Pointer to CT wfg-config structure sl_config_timer_wfg_config_t |
Pre-conditions:
Returns
status 0 if successful, else error-code as follow SL_STATUS_NULL_POINTER (0x0022) - The parameter is null pointer.
SL_STATUS_OK (0x0000) - Success, timer-mode is set properly.
413
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_config_timer.h
sl_si91x_config_timer_set_initial_count#
sl_status_t sl_si91x_config_timer_set_initial_count (sl_config_timer_mode_t mode, uint32_t counter0_initial_value, uint32_t counter1_initial_value)
Set Config-timer initial count as per timer mode.
[in] | mode | sl_config_timer_mode_t for possible values |
[in] | counter0_initial_value | (uint16_t) |
[in] | counter1_initial_value | (uint16_t) |
Pre-conditions:
l_si91x_config_timer_set_configuration();
Returns
status 0 if successful, else error-code as follow SL_STATUS_INVALID_MODE (0x0024) - 'mode' parameter value is invalid.
SL_STATUS_OK (0x0000) - Success, initial-count is set properly
434
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_config_timer.h
sl_si91x_config_timer_set_match_count#
sl_status_t sl_si91x_config_timer_set_match_count (sl_config_timer_mode_t mode, sl_counter_number_t counter_number, uint32_t match_value)
Set Config-timer match-count as per timer mode and counter-number.
[in] | mode | sl_counter_number_t for possible values |
[in] | counter_number | sl_config_timer_mode_t for possible values |
[in] | match_value | (uint32_t) |
Pre-conditions:
l_si91x_config_timer_set_configuration();
Returns
status 0 if successful, else error-code as follow SL_STATUS_INVALID_MODE (0x0024) - 'mode' parameter value is invalid.
SL_STATUS_INVALID_PARAMETER 0x0021) - 'counter_number' parameter value is invalid.
SL_STATUS_OK (0x0000) - Success, match-value is set properly
459
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_config_timer.h
sl_si91x_config_timer_get_count#
sl_status_t sl_si91x_config_timer_get_count (sl_config_timer_mode_t mode, sl_counter_number_t counter_number, uint32_t * count_value)
Get Config-timer current count as per timer mode and counter-number.
[in] | mode | sl_counter_number_t for possible values |
[in] | counter_number | sl_config_timer_mode_t for possible values |
[in] | count_value | *(uint32_t), pointer to the variable to store count value |
Pre-conditions:
l_si91x_config_timer_set_configuration();
Returns
status 0 if successful, else errorcode SL_STATUS_INVALID_MODE (0x0024) - 'mode' parameter value is invalid.
SL_STATUS_INVALID_PARAMETER 0x0021) - 'counter_number' parameter value is invalid.
SL_STATUS_NULL_POINTER (0x0022) - The parameter 'count_value' is null pointer.
SL_STATUS_OK (0x0000) - Success, count-value is set properly
486
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_config_timer.h
sl_si91x_config_timer_reset_counter#
sl_status_t sl_si91x_config_timer_reset_counter (sl_counter_number_t counter_number)
Soft reset Config-timer counter.
[in] | counter_number | sl_counter_number_t for possible values |
Pre-conditions:
l_si91x_config_timer_set_configuration();
Returns
status 0 if successful, else error-code as follow SL_STATUS_INVALID_PARAMETER 0x0021) - 'counter_number' parameter value is invalid.
SL_STATUS_OK (0x0000) - Success, count-value is set properly
507
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_config_timer.h
sl_si91x_config_timer_start_on_software_trigger#
sl_status_t sl_si91x_config_timer_start_on_software_trigger (sl_counter_number_t counter_number)
Start config-timer counter by software trigger.
[in] | counter_number | sl_counter_number_t for possible values |
Pre-conditions:
l_si91x_config_timer_set_configuration(),keep software trigger disable here
Returns
status 0 if successful, else error-code as follow SL_STATUS_INVALID_PARAMETER 0x0021) - 'counter_number' parameter value is invalid.
SL_STATUS_OK (0x0000) - Success, count-value is set properly
526
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_config_timer.h
sl_si91x_config_timer_select_action_event#
sl_status_t sl_si91x_config_timer_select_action_event (sl_config_timer_action_t action, sl_config_timer_event_t select_event_counter0, sl_config_timer_event_t select_event_counter1)
Select external input event for triggering selected timer-action such as start, stop, continue, halt, increment, capture, interrupt and output.
[in] | action | sl_config_timer_action_t for possible values |
[in] | select_event_counter0 | sl_config_timer_event_t for possible values, (selects input event for triggering counter-0 action ) |
[in] | select_event_counter1 | sl_config_timer_event_t for possible values, (selects input event for triggering counter-1 action ) |
Pre-conditions:
sl_si91x_config_timer_set_configuration(), keep software trigger disable here
sl_si91x_config_timer_register_callback(), keep event interrupt flag enable for respective counter
Returns
status 0 if successful, else error-code as follow SL_STATUS_INVALID_PARAMETER 0x0021) - Selected input event or action parameter value is invalid.
SL_STATUS_OK (0x0000) - Success, count-value is set properly
552
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_config_timer.h
sl_si91x_config_timer_configure_action_event#
sl_status_t sl_si91x_config_timer_configure_action_event (sl_config_action_event_t * event_config_handle)
Configure external input-event's AND-event and OR-event for triggering selected timer-action such as start, stop, continue, halt, increment, capture, interrupt and output.
[in] | event_config_handle | Pointer to CT configure action events structure sl_config_action_event_t |
Pre-conditions:
sl_si91x_config_timer_set_configuration(), keep software trigger disable here sl_si91x_config_timer_register_callback(), keep event interrupt flag enable for respective counter sl_si91x_config_timer_select_action_event(), first selects the input event for respective action for respective counter
Returns
status 0 if successful, else error-code as follow SL_STATUS_NULL_POINTER (0x0022) - The parameter is null pointer.
SL_STATUS_INVALID_PARAMETER 0x0021) - and-event or or-event or event-valid-bits value is invalid.
SL_STATUS_OK (0x0000) - Success, count-value is set properly
582
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_config_timer.h
sl_si91x_config_timer_register_callback#
sl_status_t sl_si91x_config_timer_register_callback (sl_config_timer_callback_t on_config_timer_callback, void * callback_flag_value, sl_config_timer_interrupt_flags_t * interrupt_flags)
Register callback of timer interrupt and enabling respective interrupts as per selected interrupt flag.
[in] | on_config_timer_callback | (function pointer) Callback function pointer to be called when timer interrupt occurred sl_config_timer_callback_t |
[in] | callback_flag_value | (void *) pointer to interrupt flag value variable sl_config_timer_callback_t |
[in] | interrupt_flags | pointer to interrupt flags structure sl_config_timer_interrupt_flags_t |
Pre-conditions:
sl_si91x_config_timer_set_configuration(), keep software trigger disable here sl_si91x_config_timer_unregister_timeout_callback(), if already registered for any interrupt
Returns
status 0 if successful, else error-code as follow SL_STATUS_NULL_POINTER (0x0022) - parameter is a null pointer.
SL_STATUS_BUSY (0x0004) - The callback is already registered, unregister previous callback before registering new one.
SL_STATUS_OK (0x0000) - Successfully registered timer timer-out callback.
609
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_config_timer.h
sl_si91x_config_timer_unregister_callback#
sl_status_t sl_si91x_config_timer_unregister_callback (sl_config_timer_interrupt_flags_t * interrupt_flags)
N/A | interrupt_flags |
628
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_config_timer.h
sl_si91x_config_timer_resume_halt_event#
sl_status_t sl_si91x_config_timer_resume_halt_event (sl_counter_number_t counter_number)
Resume halt operation of Config-timer counter.
[in] | counter_number | sl_counter_number_t for possible values |
Pre-conditions:
l_si91x_config_timer_set_configuration();
Returns
status 0 if successful, else error-code as follow SL_STATUS_INVALID_PARAMETER 0x0021) - 'counter_number' parameter value is invalid.
SL_STATUS_OK (0x0000) - Success, count-value is set properly
647
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_config_timer.h
sl_si91x_config_timer_read_capture#
sl_status_t sl_si91x_config_timer_read_capture (sl_counter_number_t counter_number, uint16_t * capture_value)
Get Config-timer counter count value on occurrence of capture event occurrence.
[in] | counter_number | sl_counter_number_t for possible values |
[in] | capture_value | (uint16_t*), pointer to the variable to store count value at capture event. |
Pre-conditions:
l_si91x_config_timer_set_configuration();
sl_si91x_config_timer_select_action_event(), first select events for capture action
Returns
status 0 if successful, else error-code as follow SL_STATUS_NULL_POINTER (0x0022) - The parameter 'capture_value' is null pointer.
SL_STATUS_INVALID_PARAMETER 0x0021) - 'counter_number' parameter value is invalid.
SL_STATUS_OK (0x0000) - Success, count-value is set properly
671
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_config_timer.h
sl_si91x_config_timer_set_counter_sync#
sl_status_t sl_si91x_config_timer_set_counter_sync (sl_counter_number_t counter_number, uint8_t sync_counter_value)
Sync counter output with other channels, as per sync_counter_value.
[in] | counter_number | sl_counter_number_t for possible values |
[in] | sync_counter_value | (uint8_t) |
Pre-conditions:
l_si91x_config_timer_set_configuration();
Returns
status 0 if successful, else error-code as follow SL_STATUS_INVALID_PARAMETER 0x0021) - 'counter_number' parameter value is invalid.
SL_STATUS_OK (0x0000) - Success, count-value is set properly
691
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_config_timer.h
sl_si91x_config_timer_set_output_adc_pin#
sl_status_t sl_si91x_config_timer_set_output_adc_pin (uint8_t pin1, uint8_t pin2)
Sync counter output with other channels.
[in] | pin1 | sl_counter_number_t for possible values |
[in] | pin2 | (uint8_t) |
Pre-conditions:
l_si91x_config_timer_set_configuration();
Returns
status 0 if successful, else error-code as follow SL_STATUS_INVALID_PARAMETER 0x0021) - 'counter_number' parameter value is invalid.
SL_STATUS_OK (0x0000) - Success, count-value is set properly
711
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_config_timer.h
sl_si91x_config_timer_set_wfg_compare_values#
sl_status_t sl_si91x_config_timer_set_wfg_compare_values (sl_counter_number_t counter_number, sl_config_timer_ocu_params_t * ocu_params)
N/A | counter_number | |
N/A | ocu_params |
714
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_config_timer.h
sl_si91x_config_timer_deinit#
void sl_si91x_config_timer_deinit (void )
De-initialize config-timer by disabling its clock.
[in] |
Returns
none
Note
Unregisters the callback and disables all config timer interrupts.
723
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_config_timer.h
sl_si91x_config_timer_get_version#
sl_config_timer_version_t sl_si91x_config_timer_get_version (void )
Get the release version of the Config-timer.
[in] |
Returns
(sl_config_version_t) type structure
732
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_config_timer.h