summaryrefslogtreecommitdiff
path: root/software/ihu/adc.inc
diff options
context:
space:
mode:
authorChristian Pointner <equinox@mur.at>2011-12-10 20:11:53 +0000
committerChristian Pointner <equinox@mur.at>2011-12-10 20:11:53 +0000
commitb866a8ca1f93e270316685d230767d6171cf7892 (patch)
treef3d6cf4bf6446c2f134c25d8acee8dd9fa3fb5fd /software/ihu/adc.inc
parentfilter out 'bad' values (diff)
added solar adc code
git-svn-id: https://svn.spreadspace.org/mur.sat@219 7de4ea59-55d0-425e-a1af-a3118ea81d4c
Diffstat (limited to 'software/ihu/adc.inc')
-rw-r--r--software/ihu/adc.inc175
1 files changed, 175 insertions, 0 deletions
diff --git a/software/ihu/adc.inc b/software/ihu/adc.inc
new file mode 100644
index 0000000..7dee1fd
--- /dev/null
+++ b/software/ihu/adc.inc
@@ -0,0 +1,175 @@
+ ;;
+ ;; 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 <equinox@mur.at>
+ ;;
+ ;; 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 <http://www.gnu.org/licenses/>.
+ ;;
+ ;; -------------------------------------
+ ;; DEFINES
+ ;; constants
+ADC_SOL_CH0 EQU b'01000001'
+ADC_SOL_CH1 EQU b'01000101'
+ADC_SOL_CH2 EQU b'01001001'
+ADC_SOL_CH3 EQU b'01001101'
+ADC_SOL_CH4 EQU b'01010001'
+ADC_SOL_CH5 EQU b'01010101'
+ADC_SOL_CH6 EQU b'01011001'
+ADC_SOL_CH7 EQU b'01011101'
+ADC_SOL_CH8 EQU b'01100001'
+ADC_SOL_CH9 EQU b'01100101'
+ADC_SOL_CHA EQU b'01101001'
+ADC_SOL_CHB EQU b'01101101'
+ADC_SOL_CHC EQU b'01110001'
+
+ ;; -------------------------------------
+adc_get_solar
+ movlw ADC_SOL_CH0
+ movwf ADCON0
+ nop
+ nop
+ nop
+ nop
+ nop
+ bsf ADCON0,GO
+adc_get_solar_c0
+ btfsc ADCON0,GO
+ goto adc_get_solar_c0
+ movf ADRESH,w
+ movwf ADC_SOLAR_C0
+
+ movlw ADC_SOL_CH1
+ movwf ADCON0
+ nop
+ nop
+ nop
+ nop
+ nop
+ bsf ADCON0,GO
+adc_get_solar_c1
+ btfsc ADCON0,GO
+ goto adc_get_solar_c1
+ movf ADRESH,w
+ movwf ADC_SOLAR_C1
+
+ movlw ADC_SOL_CH2
+ movwf ADCON0
+ nop
+ nop
+ nop
+ nop
+ nop
+ bsf ADCON0,GO
+adc_get_solar_c2
+ btfsc ADCON0,GO
+ goto adc_get_solar_c2
+ movf ADRESH,w
+ movwf ADC_SOLAR_C2
+
+ movlw ADC_SOL_CH3
+ movwf ADCON0
+ nop
+ nop
+ nop
+ nop
+ nop
+ bsf ADCON0,GO
+adc_get_solar_c3
+ btfsc ADCON0,GO
+ goto adc_get_solar_c3
+ movf ADRESH,w
+ movwf ADC_SOLAR_C3
+
+ movlw ADC_SOL_CH4
+ movwf ADCON0
+ nop
+ nop
+ nop
+ nop
+ nop
+ bsf ADCON0,GO
+adc_get_solar_c4
+ btfsc ADCON0,GO
+ goto adc_get_solar_c4
+ movf ADRESH,w
+ movwf ADC_SOLAR_C4
+
+ movlw ADC_SOL_CH5
+ movwf ADCON0
+ nop
+ nop
+ nop
+ nop
+ nop
+ bsf ADCON0,GO
+adc_get_solar_c5
+ btfsc ADCON0,GO
+ goto adc_get_solar_c5
+ movf ADRESH,w
+ movwf ADC_SOLAR_C5
+
+ movlw ADC_SOL_CH6
+ movwf ADCON0
+ nop
+ nop
+ nop
+ nop
+ nop
+ bsf ADCON0,GO
+adc_get_solar_c6
+ btfsc ADCON0,GO
+ goto adc_get_solar_c6
+ movf ADRESH,w
+ movwf ADC_SOLAR_C6
+
+ movlw ADC_SOL_CH7
+ movwf ADCON0
+ nop
+ nop
+ nop
+ nop
+ nop
+ bsf ADCON0,GO
+adc_get_solar_c7
+ btfsc ADCON0,GO
+ goto adc_get_solar_c7
+ movf ADRESH,w
+ movwf ADC_SOLAR_C7
+
+ movlw ADC_SOL_CH8
+ movwf ADCON0
+ nop
+ nop
+ nop
+ nop
+ nop
+ bsf ADCON0,GO
+adc_get_solar_v
+ btfsc ADCON0,GO
+ goto adc_get_solar_v
+ movf ADRESH,w
+ movwf ADC_SOLAR_V
+
+ return \ No newline at end of file