Skip to content

Commit a1149e1

Browse files
committed
add enable_active_high setting to 3-PWM driver also
1 parent 9cf18c2 commit a1149e1

File tree

2 files changed

+8
-7
lines changed

2 files changed

+8
-7
lines changed

src/drivers/BLDCDriver3PWM.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ BLDCDriver3PWM::BLDCDriver3PWM(int phA, int phB, int phC, int en1, int en2, int
2020
// enable motor driver
2121
void BLDCDriver3PWM::enable(){
2222
// enable_pin the driver - if enable_pin pin available
23-
if ( _isset(enableA_pin) ) digitalWrite(enableA_pin, HIGH);
24-
if ( _isset(enableB_pin) ) digitalWrite(enableB_pin, HIGH);
25-
if ( _isset(enableC_pin) ) digitalWrite(enableC_pin, HIGH);
23+
if ( _isset(enableA_pin) ) digitalWrite(enableA_pin, enable_active_high);
24+
if ( _isset(enableB_pin) ) digitalWrite(enableB_pin, enable_active_high);
25+
if ( _isset(enableC_pin) ) digitalWrite(enableC_pin, enable_active_high);
2626
// set zero to PWM
2727
setPwm(0,0,0);
2828
}
@@ -33,9 +33,9 @@ void BLDCDriver3PWM::disable()
3333
// set zero to PWM
3434
setPwm(0, 0, 0);
3535
// disable the driver - if enable_pin pin available
36-
if ( _isset(enableA_pin) ) digitalWrite(enableA_pin, LOW);
37-
if ( _isset(enableB_pin) ) digitalWrite(enableB_pin, LOW);
38-
if ( _isset(enableC_pin) ) digitalWrite(enableC_pin, LOW);
36+
if ( _isset(enableA_pin) ) digitalWrite(enableA_pin, !enable_active_high);
37+
if ( _isset(enableB_pin) ) digitalWrite(enableB_pin, !enable_active_high);
38+
if ( _isset(enableC_pin) ) digitalWrite(enableC_pin, !enable_active_high);
3939

4040
}
4141

@@ -87,4 +87,4 @@ void BLDCDriver3PWM::setPwm(float Ua, float Ub, float Uc) {
8787
// hardware specific writing
8888
// hardware specific function - depending on driver and mcu
8989
_writeDutyCycle3PWM(dc_a, dc_b, dc_c, pwmA, pwmB, pwmC);
90-
}
90+
}

src/drivers/BLDCDriver3PWM.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ class BLDCDriver3PWM: public BLDCDriver
3838
int enableA_pin; //!< enable pin number
3939
int enableB_pin; //!< enable pin number
4040
int enableC_pin; //!< enable pin number
41+
bool enable_active_high = true;
4142

4243
/**
4344
* Set phase voltages to the harware

0 commit comments

Comments
 (0)