The Bird Watcher



' {$STAMP BS2}
' {$PBASIC 2.5}
time_code VAR Word
elapsed_seconds VAR Word
location VAR Word
retrieve_at VAR Word
i VAR Word
year VAR Word
month VAR Byte
day VAR Byte
day_logged VAR Byte
hour VAR Byte
start_hour VAR Byte
hour_logged VAR Byte
minute VAR Byte
start_minute VAR Byte
minute_logged VAR Byte
second VAR Byte
second_logged VAR Byte
add_comment VAR Nib
added_comment VAR Nib
press_1 VAR IN0
display_times VAR IN1
on_off VAR IN2
time_code = 0
location = 128
second = 0
minute = 0
hour = 0
day = 0
start_minute = 0
start_hour = 0
DO
IF on_off = 0 THEN
DEBUG "Enter Year (YYYY) "
DEBUGIN DEC year
DEBUG CR
DEBUG "Enter Month (MM) "
DEBUGIN DEC month
DEBUG CR
DEBUG "Enter Day (DD) "
DEBUGIN DEC day
DEBUG CR
DEBUG "Enter Hour (HH) "
DEBUGIN DEC start_hour
DEBUG CR
DEBUG "Enter Minut (MM) "
DEBUGIN DEC start_minute
DEBUG CR
DEBUG DEC4 year
DEBUG "-"
DEBUG DEC2 month
DEBUG "-"
DEBUG DEC2 day
DEBUG "-"
DEBUG DEC2 start_hour
DEBUG ":"
DEBUG DEC2 start_minute
DEBUG CR
DEBUG "Press the on_off switch at any time to start logging data"
DEBUG CR
minute = minute + start_minute
hour = hour + start_hour
waiting:
ENDIF
IF on_off = 1 THEN
PAUSE 990
second = second + 1
time_code = time_code + 1
IF second > 59 THEN
second = 0
minute = minute + 1
ENDIF
IF minute > 59 THEN
minute = 0
start_minute = 0
hour = hour + 1
ENDIF
IF hour > 24 THEN
hour = 1
start_hour = 0
day = day + 1
ENDIF
IF press_1 = 1 THEN
add_comment = 0
WRITE location, time_code.LOWBYTE
location = location + 1
WRITE location, time_code.HIGHBYTE
location = location + 1
WRITE location, day
location = location + 1
WRITE location, hour
location = location + 1
WRITE location, minute
location = location + 1
WRITE location, second
location = location + 1
WRITE location, add_comment
location = location + 1
ENDIF
IF display_times = 1 THEN
retrieve_at = 128
FOR i = 1 TO ((location - 128)/7)
READ retrieve_at, elapsed_seconds.LOWBYTE
retrieve_at = retrieve_at + 1
READ retrieve_at, elapsed_seconds.HIGHBYTE
retrieve_at = retrieve_at + 1
READ retrieve_at, day_logged
retrieve_at = retrieve_at + 1
READ retrieve_at, hour_logged
retrieve_at = retrieve_at + 1
READ retrieve_at, minute_logged
retrieve_at = retrieve_at + 1
READ retrieve_at, second_logged
retrieve_at = retrieve_at + 1
READ retrieve_at, added_comment
retrieve_at = retrieve_at + 1
DEBUG DEC ? elapsed_seconds
DEBUG CR
DEBUG DEC4 year
DEBUG "-"
DEBUG DEC2 month
DEBUG "-"
DEBUG DEC2 day_logged
DEBUG "-"
DEBUG DEC2 hour_logged
DEBUG ":"
DEBUG DEC2 minute_logged
DEBUG "."
DEBUG DEC2 second_logged
DEBUG CR
DEBUG DEC ? added_comment
DEBUG CR
DEBUG "*****************************************"
DEBUG CR
NEXT
ENDIF
ELSE
GOTO waiting
ENDIF
LOOP

0 Comments:
Post a Comment
<< Home