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]