From 2052f399e416780f406b19d9cd90a7be55f86e15 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Mon, 11 Jul 2011 17:41:20 +0000 Subject: added ihu source dir git-svn-id: https://svn.spreadspace.org/mur.sat@31 7de4ea59-55d0-425e-a1af-a3118ea81d4c --- software/ihu/Makefile | 34 ++++++++++++++++++ software/ihu/ihu.asm | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 130 insertions(+) create mode 100644 software/ihu/Makefile create mode 100644 software/ihu/ihu.asm (limited to 'software') diff --git a/software/ihu/Makefile b/software/ihu/Makefile new file mode 100644 index 0000000..3c1cb81 --- /dev/null +++ b/software/ihu/Makefile @@ -0,0 +1,34 @@ +## +## 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 . +## + +PROJECT := ihu +PROC_TYPE := 16F887 + +include ../pic.include.mk diff --git a/software/ihu/ihu.asm b/software/ihu/ihu.asm new file mode 100644 index 0000000..3cde059 --- /dev/null +++ b/software/ihu/ihu.asm @@ -0,0 +1,96 @@ + ;; + ;; 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=16F887 + include "p16f887.inc" + ;; TODO: set correct configuration bits + __config _FCMEN_OFF & _IESO_OFF & _CPD_OFF & _CP_OFF & _MCLRE_OFF & _PWRTE_OFF & _WDT_OFF & _INTRC_OSC_NOCLKOUT + + ;; ------------------------------------- + ;; DEFINES + ;; TODO: find right address for context save registers +W_TEMP EQU H'007E' +STATUS_TEMP EQU H'007F' + + ;; ------------------------------------- + ;; Reset Vector + org 0 + goto init + + ;; ------------------------------------- + ;; Interrupt Vector + org 4 + ;; save context + movwf W_TEMP + swapf STATUS,W + movwf STATUS_TEMP + + ;; TODO: implement interrupt service routines + +interrupt_end + ;; restore context + swapf STATUS_TEMP,W + movwf STATUS + swapf W_TEMP,F + swapf W_TEMP,W + retfie + + ;; ------------------------------------- + ;; INIT +init + ;; bank 1 + ;; TODO: do init stuff + goto main + + ;; ------------------------------------- + ;; TABLES + + ;; TODO: add lookup tables if needed + + ;; ------------------------------------- + ;; SUBROUTINES + + ;; TODO: add subroutines + + ;; ------------------------------------- + ;; MAINLOOP +main + + ;; TODO: add main code + +powerdown + sleep + goto main + + ;; ------------------------------------- + ;; END + end -- cgit v1.2.3