# HG changeset patch # User heinrichsweikamp # Date 1317570870 -7200 # Node ID 915e0d38edece1c418ac8be9a727467ad6ca8f4a # Parent 86fc79735d3b9438b4ad9a1e9c68f048ba971537# Parent 6ad9af3a577134469284614ceefa61d36bd34af2 Merge with 2.01stable diff -r 86fc79735d3b -r 915e0d38edec code_part1/OSTC_code_asm_part1/definitions.asm diff -r 86fc79735d3b -r 915e0d38edec code_part1/OSTC_code_asm_part1/menu_reset.asm --- a/code_part1/OSTC_code_asm_part1/menu_reset.asm Tue Sep 27 22:23:12 2011 +0200 +++ b/code_part1/OSTC_code_asm_part1/menu_reset.asm Sun Oct 02 17:54:30 2011 +0200 @@ -324,23 +324,7 @@ bcf nofly_active ; Clear flag ; reset gases - clrf EEADRH ; EEPROM BANK 0 ! - - movlw d'3' ; address of first gas-1 - movwf EEADR - clrf hi ; He part (default for all gases: 0%) - movlw d'21' ; O2 part (21%) - rcall reset_gas ; saves default and current value for gas #1 - movlw d'21' ; O2 part (21%) - rcall reset_gas ; saves default and current value for gas #2 - movlw d'21' ; O2 part (21%) - rcall reset_gas ; saves default and current value for gas #3 - movlw d'21' ; O2 part (21%) - rcall reset_gas ; saves default and current value for gas #4 - movlw d'21' ; O2 part (21%) - rcall reset_gas ; saves default and current value for gas #5 - movlw d'21' ; O2 part (21%) - rcall reset_gas ; saves default and current value for gas #6 + rcall reset_gases reset_all_cf: movlw d'1' @@ -434,14 +418,44 @@ ;call reset_external_eeprom ; delete profile memory goto restart ; all reset, quit to surfmode +reset_gases: + clrf EEADRH ; EEPROM BANK 0 ! + + movlw d'3' ; address of first gas-1 + movwf EEADR + clrf hi ; He part (default for all gases: 0%) + movlw d'21' ; O2 part (21%) + rcall reset_gas ; saves current value for gas #1 + movlw d'21' ; O2 part (21%) + rcall reset_gas ; saves default value for gas #1 + movlw d'21' ; O2 part (21%) + rcall reset_gas ; saves current value for gas #2 + movlw d'21' ; O2 part (21%) + rcall reset_gas ; saves default value for gas #2 + movlw d'21' ; O2 part (21%) + rcall reset_gas ; saves current value for gas #3 + movlw d'21' ; O2 part (21%) + rcall reset_gas ; saves default value for gas #3 + movlw d'21' ; O2 part (21%) + rcall reset_gas ; saves current value for gas #4 + movlw d'21' ; O2 part (21%) + rcall reset_gas ; saves default value for gas #4 + movlw d'21' ; O2 part (21%) + rcall reset_gas ; saves current value for gas #5 + movlw d'21' ; O2 part (21%) + rcall reset_gas ; saves default value for gas #5 + movlw d'21' ; O2 part (21%) + rcall reset_gas ; saves current value for gas #6 + return + ; Write WREG:lo twice, w/o any type clearing, pre-incrementing EEADR reset_gas: movwf lo incf EEADR,F - movff lo, EEDATA ; Lowbyte Default value + movff lo, EEDATA ; O2 Default value call write_eeprom incf EEADR,F - movff hi, EEDATA ; Highbyte default value + movff hi, EEDATA ; He default value call write_eeprom return diff -r 86fc79735d3b -r 915e0d38edec code_part1/OSTC_code_asm_part1/start.asm --- a/code_part1/OSTC_code_asm_part1/start.asm Tue Sep 27 22:23:12 2011 +0200 +++ b/code_part1/OSTC_code_asm_part1/start.asm Sun Oct 02 17:54:30 2011 +0200 @@ -142,6 +142,9 @@ write_int_eeprom d'193' write_int_eeprom d'194' ; Reset Default and Current Value to zero clrf EEADRH + +; reset gases (Bug in 2.0 stable) + call reset_gases ; goto reset_all_cf ; resets all custom functions bank0 and bank1 and jumps to "restart" restart: @@ -395,8 +398,9 @@ bra start3 ; continue with normal start init: - movlw OSCCON_VALUE + movlw b'01101100' ; 4MHz (x4 PLL) movwf OSCCON + movlw b'00010001' ; I/O Ports movwf TRISA clrf PORTA @@ -416,7 +420,7 @@ movlw b'01000000' ; Bit6: PPL enable movwf OSCTUNE - movlw T0CON_VALUE ; Timer0 + movlw b'00011111' ; Timer0 movwf T0CON movlw b'00000111' ; Timer1 @@ -448,8 +452,7 @@ movwf SSPCON1 movlw b'00000000' movwf SSPCON2 - - movlw SSPADD_VALUE ; I²C Speed + movlw d'8' ; 400kHz I2C clock @ 16MHz Fcy movwf SSPADD clrf CCP1CON ; PWM Module off @@ -468,8 +471,7 @@ movlw b'00001000' movwf BAUDCON clrf SPBRGH - - movlw SPBRG_VALUE + movlw d'34' movwf SPBRG clrf RCREG clrf PIR1