Join us on Discord!
You can help CodeWalrus stay online by donating here.

[84+ce] Orbit84

Started by SopaXorzTaker, March 17, 2017, 06:19:23 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

SopaXorzTaker

Hey guys!
I've been developing the program for two weeks now, and it's really exciting.
Orbit84 allows you to see where the satellites are in real time!
This program still has some little bugs, so please report them if you find any.



This program will display the orbit of any satellite on a beautiful Earth map borrowed from NASA ;).
I am pretty lazy to group the files together using the buggy TiLP beta, so I am including the program itself and the .8ca image file which you need to install if you want the map background.

The program uses the old SGP algorithm from the Department of Defense. TI-BASIC is pretty slow, and I was lazy to read through 400 lines of Fortran to implement a better one (SGP4) instead, which would be even slower.

Known bugs: the first step after starting the program displays invalid values.

To use the program, you'll need a set of Two-Line Elements, which is an ancient format still used for describing satellite orbit.
This data can be obtained from https://celestrak.com/NORAD/elements/.
The text files on the page above contain the data, which consists of three-line groups, for example:

ISS (ZARYA)             
1 25544U 98067A   17075.95152778  .00001773  00000-0  33947-4 0  9992
2 25544  51.6434 138.0748 0007006 301.6640  60.9310 15.54215659 47417


Upload the both files attached to your calculator and run prgmORBIT.
It'll ask you to enter the data, enter the last two lines (starting with 1 and 2, without the first name line) exactly as you see them, preserving the number of spaces between the digits. Press [enter] between each of the lines. If the program tells you that the length is incorrect, you might have missed a symbol, and have to retype the last line you entered again.
Then, enter your latitude and longitude, also you can safely set the Altitude parameter to zero.

Now, the program should be displaying the orbit of the satellite in real-time, with a ground track plot.
The two lines at the top left side of the graph screen show the azimuth and elevation of the satellite. When the elevation line is green, the satellite is visible (above you).

Of course, you must set the calculator's clock to UTC time and date first, as that is assumed in the calculations.
When running the program after it has been first run, you'll be asked if you want to update the TLE data. You can answer "No" if you want to keep the existing data. Keep in mind that you should update the TLE every week so that the data stays valid.


I'd be glad to hear your ideas for improvement of the program!  :)
  • Calculators owned: TI-84+CE, TI-82, fx-991ES

Dream of Omnimaga

Would there be a way to make it so that the amount of spaces between each number doesn't matter, or do the number of spaces inside the data actually matters? Because it can be very hard to manually copy such long data by hand from a website that doesn't use monospaced fonts without forgetting one space or adding an extra one by accident.

Another idea I have would be string support as an option to choose at the start of the program. The user would copy/paste the data in SourceCoder or the original TI-Connect which used to have a string/list/matrix editor, save as string then transfer the string to his calculator or an emulator, which would probably take less time than manually typing everything.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

SopaXorzTaker

Quote from: DJ Omnimaga on March 18, 2017, 05:00:20 PM
Would there be a way to make it so that the amount of spaces between each number doesn't matter, or do the number of spaces inside the data actually matters? Because it can be very hard to manually copy such long data by hand from a website that doesn't use monospaced fonts without forgetting one space or adding an extra one by accident.

Another idea I have would be string support as an option to choose at the start of the program. The user would copy/paste the data in SourceCoder or the original TI-Connect which used to have a string/list/matrix editor, save as string then transfer the string to his calculator or an emulator, which would probably take less time than manually typing everything.

Well, the number of spaces is a quirk of the format and must be preserved, because, uh... hm, yes it's very important (I'm just lazy to parse it :)).
However, it's very easy to make the program read the existing string variables, and I'll probably consider doing that, thanks for the tip.
Did you try it, though?
  • Calculators owned: TI-84+CE, TI-82, fx-991ES

Dream of Omnimaga

Yeah I spent 5 minutes trying to type the first line in and got an error due to a typo. So I gave up afterwards because it took way too long to enter manually
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

p2

will you later implement a zoom function so we can actually see over which cities they are? :)
Also can you select a satelite and get some information like it's name, purpose and nationality? :)
Those features would be really nice.


awesome project idea  :thumbsup:
  • Calculators owned: ti-83+, ti-84+, ti-84+, ti-84+se, ti-84+se(te), ti-nsphire, ti-nsphire CAS, ti-nsphire CX-CAS, ti-voyage, ti-voyage, Who reads this list anyways...?
Anyway war sucks. Just bring us your food instead of missiles  :P ~ DJ Omnimaga (11.10.2016 20:21:48)
if you cant get a jframe set up, draw stuff to it, and receive input, i can only imagine how horrible your game code is _._   ~ c4ooo (14.11.2016 22:44:07)
If they pull a Harambe on me tell my family I love them ~ u/Pwntear37d (AssangeWatch /r/)
make Walrii great again ~ DJ Omnimaga (28.11.2016 23:01:31)
God invented the pc, satan the smartphone I guess ~ p4nix (16.02.2017 22:51:49)

SopaXorzTaker

Quote from: p2 on March 23, 2017, 10:08:20 AM
will you later implement a zoom function so we can actually see over which cities they are? :)
Also can you select a satelite and get some information like it's name, purpose and nationality? :)
Those features would be really nice.


awesome project idea  :thumbsup:

Well, implementing zoom-in would be pretty hard, as I just use the image as graph background.
Currently, the program supports tracking only one satellite, but I might consider adding the ability to use multiple data sets ^_^
  • Calculators owned: TI-84+CE, TI-82, fx-991ES

Dream of Omnimaga

You could also use 4 pics with the map zoomed in, but this would make the program 88 KB larger
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

SopaXorzTaker

Oh, also: zooming in wouldn't make much sense as the satellite position data is not *that* accurate, and has some deviation from the real satellite, which is a limitation of the algorithm. So that's not that useful anyway.
  • Calculators owned: TI-84+CE, TI-82, fx-991ES

Dream of Omnimaga

Ah I see. How accurate is it?
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Powered by EzPortal