Browse Source

Minor update to CP timing, slight increase of default charging current.

finetuned 7 years ago
parent
commit
2fc8ad00c9
1 changed files with 8 additions and 7 deletions
  1. 8 7
      minimalmode3.asm

+ 8 - 7
minimalmode3.asm

@@ -59,6 +59,8 @@ PILOT_12 equ 0F4
 PILOT_9 equ 0D2
 PILOT_6 equ 0B4
 
+CHARGEPWM equ 3C
+
 start
     ; Initialize Ports                          TRISA
     ; PORTA, 0 = CP input = analog in           1
@@ -183,7 +185,7 @@ connected
     btfsc   PORTC, 1    ; Check if the lock is closed
     goto    lock
     
-    movlw   3A          ; Offer 14 amps
+    movlw   CHARGEPWM       ; Start offering
     movwf   CCPR1L
     
     call    read_cp
@@ -199,7 +201,6 @@ connected
     
     ; Cable must be disconnected, unlock and go back to idle.
     goto   unlock
-    
 
 charging
     bsf     PORTB, 4           ; Power On
@@ -226,19 +227,19 @@ read_cp
 wait_for_pwm_period
     ; TMR2 loopt mee gedurende de PWM. Als TMR2 < CCPR1L dan zitten we nog in de hoog periode.
     ; De aquisitietijd voor de AD-conversie is 4 cycli. Als we 16 cycli voor het eind van de PWM-hoog periode beginnen met samplen, hebben we tijd genoeg.
-    ; We willen niet direct aan het begin van de periode zitten, maar halverwege.
+    ; We willen niet direct aan het begin van de periode zitten, maar na 5%.
     ; Dus CCPR1L/2 < TMR2 < (CCPR1L - 16) 
     
-    ; Check if TMR2 > CCPR1L / 2
-    rrcf    CCPR1L, W
-    subwf   TMR2, W             ; TMR2 - CCPR1L/2: moet > dan nul zijn, STATUS, C = 1
+    ; Check if TMR2 > 12d
+    movlw   d'12'
+    subwf   TMR2, W             ; TMR2 - 12: moet > dan nul zijn, STATUS,C = 1
     btfsc   STATUS, C
     goto    wait_for_pwm_period
     
     ; Check if TMR2 < (CCPR1L - 16)
     movlw   d'16'               ; 16 -> W
     subwf   CCPR1L, W           ; (CCPR1L - 16) -> W
-    subwf   TMR2, W             ; TMR2 - (CCPR1L - 16): moet < dan nul zijn, STATUS, C = 0
+    subwf   TMR2, W             ; TMR2 - (CCPR1L - 16): moet < dan nul zijn, STATUS,C = 0
     btfsc   STATUS, C
     goto    wait_for_pwm_period