41 Commits

Author SHA1 Message Date
Mike Walters
302981ebdc Support Qt6 2025-11-30 23:45:59 +00:00
Mike Walters
531402f4e9 Handle LeaveEvent separately as it shouldn't be cast to a MouseEvent 2025-11-30 23:45:59 +00:00
Mike Walters
3d136fa968 spelling 2025-11-30 23:45:59 +00:00
Mike Walters
64360eabb4 Pass QMouseEvents as pointers 2025-11-30 23:45:59 +00:00
Mike Walters
e7eb32689d Define TileCacheKey earlier 2025-11-30 23:45:59 +00:00
Mike Walters
896de03d87 Switch from QRegExp to QRegularExpression 2025-11-30 23:45:59 +00:00
Johannes Demel
7830cded77 traceplot: Fix divide by zero crash
Very small files would cause inspectrum to crash with a SIGFPE. In the
end, this is caused by input that let's `samplesPerColumn == 0`. Make
sure this value is at least `1` and it doesn't crash anymore.

Signed-off-by: Johannes Demel <johannes.demel@dedrone.com>
2024-07-30 10:09:37 +02:00
Johannes Demel
3470a8a83d sigmf: Add support for datasets
Sometimes, we want to load a data file found under the `core:dataset`
key. In these cases, we need to read the dataset key and overwrite the
respective variable.
Further, we'd need to check if the corresponding `sigmf-data` file
exists, because it is supposed to take precedence over the dataset file.
The dataset file is all called a Non-Conforming-Datafile (NCD).

Signed-off-by: Johannes Demel <johannes.demel@dedrone.com>
2024-06-21 10:09:49 +02:00
Mike Walters
e51d850794 Merge pull request #221 from kwesthaus/file-format-documentation
File format documentation
2023-10-22 21:21:10 +01:00
Mike Walters
e90393bff2 Merge pull request #184 from jacobagilbert/sigmf_partial_ext
add additional sigmf filetype
2023-10-22 21:20:01 +01:00
Mike Walters
88549e875e PlotView: use QWheelEvent::position when available
This fixes a warning about using the deprecated `pos` method
2023-10-16 16:34:19 +01:00
Mike Walters
c2566d2bf1 Merge pull request #216 from schneider42/schneier/description-fallback
fallback to core:description for anno label
2023-10-16 15:58:43 +01:00
Mike Walters
81ecf5732f Merge pull request #218 from otanim/main
Build fail fix
2023-10-16 15:57:21 +01:00
Mike Walters
d8760d7f61 Merge branch 'overlapping-annotations' 2023-10-16 15:47:59 +01:00
Mike Walters
8ea8113117 Merge branch 'spectrogram-timing' 2023-10-16 15:47:53 +01:00
Mike Walters
ae9b2d4a3b Whitespace cleanup 2023-10-16 15:47:37 +01:00
Daniel Estévez
9ab2b0b8cc Handle tooltip comments of overlapping annotations
This handles the tooltips displaying the comments of overlapping
annotations, as long as only one of the annotations that contain
the mouse cursor has a tooltip.

Before, SpectrogramPlot::getAnnotationComment() would return the
comment of the first annotation that contains the mouse cursor,
even if such a comment is an empty QString. The empty QString
would cause that no tooltip is displayed. Now
SpectrogramPlot::getAnnotationComment() only returns non-empty
comments. Therefore, if only one annotation with a comment contains
the mouse cursor, the tooltip for that comment will be displayed.

This still does not handle the case when multiple annotations with
comments contain the mouse cursor, since it is not clear what is
best to do in this case. For now,
SpectrogramPlot::getAnnotationComment() simply returns one of the
applicable comments.

Signed-off-by: Daniel Estévez <daniel@destevez.net>
2023-10-16 15:38:33 +01:00
Daniel Estévez
4eff54ba42 Improve spectrogram time alignment
Currently, SpectrogramPlot::getLine() uses the sample parameter to
determine the index of the first sample that is used to calculate
the FFT for a particular spectrogram line. Since the FFT is in some
sense an average of fftSize samples, this causes features (such as
the start and end of packet bursts) to appear somewhat sooner in
the spectrogram compared to their actual locations in the IQ file.

