;; ;; mur.sat ;; ;; Somewhen in the year 2011, mur.at will have a nano satellite launched ;; into a low earth orbit (310 km above the surface of our planet). The ;; satellite itself is a TubeSat personal satellite kit, developed and ;; launched by interorbital systems. mur.sat is a joint venture of mur.at, ;; ESC im Labor and realraum. ;; ;; Please visit the project hompage at sat.mur.at for further information. ;; ;; ;; Copyright (C) 2011 Christian Pointner ;; ;; This file is part of mur.sat. ;; ;; mur.sat is free software: you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; any later version. ;; ;; mur.sat is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with mur.sat. If not, see . ;; ;; ------------------------------------- ;; PREAMBLE LIST p=10F206 include "p10f206.inc" __config _MCLRE_OFF & _CP_OFF & _WDT_OFF ;; ------------------------------------- ;; DEFINES BEACON_INT EQU .60 SECCNT EQU H'0008' DOT EQU .36 DASH EQU .108 ESPACE EQU .36 CSPACE EQU .108 WSPACE EQU .252 CWSPEED EQU .192 DOTCNT0 EQU H'000A' DOTCNT1 EQU H'000B' CWOUT EQU GP0 ;; ------------------------------------- ;; OFFSET org 0 ;; ------------------------------------- ;; INIT init bcf CMCON0,CMPON movlw b'11110110' option movlw b'11111110' tris GPIO bcf GPIO,CWOUT clrf TMR0 movlw BEACON_INT movwf SECCNT goto main ;; ------------------------------------- ;; SUBROUTINES dottime movwf DOTCNT1 dot_outer movlw CWSPEED movwf DOTCNT0 dot_inner nop nop nop nop decfsz DOTCNT0,f goto dot_inner decfsz DOTCNT1,f goto dot_outer return send_beacon ;; test send out: ;; .- . - bsf GPIO,CWOUT movlw DOT call dottime bcf GPIO,CWOUT movlw ESPACE call dottime bsf GPIO,CWOUT movlw DASH call dottime bcf GPIO,CWOUT movlw CSPACE call dottime bsf GPIO,CWOUT movlw DOT call dottime bcf GPIO,CWOUT movlw WSPACE call dottime bsf GPIO,CWOUT movlw DASH call dottime bcf GPIO,CWOUT return ;; ------------------------------------- ;; MAINLOOP main movf TMR0,w btfss STATUS,Z goto main ;; this gets called every second decfsz SECCNT,f goto waitfor0 movlw BEACON_INT movwf SECCNT ;; this gets called every BEACON_INT seconds call send_beacon ;; is the timer above zero? waitfor0 movf TMR0,w btfsc STATUS,Z goto waitfor0 goto main ;; ------------------------------------- ;; END end