Skip to content

Commit 88e9c84

Browse files
committed
Merge branch 'dev' of git://github.com/runger1101001/Arduino-FOC into runger1101001-dev
2 parents e33782a + 17dc7fb commit 88e9c84

File tree

3 files changed

+30
-29
lines changed

3 files changed

+30
-29
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

src/drivers/hardware_specific/samd51_mcu.cpp

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -31,43 +31,43 @@ struct wo_association WO_associations[] = {
3131
{ PORTA, 9, TC0_CH1, 1, TCC0_CH1, 1, TCC1_CH1, 5},
3232
{ PORTA, 10, TC1_CH0, 0, TCC0_CH2, 2, TCC1_CH2, 6},
3333
{ PORTA, 11, TC1_CH1, 1, TCC0_CH3, 3, TCC1_CH3, 7},
34-
{ PORTB, 10, TC5_CH0, 0, TCC0_CH0, 4, TCC1_CH0, 0}, //?
35-
{ PORTB, 11, TC5_CH1, 1, TCC0_CH1, 5, TCC1_CH1, 1}, //?
34+
{ PORTB, 10, TC5_CH0, 0, TCC0_CH4, 4, TCC1_CH0, 0},
35+
{ PORTB, 11, TC5_CH1, 1, TCC0_CH5, 5, TCC1_CH1, 1},
3636
{ PORTB, 12, TC4_CH0, 0, TCC3_CH0, 0, TCC0_CH0, 0},
3737
{ PORTB, 13, TC4_CH1, 1, TCC3_CH1, 1, TCC0_CH1, 1},
3838
{ PORTB, 14, TC5_CH0, 0, TCC4_CH0, 0, TCC0_CH2, 2},
3939
{ PORTB, 15, TC5_CH1, 1, TCC4_CH1, 1, TCC0_CH3, 3},
4040
{ PORTD, 8, NOT_ON_TIMER, 0, TCC0_CH1, 1, NOT_ON_TIMER, 0},
4141
{ PORTD, 9, NOT_ON_TIMER, 0, TCC0_CH2, 2, NOT_ON_TIMER, 0},
4242
{ PORTD, 10, NOT_ON_TIMER, 0, TCC0_CH3, 3, NOT_ON_TIMER, 0},
43-
{ PORTD, 11, NOT_ON_TIMER, 0, TCC0_CH0, 4, NOT_ON_TIMER, 0}, //?
44-
{ PORTD, 12, NOT_ON_TIMER, 0, TCC0_CH1, 5, NOT_ON_TIMER, 0}, //?
43+
{ PORTD, 11, NOT_ON_TIMER, 0, TCC0_CH4, 4, NOT_ON_TIMER, 0},
44+
{ PORTD, 12, NOT_ON_TIMER, 0, TCC0_CH5, 5, NOT_ON_TIMER, 0},
4545
{ PORTC, 10, NOT_ON_TIMER, 0, TCC0_CH0, 0, TCC1_CH0, 4},
4646
{ PORTC, 11, NOT_ON_TIMER, 0, TCC0_CH1, 1, TCC1_CH1, 5},
4747
{ PORTC, 12, NOT_ON_TIMER, 0, TCC0_CH2, 2, TCC1_CH2, 6},
4848
{ PORTC, 13, NOT_ON_TIMER, 0, TCC0_CH3, 3, TCC1_CH3, 7},
49-
{ PORTC, 14, NOT_ON_TIMER, 0, TCC0_CH0, 4, TCC1_CH0, 0}, //?
50-
{ PORTC, 15, NOT_ON_TIMER, 0, TCC0_CH1, 5, TCC1_CH1, 1}, //?
51-
{ PORTA, 12, TC2_CH0, 0, TCC0_CH2, 6, TCC1_CH2, 2},
52-
{ PORTA, 13, TC2_CH1, 1, TCC0_CH3, 7, TCC1_CH3, 3},
53-
{ PORTA, 14, TC3_CH0, 0, TCC2_CH0, 0, TCC1_CH2, 2}, //?
54-
{ PORTA, 15, TC3_CH1, 1, TCC1_CH1, 1, TCC1_CH3, 3}, //?
55-
{ PORTA, 16, TC2_CH0, 0, TCC1_CH0, 0, TCC0_CH0, 4},
56-
{ PORTA, 17, TC2_CH1, 1, TCC1_CH1, 1, TCC0_CH1, 5},
57-
{ PORTA, 18, TC3_CH0, 0, TCC1_CH2, 2, TCC0_CH2, 6},
58-
{ PORTA, 19, TC3_CH1, 1, TCC1_CH3, 3, TCC0_CH3, 7},
49+
{ PORTC, 14, NOT_ON_TIMER, 0, TCC0_CH4, 4, TCC1_CH0, 0},
50+
{ PORTC, 15, NOT_ON_TIMER, 0, TCC0_CH5, 5, TCC1_CH1, 1},
51+
{ PORTA, 12, TC2_CH0, 0, TCC0_CH0, 6, TCC1_CH2, 2},
52+
{ PORTA, 13, TC2_CH1, 1, TCC0_CH1, 7, TCC1_CH3, 3},
53+
{ PORTA, 14, TC3_CH0, 0, TCC2_CH0, 0, TCC1_CH2, 2},
54+
{ PORTA, 15, TC3_CH1, 1, TCC1_CH1, 1, TCC1_CH3, 3},
55+
{ PORTA, 16, TC2_CH0, 0, TCC1_CH0, 0, TCC0_CH4, 4},
56+
{ PORTA, 17, TC2_CH1, 1, TCC1_CH1, 1, TCC0_CH5, 5},
57+
{ PORTA, 18, TC3_CH0, 0, TCC1_CH2, 2, TCC0_CH0, 6},
58+
{ PORTA, 19, TC3_CH1, 1, TCC1_CH3, 3, TCC0_CH1, 7},
5959
{ PORTC, 16, NOT_ON_TIMER, 0, TCC0_CH0, 0, NOT_ON_TIMER, 0}, // PDEC0
6060
{ PORTC, 17, NOT_ON_TIMER, 0, TCC0_CH1, 1, NOT_ON_TIMER, 0}, // PDEC1
6161
{ PORTC, 18, NOT_ON_TIMER, 0, TCC0_CH2, 2, NOT_ON_TIMER, 0}, // PDEC2
6262
{ PORTC, 19, NOT_ON_TIMER, 0, TCC0_CH3, 3, NOT_ON_TIMER, 0},
63-
{ PORTC, 20, NOT_ON_TIMER, 0, TCC0_CH0, 4, NOT_ON_TIMER, 0},
64-
{ PORTC, 21, NOT_ON_TIMER, 0, TCC0_CH1, 5, NOT_ON_TIMER, 0},
65-
{ PORTC, 22, NOT_ON_TIMER, 0, TCC0_CH2, 6, NOT_ON_TIMER, 0},
66-
{ PORTC, 23, NOT_ON_TIMER, 0, TCC0_CH3, 7, NOT_ON_TIMER, 0},
63+
{ PORTC, 20, NOT_ON_TIMER, 0, TCC0_CH4, 4, NOT_ON_TIMER, 0},
64+
{ PORTC, 21, NOT_ON_TIMER, 0, TCC0_CH5, 5, NOT_ON_TIMER, 0},
65+
{ PORTC, 22, NOT_ON_TIMER, 0, TCC0_CH0, 6, NOT_ON_TIMER, 0},
66+
{ PORTC, 23, NOT_ON_TIMER, 0, TCC0_CH1, 7, NOT_ON_TIMER, 0},
6767
{ PORTD, 20, NOT_ON_TIMER, 0, TCC1_CH0, 0, NOT_ON_TIMER, 0},
6868
{ PORTD, 21, NOT_ON_TIMER, 0, TCC1_CH1, 1, NOT_ON_TIMER, 0},
69-
{ PORTB, 16, TC6_CH0, 0, TCC3_CH0, 0, TCC0_CH0, 4},
70-
{ PORTB, 17, TC6_CH1, 1, TCC3_CH1, 1, TCC0_CH1, 5},
69+
{ PORTB, 16, TC6_CH0, 0, TCC3_CH0, 0, TCC0_CH4, 4},
70+
{ PORTB, 17, TC6_CH1, 1, TCC3_CH1, 1, TCC0_CH5, 5},
7171
{ PORTB, 18, NOT_ON_TIMER, 0, TCC1_CH0, 0, NOT_ON_TIMER, 0}, // PDEC0
7272
{ PORTB, 19, NOT_ON_TIMER, 0, TCC1_CH1, 1, NOT_ON_TIMER, 0}, // PDEC1
7373
{ PORTB, 20, NOT_ON_TIMER, 0, TCC1_CH2, 2, NOT_ON_TIMER, 0}, // PDEC2
@@ -89,8 +89,8 @@ struct wo_association WO_associations[] = {
8989
// PC24-PC28, PA27, RESET -> no TC/TCC peripherals
9090
{ PORTA, 30, TC6_CH0, 0, TCC2_CH0, 0, NOT_ON_TIMER, 0},
9191
{ PORTA, 31, TC6_CH1, 1, TCC2_CH1, 1, NOT_ON_TIMER, 0},
92-
{ PORTB, 30, TC0_CH0, 0, TCC4_CH0, 0, TCC0_CH2, 6},
93-
{ PORTB, 31, TC0_CH1, 1, TCC4_CH1, 1, TCC0_CH3, 7},
92+
{ PORTB, 30, TC0_CH0, 0, TCC4_CH0, 0, TCC0_CH0, 6},
93+
{ PORTB, 31, TC0_CH1, 1, TCC4_CH1, 1, TCC0_CH1, 7},
9494
// PC30, PC31 -> no TC/TCC peripherals
9595
{ PORTB, 0, TC7_CH0, 0, NOT_ON_TIMER, 0, NOT_ON_TIMER, 0},
9696
{ PORTB, 1, TC7_CH1, 1, NOT_ON_TIMER, 0, NOT_ON_TIMER, 0},

0 commit comments

Comments
 (0)