Commit Graph

1198 Commits

Author SHA1 Message Date
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