<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:#000000">The original code module in FLDigi that I'm using now is written in C++ (*.cxx files). Don't think you'll need to rewrite anything.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:#000000"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:#000000">Once I make more progress on it, I'll update you. <br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:#000000"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:#000000">An interpreted language for real-time acquisition simply is a train wreck (35+ years in development...)</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:#000000"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:#000000">John N8OBJ<br><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:#000000"><br clear="all"></div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div><div><div><div><div><div>John C. Gibbons<br></div>Director - Sears Undergraduate Design Laboratory<br></div>Dept. of Electrical Engineering and Computer Science</div></div>Case Western Reserve University <br></div><div>10900 Euclid Ave, <span style="font-size:12.8px">Glennan 314</span><span style="color:rgb(0,0,0);font-family:Helvetica;font-size:12.8px"><br></span></div></div><div><span style="color:rgb(0,0,0);font-family:Helvetica;font-size:12.8px">Cleveland, Ohio 44106-7071</span><br style="color:rgb(0,0,0);font-family:Helvetica;font-size:12.8px"><span style="color:rgb(0,0,0);font-family:Helvetica;font-size:12.8px">Phone </span><a href="tel:216-368-2816" value="+12163684572" style="color:rgb(17,85,204);font-family:Helvetica;font-size:12.8px" target="_blank">(216) 368-2816</a><span style="color:rgb(0,0,0);font-family:Helvetica;font-size:12.8px"> FAX </span><a href="tel:216-368-6888" value="+12163686888" style="color:rgb(17,85,204);font-family:Helvetica;font-size:12.8px" target="_blank">(216) 368-6888</a><br style="color:rgb(0,0,0);font-family:Helvetica;font-size:12.8px"><span style="color:rgb(0,0,0);font-family:Helvetica;font-size:12.8px">E-mail: </span><a href="mailto:jcg66@case.edu" style="color:rgb(17,85,204);font-family:Helvetica;font-size:12.8px" target="_blank">jcg66@case.edu</a><br style="color:rgb(0,0,0);font-family:Helvetica;font-size:12.8px"><br></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div><br></div><div id="DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2"><br>
<table style="border-top:1px solid #d3d4de">
<tr>
<td style="width:55px;padding-top:13px"><a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=icon" target="_blank"><img src="https://ipmcdn.avast.com/images/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif" alt="" width="46" height="29" style="width: 46px; height: 29px;"></a></td>
<td style="width:470px;padding-top:12px;color:#41424e;font-size:13px;font-family:Arial,Helvetica,sans-serif;line-height:18px">Virus-free. <a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=link" target="_blank" style="color:#4453ea">www.avast.com</a>
</td>
</tr>
</table><a href="#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2" width="1" height="1"></a></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Apr 20, 2020 at 10:12 PM Rob Wiesler via TangerineSDR <<a href="mailto:tangerinesdr@lists.tapr.org">tangerinesdr@lists.tapr.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Mon, Apr 20, 2020 at 20:40:10 +0000, Engelke, Bill via TangerineSDR wrote:<br>
> On Monday, April 20, 2020 1:41 PM, Rob Wiesler <<a href="mailto:robert.wiesler@case.edu" target="_blank">robert.wiesler@case.edu</a>> wrote:<br>
>> On Mon, Apr 20, 2020 at 13:26:53 -0400, John Gibbons via TangerineSDR wrote:<br>
>>> On Mon, Apr 20, 2020 at 1:12 PM Engelke, Bill via TangerineSDR <<a href="mailto:tangerinesdr@lists.tapr.org" target="_blank">tangerinesdr@lists.tapr.org</a>> wrote:<br>
>>>> I appreciate the Skylar is implementing something in python for the<br>
>>>> freq estimation algorithm, but I am hoping someone could volunteer to<br>
>>>> provide me this algorithm in the c language so that I can integrate it into the<br>
>>>> mainctl part of the TangerineSDR. (HELP!) … anyone?<br>
>>><br>
>>> I am also looking for a C implementation of the algorithm as I will<br>
>>> most likely be running 4 instances if it (at the same time) and the<br>
>>> RasPi3B+ will most likely choke on trying to do that in python.<br>
>><br>
>> If need be, I can help with that eventually. However (and I have not<br>
>> seen Skylar's implementation at all), most Python libraries for<br>
>> number crunching are reasonably-thin wrappers around optimized C<br>
>> libraries. There's a little overhead, but it's not too bad in most<br>
>> cases. If you needed a bare-metal implmentation, then yes, C might<br>
>> be required, but I urge you to wait for Skylar's implementation and<br>
>> actually try it on your target hardware before starting a C port.<br>
>><br>
>> Remember, the first rule of premature optimization is "Don't".<br>
><br>
> Words of wisdom to be sure. It's just that all my other code for<br>
> working with this data is in C, so I guess I would have to call the<br>
> Python code from C (?) - Bill<br>
<br>
Sure, why not? Beats rewriting existing code, and then updating it<br>
whenever the original changes. You can set up a Python runtime inside a<br>
C environment if you really want to [0][1][2], but I'd recommend just<br>
leaving the Python as a standalone process if you can.<br>
<br>
[0] <a href="https://www.linuxjournal.com/article/8497" rel="noreferrer" target="_blank">https://www.linuxjournal.com/article/8497</a><br>
[1] <a href="https://docs.python.org/3/c-api/veryhigh.html" rel="noreferrer" target="_blank">https://docs.python.org/3/c-api/veryhigh.html</a><br>
[2] <a href="https://docs.python.org/3/c-api/index.html" rel="noreferrer" target="_blank">https://docs.python.org/3/c-api/index.html</a><br>
<br>
-- <br>
TangerineSDR mailing list<br>
<a href="mailto:TangerineSDR@lists.tapr.org" target="_blank">TangerineSDR@lists.tapr.org</a><br>
<a href="http://lists.tapr.org/mailman/listinfo/tangerinesdr_lists.tapr.org" rel="noreferrer" target="_blank">http://lists.tapr.org/mailman/listinfo/tangerinesdr_lists.tapr.org</a><br>
</blockquote></div>