Giter Club home page Giter Club logo

lisa-old's People

Contributors

norman0406 avatar semaph0r avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

lisa-old's Issues

Messaging System

Implement a messaging system to allow different modules to communicate to each other. The messaging system might use QVariant to exchange information.

Audio output

create AudioOutput as corresponding to AudioInput

GUI design

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?)

Settings

  • Provide global settings for all modules, accessible via core
  • also create an alternative to the currently implemented property concept using QSettings (is it really type safe?)

Splash screen

implement a splash screen at the beginning and design it with gimp or appropriate open source software

implement networkinterface

subclass QNetworkAccessManager and provide a general interface for all modules.

  • singleton instance
  • signal/slots for internet-requests
  • multi-threading
  • tls

Module Signals/Slots

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.

Project name

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:

  • LISA
  • OpenRadio

Waterfall: Mouse cross

add a mouse cross when moving the mouse around in the waterfall, displaying current mouse frequency, db value and time position

QMake

  • create bin/ directory if it doesn't exist
  • adapt files and libraries for linux

Wiki

Write initial wiki entries, create a basic framework documentation and set up coding guidelines for contributers.

Create Module for QSL management

Provide basic functionality such as QSL SND/RCVD, label printing and contest reporting linked to data provided by Component-Logbook

Synchronization

create synchronizing means between running instances

  • the user shall be able to define a master instance, connected to all the hardware, and several (remote) client instances which show the data and provide interaction.
  • client instances must lock each other in case they share the same hardware
  • in case of slow network speed, necessary data may be buffered
  • if network speed allows, also voice operating is possible
    • find a suitable codec for network transport

Fix warning: nativeResourceForWindow

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)

Dashboard

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.

iDFT

create classes for DFT and iDFT

Color coding

Is it an option to use color coding in the gui to improve and visualize usage of the different application modules?

Disabling digital module cause crashes

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.

Modem

implement Modem base class for different modem implementations

  • gets relevant FFT data in a timeslot and outputs decoded text
  • gets text in and outputs the appropriate spectrum for a timeslot

Disable modules

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.

DC component leakage

Why does the DC component seem to be leaking into surrounding bins? Maybe it is a matter of the window function?

Fancy icons

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

Special widgets

implement special widgets

  • Database entry widget with expandable database line, displaying all the information not currently shown, statistics etc.
  • (un-)pinnable Dockwidget

Data storage container

create a DataStorage container which holds all the relevant user data from all the modules, then add specialized classes to store user data to

  • os specific user directory
  • cloud storage (dropbox, google drive etc)
  • backup locations

Exception handling

Implement exception handling system with appropriate GUI interaction to avoid the system from shutting down and present warnings and error messages to the user.

User management

Implement a user management, such that a user can be changed at runtime, thus changing module data, application layouts and states, etc.

Logging

write logging output to a file to provide detailed information in case of crashes

ADIF parser

Implement ADIF parser to import/export QSO data

Waterfall: persistent data

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.

Networking

create global networking components which other modules can rely upon

JSON parser

Implement JSON parser:

  • required by MongoDB

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.