Commit Graph

1211 Commits

Author SHA1 Message Date
Jakob Ketterl 83feb2c0e0 parse individual connector versions 2021-05-17 23:57:37 +02:00
Jakob Ketterl 33a942707c allow slots to be off in the daylight scheduler 2021-05-17 23:23:25 +02:00
Jakob Ketterl 8550f10d88 allow svg to be gzipped 2021-05-14 23:10:17 +02:00
Jakob Ketterl 4f0d4983ca introduce http timeout; single router instance 2021-05-14 18:36:30 +02:00
Jakob Ketterl d34ac58e73 use placeholder for device and profile in tabs as well 2021-05-14 16:00:29 +02:00
Jakob Ketterl ee8688345e display a placeholder if device name is empty 2021-05-14 15:52:18 +02:00
Jakob Ketterl 4b969fa3b2
Merge pull request #235 from jancona/hpsdr_config
Set proper config options for HPSDR connector
2021-05-12 21:13:37 +02:00
Jakob Ketterl 1020c9bac9 improve form validation
* don't ingore errors in optional fields
* don't attempt parsing if key is not present in upload
* force display of fields with errors
2021-05-12 16:22:45 +02:00
Jim Ancona 87b9a52fcb Don't filter inputs, add a validator for RF Gain 2021-05-11 11:21:52 -04:00
Jakob Ketterl 2d2f9bed40 add empty __init__.py (PEP420 doesn't always work...) 2021-05-11 14:28:35 +02:00
Jim Ancona e37bc0573d Set proper config options for HPSDR connector 2021-05-10 20:35:49 -04:00
Jakob Ketterl 301b3b59a5 fix linter issues 2021-05-10 23:02:43 +02:00
Jakob Ketterl 40c78940ef don't close twice 2021-05-10 21:27:40 +02:00
Jakob Ketterl a006d8c125 bumb develop to the next minor version 2021-05-09 16:06:03 +02:00
Jakob Ketterl 0c9d37e381 Merge branch 'develop' into release-1.0 2021-05-08 21:10:58 +02:00
Jakob Ketterl dc848a7006 fix bandwidth calculation for single-service groups 2021-05-08 00:59:57 +02:00
Jakob Ketterl 093ad6cd0d improve oversampling for resampling 2021-05-08 00:38:00 +02:00
Jakob Ketterl fd26acca68 don't resample when there's only one service 2021-05-08 00:37:30 +02:00
Jakob Ketterl 3daf005c81 Merge branch 'develop' into release-1.0 2021-05-07 17:53:51 +02:00
Jakob Ketterl 484b829b90 fix problem when switching image file types 2021-05-07 17:19:11 +02:00
Jakob Ketterl ad8877f83c add webp support for uploadable images 2021-05-07 16:57:54 +02:00
Jakob Ketterl f86487f459 prepare release 1.0.0 2021-05-06 19:27:43 +02:00
Jakob Ketterl 7fc7fe5e82 fix audio chopper mode timestamp problem 2021-05-05 22:55:20 +02:00
Jakob Ketterl cd935c0dcb check for empty return 2021-05-04 16:05:44 +02:00
Jakob Ketterl a17690dc91 clear session cookie if invalid 2021-05-03 23:22:28 +02:00
Jakob Ketterl fe1a1207e6 implement session timeout 2021-05-03 23:07:27 +02:00
Jakob Ketterl 041e8930bf don't send native deletions 2021-05-03 19:28:03 +02:00
Jakob Ketterl d9fe604171 improve error handling on file switches 2021-05-02 00:07:24 +02:00
Jakob Ketterl 290f67735d improve decoding file switchover 2021-05-02 00:06:50 +02:00
Jakob Ketterl 11568256ed remove unused imports 2021-05-01 16:51:02 +02:00
Jakob Ketterl 2152184bf9 fix compatibility issues with python 3.5 2021-05-01 16:49:53 +02:00
Jakob Ketterl f8971ac704 protect against low-level errors during switching 2021-04-30 01:20:33 +02:00
Jakob Ketterl af553c422d implement file size upload limit 2021-04-29 18:18:18 +02:00
Jakob Ketterl 29bce9e07a refactor: move form stuff out of source code 2021-04-29 15:28:18 +02:00
Jakob Ketterl 35dcff90ea refactor owrx.form -> owrx.form.input 2021-04-29 15:17:21 +02:00
Jakob Ketterl 4a77d2cc38 fill error variable with an empty string for the device list 2021-04-27 23:19:48 +02:00
Jakob Ketterl c6e01eed1a implement top-level error handling 2021-04-27 18:23:59 +02:00
Jakob Ketterl 118335b2b6 lock on dsp to avoid race conditions 2021-04-27 16:58:23 +02:00
Jakob Ketterl 0c7b0d2eaa improve dsp control handling 2021-04-27 01:58:20 +02:00
Jakob Ketterl cb8ec3c760 improve sdr device state handling 2021-04-27 01:44:30 +02:00
Jakob Ketterl e408c66702 switch condition sequencing to get better error messages 2021-04-27 01:15:56 +02:00
Jakob Ketterl d97d66c787 move logging config to the top again 2021-04-27 00:53:45 +02:00
Jakob Ketterl 96ada02e38 initialize logging first 2021-04-27 00:47:33 +02:00
Jakob Ketterl ae729990ca let's see if we can override the loglevel this way 2021-04-27 00:45:14 +02:00
Jakob Ketterl afc4fc2d00 improve logging configuration 2021-04-27 00:33:52 +02:00
Jakob Ketterl 25d04f4cbc exclude keys that have been moved to openwebrx.conf 2021-04-26 21:27:15 +02:00
Jakob Ketterl 5a60869f8e check for contents of bookmark files to improve migration 2021-04-26 21:05:33 +02:00
Jakob Ketterl 4691987cc4 fix config command 2021-04-26 19:34:50 +02:00
Jakob Ketterl 05985ff46a add command for explicit migration 2021-04-26 19:27:12 +02:00
Jakob Ketterl a6ed578a0f handle sdr device and profile name changes 2021-04-25 00:48:45 +02:00
Jakob Ketterl 71b0fa968b merge openwebrx-admin into openwebrx 2021-04-24 19:39:48 +02:00
Jakob Ketterl bd29f9c572 dc_block is part of the digiham package 2021-04-20 01:07:06 +02:00
Jakob Ketterl 8b5cf9983e display a hint if no bookmarks are in the system 2021-04-18 21:15:02 +02:00
Jakob Ketterl 77de488521 mark last breadcrumb active 2021-04-18 19:25:29 +02:00
Jakob Ketterl 52b535c608 remove id input from new profile page 2021-04-18 19:17:27 +02:00
Jakob Ketterl 05ea11f5d1 introduce generated device ids 2021-04-18 19:04:43 +02:00
Jakob Ketterl e8cf014903 introduce breadcrumbs in the web config 2021-04-18 17:49:13 +02:00
Jakob Ketterl 1968e15237 fix for submit for path routed environments 2021-04-18 16:30:02 +02:00
Jakob Ketterl da698e7a3c fix login for path routed environment 2021-04-18 15:59:05 +02:00
Jakob Ketterl b9db64d4f9 fix device links for path-route environments 2021-04-18 15:40:46 +02:00
Jakob Ketterl 5ec0005f81 remove digimodes_enable setting since it no longer works 2021-04-18 00:50:13 +02:00
Jakob Ketterl 1b8153c461 rename default profiles 2021-04-18 00:03:18 +02:00
Jakob Ketterl dae32f2e95 return an empty layer if no config is available 2021-04-17 23:56:32 +02:00
Jakob Ketterl b4c2923dd2 add some info text 2021-04-17 18:00:13 +02:00
Jakob Ketterl 68739724d4 make the sdr type dropdown show beautiful names 2021-04-17 17:42:08 +02:00
Jakob Ketterl 4993a56235 use a single connection to avoid the managing overhead 2021-04-11 21:04:13 +02:00
Jakob Ketterl cb3cb50cbd fix chopper startup 2021-04-11 20:10:49 +02:00
Jakob Ketterl 7e4671afe4 Improve profile handling
* introduce profile sources
* subscriptions can handle config change events
* web config changes to profile changes will now take effect immediately
2021-04-11 18:46:21 +02:00
Jakob Ketterl 19c8432371 always perform shutdown tasks 2021-04-11 18:42:35 +02:00
Jakob Ketterl 9351e4793c merge AudioHandler and AudioChopper; split audio module 2021-04-11 14:40:28 +02:00
Jakob Ketterl 1f91908e06 maybe this will suit the unittest loader better 2021-04-10 02:12:18 +02:00
Jakob Ketterl e210c3a667 group audio writers by interval 2021-04-09 20:15:03 +02:00
Jakob Ketterl 9c4d7377d0 more type hints that don't work... circular imports... broken :( 2021-04-09 18:37:00 +02:00
Jakob Ketterl 8ce1192811 type hinting is invalid. this shouldn't work, but obviously type hinting
is broken. remove :(
2021-04-09 18:29:36 +02:00
Jakob Ketterl d18a4c83ac don't send bookmarks if the parameters are not available 2021-04-09 18:29:08 +02:00
Jakob Ketterl bbad34cec3 move wsjt/js8 decisions out of csdr 2021-04-09 18:16:25 +02:00
Jakob Ketterl 22ec80c8ea make decoding queue settings work from the web config 2021-04-07 18:57:42 +02:00
Jakob Ketterl 5487861da1 make wsprnet and pskreporter settings work from the web config 2021-04-07 17:54:14 +02:00
Jakob Ketterl ebd4d93908 add note about background decoding 2021-04-07 16:23:13 +02:00
Jakob Ketterl fcbaa4f22a implement aprs config changes 2021-04-07 16:20:10 +02:00
Jakob Ketterl c0ca216e4d make "digimodes_fft_size" work from web config 2021-04-05 17:18:30 +02:00
Jakob Ketterl a9990f1f41 remove redpitaya source (working with hpsdr_connector) 2021-04-05 15:48:03 +02:00
Jakob Ketterl b877d8439a fix "remote" mappings for rtl_tcp and soapy_remote 2021-04-02 21:46:21 +02:00
Jakob Ketterl 6cca37a9df fix runds "remote" input mapping 2021-04-02 21:44:51 +02:00
Jakob Ketterl 7a2f62a307 fix name 2021-04-02 21:43:46 +02:00
Jakob Ketterl 96cce831ef don't tab into the exponent selector input 2021-03-31 01:28:38 +02:00
Jakob Ketterl 0abd121fda inline location-picker 2021-03-31 01:22:39 +02:00
Jakob Ketterl 3696272ef7 inline nmux_memory since i've never seen the need to change it 2021-03-31 00:23:36 +02:00
Jakob Ketterl 5a7c12dfac expose waterfall auto adjustment settings in web config 2021-03-31 00:18:06 +02:00
Jakob Ketterl 170b720e48 restructure config 2021-03-31 00:00:38 +02:00
Jakob Ketterl 1b9e77982d make "new bookmark" api work with arrays 2021-03-30 18:30:08 +02:00
Jakob Ketterl 2d142e45ed implement dialog to import personal bookmarks 2021-03-30 18:19:23 +02:00
Jakob Ketterl af211739fb confirmation modal before deleting bookmarks 2021-03-28 16:51:34 +02:00
Jakob Ketterl 6796699e35 don't redirect XHR calls to the login page, 403 instead 2021-03-27 23:45:21 +01:00
Jakob Ketterl 65443eb0ba improve event handling 2021-03-27 23:40:10 +01:00
Jakob Ketterl 29c0f7148a re-work the bookmarks table to incorporate the improved frequency input 2021-03-27 23:08:43 +01:00
Jakob Ketterl 287a04be94 send updated bookmarks to clients on the fly 2021-03-25 15:25:15 +01:00
Jakob Ketterl 20cd3f6efe more inputs that can display errors 2021-03-25 15:02:59 +01:00
Jakob Ketterl 69237c0bb4 make more inputs display errors 2021-03-25 14:48:09 +01:00
Jakob Ketterl 383c08ed48 implement tuning precision dropdown 2021-03-24 23:43:19 +01:00
Jakob Ketterl 19496d46a3 fix form evaluation for optional fields 2021-03-24 23:17:50 +01:00
Jakob Ketterl 6ddced4689 implement basic error handling and validation for forms 2021-03-24 22:46:51 +01:00
Jakob Ketterl 4cbce9c840 always remove device props on switch, fixes device failover 2021-03-24 20:47:04 +01:00
Jakob Ketterl b01792c3d2 fix deletion of sdrs when there's no changes 2021-03-24 17:25:59 +01:00
Jakob Ketterl 5f7daba3b2 move the default sdrs to the new defaults file 2021-03-24 17:19:49 +01:00
Jakob Ketterl a90f77e545 retain the redirect url on login failure 2021-03-24 16:53:01 +01:00
Jakob Ketterl d50d08ad2c add a robots.txt to exclude certain routes for search engines 2021-03-24 16:08:13 +01:00
Jakob Ketterl deeaccba12 profile as properties, live sync additions and removals with the client 2021-03-24 15:57:25 +01:00
Jakob Ketterl c9d303c43e remove "configurable_keys" hack 2021-03-21 15:19:40 +01:00
Jakob Ketterl acee318dae make the frontend resume when an sdr device becomes present 2021-03-21 00:14:18 +01:00
Jakob Ketterl 8fa1796037 re-start connection sdr if no sdr was available before 2021-03-20 23:30:09 +01:00
Jakob Ketterl 2a82f4e452 wire profile transmission into active sdr device hash 2021-03-20 23:14:29 +01:00
Jakob Ketterl 341e254640 fix shutdown iteration 2021-03-20 17:24:00 +01:00
Jakob Ketterl d872152cc8 restore python 3.5 compatibility 2021-03-20 17:23:35 +01:00
Jakob Ketterl 3b9763eee5 fix device deletion 2021-03-20 02:16:08 +01:00
Jakob Ketterl cfeab98620 hook up service handling to new device events 2021-03-20 01:56:07 +01:00
Jakob Ketterl 792f76f831 turn the dict of active sources into a living PropertyManager 2021-03-20 01:10:18 +01:00
Jakob Ketterl c58ebfa657 readonly also prevents deletion 2021-03-20 00:54:45 +01:00
Jakob Ketterl c50473fea5 implement device shutdown on deletion or lack of profiles 2021-03-18 22:59:46 +01:00
Jakob Ketterl f1619b81fe use the right method 2021-03-18 22:24:53 +01:00
Jakob Ketterl 364c7eb505 show more information on the sdr settings page 2021-03-18 21:53:59 +01:00
Jakob Ketterl 9dcf342b13 fix scheduler behavior on enable / disable 2021-03-18 21:17:23 +01:00
Jakob Ketterl d573561c67 activate enable / disable cycle 2021-03-18 19:59:10 +01:00
Jakob Ketterl 37e7331627 fix device failover (concurrent modification problem) 2021-03-18 19:47:11 +01:00
Jakob Ketterl b25a673829 refactor state handling: uncouple failed and enabled flags 2021-03-18 19:34:53 +01:00
Jakob Ketterl 916f19ac60 mapping sdr device layer 2021-03-18 18:59:38 +01:00
Jakob Ketterl 620771eaf2 use a property layer right from the start 2021-03-18 18:58:29 +01:00
Jakob Ketterl 161408dbf4 handle deletions correctly 2021-03-06 23:48:31 +01:00
Jakob Ketterl e0985c3802 fix status page 2021-03-06 23:34:27 +01:00
Jakob Ketterl 3d20e3ed80 simplify api by abstracting layer changes 2021-03-06 22:20:47 +01:00
Jakob Ketterl ff9f771e1b handle the resampler 2021-03-05 19:44:45 +01:00
Jakob Ketterl 4c5ec23ba7 remove profile list from sdr device index 2021-03-05 19:44:25 +01:00
Jakob Ketterl 1b44229ec3 clean up profile handling 2021-03-05 19:28:54 +01:00
Jakob Ketterl 2e28694b49 implement profile removal behaviour 2021-03-05 19:09:51 +01:00
Jakob Ketterl 2ba2ec38e0 new profile carousel implementation reacts to new profiles 2021-03-05 18:57:09 +01:00
Jakob Ketterl a3cfde02c4 re-wire profile add & delete 2021-03-05 18:32:16 +01:00
Jakob Ketterl a14f247859 make the add button look more like the remove button 2021-03-05 18:07:19 +01:00
Jakob Ketterl 45e9bd12a5 hightlight "new profile" link 2021-03-05 17:51:19 +01:00
Jakob Ketterl 190c90ccdf tab styling 2021-03-05 17:43:15 +01:00
Jakob Ketterl 60df3afe26 add tab navigation to profile and device pages 2021-03-04 22:14:10 +01:00
Jakob Ketterl 4e14b29537 apply type="button" on all buttons to make submit on enter work 2021-03-03 23:25:00 +01:00
Jakob Ketterl 3814200452 implement device and profile deletion 2021-03-03 23:07:41 +01:00
Jakob Ketterl a9dbedee6d consistent wording 2021-03-03 22:35:57 +01:00
Jakob Ketterl 8671f98c14 implement "add profile" sequence 2021-03-03 22:33:37 +01:00
Jakob Ketterl 400ed3541d update "new sdr" routing too to avoid conflicts 2021-03-03 22:10:19 +01:00
Jakob Ketterl 03315d7960 switch url scheme to avoid conflicts 2021-03-03 21:55:49 +01:00
Jakob Ketterl d123232f28 implement device and profile delete modals 2021-03-03 21:51:33 +01:00
Jakob Ketterl eab1c6ce80 remove profile list from device page; make links work 2021-03-03 15:38:15 +01:00
Jakob Ketterl fdbb76bca1 add working redirect after device add completes 2021-03-03 15:30:33 +01:00
Jakob Ketterl c0b7cf5f8d resolve the ugly assets_prefix hack 2021-03-03 15:24:18 +01:00
Jakob Ketterl 37d89c074b implement "new device" page (redirects not working yet) 2021-03-03 00:16:28 +01:00
Jakob Ketterl 2b1dc76e48 add profile list to the device page 2021-03-02 20:28:49 +01:00
Jakob Ketterl e0b289b6a5 remove debugging message 2021-03-02 20:19:48 +01:00
Jakob Ketterl d81f0ae96c change display precision behavior to reference Hertz 2021-03-01 01:19:06 +01:00
Jakob Ketterl 6bd47cf914 implement property carousel for profile switching 2021-03-01 00:26:56 +01:00
Jakob Ketterl c7db144f7b add name input for profiles 2021-02-28 21:26:55 +01:00
Jakob Ketterl d0ddf72b10 fix typo 2021-02-28 21:04:43 +01:00
Jakob Ketterl 0537e23e38 make a more generic ExponentialInput and use that for the sample_rate input 2021-02-27 23:14:41 +01:00
Jakob Ketterl 7a0c934af5 use frequency input for the other inputs, too 2021-02-27 22:44:48 +01:00
Jakob Ketterl c389d3b619 implement a frequency input with switchable exponent 2021-02-27 22:15:19 +01:00
Jakob Ketterl ccdb010e9d more information on the sdr list 2021-02-27 20:48:37 +01:00
Jakob Ketterl 36c4a16fb5 move to settings module 2021-02-27 01:16:03 +01:00
Jakob Ketterl e9cb5d54be send changed keys over websocket connection for the map 2021-02-27 01:00:38 +01:00
Jakob Ketterl ad3ed1e626 disconnect clients if the max_clients setting is lowered 2021-02-27 00:01:21 +01:00
Jakob Ketterl 0a76801a03 activate "service_decoder" setting 2021-02-26 23:50:58 +01:00
Jakob Ketterl 3164683e74 handle device shudown when schedule is off 2021-02-26 22:36:15 +01:00
Jakob Ketterl 4e7f02fc2c activate more scheduler and service settings 2021-02-26 21:27:42 +01:00
Jakob Ketterl 0231d98ab8 wire "services_enabled" setting 2021-02-26 17:53:32 +01:00
Jakob Ketterl 412e0a51c7 implement property deletion handling; activate scheduler deletion 2021-02-26 01:12:03 +01:00
Jakob Ketterl 91c4d6f568 make scheduler respond to config changes 2021-02-25 22:19:05 +01:00
Jakob Ketterl d8b3974728 use floats; explicit conversion 2021-02-25 20:50:40 +01:00
Jakob Ketterl 5cd9d386a6 combine waterfall_[min|max]_level into a single config 2021-02-25 15:13:39 +01:00
Jakob Ketterl f6f0a87002 this todo is resolved 2021-02-25 00:38:23 +01:00
Jakob Ketterl 8c767be53a add inputs for perseus 2021-02-24 23:54:46 +01:00
Jakob Ketterl bccb87e660 handle deletions in the top layer 2021-02-24 23:04:57 +01:00
Jakob Ketterl 0c1dc70217 Make the apply button always visible 2021-02-24 23:04:23 +01:00
Jakob Ketterl 388d9d46fe prevent runtime properties in the config 2021-02-24 22:30:28 +01:00
Jakob Ketterl 2785f43c6a implement adding and removing scheduler slots 2021-02-24 21:09:19 +01:00
Jakob Ketterl 45a70a1079 parse values from form 2021-02-24 20:17:43 +01:00
Jakob Ketterl 2d823b2945 render scheduler profile inputs 2021-02-24 19:56:07 +01:00
Jakob Ketterl 65758a0098 start implementing scheduler input (daylight works) 2021-02-24 17:12:23 +01:00
Jakob Ketterl ea96038201 remove unused imports 2021-02-24 12:31:53 +01:00
Jakob Ketterl f69d78926e create filtering that prevents overwriting the device name 2021-02-24 00:09:57 +01:00
Jakob Ketterl 4199a583f8 fix agc parameter 2021-02-23 23:24:30 +01:00
Jakob Ketterl dfaecdb357 use hierarchical property layers to make config changes effective
immediately
2021-02-23 23:23:37 +01:00
Jakob Ketterl 631232fe7c make AGC optional 2021-02-23 20:02:38 +01:00
Jakob Ketterl f9772faa6f add separator before the optional inputs dropdown 2021-02-23 19:23:54 +01:00
Jakob Ketterl 4e32d724c4 fix storing profiles 2021-02-23 18:41:49 +01:00
Jakob Ketterl c5df6a1527 implement profile editing page 2021-02-23 18:32:23 +01:00
Jakob Ketterl ed258cc9a0 fill in gain stages for hackrf 2021-02-23 17:40:06 +01:00
Jakob Ketterl 437943c26c fill in airspy gain stages 2021-02-23 17:36:16 +01:00
Jakob Ketterl d15d9d8c76 remove implicit optional handling for optional fields 2021-02-23 00:27:29 +01:00
Jakob Ketterl 436010ffe3 implement explicit removal of non-present keys 2021-02-23 00:12:22 +01:00
Jakob Ketterl 679f99d701 change checkbox handling to detect presence 2021-02-23 00:11:51 +01:00
Jakob Ketterl 1eff7a3b69 fix typo 2021-02-22 23:52:57 +01:00
Jakob Ketterl 54a34b2084 implement optional device fields 2021-02-22 23:49:28 +01:00
Jakob Ketterl 9beb3b9168 remove the label attribute from the checkboxes 2021-02-22 00:57:02 +01:00
Jakob Ketterl 770fd749cd introduce the basic concept of optional keys 2021-02-22 00:35:47 +01:00
Jakob Ketterl 683a711b49 fix bias_tee for hackrf 2021-02-21 18:11:28 +01:00
Jakob Ketterl bd31fa5149 add the ability to disable devices 2021-02-21 18:11:08 +01:00