norman0406 / lisa-old Goto Github PK
View Code? Open in Web Editor NEWOld repository for the first LISA attempt. Development is continued in https://github.com/Norman0406/LISA
License: GNU General Public License v3.0
Old repository for the first LISA attempt. Development is continued in https://github.com/Norman0406/LISA
License: GNU General Public License v3.0
add a vertical time scale to the overlay
add option to display waveform samples
Implement a messaging system to allow different modules to communicate to each other. The messaging system might use QVariant to exchange information.
create AudioOutput as corresponding to AudioInput
find an intuitive GUI design which can display all of the needed information while keeping the GUI simple (Should modules only display information in their respective widgets and the upper toolbar, or should they also be able to add dock widgets outside to the main application - to share it with other modules at the same time?)
implement smoothing for displaying the waterfall
implement a splash screen at the beginning and design it with gimp or appropriate open source software
subclass QNetworkAccessManager
and provide a general interface for all modules.
provide user defined scaling / clamping of displayed FFT data
Implement a way for modules to add widgets to the main application using signals and slots. A widget type can be identified by an enum like WT_TOOLBAR, WT_SIDEBAR, WT_MAIN etc. and the application adds the widget according to the type at the right position.
Find a more suitable project name. LISA as short name is not generally considered as related to amateur radio, and the project name might cause confusion about the project goals. Find a name that better represents the project of developing a generic amateur radio framework. Furthermore, LISA+ is a commercial product for traffic engineering.
Proposals until now:
add a mouse cross when moving the mouse around in the waterfall, displaying current mouse frequency, db value and time position
implement AGC
modify overlay contents according to widget scale, so that they don't overlap when resizing
add signal strength widget with same color coding as the waterfall
Implement DatabaseSqlite
to provide simple CRUD functionality and database-management
user can select a range in the waterfall and monitor only the selected range in the speakers
Write initial wiki entries, create a basic framework documentation and set up coding guidelines for contributers.
Provide basic functionality such as QSL SND/RCVD, label printing and contest reporting linked to data provided by Component-Logbook
create synchronizing means between running instances
When opening the options dialog under Windows, the following warning appears multiple times:
QWindowsNativeInterface::nativeResourceForWindow: 'handle' requested for null window or window without handle. ("qwindowsintegration.cpp" : void *__thiscall QWindowsNativeInterface::nativeResourceForWindow(const class QByteArray &,class QWindow *) : 117)
Implement a dashboard inside the main application to which other modules can add information (i.e. widgets). The dashboard will be shown as the first tab inside the main window. The widgets inside the dashboard might be sorted in a layout or a list view, collapsible, dynamic, etc.
enumerate audio devices and formats
create classes for DFT and iDFT
implement BPSK modem
implement RTTY modem
Implement logbook filter models by using QSortFilterProxyModel
. They can be used within filter-cascades and realize complex queries.
Further reading: http://qt-project.org/doc/qt-4.8/qsortfilterproxymodel.html
Is it an option to use color coding in the gui to improve and visualize usage of the different application modules?
On Linux (Ubuntu) disabling the digital module will cause a segmentation error. It is only present if the digital module is active and displaying the waterfall diagramm.
Otherwise everything seems to run smoothly.
This may relate to a bug in the threading-mechanism because the misbehavior is scattered over different instructions like functions in the AudiospectrumWorker
or AudioBuffer
.
implement Modem base class for different modem implementations
Add the possibility to enable / disable modules within the main application's option dialog. When disabling a module, it has to be removed from the application and the list of disabled modules has to be stored inside the settings. When the application restarts, only non-disabled modules have to be initialized. However, it should be possible to re-enable modules at runtime.
Why does the DC component seem to be leaking into surrounding bins? Maybe it is a matter of the window function?
add option to display current spectrum as a graph
implement AFC for waterfall to keep following the strongest signal within a certain frequency range
Create a logbook data model class by inheriting from QAbstractTableModel
Further reading: http://qt-project.org/doc/qt-4.8/qabstracttablemodel.html
implement QPSK modem
To provide some eye-candy and to ensure that the visual presentation is as clearly as possible assign self-explanatory icons to common actions.
I like the glyphicons, but it's just a recommendation
implement special widgets
create a DataStorage container which holds all the relevant user data from all the modules, then add specialized classes to store user data to
Implement exception handling system with appropriate GUI interaction to avoid the system from shutting down and present warnings and error messages to the user.
Implement a user management, such that a user can be changed at runtime, thus changing module data, application layouts and states, etc.
write logging output to a file to provide detailed information in case of crashes
Implement ADIF parser to import/export QSO data
move audio buffer calculations to separate worker threads
waterfall only uses direct FFT spectrum for displaying, modifies it according to display conversion, does not only add a line in the pixmap but can calculate the spectrum anew if changes to the display conversion occurred.
create global networking components which other modules can rely upon
Implement JSON parser:
IMO it's a cool feature to display a dashboard where you can browse through a (small) dataset of solar data which is based on the measurements of NOAA / Space Weather Predicition Center.
They provide realtime data as images and textfiles
As a good starting point consider the user guide
Some more visualizations: http://www.swpc.noaa.gov/aviation/index.html
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.