100%
kgc kgc view
Description

Imported from GitHub: szczurkosmiczny/kgc · commit f0154b8 · license GPL-3.0

Description

Kerbal Guidance Computer

README

Kerbal Guidance Computer

KGC DSKY

A HW flight computer for Kerbal Space Program inspired by NASA's DSKY - interface for Apollo Guidance Computer.

It consists of Python script for PC which grab data from the kRPC mod, KGC's DSKY based on Raspberry Pi Pico and program for it. DSKY communicate with PC via UART, so you also need some USB-UART converter. KiCad project for DSKY is located in kicad directory.

Project is still in developement, it's pretty buggy and some of planned features are stil unimplemented.

Features

Implemented

  • Display several flight informations depending on selected Verb and Noun.
  • Ship control:
    • SAS control
    • RCS control
    • Gear control
    • Lights control
    • Brakes control
    • Solar panels control (extend/retract)
    • Antennas control (extend/retract)
    • Next stage activation
    • Abort group activation
  • Maneuver planning
  • MechJeb control:
    • Ascent guidance

Planned

  • Ship control:
    • Thrust control
  • MechJeb control:
    • Landing guidance
    • Rendezvous autopilot
    • Docking autopilot
    • Maneuver planner

Installation

TODO

Usage

TODO

Verbs and Nouns list

