Skip to content

Commit

Permalink
Documentation updates
Browse files Browse the repository at this point in the history
  • Loading branch information
ayshih committed Nov 22, 2016
1 parent 73335fa commit 858dbc2
Show file tree
Hide file tree
Showing 6 changed files with 169 additions and 101 deletions.
6 changes: 3 additions & 3 deletions docs/code_ref/telemetry.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Telemetry
=========

.. autofunction:: gripspy.telemetry.inspect

.. autofunction:: gripspy.telemetry.parser_generator
.. automodule:: gripspy.telemetry
:members:
:undoc-members:
9 changes: 9 additions & 0 deletions docs/code_ref/util.rst
Original file line number Diff line number Diff line change
@@ -1,14 +1,23 @@
Utilities
=========

`gripspy.util.checksum`
-----------------------

.. automodule:: gripspy.util.checksum
:members:
:undoc-members:

`gripspy.util.coincidence`
--------------------------

.. automodule:: gripspy.util.coincidence
:members:
:undoc-members:

`gripspy.util.time`
-------------------

.. automodule:: gripspy.util.time
:members:
:undoc-members:
107 changes: 9 additions & 98 deletions docs/index.rst
Original file line number Diff line number Diff line change
@@ -1,13 +1,9 @@
.. gripspy documentation master file, created by
sphinx-quickstart on Wed Feb 10 13:27:14 2016.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Welcome to gripspy's documentation!
===================================
Welcome to `gripspy`!
=====================

Introduction
------------

This Python package is intended for analysis of data from the `GRIPS <http://grips.ssl.berkeley.edu>`_
long-duration flight of 2016 January 19–30.
It can also be used to analyze the pre-flight calibration data that was already being recorded
Expand All @@ -16,104 +12,19 @@ The code is still very much a work in progress, so not only are many elements st
even the parts that have been coded are likely to go through changes in their interfaces and
organization.

Prerequisites
-------------
This package depends on:

* Python 3.5 or 2.7 (untested on other versions)
* NumPy
* SciPy
* matplotlib
* Cython, and corresponding build environment for compiling C code
* scikit-image
* Astropy

However, rather than installing these packages individually, it is highly recommended that one
instead use a scientific Python distribution (e.g., `Anaconda <https://www.continuum.io/downloads>`_),
which will include useful packages such as Jupyter Notebook (formerly IPython Notebook).

The build environment for C code is a bit trickier to set up on Windows than on the other platforms:

* Python 3.5:

* Install `Microsoft Visual C++ Build Tools 2015 <http://landinghub.visualstudio.com/visual-cpp-build-tools>`_ (check both Windows 8.1 SDK and Windows 10 SDK)

* Python 2.7:

* Install `Microsoft Visual C++ Compiler for Python 2.7 <http://www.microsoft.com/en-us/download/details.aspx?id=44266>`_
* Patch `C:\\yourpythoninstall\\Lib\\distutils\\msvc9compiler.py` by adding the following highlighted lines at the top
of the `find_vcvarsall()` function:

.. code-block:: python
:emphasize-lines: 8-13
def find_vcvarsall(version):
"""Find the vcvarsall.bat file
At first it tries to find the productdir of VS 2008 in the registry. If
that fails it falls back to the VS90COMNTOOLS env var.
"""
vsbase = VS_BASE % version
vcpath = os.environ['ProgramFiles']
vcpath = os.path.join(vcpath, 'Common Files', 'Microsoft',
'Visual C++ for Python', '9.0', 'vcvarsall.bat')
if os.path.isfile(vcpath): return vcpath
vcpath = os.path.join(os.environ['LOCALAPPDATA'], 'Programs', 'Common', 'Microsoft', 'Visual C++ for Python', '9.0', 'vcvarsall.bat')
if os.path.isfile(vcpath): return vcpath
...
* Create a file `distutils.cfg` in `C:\\yourpythoninstall\\Lib\\distutils\\` with the following:

