Implementation of the PWM Interface.
More...
#include <inttypes.h>
#include "no_os_pwm.h"
#include <stdlib.h>
#include "no_os_error.h"
#include "no_os_mutex.h"
Implementation of the PWM Interface.
- Author
- Pratyush Mallick (praty.nosp@m.ush..nosp@m.malli.nosp@m.ck@a.nosp@m.nalog.nosp@m..com)
Copyright 2023(c) Analog Devices, Inc.
SPDX-License-Identifier: BSD-3-Clause
◆ no_os_pwm_disable()
Disable PWM signal generation.
- Parameters
-
| desc | - The PWM descriptor. |
- Returns
- 0 in case of success, -1 otherwise.
◆ no_os_pwm_enable()
Enable PWM signal generation.
- Parameters
-
| desc | - The PWM descriptor. |
- Returns
- 0 in case of success, -1 otherwise.
◆ no_os_pwm_get_duty_cycle()
| int32_t no_os_pwm_get_duty_cycle |
( |
struct no_os_pwm_desc * | desc, |
|
|
uint32_t * | duty_cycle_ns ) |
Get the PWM duty cycle.
- Parameters
-
| desc | - The PWM descriptor. |
| duty_cycle_ns | - Duty cycle in nanoseconds. |
- Returns
- 0 in case of success, -1 otherwise.
◆ no_os_pwm_get_period()
| int32_t no_os_pwm_get_period |
( |
struct no_os_pwm_desc * | desc, |
|
|
uint32_t * | period_ns ) |
Get the PWM period value.
- Parameters
-
| desc | - The PWM descriptor. |
| period_ns | - The period value in nanoseconds. |
- Returns
- 0 in case of success, -1 otherwise.
◆ no_os_pwm_get_phase()
| int32_t no_os_pwm_get_phase |
( |
struct no_os_pwm_desc * | desc, |
|
|
uint32_t * | phase_ns ) |
Get the PWM phase value.
- Parameters
-
| desc | - The PWM descriptor. |
| phase_ns | - Phase value in nanoseconds. |
- Returns
- 0 in case of success, -1 otherwise.
◆ no_os_pwm_get_polarity()
Get the PWM polarity.
- Parameters
-
| desc | - The PWM descriptor. |
| polarity | - Polarity value. Example: NO_OS_PWM_POLARITY_HIGH NO_OS_PWM_POLARITY_LOW |
- Returns
- 0 in case of success, -1 otherwise.
◆ no_os_pwm_init()
Initialize the PWM peripheral.
- Parameters
-
| desc | - The PWM descriptor. |
| param | - The structure that contains the PWM parameters. |
- Returns
- 0 in case of success, -1 otherwise.
◆ no_os_pwm_remove()
Free the resources allocated by no_os_pwm_init().
- Parameters
-
| desc | - The PWM descriptor. |
- Returns
- 0 in case of success, -1 otherwise.
◆ no_os_pwm_set_duty_cycle()
| int32_t no_os_pwm_set_duty_cycle |
( |
struct no_os_pwm_desc * | desc, |
|
|
uint32_t | duty_cycle_ns ) |
Set the PWM duty cycle.
- Parameters
-
| desc | - The PWM descriptor. |
| duty_cycle_ns | - Duty cycle in nanoseconds. |
- Returns
- 0 in case of success, -1 otherwise.
◆ no_os_pwm_set_period()
| int32_t no_os_pwm_set_period |
( |
struct no_os_pwm_desc * | desc, |
|
|
uint32_t | period_ns ) |
Set the PWM period value.
- Parameters
-
| desc | - The PWM descriptor. |
| period_ns | - The period value in nanoseconds. |
- Returns
- 0 in case of success, -1 otherwise.
◆ no_os_pwm_set_phase()
| int32_t no_os_pwm_set_phase |
( |
struct no_os_pwm_desc * | desc, |
|
|
uint32_t | phase_ns ) |
Set the PWM phase value.
- Parameters
-
| desc | - The PWM descriptor. |
| phase_ns | - Phase value in nanoseconds. |
- Returns
- 0 in case of success, -1 otherwise.
◆ no_os_pwm_set_polarity()
Set the PWM polarity.
- Parameters
-
| desc | - The PWM descriptor. |
| polarity | - Polarity value. Example: NO_OS_PWM_POLARITY_HIGH NO_OS_PWM_POLARITY_LOW |
- Returns
- 0 in case of success, -1 otherwise.