[TangerineSDR] Filename structure, Node info contents, other stuff to ponder
Rob Wiesler
robert.wiesler at case.edu
Thu May 7 00:13:23 EDT 2020
On Wed, May 06, 2020 at 23:25:41 -0400, John Gibbons wrote:
> Your station is given a node number to define its location. So yes, you
> have a single node number.
>
> If the receivers are coordinated to take their data all at the same time,
> you would have a single file with (I'm guessing) 6 frequency measurements
> and 6 amplitude measurements for the 6 receivers per sample instance (with
> a timestamp that goes with it).
> This would be contained all within 1 file for the given (WWV) frequency
> being measured and submitted daily.
If 6 copies of fldigi (or any program) are writing to the same file,
you're going to have data corruption. There are four reasonable ways to
proceed:
- Add some field to the name of the file that fldigi's writing to, so
you're writing to 6 files per day, one from each process, then somehow
tell fldigi what value of that field to use. The best way to do that
probably involves an environment variable that fldigi reads. Then
relax or work around the one-upload-per-day-per-node restriction
somehow.
- Have 6 different nodes, and somehow tell fldigi which node it is. The
best way to do that probably involves an environment variable that
fldigi reads. Since all nodes have exactly the same metadata
(right?), I don't think you'd even have to modify John's metadata
directory scheme. This is probably saner than the previous option.
- Instead of having fldigi write to a file directly, have it send its
measurements to a daemon via a UNIX socket (or a TCP socket bound to
127.0.0.1). The daemon then takes care of reading the metadata,
creating the .csv files, and rotating them each UTC day. This doesn't
involve any environment variables (so long as only one node is used
and the metadata is all the same), but would effectively undo all the
effort John went through to get his changes upstreamed. Still, I
think this is the sanest option so far. Actually, I proposed
something like this very early in the project, when David was setting
up the first prototype of the system, and I was shot down because it
seemed too complicated. If you want to go this route, I can write the
code - it'll take a fraction of a Saturday or Sunday to go from zero
to having a finished pair of packages (one for the modifications to
fldigi, another for the daemon).
- Run fldigi as 6 different users, all belonging to the same set of
groups, each with their own unique home directory. Then they can
share or not share metadata and/or node IDs as desired. This is the
least sane option, but (when using different nodes) requires no
changes to existing and planned code.
I wrote the above list under the assumption that it is okay for the
antenna that generated each record not to be associated with that
record. I did that intentionally for the sake of argument only.
Actually, I don't think that's okay at all, and there needs to be a
different node for each antenna (because the metadata must be
different). Probably Phil and/or Nathaniel should jump in and tell us
what they want/need.
More information about the TangerineSDR
mailing list