.. code-block:: none
[build]
compiler=msvc
You should now be able to build extensions.
If these steps don't work for you, or you are using a different version of Python,
`this page <https://github.com/cython/cython/wiki/CythonExtensionsOnWindows>`_ or
`this other page <https://wiki.python.org/moin/WindowsCompilers>`_ may be helpful.

Installation
------------
You can download `gripspy` either as a Git repository or just the code itself.
Installing `grispy` can be done through the basic ways (e.g., `python setup.py`),
although I prefer using `pip` so that tracking installations is easier.
I recommend installing `gripspy` in "editable" mode so that it is more convenient
for active development, e.g.::

pip install -e .

Use
---
Simply import `gripspy` to start.

.. code-block:: python
import gripspy
The classes for handling science data are under `gripspy.science`.
The classes for handling housekeeping data are under `gripspy.housekeeping`.
Here are some examples of what has been implemented so far:

.. code-block:: python
data = gripspy.science.GeData(detector_number, filename)
data = gripspy.science.BGOCounterData(filename)
data = gripspy.science.BGOEventData(filename)
data = gripspy.science.PYSequence(filelist)
data = gripspy.housekeeping.GPSData(filename)
Code Reference
--------------
Table of contents
-----------------

.. toctree::
:maxdepth: 2

installation
quickstart
packets
code_ref/index.rst

Indices and tables
==================
------------------

* :ref:`genindex`
* :ref:`modindex`
Expand Down
70 changes: 70 additions & 0 deletions docs/installation.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
Installation
============

Prerequisites
-------------
This package depends on:

* Python 3.5 or 2.7 (untested on other versions)
* NumPy
* SciPy
* matplotlib
* Cython, and corresponding build environment for compiling C code
* scikit-image
* Astropy

However, rather than installing these packages individually, it is highly recommended that one
instead use a scientific Python distribution (e.g., `Anaconda <https://www.continuum.io/downloads>`_),
which will include useful packages such as Jupyter Notebook (formerly IPython Notebook).

The build environment for C code is a bit trickier to set up on Windows than on the other platforms:

* Python 3.5:

* Install `Microsoft Visual C++ Build Tools 2015 <http://landinghub.visualstudio.com/visual-cpp-build-tools>`_ (check both Windows 8.1 SDK and Windows 10 SDK)

* Python 2.7:

* Install `Microsoft Visual C++ Compiler for Python 2.7 <http://www.microsoft.com/en-us/download/details.aspx?id=44266>`_
* Patch `C:\\yourpythoninstall\\Lib\\distutils\\msvc9compiler.py` by adding the following highlighted lines at the top
of the `find_vcvarsall()` function:

.. code-block:: python
:emphasize-lines: 8-13
def find_vcvarsall(version):
"""Find the vcvarsall.bat file
At first it tries to find the productdir of VS 2008 in the registry. If
that fails it falls back to the VS90COMNTOOLS env var.
"""
vsbase = VS_BASE % version
vcpath = os.environ['ProgramFiles']
vcpath = os.path.join(vcpath, 'Common Files', 'Microsoft',
'Visual C++ for Python', '9.0', 'vcvarsall.bat')
if os.path.isfile(vcpath): return vcpath
vcpath = os.path.join(os.environ['LOCALAPPDATA'], 'Programs', 'Common', 'Microsoft', 'Visual C++ for Python', '9.0', 'vcvarsall.bat')
if os.path.isfile(vcpath): return vcpath
...
* Create a file `distutils.cfg` in `C:\\yourpythoninstall\\Lib\\distutils\\` with the following:

.. code-block:: none
[build]
compiler=msvc
You should now be able to build extensions.
If these steps don't work for you, or you are using a different version of Python,
`this page <https://github.com/cython/cython/wiki/CythonExtensionsOnWindows>`_ or
`this other page <https://wiki.python.org/moin/WindowsCompilers>`_ may be helpful.

Installing `gripspy`
--------------------
You can download `gripspy` either as a Git repository or just the code itself.
Installing `gripspy` can be done through the basic ways (e.g., `python setup.py`),
although I prefer using `pip` so that tracking installations is easier.
I recommend installing `gripspy` in "editable" mode so that it is more convenient
for active development, e.g.::

