norman0406 / lisa Goto Github PK
View Code? Open in Web Editor NEWLightweight Integrated System for Amateur Radio
License: GNU General Public License v3.0
Lightweight Integrated System for Amateur Radio
License: GNU General Public License v3.0
Currently FFTW includes will not work on linux which interferes the qDebug
statement of Qt within the digital plugin leading to build errors.
Use standard CSV file to import / export the logbook database.
Create the general database structure for a logbook database. Tables might include
This is just a suggestion. Change it and add new tables as required.
QMetaProperty::read: Unable to handle unregistered datatype 'QsoEntry::Mode' for property 'Logbook::Internal::QsoEntry::Mode'
class QsoEntry
: public QObject
{
Q_OBJECT
enum FrequencyBand
{
BAND_UNKNOWN,
BAND_160M,
BAND_80M,
BAND_40M,
BAND_30M,
BAND_20M,
BAND_17M,
BAND_15M,
BAND_12M,
BAND_10M,
BAND_6M,
BAND_2M,
BAND_70CM,
BAND_23CM,
BAND_13CM,
// UNDONE
};
enum Mode
{
MODE_AM,
MODE_FM,
MODE_SSB,
MODE_USB,
MODE_LSB,
MODE_PSK,
MODE_RTTY,
// UNDONE
};
Q_PROPERTY(int ID MEMBER m_id)
Q_PROPERTY(QDateTime DateTime MEMBER m_time)
Q_PROPERTY(QString CallsignTo MEMBER m_callsign)
Q_PROPERTY(QString Operator MEMBER m_operator)
Q_PROPERTY(int Frequency MEMBER m_frequency)
Q_PROPERTY(QsoEntry::Mode Mode MEMBER m_mode)
Q_PROPERTY(int RstSent MEMBER m_rstSent)
Q_PROPERTY(int RstRcvd MEMBER m_rstRcvd)
Q_PROPERTY(QString Comment MEMBER m_comment)
There are different web services that can be used to query more information on amateur radio callsigns.
The QRZ.com API is well documented. I would suggest using this one first. Create an abstract base class for database lookup and structures that contain callsign information. Derive a specific class for the callsign service, i.e. QRZ.com, and fetch information from the returned XML using the newest API version. See here for the XML specification. You have to provide a username and password to obtain a session key, so use HTTPS if possible. I will acquire a paid account soon, so we can retrieve all available information.
There are also offline sources like callsign cd media, etc, that could theoretically be used in the same way.
Implement API calls to retrieve cluster data
Implement ADIF Import class
Selfupdating Clock widget which stops ticking after user started entering data
This ticket collects name suggestions. We will use it to brainstorn in order to find a name that better fits the program purpose.
Find and implement a design for the logbook entry form dialog. All the information that can be saved for a QSO should be presented here. These include several categories like
Use a horizontal layout for the logbook entry form dialog, since the whole pane is oriented horizontally. The layout should also resize and adapt dynamically.
Implement the cabrillo specification for contest log interchange. See the specification.
Add the logbook table view widget that connects to a specific logbook database and displays all information contained in the logbook table. Adding and editing entries should be done with the logbook entry widget, see #12.
It would be cool to reference some additional ressources (blog, tutorials, how-tos, ...) within the wiki regarding to Qt's plugin architecture and how it is used (adopted) developing plugins for LISA.
Furthermore point out some design guidelines which will prevent us from cluttered source code.
IMode should implement a pure virtual function for a tab bar priority, similar to IOutputPane. The tab bar priority should reflect the intended position of the mode in the left mode selector. Also, the application should automatically select the last selected mode when starting up, or select the first available mode on first startup.
logbookformdialog
Edit mode
logbookformdialog
is present.Implement hamlib for transceiver control. A very basic example can be found here.
File formats
599
if field is emptyfrequency
is empty and band
is setCreate different views for the same database using proxy models. There should be a manager dialog in which new views can be created by assigning database fields to new columns and reordering existing columns. The view should be selected with a drop down menu in the main logbook view toolbar.
Please provide additional information about TRAVIS CI and how it can be used in this project.
Some questions:
Create a settings dialog that saves and restores digital-related settings to the QSettings file. Investigate how this is done in general in the core plugin and in the original QtCreator source.
Implement an RTTY modem in QtRtty and merge it back once it is working.
Add a widget that connects to the logbook database and creates new / edits logbook entries. The widget should provide all information that could theoretically be added for a QSO. Different categories could be grouped in a tabbed view.
Defines
Database Schema
_logbook_profile_
Add the possibility to create multiple profiles in the options dialog. Use the profiles in the logbook entry dialog to update logbook entries.
Overview:
Apparently Fldigi opens up a socket for inter-process communication. See here for an example. Interfacing the logbook with Fldigi is important since the program is quite popular and our digital modes plugin is not yet working. This way, people can start using our logbook while using Fldigi for digial mode operation.
QSettings stores settings in ini format. A more cleaner way would be to use JSON instead, so implement a settings class that uses JSON to store settings. Additionally, the settings entries should be grouped by plugin and individual plugin-internal groups.
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.