comparison src/eeprom_rs232.asm @ 628:cd58f7fc86db

3.05 stable work
author heinrichsweikamp
date Thu, 19 Sep 2019 12:01:29 +0200
parents c40025d8e750
children 237931377539
comparison
equal deleted inserted replaced
627:bf5fee575701 628:cd58f7fc86db
1 ;============================================================================= 1 ;=============================================================================
2 ; 2 ;
3 ; File eeprom_rs232.asm combined next generation V3.03.1 3 ; File eeprom_rs232.asm combined next generation V3.04.3
4 ; 4 ;
5 ; Internal EEPROM, RS232 5 ; Internal EEPROM, RS232
6 ; 6 ;
7 ; Copyright (c) 2011, JD Gascuel, HeinrichsWeikamp, all right reserved. 7 ; Copyright (c) 2011, JD Gascuel, HeinrichsWeikamp, all right reserved.
8 ;============================================================================= 8 ;=============================================================================
88 movlw 0x55 88 movlw 0x55
89 movwf EECON2 89 movwf EECON2
90 movlw 0xAA 90 movlw 0xAA
91 movwf EECON2 91 movwf EECON2
92 bsf EECON1,WR 92 bsf EECON1,WR
93 bsf INTCON,GIE ; ...but the flag for the ISR routines were still set, so they will interrupt now!
94 93
95 write_eep2: 94 write_eep2:
96 btfsc EECON1,WR 95 btfsc EECON1,WR
97 bra write_eep2 ; wait about 4ms... 96 bra write_eep2 ; wait about 4ms...
98 bcf EECON1,WREN 97 bcf EECON1,WREN
98 bsf INTCON,GIE ; ...but the flag for the ISR routines were still set, so they will interrupt now!
99 return 99 return
100 100
101 ;============================================================================= 101 ;=============================================================================
102 102
103 IFDEF _external_sensor 103 IFDEF _external_sensor
106 disable_ir_s8: 106 disable_ir_s8:
107 banksel TXSTA2 ; select bank for IO register access 107 banksel TXSTA2 ; select bank for IO register access
108 clrf TXSTA2 108 clrf TXSTA2
109 clrf RCSTA2 109 clrf RCSTA2
110 banksel common ; back to bank common 110 banksel common ; back to bank common
111 bcf ir_power ; IR off 111 bcf ir_power ; IR off
112 bcf mcp_power ; power-down instrumentation amp 112 bcf mcp_power ; power-down instrumentation amp
113 bsf s8_npower ; power-down S8 digital interface 113 bsf s8_npower ; power-down S8 digital interface
114 bcf s8_digital_avail ; digital S8 interface not available 114 bcf s8_digital_avail ; digital S8 interface not available
115 return 115 return
116 116
117 117
118 global enable_ir_s8 118 global enable_ir_s8
119 enable_ir_s8: 119 enable_ir_s8:
136 btfss ir_power 136 btfss ir_power
137 bra $-6 137 bra $-6
138 return 138 return
139 139
140 enable_s8: 140 enable_s8:
141 ; Check for Digital/Analog 141 banksel TXSTA2 ; select bank for IO register access
142 bsf s8_npower ; power-down S8 HUD
143 WAITMS d'1' ; very short delay
144 bsf mcp_power ; power-up instrumentation amp
145 btfss mcp_power
146 bra $-6
147 banksel TXSTA2 ; select bank for IO register access
148 clrf TXSTA2 142 clrf TXSTA2
149 clrf RCSTA2 143 clrf RCSTA2
150 banksel common ; back to bank common 144 banksel common ; back to bank common
145 ; Check for Digital/Analog
146 bsf s8_npower ; power-down S8 HUD
147 WAITMS d'2' ; very short delay
148 bsf mcp_power ; power-up instrumentation amp
149 btfss mcp_power
150 bra $-4
151 151
152 ; It may be digital, check for voltage when isolator is powered 152 ; It may be digital, check for voltage when isolator is powered
153 bcf s8_npower ; power S8 HUD 153 bcf s8_npower ; power S8 HUD
154 WAITMS d'1' ; wait 1 ms 154 WAITMS d'1' ; wait 1 ms
155 btfsc PORTG,2 ; RX2=1? 155 btfsc PORTG,2 ; RX2=1?
188 call request_speed_normal ; request CPU speed change to normal speed 188 call request_speed_normal ; request CPU speed change to normal speed
189 enable_rs232_1: 189 enable_rs232_1:
190 btfss speed_is_normal ; speed = normal? 190 btfss speed_is_normal ; speed = normal?
191 bra enable_rs232_1 ; NO - wait for ISR to adjust speed 191 bra enable_rs232_1 ; NO - wait for ISR to adjust speed
192 bcf PORTE,0 ; start comm 192 bcf PORTE,0 ; start comm
193 bsf PORTJ,2 ; /Reset (for very old OSTC sport)
193 ;initialize serial port1 (TRISC6/7) 194 ;initialize serial port1 (TRISC6/7)
194 movlw b'00100100' ; BRGH=1, SYNC=0 195 movlw b'00100100' ; BRGH=1, SYNC=0
195 movwf TXSTA1 196 movwf TXSTA1
196 movlw b'10010000' 197 movlw b'10010000'
197 movwf RCSTA1 198 movwf RCSTA1
202 disable_rs232: 203 disable_rs232:
203 clrf RCSTA1 204 clrf RCSTA1
204 clrf TXSTA1 ; UART disable 205 clrf TXSTA1 ; UART disable
205 bcf PORTC,6 ; TX hard to GND 206 bcf PORTC,6 ; TX hard to GND
206 bsf PORTE,0 ; stop comm 207 bsf PORTE,0 ; stop comm
208 bcf PORTJ,2 ; /Reset (for very old OSTC sport)
207 return 209 return
208 210
209 211
210 global rs232_wait_tx 212 global rs232_wait_tx
211 rs232_wait_tx: 213 rs232_wait_tx: