Skip to content
This repository has been archived by the owner on Apr 24, 2023. It is now read-only.
/ surefire Public archive

A flight software framework for advanced collegiate rockets

License

Notifications You must be signed in to change notification settings

stefandebruyn/surefire

Repository files navigation

Actions Status

Surefire is a C++ framework for building flight software applications at the level of advanced collegiate rocketry. The framework provides three main things:

  1. Portable interfaces for common flight software needs
  2. Config languages to allow rapid iteration of flight software
  3. State machine domain-specific language (DSL) to streamline integration of control logic

Getting Started

  1. Read the design one-pager
  2. Work through the basic application bringup tutorial
  3. Find further documentation in the documentation index
  4. Full send

Supported Platforms

Surefire natively supports Linux and NI sbRIO-9637, with some support for Arduino platforms. The Surefire Core Library is written in bare metal C++11 and built on an abstraction layer, so the user may develop custom ports.

Work in Progress

Surefire is WIP. The master branch contains features that are complete and tested:

  • State vector, state machine, and task APIs
  • Compilers and autocoders for state vector and state machine config files
  • Socket, thread, digital I/O, and analog I/O abstractions
  • Task execution API
  • Configurable network and device I/O tasks
  • Documentation and examples

Origin

Surefire was originally developed as a computer science honors thesis at the University of Texas at Austin. The original thesis can be found in the repo here. The halcyon bird, delta, and sun cross on the mission patch are borrowed from mission patches of the Texas Rocket Engineering Lab, whose flight software is a spiritual predecessor to Surefire.

Releases

No releases published

Packages

No packages published

Languages