Browse Source

update

master
zhaohe 2 years ago
parent
commit
4266b0ef12
  1. 2
      sdk
  2. 49
      usrc/main.cpp

2
sdk

@ -1 +1 @@
Subproject commit 57cf05c056145c69697f94f5320581ad1dcb8cc3
Subproject commit baafde681f0e2f87659d06e8801f9ec9ea1c2277

49
usrc/main.cpp

@ -53,19 +53,47 @@ static int32_t getDeviceId() {
*******************************************************************************/
class PWMCtrler : public ZIPWMCtrl {
ZPWMGenerator pwm;
int32_t freq;
int32_t duty;
int32_t state;
int32_t m_freq = 50000;
int32_t m_duty = 50;
int32_t m_state;
public:
void initialize() { pwm.initialize(&htim2, TIM_CHANNEL_2, 25000, 1); }
void initialize() { pwm.initialize(&htim2, TIM_CHANNEL_2, 25000, 1); }
virtual int32_t pwm_set_state(int32_t state) {
if (state) {
pwm.startPWM(m_freq, m_duty);
} else {
pwm.stopPWM();
}
m_state = state;
}
virtual int32_t pwm_get_state(int32_t& state) {
state = m_state;
return 0;
}
virtual int32_t set_pwm_duty(int32_t duty) {
pwm.startPWM(duty);
m_duty = duty;
if (m_state) {
pwm.startPWM(m_freq, m_duty);
}
}
virtual int32_t get_pwm_duty(int32_t& duty) {
duty = m_duty;
return 0;
}
virtual int32_t set_pwm_freq(int32_t freq) {
m_freq = freq;
if (m_state) {
pwm.startPWM(m_freq, m_duty);
}
}
virtual int32_t get_pwm_freq(int32_t& duty) {
duty = m_freq;
return 0;
}
virtual int32_t set_pwm_freq(int32_t freq) {}
virtual int32_t get_pwm_duty() {}
virtual int32_t get_pwm_freq() {}
};
PWMCtrler pwmCtrler;
@ -126,7 +154,10 @@ void umain() {
{.pin = PC7, .mode = ZGPIO::kMode_pulldown, .mirror = false, .initLevel = false, .log_when_setstate = false},
{.pin = PC8, .mode = ZGPIO::kMode_pulldown, .mirror = false, .initLevel = false, .log_when_setstate = false},
},
.pwmctrl = &pwmCtrler,
.pwmctrl =
{
&pwmCtrler,
},
};
initer.init(&cfg);
initsubmodule();

Loading…
Cancel
Save