add door open timeout buzzer
parent
b226766f87
commit
7388ed1922
@ -0,0 +1,72 @@
|
||||
' {$STAMP BS2}
|
||||
' {$PBASIC 2.5}
|
||||
|
||||
Spkr PIN 10
|
||||
' DTMF output on pin 10
|
||||
#SELECT $STAMP
|
||||
#CASE BS2, BS2E
|
||||
TmAdj CON $100 ' x 1.0 (time adjust)
|
||||
FrAdj CON $100 ' x 1.0 (freq adjust)
|
||||
#CASE BS2SX
|
||||
TmAdj CON $280 ' x 2.5
|
||||
FrAdj CON $066 ' x 0.4
|
||||
#CASE BS2P
|
||||
TmAdj CON $3C5 ' x 3.77
|
||||
FrAdj CON $044 ' x 0.265
|
||||
#CASE BS2PE
|
||||
TmAdj CON $100 ' x 1.0
|
||||
FrAdj CON $0A9 ' x 0.662
|
||||
#CASE BS2PX
|
||||
TmAdj CON $607 ' x 6.03
|
||||
FrAdj CON $2A ' x 0.166
|
||||
#ENDSELECT
|
||||
|
||||
eeLoc VAR Byte ' EEPROM address of stored number
|
||||
eeByte VAR Byte ' Byte containing two DTMF digits
|
||||
dtDig VAR eeByte.NIB1 ' Digit to dial
|
||||
phone VAR Nib ' Pick a phone #
|
||||
hiLo VAR Bit ' Bit to select upper and lower nib
|
||||
|
||||
cntA VAR Byte
|
||||
repeatA VAR Byte
|
||||
|
||||
Parallax DATA $19,$16,$62,$48,$33,$3F ' Phone: 1-916-624-8333
|
||||
ParallaxFax DATA $19,$16,$62,$48,$00,$3F ' Phone: 1-916-624-8003
|
||||
Information DATA $15,$20,$55,$51,$21,$2F ' Phone: 1-520-555-1212
|
||||
|
||||
Main:
|
||||
'FOR phone = 0 TO 2
|
||||
' retrieve address
|
||||
' LOOKUP phone, [Parallax, ParallaxFax, Information], eeLoc
|
||||
' GOSUB Dial_Number
|
||||
' PAUSE 2000
|
||||
'NEXT
|
||||
GOSUB Buzzer
|
||||
END
|
||||
|
||||
Dial_Number:
|
||||
DO
|
||||
READ eeLoc, eeByte ' Retrieve byte from EEPROM
|
||||
eeLoc = eeLoc + 1 ' point to next pair of digits
|
||||
FOR hiLo = 0 TO 1 ' Dial upper and lower digits
|
||||
IF (dtDig = $F) THEN EXIT ' Hex $F is end-of-number flag
|
||||
DTMFOUT Spkr, ' dial digit
|
||||
150 */ TmAdj, 25, [dtDig] ' 150 ms on, 25 ms off
|
||||
eeByte = eeByte << 4 ' Shift in next digit
|
||||
NEXT
|
||||
LOOP UNTIL (dtDig = $F)
|
||||
RETURN
|
||||
|
||||
Buzzer:
|
||||
FOR repeatA = 0 TO 5
|
||||
PAUSE 20000
|
||||
OUTPUT 10
|
||||
FOR cntA = 0 TO 10
|
||||
OUT10=1
|
||||
PAUSE 300
|
||||
OUT10=0
|
||||
PAUSE 1000
|
||||
NEXT
|
||||
NEXT
|
||||
|
||||
RETURN
|
||||
Loading…
Reference in New Issue