2.19. pwm — Pulse width modulation

Source code: src/drivers/pwm.h, src/drivers/pwm.c


Functions

int pwm_init(struct pwm_driver_t *self_p, struct pwm_device_t *dev_p)

Initialize driver object.

Return
zero(0) or negative error code.
Parameters
  • self_p: Driver object to be initialized.
  • dev_p: Device to use.

int pwm_set_duty(struct pwm_driver_t *self_p, uint8_t value)

Set the duty cycle.

Return
zero(0) or negative error code.
Parameters
  • self_p: Driver object.
  • value: Value to set [0..255].

int pwm_get_duty(struct pwm_driver_t *self_p)

Get current duty cycle.

Return
Value in the range [0..255], or negative error code.
Parameters
  • self_p: Driver object.

struct pwm_device_t *pwm_pin_to_device(struct pin_device_t *pin_p)

Get the PWM device for given pin.

Return
PWM device, or NULL on error.
Parameters
  • pin_p: The pin device to get the pwm device for.

Variables

struct pwm_device_t pwm_device[PWM_DEVICE_MAX]