On Sun, Jun 18, 2006 at 01:01:36AM +0200, Herbert Poetzl wrote:
Hi Rolf! Folks!
the first patch moves most of the value-to-string conversions from femonosd.c to femontools.c and declares them properly in the femontools.h file. the osd part is updated to utilize them.
the second patch extends the SVDRP interface of femon by a basic INFO command (which can easily be extended in the future), giving output like this:
PLUG femon INFO 900- Frequency: 11158 Mhz Source: S13.0E 900- Srate: 27500 Polarization: V 900- Inversion: Auto Coderate: Auto, Auto 900- Vpid: 369 Ppid: 369 Tpid: 0 900- Sid: 13108 Nid: 0 Tid: 0 Rid: 0 900- Apid: 370 900- Dpid: 0 900 CA: 1801
would be nice to get some feedback
TIA, Herbert
[patch zapped]
here is a small but important fix to the previous patches, which showed up while testing channels with more than one *pid
best, Herbert
--- femon-1.0.1.2/femontools.c 2006-06-18 21:49:57.000000000 +0200 +++ femon-1.0.1.3/femontools.c 2006-06-18 21:36:31.000000000 +0200 @@ -41,19 +41,16 @@ cString getFrontendInfo(int cardIndex) int freq = channel->Frequency(); while (freq > 20000) freq /= 1000;
- cString apid_str = cString::sprintf("%5d", channel->Apid(0)); - value = 1; - while (channel->Apid(value) && (value < MAXAPIDS)) + cString apid_str = cString::sprintf("%5d", channel->Apid(value=0)); + while (channel->Apid(++value) && (value < MAXAPIDS)) apid_str = cString::sprintf("%s, %d", *apid_str, channel->Apid(value));
- cString dpid_str = cString::sprintf("%5d", channel->Dpid(0)); - value = 1; - while (channel->Dpid(value) && (value < MAXDPIDS)) + cString dpid_str = cString::sprintf("%5d", channel->Dpid(value=0)); + while (channel->Dpid(++value) && (value < MAXDPIDS)) dpid_str = cString::sprintf("%s, %d", *dpid_str, channel->Dpid(value));
- cString ca_str = cString::sprintf(" %04x", channel->Ca(0)); - value = 1; - while (channel->Ca(value) && (value < MAXCAIDS)) + cString ca_str = cString::sprintf(" %04x", channel->Ca(value=0)); + while (channel->Ca(++value) && (value < MAXCAIDS)) ca_str = cString::sprintf("%s, %04x", *ca_str, channel->Ca(value));
return cString::sprintf(