Logic output handling.
More...
#include "sarmfsw.h"
|
eGPIOState | get_Logic_out_State (const Logic_out *const out) |
| Get Logic_out current output value.
|
|
eLogic_out_mode | get_Logic_out_Mode (const Logic_out *const out) |
| Get Logic_out current mode.
|
|
bool | get_Logic_out_Idle (const Logic_out *const out) |
| Get Logic_out current status.
|
|
FctERR | Logic_out_init (Logic_out *const out, void(*setter)(const Logic_out *const, const GPIO_PinState), uint32_t *const addr, const uint16_t pos, const GPIO_PinState polarity) |
| Initialize Logic_out instance.
|
|
FctERR | Logic_out_Abort (Logic_out *const out) |
| Stop Logic_out pulse/blink if running, or abort set if delay not reached.
|
|
FctERR | Logic_out_SetStatic (Logic_out *const out, const eGPIOState action, const uint32_t delay) |
| Set Logic_out state.
|
|
FctERR | Logic_out_Set (Logic_out *const out) |
| Set Logic_out.
|
|
FctERR | Logic_out_Set_Delayed (Logic_out *const out, const uint32_t delay) |
| Set Logic_out.
|
|
FctERR | Logic_out_Reset (Logic_out *const out) |
| Reset Logic_out.
|
|
FctERR | Logic_out_Reset_Delayed (Logic_out *const out, const uint32_t delay) |
| Reset Logic_out.
|
|
FctERR | Logic_out_StartPulse (Logic_out *const out, const eGPIOState action, const uint32_t delay, const uint32_t active) |
| Start Logic_out Pulse.
|
|
FctERR | Logic_out_StartBlink (Logic_out *const out, const eGPIOState action, const uint32_t delay, const uint32_t active, const uint32_t inactive, const uint32_t count) |
| Start Logic_out Blink.
|
|
void | Logic_out_handler (Logic_out *const out) |
| Handles Logic_out treatment.
|
|
Logic output handling.
- Author
- SMFSW
- Copyright
- MIT (c) 2017-2024, SMFSW
- Note
- Define LOGIC_OUT_IT symbol at project level to use Logic_out from timer interrupts (for more timing precision if required)
-
When using Logic_out from interrupts, LOGIC_OUT_IT_PER period is defined by default with a period of 1000µs (can be customly defined)
- Warning
- Logic_out & GPIO_out shares interrupt behavior, thus needs to be implemented the same way (it or loop) if both are used at the same time
◆ eLogic_out_mode
◆ Logic_out
typedef struct Logic_out Logic_out |
◆ eLogic_out_mode
Activation state On, Off.
Enumerator |
---|
outStatic | Static mode.
|
outPulse | Pulse mode (mono-stable)
|
outBlink | Blink mode (bi-stable)
|
◆ get_Logic_out_Idle()
bool get_Logic_out_Idle |
( |
const Logic_out *const | out | ) |
|
|
inline |
Get Logic_out current status.
- Parameters
-
- Returns
- Pin status
◆ get_Logic_out_Mode()
Get Logic_out current mode.
- Parameters
-
- Returns
- Pin mode
◆ get_Logic_out_State()
eGPIOState get_Logic_out_State |
( |
const Logic_out *const | out | ) |
|
|
inline |
Get Logic_out current output value.
- Parameters
-
- Returns
- Pin state
◆ Logic_out_Abort()
FctERR Logic_out_Abort |
( |
Logic_out *const | out | ) |
|
Stop Logic_out pulse/blink if running, or abort set if delay not reached.
- Parameters
-
- Returns
- FctERR - Error code
◆ Logic_out_handler()
void Logic_out_handler |
( |
Logic_out *const | out | ) |
|
◆ Logic_out_init()
FctERR Logic_out_init |
( |
Logic_out *const | out, |
|
|
void(* | setter )(const Logic_out *const, const GPIO_PinState), |
|
|
uint32_t *const | addr, |
|
|
const uint16_t | pos, |
|
|
const GPIO_PinState | polarity ) |
Initialize Logic_out instance.
- Parameters
-
[in,out] | out | - Logic_out instance to initialize |
[in] | setter | - Logic_out setter function pointer (may be NULL: default behavior for handling RAM variable at address addr) |
[in] | addr | - Variable address to write to (pointer to unsigned 32b, may be NULL if setter handles everything) |
[in] | pos | - Bit position in variable (may be unused if setter function is used) |
[in] | polarity | - set to GPIO_PIN_RESET if active state is low, GPIO_PIN_SET if high |
- Returns
- FctERR - Error code
◆ Logic_out_Reset()
FctERR Logic_out_Reset |
( |
Logic_out *const | out | ) |
|
|
inline |
Reset Logic_out.
- Parameters
-
- Returns
- FctERR - Error Code
◆ Logic_out_Reset_Delayed()
FctERR Logic_out_Reset_Delayed |
( |
Logic_out *const | out, |
|
|
const uint32_t | delay ) |
|
inline |
Reset Logic_out.
- Parameters
-
[in,out] | out | - Logic_out instance |
[in] | delay | - delay before writing to port (in ms) |
- Returns
- FctERR - Error Code
◆ Logic_out_Set()
Set Logic_out.
- Parameters
-
- Returns
- FctERR - Error Code
◆ Logic_out_Set_Delayed()
FctERR Logic_out_Set_Delayed |
( |
Logic_out *const | out, |
|
|
const uint32_t | delay ) |
|
inline |
Set Logic_out.
- Parameters
-
[in,out] | out | - Logic_out instance |
[in] | delay | - delay before writing to port (in ms) |
- Returns
- FctERR - Error Code
◆ Logic_out_SetStatic()
FctERR Logic_out_SetStatic |
( |
Logic_out *const | out, |
|
|
const eGPIOState | action, |
|
|
const uint32_t | delay ) |
Set Logic_out state.
- Parameters
-
[in,out] | out | - Logic_out instance |
[in] | action | - action to perform on output port pin (Reset/Set/Toggle) |
[in] | delay | - delay before writing to port (in ms) |
- Returns
- FctERR - Error code
◆ Logic_out_StartBlink()
FctERR Logic_out_StartBlink |
( |
Logic_out *const | out, |
|
|
const eGPIOState | action, |
|
|
const uint32_t | delay, |
|
|
const uint32_t | active, |
|
|
const uint32_t | inactive, |
|
|
const uint32_t | count ) |
Start Logic_out Blink.
- Parameters
-
[in,out] | out | - Logic_out instance |
[in] | action | - action to perform on output port pin for active state (Reset/Set/Toggle) |
[in] | delay | - delay before pulse (in ms) |
[in] | active | - blink active time (in ms) |
[in] | inactive | - blink inactive time (in ms) |
[in] | count | - blink count (0 for infinite) |
- Returns
- FctERR - Error code
◆ Logic_out_StartPulse()
FctERR Logic_out_StartPulse |
( |
Logic_out *const | out, |
|
|
const eGPIOState | action, |
|
|
const uint32_t | delay, |
|
|
const uint32_t | active ) |
Start Logic_out Pulse.
- Parameters
-
[in,out] | out | - Logic_out instance |
[in] | action | - action to perform on output port pin for active state (Reset/Set/Toggle) |
[in] | delay | - delay before pulse (in ms) |
[in] | active | - pulse time (in ms) |
- Returns
- FctERR - Error code