Logic output handling.
More...
|
FctERR | Logic_out_update (Logic_out *const out) |
| Set GPIO port value.
|
|
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_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
◆ 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_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
◆ Logic_out_update()
FctERR Logic_out_update |
( |
Logic_out *const | out | ) |
|
Set GPIO port value.
- Parameters
-
- Returns
- Error code