Hardware Services

Hardware services are GraphQL server endpoints that take in queries and mutations and exercise the hardware API to complete them.

It is highly recommended that you first read about GraphQL:

Hardware services function mostly as a passthrough to the API, managing control of the resource. Each Hardware Service has only a single worker thread, so the hardware will not be damaged or report an incorrect state due to simultaneous conflicting transactions.

Queries

Queries are telemetry requests. Usually (if the hardware has the capability), when a query is submitted, the hardware service retrieves the live data from the hardware component and completes the transaction, returning it in a JSON format.

Mutations

Mutations are hardware commands. Submitting a mutation changes the state of the hardware.

Service Types

There are a few common categories of satellite bus hadware. Each of these has a Hardware Service that is generalized, but specific to the type of hardware:

  • Power Systems (EPS and/or Battery)
  • Attitude Determination and Control Systems (ADCS)
  • Global Positioning System (GPS)

Other hardware components are given services that are more generalized.