Jump to content

Telemetry Radio and Data Recorder - Transmit data across the solar system


woodywood245

Recommended Posts

While RemoteTech allows you to control your spacecraft across the expanses of the solar system, there is, to my knowledge, no existing mod that allows you to transmit data back to Kerbin within the restrictions of RemoteTech.

BTW, when I say "data" I mean real information, in the form of bytes. This is not a science-currency-making mod, this is a science-making mod.

This mod will really be two separate mods: a Telemetry Radio, and an on-board Data Recorder, both of which being RemoteTech-compatible.

The Telemetry Radio will consist of five things: a transmitter, a receiver, "air", a standard data transmission protocol, and a lossless data compressor (Huffman coding). A craft will be able to transmit data into space, and any listener (other craft, KSC, etc) that has a connection, will receive the signal, with the appropriate delay. The Telemetry Radio mod should be considered a basic framework from which to build other mods that wish to transmit data non-instantly. Transmission will occur on one of eight possible channels, and the receiver must tune to the channel it wants to receive the data it expects.

Of course, the biggest restriction to Telemetry Radio is that it requires you to have a connection in order to receive any full message. This is where Data Recorder comes in. Data Recorder will have two areas: a hard drive part on which to temporarily store data awaiting transmission, and an in-game GUI which lets you chose which game variables to record and transmit. Data Recorder allow you to send a craft someplace where it may have an intermittent connection to KSC. The data is recorded on the craft hard drive until a connection is established, and then the recorded data is transmitted back to Kerbin.

Source: https://github.com/griderd/TelemetryRadio

UPDATE

This mod is dead-ish. Please view the revived version of this mod here: http://forum.kerbalspaceprogram.com/threads/100781-WIP-Telemetry-Radio?p=1553448&posted=1#post1553448

Edited by woodywood245
Reported mod as dead-ish.
Link to comment
Share on other sites

This sounds *very* interesting, as a compliment to RT, as well as the base game. "In the blind" transmissions open up all kinds of possibilities. Looking forward to whatever you come up with!

Link to comment
Share on other sites

So are you saying you can transmit raw telemetry data, like in the form of a csv file or something? If this is what you are getting at, that is AWESOME. I would rather get the raw data and make my own graphs than have a mod do it for me. Also how do you feel about extending this beyond telemetry? Maybe be able to send the temperature from the thermometer, or maybe even send values from the various sensors from interstellar? Like you know, have the user be able to pick a sensor on his/her ship and choose to log a certain data field from it every x seconds? Since all these sensors will require many channels, maybe allow the user to use multiplexing for some channels? Even introduce a priority where x seconds is devoted to sending data of priority 1, x/2 seconds to send priority 2, x/3 for priority 3, etc...

Link to comment
Share on other sites

So are you saying you can transmit raw telemetry data, like in the form of a csv file or something? If this is what you are getting at, that is AWESOME. I would rather get the raw data and make my own graphs than have a mod do it for me. Also how do you feel about extending this beyond telemetry? Maybe be able to send the temperature from the thermometer, or maybe even send values from the various sensors from interstellar? Like you know, have the user be able to pick a sensor on his/her ship and choose to log a certain data field from it every x seconds? Since all these sensors will require many channels, maybe allow the user to use multiplexing for some channels? Even introduce a priority where x seconds is devoted to sending data of priority 1, x/2 seconds to send priority 2, x/3 for priority 3, etc...

The Telemetry Radio mod will transmit raw bytes, and it's up to a mod on either end to encode and decode the data. It will look kind of like BinaryStream. There will be a basic transmission protocol, containing information for the length of the data, the sender ID, as well as the data itself, as well as a data compressor. Both may be optionally used, but it's not required. Using the transmission protocol could come in handy for most people because it will contain a reader and writer basic data types, and convert everything into raw bytes. The bytes will be sent in packets of four bytes per Unity update cycle. So it's both a serial and parallel transmission - serial transmission of four-byte chunks.

The Data Recorder will be using Telemetry Radio to send telemetry data, sensor data, and the like, and when it arrives on Kerbin, it will be written as a CSV. Data Recorder will allow the user to pick variables to log, and the frequency, and they will be logged accordingly. However, because the Data Recorder hard disk part isn't infinitely large, you have to be careful not to record data too often if you're going to have a large blackout period, or it will start overwriting the beginning. Data Recorder will send all of its data on a single channel, one variable at a time.

So, if you wanted to, you could use Telemetry Radio to create a mod that transmits sounds from your space craft, but everything would arrive on a delay. As long as you know how to encode and decode the data, and your mod is equipped to handle data in mid-transmission, you can transmit anything you want however you want.

I expect that, if people actually create mods with Telemetry Radio, the eight channels will not be enough. Especially since doing both input and output requires two channels. Therefore, I am planning, for the future, to release a version that allows multiple signals to be multiplexed onto a single channel.

