khaytsus / direwolf-init Goto Github PK
View Code? Open in Web Editor NEWSample init scripts for starting direwolf with hourly calibration for an SDR
License: GNU General Public License v2.0
Sample init scripts for starting direwolf with hourly calibration for an SDR
License: GNU General Public License v2.0
If we're analysing a perfectly flat top signal (some digital, or overloaded front end) we should attempt to find the edges and from that deduct the middle. Signals like NOAA, unless severely overloading the front end of the SDR (gain too high, etc) this error should be minimal or non-existant. However, using like a pager signal or a cellular tower, this might be an actual issue.
However, how far does one go with this? If the signal is 2MHz wide and perfectly flat; with the exception of one spot that's slightly higher, that spot will be the best signal, therefore used. Some additional averaging would have to be used to fix that specific scenario, which IMO is overcomplicating it. Use stable signals that have a peak with reasonable gain.
If we're using a signal which is not transmitting 100%, the current method of using only the last line would not work correctly. The script could easily take the last N lines and iterate over all of them, finding the best datapoint.
dw-start, line 60, is missing a '/' between 'perl $(dwpath)' and 'findppm.pl'.
I couldn't find any contact info for the author, so leaving this as an issue. If you'd like to discuss it, feel free to email me at jgalak at gmail dot com
I am trying to use the scripts here to start direwolf. This is being run on a RPi 3 using the latest release Raspbian.
For testing, I modified direwolf.sh to comment out the PARENT_COMMAND test so as to be able to run the scripts from the command line, not from cron.
Running "sudo bash dw-start" the script returns to the command line with no output, and the following is shown in /tmp/dw-start.log (with a few extra echo statements as I was debugging):
----------------------- START
Tue May 29 13:28:26 EDT 2018
SDR == 1
Get Using SDR, so get newppm
Tue May 29 13:28:26 EDT 2018
----------------------- END
Running SDR
Found 1 device(s):
0: Realtek, RTL2838UHIDIR, SN: 00000001
Using device 0: Generic RTL2832U OEM
Detached kernel driver
Found Rafael Micro R820T tuner
Tuner gain set to 49.60 dB.
Tuner error set to 170 ppm.
Tuned to 144643575 Hz.
Oversampling input by: 23x.
Oversampling output by: 1x.
Buffer size: 8.08ms
Exact sample rate is: 1014300.020041 Hz
Sampling at 1014300 S/s.
Output at 44100 Hz.
Signal caught, exiting!
User cancel, exiting...
Reattached kernel driver
Any idea why it appears to think it's been cancelled at the end there?
Thanks!
[+] Found 327 ppm, adding kludge of 4
[+] Resuming Direwolf with 331 (was 331)
Tue May 23 17:10:33 UTC 2017
[+] Already running.
[+] I think direwolf is pi 25776 25772 0 17:10 ? 00:00:00 /bin/sh -c /opt/di
rewolf/dw-start
pi 25777 25776 0 17:10 ? 00:00:00 /bin/bash /opt/direwolf/dw-start
pi 25795 25777 0 17:10 ? 00:00:00 /bin/bash /opt/direwolf/dw-start
I've noticed that my iGate dies every hour using the dw-start script. Adding debugging seems to indicate that dw-start is found during the "grep" for the direwolf process. This only seems to occur during calibration and not during the normal 5 minute interval.
I simply updated the grep exclude filter to ignore "dw-start" and all is well.
a=`ps -ef | grep direwolf | grep -v 'tail\|grep\|dw-start'`
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.