Mercurial > public > hwos_code
diff src/hwos.asm @ 656:8af5aefbcdaf default tip
Update to 3.31 beta
| author | heinrichsweikamp |
|---|---|
| date | Thu, 27 Nov 2025 18:32:58 +0100 |
| parents | 75e90cd0c2c3 |
| children |
line wrap: on
line diff
--- a/src/hwos.asm Mon Apr 29 13:05:18 2024 +0200 +++ b/src/hwos.asm Thu Nov 27 18:32:58 2025 +0100 @@ -18,7 +18,7 @@ #include "eeprom_rs232.inc" ;----------------------------- PIC Configuration ----------------------------- -; + CONFIG RETEN = OFF ; regulator power while in sleep mode controlled by SRETEN bit CONFIG SOSCSEL = HIGH ; high power SOSC circuit selected CONFIG XINST = OFF ; extended instruction set disabled @@ -46,6 +46,7 @@ HW_descriptor res 1 ; OSTC - model descriptor (cleared & rebuilt in restart) HW_variants res 1 ; OSTC - model variants (NOT cleared in restart) HW_variants2 res 1 ; OSTC - more model variants (NOT cleared in restart) +HW_variants3 res 1 ; OSTC - more model variants (NOT cleared in restart) ;---- Flags - Hardware States HW_flags_state1 res 1 ; hardware - states 1 @@ -105,7 +106,7 @@ battery_type res 1 ; =0:1.5V, =1:3.6V Saft, =2:LiIon 3.7V/0.8Ah, =3:LiIon 3.7V/3.1Ah, =4: LiIon 3.7V/2.3Ah battery_accumulated_charge res 2 ; raw values in battery gauge IC battery_temperature res 2 ; battery temperature in 0.1 Kelvin -gauge_status_byte res 1 ; gauge IC status byte + @@ -119,6 +120,7 @@ global HW_descriptor global HW_variants global HW_variants2 + global HW_variants3 global HW_flags_state1 global HW_flags_state2 global HW_flags_state3 @@ -151,7 +153,7 @@ global battery_type global battery_accumulated_charge global battery_temperature - global gauge_status_byte + ;============================================================================= @@ -342,7 +344,7 @@ ; Timer 3 for IR-RX Timeout - IFDEF _external_sensor + IFDEF _external_sensor_eccr clrf T3GCON ; clear Timer3 gate control register ; movlw b'10001101' ; old value movlw b'10001011' ; bit 7-6: 10 = clock source SOSC/SCLKI (with bit 3 = 1) @@ -367,6 +369,8 @@ ; MSSP1 Module: I2C Master + movlw b'00000000' ; enable slew rate control + movwf SSP1STAT ; ... movlw b'00101000' ; set up I2C to master mode movwf SSP1CON1 ; ... clrf SSP1CON2 ; ... @@ -410,7 +414,7 @@ banksel 0xF16 ; addresses F16h...F5Fh are not part of the access RAM movlw b'11000000' ; disable ECCP3 and ECCP2 movwf PMD0 ; ... - IFDEF _external_sensor + IFDEF _external_sensor_eccr movlw b'11000001' ; disable PSP, CTMU and EMB ELSE movlw b'11001001' ; disable PSP, CTMU, Timer 3 and EMB @@ -536,11 +540,12 @@ movwf TBLPTRL ; ... movwf TBLPTRH ; ... movwf TBLPTRU ; ... - TBLRD*- ; dummy read to be in 128 byte block movlw b'10010100' ; setup block erase rcall restore_write ; execute block erase + TBLRD*- ; dummy read to be in 128 byte block + ; set start address in EEPROM EEPROM_SET_ADDRESS eeprom_prog_page0_backup
