Commit Graph

732 Commits

Author SHA1 Message Date
Jakob Ketterl
6b4509fca5 update owrx_connector 2020-03-02 21:55:21 +01:00
Jakob Ketterl
9cc850e578 introduce new pipe classes to improve sequencing 2020-02-28 00:20:37 +01:00
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
Jakob Ketterl
24d134ad6c try to avoid stressing out the cpu by using a proper queue 2019-08-22 21:16:43 +02:00
Jakob Ketterl
faaef9d9f8 let's be nice 2019-08-22 20:51:36 +02:00
Jakob Ketterl
c5cc364918 filters don't seem to work 2019-08-22 20:51:09 +02:00
Jakob Ketterl
379251d29d filter smallest possible to avoid traffic from the network 2019-08-18 21:41:26 +02:00
Jakob Ketterl
94533e277c improve config 2019-08-18 01:39:23 +02:00
Jakob Ketterl
73102053dc code formatting 2019-08-18 00:16:08 +02:00
Jakob Ketterl
5fab3e3d36 add igate functionality 2019-08-18 00:15:07 +02:00
Jakob Ketterl
7e757c005c implement aprs data extensions 2019-08-17 22:04:45 +02:00
Jakob Ketterl
82eaff5da6 get altitude from comment 2019-08-17 20:35:32 +02:00
Jakob Ketterl
1eb28d6aee optimize 2019-08-17 20:20:28 +02:00
Jakob Ketterl
bdbe45e322 recognize third party data (don't think we can parse them) 2019-08-17 20:01:12 +02:00
Jakob Ketterl
34a8311647 remove annoying debugging line 2019-08-17 20:00:57 +02:00
Jakob Ketterl
5b72728aa2 timestamps, status updates, replace faulty characters 2019-08-17 13:39:02 +02:00
Jakob Ketterl
67f3dc7430 fix conversion errors 2019-08-16 16:43:16 +02:00
Jakob Ketterl
b40af9bbdc back to utf-8 2019-08-16 07:29:31 +02:00
Jakob Ketterl
cc66ffd6f3 use generated port numbers for direwolf, allowing multiple instances 2019-08-16 01:27:03 +02:00
Jakob Ketterl
5a7ef65c56 reduce debugging output 2019-08-15 23:33:02 +02:00
Jakob Ketterl
46ac0ecc77 convert speed to metric 2019-08-15 22:10:58 +02:00
Jakob Ketterl
cc6561bdda get course and speed and extended info from mic-e frames 2019-08-15 21:46:08 +02:00
Jakob Ketterl
3022406f63 get the extra information out of compressed messages 2019-08-15 21:00:01 +02:00
Jakob Ketterl
66382eb50f add symbol information 2019-08-15 20:28:24 +02:00
Jakob Ketterl
21591ad6b8 format 2019-08-15 19:56:59 +02:00
Jakob Ketterl
88bbb76752 make sure there is actually enough data to parse 2019-08-15 19:50:47 +02:00
Jakob Ketterl
765f075576 add some type information; fix string offsets 2019-08-15 18:21:35 +02:00
Jakob Ketterl
6b93973d9b decode mic-e device and altitude data 2019-08-15 18:08:20 +02:00
Jakob Ketterl
439da266a9 prevent empty frames 2019-08-15 15:53:55 +02:00
Jakob Ketterl
0207374592 restructure the code to have the parser sit where all the parsers sit 2019-08-15 15:45:15 +02:00
Jakob Ketterl
3dbc6ffb2b make aprs available as service 2019-08-12 00:02:39 +02:00
Jakob Ketterl
bf5e2bcc84 compressed locations; other TODOS 2019-08-11 22:58:04 +02:00
Jakob Ketterl
b80e85638a implement the horrifying mic-e protocol 2019-08-11 22:08:32 +02:00
Jakob Ketterl
12c92928fa pass through comments for display on the map 2019-08-11 18:42:41 +02:00
Jakob Ketterl
e5dffc3d9f better decoding 2019-08-11 18:13:12 +02:00
Jakob Ketterl
55c8ce7cf0 send decodes to map 2019-08-11 17:39:41 +02:00
Jakob Ketterl
cbb65e8d79 decode basic aprs frames 2019-08-11 17:18:02 +02:00
Jakob Ketterl
2053e5f521 get raw packet data from KISS socket and start decoding 2019-08-11 16:37:30 +02:00
Jakob Ketterl
5fbbd897b5 Merge branch 'develop' into packet 2019-08-11 11:53:29 +02:00
Jakob Ketterl
d467d79bdf code format with black 2019-08-11 11:37:45 +02:00
Jakob Ketterl
92321a3b4e simple metrics api to interface with collectd and grafana 2019-08-04 18:36:03 +02:00
Jakob Ketterl
766300bdff use latest improvementes for fft, too 2019-08-04 17:31:50 +02:00
Jakob Ketterl
8214fdb24d looks configurable to me, at least for now 2019-08-04 15:17:03 +02:00
Jakob Ketterl
42aae4c03a save some cpu cycles by only running necessary stuff for services 2019-08-04 14:55:56 +02:00
Jakob Ketterl
d1eaab7711 delay startup of background services to increase user interface response 2019-08-03 23:44:56 +02:00
Jakob Ketterl
98c5e9e15b allow service configuration 2019-07-28 13:29:45 +02:00
Jakob Ketterl
fa08009c50 more logging improvements 2019-07-28 12:11:22 +02:00
Jakob Ketterl
ce662796e3 Merge branch 'develop' into services 2019-07-28 11:45:55 +02:00
Jakob Ketterl
accf2a34ff fix exception when outside of band 2019-07-28 11:45:28 +02:00
Jakob Ketterl
a15e625692 de-duplicate; better logging 2019-07-28 11:40:58 +02:00
Jakob Ketterl
7689e31640 increase timeout 2019-07-23 20:28:51 +01:00
Jakob Ketterl
8c2cefe304 pass the nmux port on (defaults are bad...) 2019-07-23 16:43:46 +01:00
Jakob Ketterl
9c927d9001 first iteration of background services 2019-07-21 23:39:11 +02:00
Jakob Ketterl
2d6b0f1877 try to catch a failing sdr device 2019-07-21 22:13:20 +02:00
Jakob Ketterl
6c2488f052 fix shadowing warning 2019-07-21 22:12:41 +02:00
D0han
e15dc1ce11 Reformatted with black -l 120 -t py35 . 2019-07-21 19:40:28 +02:00
Jakob Ketterl
6900810f5d modify so that it runs with python 3.5, too 2019-07-21 13:07:38 +01:00
Jakob Ketterl
25b0e86f09 add FT4 because why not 2019-07-20 13:38:25 +02:00
Jakob Ketterl
18b65f769f better timestamping and overhaul 2019-07-20 12:47:10 +02:00
Jakob Ketterl
abd5cf0795 collect dial frequencies and send to client 2019-07-19 23:55:52 +02:00
Jakob Ketterl
6e08a428d6 import frequencies; fix band errors 2019-07-19 23:15:10 +02:00
Jakob Ketterl
4493f369dd enable 64-bit frames for large amounts of data 2019-07-19 17:01:50 +02:00
Jakob Ketterl
a15341fdcf detect and pass band information to the map 2019-07-14 19:32:48 +02:00
Jakob Ketterl
7dcfead843 let's try to implement jt65 and jt9 as well 2019-07-14 17:09:34 +02:00
Jakob Ketterl
69c3a63794 link the map in wpsr messages, too 2019-07-14 14:33:30 +02:00
Jakob Ketterl
6d5c8491e4 implement wspr 2019-07-13 23:16:25 +02:00
Jakob Ketterl
935e79c9c2 use a temporary directory to avoid permission problems 2019-07-13 17:16:38 +02:00
Jakob Ketterl
efc5b936f8 clean up after use 2019-07-12 19:34:04 +02:00
Jakob Ketterl
2470c2bfa6 pass through the mode on the map 2019-07-11 23:40:09 +02:00
Jakob Ketterl
d606c85443 separate decoder files 2019-07-11 20:48:02 +02:00
Jakob Ketterl
5887522dce header for feature report 2019-07-11 16:44:33 +02:00
Jakob Ketterl
2bf2fcd685 implement header on map page (not fully functional yet) 2019-07-11 13:40:12 +02:00
Jakob Ketterl
8a8768ed1d fix ft8 audio sample rate issues with sox 2019-07-10 22:31:06 +02:00
Jakob Ketterl
cb0b950d34 protect the wave file switchover with a lock, since race conditions have
occured
2019-07-10 22:09:31 +02:00
Jakob Ketterl
561ff95436 make wsjt feature available (not used yet) 2019-07-08 20:16:29 +02:00
Jakob Ketterl
30b56c553e strip one more character; seen weird stuff at the end. 2019-07-07 20:46:31 +02:00
Jakob Ketterl
8b5dc8b3ad fade out markers on the map over time 2019-07-07 20:46:12 +02:00
Jakob Ketterl
d1f46c8f55 server-side removal of map positions 2019-07-07 15:52:24 +02:00
Jakob Ketterl
1a257064f7 add missing parser integration 2019-07-07 14:10:03 +02:00
Jakob Ketterl
182a8af57f deliver better timestamps 2019-07-07 14:09:24 +02:00
Jakob Ketterl
ceea2475a1 get rid of the extra flags at the end 2019-07-07 00:52:28 +02:00
Jakob Ketterl
48baea3304 parse locators and send to map 2019-07-06 22:21:47 +02:00
Jakob Ketterl
a6d7209a45 explicit timezone information 2019-07-06 21:29:49 +02:00
Jakob Ketterl
fa2d82ac13 ft8 message parsing 2019-07-06 20:03:17 +02:00
Jakob Ketterl
284646ee6c first stab at ft8 decoding: chop up audio, call jt9 binary to decode 2019-07-06 18:21:43 +02:00
Jakob Ketterl
089964a5eb query parameter support for the http module 2019-07-06 13:03:49 +02:00
Jakob Ketterl
823a4a35f0 implement feature and requirement details 2019-07-05 22:31:46 +02:00
Jakob Ketterl
e61c0dcc12 add some basic framework for the featurereport 2019-07-05 19:30:24 +02:00
Jakob Ketterl
3b2b51f07c display locations parsed from ysf on map 2019-07-01 21:20:53 +02:00
Jakob Ketterl
2324a2c837 add google maps 2019-07-01 19:49:58 +02:00
Jakob Ketterl
a4a306374d add some map basics 2019-07-01 16:49:39 +02:00
Jakob Ketterl
f283a1ad68 prepare for different types of connections 2019-07-01 11:47:07 +02:00
Jakob Ketterl
1f6f755d7f Merge branch 'develop' into packet 2019-06-22 18:20:01 +02:00
Jakob Ketterl
231e4e72d9 add missing property binding 2019-06-15 21:47:28 +02:00
Jakob Ketterl
4e9ef89276 use the old api for python < 3.6 2019-06-15 19:26:59 +02:00
Jakob Ketterl
efa0c060fe implement digiham version check 2019-06-15 13:29:59 +02:00
Jakob Ketterl
2053a6b16b more clean-up stuff 2019-06-09 19:12:37 +02:00
Jakob Ketterl
b6e59e9b11 allow avatar to be downloaded on its old url 2019-06-07 20:23:31 +02:00
Jakob Ketterl
e8a1a40dc0 try to handle overflowing connections 2019-06-07 20:10:03 +02:00
Jakob Ketterl
4b2100b593 Merge branch 'server_rework' into server_rework_dsd 2019-06-07 15:55:15 +02:00
Jakob Ketterl
a38872b2d0 Merge branch 'server_rework' of github.com:jketterl/openwebrx into server_rework 2019-06-07 15:49:43 +02:00
Jakob Ketterl
e422ca4d9b add airspy support (untested for now) 2019-06-07 15:44:11 +02:00
Jakob Ketterl
f49086a527 add first integration of direwolf for aprs 2019-06-07 15:11:04 +02:00
Jakob Ketterl
aa7212c642 handle OSErrors, too 2019-06-07 01:14:09 +02:00
Jakob Ketterl
4934e91e74 increase timeout (it's asynchronous, so we can wait) 2019-06-05 00:13:54 +02:00
Jakob Ketterl
546249e950 detect presence of nc 2019-06-05 00:08:56 +02:00
Jakob Ketterl
b7fc6a9c87 connection handling fix 2019-06-04 00:39:22 +02:00
Jakob Ketterl
2121739925 make the cache global 2019-05-30 18:54:45 +02:00
Jakob Ketterl
f565b4dbcd download dmr ids asynchronously 2019-05-30 18:32:08 +02:00
Jakob Ketterl
7100d43d9e show callsigns for ham radio dmr ids 2019-05-30 17:19:46 +02:00
Jakob Ketterl
14f932eea8 parse metadata on the server side 2019-05-30 16:12:13 +02:00
Jakob Ketterl
224c895718 Merge branch 'server_rework' into server_rework_dsd 2019-05-19 22:25:37 +02:00
Jakob Ketterl
8a7aeca6b9 if_gain is optional, default is agc 2019-05-19 22:23:35 +02:00
Jakob Ketterl
a36eb55680 Merge branch 'server_rework' into server_rework_dsd 2019-05-19 22:10:39 +02:00
Jakob Ketterl
8091831b1f make both gains available for sdrplay 2019-05-19 22:10:11 +02:00
Jakob Ketterl
3a669294d7 check for gfsk_demodulator, too 2019-05-19 17:56:41 +02:00
Jakob Ketterl
e79c830db5 Merge branch 'server_rework' into server_rework_dsd 2019-05-19 13:36:49 +02:00
Jakob Ketterl
92abef7172 pass antenna parameter only if set 2019-05-19 13:36:05 +02:00
Jakob Ketterl
eb758685a1 add antenna switching support for sdrplay 2019-05-19 13:17:36 +02:00
Jakob Ketterl
edadc383ff make unvoiced quality actually work 2019-05-18 22:26:52 +02:00
Jakob Ketterl
0629e6c777 make the ambe unvoiced quality configurable 2019-05-18 22:10:43 +02:00
Jakob Ketterl
e6150e4aca introduce subscription concept to simplify unsubscribing from events 2019-05-18 21:38:15 +02:00
Jakob Ketterl
bd27d91529 resolve todo 2019-05-16 22:39:50 +02:00
Jakob Ketterl
4496fcc8b0 report client numbers on change only 2019-05-15 19:51:50 +02:00
Jakob Ketterl
cffb65e37d cpu usage fix 2019-05-15 19:43:52 +02:00
Jakob Ketterl
117d0483f7 streamline sdr and dsp integration 2019-05-15 11:44:03 +02:00
Jakob Ketterl
9812d38eee refactor dsp outputs
add digimode metadata
2019-05-14 23:30:03 +02:00
Jakob Ketterl
5733a5be9f separate dsd and digiham modes 2019-05-13 22:45:19 +02:00
Jakob Ketterl
2ddfa4d4f6 add sox feature dependency 2019-05-13 19:27:25 +02:00
Jakob Ketterl
2408d77f15 feature detection for digital voice; display modulator buttons only when
available
2019-05-13 19:19:15 +02:00
Jakob Ketterl
a85a6c694c improve shutdown handling 2019-05-12 18:10:24 +02:00
Jakob Ketterl
17a362fe7a no longer a template, no need for special file extension 2019-05-12 17:23:03 +02:00
Jakob Ketterl
da37d03104 refactor into more reasonable namespaces 2019-05-12 15:56:18 +02:00
Jakob Ketterl
210fe5352f refactor the sdr.hu updater into the new server, too 2019-05-12 14:35:25 +02:00
Jakob Ketterl
3c5aa89469 fix the mathbox / 3d spectrum 2019-05-11 17:55:32 +02:00
Jakob Ketterl
b34c1138b9 new version location + version increment 2019-05-11 14:18:43 +02:00
Jakob Ketterl
de84dc71e8 trim the config 2019-05-11 13:25:48 +02:00
Jakob Ketterl
8617997e23 fix dsp unavailability problems 2019-05-11 00:38:46 +02:00
Jakob Ketterl
1c4543b7bf re-implement the status page 2019-05-10 23:00:18 +02:00
Jakob Ketterl
dac35ae526 re-establish client reporting 2019-05-10 22:47:40 +02:00
Jakob Ketterl
abb5b65217 let's get rid of deprecations straight away 2019-05-10 22:17:53 +02:00
Jakob Ketterl
b91d24f8d2 more protection 2019-05-10 22:08:18 +02:00
Jakob Ketterl
475631a06f log exceptions correctly 2019-05-10 22:08:00 +02:00
Jakob Ketterl
e15359a106 use pythons logging infrastructure 2019-05-10 21:50:58 +02:00
Jakob Ketterl
859e3931c6 link spectrum closer to the sdr source, since the other solution is unstable 2019-05-10 20:59:06 +02:00
Jakob Ketterl
52098cf9f9 introduce protected client writes, to avoid hanging connections 2019-05-10 20:08:22 +02:00
Jakob Ketterl
1108cd9a96 fix some issues in multi-user operation 2019-05-10 19:40:31 +02:00
Jakob Ketterl
dd3a970497 various changes to stabilize sdr switchovers 2019-05-10 18:30:53 +02:00
Jakob Ketterl
7427fa3608 sdr profile selection frontend 2019-05-10 16:14:16 +02:00
Jakob Ketterl
08e0a0af19 start and shutdown dsps in a more controlled manner 2019-05-10 14:58:25 +02:00
Jakob Ketterl
bbd6412e3d test sdrs and their availability early on
use polymorphism to load sdrs in
2019-05-10 14:23:54 +02:00
Jakob Ketterl
56ef86aab6 multi-sdr capabilities! 2019-05-09 22:44:29 +02:00
Jakob Ketterl
bd627d77b7 misc 2019-05-09 20:11:21 +02:00
Jakob Ketterl
6eb37b989f handle property changes on the fft thread 2019-05-09 16:52:42 +02:00
Jakob Ketterl
7550a6294e monitor rtl shutdown and allow a sdr-specific sleep parameter 2019-05-09 16:12:32 +02:00
Jakob Ketterl
80d387743a add some caching for static assets 2019-05-09 16:12:05 +02:00
Jakob Ketterl
425517d576 fix favicon 2019-05-09 16:10:58 +02:00
Jakob Ketterl
bd7cd01359 stabilize dsp operation with a lock 2019-05-08 16:31:52 +02:00
Jakob Ketterl
4cd23cf445 more work to allow seamless config switching 2019-05-07 20:06:06 +02:00
Jakob Ketterl
35930f79f1 send a new config message when config properties haven been changed 2019-05-07 18:47:03 +02:00
Jakob Ketterl
9fc77c2804 some quick nudges to allow reconfiguration of the rtl_sdr command on the fly 2019-05-07 18:19:53 +02:00
Jakob Ketterl
fa05249a9d first steps towards a reconfigurable sdr source 2019-05-07 17:30:30 +02:00
Jakob Ketterl
7eaada4726 make sdrs configurable by type; move format_conversion forward 2019-05-07 17:09:29 +02:00
Jakob Ketterl
cb187fd3c2 improved property system 2019-05-07 16:32:53 +02:00
Jakob Ketterl
df9646aaf9 extended feature detection 2019-05-07 15:50:20 +02:00
Jakob Ketterl
e937f2bca3 implement client reconnect; remove some old code 2019-05-07 15:21:16 +02:00
Jakob Ketterl
f44ff3715f secondary demod now at least displaying something (and other small fixes) 2019-05-05 22:09:48 +02:00
Jakob Ketterl
7732b3f685 create maps the python way 2019-05-05 21:09:49 +02:00
Jakob Ketterl
1c2810ccb8 remove debugging 2019-05-05 21:09:01 +02:00
Jakob Ketterl
a4313c3340 add secondary demod (not working with my csdr atm, unable to test.) 2019-05-05 20:36:50 +02:00
Jakob Ketterl
628731cba4 require handshake 2019-05-05 20:12:36 +02:00
Jakob Ketterl
30f8244abf add feature detection 2019-05-05 19:59:03 +02:00
Jakob Ketterl
142a4c87bd proper shutdown of dsp thread 2019-05-05 19:46:13 +02:00
Jakob Ketterl
cb0d59de61 make receiver details dynamic 2019-05-05 17:52:26 +02:00
Jakob Ketterl
0da62dad82 add cpu usage 2019-05-05 17:34:40 +02:00
Jakob Ketterl
0f86796e75 get the s-meter back 2019-05-05 16:17:55 +02:00
Jakob Ketterl
716542107f use some of those properties 2019-05-05 15:51:33 +02:00
Jakob Ketterl
6c82c36915 get the squelch, too 2019-05-04 23:14:31 +02:00
Jakob Ketterl
f05afc4b0a get the audio going as well 2019-05-04 23:11:13 +02:00
Jakob Ketterl
6ec21e6716 send missing parameters for audio client startup 2019-05-04 20:40:13 +02:00
Jakob Ketterl
1f909080db we got fft 2019-05-04 20:26:11 +02:00
Jakob Ketterl
89690d214d first work on the websocket connection 2019-05-04 16:56:23 +02:00
Jakob Ketterl
bd8e665198 add new webserver infrastructure 2019-05-03 22:59:24 +02:00