[TangerineSDR] List of Software Modules to be Designed

Engelke, Bill bill.engelke at ua.edu
Thu Oct 24 22:24:00 EDT 2019


Hello Rob - I was not including SYSV as the IPC. 
I have seen articles discussing the POSIX approach using a backing file - see the shared memory discussion about halfway through this article: https://opensource.com/article/19/4/interprocess-communication-linux-storage

Is this the filesystem approach you mentioned? It appears to work with a sort of virtual file.

There is a follow on article by the same author which discusses using Unix sockets here:
https://opensource.com/article/19/4/interprocess-communication-linux-networking

Are there dramatic differences between these that would make a big difference in an application like we plan for the SBC?

Let's tackle the topics one at a time (we can work down thru your other thoughts next)...

-tnx fer the help es 73 - Bill

-----Original Message-----
From: Rob Wiesler <rpw10 at case.edu> 
Sent: Thursday, October 24, 2019 8:48 PM
To: TAPR TangerineSDR Modular Software Defined Radio <tangerinesdr at lists.tapr.org>
Cc: Engelke, Bill <bill.engelke at ua.edu>; Matthew McConnell <mjm28 at case.edu>
Subject: Re: [TangerineSDR] List of Software Modules to be Designed

On Wed, Oct 16, 2019 at 10:28 AM Engelke, Bill via TangerineSDR <tangerinesdr at lists.tapr.org> wrote:
> Here is a first pass (version 01) list of software modules needing to be designed/coded/tested/integrated for PSWS system. (The list is also attached as a file for posting).
>
> If you have any comments or additions, they are most welcome…

IPC:
Please don't use shared memory for this.  SYSV IPC is basically dead in modern applications, and for lots of good reasons.  Instead, use a sane combination of Unix sockets, filesystem/inotify, and maybe dbus or MQTT if we have a matching use case (I don't think we do).

Local command processor:
I don't see what use this is.  That may be because the description is fairly vague.  What set of commands do you envision?  I think that comes first, before deciding that there should be a single software agent to handle them (usually it's much cleaner to talk to local software agents directly, without an intermediary).

Data upload/command dissemination:
Of course, I'm willing to help with this, but this is already the domain of others at CWRU (Matthew McConnell, in CC, who may or may not be subscribed to this list, plus a bunch of students), so ultimately none of this is my decision, even if I do the work.

Please add to the list of overall systemic components:
- Package build system
- Package repository
- Private development package repository(-ies)
- Physical test harness (for dev -> prod package migration acceptance testing (after unit testing))
  - This will be part of the CWRU PSWS infrastructure, as a last-gasp measure to make sure we don't push out anything fundamentally broken.


More information about the TangerineSDR mailing list