Hi all,

Though the repeater is online, I've experienced some difficulties:
I upgraded the O/S (Fedora 28 ARM) and discovered, one couldn't
send audio to an already open audio device. (freedvBeacon.c opens in full 
duplex)
but I'm trying to send from another process.

As mentioned, I'm no c++ programmer, so my "parrot.c" is just a hacked 
"freebeacon.c"
where I take the recoded "from Radio" audio, decode with "ofdm_rx", recode it 
back again
with "ofdm_tx" and and transmit this audio.

There is therefore a long latency between the end of Rxd signal and 
retransmission.

This is where I need help. Looking into "freedv_api.c" I can't find where the 
ofdm_demod()
puts the data and thus how to do, what I want to do ie. remodulate so as to 
have the error
correction done. I believe the data is in the structure type freedv "f".

It takes considerable time to demodulate and remodulate on the Pi, about 10 
secs.
This is why I'd like it to occur simultaneously when receiving.

Must run.

Alan VK2ZIW

On Thu, 5 Jul 2018 14:20:57 +1000, Alan Beard wrote
> Thanks David,
> 
> This line should be at line 1960 in freedv_api.c:
> 
>     if (f->mode == FREEDV_MODE_700D) {
>         freedv_comprx_700d(f, rx_fdm, &valid);
> 
> as the function freedv_comprx_700d() needs a Complex input and
>  it's just been generated in rx_fdm[].
> 
> I need to think about "nin" if I call the demod twice noting I 
> haven't called audio Rx yet.
> 
> Here is "top" from the Banana Pi:
> 
>   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ 
> COMMAND     18622 alanb     20   0   27396  8004   6744 S  20.0 
>  0.8  10:53.97 parrot
> 
> Not too busy.
> 
> I'll impliment the above, use freedv_codecrx(), next week sometime.
> An engagement party in Perth.
> 
> MRFE6S9160
> 
> Alan VK2ZIW
> 
> On Thu, 5 Jul 2018 06:02:45 +0930, David Rowe wrote
> > Hello Alan,
> > 
> > Well done.
> > 
> > I think Jeroen added the general functionality you want with 
> > functions like freedv_codecrx().  freedv_rx has an example of using 
> > this function.
> > 
> > However looking at freedv_api.c, freedv_codecrx() doesn't appear to
> > support the 700D demodulator yet, I think it just needs something like:
> > 
> >     if (f->mode == FREEDV_MODE_700D) {
> >         nout = freedv_comprx_700d(f, demod_in, &valid);
> >     }
> > 
> > Cheers,
> > 
> > David
> > 
> > On 04/07/18 16:55, Alan Beard wrote:
> > > Hi all,
> > > 
> > > I'm no c++ programmer but with the aid or the "system("do shell")"
> > > function, I have modified the freeBeacon code and it's up running.
> > > 
> > > I now need to read the FreeDV api to find if there's a way to capture
> > > the ofdm decoded data during reception.
> > > At present, after the radio audio is captured, I decode it with
"ofdm_decode"
> > > and regenerate Tx audio with "ofdm_mod". Then convert that to a 16bit WAV
> file.
> > > This decode and encode regenerates a "perfect" Tx audio. Looks beautiful
> > > on the spectrum display of FreeDV GUI. Though when played with "aplay" on
> > > this here Linux box's motherboard audio sounds glitchy.
> > > 
> > > All this is running on my Pi with a 120Gb SSD. 
> > >  
> > > 14236KHz is a bit busy here with SSB traffic. 14150 and 14153 are beset 
> > > with
> > > switchmode hash. 7177 is often even worse with S9 hash from the Optus HFC
> > > cable box.
> > > 
> > > === Living in the suburbs ===
> > > 
> > > MRFE6S9160 Can I ask who has ever used a 73 valve in ham radio?
> > > 
> > > Alan VK2ZIW
> > > 
> > > 
> > > 
> > > 
> > > On Fri, 29 Jun 2018 17:27:37 +0930, David Rowe wrote
> > >> Hello Alan,
> > >>
> > >>> I tried:
> > >>> ./build1/src/c2enc 700D ./wav/vk5qi.wav /tmp/test2.tst --bitsperchar
> > >>>
> > >>> Only to find mode 700D is not in "c2enc".
> > >>
> > >> Yes the nomenclature is a bit confusing.  Codec 2 has various modes that
> > >> don't always map directly to FreeDV waveforms with similar names.  So
> > >> FreeDV 1600 uses Codec 2 1300 and FreeDV 700D uses Codec 2 700C.
> > >>
> > >> So you want something like:
> > >>
> > >>   $ ./build1/src/c2enc 700C ./wav/vk5qi.wav /tmp/test2.tst --bitsperchar
> > >>
> > >>> I think I'm ready to write a Repeater script. Anybody have any thoughts?
> > >>
> > >> You might need a C application to handle things like a state machine 
> > >> for loss of sync, but see how you go with a script.  The FreeDV 
> > >> beacon C code would be very close to what you need for a parrot repeater.
> > >>
> > >>> Notes/Corrections:
> > >>>
> > >>> README_fdmdv.txt mentions "src/fdmdv.h" that is perhaps 
> > >>> "src/fdmdv_api.h"
> > >>
> > >> Thanks
> > >>
> > >>> ./cohpsk_ch Can't find slow fading file:
> > >>> ../../raw/slow_fading_samples.float
> > >>
> > >> When cohpsk_ch chokes it prints out instructions on how to generate this
> > >> file (if not present) with some Octave commands.  Also see 
> > >> cohpsk_ch.c source.
> > >>
> > >>> I haven't yet found a way to command line play a 700D "raw" file. This
> > >>> I'd like for monitoring:
> > >>
> > >>   $ ./freedv_rx 700D test.raw - | aplay -f S16
> > >>
> > >> Many examples in README_ofdm.txt
> > >>
> > >> - David
> > >>
> > >>
> ------------------------------------------------------------------------------
> > >> Check out the vibrant tech community on one of the world's most
> > >> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> > >> _______________________________________________
> > >> Freetel-codec2 mailing list
> > >> Freetel-codec2@lists.sourceforge.net
> > >> https://lists.sourceforge.net/lists/listinfo/freetel-codec2
> > > 
> > > 
> > > Alan
> > > 
> > > Evil flourishes when good men do nothing.
> > > Consider the Christmas child.
> > > ---------------------------------------------------------------------------
> > > Alan Beard               Unix Support Technician from 1984 to today
> > > 70 Wedmore Rd.           Sun Solaris, AIX, HP/UX, Linux, SCO, MIPS
> > > Emu Heights N.S.W. 2750  Routers, terminal servers, printers, terminals
etc..
> > > +61 2 47353013 (h)       Support Programming, shell scripting, "C",
assembler
> > > 0414 353013 (mobile)     After uni, electronics tech
> > > 
> > > 
> > >
------------------------------------------------------------------------------
> > > Check out the vibrant tech community on one of the world's most
> > > engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> > > _______________________________________________
> > > Freetel-codec2 mailing list
> > > Freetel-codec2@lists.sourceforge.net
> > > https://lists.sourceforge.net/lists/listinfo/freetel-codec2
> > >
> > 
> > ------------------------------------------------------------------------------
> > Check out the vibrant tech community on one of the world's most
> > engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> > _______________________________________________
> > Freetel-codec2 mailing list
> > Freetel-codec2@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/freetel-codec2
> 
> Alan
> 
> Evil flourishes when good men do nothing.
> Consider the Christmas child.
> ---------------------------------------------------------------------------
> Alan Beard               Unix Support Technician from 1984 to today
> 70 Wedmore Rd.           Sun Solaris, AIX, HP/UX, Linux, SCO, MIPS
> Emu Heights N.S.W. 2750  Routers, terminal servers, printers,
>  terminals etc.. +61 2 47353013 (h)       Support Programming, shell 
> scripting, "C", assembler 0414 353013 (mobile)     After uni,
>  electronics tech
> 
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Freetel-codec2 mailing list
> Freetel-codec2@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/freetel-codec2

Alan

Evil flourishes when good men do nothing.
Consider the Christmas child.
---------------------------------------------------------------------------
Alan Beard               Unix Support Technician from 1984 to today
70 Wedmore Rd.           Sun Solaris, AIX, HP/UX, Linux, SCO, MIPS
Emu Heights N.S.W. 2750  Routers, terminal servers, printers, terminals etc..
+61 2 47353013 (h)       Support Programming, shell scripting, "C", assembler
0414 353013 (mobile)     After uni, electronics tech
 
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2

Reply via email to