hamlib-developer Mailing List for Ham Radio Control Libraries (Page 651)
Library to control radio transceivers and receivers
Brought to you by:
n0nb
You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
(24) |
Oct
(16) |
Nov
(8) |
Dec
(9) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(49) |
Feb
(17) |
Mar
(3) |
Apr
(7) |
May
(3) |
Jun
(1) |
Jul
(2) |
Aug
(8) |
Sep
(18) |
Oct
(15) |
Nov
(15) |
Dec
(26) |
2002 |
Jan
(46) |
Feb
(14) |
Mar
(44) |
Apr
(3) |
May
(6) |
Jun
(47) |
Jul
(40) |
Aug
(14) |
Sep
(59) |
Oct
(39) |
Nov
(58) |
Dec
(76) |
2003 |
Jan
(82) |
Feb
(66) |
Mar
(37) |
Apr
(56) |
May
(34) |
Jun
(19) |
Jul
(23) |
Aug
(55) |
Sep
(31) |
Oct
(40) |
Nov
(21) |
Dec
(60) |
2004 |
Jan
(57) |
Feb
(110) |
Mar
(41) |
Apr
(17) |
May
(18) |
Jun
(19) |
Jul
(18) |
Aug
(5) |
Sep
(31) |
Oct
(16) |
Nov
(26) |
Dec
(36) |
2005 |
Jan
(69) |
Feb
(26) |
Mar
(62) |
Apr
(120) |
May
(31) |
Jun
(47) |
Jul
(7) |
Aug
(27) |
Sep
(4) |
Oct
(9) |
Nov
(26) |
Dec
(21) |
2006 |
Jan
(13) |
Feb
(26) |
Mar
(38) |
Apr
(31) |
May
(17) |
Jun
(6) |
Jul
(23) |
Aug
(6) |
Sep
(38) |
Oct
(87) |
Nov
(49) |
Dec
(49) |
2007 |
Jan
(52) |
Feb
(19) |
Mar
(20) |
Apr
(5) |
May
(25) |
Jun
(15) |
Jul
(49) |
Aug
(43) |
Sep
(21) |
Oct
(21) |
Nov
(27) |
Dec
(10) |
2008 |
Jan
(23) |
Feb
(20) |
Mar
(25) |
Apr
(39) |
May
(36) |
Jun
(17) |
Jul
(10) |
Aug
(18) |
Sep
(44) |
Oct
(88) |
Nov
(60) |
Dec
(65) |
2009 |
Jan
(99) |
Feb
(91) |
Mar
(49) |
Apr
(34) |
May
(52) |
Jun
(9) |
Jul
(11) |
Aug
(4) |
Sep
(41) |
Oct
(16) |
Nov
(51) |
Dec
(71) |
2010 |
Jan
(43) |
Feb
(79) |
Mar
(59) |
Apr
(55) |
May
(51) |
Jun
(38) |
Jul
(38) |
Aug
(61) |
Sep
(53) |
Oct
(46) |
Nov
(43) |
Dec
(41) |
2011 |
Jan
(74) |
Feb
(96) |
Mar
(41) |
Apr
(42) |
May
(61) |
Jun
(66) |
Jul
(50) |
Aug
(40) |
Sep
(11) |
Oct
(30) |
Nov
(21) |
Dec
(45) |
2012 |
Jan
(59) |
Feb
(4) |
Mar
(52) |
Apr
(19) |
May
(62) |
Jun
(46) |
Jul
(61) |
Aug
(18) |
Sep
(21) |
Oct
(25) |
Nov
(66) |
Dec
(41) |
2013 |
Jan
(36) |
Feb
(64) |
Mar
(37) |
Apr
(24) |
May
(74) |
Jun
(40) |
Jul
(43) |
Aug
(34) |
Sep
(65) |
Oct
(52) |
Nov
(23) |
Dec
(20) |
2014 |
Jan
(18) |
Feb
(29) |
Mar
(13) |
Apr
(41) |
May
(10) |
Jun
(12) |
Jul
(16) |
Aug
(25) |
Sep
(20) |
Oct
(56) |
Nov
(43) |
Dec
(61) |
2015 |
Jan
(36) |
Feb
(38) |
Mar
(92) |
Apr
(42) |
May
(13) |
Jun
(19) |
Jul
(18) |
Aug
(22) |
Sep
(21) |
Oct
(2) |
Nov
(49) |
Dec
(22) |
2016 |
Jan
(55) |
Feb
(144) |
Mar
(40) |
Apr
(98) |
May
(61) |
Jun
(36) |
Jul
(16) |
Aug
(33) |
Sep
(59) |
Oct
(16) |
Nov
(37) |
Dec
(32) |
2017 |
Jan
(70) |
Feb
(71) |
Mar
(14) |
Apr
(43) |
May
(31) |
Jun
(24) |
Jul
(38) |
Aug
(54) |
Sep
(24) |
Oct
(15) |
Nov
(26) |
Dec
(27) |
2018 |
Jan
(22) |
Feb
(24) |
Mar
(109) |
Apr
(12) |
May
(46) |
Jun
(23) |
Jul
(39) |
Aug
(34) |
Sep
(22) |
Oct
(43) |
Nov
(26) |
Dec
(157) |
2019 |
Jan
(102) |
Feb
(51) |
Mar
(63) |
Apr
(60) |
May
(91) |
Jun
(55) |
Jul
(27) |
Aug
(76) |
Sep
(52) |
Oct
(95) |
Nov
(67) |
Dec
(204) |
2020 |
Jan
(311) |
Feb
(148) |
Mar
(230) |
Apr
(122) |
May
(204) |
Jun
(204) |
Jul
(114) |
Aug
(36) |
Sep
(120) |
Oct
(186) |
Nov
(60) |
Dec
(151) |
2021 |
Jan
(182) |
Feb
(171) |
Mar
(202) |
Apr
(153) |
May
(110) |
Jun
(50) |
Jul
(58) |
Aug
(142) |
Sep
(112) |
Oct
(120) |
Nov
(97) |
Dec
(125) |
2022 |
Jan
(175) |
Feb
(147) |
Mar
(54) |
Apr
(73) |
May
(127) |
Jun
(95) |
Jul
(88) |
Aug
(85) |
Sep
(38) |
Oct
(40) |
Nov
(116) |
Dec
(159) |
2023 |
Jan
(175) |
Feb
(55) |
Mar
(83) |
Apr
(70) |
May
(165) |
Jun
(79) |
Jul
(123) |
Aug
(90) |
Sep
(40) |
Oct
(95) |
Nov
(84) |
Dec
(88) |
2024 |
Jan
(105) |
Feb
(60) |
Mar
(52) |
Apr
(43) |
May
(56) |
Jun
(59) |
Jul
(53) |
Aug
(47) |
Sep
(62) |
Oct
(36) |
Nov
(45) |
Dec
(100) |
2025 |
Jan
(52) |
Feb
(45) |
Mar
(30) |
Apr
(97) |
May
(72) |
Jun
(83) |
Jul
(124) |
Aug
(83) |
Sep
(79) |
Oct
|
Nov
|
Dec
|
From: Stephane F. <f4...@fr...> - 2000-09-12 22:47:03
|
Okay, I started to code a generic rig API layer (kinf of frontend), based on Frank's code and ideas in the air. This will lead to a generic framework, making it even easier to develop rig backend seamlessly. However, I have a few questions: 1) Should we assume any rig has no more than 2 VFOs ? Do you have examples? 2) Is a rig able to notify asynchronously the "host" any event (like a key has been depressed on the panel, main VFO freq changed, etc.) ? Examples? 3) Should cmd_set_freq_main_vfo_hz() set both freq and mode or should we split in two separate functions? Here is a non-exhaustive list of things IMO to keep in mind when developping the hamlib library. Plan: ---- o develop the library as a shared/static library o portable (not only Linux, but UN*X, Win32 using cygwin,etc. -> autoconf?) o generic (any rig made, any model) o wrappable (Java, perl module, Python module, etc.) o support serial ports, IrDA ports, USB ports, network ports (w/ a daemon) o thread safe (reentrant) would be a must o support preference file (eg. /etc/hamlibrc, ~/.hamlibrc ) o written in C (C++ would have been more appropriate, but C is okay) o support more than one rig per application (ie. generic code) o support more than one rig per serial port (ie. Icoms) o handle serial retransmission and timeouts would be nice o i18n support if applicable o software compensation for the actual radio oscillator frequency errors o if avail., support events sent by the rig (eg. main freq has been changed,..) o maybe add some misc functions like PTT signaling (through serial/parallel..) o ... -> Christmas is in sight, time for whishlists! Good inspiration: ---------------- o SANE, with frontend/backend scheme, dynamic loading, autoconf, etc. o struct net_device (Linux kernel) for the void *priv idea o any rigctrl sources out there ? Capabilities: ------------ We have to find a way to code capabilities in the hamlib in order to let the application know what this rig is able to do (before attempting to do it and crash :). I think some features can be coded using bit fields and masking. Maybe we can distinguish between 3 states : - Don't have this feature, - Have it, - Have it and can control (r/w) it remotly using the backend in hamlib o freq ranges supported: rx/mode?, tx/modes/power ? ->How to code this?? o number of VFO, operations (set VFO separately, VFO A=B, switch, ..) o freq granularity (resolution), tuning steps o SCAN functions (start, stop, ..) o Split (cross band, duplex, ...) o RIT (+- KHz) o Memory scheme, what is stored in, quantity, call channels, scan edges o ATT, P.AMP, AGC, NB, TONE, TSQL, COMP, VOX, BK-IN, ... o Tuner control (internal, external, can control) o Meter indication: Squelch condition, S-meter level, ALC, SWR o Number of antennas (which band ?) and selection o available "set mode" items (ie. rig setup), and provide a way to modify them o DSP ? any other ideas? -- Stephane |
From: Frank S. <vk...@ix...> - 2000-08-20 18:39:55
|
Hi, Well here is the first release of the hamlib libraries. There is a lot of work to do, but I do have API's implemeneted for FT747GX and FT847 radios mostly implemented. :-) Examples of test programs to say connect to a radio and do something usefuly (like change frequency for example) are in the test directory for each radio type. At the moment the API's are described in each radio's header file. eg: ft747.h of ft847.h Basically you connect to a rig, issue commands, and then diconnect. A C code snippet to connect to a FT847 and set the frequnecy of the main VFO to 439,700,000 Hz , using FM as the required mode, would look something like this. <snip> int fd; fd = rig_open(SERIAL_PORT); printf("port %s opened ok \n",SERIAL_PORT); cmd_set_cat_on(fd); /* cat on */ cmd_set_freq_main_vfo_hz(fd,439700000,MODE_FM); cmd_set_cat_off(fd); /* cat off */ rig_close(fd); printf("port %s closed ok \n",SERIAL_PORT); <snip> There are NO GUI's yet, but I mainly wanted to get the libraries implemented, so people can start using them for implementing cool stuff. Perhaps I will even add a GUI section as well if I get enough volunteers. If you are interested in joining the crew, let me know and I can arrange that. It mainly helps if you have some type of radio and a copy of the control docs (eg: User Manuals). It is hoped that the API's get documented well enough for developers to just use this library. In fact I have made function wrappers for some of the raw "CAT" calls that make life a bit easier. eg: You dont have to worry about BCD conversion and packing data according to the Radio's manual. Most command can use specify the freq in Hz and mode like MODE_FM, MODE_CW etc.. cmd_set_freq_main_vfo_hz(fd,439700000,MODE_FM); Any common routines should eventually live in the "common" directory. Anyway, take a look around. No fancy web pages yet (volunteers ??) but the core libraries are being developed all the time and provide useful functionality. If you want to help me out, contact me at the "Open Discussion Forum" news area at http://sourceforge.net/projects/hamlib/ -- Frank.. -- Frank Singleton VK3FCS Email: victor kilo three foxtrot charlie sierra at ix dot netcom dot com |