Changed logic
This commit is contained in:
40
firmware/src/bsp/pwm.cpp
Normal file
40
firmware/src/bsp/pwm.cpp
Normal file
@@ -0,0 +1,40 @@
|
||||
/**** Includes ****/
|
||||
#include "../utils/utils.h"
|
||||
#include "mcu/mcu_hal.h"
|
||||
#include "pwm.h"
|
||||
|
||||
using namespace bsp;
|
||||
|
||||
/**** Private definitions ****/
|
||||
/**** Private constants ****/
|
||||
/**** Private variables ****/
|
||||
/**** Private function declarations ****/
|
||||
|
||||
/**** Public function definitions ****/
|
||||
bsp::PWMout::PWMout(uint8_t pwm_ch)
|
||||
{
|
||||
this->pwm_ch = pwm_ch;
|
||||
this->write(0);
|
||||
}
|
||||
|
||||
bsp::PWMout::~PWMout(void)
|
||||
{
|
||||
this->write(0);
|
||||
}
|
||||
|
||||
void bsp::PWMout::write(uint8_t duty)
|
||||
{
|
||||
// Convert percent to 16b duty cycle
|
||||
uint16_t dc = util::percent_to_16b(duty);
|
||||
|
||||
// Set PWM
|
||||
mcu::pwm_write(this->pwm_ch, dc);
|
||||
this->last_duty = duty;
|
||||
}
|
||||
|
||||
uint8_t bsp::PWMout::get_set_duty(void)
|
||||
{
|
||||
return this->last_duty;
|
||||
}
|
||||
|
||||
/**** Private function definitions ****/
|
||||
Reference in New Issue
Block a user