VerbNounInput/OutputActionsNotes
0000No op
0101Disconnect from server
0002Reboot
0100No op
0101O: Altitude above sea level [m]
O: Apoapsis [m]
O: Periapsis [m]
0102O: Orbital inclination [°]
O: Orbital eccentricity [°]
O: Mean anomaly [°]
0103O: Time to apoapsis [hrs]
O: Time to apoapsis [min]
O: Time to apoapsis [sec]
0104O: Time to apoapsis [days]
O: Time to apoapsis [hrs]
O: Time to apoapsis [min]Kerbin days
0105O: Time to periapsis [hrs]
O: Time to periapsis [min]
O: Time to periapsis [sec]
0106O: Time to periapsis [days]
O: Time to periapsis [hrs]
O: Time to periapsis [min]Kerbin days
0107O: Orbital period [hrs]
O: Orbital period [min]
O: Orbital period [sec]
0108O: Orbital period [days]
O: Orbital period [hrs]
O: Orbital period [min]Kerbin days
0109O: Time to sphere of influence change [hrs]
O: Time to sphere of influence change [min]
O: Time to sphere of influence change [sec]
0110O: Time to sphere of influence change [days]
O: Time to sphere of influence change [hrs]
O: Time to sphere of influence change [min]Kerbin days
0111O: Heading [°]TODO: check ref. frame
O: Pitch [°]TODO: check ref. frame
O: Roll [°]TODO: check ref. frame
0112O: Velocity - x [m/s]TODO: check ref. frame
O: Velocity - y [m/s]
O: Velocity - z [m/s]
0113O: Orbital speed [m/s]
O: Surface speed [m/s]
0200No op
0201O: Mission elapsed time [hrs]
O: Mission elapsed time [min]
O: Mission elapsed time [sec]Strange bug
0202O: Mission elapsed time [days]
O: Mission elapsed time [min]Strange bug
O: Mission elapsed time [hrs]Strange bug
0203O: Mass [kg]
O: Available thurst [N]
O: Specific impulse [sec]
0204O: Electric charge capacity [-]
O: Monopropellant capacity [-]
O: Liquid fuel capacity [-]
0205O: Electric charge amount [-]TODO: float
O: Monopropellant amount [-]TODO: float
O: Liquid fuel amount [-]TODO: float
0206O: Electric charge amount [%]
O: Monopropellant amount [%]
O: Liquid fuel amount [%]
0207O: Electric charge capacity [-]
O: Electric charge amount [-]TODO: float
O: Electric charge amount [%]
0208O: Monopropellant capacity [-]
O: Monopropellant amount [-]TODO: float
O: Monopropellant amount [%]
0209O: Liquid fuel capacity [-]
O: Liquid fuel amount [-]TODO: float
O: Liquid fuel amount [%]
0301O: Surface speed [m/s]
O: Vertical speed [m/s]
O: Altitude above surface [m]
0302O: Altitude above sea level
O: Apoapsis [m]
O: Orbital inclination [°]
0303O: Apoapsis [m]
O: Periapsis [m]
O: Orbital inclination [°]
0401O: Time to node [hrs]
O: Time to node [min]
O: Time to node [sec]
0402O: Δv magnitude - prograde direction [m/s]
O: Δv magnitude - normal direction [m/s]
O: Δv magnitude - radial direction [m/s]
0403O: Δv [m/s]
O: Remaining Δv [m/s]
O: Time to node [sec]
0404O: Result apoapsis [m]
O: Result periapsis [m]
O: Result inclination [°]
0501O: Altitude above surface [m]
O: Surface speed [m/s]
O: Liquid fuel amount [%]
0502O: Altitude above surface [m]
O: Vertical speed [m/s]
O: Horizontal speed [m/s]
1201Activate SAS in stability assist modeThen return to previous Verb + Noun
1202Activate SAS in maneuver modeThen return to previous Verb + Noun
1203Activate SAS in prograde modeThen return to previous Verb + Noun
1204Activate SAS in retrograde modeThen return to previous Verb + Noun
1205Activate SAS in normal modeThen return to previous Verb + Noun
1206Activate SAS in anti-normal modeThen return to previous Verb + Noun
1207Activate SAS in radial modeThen return to previous Verb + Noun
1208Activate SAS in anti-radial modeThen return to previous Verb + Noun
1209Activate SAS in target modeThen return to previous Verb + Noun
1210Activate SAS in anti-targer modeThen return to previous Verb + Noun
1211Deactivate SASThen return to previous Verb + Noun
1212Activate RCSThen return to previous Verb + Noun
1213Deactivate RCSThen return to previous Verb + Noun
1214Extend gearThen return to previous Verb + Noun
1215Retract gearThen return to previous Verb + Noun
1216Activate ligtsThen return to previous Verb + Noun
1217Deactivate lightsThen return to previous Verb + Noun
1218Activate brakesThen return to previous Verb + Noun
1219Deactivate brakesThen return to previous Verb + Noun
1220Extend solar panelsThen return to previous Verb + Noun
1221Retract solar panelsThen return to previous Verb + Noun
1222Extend antennasThen return to previous Verb + Noun
1223Retract antennasThen return to previous Verb + Noun
1224Activate next stageThen return to previous Verb + Noun
1225Activate abort groupThen return to previous Verb + Noun
1230Initialize node creation
1231I: UT - year
I: UT - day
1232O: UT - year
O: UT - day
1233I: UT - hour
I: UT - minute
I: UT - second
1234O: UT - hour
O: UT - minute
O: UT - second
1235I: Δv - prograde [m/s]
I: Δv - normal [m/s]
I: Δv - radial [m/s]
1236O: Δv - prograde [m/s]
O: Δv - normal [m/s]
O: Δv - radial [m/s]
1237Create nodeIncorrect time
1300Initialize ascent autpoilotMechJeb is used
1301I: Orbit altitude [km]
I: Orbit inclination [°]
I: Ascent profile {1; 2; 3}1 = Classic ascent profile
2 = Stock-style GravityTurn ascent profile
3 = Primer Vector Guidance ascent profile
1302O: Orbit altitude [km]
O: Orbit inclination [°]
O: Ascent profile {1; 2; 3}
1303I: Acceleration limit [m/s]-1 for disable; -2 for ignore
I: Throttle limit [%]-1 for disable; -2 for ignore
1304O: Acceleration limit [m/s]
O: Throttle limit [%]
1305I: Force roll - climb [°]-1 for disable; -2 for ignore (whole force roll)
I: Force roll - turn [°]
1306O: Force roll - climb [°]
O: Force roll - turn [°]
1307I: Autostage pre-delay [s]-1 for disable; -2 for ignore (whole autostage)
I: Autostage post-delay [s]
I: Clamp autostage thrust [%]
1308O: Autostage pre-delay [s]
O: Autostage post-delay [s]
O: Clamp autostage thrust [%]
1309I: Minimal throttle [%]-1 for disable; -2 for ignore
I: Autostage stop stageDetails in truth table
I: Other options
1310O: Minimal throttle [%]
O: Autostage stop stage
O: Other options
1311I: Turn start altitude [km]Classic ascent profile
I: Turn start velocity [m/s]Classic ascent profile
I: Turn end altitude [km]Classic ascent profile
1312O: Turn start altitude [km]Classic ascent profile
O: Turn start velocity [m/s]Classic ascent profile
O: Turn end altitude [km]Classic ascent profile
1313I: Final flight path angle [°]Classic ascent profile; -1 for disable; -2 for ignore
I: Turn shape [%]Classic ascent profile; -1 for disable; -2 for ignore
1314O: Final flight path angle [°]Classic ascent profile
O: Turn shape [%]Classic ascent profile
1315I: Turn start altitude [km]Stock-style GravityTurn ascent profile
I: Turn start velocity [m/s]Stock-style GravityTurn ascent profile
I: Turn start pitch [°]Stock-style GravityTurn ascent profile
1316O: Turn start altitude [km]Stock-style GravityTurn ascent profile
O: Turn start velocity [m/s]Stock-style GravityTurn ascent profile
O: Turn start pitch [°]Stock-style GravityTurn ascent profile
1317I: Intermediate altitude [km]Stock-style GravityTurn ascent profile
I: Hold AP time [s]Stock-style GravityTurn ascent profile
1318O: Intermediate altitude [km]Stock-style GravityTurn ascent profile
O: Hold AP time [s]Stock-style GravityTurn ascent profile
1319I: Apoapsis altitude [km]Primer Vector Guidance ascent profile
I: Attach altitude [km]Primer Vector Guidance ascent profile
I: Booster pitch start velocity [m/s]Primer Vector Guidance ascent profile
1320O: Apoapsis altitude [km]Primer Vector Guidance ascent profile
O: Attach altitude [km]Primer Vector Guidance ascent profile
O: Booster pitch start velocity [m/s]Primer Vector Guidance ascent profile
1321I: Booster pitch rate [°/s]Primer Vector Guidance ascent profile
I: PVG after stagePrimer Vector Guidance ascent profile; -1 for disable; -2 for ignore
1322O: Booster pitch rate [°/s]Primer Vector Guidance ascent profile
O: PVG after stagePrimer Vector Guidance ascent profile
1323I: Q trigger [kPa]Primer Vector Guidance ascent profile
I: Fixed coast length [s]Primer Vector Guidance ascent profile; -1 for disable; -2 for ignore
1324O: Q trigger [kPa]Primer Vector Guidance ascent profile
O: Fixed coast length [s]Primer Vector Guidance ascent profile
1325Enage ascent autopilot
1326Disenage ascent autopilot

Truth table for other options value in Ascent autopilot

Prevent overheatSolar panelsAntennasSkip circularizationDec
00000
00011
00102
00113
01004
01015
01106
01117
10008
10019
101010
101111
110012
110113
111014
111115

Error codes

Ascent guidance:

  • 1301: Noun doesn't exist
  • 1302: Autopilot wasn't initialized
  • 1303: Ascent profile selected in V13;N01 doesn't exist
Comments
Sign in to comment

No comments yet. Be the first to ask about this board.