Bill Somerville
837821b117
Merge branch 'develop' into feat-boost-log
2020-10-01 19:55:53 +01:00
Bill Somerville
0c0adbdaab
Fix widget foreground when forcing the background colour
...
This is required so as to maintain good contrast between foreground
and background elements when the widget colour palette is changed,
e.g. when using a lights out style sheet.
2020-10-01 12:58:09 +01:00
Joe Taylor
9200c3e27a
Add NB = -3% option to cycle through NB=0, 1, 2, 3, ... 20%.
2020-09-30 13:32:03 -04:00
Joe Taylor
b56ce23f38
Implement optional x2/x4 tone spacings for FST4 and FST4W.
2020-09-30 10:01:57 -04:00
Joe Taylor
541c1ddea6
Fix the problem of FST4W transmitting on the FST4 TxFreq after mode switch.
2020-09-30 09:37:15 -04:00
Joe Taylor
a7d5c3b03e
Shift+Click on waterfall now sets TxFreq in FST4W mode.
2020-09-29 13:20:14 -04:00
Joe Taylor
b99aafa336
On change of TxFreq during an FST4 transmission, regenerate the Tx waveform and restart.
2020-09-29 13:00:57 -04:00
Bill Somerville
6b0033c128
Merge branch 'release-2.3.0' into develop
2020-09-29 12:39:26 +01:00
Bill Somerville
22dbe9f14e
Move FST4W to the same section as WSPR in the mode pop-up menu
2020-09-29 12:38:15 +01:00
Bill Somerville
6f7d1e9968
Merge branch 'release-2.3.0' into develop
2020-09-29 12:34:39 +01:00
Bill Somerville
204d63929d
Repair a regression with odd/2nd period FT4 decode timestamps
...
Generalized slow mode decode timestamp generation to a common routine.
2020-09-29 12:32:47 +01:00
Bill Somerville
7a56acfe35
Merge branch 'develop' into feat-boost-log
2020-09-27 01:45:29 +01:00
Bill Somerville
1ae96dc672
Disable RC nag message
2020-09-27 00:42:25 +01:00
Bill Somerville
7f22d3c5a6
Merge branch 'develop' into feat-boost-log
2020-09-27 00:30:32 +01:00
Joe Taylor
c3d8e4dd73
Working on QRA65, including simulator and test program.
2020-09-26 16:49:06 -04:00
Bill Somerville
24b9da7c1b
Enable RC nag message and time limit
2020-09-26 21:09:45 +01:00
Bill Somerville
32036cd36f
Correct slot function signatures due to Raspberry Pi compile error
2020-09-26 21:08:43 +01:00
Joe Taylor
acd6253373
A few more fixups for QRA65. Not finished, yet!
2020-09-25 15:38:20 -04:00
Joe Taylor
7fd2f1afe6
Change QRA66 to QRA65, on the C++ side.
2020-09-25 13:20:46 -04:00
Bill Somerville
e50e712fdd
Start using class NonInheritingProcess
2020-09-24 17:57:06 +01:00
Joe Taylor
dd296311cc
Disable TxFreqSpinBox, not RxFreqSpinBox if QSY during transmit is not allowed.
2020-09-22 11:25:59 -04:00
Joe Taylor
9fe2fc6de0
Fix two problems: sometime incorrect setting of RxFreq in WideGraph, and incorrect timestamp for FST4W-120 and FST4W-300 decodes in ALL.TXT.
2020-09-21 14:35:16 -04:00
Bill Somerville
542ffe8311
Improve audio device handling and error recovery
...
where possible audio devices that disappear are not forgotten until
the user selects another device, this should allow temporarily missing
devices or forgetting to switch on devices before starting WSJT-X to
be handled more cleanly. If all else fails, visiting the Settings
dialog and clicking OK should get things going again. Note that we
still do not have a reliable way of detecting failed audio out
devices, in that case selecting another device and then returning to
the original should work.
Enumerating audio devices is expensive and on Linux may take many
seconds per device. To avoid lengthy blocking behaviour until it is
absolutely necessary, audio devices are not enumerated until one of
the "Settings->Audio" device drop-down lists is opened. Elsewhere when
devices must be discovered the enumeration stops as soon as the
configured device is discovered. A status bar message is posted when
audio devices are being enumerated as a reminder that the UI may block
while this is happening.
The message box warning about unaccounted-for input audio samples now
only triggers when >5 seconds of audio appears to be missing or over
provided. Hopefully this will make the warning less annoying for those
that are using audio sources with high and/or variable latencies. A
status bar message is still posted for any amount of audio input
samples unaccounted for >1/5 second, this message appearing a lot
should be considered as notification that there is a problem with the
audio sub-system, system load is too high, or time synchronization is
stepping the PC clock rather than adjusting the frequency to maintain
monotonic clock ticks.
2020-09-20 18:20:16 +01:00
Joe Taylor
1ab59a8d6b
Fully configure WideGpahe after switching to JT65 mode.
2020-09-20 10:17:27 -04:00
Joe Taylor
327808a0bb
One more try at fixing the Fmax() startup problem that Steve sees.
2020-09-18 13:33:30 -04:00
Joe Taylor
52bdd57e57
Implement NB=-1%, NB=-2%. Fix a startup problem with WideGraps's fMax value.
2020-09-18 11:30:23 -04:00
Joe Taylor
41aa5dae74
Make the FTol control invisible in FST4 if Single decode is not checked.
2020-09-17 12:58:59 -04:00
Joe Taylor
e60fc1ca19
FST4 GUI controls for FLow, FHigh, should disappear when Single Decode is checked. And some related improvements.
2020-09-16 20:16:32 -04:00
Joe Taylor
21dc6a5c59
Connect the FLow and FHigh limits for FST4 decoding.
2020-09-16 17:23:59 -04:00
Joe Taylor
2266e8dbb7
Add FLow and FHigh spinner controls to set the FST4 decoding range.
2020-09-16 17:02:40 -04:00
Bill Somerville
abe470b24a
Fix a typo
2020-09-15 15:53:14 +01:00
Bill Somerville
e4eb6eb94e
Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into develop
2020-09-15 10:31:04 +01:00
Joe Taylor
3886411fad
Two more corrections to mode-switch settings of GUI controls in FST4/FST4W.
2020-09-14 13:55:30 -04:00
Joe Taylor
f20c45c167
FST4: Align WideGraph green bar with RxFreq on startup. CTRL-diouble-click on waterfall sets FTol=10 and calls decoder.
2020-09-14 10:56:54 -04:00
Joe Taylor
8f554321c8
Make sure that Tx audio frequency in FST4 mode comes from FST4 TxFreq spinner, not the WSPR/FST4W spinner.
2020-09-14 09:55:33 -04:00
Bill Somerville
5014c62bfa
Notify user when enumerating audio devices
2020-09-13 17:12:11 +01:00
Joe Taylor
39403c2520
Expand the range of allowable values for TxFreq in FST4W.
2020-09-13 09:38:39 -04:00
Bill Somerville
e096b77bc1
Ensure default FTol spin box range covers all possible values
...
This allows persistence between sessions to work correctly.
2020-09-12 15:58:25 +01:00
Joe Taylor
174893395b
Ensure sending correct FTol value from GUI to decoder for FST4.
2020-09-12 09:54:13 -04:00
Joe Taylor
bcdaf395f1
Must set m_bFastMode=false for FST4. Fixes the reported "Hold Tx frequency" issue. Also, ensure display of WideGraph rather than FastGraph for FST4, FST4W.
2020-09-12 09:35:32 -04:00
Bill Somerville
66e887b2f9
Merge branch 'develop' into feat-dropped-frames
2020-09-12 00:19:04 +01:00
Bill Somerville
6ca77f0245
Restore deleted action
2020-09-11 20:15:21 +01:00
Bill Somerville
5fdcd8c15a
Merge branch 'develop' into feat-fst280
2020-09-11 20:06:20 +01:00
Joe Taylor
20085e0ec8
Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into develop
2020-09-11 09:14:24 -04:00
Joe Taylor
2a1ef287a6
Add 300 and 400 Hz to the list of available FTol values for FST4.
2020-09-11 09:13:11 -04:00
Bill Somerville
7d63ef12fa
Remove unused actions from MainWindow UI source
...
Correct a typo as well.
2020-09-11 12:53:44 +01:00
Joe Taylor
e23f7b3434
Don't round off the FST4W RxFreq when FTol is changed. That was a bad idea.
2020-09-10 13:48:08 -04:00
Joe Taylor
b7dc101270
Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into develop
2020-09-10 13:34:54 -04:00
Joe Taylor
b6f990fac2
Allow FTol values down to 1 Hz; let maximum FTol values for FST4 depend on TRperiod.
2020-09-10 13:33:33 -04:00
Bill Somerville
67bd56a6d6
Accessibility improvements
2020-09-10 16:29:51 +01:00
Bill Somerville
ae4cfaf1ae
Start Fox mode on correct tab of tab widget
2020-09-08 21:19:48 +01:00
Bill Somerville
db6a432a33
Ensure band/frequency combo box edit styling tracks current frequency
2020-09-08 15:24:55 +01:00
Bill Somerville
1d52daf7ee
Remove erroneous Qt emit keywords
2020-09-08 12:54:19 +01:00
Joe Taylor
72cffc9da4
Make the FST4/FST4W Quick-Start Guide available from the Help menu.
2020-09-06 13:31:19 -04:00
Joe Taylor
4ab8780dd8
Code cleanyup associated with removing Tab 2.
2020-09-05 15:22:18 -04:00
Joe Taylor
7aeb9d5e2e
Remove the "Tab 2" option for generating Tx messages.
2020-09-05 15:11:32 -04:00
Joe Taylor
403d3a1041
Make "double-click on call" work in FST4 as in oter modes.
2020-09-05 14:09:33 -04:00
Joe Taylor
844fe26368
Fix "on_actionFST4_triggered()" so that it does not call another mode setup routine.
2020-09-05 11:53:23 -04:00
Joe Taylor
c1025b7c4c
Allow user to set center frequency and FTol in FST4W mode. Needs more testing!
2020-09-05 10:34:55 -04:00
Joe Taylor
02928787b1
Save and restore the current setting of the FST4W RoundRobin control.
2020-09-04 15:38:04 -04:00
Joe Taylor
f24d15b16e
Eliminate the FST4/FST4W submodes with hmod > 1.
2020-09-04 15:15:30 -04:00
Bill Somerville
dc423ff28b
Documentation updates for On DX Echo Doppler correction mode
...
Tnx Charlie, G3WDG, and Bob, KA1GT.
2020-09-03 19:38:40 +01:00
Bill Somerville
c5349f8da9
Dynamic update of on DX echo Doppler shift correction
...
Tnx Bob, KA1GT, and Charlie, G3WDG.
2020-09-02 21:25:58 +01:00
Bill Somerville
a623ed0baf
Ensure band/frequency combo box edit shows correct band
2020-09-02 21:08:25 +01:00
Bill Somerville
56741d5e10
Merge branch 'develop' into feat-dropped-frames
2020-08-29 14:05:52 +01:00
Bill Somerville
64f29318aa
Repair an auto-sequencing defect with UDP Reply message handling
2020-08-29 14:04:29 +01:00
Bill Somerville
3a71184040
Include period start time in dropped samples message box details
2020-08-22 18:12:12 +01:00
Bill Somerville
d1860df190
Only send local station info to PSK Reporter when necessary
...
Remove unneeded debug trace messages.
2020-08-18 12:47:17 +01:00
Bill Somerville
4a2a181528
Merge branch 'develop' into feat-fst280
2020-08-17 18:33:00 +01:00
Bill Somerville
b1c53bc332
Fix a cosmetic FT6 DXpedition mode Hound issue that causes an assert
2020-08-17 01:52:47 +01:00
Bill Somerville
536e6568a6
FST4* messages do not need padding out to 37 characters
2020-08-16 02:34:18 +01:00
Bill Somerville
50da40413f
PSK Reporter connection opened & closed at the correct times
2020-08-16 00:38:19 +01:00
Bill Somerville
491a7b9a05
Ensure no connect with, or traffic to, PSK Reporter if not enabled
2020-08-15 23:32:10 +01:00
Bill Somerville
b984390711
Fix PSK Reporter spots of FST4W decodes with power <10 dBm
2020-08-15 23:29:53 +01:00
Bill Somerville
632e2c2ae9
Merge branch 'develop' into feat-dropped-frames
2020-08-15 20:03:47 +01:00
Joe Taylor
dad9199f24
Disable double-clicking on an FST4W decode. It serves no useful purpose.
2020-08-15 14:31:18 -04:00
Bill Somerville
ec623deb9f
More consistent Tx Next button behaviour
2020-08-15 15:57:29 +01:00
Bill Somerville
e17ad223ae
Tx Next button enables automatic Tx
...
Also a number of WSPR/FST4W code clean-ups including getting the Tx
Next button to function as intended.
2020-08-15 02:57:23 +01:00
Bill Somerville
7eb229ecde
Reduce Tx audio buffer size improve Pwr control granularity
2020-08-13 10:31:23 +01:00
Bill Somerville
11abe7c60f
Cosmetic reformating
2020-08-13 10:30:49 +01:00
Bill Somerville
185f570136
Avoid accessing shared memory after it has been deleted
2020-08-11 20:07:00 +01:00
Bill Somerville
e27b09b590
Revert Tx status widget on status bar to non-permanent placement
2020-08-11 16:09:51 +01:00
Bill Somerville
8e37dbd8c1
Increased threshold for status message and warning on dropped frames
2020-08-11 16:08:21 +01:00
Bill Somerville
0cf14dfcc9
Remove user adjustable audio buffer sizes from Settings
...
Fixed buffer sizes are used. Rx use s 3456 x 1st downsample rate x 5
audio frames of buffer space. On Windows this means that each
chunk (periodSize()) delivered from the audio stream is our initial
DSP processing chunk size, thus matching audio buffer latency exactly
with WSJT-X's own front end latency. This should result in optimal
resilience to high system loads that might starve the soundcard ADC of
buffers to fill and case dropped audio frames.
For Tx a buffer sufficient for 1 s of audio is used at present, on
Windows the period size will be set to 1/40 of that which gives
reasonably low latency and plenty of resilience to high system loads
that might starve the soundcard DAC of audio frames to render. Note
that a 1 s buffer will make the "Pwr" slider slow to respond, we may
have to reduce the Tx audio buffer size if this is seen as a problem.
2020-08-11 13:48:01 +01:00
Bill Somerville
1892f39df3
Revert "TEMPORARY: Diagnostic routine for the "Save All" missing files problem."
...
This reverts commit b5765401dc
.
2020-08-10 01:42:26 +01:00
Joe Taylor
b5765401dc
TEMPORARY: Diagnostic routine for the "Save All" missing files problem.
2020-08-09 22:50:17 +01:00
Joe Taylor
07f63cdb63
Small adjustment to make file names for QRA66-30 modes correct.
2020-08-09 15:48:56 -04:00
Joe Taylor
42626009b5
TEMPORARY: Diagnostic routine for the "Save All" missing files problem.
2020-08-09 14:21:25 -04:00
Joe Taylor
de0476bf3c
More changes to allow longer sequences in QRA66 mode.
2020-08-08 16:53:28 -04:00
Bill Somerville
ecf0a146f1
Merge branch 'develop' into feat-dropped-frames
2020-08-08 21:26:51 +01:00
Bill Somerville
94d66bc848
Make FST4W scheduling l10n agnostic
2020-08-08 21:25:32 +01:00
Bill Somerville
2e413713a3
Tidy dropped frame status bar message
2020-08-08 19:40:42 +01:00
Joe Taylor
d683cb6b8e
Updates to GUI for different QRA66 sequence lengths and submodes.
2020-08-08 14:37:01 -04:00
Bill Somerville
02e19b687f
Status message to report approximate # of dropped Rx audio frames
...
This is a first cut at this to evaluate buffer size adjustments on
supported platforms. A final version might limit status bar reports to
>1000 dropped frames or similar.
2020-08-08 17:12:48 +01:00
Bill Somerville
a0ceace5b4
User configurable audio device buffer sizes
...
Adjusting these may help with audio drop-outs, particularly on slower
CPU systems or heavily loaded systems. Smaller buffer sizes leave less
margin for process interruptions, larger sizes waste resources that
could impact other processes.
2020-08-08 16:25:14 +01:00
Bill Somerville
f975f2c181
Further widget contrast improvements for use with dark stylesheets
2020-08-08 15:06:31 +01:00
Joe Taylor
bf38f4416c
Modifications to give QRA64 use of longer TR periods and tone-spacing submodes. Noy yet finished, or tested!
2020-08-08 09:14:12 -04:00
Bill Somerville
bf58cd43aa
Improve contrast of coloured widgets in dark style
2020-08-08 13:20:52 +01:00
Bill Somerville
0ba5d7e1bf
More flexibility for QDateTime round/truncate routine
2020-08-07 21:31:48 +01:00
Joe Taylor
7256d70016
QRA66: change NSPS from 1920 to 1800. TxT=85*1800/12000=12.75 s.
2020-08-05 11:06:18 -04:00
Joe Taylor
2bb9566731
In QRA66 mode, make unused widgets invisible.
2020-08-05 09:37:03 -04:00
Joe Taylor
88102af49d
Fic the transfer of ntol from GUI to qra66_decode().
2020-08-04 12:53:37 -04:00
Joe Taylor
aff22a904d
Better marking of QRA66 Rx freq range and Tol on Wide Graph.
2020-08-04 11:51:40 -04:00
Bill Somerville
09dc647c12
Make tool-tips more generic on T/R period
2020-08-04 11:49:33 +01:00
Bill Somerville
d2525c73a3
Minor cosmetic main layout changes
2020-08-04 11:44:26 +01:00
Bill Somerville
fb8b938ac7
Make FST4 std message generation consistent with other 77-bit modes
2020-08-04 11:43:19 +01:00
Joe Taylor
e32c5b699d
Update Wide Graph and plotter.cpp for QRA66.
2020-08-01 13:37:31 -04:00
Joe Taylor
3867c452e6
Changes to GUI to accommodate QRA66. It's basically functional, I think.
2020-08-01 12:13:49 -04:00
Bill Somerville
92cf7b29c2
Merge branch 'develop' into feat-fst280
2020-07-31 15:00:50 +01:00
Bill Somerville
b05bfecb5f
Avoid arithmetic errors when parsing the round-robin current text
2020-07-31 12:39:08 +01:00
Bill Somerville
c2b835c42b
Translatable help windows
2020-07-29 18:44:34 +01:00
Joe Taylor
846b0b6ed8
Fix the problem "Tx did not start in the first Round-Robin sequence when it should have started".
2020-07-29 11:58:28 -04:00
Bill Somerville
0f3fc3d15c
Correct time on beacon mode Tx prints in decodes window
2020-07-27 19:51:56 +01:00
Bill Somerville
6cb72a5f3e
Remove duplicate ALL.TXT Tx report in beacon modes
2020-07-27 19:49:39 +01:00
Bill Somerville
3bf070938b
Enable Tx percentage spin box in WSPR and random FST4W modes
2020-07-27 19:48:13 +01:00
Bill Somerville
2bf8888725
Merge branch 'develop' into feat-fst280
2020-07-27 15:02:44 +01:00
Bill Somerville
080e21f6fc
Remove testing code
2020-07-27 15:01:09 +01:00
Joe Taylor
e96dee4c23
Merge branch 'feat-fst280' of bitbucket.org:k1jt/wsjtx into feat-fst280
2020-07-27 09:57:02 -04:00
Joe Taylor
236e334e71
*** TEMPORARY *** Allow transmitting FST4-15A and FST4-15B simultaneously.
2020-07-27 09:55:49 -04:00
Bill Somerville
c5248bf116
Merge branch 'develop' into feat-fst280
2020-07-27 13:25:28 +01:00
Bill Somerville
bb927a6115
Handle missing user_hardware on non-Windows systems
2020-07-27 13:13:04 +01:00
Bill Somerville
a2ad0be85b
Use shell to execute user_hardware via PATH
2020-07-27 12:19:47 +01:00
Bill Somerville
b4bbc44d5b
Invoke user_hardware correctly
2020-07-27 00:51:12 +01:00
Bill Somerville
5382ef4a33
Merge branch 'develop' into feat-wspr-user-hardware
2020-07-26 18:03:23 +01:00
Bill Somerville
7bb5a8e009
Merge branch 'develop' into feat-psk-reporter-re-work
2020-07-26 15:52:39 +01:00
Bill Somerville
9c22eb321d
Merge branch 'develop' into feat-fst280
2020-07-26 16:20:11 +01:00
Bill Somerville
2f700265b9
Merge branch 'develop' into feat-fst280
2020-07-26 10:20:55 +01:00
Bill Somerville
7566f3548d
Post FST4W spots to WSPRNet.org
...
Includes a re-factoring of the WSPRNet class, particularly to handle
direct spot posts as well as via a file from wsprd. Switched from GET
http request method to POST method.
FST4W spots post the same information a WSPR spots except the drift
field is always zero (FST4W has no drift compensation, so no drift
figure is calculated by the decoder), and the mode field reflects the
T/R period in minutes. This means FST4W-120A will be similar to
WSPR-2, an FST4W-900 will be similar to WSPR-15. I don't see any way
to view the mode field on either the new or old database format
queries on WSPRnet, so it is hard to tell if that field is actually
stored.
2020-07-26 02:58:04 +01:00
Bill Somerville
63b1b0729a
Merge branch 'feat-fst280' of bitbucket.org:k1jt/wsjtx into feat-fst280
2020-07-26 02:54:04 +01:00
Joe Taylor
ceeafa5bed
*** TEMPORARY *** Add a feature to transmit FT8 and FST4 at the same time.
2020-07-25 16:02:42 -04:00
Bill Somerville
4015c5e538
Merge branch 'feat-fst280' of bitbucket.org:k1jt/wsjtx into feat-fst280
2020-07-24 21:16:52 +01:00
Joe Taylor
5c4878a00a
Display cursor position on Wide graph as a ToolTip.
2020-07-24 13:35:04 -04:00
Joe Taylor
dbaffea0cd
Allow only TR periods >= 120 s for FST4W.
2020-07-24 11:13:48 -04:00
Bill Somerville
90c1824ffe
Merge branch 'feat-fst280' of bitbucket.org:k1jt/wsjtx into feat-fst280
2020-07-24 16:01:57 +01:00
Joe Taylor
c802c60afa
Allow FST4 to use Split (Rig or Fake it). Set Tx upper freq limit for FST4W to 1600 Hz.
2020-07-24 10:58:10 -04:00
Bill Somerville
29fc0ced19
Revert "Fix double-clicking on a decode line containing fSpread."
...
Change superseded.
This reverts commit d9c2a11821
.
2020-07-24 12:46:43 +01:00
Bill Somerville
580dd85a18
Remainder of renames to FST4
2020-07-23 18:51:05 +01:00
Joe Taylor
77a6f8f514
Move blanking from symspec() to fst240_decode(). Do not apply RefSpec corrections to data read from disk.
2020-07-23 10:58:10 -04:00
Bill Somerville
51f692d8d4
Avoid double Tx periods in WSPR modes when changing scheduling basis
2020-07-22 18:01:06 +01:00
Bill Somerville
ffd2ad4dc0
Narrower decodes display and move AP info into extra appended info
2020-07-22 01:05:14 +01:00
Joe Taylor
52643b01e2
Correct the "time to decode" and the "Tune" frequency for FST240 modes.
2020-07-21 14:56:20 -04:00
Joe Taylor
05a1b3bae8
Remove "Also FST240W" from the Decode menu and elswhere in the GUI.
2020-07-21 14:18:55 -04:00
Joe Taylor
52984a507a
Move the WSPR frequency range indicator (green line) up 3 pixels.
2020-07-21 14:11:11 -04:00
Bill Somerville
5111dcdfa8
Include sub-mode in .WAV file meta-data for FST240 modes
2020-07-21 14:57:44 +01:00
Bill Somerville
0f6d054276
Narrow decode prints in the Band Activity window
2020-07-21 00:29:22 +01:00
Bill Somerville
09996d4d64
Leave decodes titles intact when changing settings in FST240* modes
2020-07-20 19:33:46 +01:00
Joe Taylor
2e916f995c
Merge branch 'feat-fst280' of bitbucket.org:k1jt/wsjtx into feat-fst280
2020-07-20 13:59:12 -04:00
Bill Somerville
06b9746619
Make fSpread printing compatible with QSOs
2020-07-20 18:27:29 +01:00
Bill Somerville
0c15ed36e9
Merge branch 'feat-fst280' of bitbucket.org:k1jt/wsjtx into feat-fst280
2020-07-20 17:12:36 +01:00
Joe Taylor
d9c2a11821
Fix double-clicking on a decode line containing fSpread.
2020-07-20 11:48:09 -04:00