Gpredict is a fantastic tool written by @csete which we use extensively for simple operations and debugging of our stations. There are many HAMs and satellite enthusiasts that use Gpredict for their own operations and we would like to make sure they benefit from SatNOGS DB data.
Gpredict already has the functionality for fetching Satllite TLEs from network, and we would like to see a similar functionality for frequency data. The concept would look something like:
User selects āUpdate frequency data > from Networkā
Good idea! It would be nice to have this feature integrated and I think the concept you outline may provide the easiest integration.
My only firm request is that we do not add a bunch of new monstrous dependencies. I guess the only new dependency needed is a JSON parser, so a small, light weight and embedable C library like JSMN could be used.
gpredict holds all transceiver data in a configuration folder named trsp
In there there are different files per satellite, named as <norad_id>.trsp
In each file there is a structure to display multiple transceiver/transponder information as follows:
ps. I am putting the SatNOGS DB names of it in {}
I just read your explanation after finishing my ugly and fast implementation. I used mjsn as @csete offered to parse json filesā¦
I forked gpredict to my github http://github.com/barisdinc/gpredict ā¦
I uploaded a video of the current status to youtube
I think it is a better way to follow your explanation⦠I need a few days to come up with a new versionā¦
Double clicking on a satellite opens a āSatellite Infoā window. There are two tabs there. The second is āTranspondersā. information gets displayed there, but also is used by Radio Control panel when controlling a rig (super useful).
Can be a silly stupid question, but, where this information come from originallyā¦
I can see that if I download the required information from SATNOGS DB and put it here accordingly, everything will work fineā¦
Are these files I have here are STATIC files originally? I donāt want to read the code to figure it outā¦
Originally gpredict ships with some .tsrp files of some basic radio amateur satellite information. Fetching from network (SatNOGS DB) should replace existing with new information on those files and/or add new files, same way fetching from network does for TLEs.
Ideally, the mode string should be compliant with the Hamlib interface, but I think already today that is no longer the case. I have been accepting new .trsp files containing all sorts of descriptive mode strings.
Back in the old days, it seemed like a good idea to ship TLE and transponder files with gpredict, but today it is pretty silly. So we have a chance to do it right with the trsp files, then also fix it with TLE files later.
If we do it as suggested above by @pierros, I will remove the TRSP files from the repository and the distribution. In a second round we could add an option to load TRSP data from a local JSON file.
a) Download SatNOGS JSON transceiver files and convert them to trsp files on the fly, no modification for the rest of gpredict
b) Download SatNOGS JSON transceiver files and save them as json files, but need to modify the gpredict satellite info loader part
It deletes the old trsp files and downloads/generates new ones from SATNOGS DB
I used nxjson library (nxjson.{c,h} added to project} for json parsing
question @csete : I had problem with locales (the comma and dot delimiter for numbars), so I needed to change the locale to āCā within frq-update.c , Do you have any comment ?
@pierros : What will be our next step, should I go on commiting to my own repository, or will we have a common repository (e.g. a branch to cseteās) ?
Hopefully it does not delete all files, just the ones that there is new data for?
As long as the setting is local and does not affect the rest of the application I donāt care, but where do you need this? As far as I remember, gpredict uses the frequency in Hz, so no decimal is required there.
As you may guess from my comments, I havenāt done a thorough review of the source code yet. I have too many things on my mind at the moment but Iāll be happy to check it later when you think it is ready.
I didnāt try to compare the contents⦠I get the full JSON file from the SATNOGS DB, so I toughed thereās no need to compare them. So what I do is, after a succesfull download of transmitters.json data, I delete the trsp files and re-generate them. Comparing will cost much more than re-generatng I thinkā¦
I will try to make it local to my partā¦
ābaudrateā in satnogs DB is double and the delimiter is ā.ā e.g. :0.0 1200.0
I didnāt dive in details of nxjson library, I may correct the problem there, but quick fix was to make the locale āCā, Iāll fix itā¦
Yes I read your comments⦠Bu to be honest⦠You did a great job ⦠The quality of the code I added can not be compared with yours, but I hope if this new function becomes useful, you may correct itā¦