On Thu, 4 Jan 2007 04:02:10 +0100
"J.D. Bakker" <[EMAIL PROTECTED]> wrote:

> >// Structure for multicasting receive data on the network.
> >#define NET_MULTICAST_PAYLOAD 1024
> >typedef struct {
> >char buf[NET_MULTICAST_PAYLOAD];
> >double passband_center;
> >float userx_freq;
> >unsigned int block_no;
> >unsigned char userx_no;
> >char passband_direction;
> >} NET_RX_STRUCT;
> 
> Very interesting ! A couple of observations:
> 
> - I would want a timestamp in there somewhere. It might be derived 
> from  block_no, but why not make it explicit ?
I do not see what it would be good for. Why do you want the clock
from the master while there is another one in the slave? 

Surely I could add this, but there is a cost to it.
The packages are sent out at maybe 1 kHz. The corresponding
time resolution is 1 ms. There is an appreciable time jitter 
however and it is not obvious what time to put into
a specific package. Presumably it should be the time
when the first sample within the package was taken from 
the hardware. What would it be good for? It is not trivial
to evaluate.

> - how is the sampling rate communicated ?
The slave(client) asks the server for the meaning of the data. 
Number of channels, nominal sampling rate, whether the format is
real or complex etc.

The user might know the format of the data and just
set up the slave manually as you would do when reading 
data from a soundcard.

> - using float/double makes it much harder for dedicated hardware 
> receivers to act as server.
OK. The internal formats of Linrad are floats or 16 bit integers.
I will make provisions to add 32 bit integers if there would
be a need in the future.

> - if you are not doing so already, please please _please_ use the 
> functions htons() / ntohs() and friends to convert between host byte 
> order and network byte order (or forever determine that linrad 
> communicates with either little endian (IA32) or big endian (Alpha, 
> PowerPC etc) byte order. I would want to be able to use a PC as the 
> server and my PowerBook as the client, for instance.
I do not see how it matters. Linrad does not put port numbers or
addresses in the packages, that is done by the operating system
and the inner workings of Linrad is not visible from the network.

  73

  Leif


#############################################################
This message is sent to you because you are subscribed to
  the mailing list <linrad@antennspecialisten.se>.
To unsubscribe, E-mail to: <[EMAIL PROTECTED]>
To switch to the DIGEST mode, E-mail to <[EMAIL PROTECTED]>
To switch to the INDEX mode, E-mail to <[EMAIL PROTECTED]>
Send administrative queries to  <[EMAIL PROTECTED]>

Reply via email to