Hi,

> On Jul 10, 2017, at 8:31 PM, Miguel Azevedo <[email protected]> wrote:
> 
> I am currently developing a PWM driver for mynewt, more specifically a
> driver for nRF52 based hardware.
> Therefore I came up with this PWM high level API, which will be
> described ahead on this e-mail.
> Its source code:
> https://github.com/mlaz/mynewt-core/blob/pwm_dev/hw/drivers/pwm/include/pwm/pwm.h
> 
> This API is based in both the current ADC high level API
> https://github.com/apache/mynewt-core/blob/master/hw/drivers/adc/include/adc/adc.h
> and the abandoned hal_pwm API
> https://github.com/apache/mynewt-core/blob/090_dev/hw/hal/include/hal/hal_pwm.h
> .
> The API itself is roughly the same as hal_pwm exposes, which aligns
> with the following concepts:
> -It is assumed that within a system there is a number of discrete PWM
> devices which provide a number of channels per device.
> -These devices are configurable, its configuration typically
> contemplates all the parameters which affect all the provided channels
> (global to the device).
> -A channel is also configurable and its configuration may or may not
> affect other channels provided by the same device, depending on the
> device's configuration.
> 
> I would be glad to have some feedback from the community, in order to
> validate this approach.
> 

In general this seems reasonable, I like it. And thanks for picking up the 
effort.

For clarification; setting frequency for a pwm_dev
would set it for all channels belonging to that pwm_dev? Comment on the
function prototype for pwm_set_frequency_func_t() says that ‘it might’ affect 
other
channels, and this confuses me :) What do you mean by that comment?

—
M

Reply via email to