Terminal: Implement software arm command

Open
#273 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
48/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Quiet
Tech stack
c
Domain
cli, embedded-iot

Research direction

Start by reviewing driver/ignition.c for the proposed subcommand, then trace the arming flow through FCF prelaunch.c and the SDEC command handling. Confirm how ign_switch_armed is evaluated and how the emulator reaches the terminal phase. Done means an ignite command can arm the system for the execution cycle across the stated components, including emulator and hardware considerations.

Written by the indexing model from the issue text.

Description

enhancement

**Requester: @ETSells **

Describe the solution you'd like
The emulator currently requires an input from the GUI in order to arm. In addition, the flight computer can only be armed by shorting the switch terminal with a piece of wire. This is inconvenient for testing purposes.

We should consider adding an "ignite" subcommand that sets a flag to tell ign_switch_armed to return true for the rest of that execution cycle.

This issue will have components across:

  • FCF (prelaunch.c, possibly, or maybe not)
  • driver (ignition.c -- subcommand)
  • SDEC (ignite command not currently supported)

Describe alternatives you've considered
For the emulator, we may also pass a flag that tells it to skip the terminal phase for automated integration testing. This would not help on hardware, though.

Additional context
N/A

Points of Contact
SDEC SMEs: @Ljmeza95 @ecombe123
FC Rev 2 SME: @NArmistead

Dominant language
C
Stars
8
Forks
6
Avg merge
6d 15h
Merged PRs (30d)
1

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from SunDevilRocketry/Flight-Computer-Firmware

All issues in SunDevilRocketry/Flight-Computer-Firmware

Similar issues

More C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.