Hi, 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. Regards, -- Miguel Azevedo