Link to comment
Share on other sites

Ah, gotcha. I have been procrastinating on making my own mod, but if you release this I may get off my lazy butt and finally get to it! Since I have a background in signals intelligence this type of thing is right up my alley.

Looking forward to whatever you come up with. :)

Link to comment
Share on other sites

I'm a little curious what this "Real" information would be and what use it would have in the game.

Well, the reason I am interested in the mod is that such a backend will allow a mod that will allow you to create a map based off whatever you want. Want o make a map of the magnetosphere of jool for you to create the most antimatter possible with jool? Just track your altitude around jool and your current location in relation to the surface of jool and you can find the optimal orbit to collect the antimatter. What if you wanted to make a suborbital trajectory system based off of the kethane or extraplanetary launchpad resource data you collected? Again, once you get the raw data you can find the most optimal paths for your needs. Things like that are only as good as your space program is. If you have gaps in your data, you may not end up with the result that you want.

This type of gameplay isn't for everyone, but for people who enjoy playing based off of the data their space program creates (even if they don't have much time to play like me so campaigns may last quite a long time), it opens up so many possibilities for them. And really, it is the options that the player can take (through mods) is what makes ksp so great.

Link to comment
Share on other sites

Ah, gotcha. I have been procrastinating on making my own mod, but if you release this I may get off my lazy butt and finally get to it! Since I have a background in signals intelligence this type of thing is right up my alley.

Looking forward to whatever you come up with. :)

Most of my background is in application programming, with some systems and compiler programming thrown in for good measure, but I've done very little in the form of signal processing. As a result, I'm kind of just making it up as I go along. However, I love using raw data to calculate all kinds of meaningful pieces of information. That's why plugins like Logomatic are so great.

I had the idea, what if I could take Telemachus, RemoteTech, and Logomatic, and smash them together into one system. After doing a bit of hacking, I got it working, but there is no time delay, and it only works if there's a RemoteTech connection, because data is only transmitted, not stored. So that's where this comes in.

With the Telemetry Radio backend, I can do exactly what I want and lots lots more. And I'd love to see what kind of awesome stuff the community comes up with.

Link to comment
Share on other sites

Update:

After some mental deliberation, I've decided to include at least two protocols: UDP (User Datagram Protocol), and TCP (Transmission Control Protocol). I believe those, as well as perhaps one more, will be more than enough to get most people started. I'm also building all the protocols using a set of interfaces and abstract classes. This should make it significantly easier to make your own protocol, if you so choose.

Link to comment
Share on other sites

  • 2 weeks later...

I haven't been able to work on this mod for the last week, unfortunately, but I put in a couple hours today. I've also uploaded what I have to Github. What's there is subject to change without notice, as much of it is still in the design phase. However, I consider the User Datagram Protocol stuff to be complete.

https://github.com/griderd/TelemetryRadio

Link to comment
Share on other sites

  • 1 month later...

I am very interested in telemetry data for ksp. I think probes are a tad useless when you can directly control them, and kos + remotetech + telemetry data = a real-world kind of use for them. Anyway...

A quick perusal of the existing mods shows there are a few major ones:

Telemachus

Logomatic

Graphotron 2000

Elderberry-ni

crxtelemetry

ksp-telemetry

After doing a little bit of research, this is a short summary for each mod:

Telemachus - it appears that Telemachus allows you to view real-time data in a browser, on a different computer, but not actually log data. Uses a special Telemachus antenna that doesn't really retract.

Logomatic - logs data to a .csv file, so that you can view/edit/graph and analyze the data outside of ksp. Pretty awesome, but it dumps everything into that file.

Graphotron 2000 - haven't used it, but looks similar to logomatic. Not sure if it outputs to a file or if you can only view the graphs within the game itself. Old, hasn't been updated for ~1 year.

Elderberry-ni - a viewer for crxtelemetry.

crxtelemetry - I haven't run it yet, but it is supposed to be similar to Telemachus' ability to send data outside of the game to another computer, and can be collected into a data file for post-game analysis. Sounds promising.

ksp-telemtry - old, not sure what it does. Something about a hardware reader?

--------------------

That said, it would be great if you integrated your mod with the existing sensors and science-unlockable science parts in ksp - ie, the 2HOT therm., the barometer, etc. Telemachus gives you every bit of data conceivable without the need to unlock any parts, which doesn't really fit in with a career mode gameplay style. It has its uses, of course, but its a bit too much god-mode.

I would also encourage you to take a look at using a 'hard-drive' or other data storage device. Another mod does this, the Tarsier Space Tech telescope. Haven't really used it yet, but neat idea - fill it with science during a mission (say a probe descent into Jool's atmos), and then transmit when you've got enough data. Or transmit in real-time when using an upper atmos. sounding rocket from KSC, and your short-range antenna.

Edited by zilfondel
Link to comment
Share on other sites

  • 6 months later...
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...