Commit Graph

1100 Commits

Author SHA1 Message Date
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
Jakob Ketterl
7f3d421b25 introduce profile list 2021-02-20 23:45:06 +01:00
Jakob Ketterl
44250f9719 add some device details on the list page 2021-02-20 22:57:17 +01:00
Jakob Ketterl
c2e8ac516c introduce enums for state management 2021-02-20 22:54:07 +01:00
Jakob Ketterl
dd5ab32b47 set always-on default to false 2021-02-20 19:43:04 +01:00
Jakob Ketterl
361ed55b93 add more device-specific options 2021-02-20 19:20:31 +01:00
Jakob Ketterl
8b24eff72e add sdrplay specific options 2021-02-20 19:00:28 +01:00
Jakob Ketterl
18e8ca5e43 add bias_tee and direct_sampling options 2021-02-20 18:48:12 +01:00
Jakob Ketterl
0ab6729fcc create device descriptions for all 2021-02-20 18:09:24 +01:00
Jakob Ketterl
0e64f15e65 add more device inputs 2021-02-20 17:54:19 +01:00
Jakob Ketterl
058463a9b3 fix display and parsing issues 2021-02-20 00:36:18 +01:00
Jakob Ketterl
bd7e5b7166 implement individual gain stages option 2021-02-20 00:16:32 +01:00
Jakob Ketterl
d0d946e09f implement gain dialog with AGC option 2021-02-19 21:07:13 +01:00
Jakob Ketterl
86278ff44d wire data parsing and storage 2021-02-19 18:45:29 +01:00
Jakob Ketterl
039b57d28b add more inputs, bind to actual data 2021-02-19 18:18:25 +01:00
Jakob Ketterl
27c16c3720 add more inputs 2021-02-19 16:29:30 +01:00
Jakob Ketterl
3aa238727e start building device forms 2021-02-19 15:29:17 +01:00
Jakob Ketterl
4316832b95 input merging mechanism 2021-02-19 14:53:30 +01:00
Jakob Ketterl
bec61465c9 move device descriptions to owrx.source 2021-02-19 14:44:16 +01:00
Jakob Ketterl
012952f6f3 implement some basic infrastructure to present device forms 2021-02-19 00:46:52 +01:00
Jakob Ketterl
872c7a4bfd setup device list and routing for device pages 2021-02-19 00:03:25 +01:00
Jakob Ketterl
d65743f2ea rename template variable 2021-02-18 23:05:43 +01:00
Jakob Ketterl
c5585e290a undo javascript device configuration 2021-02-18 22:24:31 +01:00
Jakob Ketterl
54fde2c1c0 reuse existing template 2021-02-18 22:12:13 +01:00
Jakob Ketterl
d612792593 update permissions on write 2021-02-18 21:07:45 +01:00
Jakob Ketterl
06d4b24b09 handle config key not set 2021-02-18 15:27:05 +01:00
Jakob Ketterl
b7688c3c97 add infotext for custom html colors 2021-02-16 18:39:42 +01:00
Jakob Ketterl
691d88f841 waterfall config fine-adjustments
* hide the waterfall colors input when pre-defined color scheme is
  selected
