| 141 | |
| 142 | |
| 143 | static rt_err_t _pwm_set(rt_uint8_t slice_num, struct rt_pwm_configuration *configuration) |
| 144 | { |
| 145 | uint32_t period_hz = 1000000000 / configuration->period; |
| 146 | uint32_t pulse = 1000000000 / configuration->pulse; |
| 147 | |
| 148 | pwm_config config = pwm_get_default_config(); |
| 149 | pwm_config_set_clkdiv(&config, 1.33f); |
| 150 | pwm_init(slice_num, &config, true); |
| 151 | pwm_set_wrap(slice_num, 100000000 / period_hz); |
| 152 | pwm_set_chan_level(slice_num, configuration->channel, 100000000 / pulse); |
| 153 | |
| 154 | return RT_EOK; |
| 155 | } |
| 156 | |
| 157 | static rt_err_t _pwm_get(rt_uint8_t slice_num, struct rt_pwm_configuration *configuration) |
| 158 | { |
no test coverage detected