This improves the time alignment of the spectrogram plot by making
sample refer to the middle sample of the FFT (so the samples used
to compute the FFT start at sample - fftSize / 2.

For the beginning of the file we need to make an exception, because
if we try to fetch samples before the beginning of the file, then
inputSource->getSamples() returns nullptr. SpectrogramPlot::getLine()
handles this gracefully, but an ugly red bar appears at the beginning
of the file when the FFT size and zoom are large. To solve this, we
cheat and force the FFT to start at the beginning of the file. To
be more precise we could pad the beginning with zeros instead.

Signed-off-by: Daniel Estévez <daniel@destevez.net>
2023-10-16 15:37:51 +01:00
Kyle Westhaus
7af44bc675 Include format specifiers in help text
Previously, the format specifiers were only included in the source
repository README and the source code; this change adds the specifiers
to the program help text as well.

I looked at the QCommandLineOption API and there does not seem to be a
way to specify a subset of allowed strings such that they are
automatically included in the help text by QCommandLineParser - the
canonical way is just to include the options in the matching help text
as I have done in this commit.
2023-04-06 22:56:33 -07:00
Kyle Westhaus
34c8ece4cc Allow specifying cs32 file format in command line
Support for cs32 was added in #214 but only within sigmf files. This
change surfaces that support to the -f option on the command line.
2023-04-06 22:51:51 -07:00
Jacob Gilbert
c390d3aec7 add support to read files that end in '.sigmf-'
Signed-off-by: Jacob Gilbert <jacob@deepsig.ai>
2023-04-06 20:43:59 -06:00
Arman Yeghiazaryan
87e11c5392 build fail fix 2022-11-20 19:49:52 +04:00
Daniel Estévez
11171c8e62 Display annotation comments as tooltips
When the mouse is moved over a SigMF annotation rectangle on the
waterfall, a tooltip showing the annotation comment is displayed
(if the annotation has a comment field).

This feature can be enabled/disabled with a checkbox, in the same
way as annotations. If annotations are disabled, the annotation comments
checkbox is grayed out and the tooltips are not shown.

Signed-off-by: Daniel Estévez <daniel@destevez.net>
2022-11-06 09:44:04 +01:00
Jacob Gilbert
b1dd03833f fallback to core:description for anno label 2022-11-04 22:10:28 +01:00
Benjamin Menkuec
c3b704b753 add support for sigmf ci32 files
this is needed to import sigmf files written by SDRangel
2022-10-18 17:09:25 +02:00
Mike Walters
e3bac921cf Merge pull request #211 from argilo/more-cursor-symbols
Allow up to 99,999 symbols
2022-10-05 17:45:16 +01:00
Clayton Smith
4b96bcd54b Allow up to 99,999 symbols 2022-10-05 10:37:19 -04:00
Clayton Smith
ccfdb68ca8 Fix integer overflow in cursor segment drawing 2022-10-05 10:28:42 -04:00
DiGMi
828c13c493 Add support for complex double (cf64) 2022-03-26 21:27:40 +00:00
Marc L
5dbad4c421 Added support for float64 files (#206)
* added float64 to supported input types

Co-authored-by: Marc Lichtman <mlichtman@perspectalabs.com>
2022-03-26 21:17:22 +00:00
Mike Walters
794d105864 Merge branch 'sigmf-qjson' 2022-03-26 20:55:18 +00:00
Mike Walters
9b82cd9862 sigmf: use core:label for annotations 2022-01-21 21:48:20 +00:00
Mike Walters
ae40a5ff91 sigmf: style 2022-01-21 21:43:45 +00:00
Mike Walters
5864433476 sigmf: construct Annotations in-place 2022-01-21 21:41:56 +00:00
schneider42
4653c38eb5 Merge pull request #189 from jacobagilbert/sigmf_display_checkbox
Adding checkbox to show / hide SigMF annotations
2021-10-25 14:54:17 +02:00
Jacob Gilbert
64928b2cd0 Adding checkbox to show / hide SigMF annotations
Signed-off-by: Jacob Gilbert <jacob.gilbert@protonmail.com>
2021-10-25 05:13:08 -06:00
schneider
277c682b5c sigmf: Use QT to parse the json 2021-10-09 22:08:44 +02:00
Martin Povišer
f6a46d73a4 Handle global offset in SigMF annotation indices
The sample indices of a SigMF annotation include a global recording
offset. Remove it to correctly handle annotations in recordings with
non-zero offset.
2021-10-08 20:43:40 +02:00
Mike Walters
02157c4321 Add a progress bar for sample export 2021-06-06 16:20:55 +01:00
devnulling
e2a80a84c4 Clear SigMF annotations on new file load (#183)
Clear SigMF annotations on new file load
2021-03-25 12:34:51 +00:00
Mike Walters
c20bc0e32b make a src directory 2021-02-27 09:42:43 +00:00