pip install -e .
58 changes: 58 additions & 0 deletions docs/packets.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
Supported Packets
=================

Only some of the types of GRIPS packets are currently supported.

======== ======== ====== ===========
Support? SystemID TmType Description
======== ======== ====== ===========
\ 0x00 0x02 Flight software data rates
\ 0x00 0x03 Flight software telemetry settings
\ 0x00 0x0E Flight software error
\ 0x00 0x0F Flight software message
\ 0x01 0x02 Flight software watchdog
\ 0x02 0x02 Flight software watchpup
partial 0x03 0x02 To pointing control system computer (PCSC)
partial 0x03 0x03 From pointing control system computer (PCSC)
full 0x05 0x02 GPS
\ 0x07 0x02 Temperatures, through flight computer
\ 0x07 0x03 Thermostats
\ 0x0A 0x02 PDU voltages and currents
\ 0x0A 0x03 Cryostat temperatures
\ 0x0A 0x04 Power statuses
\ 0x0C 0x02 Cryocooler housekeeping
\ 0x0D 0x02 Not-dead-yet information
\ 0x0F 0x02 MPPT housekeeping
\ 0x10 0x1? Ge quicklook spectrum and rates
\ 0x10 0x20 Ge quicklook hitmap strip
\ 0x40 0x02 Aspect housekeeping
\ 0x40 0x03 Aspect settings
\ 0x40 0x04 Temperatures, through aspect computer
\ 0x40 0x10 Aspect science
\ 0x4A 0x20 Aspect pitch-yaw image row
\ 0x4B 0x20 Aspect roll image row
\ 0x8? 0x02 Card cage (Ge) housekeeping
\ 0x8? 0x04 Card cage (Ge) ASIC registers, LV top
\ 0x8? 0x05 Card cage (Ge) ASIC registers, LV bottom
\ 0x8? 0x06 Card cage (Ge) ASIC registers, HV top
\ 0x8? 0x07 Card cage (Ge) ASIC registers, HV bottom
\ 0x8? 0x08 Card cage (Ge) counters
\ 0x8? 0x09 Card cage (Ge) temperatures
full 0x8? 0xF1 Card cage (Ge) event, raw format, LV side
full 0x8? 0xF2 Card cage (Ge) event, raw format, HV side
full 0x8? 0xF3 Card cage (Ge) event, normal format
\ 0x8? 0xFC Card cage (Ge) channel enables
\ 0x9? 0x04 Card cage (Ge) ASIC register differences, LV top
\ 0x9? 0x05 Card cage (Ge) ASIC register differences, LV bottom
\ 0x9? 0x06 Card cage (Ge) ASIC register differences, HV top
\ 0x9? 0x07 Card cage (Ge) ASIC register differences, HV bottom
\ 0xB6 0x02 Shield (BGO) housekeeping
\ 0xB6 0x09 Shield (BGO) temperatures
\ 0xB6 0x13 Shield (BGO) configuration
full 0xB6 0x80 Shield (BGO) events, 8 bytes per event
full 0xB6 0x81 Shield (BGO) counter rates
full 0xB6 0x82 Shield (BGO) events, 5 bytes per event
\ 0xC0 0x02 SMASH housekeeping
\ 0xC0 0x03 SMASH log messages
\ 0xC0 0x10 SMASH science
======== ======== ====== ===========
20 changes: 20 additions & 0 deletions docs/quickstart.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
Quick Start
===================================

Simply import `gripspy` to start.

.. code-block:: python
import gripspy
The classes for handling science data are under `gripspy.science`.
The classes for handling housekeeping data are under `gripspy.housekeeping`.
Here are some examples of what has been implemented so far:

.. code-block:: python
data = gripspy.science.GeData(detector_number, filename)
data = gripspy.science.BGOCounterData(filename)
data = gripspy.science.BGOEventData(filename)
data = gripspy.science.PYSequence(filelist)
data = gripspy.housekeeping.GPSData(filename)

0 comments on commit 858dbc2

Please sign in to comment.