6#ifndef NEXUS_IO_ADVANCED_PWM_H
7#define NEXUS_IO_ADVANCED_PWM_H
nx_result_t nx_advanced_pwm_set_duty(const nx_advanced_pwm_t *port, uint32_t duty_ticks)
Stage duty against the fixed declared PSC/ARR and complementary pair.
nx_result_t nx_advanced_pwm_stop(const nx_advanced_pwm_t *port)
Disable/read back master output and both channel sources.
nx_result_t nx_advanced_pwm_state(const nx_advanced_pwm_t *port, nx_advanced_pwm_state_t *state)
Query staged duty, actual enable state and latched break facts.
nx_result_t nx_advanced_pwm_start(const nx_advanced_pwm_t *port)
Enable outputs only with inactive break and no latched fault.
nx_result_t nx_advanced_pwm_clear_fault(const nx_advanced_pwm_t *port)
Clear a software fault only while disabled and BKIN is inactive.
Small vendor-independent result vocabulary.
nx_result_t
Operation result; success at submission means admission only.
Shared immutable controls; configuration is a cold assembly fact.
nx_result_t(* set_duty)(void *context, uint32_t duty_ticks)
nx_result_t(* clear_fault)(void *context)
nx_result_t(* stop)(void *context)
nx_result_t(* state)(const void *context, nx_advanced_pwm_state_t *state)
nx_result_t(* start)(void *context)
Counts use the fixed post-prescaler clock; deadtime uses tDTS.
Immutable identity; controller state and configuration outlive IRQs.
const nx_advanced_pwm_ops_t * ops