* skip unparseable lines on custom color input
* fallback to black and white if custom color config is unusable
* always use the waterfall classes when sending changes to the client
2021-02-16 18:35:18 +01:00
Jakob Ketterl
9aebeb51f8 remove waterfall_colors unless scheme is custom 2021-02-16 18:12:10 +01:00
Jakob Ketterl
8d2763930b implement input for custom waterfall colors 2021-02-16 18:07:13 +01:00
Jakob Ketterl
409370aba2 implement custom waterfall option 2021-02-16 17:48:12 +01:00
Jakob Ketterl
9175629838 send waterfall colors to the client 2021-02-16 17:34:04 +01:00
Jakob Ketterl
3c0a26eaa8 prevent file corruption during json.dump 2021-02-16 17:17:09 +01:00
Jakob Ketterl
496e771e17 implement new waterfall color selection 2021-02-16 17:12:57 +01:00
Jakob Ketterl
c8496a2547 remove unused import 2021-02-16 15:59:31 +01:00
Jakob Ketterl
c2617fcfaf use a converter -> parsing done 2021-02-15 22:22:07 +01:00
Jakob Ketterl
1112334ea8 render inputs, mode dropdown 2021-02-15 22:14:56 +01:00
Jakob Ketterl
578f165bdc wording change 2021-02-15 20:20:53 +01:00
Jakob Ketterl
a664770881 change link targets to _blank 2021-02-15 20:20:32 +01:00
Jakob Ketterl
c0193e677c add an input for wsjt_decoding_depths 2021-02-15 20:19:43 +01:00
Jakob Ketterl
a72a11d3c7 fix old unsubscription todo 2021-02-15 17:25:46 +01:00
Jakob Ketterl
48a9c76c18 inline header variables 2021-02-15 17:12:17 +01:00
Jakob Ketterl
7f9c0539bb break out demodulation and decoding settings 2021-02-15 16:06:14 +01:00
Jakob Ketterl
e61dde7d0e separate background decoding 2021-02-15 15:56:17 +01:00
Jakob Ketterl
d998ab5c61 break out reporting into its own settings page 2021-02-15 15:49:44 +01:00
Jakob Ketterl
49640b5e33 generalize settings controller 2021-02-15 15:40:37 +01:00
Jakob Ketterl
391069653a split settings controller module (preparation to split general settings) 2021-02-15 15:29:02 +01:00
Jakob Ketterl
48c594fdae implement bookmark deletion 2021-02-14 16:51:16 +01:00
Jakob Ketterl
29a161b7b7 add the "add bookmarks" function 2021-02-14 16:21:09 +01:00
Jakob Ketterl
9b1659d3dd remove index (unused) 2021-02-14 14:48:32 +01:00
Jakob Ketterl
3d97d362b5 implement bookmark storage 2021-02-14 00:41:03 +01:00
Jakob Ketterl
8ea4d11e9c make the bookmarks table editable 2021-02-13 23:53:16 +01:00
Jakob Ketterl
48f26d00d6 add action column 2021-02-13 18:41:42 +01:00
Jakob Ketterl
3b60e0b737 display existing bookmarks in table 2021-02-13 18:35:15 +01:00
Jakob Ketterl
3e4ba42aab style settings page; add bookmark editor page 2021-02-13 17:08:56 +01:00
Jakob Ketterl
cda43b5c5c re-route settings urls 2021-02-13 16:44:14 +01:00
Jakob Ketterl
ae76470612 auto-reload bookmarks from file 2021-02-13 01:29:21 +01:00
Jakob Ketterl
5e51beac46 implement auto-reloading for bookmarks 2021-02-13 01:10:36 +01:00
Jakob Ketterl
8acfb8c1cf add configuration for max_client limit 2021-02-13 00:52:08 +01:00
Jakob Ketterl
7d88d83c36 handle empty file 2021-02-12 17:00:35 +01:00
Jakob Ketterl
aad757df36 remove experimental csdr settings 2021-02-11 22:51:50 +01:00
Jakob Ketterl
a8c93fd8d1 enable web config 2021-02-11 19:37:45 +01:00
Jakob Ketterl
f23fa59ac3 implement config layering 2021-02-11 19:31:44 +01:00
Jakob Ketterl
e926611307 break config module apart 2021-02-11 13:55:06 +01:00
Jakob Ketterl
0fd172edc3 check file contents; work with file extensions 2021-02-11 00:20:17 +01:00
Jakob Ketterl
64f827d235 loopify 2021-02-10 22:25:43 +01:00
Jakob Ketterl
1e72485425 implement temporary file cleanup 2021-02-10 22:24:43 +01:00
Jakob Ketterl
7097dc1cd8 ability to restore original image 2021-02-10 21:29:46 +01:00
Jakob Ketterl
8cf9b509c1 apply authorization to image upload 2021-02-10 20:32:07 +01:00
Jakob Ketterl
17c20d12e0 refactor authentication / authorization into a mixin 2021-02-10 20:21:45 +01:00
Jakob Ketterl
8422a33081 add information note about caching 2021-02-09 18:06:32 +01:00
Jakob Ketterl
75418baf06 apply cachebuster for form 2021-02-09 18:00:56 +01:00
Jakob Ketterl
9f17c941d1 generalize image upload form element 2021-02-09 17:54:02 +01:00
Jakob Ketterl
779aa33a4a add and resolve todos 2021-02-09 00:47:09 +01:00
Jakob Ketterl
7aa0f8b35d improve image handling 2021-02-09 00:38:59 +01:00
Jakob Ketterl
3b670016be implement uploading of top panorama, too 2021-02-09 00:12:53 +01:00
Jakob Ketterl
ad5daaae95 add exception for uploaded images 2021-02-08 23:44:10 +01:00
Jakob Ketterl
16d0e1a0d7 implement handling of uploaded files on save 2021-02-08 23:36:46 +01:00
Jakob Ketterl
4df5f19bd6 add todos 2021-02-08 23:30:44 +01:00
Jakob Ketterl
a1c024bfe2 implement dynamic file upload 2021-02-08 23:29:24 +01:00
Jakob Ketterl
2d72055070 organize 2021-02-08 20:30:12 +01:00
Jakob Ketterl
331e9627d6 implement forced password change for generated passwords 2021-02-08 18:30:54 +01:00
Jakob Ketterl
ed6594401c monitor user file modifications & reload if necessary 2021-02-08 17:24:59 +01:00
Jakob Ketterl
d9578cc5f4 thoroughly validate user 2021-02-08 17:09:22 +01:00
Jakob Ketterl
2c6b0e3d30 implement user list, enable, disable 2021-02-08 17:04:55 +01:00
Jakob Ketterl
b0c7abe362 implement form result parsing for q65 matrix 2021-02-08 16:32:00 +01:00
Jakob Ketterl
346f2af2fb update matrix generation with new abilities 2021-02-08 16:22:23 +01:00
Jakob Ketterl
902fc666c2 stricter q65 mode parsing and availability check 2021-02-08 15:58:37 +01:00
Jakob Ketterl
3a1e5ee73c avoid using tuples, they don't work in json (future config system) 2021-02-08 15:34:55 +01:00
Jakob Ketterl
a083042002 implement display of Q65 mode matrix 2021-02-08 15:16:04 +01:00
Jakob Ketterl
ce48892173 make dropdowns work with enums directly 2021-02-08 01:16:02 +01:00
Jakob Ketterl
5cfacac6c0 add aprs_igate_dir option 2021-02-08 01:00:00 +01:00
Jakob Ketterl
4758672c94 add aprs_igate_symbol 2021-02-08 00:43:39 +01:00
Jakob Ketterl
23fceb2998 add optional aprs fields and todos 2021-02-07 23:15:57 +01:00
Jakob Ketterl
e5bd78fd0c add fst4 and fst4w interval settings 2021-02-07 22:49:11 +01:00
Jakob Ketterl
8c4b9dd08a add settings for frequency_display_resolution and squelch_auto_margin 2021-02-07 22:40:03 +01:00
Jakob Ketterl
ba3a68c3fa a bit of styling for the settings 2021-02-07 22:09:06 +01:00
Jakob Ketterl
d920540021 fix receiver_keys textarea 2021-02-07 21:45:02 +01:00
Jakob Ketterl
47ecc26f28 add a wfm tau dropdown to the web settings 2021-02-07 21:36:08 +01:00
Jakob Ketterl
689cd49694 drop "experimental pipe settings" (will become unavailable in the
future)
2021-02-07 18:23:17 +01:00
Jakob Ketterl
b60a8a1af0 add the ability to put append a unit to inputs 2021-02-07 18:21:57 +01:00
Jakob Ketterl
8de70cd523 add receiver_keys to the settings page 2021-02-07 18:04:46 +01:00
Jakob Ketterl
25db7c716d change heading 2021-02-07 17:36:44 +01:00
Jakob Ketterl
88020b894e move aprs_symbols_path to new config 2021-02-07 00:21:57 +01:00
Jakob Ketterl
ee687d4e27 fix copy&paste fail 2021-02-06 23:17:43 +01:00
Jakob Ketterl
617bed91c4 fix config verification 2021-02-06 22:08:27 +01:00
Jakob Ketterl
9357d57a28 move temporary_directyr to core config; implement override logic 2021-02-06 21:55:47 +01:00
Jakob Ketterl
5d291b5b36 add pskreporter settings mappings 2021-02-06 21:01:59 +01:00
Jakob Ketterl
01c58327aa implement password reset command 2021-02-06 19:12:44 +01:00
Jakob Ketterl
d99669b3aa add "silent" flag to openwebrx-admin 2021-02-06 18:57:51 +01:00
Jakob Ketterl
e548d6a5de random salt for passwords 2021-02-06 18:43:37 +01:00
Jakob Ketterl
8806dc538e implement hashed passwords 2021-02-06 18:38:49 +01:00