Commit Graph

530 Commits

Author SHA1 Message Date
Jakob Ketterl
fbcfb550a2 pass direct sampling mode changes to owrx_connector 2020-02-27 23:21:00 +01:00
Jakob Ketterl
388218f9df implement a reconnection loop for direwolf, ref #60 2020-02-27 18:43:58 +01:00
Jakob Ketterl
6b2656efae fix constructor 2020-02-27 18:43:44 +01:00
Jakob Ketterl
bd8b8ca410 session cookie handling 2020-02-23 21:52:13 +01:00
Jakob Ketterl
fb7422e5a8 generate session cookie 2020-02-23 21:39:12 +01:00
Jakob Ketterl
a70c51193b parse login data 2020-02-23 20:52:32 +01:00
Jakob Ketterl
fa75cac7f5 post login data 2020-02-23 20:25:36 +01:00
Jakob Ketterl
437e28c3a9 add templating 2020-02-23 20:13:11 +01:00
Jakob Ketterl
af053b9ac4 no more abstract methods 2020-02-23 19:29:17 +01:00
Jakob Ketterl
0a20cb5e41 prepare route protection 2020-02-23 19:23:18 +01:00
Jakob Ketterl
aa9737498a add controller options to allow multiple routes per controller 2020-02-23 18:32:37 +01:00
Jakob Ketterl
42191f4e77 rewrite routing logic 2020-02-23 17:53:02 +01:00
Jakob Ketterl
451eb99f8a split the controllers into separate files 2020-02-23 17:22:13 +01:00
Jakob Ketterl
4e98bbc1c9 continue development as version 0.19 2020-02-20 22:01:21 +01:00
Jakob Ketterl
ad565c5a2b re-wire the audio output to "null" - thanks to @dl9rdz 2020-02-17 12:06:13 +01:00
Jakob Ketterl
b948e06a4f use urllib to update sdr.hu, no wget dependency
ref: #52
2020-02-15 00:16:04 +01:00
Jakob Ketterl
eaa98b0d64 new status controller as json 2020-02-09 21:46:03 +01:00
Jakob Ketterl
c92929a32d add soapyremote source 2020-02-09 13:59:37 +01:00
Jakob Ketterl
46c3e5077d fix typo 2020-02-08 21:43:47 +01:00
Jakob Ketterl
9a5aba7313 disable config interface unless explicitly enables in the config 2020-02-08 18:29:48 +01:00
Jakob Ketterl
8036758857 improve error handling on band and bookmark loading 2020-02-01 21:37:43 +01:00
Jakob Ketterl
b63a991008 redo the scheduling so it works close to the dateline, too 2020-01-24 23:29:25 +01:00
Jakob Ketterl
05af69f7b2 Merge branch 'develop' into daylight-scheduler 2020-01-23 11:15:18 +01:00
Mario
7e2c2ad323 Fix PlutoSDR support 2020-01-22 21:55:22 +01:00
Jakob Ketterl
5b9344dee9 fix evening greyline 2020-01-20 17:29:32 +01:00
Jakob Ketterl
f06f1265d8 just calculate today's schedule, makes things much easiear 2020-01-19 18:54:53 +01:00
Jakob Ketterl
1f68ecd9f4 add greyline calculation 2020-01-19 18:34:37 +01:00
Jakob Ketterl
877f0e4c28 allow schedule entries with datetime 2020-01-19 17:04:14 +01:00
Jakob Ketterl
b142180f94 optimize 2020-01-18 17:35:33 +01:00
Jakob Ketterl
f826002ea8 enable solar calculations 2020-01-18 00:43:37 +01:00
Jakob Ketterl
12be082523 refactor service / schedule code in preparation for alternate schedulers 2020-01-17 22:46:01 +01:00
Jakob Ketterl
470fc43646 avoid using preexec_fn in the other places, too 2020-01-17 21:18:02 +01:00
Jakob Ketterl
ea5b5dc8fb avoid preexec_fn (something's leaky there) 2020-01-17 12:17:15 +00:00
Mario
7bf4c48733 Adding support for PlutoSDR (Adalm Pluto) via SoapySDR 2020-01-15 22:44:11 +01:00
Mario
d7aaf0d00e Adding support for PlutoSDR (Adalm Pluto) via SoapySDR 2020-01-15 22:42:08 +01:00
Jakob Ketterl
c3d89bd4bf fix device mixup 2020-01-10 23:31:51 +01:00
Jakob Ketterl
976c15d29a parse address as a numeric field 2020-01-10 22:11:57 +01:00
Jakob Ketterl
ba9a9096bf use the nice error overlay, closes #28 2020-01-10 21:43:21 +01:00
Jakob Ketterl
cbd87abc3d add automatic backoff when server is at capacity 2020-01-10 21:38:46 +01:00
Jakob Ketterl
5a57648eec add direct sampling option, ref #37 2020-01-10 20:50:56 +01:00
Jakob Ketterl
b7538dcdd0 add alternate soapy driver for rtl-sdr sticks 2020-01-10 20:43:28 +01:00
Jakob Ketterl
aee1642ef6 add limesdr soapy driver module 2020-01-10 19:54:53 +01:00
Jakob Ketterl
44c1edb2dd update legal information
remove andras from contacts since he discontinued openwebrx
2020-01-09 22:24:39 +01:00
Jakob Ketterl
2ea8812fda remove 3d view aka mathbox since it consumes more than 1MB data per
visit
2020-01-09 21:52:47 +01:00
Jakob Ketterl
5a0398ceb5 require new digiham version 2020-01-09 19:26:41 +01:00
Jakob Ketterl
e0501cff0f add owrx message passing and frontend 2020-01-09 15:12:51 +01:00
Jakob Ketterl
0e528c9267 refactor parsers; introduce new pocsag parser 2020-01-09 15:11:53 +01:00
Jakob Ketterl
f05ac31dc4 don't choke on invalid characters 2020-01-09 13:49:38 +01:00
Jakob Ketterl
12e5d2f6f3 add scaffolding for pocsag decoding 2020-01-06 22:08:17 +01:00
Jakob Ketterl
a30841cdf6 add some debugging here 2020-01-05 18:41:46 +01:00
Jakob Ketterl
de958ca091 seems like this fixes the starvation of workers 2020-01-02 19:35:58 +01:00
Jakob Ketterl
42828dbf65 add always-on feature 2019-12-31 19:14:05 +01:00
Jakob Ketterl
036442aa69 allow services to be disabled on individual sdrs 2019-12-31 18:44:47 +01:00
Jakob Ketterl
e60c332c24 arm 2019-12-31 16:24:45 +01:00
Jakob Ketterl
406d06fef2 add rockprog interface 2019-12-31 16:20:36 +01:00
Jakob Ketterl
9aa6f72152 fix the resampler 2019-12-31 15:27:33 +01:00
Jakob Ketterl
70347d1ef9 use automatic ports unless explicitly configured 2019-12-31 15:24:11 +01:00
Jakob Ketterl
092a2e5ca0 handle soapy not being installed at all, references #42 2019-12-30 16:38:16 +01:00
Jakob Ketterl
d0d0ba6ba7 initialize dict in code to avoid wrong references 2019-12-29 17:34:58 +01:00
Jakob Ketterl
2bb2f65776 fix ppm parameter 2019-12-28 23:05:59 +01:00
Jakob Ketterl
86ceb7a274 use lists for all command stuff 2019-12-28 16:44:45 +01:00
Jakob Ketterl
489d2390c8 fix name 2019-12-28 15:56:36 +01:00
Jakob Ketterl
1a3a5b43a0 reformat with black 2019-12-28 01:24:07 +01:00
Jakob Ketterl
2c4c88e30d move this over so a normal soapy sdr source 2019-12-28 00:38:36 +01:00
Jakob Ketterl
f92c49cee6 fix overlooked bias tee in airspy 2019-12-28 00:33:27 +01:00
Jakob Ketterl
8371d3b67a refactor sources to be more flexible 2019-12-28 00:26:45 +01:00
Jakob Ketterl
ca4d9771cc soapy driver detection; clean up docs 2019-12-27 11:37:12 +01:00
Jakob Ketterl
11cfca5211 send a log message to the client when a device fails 2019-12-23 21:18:40 +01:00
Jakob Ketterl
46b5e9034f attempt to select new sdr on failure 2019-12-23 21:18:40 +01:00
Jakob Ketterl
4d0d316fdd improve sdr failure detection 2019-12-21 23:29:56 +01:00
Jakob Ketterl
b5c5bcb9f1 fix readline problem 2019-12-21 21:17:19 +01:00
Jakob Ketterl
8fe9bf6292 attempt better wsjt decoder handling 2019-12-21 21:08:44 +01:00
Jakob Ketterl
292fe80acf break apart the ever-growing owrx/source.py 2019-12-21 20:58:28 +01:00
Jakob Ketterl
10de50d251 remove old sources, make the connector-based ones default 2019-12-21 19:24:14 +01:00
Jakob Ketterl
e1d2ed8867 add fifisdr support (no frequency tuning) 2019-12-19 21:37:19 +01:00
Jakob Ketterl
0e8116b743 handle errors in json files 2019-12-15 17:44:31 +01:00
Jakob Ketterl
ef1435cef7 rtltcp_compat is now a flag; expose through config 2019-12-15 16:33:07 +01:00
Jakob Ketterl
1a092a1e24 remove debug message 2019-12-08 22:13:57 +01:00
Jakob Ketterl
57a61f0c40 close connection when queue overflows 2019-12-08 21:11:36 +01:00
Jakob Ketterl
5c8da76d9a move bands and bookmarks to the config, too 2019-12-08 21:00:01 +01:00
Jakob Ketterl
7a6d021e18 switch file loading to pkg_resources 2019-12-08 20:27:58 +01:00
Jakob Ketterl
9164a3ed3a restructure project for packaging 2019-12-08 17:15:48 +01:00
Jakob Ketterl
37086bc6c7 debian build (first take) 2019-12-08 14:02:09 +01:00
Jakob Ketterl
1d1851dc76 add airspyhf support 2019-12-06 11:39:23 +01:00
Jakob Ketterl
c8ddb121d0 simplify command execution 2019-12-05 21:07:56 +01:00
Jakob Ketterl
ba5613cf62 fix quoting 2019-12-05 20:57:03 +01:00
Jakob Ketterl
af4acd5623 parse device queries manually, since they are not x-www-urlencoded 2019-12-05 20:53:27 +01:00
Jakob Ketterl
19eb5c73e7 pre-filter soapy devices by driver 2019-12-05 19:51:55 +01:00
Jakob Ketterl
90d990bdfb add depencency for sox 2019-12-01 15:42:50 +01:00
Jakob Ketterl
11c2c8afe3 limit multiprocessing queue to avoid memory leak on failing connections 2019-11-26 20:13:04 +01:00
Jakob Ketterl
fe39c2712d keep the output_rate on sdr change 2019-11-26 20:13:04 +01:00
Jakob Ketterl
53de54120e only specify device strings when configured 2019-11-24 20:34:51 +01:00
Jakob Ketterl
481918ab5b better profile switching for the gui 2019-11-23 17:22:20 +01:00
Jakob Ketterl
b27caf2405 allow initial_squelch_level to be set per profile 2019-11-23 16:56:29 +01:00
Jakob Ketterl
9246500c95 run black 2019-11-23 01:12:21 +01:00
Jakob Ketterl
98901ac668 add pskreporter dupe check and stats 2019-11-22 17:16:40 +01:00
Jakob Ketterl
9f710cb70e fix for lfo_offset = None 2019-11-21 17:19:51 +01:00
root
dab62a04df fix offset switching 2019-11-21 16:07:20 +01:00
Jakob Ketterl
de51e266f6 add airspy source; fix offset tuning 2019-11-21 15:31:37 +01:00
root
5375580104 add device handling for rtl 2019-11-20 11:37:06 +01:00
Jakob Ketterl
964d9e873d add iq swapping capability 2019-11-19 14:03:32 +01:00
Jakob Ketterl
a9b99fa0ff introduce connector source for sdrplay 2019-11-17 20:52:16 +01:00
Jakob Ketterl
6619a1b4a6 the ServiceHandler is fully passive 2019-11-16 15:40:12 +01:00
Jakob Ketterl
a36f106c72 add source "busy state" to improve background scheduling 2019-11-15 23:05:52 +01:00
Jakob Ketterl
097f8a2b82 refactor event system 2019-11-15 22:13:00 +01:00
Jakob Ketterl
bcbb911b24 restore airspy feature test 2019-11-15 19:36:07 +01:00
Jakob Ketterl
f18efb2344 use Popen for feature detection to be able to take control of the
working directory
2019-11-14 22:13:02 +01:00
Jakob Ketterl
367bf666fc listen for frequency changes in the scheduler, too 2019-11-13 19:50:00 +01:00
Jakob Ketterl
7489a3bb9d try to improve memory footprint by rebuilding map dictionary in
intervals
2019-11-13 18:01:01 +01:00
Jakob Ketterl
2a6c7863b1 improve control socket handling 2019-11-12 15:57:10 +01:00
Jakob Ketterl
6ba74a0c30 add ppm 2019-11-11 20:35:50 +01:00
Jakob Ketterl
ada94f69c3 new modificitions for owrx_connector support 2019-11-11 18:07:14 +01:00
Jakob Ketterl
95253e40bd organize timers and threads to get proper shutdown 2019-10-31 22:24:31 +01:00
Jakob Ketterl
af1a99c130 prevent deadlocks by shutting down services in correct order 2019-10-31 19:13:33 +01:00
Jakob Ketterl
a24cb3e04a shutdown services properly 2019-10-27 12:16:17 +01:00
Jakob Ketterl
c7eb5c430c perform binary decoding on the server side 2019-10-25 21:09:31 +02:00
Jakob Ketterl
eb29d0ac99 protect websocket handling from any exceptions 2019-10-21 22:08:37 +02:00
Jakob Ketterl
13d7686258 refactor all the audio stuff into classes and a separate file 2019-10-20 18:53:23 +02:00
Jakob Ketterl
0b2c457030 kill client-side early rebuffering, improving the latency 2019-10-18 21:13:48 +02:00
Jakob Ketterl
de179d070d this is not theoretical any more 2019-10-13 18:28:58 +02:00
Jakob Ketterl
f45857f79b don't use the resampler if the optimization says so 2019-10-13 18:25:32 +02:00
Jakob Ketterl
eda556ef03 prevent start-up of services if requirements are not fulfilled.
closes #4
2019-10-13 17:51:00 +02:00
Jakob Ketterl
ea67340cab display message when sdr unavailable 2019-10-13 14:17:32 +02:00
Jakob Ketterl
70d8fe82b3 send failure message to client 2019-10-12 20:46:32 +02:00
Jakob Ketterl
fce8c294d3 first work at detecting failed sdr devices 2019-10-12 20:19:34 +02:00
Jakob Ketterl
f9f50e734f improved websocket handling 2019-10-11 12:08:43 +02:00
d9394
db663fe134
Update controllers.py
fix a bug with reading template file
2019-10-06 16:05:30 +08:00
Jakob Ketterl
b80fd9c023 update profile dropdown box on changes 2019-10-04 22:01:07 +02:00
Jakob Ketterl
e9f9bbb9c0 replace receiver_qra setting with locator calculation 2019-10-03 18:10:46 +02:00
Jakob Ketterl
2025ccb366 catch more generic OSError 2019-10-03 00:58:27 +02:00
Jakob Ketterl
630a542ed6 better websocket header handling 2019-10-02 11:28:41 +02:00
Jakob Ketterl
455001a759 protect pskreporter upload loop 2019-09-28 03:06:34 +02:00
Jakob Ketterl
cc98c94b2b send bookmarks to client 2019-09-28 00:53:58 +02:00
Jakob Ketterl
00febdf255 implement all methods for consistency 2019-09-28 00:27:42 +02:00
Jakob Ketterl
cbc7b73b1d hand over message handling after initial handshake instead of delegating 2019-09-28 00:25:36 +02:00
Jakob Ketterl
42c59a3aa0 fft needs the multiprocessing send, too 2019-09-27 23:29:22 +02:00
Jakob Ketterl
5f703a043b fix ping race condition 2019-09-27 23:28:43 +02:00
Jakob Ketterl
76fe11741a add ping / pong to keep the websockets running 2019-09-26 22:57:10 +02:00
Jakob Ketterl
6cb7e65231 differentiate between None and empty return 2019-09-26 00:24:55 +01:00
Jakob Ketterl
6911ca407e code format 2019-09-25 00:47:34 +02:00
Jakob Ketterl
68fbc436f2 fix length problem 2019-09-25 00:36:40 +02:00
Jakob Ketterl
ecb754ab29 disable reporting if not set in config 2019-09-25 00:36:22 +02:00
Jakob Ketterl
41bd018191 determine locator from gps coordinates 2019-09-25 00:35:57 +02:00
Jakob Ketterl
45479b9f65 Merge branch 'develop' into pskreporter 2019-09-24 21:43:00 +02:00
Jakob Ketterl
a68ba01320 handle socket timeouts 2019-09-24 21:42:41 +02:00
Jakob Ketterl
ba03243527 fix date 2019-09-24 21:42:00 +02:00
Jakob Ketterl
22f4504629 set random to be at least 5 minutes 2019-09-24 21:41:31 +02:00
Jakob Ketterl
bf59ed34cf no more conditional 2019-09-23 23:53:22 +02:00
Jakob Ketterl
d8bc2cab2e actual upload 2019-09-23 23:47:12 +02:00
Jakob Ketterl
f8dcff788b build valid packets (hopefully) 2019-09-23 22:45:55 +02:00
Jakob Ketterl
4be34e4dc1 integrate pskreporter scheduling (no upload yet) 2019-09-23 18:33:52 +02:00
Jakob Ketterl
b1742dafc2 incomplete implementation to extend a callsign location 2019-09-23 16:51:38 +02:00
Jakob Ketterl
ae87185ad0 run the formatter once more 2019-09-23 03:15:24 +02:00
Jakob Ketterl
72f92a1c2b use events instead of simple sleep for clean shutdown 2019-09-23 03:06:51 +02:00
Jakob Ketterl
8b9121a5c1 tone down http logging 2019-09-22 20:51:33 +02:00
Jakob Ketterl
cfb4208db2 improved api 2019-09-22 13:16:24 +02:00
Jakob Ketterl
52afe3fb02 tone down wsjt logging 2019-09-22 12:57:59 +02:00
Jakob Ketterl
57975b6f96 move connection tracking to all websockets 2019-09-22 12:57:13 +02:00
Jakob Ketterl
b4ffc6e2f0 replace os pipe with multiprocessing (seems to work better) 2019-09-22 12:56:35 +02:00
Jakob Ketterl
1ed69de5b0 un-couple messaging between connections; use non-blocking io 2019-09-21 22:10:16 +02:00
Jakob Ketterl
6ec85aa349 don't start up unnecesserily 2019-09-21 15:24:06 +02:00
Jakob Ketterl
671509df3b fix variable name 2019-09-21 15:19:10 +02:00
Jakob Ketterl
2edeffb761 close websocket connections in an improved way 2019-09-21 13:49:37 +02:00
Jakob Ketterl
ecbae5af2d implement icon rotation 2019-09-19 02:25:32 +02:00
Jakob Ketterl
996422ff4b show aprs symbols in decoding list, too 2019-09-19 00:18:51 +02:00
Jakob Ketterl
3e8e0c9224 first work on custom aprs icons 2019-09-18 18:50:48 +02:00
Jakob Ketterl
c6c4012a36 add aprs symbols to http server 2019-09-18 17:22:35 +02:00
Jakob Ketterl
30512e347a fix more threading issues; add users metric 2019-09-18 15:40:23 +02:00
Jakob Ketterl
6f983ccb6b synchronize scheduler access 2019-09-18 01:46:31 +02:00
Jakob Ketterl
3814767e28 count errors 2019-09-18 01:46:09 +02:00
Jakob Ketterl
243e73064a add band information to ysf locations 2019-09-17 18:44:37 +02:00
Jakob Ketterl
8df4f9ce52 add the ability to schedule profiles to be used when sources are idle 2019-09-16 00:31:35 +02:00
Jakob Ketterl
b0b2df5422 no need for shared instances here 2019-09-15 21:10:30 +02:00
Jakob Ketterl
5b6edd110d wsjt decoding depth configuration 2019-09-15 16:37:12 +02:00
Jakob Ketterl
392c226cbe overflow metrics 2019-09-15 12:23:35 +02:00
Jakob Ketterl
7689d1a2e2 narrow bandpass specifically for wspr 2019-09-15 12:23:11 +02:00
Jakob Ketterl
98f1545fca code format 2019-09-13 23:03:05 +02:00
Jakob Ketterl
311f22f6ba flag services (avoid connecting to aprs network twice) 2019-09-13 22:28:17 +02:00
Jakob Ketterl
be05b54053 jt65 seems very prone to false decodes 2019-09-13 20:58:37 +02:00
Jakob Ketterl
6ff55e1279 queue in / out stats 2019-09-13 00:16:36 +02:00
Jakob Ketterl
338a19373c count aprs decodes, too 2019-09-12 23:23:50 +02:00
Jakob Ketterl
bc5b16b5e3 rewire the metrics; make queue length metric available 2019-09-12 22:50:29 +02:00
Jakob Ketterl
a11875145b make wsjt queue configurable 2019-09-12 15:32:54 +02:00
Jakob Ketterl
25a1d06dcb Merge branch 'develop' into packet 2019-09-11 01:03:12 +02:00
Jakob Ketterl
d87e5da75c attempt to reduce cpu usage by pre-selecting parts of the spectrum with
resamplers
2019-09-11 00:30:14 +02:00
Jakob Ketterl
aac618bfee fix for python 3.5 2019-09-02 16:20:49 +01:00
Jakob Ketterl
2dcdad3a49 fix message parsing range 2019-08-28 22:09:52 +02:00
Jakob Ketterl
db8d4cd3fe display items and objects on the map 2019-08-28 22:01:01 +02:00
Jakob Ketterl
de22169ea8 implement item and object parsing 2019-08-28 21:56:50 +02:00
Jakob Ketterl
b24e56803c avoid overriding weather dict keys 2019-08-27 23:52:51 +02:00
Jakob Ketterl
5530c96f8e fix message offsets 2019-08-27 23:32:21 +02:00
Jakob Ketterl
1d8fea891a additional types; parse messages 2019-08-27 23:13:26 +02:00
Jakob Ketterl
707fcdb1ab convert fahrenheit to celsius 2019-08-27 11:42:48 +02:00
Jakob Ketterl
1a2f6b4970 improve weather decoding 2019-08-27 11:32:50 +02:00
Jakob Ketterl
4409a369fa implement weather report parsing 2019-08-26 23:43:08 +02:00
Jakob Ketterl
272c305ec2 handle exceptions that may occur when parsing strings to numbers 2019-08-26 13:24:23 +02:00
Jakob Ketterl
a81c5f44a2 improve thirtparty header parsing 2019-08-26 11:41:22 +02:00
Jakob Ketterl
2a09462f6f first work on the thirdparty header 2019-08-26 00:10:43 +02:00
Jakob Ketterl
5cc67aba15 handle execptions during decode to avoid worker drain 2019-08-23 22:32:46 +02:00
Jakob Ketterl
fadcb9b43f handle a full queue 2019-08-22 21:24:36 +02:00