Gary, one other option could be to have a config file that would include header field keyword/value pairs. That has the advantage of being do-it-once, then forget for the user.
I can think of several reasons why that might not be optimal, not least because it would have the tendency to grow like Topsy with new values.
John
On May 2, 2020, at 11:07 PM, "Gary E. Miller" < address@hidden> wrote:
Yo Greg!
On Sat, 02 May 2020 20:21:54 -0400 Greg Troxel <address@hidden> wrote:
"Gary E. Miller" <address@hidden> writes:
There is a request to add a ton of options to gpsrinex. That would be easy with Python argparse(), but gpsrinex is in C and no similar function is availble in POSIX-land.
Do people want long options for other things? If so then adding an argparse() function be useful all over. But not wrth the work if people are OK with plain old POSIX getopt().
My quick reaction is that if just using regular (short) options is sane, then that's ok. options are basically tokens you have to look up anyway, and thus long ones don't really help that much. and gpsrinex is for people that are willing to read details anyway.
I look at gpsrinex as a place to try something new. New to us.
The long options make examples a lot clearer:
gpsrinex -a "12324" -b "YYY" -c "Me" -d "MyCo" -e "234" -f "456" -g "A" \ -i "543" -j "TOPDD" -k "1" -l "2" -m "3" ...
This is easier to read:
gpsrinex --marker_name "12324" --marker_type "YYY" \ --observer "Me" --agency "MyCo" --rec_num "234" --rec_type "456" --rec_ver "A" \ --ant_num "543" --ant_type "TOPDD" \ --ant_h "1" --ant_e "2" --ant_n "3" ...
Still mud, but almost clear to someone that knows RINEX.
That said, the fewer options the better, but I know that's easier said than done.
All of those above are required for PPP. Right now the user is supposed to edit the obs file before submitting.
getopt_long() is Linux only, but BSD has a similar getopt_long(), which also gets us macOS. Any lib we care about that does not have getopt_long()?
I added a config test for the existence of getopt_long(). If we find any targets that do not have getopt_long() then the BSD version can be included, just as we do for strlcpy(), etc.
RGDS GARY
Gary E. Miller Rellim 109 NW Wilmington Ave., Suite E, Bend, OR 97703 address@hidden Tel:+1 541 382 8588
Veritas liberabit vos. -- Quid est veritas? "If you can't measure it, you can't improve it." - Lord Kelvin
|