Thread: [Hamlib-developer] Gnome RIG 0.2
Library to control radio transceivers and receivers
Brought to you by:
n0nb
|
From: <al...@ph...> - 2002-08-20 00:31:13
|
Hi everybody, I am happy to announce the first official release of Gnome RIG (grig-0.2). Gnome RIG is a graphical user interface to the Ham Radio Control Libraries, written using the Gtk+ and GNOME widgets. In the present release only a little subset of the full Hamlib API is supported (power, frequency, mode, filter, agc and some gain levels) but more widgets will be added along the way. The controls are packed into a single Gtk-widget, making it easy to include them in any other Gtk/Gnome program. There are wrapper functions for the supported hamlib API calls, so a program using this 'hamlib-widget' doesn't even need to know anything about hamlib. Eventually, this widget will become a bonobo control making it embedable in any Gnome program that can use bonobo controls (Gnumeric, Abiword, etc. - yes, you will be able to control your RIGs from your spreadsheet file :-). Gnome RIG works with both version 1.1.2 and 1.1.3 of Hamlib. I have chosen to support both versions, because Debian 3.0 comes with hamlib-1.1.2. The only difference, as seen from the program, is the lack of rotator support in 1.1.2. Although rotator controls are not implemented yet, the program will ask you to configure your rotators anyway (just select the dummy backend if you don't have any). Oh, by the way, if anyone is going to wonder how to change the frequency, just left/right click on any digit of the frequency display. There isn't and will never be any 'software tuning knob' as I find them silly and rather useless. There will, however, be support for hardware tuning knobs that can be plugged into the USB port (http://www.griffintechnology.com/products/powermate). Unfortunately, I can only test the program with the dummy backend, so I hope that many of you will test it with real radios. You can get the source code from: http://sourceforge.net/project/showfiles.php?group_id=25530 Comments and questions are welcome! Alex, OZ9AEC |
|
From: Joop S. <pa...@de...> - 2002-09-09 19:06:58
|
On Tue, 20 Aug 2002 02:31:07 +0200 (MEST) al...@ph... wrote: > Hi everybody, > > I am happy to announce the first official release of Gnome RIG (grig-0.2). Gnome > RIG is a graphical user interface to the Ham Radio Control Libraries, written > using the Gtk+ and GNOME widgets. In the present release only a little subset of > the full Hamlib API is supported (power, frequency, mode, filter, agc and some > gain levels) but more widgets will be added along the way. > > The controls are packed into a single Gtk-widget, making it easy to include them > in any other Gtk/Gnome program. There are wrapper functions for the supported > hamlib API calls, so a program using this 'hamlib-widget' doesn't even need to > know anything about hamlib. Eventually, this widget will become a bonobo control > making it embedable in any Gnome program that can use bonobo controls (Gnumeric, > Abiword, etc. - yes, you will be able to control your RIGs from your spreadsheet > file :-). Weird stuff.... > Gnome RIG works with both version 1.1.2 and 1.1.3 of Hamlib. I have chosen to > support both versions, because Debian 3.0 comes with hamlib-1.1.2. The only > difference, as seen from the program, is the lack of rotator support in 1.1.2. > Although rotator controls are not implemented yet, the program will ask you to > configure your rotators anyway (just select the dummy backend if you don't have > any). > Hi Alex, I got word from terry, the hamlib maintainer for debian, that he is working on hamlib-1.1.3. I'd really like to test grig, but gnome is quite a mess at the moment in debian/unstable. I would like to wait until the migration to gnome2 is finished. Now that we have a nice program for displaying and controlling the rig's frequency and other things, have you ever thought about possible information exchange between different programs? I am using xlog for logging and when I do, I can't use grig (and vice-versa). It would be nice if there was some kind of way for either of these programs to work together. We could think of message queues or shared memory. This way I can run xlog, have grig displaying the frequency and still use hamlib for my logging information with xlog... One of the involved hamlib controlling programs, would have to be the hamlib master and a simple handshake will tell the slaves to stop controlling the hamlib port. As far as I'm concerned, grig looks like the best candidate for the master job.... Any thoughts? > Oh, by the way, if anyone is going to wonder how to change the frequency, just > left/right click on any digit of the frequency display. There isn't and will > never be any 'software tuning knob' as I find them silly and rather useless. > There will, however, be support for hardware tuning knobs that can be plugged > into the USB port (http://www.griffintechnology.com/products/powermate). > > Unfortunately, I can only test the program with the dummy backend, so I hope > that many of you will test it with real radios. You can get the source code from: > > http://sourceforge.net/project/showfiles.php?group_id=25530 > Comments and questions are welcome! > > > Alex, OZ9AEC > > Regards, Joop PA4TU |
|
From: Stephane F. <f8...@fr...> - 2002-09-10 06:41:46
|
Hi Alex and Joop, On Mon, Sep 09, 2002, Joop Stakenborg wrote: > > know anything about hamlib. Eventually, this widget will become a bonobo control > > making it embedable in any Gnome program that can use bonobo controls (Gnumeric, > > Abiword, etc. - yes, you will be able to control your RIGs from your spreadsheet > > file :-). > > Weird stuff.... You'll see, one day you'll be able to rotate your 32x moon melter array from emacs! > I got word from terry, the hamlib maintainer for debian, that he is working on > hamlib-1.1.3. I'd really like to test grig, but gnome is quite a mess at the > moment in debian/unstable. I would like to wait until the migration to > gnome2 is finished. hey, that's great news (well, not for gnome :( > Now that we have a nice program for displaying and controlling the rig's > frequency and other things, have you ever thought about possible information > exchange between different programs? I am using xlog for logging and when > I do, I can't use grig (and vice-versa). It would be nice if there was some > kind of way for either of these programs to work together. We could think of > message queues or shared memory. This way I can run xlog, have grig displaying > the frequency and still use hamlib for my logging information with xlog... And the answer already exists. Alex would tell you to use his Bonobo control, but there is simpler for simple application: the RPC backend. Just run rpc.rigd on the localhost, tell xlog and grig to use MODEL_RPC, they will share the rig. And voila! This way, no need to put hacks in all the applications around to make them live together. What do you think? Cheers, Stephane |
|
From: Alexandru C. <al...@ph...> - 2002-09-10 10:46:52
|
Hi Joop and Stephane, > > > know anything about hamlib. Eventually, this widget will become a bonobo control > > > making it embedable in any Gnome program that can use bonobo controls (Gnumeric, > > > Abiword, etc. - yes, you will be able to control your RIGs from your spreadsheet > > > file :-). > > > > Weird stuff.... > > You'll see, one day you'll be able to rotate your 32x moon melter array from emacs! > I think you can already do that but you might need some Emacs/Lisp bindings for Hamlib ;-) > > I got word from terry, the hamlib maintainer for debian, that he is working on > > hamlib-1.1.3. I'd really like to test grig, but gnome is quite a mess at the > > moment in debian/unstable. I would like to wait until the migration to > > gnome2 is finished. > > hey, that's great news (well, not for gnome :( > I have tried to compile grig on Debian 3.0r0 which comes with Gnome 1.4, but I have no experience with Debian/unstable. > > Now that we have a nice program for displaying and controlling the rig's > > frequency and other things, have you ever thought about possible information > > exchange between different programs? I am using xlog for logging and when > > I do, I can't use grig (and vice-versa). It would be nice if there was some > > kind of way for either of these programs to work together. We could think of > > message queues or shared memory. This way I can run xlog, have grig displaying > > the frequency and still use hamlib for my logging information with xlog... > > And the answer already exists. Alex would tell you to use his Bonobo > control, but there is simpler for simple application: the RPC backend. > Just run rpc.rigd on the localhost, tell xlog and grig to use MODEL_RPC, > they will share the rig. And voila! > > This way, no need to put hacks in all the applications around to make them > live together. > > What do you think? > I probably would have agreed on some shared memory or FIFO, but I think Stephane is right. If the RPC backend can handle multiple clients, there is no need to redo that or something similar in the client applications. Question: Can you have more than one rpc.rigd's running on the same host but controlling different rigs? If not, can it be done? Alex |
|
From: Stephane F. <f8...@fr...> - 2002-09-11 21:29:21
|
> > You'll see, one day you'll be able to rotate your 32x moon melter array from emacs! > > > > I think you can already do that but you might need some Emacs/Lisp > bindings for Hamlib ;-) Actually, that was not joke, because I've started using swig. SWIG is a compiler that integrates C and C++ with languages including Perl, Python, Tcl, Guile, Mzscheme, Java, Ruby, PHP, and Ocaml. Just that. In other words, it can processe rig.h and generate (almost) automatically the code of the binding of your choice. Yes, you read it right! Finding swig is like finding a swag.. In a matter of a rainy afternoon, I've been able to regenerate the perl and tcl bindings, complete with access to capabilities! Maintainance is going to be smooth, I love it! My initial work is in bindings/ subdir, you will need swig 1.3.14 (available in Debian unstable). perl/ and tcl/ subdir have not long to live. More info on the holly grail at http://www.swig.org Kudos to these brillant guys. Note: swig just misses kylix support. But who knows, one day.. > I have tried to compile grig on Debian 3.0r0 which comes with Gnome 1.4, > but I have no experience with Debian/unstable. Grig compiled okay on my Debian 3.0r0, but hamlib-1.1.2 has some trouble in the dummy backend. There's no initial set_freq done, so Grig tries to tune in X-ray wavelengths.. This is fixed in hamlib-1.1.3 though. > Question: Can you have more than one rpc.rigd's running on the same host > but controlling different rigs? If not, can it be done? hehe, good question. The answer is in the man page rpc.rigd(8), in the BUGS section. To make it short, the rpcrig.x protocol does not support it, but you can run rpc.rigd on a different port. I'm just realizing some code is missing to accept the port number. This has to be done before 1.1.4 releases. What do you think about the different port solution? If the rig n+1 has port number 0x20000099+n+1, we can even autodetect the different rigs. The same applies for rpcrot, off course. Any thoughts? Stephane |
|
From: Joop S. <pa...@de...> - 2002-09-10 15:08:35
|
On Tue, 10 Sep 2002 08:41:17 +0200 Stephane Fillod <f8...@fr...> wrote: > > And the answer already exists. Alex would tell you to use his Bonobo > control, but there is simpler for simple application: the RPC backend. > Just run rpc.rigd on the localhost, tell xlog and grig to use MODEL_RPC, > they will share the rig. And voila! > Why didn't I think of this before? Excuse my stupidity... > This way, no need to put hacks in all the applications around to make them > live together. > > What do you think? > sudo rpc.rigd -m 210 -v & Opened rig model 210, 'TS-870S' rigctl -m 1901 Rig command: f Frequency: 14026540 Wow! xlog is unfriendly towards RPC (probably a bug): /dev/ttyS0: RPC: Unknown host > > Cheers, > Stephane > > Thanks, Joop |
|
From: Stephane F. <f8...@fr...> - 2002-09-11 21:29:18
|
On Tue, Sep 10, 2002, Joop Stakenborg wrote: > > This way, no need to put hacks in all the applications around to make them > > live together. > > > > What do you think? > > > > sudo rpc.rigd -m 210 -v & > Opened rig model 210, 'TS-870S' > > rigctl -m 1901 > > Rig command: f > Frequency: 14026540 > > Wow! > > xlog is unfriendly towards RPC (probably a bug): > /dev/ttyS0: RPC: Unknown host This is because for the RPC backend, the rig device file name is the hostname of the RPC server. i.e. rigctl -m 1901 is equivalent to rigctl -r localhost -m 1901 So just open up the pathname combo box of xlog (anyway, USB serial port can names different than /dev/ttySx), and allow to enter free form, at least for the RPC backend. I don't know yet how to pass the port number. Most probably along the hostname, maybe something like "host:port" for an absolute port (that can be listed in /etc/services), or "host:+number" for a rig # relative to the default port (0x20000099). Comments? Cheers, Stephane |
|
From: Joop S. <pa...@de...> - 2002-09-12 19:58:39
|
On Wed, 11 Sep 2002 22:41:55 +0200 Stephane Fillod <f8...@fr...> wrote: > > > > xlog is unfriendly towards RPC (probably a bug): > > /dev/ttyS0: RPC: Unknown host > > This is because for the RPC backend, the rig device file name is > the hostname of the RPC server. > i.e. rigctl -m 1901 is equivalent to rigctl -r localhost -m 1901 > Just ran a test with grig / xlog and a running rpc.rigd, works like a champ! Nice to see when the rig's frequency is changed in grig, the frequency displayed in xlog changes. > So just open up the pathname combo box of xlog (anyway, USB serial port > can names different than /dev/ttySx), and allow to enter free form, > at least for the RPC backend. Okay, got to fix this. > > I don't know yet how to pass the port number. Most probably along the > hostname, maybe something like "host:port" for an absolute port (that > can be listed in /etc/services), or "host:+number" for a rig # relative to > the default port (0x20000099). > Comments? > Sounds like a good solution to me... > > Cheers, > Stephane > Joop |
|
From: Stephane F. <f8...@fr...> - 2002-09-13 17:00:13
|
> > I don't know yet how to pass the port number. Most probably along the
> > hostname, maybe something like "host:port" for an absolute port (that
> > can be listed in /etc/services), or "host:+number" for a rig # relative to
> > the default port (0x20000099).
> > Comments?
>
> Sounds like a good solution to me...
>
Okay, this is in cvs now, and seems to work okay (backend and daemon).
I've added a set_conf("prognum") too. Note that instead of (big) numbers,
it's possible to use /etc/rpc, and aliases like "rig1", "rig2", etc.
73
Stephane
|