From a9f7889862cc229b7ceb33afca985f104013242f Mon Sep 17 00:00:00 2001 From: Wolfgang Hottgenroth Date: Fri, 14 Oct 2016 14:52:18 +0200 Subject: [PATCH] consider start polarity of bridge --- src/inverter.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/inverter.c b/src/inverter.c index 9cd6aba..5389006 100644 --- a/src/inverter.c +++ b/src/inverter.c @@ -79,13 +79,19 @@ void inverterExec() { if (! running) { // start pulseWidthIdx = 0; + // bridge start polarity + P1OUT &= ~BIT1; + P1OUT |= ((BIT2 & P1IN) >> 1); + // start timer TA0CTL = MC_1 | ID_0 | TASSEL_0 | TACLR; running = true; } } else { if (running) { // stop + // stop timer TA0CTL = MC_0; + // shutdown bridge P2OUT &= ~BIT1; running = false; } @@ -94,13 +100,16 @@ void inverterExec() { void inverterInit() { // start, stop - P1OUT &= BIT3; - P1DIR &= BIT3; + P1OUT &= ~BIT3; + P1DIR &= ~BIT3; - // bridge direction - P1OUT &= ~BIT2; - P1OUT |= BIT1; - P1DIR |= BIT1 | BIT2; + // bridge start polarity + P1DIR &= ~BIT2; + + // bridge polarity + P1OUT &= ~BIT1; + P1OUT |= ((BIT2 & P1IN) >> 1); + P1DIR |= BIT1; // bridge enable (PWM) P2OUT &= ~BIT1;