The Spice Rack

Project Status

Flight Tested on F08L01 and ongoing

Project Statement

flickr:2869783852
flickr:2801800196
flickr:2816305816
flickr:2821057438
flickr:2872718541

The Spice Rack is a PC program which offers a GUI interface to Ginger. Ginger is a bidirectional cross-band data routing system which provides wireless access between capsules and the ground via 2.4ghz radios on what are known as Allspice Nodes. These nodes send data to the ginger capsule which then relays the commands to the ground through a high power 70cm link, and vice versa. The Ginger Prime Base Station is connected to a PC through an FTDI232 UART->USB converter IC which can provide both a low level hardware interface and a virtual com port interface. Using the virtual com port is not a useful way of gathering or interpreting large amounts of encoded data.

The communications team seeks to provide every capsule/experiment with the software platform that they need to correctly receive, send and interpret data from their allspice nodes. The Ginger GUI is written in QT in C++ and provides an easy plug-in style interface for developing and connecting new node modules quickly and easily.

Download

Design Features

  • Written in QT, cross platform
  • Uses low-level FTD232 drivers
  • Object oriented structure allows each team to develop their own allspice node GUI window and code separate from the rest of the program.
  • Textedit windows use HTML formatting for extremely easy human readability formatting. (colors, size etc)
  • Logging of all data is automatic, and means that flights can be 'replayed' later if the code was found to have bugs.
  • Manual packet generation means commands can be sent regardless of allspice node GUI problems.

Performance

  • The GUI is not yet set up for binary data transfers
  • The GUI checks for new text packets every 200ms through a 1MB hardware buffer.

Code Modules Written

TMP

Flight Tested on F08L01

  • Decodes data from the TMP allspice node
  • Realtime plot of temperature data, logged in realtime to a tsv file

PRS

Flight Tested on F08L01

  • Decodes data from the PRS allspice node
  • Realtime plot of board temperature and external pressure data, logged in realtime to a tsv file

GPS

Not Flight Tested

  • Decodes data from the GPS allspice nodes
  • Realtime plot of board temperature, Battery voltage, and GPS parameters (lat, long, alt, fix etc)
  • Outputs a KML file and a network link to view the GPS track in realtime in google earth

Radio Control

Flight Tested on F08L01

  • This module is able to send commands to the radio control IC's to change TX power, bitrates, and channels. Channels start at 420MHz and channel spacing is 0.2MHz. The usable band ends at 449.8Mhz but it is possible to manually set the channel above this. Stay below channel 150 (450MHz) to avoid interfering with police bands.
  • Be aware that radios can cross-talk if harmonics are multiples of the IF frequencies. This has not been widely characterized, but if a radio keeps repeating a packet constantly it probably means that the RX radio is hearing the TX radio. Please attempt to change one of the channels as quickly as possible as the amplifiers may begin to overheat and real data will be backed up.
  • Obviously setting both uplink and downlink to the same channel or within 1 or 2 channels is a bad idea.

Telemetry vs Time

Flight Tested on F08L01

  • This module is able to graph the up and downstream links as an absolute power (dBm) at the receiver as well as battery voltages and internal temperature. Graphed over time, the radio levels give an indication of overall trends in link stability. This can also give an indication of the "sweet spot" of the system if the channels are swept.

Todo

  1. Provide a network interface in the event that we are able to access the internet from the Ginger Prime Base Location.
  2. Form APRS packets from the ginger GPS broadcaster and be able to send them to a COM port or AGWPE TCP port.

Bugs

  1. Allspice modules sometimes only check for the packet format once even if multiple packets are sent inside of the line buffer
  2. On some machines the software fails to run Fixed, DLL file name mispelled in QLibrary call.

Insights

Project Contact

Jasper Nance