Jump to content

Apollo Guidance Computer and DSKY


ttb

Recommended Posts

Hi all,

So I'm interested in old school computers. Once I started playing KSP and tried the mechjeb mod, I found myself wondering about the feasibility of designing a Apollo Guidance Computer with DSKY mod. As I don't know how to write in C#, but am familiar with python, I'm thinking of using either IronPython or python for .net. Just wondering if there is any interest in such a mod, and has anyone successfully used python to interface with KSP?

Thanks

ttb

Link to comment
Share on other sites

Further thoughts (just some ideas I'm throwing around):

I play around with arduino quite a bit, I'd love to build a lookalike DSKY and have it interface to KSP either over serial USB or Ethernet.

Would also like to design a in game DSKY interface.

Don't really want to learn C# for this tho, although I've been looking at the source code for mechjeb. It doesn't seem a terribly complicated language to learn (I am however biased against micro$oft products :)

All code and external hardware (if any) would be open source.

Regarding the AGC section, I would imagine that first I would implement the guidance functions, and save full emulation of the AGC for a later version.

I would be keen for others to help write this if anyone's keen.

Timeframe for a workable example would be a few months at least, possibly longer, would have to work on it when my wee fella is with his Mum.

Thanks

ttb

Link to comment
Share on other sites

Ok, this project is a GO!

First off, a slight change in direction. The Current Plan is to build a DSKY with Arduino and provide the functions of the AGC to the DSKY, running on the Arduino. Note, that this will not be a AGC emulator, I plan to implement the functionality of the AGC only.

So, here's the plan: (like all good plans, subject to change :) )

1) Design and plan the physical layout of the DSKY (including part costs). As I only have a few 8-segment LED displays at the moment, will probably emulate the display over serial port (for non-arduino users, think USB).

2) Write DSKY software i.e. program the keyboard, led displays and such

3) figure out some way for KSP to spit out the info required for the AGC over serial port, to display on the DSKY.

Please note, the first iterations of this project will revolve around displaying KSP information on the DSKY. Then I will work on actually using the AGC to plot maneuvers etc. I am also thinking of adding another panel to the DSKY to display/control KSP functions eg Landing gear toggle, lights, abort button, also custom action groups.

Would like to hear comments, criticisms, ideas etc. Also would be keen for some assistance regarding the KSP to AGC software interface (I guess using C#). Lets collaborate!

Thanks

ttb

Link to comment
Share on other sites

Upon further investigation, the Telemacus mod looks promising - for displaying data at least. Should be a relatively simple manner to expose this data to Arduino and then to DSKY. Gonna work on this tomorrow, had a few beers :confused:

ttb

Link to comment
Share on other sites

I might be able to do a bit of Arduino stuff if you wish.

Edit: Maybe make everything available for download, and make Arduino schemes for the people who have a lot of that sorta stuff. Maybe also sell ready units 4 profit (if KSP terms allow it)

Edited by KvickFlygarn87
Link to comment
Share on other sites

Thanks! The more the merrier :)

The terms of service don't say you can't, I would imagine it as a peripheral, much like a joystick is. Regarding making this, I'm not interested in profit, if I did sell them it would be at cost plus time. This would be a open source project, will start a project on github when I've got something to share.

Thanks

ttb

Link to comment
Share on other sites

So, I've been thinking of the circuit design, haven't got anything written down yet, I'm probably going to drive each 7 segment display (there would be 21) with a 74HC595 shift register, one each per 7 segment. To save costs, will use a sign indicator LED instead of a separate alphanumeric segment display for the a,b and c displays. Hopefully I van drive the sign LED off the serial output if the last shift register. I intend to daisychain each if the a,b and c displays, also the verb/noun displays, and program display.

Have to start thinking about the status lamps, how they will display info from KSP etc. Some won't have any use (eg TEMP warning), but I'll probably wire them in anyway for future use.

As for the keyboard, I'll probably use a PISO shift register to save IO pins on the arduino. Hoping to be able to use a uno rather than a mega, cause then future units can be built using a atmega328p chip instead of the more expensive arduino.

I've figured out how to get flight data out of KSP, via Telemachus, and a python script to send the data to the aduino. So the first version of the AGC will only implement displaying of flight data, rather then direct control of KSP. That can come later, once I've got the physical circuit going.

Any thoughts or ideas welcome.

Thanks

ttb

Link to comment
Share on other sites

I've been thinking about this for months as something I'd like to do. I'm focused on running an emulator in the game to the IVA display and having it be mapped to the keyboard, however you're idea of actual hardware seems more awesome.

I first noticed this project :http://www.ibiblio.org/apollo/\

Then this one: http://agcreplica.outel.org/

both may be of help to you.

Link to comment
Share on other sites

Are you going to display in the original AGC imperial units, or stick with KSP's metric units ?

Gonna use metric units, this will save space in ROM and make the program less complicated. Plus I live in a metric country :)

AFAIK, the AGC did its internal processing in metric units then converted to imperial units for display on the DSKY.

Thanks

ttb

Link to comment
Share on other sites

I've been thinking about this for months as something I'd like to do. I'm focused on running an emulator in the game to the IVA display and having it be mapped to the keyboard, however you're idea of actual hardware seems more awesome.

I first noticed this project :http://www.ibiblio.org/apollo/\

Then this one: http://agcreplica.outel.org/

both may be of help to you.

Thanks for the links, very useful :) I was originally intending to do a in game interface, then got thinking about doing it in hardware. I'm a long time flight sim fan, and always liked the external hardware you could purchase eg radio stack, gauges etc but they are all so expensive.

I would like some assistance to write a plugin for KSP to extract and manipulate gama data, going to be using tememachus mod at first, if anyone's interested. For now, need to send and receive data over serial port, later maybe could use Ethernet. I assume C# can do this?

Thanks

ttb

Link to comment
Share on other sites

Quick update:

Tonight I managed to get KSP talking to my arduino. As I don't have enough 7 segment displays and shift registers, I got the arduino to echo back the received data. All seems to work well so far, just the first step tho. Will keep y'all updated.

Cheers

ttb

Link to comment
Share on other sites

That is beautiful.

It was certainly something :D

The scientists and engineers wanted to use their familiar SI units and the astronauts wanted to see their familiar aviation units of feet per second and nautical miles.

It could have turned into a real dogs breakfast but the programmers obviously made a great job of the conversion.

Link to comment
Share on other sites

Hey all,

So I've been doing research into the AGC. I have come to the conclusion that it would not be possible to recreate or emulate the original AGC, for a few reasons. It was only designed to fly to the Moon and back, not to other planets like in KSP. Also, our solar system is quite different than KSP's version. So, my plan is to re-implement the AGC with modifications for KSP, removing all unnecessary functionality and implementing KSP-specific functionality ie circularisation burns, Hohmann transfers etc. I plan to reasonably faithfully recreate the DSKY (including its verb/noun interface, multiple background programs etc), with added KSP features such as buttons for staging, lights, gears, pause etc.

Will keep working on this slowly, will post some code and circuit diagrams when I've got something to demo. Now off to give 0.23 a spin :)

Thanks

ttb

Link to comment
Share on other sites

  • 3 weeks later...

Ttb, you are an awesome person, here are three cookies! I have a heap of spare electronic parts laying around, so I will totally be making some sort of unique control computer/interface for myself. Hope you dont mind me borrowing your python script for talking with telemachus for a personal project :P will be happy to share notes if I do get anywhere with my controller :)

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...