Giter VIP home page Giter VIP logo

psas_packet's Introduction

PSAS Packet Serializer

https://coveralls.io/repos/psas/psas_packet/badge.svg?branch=master

Reusable Portland State Aerospace Society telemetry packet encoder, decoder, documentation, and other tools.

Documentation

http://psas-packet-serializer.readthedocs.org

Install

pip install psas_packet

Develop

Install locally in a virtual env:

python setup.py install

Do work and test:

python setup.py test

License

This program 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
(at your option) any later version.

This program 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.

psas_packet's People

Contributors

natronics avatar jameysharp avatar ianosgood avatar thirteenfish avatar

Stargazers

Ihor Savenko avatar  avatar jpjohnston avatar Timothy avatar Andy Mayer avatar Stefan Novak avatar Stefano Zaghi avatar Josh avatar JT5D avatar

Watchers

Don Park avatar Bart Massey avatar  avatar Kc 2.0 avatar Jackson avatar James Cloos avatar Waylon Cude avatar Andrew Greenberg avatar Adrienne Andreassen avatar  avatar Glenn LeBrasseur avatar  avatar  avatar  avatar DF avatar  avatar  avatar  avatar JJ Hartley avatar  avatar  avatar  avatar  avatar Tom M. avatar Andy Mayer avatar Galen O'Sullivan avatar Emily Baker avatar  avatar  avatar  avatar Heathjam avatar  avatar Paolo Villanueva avatar Eric Thomas avatar  avatar  avatar Erin Schmidt avatar Tait Schaffer avatar  avatar  avatar Lorenzen Devin avatar  avatar  avatar William Harrington avatar  avatar Austin avatar  avatar  avatar  avatar John Tucker avatar  avatar Joe Shields avatar  avatar  avatar

psas_packet's Issues

MPL3 generated documentation has wrong size

The Sphinx-generated documentation says that the pressure field in the MPL3 documentation is 8 bytes long. However, it's only 4 bytes. The associated type column is correct, saying "uint32_t".

Not relevant to this repo, but is it a known issue that in the Launch-11 data, the length field for MPL3 messages is in the wrong endianness?

Is this project still active?

I'm going through the list of projects on the PSAS website, making a list of the active/old projects. Is this still a thing? Is it going on LV3? It hasn't been pushed to in like 2 years.

C struct generator: have single header struct

Currently for each new data container we do something like this:

struct FooData {
    type field1;
    type field2;
}

struct FooMessage {
    char ID[4];
    uint8_t timestamp[6];
    uint16_t length;
    struct FooData data;
}

Instead we should have a single struct for the header and then either have struct FooMessage be a combination of the two structs, or have FooData be expanded inside FooMessage, or something.

ADIS gyro units are wrong

The scale factor in messages.py for the ADIS gyro measurements yields degrees per second, but the units are labelled as Hertz. It's easy to fix either one; which should it be? I'm inclined toward either degrees or radians per second, personally.

ASCII Header In Logfile

Thinking long term, we probably should know what version of this package generated a logfile. In particular the way to encode/decode types has already changed a couple of times since we have had bugs in the firmware for sensors and argued about units etc. For example, the current master branch will fail at decoding the first drop tower data, but not the second (we changed a message header definition between the two).

We might also want comments like local time for file creation (I know it's in the filename, but it might not always be) or just regular comments like "launch 11", or "droptower test 5, didn't go so well".

There is precedent, like EXIF data in JPEG, but my favorite is the scientific FITS image format, which is very old and since it was "expensive" to load an image 1981 it includes a user definable ASCII metadata, literally designed so you could run head -c 80 random-image.fits and figure out what the image might be before waiting an hour to load it.

It would be great if 8 years from now we could grab a logfile from 2015 and, without any special knowledge (e.g., remembering the quirks from that launch) still be able to unpack it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.