Merged from trunk:

------------------------------------------------------------------------
r7997 | k1jt | 2017-08-03 19:18:34 +0100 (Thu, 03 Aug 2017) | 2 lines

More User Guide updates.

------------------------------------------------------------------------
r7998 | bsomervi | 2017-08-04 19:03:54 +0100 (Fri, 04 Aug 2017) | 5 lines

Optimize decoded text display to limit heap usage

Decoded  text line  now  use  considerably less  heap  memory as  they
accumulate. This change also limits the maximum number of decode lines
saved per session to 5000.
------------------------------------------------------------------------
r7999 | k1jt | 2017-08-04 19:07:23 +0100 (Fri, 04 Aug 2017) | 1 line

Text and figs for User Guide on Frequency Calibration.  Still need same for Reference Spectrum and Equalization.
------------------------------------------------------------------------
r8000 | bsomervi | 2017-08-04 23:00:20 +0100 (Fri, 04 Aug 2017) | 1 line

Add missing MOC generated source include
------------------------------------------------------------------------
r8001 | bsomervi | 2017-08-04 23:00:35 +0100 (Fri, 04 Aug 2017) | 1 line

Remove \r and \n from process stdout so Windows looks like everthing else
------------------------------------------------------------------------



git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx-1.8@8002 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Bill Somerville 2017-08-04 22:12:06 +00:00
parent 445882b7bc
commit 3b48f94e4d
21 changed files with 196 additions and 131 deletions

View File

@ -8,6 +8,8 @@
#include "revision_utils.hpp" #include "revision_utils.hpp"
#include "pimpl_impl.hpp" #include "pimpl_impl.hpp"
#include "moc_SplashScreen.cpp"
class SplashScreen::impl class SplashScreen::impl
{ {
public: public:

View File

@ -8,7 +8,7 @@
class SplashScreen final class SplashScreen final
: public QSplashScreen : public QSplashScreen
{ {
Q_OBJECT; Q_OBJECT
public: public:
SplashScreen (); SplashScreen ();

View File

@ -3,8 +3,8 @@
#include <QMouseEvent> #include <QMouseEvent>
#include <QDateTime> #include <QDateTime>
#include <QTextCharFormat> #include <QTextCharFormat>
#include <QFont>
#include <QTextCursor> #include <QTextCursor>
#include <QTextBlock>
#include "qt_helpers.hpp" #include "qt_helpers.hpp"
@ -16,22 +16,25 @@ DisplayText::DisplayText(QWidget *parent) :
setReadOnly (true); setReadOnly (true);
viewport ()->setCursor (Qt::ArrowCursor); viewport ()->setCursor (Qt::ArrowCursor);
setWordWrapMode (QTextOption::NoWrap); setWordWrapMode (QTextOption::NoWrap);
setStyleSheet (""); document ()->setMaximumBlockCount (5000); // max lines to limit heap usage
} }
void DisplayText::setContentFont(QFont const& font) void DisplayText::setContentFont(QFont const& font)
{ {
setFont (font); char_font_ = font;
m_charFormat.setFont (font);
selectAll (); selectAll ();
auto cursor = textCursor (); auto cursor = textCursor ();
cursor.mergeCharFormat (m_charFormat); cursor.beginEditBlock ();
auto char_format = cursor.charFormat ();
char_format.setFont (char_font_);
cursor.mergeCharFormat (char_format);
cursor.clearSelection (); cursor.clearSelection ();
cursor.movePosition (QTextCursor::End); cursor.movePosition (QTextCursor::End);
// position so viewport scrolled to left // position so viewport scrolled to left
cursor.movePosition (QTextCursor::Up); cursor.movePosition (QTextCursor::Up);
cursor.movePosition (QTextCursor::StartOfLine); cursor.movePosition (QTextCursor::StartOfLine);
cursor.endEditBlock ();
setTextCursor (cursor); setTextCursor (cursor);
ensureCursorVisible (); ensureCursorVisible ();
@ -50,29 +53,35 @@ void DisplayText::insertLineSpacer(QString const& line)
appendText (line, "#d3d3d3"); appendText (line, "#d3d3d3");
} }
void DisplayText::appendText(QString const& text, QString const& bg) void DisplayText::appendText(QString const& text, QColor bg)
{ {
QString escaped {text.trimmed().replace('<',"&lt;").replace('>',"&gt;").replace(' ', "&nbsp;")};
QString s = "<table border=0 cellspacing=0 width=100%><tr><td bgcolor=\"" +
bg + "\">" + escaped + "</td></tr></table>";
auto cursor = textCursor (); auto cursor = textCursor ();
cursor.movePosition (QTextCursor::End); cursor.movePosition (QTextCursor::End);
auto pos = cursor.position (); auto block_format = cursor.blockFormat ();
cursor.insertHtml (s); block_format.setBackground (bg);
cursor.setPosition (pos, QTextCursor::MoveAnchor); if (0 == cursor.position ())
cursor.movePosition (QTextCursor::End, QTextCursor::KeepAnchor); {
cursor.mergeCharFormat (m_charFormat); cursor.setBlockFormat (block_format);
cursor.clearSelection (); auto char_format = cursor.charFormat ();
char_format.setFont (char_font_);
cursor.setCharFormat (char_format);
}
else
{
cursor.insertBlock (block_format);
}
cursor.insertText (text);
// position so viewport scrolled to left // position so viewport scrolled to left
cursor.movePosition (QTextCursor::Up); cursor.movePosition (QTextCursor::Up);
cursor.movePosition (QTextCursor::StartOfLine); cursor.movePosition (QTextCursor::StartOfLine);
setTextCursor (cursor); setTextCursor (cursor);
ensureCursorVisible (); ensureCursorVisible ();
document ()->setMaximumBlockCount (document ()->maximumBlockCount ());
} }
QString DisplayText::_appendDXCCWorkedB4(QString message, QString const& callsign, QString * bg, QString DisplayText::appendDXCCWorkedB4(QString message, QString const& callsign, QColor * bg,
LogBook logBook, QColor color_CQ, LogBook logBook, QColor color_CQ,
QColor color_DXCC, QColor color_DXCC,
QColor color_NewCall) QColor color_NewCall)
@ -110,18 +119,18 @@ QString DisplayText::_appendDXCCWorkedB4(QString message, QString const& callsig
if (!countryWorkedBefore) // therefore not worked call either if (!countryWorkedBefore) // therefore not worked call either
{ {
message += "!"; message += "!";
*bg = color_DXCC.name(); *bg = color_DXCC;
} }
else else
if (!callWorkedBefore) // but have worked the country if (!callWorkedBefore) // but have worked the country
{ {
message += "~"; message += "~";
*bg = color_NewCall.name(); *bg = color_NewCall;
} }
else else
{ {
message += " "; // have worked this call before message += " "; // have worked this call before
*bg = color_CQ.name(); *bg = color_CQ;
} }
charsAvail -= 1; charsAvail -= 1;
@ -165,14 +174,14 @@ void DisplayText::displayDecodedText(DecodedText decodedText, QString myCall,
QColor color_CQ, QColor color_MyCall, QColor color_CQ, QColor color_MyCall,
QColor color_DXCC, QColor color_NewCall) QColor color_DXCC, QColor color_NewCall)
{ {
QString bg="white"; QColor bg {Qt::white};
bool CQcall = false; bool CQcall = false;
if (decodedText.string ().contains (" CQ ") if (decodedText.string ().contains (" CQ ")
|| decodedText.string ().contains (" CQDX ") || decodedText.string ().contains (" CQDX ")
|| decodedText.string ().contains (" QRZ ")) || decodedText.string ().contains (" QRZ "))
{ {
CQcall = true; CQcall = true;
bg=color_CQ.name(); bg = color_CQ;
} }
if (myCall != "" and ( if (myCall != "" and (
decodedText.indexOf (" " + myCall + " ") >= 0 decodedText.indexOf (" " + myCall + " ") >= 0
@ -180,13 +189,13 @@ void DisplayText::displayDecodedText(DecodedText decodedText, QString myCall,
or decodedText.indexOf ("/" + myCall + " ") >= 0 or decodedText.indexOf ("/" + myCall + " ") >= 0
or decodedText.indexOf ("<" + myCall + " ") >= 0 or decodedText.indexOf ("<" + myCall + " ") >= 0
or decodedText.indexOf (" " + myCall + ">") >= 0)) { or decodedText.indexOf (" " + myCall + ">") >= 0)) {
bg=color_MyCall.name(); bg = color_MyCall;
} }
// if enabled add the DXCC entity and B4 status to the end of the // if enabled add the DXCC entity and B4 status to the end of the
// preformated text line t1 // preformated text line t1
auto message = decodedText.string (); auto message = decodedText.string ();
if (displayDXCCEntity && CQcall) if (displayDXCCEntity && CQcall)
message = _appendDXCCWorkedB4 (message, decodedText.CQersCall (), &bg, logBook, color_CQ, message = appendDXCCWorkedB4 (message, decodedText.CQersCall (), &bg, logBook, color_CQ,
color_DXCC, color_NewCall); color_DXCC, color_NewCall);
appendText (message, bg); appendText (message, bg);
} }
@ -195,7 +204,6 @@ void DisplayText::displayDecodedText(DecodedText decodedText, QString myCall,
void DisplayText::displayTransmittedText(QString text, QString modeTx, qint32 txFreq, void DisplayText::displayTransmittedText(QString text, QString modeTx, qint32 txFreq,
QColor color_TxMsg, bool bFastMode) QColor color_TxMsg, bool bFastMode)
{ {
QString bg=color_TxMsg.name();
QString t1=" @ "; QString t1=" @ ";
if(modeTx=="FT8") t1=" ~ "; if(modeTx=="FT8") t1=" ~ ";
if(modeTx=="JT4") t1=" $ "; if(modeTx=="JT4") t1=" $ ";
@ -211,12 +219,11 @@ void DisplayText::displayTransmittedText(QString text, QString modeTx, qint32 tx
t = QDateTime::currentDateTimeUtc().toString("hhmm") + \ t = QDateTime::currentDateTimeUtc().toString("hhmm") + \
" Tx " + t2 + t1 + text; " Tx " + t2 + t1 + text;
} }
appendText(t,bg); appendText (t, color_TxMsg);
} }
void DisplayText::displayQSY(QString text) void DisplayText::displayQSY(QString text)
{ {
QString t = QDateTime::currentDateTimeUtc().toString("hhmmss") + " " + text; QString t = QDateTime::currentDateTimeUtc().toString("hhmmss") + " " + text;
QString bg="hot pink"; appendText (t, "hotpink");
appendText(t,bg);
} }

View File

@ -3,11 +3,13 @@
#define DISPLAYTEXT_H #define DISPLAYTEXT_H
#include <QTextEdit> #include <QTextEdit>
#include <QFont>
#include "logbook/logbook.h" #include "logbook/logbook.h"
#include "decodedtext.h" #include "decodedtext.h"
class DisplayText
class DisplayText : public QTextEdit : public QTextEdit
{ {
Q_OBJECT Q_OBJECT
public: public:
@ -22,20 +24,18 @@ public:
QColor color_TxMsg, bool bFastMode); QColor color_TxMsg, bool bFastMode);
void displayQSY(QString text); void displayQSY(QString text);
signals: Q_SIGNAL void selectCallsign (bool alt, bool ctrl);
void selectCallsign(bool alt, bool ctrl);
public slots: Q_SLOT void appendText (QString const& text, QColor bg = Qt::white);
void appendText(QString const& text, QString const& bg = "white");
protected: protected:
void mouseDoubleClickEvent(QMouseEvent *e); void mouseDoubleClickEvent(QMouseEvent *e);
private: private:
QString _appendDXCCWorkedB4(QString message, QString const& callsign, QString * bg, LogBook logBook, QString appendDXCCWorkedB4(QString message, QString const& callsign, QColor * bg, LogBook logBook,
QColor color_CQ, QColor color_DXCC, QColor color_NewCall); QColor color_CQ, QColor color_DXCC, QColor color_NewCall);
QTextCharFormat m_charFormat; QFont char_font_;
}; };
#endif // DISPLAYTEXT_H #endif // DISPLAYTEXT_H

View File

@ -22,6 +22,7 @@ set (UG_SRCS
controls-functions-status-bar.adoc controls-functions-status-bar.adoc
controls-functions-wide-graph.adoc controls-functions-wide-graph.adoc
cooperating-programs.adoc cooperating-programs.adoc
decoder_notes.adoc
faq.adoc faq.adoc
font-sizes.adoc font-sizes.adoc
install-from-source.adoc install-from-source.adoc
@ -29,11 +30,11 @@ set (UG_SRCS
install-mac.adoc install-mac.adoc
install-windows.adoc install-windows.adoc
introduction.adoc introduction.adoc
measurement_tools.adoc
protocols.adoc protocols.adoc
logging.adoc logging.adoc
make-qso.adoc make-qso.adoc
new_features.adoc new_features.adoc
odds_and_ends.adoc
platform-dependencies.adoc platform-dependencies.adoc
protocols.adoc protocols.adoc
settings-advanced.adoc settings-advanced.adoc

View File

@ -25,7 +25,7 @@ and audio Tx frequency.
* Check the box *Lock Tx=Rx* to make the frequencies always track one * Check the box *Lock Tx=Rx* to make the frequencies always track one
another. another.
TIP: In general we do not recommend using *Lock Tx=Rx* since it IMPORTANT: In general we do not recommend using *Lock Tx=Rx* since it
encourages poor radio etiquette when running a frequency. With this encourages poor radio etiquette when running a frequency. With this
box checked, your own Tx frequency will move around following your box checked, your own Tx frequency will move around following your
callers. callers.

View File

@ -90,15 +90,3 @@ End of line information::
`R` - Return code from QRA64 decoder + `R` - Return code from QRA64 decoder +
`T` - Length of analyzed region (s) `T` - Length of analyzed region (s)
=== Reference Spectrum
WSJT-X provides a tool that can be used to determine the detailed
shape of your receiver's passband. Disconnect your antenna or tune to
a quiet frequency with no signals. With WSJT-X running in one of the
slow modes, select *Measure reference spectrum* from the *File* menu.
Wait for about a minute and then hit the *Stop* button. A file named
`refspec.dat` should appear in your log directory.
[ ... more to come ...]

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -31,10 +31,10 @@ lie in the range 30 to 1 dB, and values are significantly compressed
above about -10 dB. JT9 supports the extended range 50 to +49 dB and above about -10 dB. JT9 supports the extended range 50 to +49 dB and
assigns more reliable numbers to relatively strong signals. assigns more reliable numbers to relatively strong signals.
NOTE: Signals become visible on the waterfall around S/N = 26 dB NOTE: Signals become visible on the waterfall around S/N = 26 dB and
and audible (to someone with very good hearing) around 15 audible (to someone with very good hearing) around 15 dB. Thresholds
dB. Thresholds for decodability are around -23 dB for JT4, 24 dB for for decodability are around -20 dB for FT8, -23 dB for JT4, 25 dB for
JT65, 26 dB for JT9. JT65, 27 dB for JT9.
=== Free-Text Messages === Free-Text Messages
@ -50,11 +50,11 @@ or rag-chewing.
=== Auto-Sequencing === Auto-Sequencing
The slow modes JT4, JT9, JT65, and QRA64 allow nearly 10 seconds at The slow modes JT4, JT9, JT65, and QRA64 allow nearly 10 seconds at
the end of each one-minute receiving sequence in which you can inspect the end of each one-minute receiving sequence -- enough time for you
decoded messages and decide how to reply. With its 15-second T/R to inspect decoded messages and decide how to reply. The 15-second
cycles, FT8 allows only about two seconds for this task. For this T/R cycles of FT8 allow only about two seconds for this task, which is
reason a basic auto-sequencing feature is offered. Check *Auto Seq* often not enough. For this reason a basic auto-sequencing feature is
on the main window to enable this feature: offered. Check *Auto Seq* on the main window to enable this feature:
image::auto-seq.png[align="center",alt="AutoSeq"] image::auto-seq.png[align="center",alt="AutoSeq"]
@ -62,7 +62,7 @@ When calling CQ you may also choose to check the box *Call 1st*.
_WSJT-X_ will then respond automatically to the first decoded _WSJT-X_ will then respond automatically to the first decoded
responder to your CQ. responder to your CQ.
TIP: When *Auto-Seq* is enabled the program will de-activate *Enable NOTE: When *Auto-Seq* is enabled the program de-activates *Enable
Tx* at the end of each QSO. We do not want _WSJT-X_ to make fully Tx* at the end of each QSO. We do not want _WSJT-X_ to make fully
automated QSOs. automated QSOs.
@ -129,7 +129,7 @@ In each case, the compound callsign is treated as *Type 2* because the
add-on prefix or suffix is _not_ one of those in the fixed list. Note add-on prefix or suffix is _not_ one of those in the fixed list. Note
that a second callsign is never permissible in these messages. that a second callsign is never permissible in these messages.
TIP: During a transmission your outgoing message is displayed in the NOTE: During a transmission your outgoing message is displayed in the
first label on the *Status Bar* and shown exactly as another station first label on the *Status Bar* and shown exactly as another station
will receive it. You can check to see that you are actually will receive it. You can check to see that you are actually
transmitting the message you wish to send. transmitting the message you wish to send.

View File

@ -0,0 +1,74 @@
=== Frequency Calibration
Many _WSJT-X_ capabilities depend on signal-detection bandwidths no
more than a few Hz. Frequency accuracy and stability are therefore
unusually important. We provide tools to enable accurate frequency
calibration of your radio, as well as precise frequency measurement of
on-the-air signals. The calibration procedure works by automatically
cycling your CAT-controlled radio through a series of preset
frequencies of carrier-based signals at reliably known frequencies,
measuring the error in dial frequency for each signal.
You will probably find it convenient to define and use a special
<<CONFIG-MENU,Configuration>> dedicated to frequency calibration.
Then complete the following steps, as appropriate for your system.
- Switch to FreqCal mode
- In the _Working Frequencies_ box on the *Settings -> Frequencies*
tab, delete any default frequencies for *FreqCal* mode that are not
relevant for your location. You may want to replace some of them with
reliably known frequencies receivable at your location.
TIP: We find major-city AM broadcast stations generally serve well as
frequency calibrators at the low frequency end of the spectrum. In
North America we also use the standard time-and-frequency broadcasts
of WWV at 2.500, 5.000, 10.000, 15.000, and 20.000 MHz, and CHU at
3.330, 7.850, and 14.670 MHz. Similar shortwave signals are available
in other parts of the world.
- During the calibration procedure, the radio's USB dial frequency is
offset 1500 Hz below each *FreqCal* entry in the default frequencies
list. As shown in the ecreen shot below, detected signal carriers
therefore appear at about 1500 Hz in the WSJT-X waterfall.
image::FreqCal.png[align="left",alt="FreqCal"]
With modern synthesized radios, small measured offsets from 1500 Hz
will exhibit a straight-line dependence on frequency. You can
approximate the calibration of your radio by simply dividing the
measured frequency offset (in Hz) at the highest reliable frequency by
the nominal frequency itself (in MHz). For example, the 20 MHz
measurement for WWV shown above produced a measured tone offset of
24.6 Hz, displayed in the _WSJT-X_ decoded text window. The resulting
calibration constant is 24.6/20=1.23 parts per million. This number
may be entered as *Slope* on the *settings -> Frequencies* tab.
A more precise calibration can be effected by fitting the intercept
and slope of a straight line to the whole sequence of calibration
measurements, as shown for these measurements in the graph plotted
below. Software tools for completing this task are included with the
_WSJT-X_ installation, and detailed instructions for their use are
available at https://physics.princeton.edu/pulsar/k1jt/FMT_User.pdf.
Using these tools and no specialized hardware beyond your
CAT-interfaced radio, you can calibrate the radio to better than 1 Hz
and compete very effectively in the ARRL's periodic Frequency
Measuring Tests.
image::FreqCal_Graph.png[align="left",alt="FreqCal_Graph"]
=== Reference Spectrum
WSJT-X provides a tool that can be used to determine the detailed
shape of your receiver's passband. Disconnect your antenna or tune to
a quiet frequency with no signals. With WSJT-X running in one of the
slow modes, select *Measure reference spectrum* from the *Tools* menu.
Wait for about a minute and then hit the *Stop* button. A file named
`refspec.dat` will appear in your log directory.
[ ... TBD ... ]
=== Equalization
[ ... TBD ... ]

View File

@ -17,15 +17,15 @@ added to _WSJT-X_ since Version 1.7.0:
windows windows
- New set of suggested default frequencies specific to the three IARU - New set of suggested default frequencies specific to the three IARU
Regions. regions
- Enhanced scheme for managing table of suggested default operating - Enhanced scheme for managing table of suggested default operating
frequencies frequencies
- Improved CAT control for many radios, including those controlled - Improved CAT control for many radios, including those controlled
through Commander or OmniRig. through Commander or OmniRig
- Bug fixes and tweaks to user interface - Bug fixes and minor tweaks to user interface
=== Documentation Conventions === Documentation Conventions

View File

@ -11,10 +11,6 @@ purposes a good setting is 6 or 7.
decodes using Deep Search. Higher numbers will display results decodes using Deep Search. Higher numbers will display results
with lower confidence levels. with lower confidence levels.
- Check *FT8 and MSK144 Contest Mode* to enable generation and
auto-sequencing of MSK144 messages with four-character grid locators
in place of signal reports.
- Check *Two-pass decoding* to enable a second decoding pass after - Check *Two-pass decoding* to enable a second decoding pass after
signals producing first-pass decodes have been subtracted from the signals producing first-pass decodes have been subtracted from the
received data stream. received data stream.
@ -35,6 +31,10 @@ IMPORTANT: For the health of your T/R relays and external
preamplifier, we strongly recommend using a hardware sequencer and preamplifier, we strongly recommend using a hardware sequencer and
testing to make sure that sequencing is correct. testing to make sure that sequencing is correct.
- Check *FT8 and MSK144 Contest Mode* to enable generation and
auto-sequencing of MSK144 messages with four-character grid locators
in place of signal reports.
- Check *x 2 Tone spacing* to generate Tx audio with twice the normal - Check *x 2 Tone spacing* to generate Tx audio with twice the normal
tone spacing. This feature is intended for use with specialized LF/MF tone spacing. This feature is intended for use with specialized LF/MF
transmitters that divide the audio waveform by 2 before further transmitters that divide the audio waveform by 2 before further

View File

@ -37,5 +37,5 @@ window is displayed.
- _Remember power settings by band_: Checking either of these will - _Remember power settings by band_: Checking either of these will
cause _WSJT-X_ to remember the *Pwr* slider setting for that operation cause _WSJT-X_ to remember the *Pwr* slider setting for that operation
on a band-by-band basis. For example, when *Tune* is checked here and on a band-by-band basis. For example, when *Tune* is checked here and
you click the *Tune* on the main window, the power slider will change you click the *Tune* button on the main window, the power slider will
to the most recent setting used for *Tune* on the band in use. change to the most recent setting used for *Tune* on the band in use.

View File

@ -17,6 +17,6 @@ NOTE: If you are using a callsign with an add-on prefix or
suffix, or wish to work a station using such a call, be sure to read suffix, or wish to work a station using such a call, be sure to read
the section <<COMP-CALL,Compound Callsigns>>. the section <<COMP-CALL,Compound Callsigns>>.
IMPORTANT: Enabling VHF/UHF/Microwave features necessarily disables NOTE: Enabling VHF/UHF/Microwave features necessarily disables the
the wideband multi-decode capability of JT65. In most circumstances wideband multi-decode capability of JT65. In most circumstances you
you should turn this feature off when operating at HF. should turn this feature off when operating at HF.

View File

@ -2,9 +2,9 @@
image::RadioTab.png[align="center",alt="Radio Tab"] image::RadioTab.png[align="center",alt="Radio Tab"]
_WSJT-X_ offers CAT (Computer Aided Transceiver) control of the _WSJT-X_ offers CAT (Computer Aided Transceiver) control of relevant
relevant features of most modern transceivers. To configure the features of most modern transceivers. To configure the program for
program for your radio, select the *Radio* tab. your radio, select the *Radio* tab.
- Select your radio type from the drop-down list labeled *Rig*, or - Select your radio type from the drop-down list labeled *Rig*, or
*None* if you do not wish to use CAT control. *None* if you do not wish to use CAT control.

View File

@ -2,13 +2,13 @@
- SSB transceiver and antenna - SSB transceiver and antenna
- Computer running Windows (XP or later), Linux, or OS X - Computer running Windows (XP or later), Linux, or OS X
- 1.5 GHz or faster CPU and 200 MB of available memory. (MSK144 - 1.5 GHz or faster CPU and 200 MB of available memory; faster
especially benefits from a multi-core CPU) machines are better
- Monitor with at least 1024 x 780 resolution - Monitor with at least 1024 x 780 resolution
- Computer-to-radio interface using a serial port or equivalent USB - Computer-to-radio interface using a serial port or equivalent USB
device for T/R switching, or CAT control, or VOX, as required for device for T/R switching, or CAT control, or VOX, as required for
your radio-to-computer connections your radio-to-computer connections
- Audio input and output devices supported by the operating system and - Audio input and output devices supported by the operating system and
configured for sample rate 48000 Hz. configured for sample rate 48000 Hz, 16 bits
- Audio or equivalent USB connections between transceiver and computer - Audio or equivalent USB connections between transceiver and computer
- A means for synchronizing the computer clock to UTC within ±1 second - A means for synchronizing the computer clock to UTC within ±1 second

View File

@ -46,9 +46,9 @@ clicks or glitches. Make sure that this is true even when you
simultaneously use the computer to do other tasks such as email, web simultaneously use the computer to do other tasks such as email, web
browsing, etc. browsing, etc.
* Adjust the *Pwr" slider (at the right edge of the main window) * Adjust the *Pwr* slider (at right edge of main window) downward from
downward from its maximum until the RF output from your transmitter its maximum until the RF output from your transmitter falls slightly.
falls slightly. This is generally a good level for audio drive. This is generally a good level for audio drive.
* Toggle the *Tune* button once more or click *Halt Tx* to stop your * Toggle the *Tune* button once more or click *Halt Tx* to stop your
test transmission. test transmission.

View File

@ -46,5 +46,5 @@ This behavior is desirable so that you will not inadvertently change
your Tx frequency to that of a tail-ender who called you somewhere your Tx frequency to that of a tail-ender who called you somewhere
else in the FT8 subband. else in the FT8 subband.
IMPORTANT: When finished with this Tutorial, dont forget to re-enter IMPORTANT: When finished with this Tutorial, don't forget to re-enter
your own callsign as *My Call* on the *Settings | General* tab. your own callsign as *My Call* on the *Settings | General* tab.

View File

@ -68,7 +68,7 @@ include::install-from-source.adoc[]
Select *Settings* from the *File* menu or by typing *F2*. (On Select *Settings* from the *File* menu or by typing *F2*. (On
Macintosh select *Preferences* from the _WSJT-X_ menu, or use the Macintosh select *Preferences* from the _WSJT-X_ menu, or use the
keyboard shortcut *Cmd+,*). The following sections describe setup keyboard shortcut *Cmd+,*). The following sections describe setup
options available on each of seven tabs selectable near the top of the options available on each of eight tabs selectable near the top of the
window. window.
[[GENERAL]] [[GENERAL]]
@ -110,12 +110,12 @@ include::transceiver-setup.adoc[]
[[TUTORIAL]] [[TUTORIAL]]
== Basic Operating Tutorial == Basic Operating Tutorial
<<TUT_MAIN,Sections 6.1>> through <<TUT_EX2,6.4>> introduce basic user This section introduces the basic user controls and program behavior
controls and program behavior of _WSJT-X_. We suggest that new users of _WSJT-X_, with particular emphasis on the JT9, JT65, and FT8 modes.
should go through the full HF-oriented tutorial, preferably while at We suggest that new users should go through the full HF-oriented
your radio. Subsequent sections cover additional details on tutorial, preferably while at your radio. Subsequent sections cover
<<MAKE_QSOS,Making QSOs>>, <<WSPR,WSPR mode>> and <<VHF_AND_UP,VHF+ additional details on <<MAKE_QSOS,Making QSOs>>, <<WSPR,WSPR mode>>
Features>>. and <<VHF_AND_UP,VHF+ Features>>.
[[TUT_MAIN]] [[TUT_MAIN]]
=== Main Window Settings === Main Window Settings
@ -184,9 +184,13 @@ include::controls-functions-wide-graph.adoc[]
== Logging == Logging
include::logging.adoc[] include::logging.adoc[]
[[ODDS_AND_ENDS]] [[DECODER_NOTES]]
== Odds and Ends == Decoder Notes
include::odds_and_ends.adoc[] include::decoder_notes.adoc[]
[[MEASUREMENT_TOOLS]]
== Measurement Tools
include::measurement_tools.adoc[]
[[COOP_PGMS]] [[COOP_PGMS]]
== Cooperating Programs == Cooperating Programs
@ -213,17 +217,6 @@ include::astro_data.adoc[]
== Utility Programs == Utility Programs
include::utilities.adoc[] include::utilities.adoc[]
////
[[TXRX]]
== Implementation Details
include::implementation.adoc[]
[[TROUBLE_SHOOTING]]
== Troubleshooting
To be added (?) ...
////
[[SUPPORT]] [[SUPPORT]]
== Support == Support
include::support.adoc[] include::support.adoc[]

View File

@ -2718,7 +2718,7 @@ void MainWindow::readFromStdout() //readFromStdout
} }
DecodedText decodedtext; DecodedText decodedtext;
decodedtext = t.replace(QChar::LineFeed,""); //t.replace(QChar::LineFeed,"").mid(0,t.length()-4); decodedtext = QString::fromUtf8 (t.constData ()).remove (QRegularExpression {"\r|\n"});
//Left (Band activity) window //Left (Band activity) window
if(!bAvgMsg) { if(!bAvgMsg) {