mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-11-21 23:55:13 -05:00
Fix typos in include files
This commit is contained in:
parent
04ee258010
commit
e56908b0c6
@ -81,7 +81,7 @@ void fcdClose(hid_device *phd);
|
|||||||
FCD_MODE_ENUM fcdGetMode(hid_device *phd);
|
FCD_MODE_ENUM fcdGetMode(hid_device *phd);
|
||||||
|
|
||||||
/** \brief Get FCD firmware version as string.
|
/** \brief Get FCD firmware version as string.
|
||||||
* \param str The returned vesion number as a 0 terminated string (must be pre-allocated)
|
* \param str The returned version number as a 0 terminated string (must be pre-allocated)
|
||||||
* \return The current FCD mode.
|
* \return The current FCD mode.
|
||||||
* \sa FCD_MODE_ENUM
|
* \sa FCD_MODE_ENUM
|
||||||
*/
|
*/
|
||||||
@ -183,7 +183,7 @@ FCD_MODE_ENUM fcdBlWriteFirmware(hid_device *phd, char *pc, int64_t n64Size);
|
|||||||
/** \brief Verify firmware in FCd flash.
|
/** \brief Verify firmware in FCd flash.
|
||||||
* \param pc Pointer to firmware data to verify against.
|
* \param pc Pointer to firmware data to verify against.
|
||||||
* \param n64Size Size of the data in pc.
|
* \param n64Size Size of the data in pc.
|
||||||
* \return The FCD_MODE_BL if verification was succesful.
|
* \return The FCD_MODE_BL if verification was successful.
|
||||||
*
|
*
|
||||||
* This function verifies the firmware currently in the FCd flash against the firmware
|
* This function verifies the firmware currently in the FCd flash against the firmware
|
||||||
* image pointed to by pc. The function return FCD_MODE_BL if the verification is OK and
|
* image pointed to by pc. The function return FCD_MODE_BL if the verification is OK and
|
||||||
|
@ -264,14 +264,14 @@ public:
|
|||||||
|
|
||||||
FT8Params& getParams() { return params; }
|
FT8Params& getParams() { return params; }
|
||||||
//
|
//
|
||||||
// given log likelyhood for each bit, try LDPC and OSD decoders.
|
// given log likelihood for each bit, try LDPC and OSD decoders.
|
||||||
// on success, puts corrected 174 bits into a174[].
|
// on success, puts corrected 174 bits into a174[].
|
||||||
//
|
//
|
||||||
static int decode(const float ll174[], int a174[], FT8Params& params, int use_osd, std::string &comment);
|
static int decode(const float ll174[], int a174[], FT8Params& params, int use_osd, std::string &comment);
|
||||||
// encode a 77 bit message into a 174 bit payload
|
// encode a 77 bit message into a 174 bit payload
|
||||||
// adds the 14 bit CRC to obtain 91 bits
|
// adds the 14 bit CRC to obtain 91 bits
|
||||||
// apply (174, 91) generator mastrix to obtain the 83 parity bits
|
// apply (174, 91) generator mastrix to obtain the 83 parity bits
|
||||||
// append the 83 bits to the 91 bits messag e+ crc to obbain the 174 bit payload
|
// append the 83 bits to the 91 bits message e+ crc to obtain the 174 bit payload
|
||||||
static void encode(int a174[], int s77[]);
|
static void encode(int a174[], int s77[]);
|
||||||
|
|
||||||
//
|
//
|
||||||
@ -490,7 +490,7 @@ private:
|
|||||||
// scaled by str.
|
// scaled by str.
|
||||||
//
|
//
|
||||||
std::vector<float> extract_bits(const std::vector<int> &syms, const std::vector<float> str);
|
std::vector<float> extract_bits(const std::vector<int> &syms, const std::vector<float> str);
|
||||||
// decode successive pairs of symbols. exploits the likelyhood
|
// decode successive pairs of symbols. exploits the likelihood
|
||||||
// that they have the same phase, by summing the complex
|
// that they have the same phase, by summing the complex
|
||||||
// correlations for each possible pair and using the max.
|
// correlations for each possible pair and using the max.
|
||||||
void soft_decode_pairs(
|
void soft_decode_pairs(
|
||||||
|
@ -36,7 +36,7 @@ public:
|
|||||||
static int osd_decode(float codeword[174], int depth, int out[91], int *out_depth);
|
static int osd_decode(float codeword[174], int depth, int out[91], int *out_depth);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namepsace FT8
|
} // namespace FT8
|
||||||
|
|
||||||
#endif // osd_h
|
#endif // osd_h
|
||||||
|
|
||||||
|
@ -73,7 +73,7 @@ public:
|
|||||||
virtual ~HttpListener();
|
virtual ~HttpListener();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Restart listeing after close().
|
Restart listening after close().
|
||||||
*/
|
*/
|
||||||
void listen();
|
void listen();
|
||||||
|
|
||||||
@ -108,7 +108,7 @@ private:
|
|||||||
/** Configuration settings for the HTTP server as a structure */
|
/** Configuration settings for the HTTP server as a structure */
|
||||||
HttpListenerSettings listenerSettings;
|
HttpListenerSettings listenerSettings;
|
||||||
|
|
||||||
/** Point to the reuqest handler which processes all HTTP requests */
|
/** Point to the request handler which processes all HTTP requests */
|
||||||
HttpRequestHandler* requestHandler;
|
HttpRequestHandler* requestHandler;
|
||||||
|
|
||||||
/** Pool of connection handlers */
|
/** Pool of connection handlers */
|
||||||
|
@ -26,7 +26,7 @@ namespace qtwebapp {
|
|||||||
from a TCP socket and provides getters for the individual parts
|
from a TCP socket and provides getters for the individual parts
|
||||||
of the request.
|
of the request.
|
||||||
<p>
|
<p>
|
||||||
The follwing config settings are required:
|
The following config settings are required:
|
||||||
<code><pre>
|
<code><pre>
|
||||||
maxRequestSize=16000
|
maxRequestSize=16000
|
||||||
maxMultiPartSize=1000000
|
maxMultiPartSize=1000000
|
||||||
@ -73,7 +73,7 @@ public:
|
|||||||
void readFromSocket(QTcpSocket* socket);
|
void readFromSocket(QTcpSocket* socket);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Get the status of this reqeust.
|
Get the status of this request.
|
||||||
@see RequestStatus
|
@see RequestStatus
|
||||||
*/
|
*/
|
||||||
RequestStatus getStatus() const;
|
RequestStatus getStatus() const;
|
||||||
|
@ -48,7 +48,7 @@ namespace qtwebapp {
|
|||||||
|
|
||||||
@see set() describes how to set logger variables
|
@see set() describes how to set logger variables
|
||||||
@see LogMessage for a description of the message decoration.
|
@see LogMessage for a description of the message decoration.
|
||||||
@see Logger for a descrition of the buffer.
|
@see Logger for a description of the buffer.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class LOGGING_API FileLogger : public Logger {
|
class LOGGING_API FileLogger : public Logger {
|
||||||
|
@ -66,7 +66,7 @@ public:
|
|||||||
Constructor.
|
Constructor.
|
||||||
@param msgFormat Format of the decoration, e.g. "{timestamp} {type} thread={thread}: {msg}"
|
@param msgFormat Format of the decoration, e.g. "{timestamp} {type} thread={thread}: {msg}"
|
||||||
@param timestampFormat Format of timestamp, e.g. "yyyy-MM-dd HH:mm:ss.zzz"
|
@param timestampFormat Format of timestamp, e.g. "yyyy-MM-dd HH:mm:ss.zzz"
|
||||||
@param minLevel Minimum severity that genertes an output (0=debug, 1=warning, 2=critical, 3=fatal).
|
@param minLevel Minimum severity that generates an output (0=debug, 1=warning, 2=critical, 3=fatal).
|
||||||
@param bufferSize Size of the backtrace buffer, number of messages per thread. 0=disabled.
|
@param bufferSize Size of the backtrace buffer, number of messages per thread. 0=disabled.
|
||||||
@param parent Parent object
|
@param parent Parent object
|
||||||
@see LogMessage for a description of the message decoration.
|
@see LogMessage for a description of the message decoration.
|
||||||
|
@ -71,7 +71,7 @@ public:
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Construct the DFT with an array of frequencies. These frequencies
|
* Construct the DFT with an array of frequencies. These frequencies
|
||||||
* should be less than @tparam SampleRate / 2 and a mulitple of
|
* should be less than @tparam SampleRate / 2 and a multiple of
|
||||||
* @tparam SampleRate / @tparam N. No validation is performed on
|
* @tparam SampleRate / @tparam N. No validation is performed on
|
||||||
* these frequencies passed to the constructor.
|
* these frequencies passed to the constructor.
|
||||||
*/
|
*/
|
||||||
|
@ -32,7 +32,7 @@ public:
|
|||||||
/// \brief Set all data (yaw, alt, height)
|
/// \brief Set all data (yaw, alt, height)
|
||||||
///
|
///
|
||||||
/// \param azPos - forward (positive angles side relative to antennas direction) azimuth (in degrees)
|
/// \param azPos - forward (positive angles side relative to antennas direction) azimuth (in degrees)
|
||||||
/// \param azNeg - reverse (negatve angles side relative to antennas direction) azimuth (in degrees)
|
/// \param azNeg - reverse (negative angles side relative to antennas direction) azimuth (in degrees)
|
||||||
/// \param azAnt - antennas azimuth from 1 (connected to stream 0) to 2 (connected to stream 1)
|
/// \param azAnt - antennas azimuth from 1 (connected to stream 0) to 2 (connected to stream 1)
|
||||||
///
|
///
|
||||||
void setData(double azPos, double azNeg, double azAnt) {
|
void setData(double azPos, double azNeg, double azAnt) {
|
||||||
|
@ -92,7 +92,7 @@ struct Aircraft {
|
|||||||
Real m_latitude; // Latitude in decimal degrees
|
Real m_latitude; // Latitude in decimal degrees
|
||||||
Real m_longitude; // Longitude in decimal degrees
|
Real m_longitude; // Longitude in decimal degrees
|
||||||
int m_altitude; // Altitude in feet
|
int m_altitude; // Altitude in feet
|
||||||
bool m_onSurface; // Indicates if on surface or airbourne
|
bool m_onSurface; // Indicates if on surface or airborne
|
||||||
bool m_altitudeGNSS; // Altitude is GNSS HAE (Height above WGS-84 ellipsoid) rather than barometric alitute (relative to 29.92 Hg)
|
bool m_altitudeGNSS; // Altitude is GNSS HAE (Height above WGS-84 ellipsoid) rather than barometric alitute (relative to 29.92 Hg)
|
||||||
float m_heading; // Heading or track in degrees
|
float m_heading; // Heading or track in degrees
|
||||||
int m_verticalRate; // Vertical climb rate in ft/min
|
int m_verticalRate; // Vertical climb rate in ft/min
|
||||||
@ -101,7 +101,7 @@ struct Aircraft {
|
|||||||
int m_squawk; // Mode-A code
|
int m_squawk; // Mode-A code
|
||||||
Real m_range; // Distance from station to aircraft
|
Real m_range; // Distance from station to aircraft
|
||||||
Real m_azimuth; // Azimuth from station to aircraft
|
Real m_azimuth; // Azimuth from station to aircraft
|
||||||
Real m_elevation; // Elevation from station to aicraft
|
Real m_elevation; // Elevation from station to aircraft
|
||||||
QDateTime m_time; // When last updated
|
QDateTime m_time; // When last updated
|
||||||
|
|
||||||
int m_selAltitude; // Selected altitude in MCP/FCU or FMS in feet
|
int m_selAltitude; // Selected altitude in MCP/FCU or FMS in feet
|
||||||
@ -144,7 +144,7 @@ struct Aircraft {
|
|||||||
float m_correlation;
|
float m_correlation;
|
||||||
MovingAverageUtil<float, double, 100> m_correlationAvg;
|
MovingAverageUtil<float, double, 100> m_correlationAvg;
|
||||||
|
|
||||||
bool m_isTarget; // Are we targetting this aircraft (sending az/el to rotator)
|
bool m_isTarget; // Are we targeting this aircraft (sending az/el to rotator)
|
||||||
bool m_isHighlighted; // Are we highlighting this aircraft in the table and map
|
bool m_isHighlighted; // Are we highlighting this aircraft in the table and map
|
||||||
bool m_showAll;
|
bool m_showAll;
|
||||||
|
|
||||||
|
@ -93,8 +93,8 @@ private:
|
|||||||
const int m_buffers = 3;
|
const int m_buffers = 3;
|
||||||
const int m_bufferSize = 200000;
|
const int m_bufferSize = 200000;
|
||||||
Real *m_sampleBuffer[3]; //!< Each buffer is m_bufferSize samples
|
Real *m_sampleBuffer[3]; //!< Each buffer is m_bufferSize samples
|
||||||
QSemaphore m_bufferWrite[3]; //!< Sempahore to control write access to the buffers
|
QSemaphore m_bufferWrite[3]; //!< Semaphore to control write access to the buffers
|
||||||
QSemaphore m_bufferRead[3]; //!< Sempahore to control read access from the buffers
|
QSemaphore m_bufferRead[3]; //!< Semaphore to control read access from the buffers
|
||||||
QDateTime m_bufferFirstSampleDateTime[3]; //!< Time for first sample in the buffer
|
QDateTime m_bufferFirstSampleDateTime[3]; //!< Time for first sample in the buffer
|
||||||
bool m_bufferDateTimeValid[3];
|
bool m_bufferDateTimeValid[3];
|
||||||
ADSBDemodSinkWorker m_worker; //!< Worker thread that does the actual demodulation
|
ADSBDemodSinkWorker m_worker; //!< Worker thread that does the actual demodulation
|
||||||
|
@ -70,7 +70,7 @@ struct AISDemodSettings
|
|||||||
int m_messageColumnIndexes[AISDEMOD_MESSAGE_COLUMNS];//!< How the columns are ordered in the table
|
int m_messageColumnIndexes[AISDEMOD_MESSAGE_COLUMNS];//!< How the columns are ordered in the table
|
||||||
int m_messageColumnSizes[AISDEMOD_MESSAGE_COLUMNS]; //!< Size of the columns in the table
|
int m_messageColumnSizes[AISDEMOD_MESSAGE_COLUMNS]; //!< Size of the columns in the table
|
||||||
|
|
||||||
static const int AISDEMOD_CHANNEL_SAMPLE_RATE = 57600; //!< 6x 9600 baud rate (use even multiple so Gausian filter has odd number of taps)
|
static const int AISDEMOD_CHANNEL_SAMPLE_RATE = 57600; //!< 6x 9600 baud rate (use even multiple so Gaussian filter has odd number of taps)
|
||||||
static const int m_scopeStreams = 9;
|
static const int m_scopeStreams = 9;
|
||||||
|
|
||||||
AISDemodSettings();
|
AISDemodSettings();
|
||||||
|
@ -113,7 +113,7 @@ private:
|
|||||||
|
|
||||||
PhaseDiscriminators m_phaseDiscri; // FM demodulator
|
PhaseDiscriminators m_phaseDiscri; // FM demodulator
|
||||||
Gaussian<Real> m_pulseShape; // Pulse shaping filter
|
Gaussian<Real> m_pulseShape; // Pulse shaping filter
|
||||||
Real *m_rxBuf; // Receive sample buffer, large enough for one max length messsage
|
Real *m_rxBuf; // Receive sample buffer, large enough for one max length message
|
||||||
int m_rxBufLength; // Size in elements in m_rxBuf
|
int m_rxBufLength; // Size in elements in m_rxBuf
|
||||||
int m_rxBufIdx; // Index in to circular buffer
|
int m_rxBufIdx; // Index in to circular buffer
|
||||||
int m_rxBufCnt; // Number of valid samples in buffer
|
int m_rxBufCnt; // Number of valid samples in buffer
|
||||||
|
@ -71,7 +71,7 @@ struct APTDemodSettings
|
|||||||
bool m_hidden;
|
bool m_hidden;
|
||||||
|
|
||||||
// The following are really working state, rather than settings
|
// The following are really working state, rather than settings
|
||||||
QString m_tle; // Satelite two-line elements, from satellite tracker
|
QString m_tle; // Satellite two-line elements, from satellite tracker
|
||||||
QDateTime m_aosDateTime; // When decoder was started (may not be current time, if replaying old file)
|
QDateTime m_aosDateTime; // When decoder was started (may not be current time, if replaying old file)
|
||||||
bool m_northToSouth; // Separate from flip, in case user changes it
|
bool m_northToSouth; // Separate from flip, in case user changes it
|
||||||
|
|
||||||
|
@ -100,7 +100,7 @@ private:
|
|||||||
|
|
||||||
int m_channelSampleRate;
|
int m_channelSampleRate;
|
||||||
int m_channelFrequencyOffset;
|
int m_channelFrequencyOffset;
|
||||||
int m_samplesPerLine; //!< number of samples per complete line (includes sync signals) - adusted value
|
int m_samplesPerLine; //!< number of samples per complete line (includes sync signals) - adjusted value
|
||||||
float m_samplesPerLineFrac; //!< number of samples per complete line (includes sync signals), fractional part
|
float m_samplesPerLineFrac; //!< number of samples per complete line (includes sync signals), fractional part
|
||||||
ATVDemodSettings m_settings;
|
ATVDemodSettings m_settings;
|
||||||
int m_videoTabIndex;
|
int m_videoTabIndex;
|
||||||
|
@ -52,13 +52,13 @@ struct ChirpChatDemodSettings
|
|||||||
int m_inputFrequencyOffset;
|
int m_inputFrequencyOffset;
|
||||||
int m_bandwidthIndex;
|
int m_bandwidthIndex;
|
||||||
int m_spreadFactor;
|
int m_spreadFactor;
|
||||||
int m_deBits; //!< Low data rate optmize (DE) bits
|
int m_deBits; //!< Low data rate optimize (DE) bits
|
||||||
FFTWindow::Function m_fftWindow;
|
FFTWindow::Function m_fftWindow;
|
||||||
CodingScheme m_codingScheme;
|
CodingScheme m_codingScheme;
|
||||||
bool m_decodeActive;
|
bool m_decodeActive;
|
||||||
int m_eomSquelchTenths; //!< Squelch factor to trigger end of message (/10)
|
int m_eomSquelchTenths; //!< Squelch factor to trigger end of message (/10)
|
||||||
unsigned int m_nbSymbolsMax; //!< Maximum number of symbols in a payload
|
unsigned int m_nbSymbolsMax; //!< Maximum number of symbols in a payload
|
||||||
bool m_autoNbSymbolsMax; //!< Set maximum number of symbols in a payload automatically using last messag value
|
bool m_autoNbSymbolsMax; //!< Set maximum number of symbols in a payload automatically using last message value
|
||||||
unsigned int m_preambleChirps; //!< Number of expected preamble chirps
|
unsigned int m_preambleChirps; //!< Number of expected preamble chirps
|
||||||
int m_nbParityBits; //!< Hamming parity bits (LoRa)
|
int m_nbParityBits; //!< Hamming parity bits (LoRa)
|
||||||
int m_packetLength; //!< Payload packet length in bytes or characters (LoRa)
|
int m_packetLength; //!< Payload packet length in bytes or characters (LoRa)
|
||||||
|
@ -54,4 +54,4 @@ const int SIMD_WIDTH = SIZEOF_SIMD / sizeof(code_type);
|
|||||||
typedef SIMD<code_type, SIMD_WIDTH> simd_type;
|
typedef SIMD<code_type, SIMD_WIDTH> simd_type;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
} // namepsace ldpctool
|
} // namespace ldpctool
|
||||||
|
@ -94,7 +94,7 @@ struct deconvol_poly2
|
|||||||
{
|
{
|
||||||
typedef u8 hardsymbol;
|
typedef u8 hardsymbol;
|
||||||
|
|
||||||
// Support instanciation of template with soft of float input
|
// Support instantiation of template with soft of float input
|
||||||
inline u8 SYMVAL(const hardsymbol *s) { return *s; }
|
inline u8 SYMVAL(const hardsymbol *s) { return *s; }
|
||||||
inline u8 SYMVAL(const softsymbol *s) { return s->symbol; }
|
inline u8 SYMVAL(const softsymbol *s) { return s->symbol; }
|
||||||
|
|
||||||
|
@ -979,7 +979,7 @@ struct mpeg_sync : runnable
|
|||||||
{
|
{
|
||||||
if (resync_phase == 0)
|
if (resync_phase == 0)
|
||||||
{
|
{
|
||||||
// Try all bit alighments
|
// Try all bit alignments
|
||||||
for (bitphase = 0; bitphase <= 7; ++bitphase)
|
for (bitphase = 0; bitphase <= 7; ++bitphase)
|
||||||
{
|
{
|
||||||
if (search_sync())
|
if (search_sync())
|
||||||
@ -1770,7 +1770,7 @@ struct viterbi_sync : runnable
|
|||||||
|
|
||||||
inline TUS update_sync(int s, eucl_ss *pin, TPM *discr)
|
inline TUS update_sync(int s, eucl_ss *pin, TPM *discr)
|
||||||
{
|
{
|
||||||
// Read one FEC ouput block
|
// Read one FEC output block
|
||||||
pin += syncs[s].shift;
|
pin += syncs[s].shift;
|
||||||
TCS cs = 0;
|
TCS cs = 0;
|
||||||
TBM cost = 0;
|
TBM cost = 0;
|
||||||
|
@ -581,7 +581,7 @@ struct s2_frame_receiver : runnable
|
|||||||
bool strongpls; // PL symbols at max amplitude (default: RMS)
|
bool strongpls; // PL symbols at max amplitude (default: RMS)
|
||||||
uint32_t modcods; // Bitmask of desired modcods
|
uint32_t modcods; // Bitmask of desired modcods
|
||||||
uint8_t framesizes; // Bitmask of desired frame sizes
|
uint8_t framesizes; // Bitmask of desired frame sizes
|
||||||
bool fastlock; // Synchronize more agressively
|
bool fastlock; // Synchronize more aggressively
|
||||||
bool fastdrift; // Carrier drift faster than pilots
|
bool fastdrift; // Carrier drift faster than pilots
|
||||||
float freq_tol; // Tolerance on carrier frequency
|
float freq_tol; // Tolerance on carrier frequency
|
||||||
float sr_tol; // Tolerance on symbol rate
|
float sr_tol; // Tolerance on symbol rate
|
||||||
@ -755,7 +755,7 @@ struct s2_frame_receiver : runnable
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// State transtion
|
// State transition
|
||||||
void enter_frame_detect()
|
void enter_frame_detect()
|
||||||
{
|
{
|
||||||
state = FRAME_DETECT;
|
state = FRAME_DETECT;
|
||||||
|
@ -494,7 +494,7 @@ T max(const T &x, const T &y) {
|
|||||||
return (x < y) ? y : x;
|
return (x < y) ? y : x;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Abreviations for integer types
|
// Abbreviations for integer types
|
||||||
|
|
||||||
typedef unsigned char u8;
|
typedef unsigned char u8;
|
||||||
typedef unsigned short u16;
|
typedef unsigned short u16;
|
||||||
|
@ -357,7 +357,7 @@ struct rs_engine
|
|||||||
u8 e = gf.div(num, den);
|
u8 e = gf.div(num, den);
|
||||||
|
|
||||||
// Subtract e from coefficient of degree loc.
|
// Subtract e from coefficient of degree loc.
|
||||||
// Note: Coeffients listed by decreasing degree in pin[] and pout[].
|
// Note: Coefficients listed by decreasing degree in pin[] and pout[].
|
||||||
if (bits_corrected) {
|
if (bits_corrected) {
|
||||||
*bits_corrected += hamming_weight(e);
|
*bits_corrected += hamming_weight(e);
|
||||||
}
|
}
|
||||||
|
@ -473,7 +473,7 @@ void to_softsymb(const full_ss *fss, hard_ss *ss);
|
|||||||
void softsymb_harden(hard_ss *ss);
|
void softsymb_harden(hard_ss *ss);
|
||||||
uint8_t softsymb_to_dump(const hard_ss &ss, int bit);
|
uint8_t softsymb_to_dump(const hard_ss &ss, int bit);
|
||||||
|
|
||||||
// Euclidian QPSK soft-symbols.
|
// Euclidean QPSK soft-symbols.
|
||||||
// Additive metric suitable for Viterbi.
|
// Additive metric suitable for Viterbi.
|
||||||
// Backward-compatible with simplified Viterbi (TBD remove)
|
// Backward-compatible with simplified Viterbi (TBD remove)
|
||||||
struct eucl_ss
|
struct eucl_ss
|
||||||
@ -1381,7 +1381,7 @@ struct cstln_receiver : runnable
|
|||||||
est_ep = ev_power * kest + est_ep * (1 - kest);
|
est_ep = ev_power * kest + est_ep * (1 - kest);
|
||||||
}
|
}
|
||||||
|
|
||||||
// This is best done periodically ouside the inner loop,
|
// This is best done periodically outside the inner loop,
|
||||||
// but will cause non-deterministic output.
|
// but will cause non-deterministic output.
|
||||||
|
|
||||||
if (!allow_drift)
|
if (!allow_drift)
|
||||||
@ -1655,7 +1655,7 @@ struct fast_qpsk_receiver : runnable
|
|||||||
cstln_out->write(s);
|
cstln_out->write(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
// This is best done periodically ouside the inner loop,
|
// This is best done periodically outside the inner loop,
|
||||||
// but will cause non-deterministic output.
|
// but will cause non-deterministic output.
|
||||||
|
|
||||||
if (!allow_drift)
|
if (!allow_drift)
|
||||||
|
@ -67,7 +67,7 @@ struct RadiosondeDemodSettings
|
|||||||
int m_frameColumnIndexes[RADIOSONDEDEMOD_FRAME_COLUMNS];//!< How the columns are ordered in the table
|
int m_frameColumnIndexes[RADIOSONDEDEMOD_FRAME_COLUMNS];//!< How the columns are ordered in the table
|
||||||
int m_frameColumnSizes[RADIOSONDEDEMOD_FRAME_COLUMNS]; //!< Size of the columns in the table
|
int m_frameColumnSizes[RADIOSONDEDEMOD_FRAME_COLUMNS]; //!< Size of the columns in the table
|
||||||
|
|
||||||
static const int RADIOSONDEDEMOD_CHANNEL_SAMPLE_RATE = 57600; //!< 12x 4800 baud rate (use even multiple so Gausian filter has odd number of taps)
|
static const int RADIOSONDEDEMOD_CHANNEL_SAMPLE_RATE = 57600; //!< 12x 4800 baud rate (use even multiple so Gaussian filter has odd number of taps)
|
||||||
|
|
||||||
RadiosondeDemodSettings();
|
RadiosondeDemodSettings();
|
||||||
void resetToDefaults();
|
void resetToDefaults();
|
||||||
|
@ -112,7 +112,7 @@ private:
|
|||||||
Lowpass<Complex> m_lowpass; // RF input filter
|
Lowpass<Complex> m_lowpass; // RF input filter
|
||||||
PhaseDiscriminators m_phaseDiscri; // FM demodulator
|
PhaseDiscriminators m_phaseDiscri; // FM demodulator
|
||||||
Gaussian<Real> m_pulseShape; // Pulse shaping filter
|
Gaussian<Real> m_pulseShape; // Pulse shaping filter
|
||||||
Real *m_rxBuf; // Receive sample buffer, large enough for one max length messsage
|
Real *m_rxBuf; // Receive sample buffer, large enough for one max length message
|
||||||
int m_rxBufLength; // Size in elements in m_rxBuf
|
int m_rxBufLength; // Size in elements in m_rxBuf
|
||||||
int m_rxBufIdx; // Index in to circular buffer
|
int m_rxBufIdx; // Index in to circular buffer
|
||||||
int m_rxBufCnt; // Number of valid samples in buffer
|
int m_rxBufCnt; // Number of valid samples in buffer
|
||||||
|
@ -108,7 +108,7 @@ private:
|
|||||||
bool m_agcClamping;
|
bool m_agcClamping;
|
||||||
int m_agcNbSamples; //!< number of audio (48 kHz) samples for AGC averaging
|
int m_agcNbSamples; //!< number of audio (48 kHz) samples for AGC averaging
|
||||||
double m_agcPowerThreshold; //!< AGC power threshold (linear)
|
double m_agcPowerThreshold; //!< AGC power threshold (linear)
|
||||||
int m_agcThresholdGate; //!< Gate length in number of samples befor threshold triggers
|
int m_agcThresholdGate; //!< Gate length in number of samples before threshold triggers
|
||||||
DoubleBufferFIFO<fftfilt::cmplx> m_squelchDelayLine;
|
DoubleBufferFIFO<fftfilt::cmplx> m_squelchDelayLine;
|
||||||
bool m_audioActive; //!< True if an audio signal is produced (no AGC or AGC and above threshold)
|
bool m_audioActive; //!< True if an audio signal is produced (no AGC or AGC and above threshold)
|
||||||
Lowpass<Real> m_lowpassI;
|
Lowpass<Real> m_lowpassI;
|
||||||
|
@ -44,9 +44,9 @@ struct FreqScannerSettings
|
|||||||
bool deserialize(const QByteArray& data);
|
bool deserialize(const QByteArray& data);
|
||||||
};
|
};
|
||||||
|
|
||||||
qint32 m_inputFrequencyOffset; //!< Not modifable in GUI
|
qint32 m_inputFrequencyOffset; //!< Not modifiable in GUI
|
||||||
qint32 m_channelBandwidth; //!< Channel bandwidth
|
qint32 m_channelBandwidth; //!< Channel bandwidth
|
||||||
qint32 m_channelFrequencyOffset;//!< Minium DC offset of tuned channel
|
qint32 m_channelFrequencyOffset;//!< Minimum DC offset of tuned channel
|
||||||
Real m_threshold; //!< Power threshold in dB
|
Real m_threshold; //!< Power threshold in dB
|
||||||
QString m_channel; //!< Channel (E.g: R1:4) to tune to active frequency
|
QString m_channel; //!< Channel (E.g: R1:4) to tune to active frequency
|
||||||
QList<FrequencySettings> m_frequencySettings; //!< Frequencies to scan and corresponding settings
|
QList<FrequencySettings> m_frequencySettings; //!< Frequencies to scan and corresponding settings
|
||||||
|
@ -66,7 +66,7 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
enum Command {
|
enum Command {
|
||||||
// These are compatbile with osmocom rtl_tcp: https://github.com/osmocom/rtl-sdr/blob/master/src/rtl_tcp.c
|
// These are compatible with osmocom rtl_tcp: https://github.com/osmocom/rtl-sdr/blob/master/src/rtl_tcp.c
|
||||||
// and Android https://github.com/signalwareltd/rtl_tcp_andro-/blob/master/rtlsdr/src/main/cpp/src/tcp_commands.h
|
// and Android https://github.com/signalwareltd/rtl_tcp_andro-/blob/master/rtlsdr/src/main/cpp/src/tcp_commands.h
|
||||||
setCenterFrequency = 0x1, // rtlsdr_set_center_freq
|
setCenterFrequency = 0x1, // rtlsdr_set_center_freq
|
||||||
setSampleRate = 0x2, // rtlsdr_set_sample_rate
|
setSampleRate = 0x2, // rtlsdr_set_sample_rate
|
||||||
|
@ -93,7 +93,7 @@ struct AISModSettings
|
|||||||
QByteArray m_geometryBytes;
|
QByteArray m_geometryBytes;
|
||||||
bool m_hidden;
|
bool m_hidden;
|
||||||
|
|
||||||
// Sample rate is multiple of 9600 baud rate (use even multiple so Gausian filter has odd number of taps)
|
// Sample rate is multiple of 9600 baud rate (use even multiple so Gaussian filter has odd number of taps)
|
||||||
// Is there any benefit to having this higher?
|
// Is there any benefit to having this higher?
|
||||||
static const int AISMOD_SAMPLE_RATE = (9600*6);
|
static const int AISMOD_SAMPLE_RATE = (9600*6);
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ struct ATVModSettings
|
|||||||
ATVStdPAL625, //!< standard 625 lines B, D, G, H, I, K, K1 and N
|
ATVStdPAL625, //!< standard 625 lines B, D, G, H, I, K, K1 and N
|
||||||
ATVStdPAL525, //!< standard 525 lines M
|
ATVStdPAL525, //!< standard 525 lines M
|
||||||
ATVStd819, //!< standard 819 lines F (Belgium)
|
ATVStd819, //!< standard 819 lines F (Belgium)
|
||||||
ATVStdShortInterlaced, //!< non-standard with mimimal vertical sync sequences permitted by SDR technology
|
ATVStdShortInterlaced, //!< non-standard with minimal vertical sync sequences permitted by SDR technology
|
||||||
ATVStdShort, //!< same as above
|
ATVStdShort, //!< same as above
|
||||||
ATVStdHSkip //!< first introduced vertical sync by skipping horizontal sync to indicate start of image
|
ATVStdHSkip //!< first introduced vertical sync by skipping horizontal sync to indicate start of image
|
||||||
} ATVStd;
|
} ATVStd;
|
||||||
|
@ -90,8 +90,8 @@ private:
|
|||||||
int m_videoHeight; //!< camera frame height
|
int m_videoHeight; //!< camera frame height
|
||||||
float m_videoFx; //!< camera horizontal scaling factor
|
float m_videoFx; //!< camera horizontal scaling factor
|
||||||
float m_videoFy; //!< camera vertictal scaling factor
|
float m_videoFy; //!< camera vertictal scaling factor
|
||||||
float m_videoFPSq; //!< camera FPS sacaling factor
|
float m_videoFPSq; //!< camera FPS scaling factor
|
||||||
float m_videoFPSqManual; //!< camera FPS sacaling factor manually set
|
float m_videoFPSqManual; //!< camera FPS scaling factor manually set
|
||||||
float m_videoFPSCount; //!< camera FPS fractional counter
|
float m_videoFPSCount; //!< camera FPS fractional counter
|
||||||
int m_videoPrevFPSCount; //!< camera FPS previous integer counter
|
int m_videoPrevFPSCount; //!< camera FPS previous integer counter
|
||||||
|
|
||||||
@ -201,7 +201,7 @@ private:
|
|||||||
int m_videoHeight; //!< current video frame height
|
int m_videoHeight; //!< current video frame height
|
||||||
float m_videoFx; //!< current video horizontal scaling factor
|
float m_videoFx; //!< current video horizontal scaling factor
|
||||||
float m_videoFy; //!< current video vertictal scaling factor
|
float m_videoFy; //!< current video vertictal scaling factor
|
||||||
float m_videoFPSq; //!< current video FPS sacaling factor
|
float m_videoFPSq; //!< current video FPS scaling factor
|
||||||
float m_videoFPSCount; //!< current video FPS fractional counter
|
float m_videoFPSCount; //!< current video FPS fractional counter
|
||||||
int m_videoPrevFPSCount; //!< current video FPS previous integer counter
|
int m_videoPrevFPSCount; //!< current video FPS previous integer counter
|
||||||
int m_videoLength; //!< current video length in frames
|
int m_videoLength; //!< current video length in frames
|
||||||
|
@ -56,7 +56,7 @@ struct ChirpChatModSettings
|
|||||||
int m_inputFrequencyOffset;
|
int m_inputFrequencyOffset;
|
||||||
int m_bandwidthIndex;
|
int m_bandwidthIndex;
|
||||||
int m_spreadFactor;
|
int m_spreadFactor;
|
||||||
int m_deBits; //!< Low data rate optmize (DE) bits
|
int m_deBits; //!< Low data rate optimize (DE) bits
|
||||||
unsigned int m_preambleChirps; //!< Number of preamble chirps
|
unsigned int m_preambleChirps; //!< Number of preamble chirps
|
||||||
int m_quietMillis; //!< Number of milliseconds to pause between transmissions
|
int m_quietMillis; //!< Number of milliseconds to pause between transmissions
|
||||||
int m_nbParityBits; //!< Hamming parity bits (LoRa)
|
int m_nbParityBits; //!< Hamming parity bits (LoRa)
|
||||||
|
@ -55,7 +55,7 @@ private:
|
|||||||
{
|
{
|
||||||
ChirpChatStateIdle, //!< Quiet time
|
ChirpChatStateIdle, //!< Quiet time
|
||||||
ChirpChatStatePreamble, //!< Transmit preamble
|
ChirpChatStatePreamble, //!< Transmit preamble
|
||||||
ChirpChatStateSyncWord, //!< Tramsmit sync word
|
ChirpChatStateSyncWord, //!< Transmit sync word
|
||||||
ChirpChatStateSFD, //!< Transmit SFD
|
ChirpChatStateSFD, //!< Transmit SFD
|
||||||
ChirpChatStatePayload //!< Tramsmoit payload
|
ChirpChatStatePayload //!< Tramsmoit payload
|
||||||
};
|
};
|
||||||
@ -77,7 +77,7 @@ private:
|
|||||||
unsigned int m_quietSamples; //!< number of samples during quiet period
|
unsigned int m_quietSamples; //!< number of samples during quiet period
|
||||||
unsigned int m_quarterSamples; //!< number of samples in a quarter chirp
|
unsigned int m_quarterSamples; //!< number of samples in a quarter chirp
|
||||||
unsigned int m_repeatCount; //!< message repetition counter
|
unsigned int m_repeatCount; //!< message repetition counter
|
||||||
bool m_active; //!< modulator is in a sending sequence (icluding periodic quiet times)
|
bool m_active; //!< modulator is in a sending sequence (including periodic quiet times)
|
||||||
|
|
||||||
NCO m_carrierNco;
|
NCO m_carrierNco;
|
||||||
double m_modPhasor; //!< baseband modulator phasor
|
double m_modPhasor; //!< baseband modulator phasor
|
||||||
|
@ -100,7 +100,7 @@ private:
|
|||||||
|
|
||||||
QUdpSocket *m_udpSocket; //!< UDP socket to receive MPEG transport stream via
|
QUdpSocket *m_udpSocket; //!< UDP socket to receive MPEG transport stream via
|
||||||
int m_udpByteCount; //!< Count of bytes received via UDP for bitrate calculation
|
int m_udpByteCount; //!< Count of bytes received via UDP for bitrate calculation
|
||||||
int64_t m_udpAbsByteCount; //!< Count of bytes received via UDP since the begining
|
int64_t m_udpAbsByteCount; //!< Count of bytes received via UDP since the beginning
|
||||||
boost::chrono::steady_clock::time_point m_udpTimingStart; //!< When we last started counting UDP bytes
|
boost::chrono::steady_clock::time_point m_udpTimingStart; //!< When we last started counting UDP bytes
|
||||||
uint8_t m_udpBuffer[188*10];
|
uint8_t m_udpBuffer[188*10];
|
||||||
int m_udpBufferIdx; //!< TS frame index into buffer
|
int m_udpBufferIdx; //!< TS frame index into buffer
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
typedef unsigned int u32;
|
typedef unsigned int u32;
|
||||||
typedef unsigned char u8;
|
typedef unsigned char u8;
|
||||||
|
|
||||||
// BB HEADER fileds
|
// BB HEADER fields
|
||||||
#define TS_GS_TRANSPORT 3
|
#define TS_GS_TRANSPORT 3
|
||||||
#define TS_GS_GENERIC_PACKETIZED 0
|
#define TS_GS_GENERIC_PACKETIZED 0
|
||||||
#define TS_GS_GENERIC_CONTINUOUS 1
|
#define TS_GS_GENERIC_CONTINUOUS 1
|
||||||
@ -67,7 +67,7 @@ typedef struct{
|
|||||||
|
|
||||||
typedef int Bit;
|
typedef int Bit;
|
||||||
|
|
||||||
// The number of useable and stuff bits in a frame
|
// The number of usable and stuff bits in a frame
|
||||||
typedef struct{
|
typedef struct{
|
||||||
int data_bits;
|
int data_bits;
|
||||||
int stuff_bits;
|
int stuff_bits;
|
||||||
|
@ -131,7 +131,7 @@ private:
|
|||||||
QTimer m_statusTimer;
|
QTimer m_statusTimer;
|
||||||
int m_lastFeatureState;
|
int m_lastFeatureState;
|
||||||
|
|
||||||
QHash<QString,APRSStation *> m_stations; // All stations we've recieved packets for. Hashed on callsign
|
QHash<QString,APRSStation *> m_stations; // All stations we've received packets for. Hashed on callsign
|
||||||
|
|
||||||
QMenu *packetsTableMenu; // Column select context menus
|
QMenu *packetsTableMenu; // Column select context menus
|
||||||
QMenu *weatherTableMenu;
|
QMenu *weatherTableMenu;
|
||||||
|
@ -346,7 +346,7 @@ private slots:
|
|||||||
{
|
{
|
||||||
QMutexLocker locker(&m_mutex);
|
QMutexLocker locker(&m_mutex);
|
||||||
//QString url = reply->url().toEncoded().constData();
|
//QString url = reply->url().toEncoded().constData();
|
||||||
QString url = reply->request().url().toEncoded().constData(); // reply->url() may differ if redirection occured, so use requested
|
QString url = reply->request().url().toEncoded().constData(); // reply->url() may differ if redirection occurred, so use requested
|
||||||
|
|
||||||
if (!isHttpRedirect(reply))
|
if (!isHttpRedirect(reply))
|
||||||
{
|
{
|
||||||
|
@ -75,7 +75,7 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// Sent from worker to GUI to indicaite LOS
|
// Sent from worker to GUI to indicate LOS
|
||||||
class MsgReportLOS : public Message {
|
class MsgReportLOS : public Message {
|
||||||
MESSAGE_CLASS_DECLARATION
|
MESSAGE_CLASS_DECLARATION
|
||||||
|
|
||||||
|
@ -51,7 +51,7 @@ private:
|
|||||||
bool m_running;
|
bool m_running;
|
||||||
|
|
||||||
DevicePlutoSDRBox *m_plutoBox;
|
DevicePlutoSDRBox *m_plutoBox;
|
||||||
int16_t *m_buf; //!< holds I+Q values of each sample from devce
|
int16_t *m_buf; //!< holds I+Q values of each sample from device
|
||||||
// int16_t *m_bufConv; //!< holds I+Q values of each sample converted to host format via iio_channel_convert
|
// int16_t *m_bufConv; //!< holds I+Q values of each sample converted to host format via iio_channel_convert
|
||||||
uint32_t m_blockSizeSamples; //!< buffer sizes in number of (I,Q) samples
|
uint32_t m_blockSizeSamples; //!< buffer sizes in number of (I,Q) samples
|
||||||
SampleSourceFifo* m_sampleFifo; //!< DSP sample FIFO (I,Q)
|
SampleSourceFifo* m_sampleFifo; //!< DSP sample FIFO (I,Q)
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
// BladerRF2 is a SISO/MIMO device with a single stream supporting one or two Rx
|
// BladerRF2 is a SISO/MIMO device with a single stream supporting one or two Rx
|
||||||
// Therefore only one thread can be allocated for the Rx side
|
// Therefore only one thread can be allocated for the Rx side
|
||||||
// All FIFOs must be registered before calling startWork() else SISO/MIMO switch will not work properly
|
// All FIFOs must be registered before calling startWork() else SISO/MIMO switch will not work properly
|
||||||
// with unpredicatable results
|
// with unpredictable results
|
||||||
|
|
||||||
#include <QThread>
|
#include <QThread>
|
||||||
#include <QMutex>
|
#include <QMutex>
|
||||||
|
@ -80,7 +80,7 @@ private slots:
|
|||||||
void on_ppm_valueChanged(int value);
|
void on_ppm_valueChanged(int value);
|
||||||
void on_dcOffset_toggled(bool checked);
|
void on_dcOffset_toggled(bool checked);
|
||||||
void on_iqImbalance_toggled(bool checked);
|
void on_iqImbalance_toggled(bool checked);
|
||||||
// TOOD: defaults push button
|
// TODO: defaults push button
|
||||||
void on_lnaGain_currentIndexChanged(int index);
|
void on_lnaGain_currentIndexChanged(int index);
|
||||||
void on_rfFilter_currentIndexChanged(int index);
|
void on_rfFilter_currentIndexChanged(int index);
|
||||||
void on_lnaEnhance_currentIndexChanged(int index);
|
void on_lnaEnhance_currentIndexChanged(int index);
|
||||||
|
@ -53,7 +53,7 @@ private:
|
|||||||
bool m_running;
|
bool m_running;
|
||||||
|
|
||||||
DevicePlutoSDRBox *m_plutoBox;
|
DevicePlutoSDRBox *m_plutoBox;
|
||||||
int16_t *m_buf; //!< holds I+Q values of each sample from devce
|
int16_t *m_buf; //!< holds I+Q values of each sample from device
|
||||||
int16_t *m_bufConv; //!< holds I+Q values of each sample converted to host format via iio_channel_convert
|
int16_t *m_bufConv; //!< holds I+Q values of each sample converted to host format via iio_channel_convert
|
||||||
uint32_t m_blockSizeSamples; //!< buffer sizes in number of (I,Q) samples
|
uint32_t m_blockSizeSamples; //!< buffer sizes in number of (I,Q) samples
|
||||||
SampleVector m_convertBuffer; //!< vector of (I,Q) samples used for decimation and scaling conversion
|
SampleVector m_convertBuffer; //!< vector of (I,Q) samples used for decimation and scaling conversion
|
||||||
|
@ -70,7 +70,7 @@ public:
|
|||||||
uint32_t GetSSRC() const;
|
uint32_t GetSSRC() const;
|
||||||
|
|
||||||
/** Returns the name contained in the APP packet.
|
/** Returns the name contained in the APP packet.
|
||||||
* Returns the name contained in the APP packet. This alway consists of four bytes and is not NULL-terminated.
|
* Returns the name contained in the APP packet. This always consists of four bytes and is not NULL-terminated.
|
||||||
*/
|
*/
|
||||||
uint8_t *GetName();
|
uint8_t *GetName();
|
||||||
|
|
||||||
|
@ -92,7 +92,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Returns \c true if only half the minimum interval should be used before sending the first RTCP compound packet
|
/** Returns \c true if only half the minimum interval should be used before sending the first RTCP compound packet
|
||||||
* (defualt is \c true).
|
* (default is \c true).
|
||||||
*/
|
*/
|
||||||
bool GetUseHalfAtStartup() const
|
bool GetUseHalfAtStartup() const
|
||||||
{
|
{
|
||||||
|
@ -74,7 +74,7 @@ public:
|
|||||||
void addChannelSource(BasebandSampleSource* sink, int streamIndex = 0); //!< Add a channel source (Tx)
|
void addChannelSource(BasebandSampleSource* sink, int streamIndex = 0); //!< Add a channel source (Tx)
|
||||||
void removeChannelSource(BasebandSampleSource* sink, int streamIndex = 0); //!< Remove a channel source (Tx)
|
void removeChannelSource(BasebandSampleSource* sink, int streamIndex = 0); //!< Remove a channel source (Tx)
|
||||||
void addMIMOChannel(MIMOChannel* channel); //!< Add a MIMO channel (n Rx and m Tx combination)
|
void addMIMOChannel(MIMOChannel* channel); //!< Add a MIMO channel (n Rx and m Tx combination)
|
||||||
void removeMIMOChannel(MIMOChannel* channe); //!< Remove a MIMO channel (n Rx and m Tx combination)
|
void removeMIMOChannel(MIMOChannel* channel); //!< Remove a MIMO channel (n Rx and m Tx combination)
|
||||||
|
|
||||||
void addChannelSinkAPI(ChannelAPI* channelAPI);
|
void addChannelSinkAPI(ChannelAPI* channelAPI);
|
||||||
void removeChannelSinkAPI(ChannelAPI* channelAPI);
|
void removeChannelSinkAPI(ChannelAPI* channelAPI);
|
||||||
|
@ -58,7 +58,7 @@ public:
|
|||||||
int runFilt(const cmplx& in, cmplx **out);
|
int runFilt(const cmplx& in, cmplx **out);
|
||||||
int runSSB(const cmplx& in, cmplx **out, bool usb, bool getDC = true);
|
int runSSB(const cmplx& in, cmplx **out, bool usb, bool getDC = true);
|
||||||
int runDSB(const cmplx& in, cmplx **out, bool getDC = true);
|
int runDSB(const cmplx& in, cmplx **out, bool getDC = true);
|
||||||
int runAsym(const cmplx & in, cmplx **out, bool usb); //!< Asymmetrical fitering can be used for vestigial sideband
|
int runAsym(const cmplx & in, cmplx **out, bool usb); //!< Asymmetrical filtering can be used for vestigial sideband
|
||||||
|
|
||||||
void setDNR(bool dnr) { m_dnr = dnr; }
|
void setDNR(bool dnr) { m_dnr = dnr; }
|
||||||
void setDNRScheme(FFTNoiseReduction::Scheme scheme) { m_dnrScheme = scheme; }
|
void setDNRScheme(FFTNoiseReduction::Scheme scheme) { m_dnrScheme = scheme; }
|
||||||
|
@ -36,7 +36,7 @@ public:
|
|||||||
FFTNoiseReduction(int len);
|
FFTNoiseReduction(int len);
|
||||||
~FFTNoiseReduction();
|
~FFTNoiseReduction();
|
||||||
|
|
||||||
void init(); //!< call befor start of initial FFT scan
|
void init(); //!< call before start of initial FFT scan
|
||||||
void push(cmplx data, int index); //!< Push FFT bin during initial FFT scan
|
void push(cmplx data, int index); //!< Push FFT bin during initial FFT scan
|
||||||
void calc(); //!< calculate after initial FFT scan
|
void calc(); //!< calculate after initial FFT scan
|
||||||
bool cut(int index); //!< true if bin is to be zeroed else false (during second FFT scan)
|
bool cut(int index); //!< true if bin is to be zeroed else false (during second FFT scan)
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
#include "export.h"
|
#include "export.h"
|
||||||
|
|
||||||
// Goertzel filter for calculting discrete Fourier transform for a single frequency
|
// Goertzel filter for calculating discrete Fourier transform for a single frequency
|
||||||
// Implementation supports non-integer multiples of fundamental frequency, see:
|
// Implementation supports non-integer multiples of fundamental frequency, see:
|
||||||
// https://asp-eurasipjournals.springeropen.com/track/pdf/10.1186/1687-6180-2012-56.pdf
|
// https://asp-eurasipjournals.springeropen.com/track/pdf/10.1186/1687-6180-2012-56.pdf
|
||||||
class SDRBASE_API Goertzel
|
class SDRBASE_API Goertzel
|
||||||
|
@ -863,7 +863,7 @@ protected:
|
|||||||
|
|
||||||
void doFIR(qint32 *x, qint32 *y)
|
void doFIR(qint32 *x, qint32 *y)
|
||||||
{
|
{
|
||||||
// Coefficents. This is a sinc function:
|
// Coefficients. This is a sinc function:
|
||||||
// Half of the half of coefficients are stored because:
|
// Half of the half of coefficients are stored because:
|
||||||
// - half of the coefficients are 0
|
// - half of the coefficients are 0
|
||||||
// - there is a symmertry around the central 0.5 coefficient (not stored either)
|
// - there is a symmertry around the central 0.5 coefficient (not stored either)
|
||||||
|
@ -92,7 +92,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Alternative without atan at the expense of a slight distorsion on very wideband signals
|
* Alternative without atan at the expense of a slight distortion on very wideband signals
|
||||||
* http://www.embedded.com/design/configurable-systems/4212086/DSP-Tricks--Frequency-demodulation-algorithms-
|
* http://www.embedded.com/design/configurable-systems/4212086/DSP-Tricks--Frequency-demodulation-algorithms-
|
||||||
* in addition it needs scaling by instantaneous magnitude squared and volume (0..10) adjustment factor
|
* in addition it needs scaling by instantaneous magnitude squared and volume (0..10) adjustment factor
|
||||||
*/
|
*/
|
||||||
|
@ -1267,7 +1267,7 @@ private:
|
|||||||
/**
|
/**
|
||||||
* Moves on to the next trigger if any or increments trigger count if in repeat mode
|
* Moves on to the next trigger if any or increments trigger count if in repeat mode
|
||||||
* - If not final it returns true
|
* - If not final it returns true
|
||||||
* - If final i.e. signal is actually triggerd it returns false
|
* - If final i.e. signal is actually triggered it returns false
|
||||||
*/
|
*/
|
||||||
bool nextTrigger(); //!< Returns true if not final
|
bool nextTrigger(); //!< Returns true if not final
|
||||||
|
|
||||||
|
@ -108,7 +108,7 @@ public:
|
|||||||
if (m_id == 4)
|
if (m_id == 4)
|
||||||
return "Base station report";
|
return "Base station report";
|
||||||
else
|
else
|
||||||
return "UTC and data reponse";
|
return "UTC and data response";
|
||||||
}
|
}
|
||||||
virtual bool hasPosition() { return m_latitudeAvailable && m_longitudeAvailable; }
|
virtual bool hasPosition() { return m_latitudeAvailable && m_longitudeAvailable; }
|
||||||
virtual float getLatitude() { return m_latitude; }
|
virtual float getLatitude() { return m_latitude; }
|
||||||
|
@ -94,7 +94,7 @@ struct SDRBASE_API APRSPacket {
|
|||||||
bool m_hasGust;
|
bool m_hasGust;
|
||||||
int m_temp; // Fahrenheit, can be negative down to -99
|
int m_temp; // Fahrenheit, can be negative down to -99
|
||||||
bool m_hasTemp;
|
bool m_hasTemp;
|
||||||
int m_rainLastHr; // Hundreths of an inch
|
int m_rainLastHr; // Hundredths of an inch
|
||||||
bool m_hasRainLastHr;
|
bool m_hasRainLastHr;
|
||||||
int m_rainLast24Hrs;
|
int m_rainLast24Hrs;
|
||||||
bool m_hasRainLast24Hrs;
|
bool m_hasRainLast24Hrs;
|
||||||
|
@ -49,7 +49,7 @@ public:
|
|||||||
QStringList m_conditions; // Weather conditions (Rain, snow)
|
QStringList m_conditions; // Weather conditions (Rain, snow)
|
||||||
float m_ceiling; // Ceiling in feet
|
float m_ceiling; // Ceiling in feet
|
||||||
QStringList m_clouds; // Cloud types and altitudes
|
QStringList m_clouds; // Cloud types and altitudes
|
||||||
float m_temperature; // Air temperature in Celsuis
|
float m_temperature; // Air temperature in Celsius
|
||||||
float m_dewpoint; // Dewpoint in Celsuius
|
float m_dewpoint; // Dewpoint in Celsuius
|
||||||
float m_pressure; // Air pressure in hPa/mb
|
float m_pressure; // Air pressure in hPa/mb
|
||||||
float m_humidity; // Humidity in %
|
float m_humidity; // Humidity in %
|
||||||
|
@ -97,7 +97,7 @@ public:
|
|||||||
double m_longitude; // In degrees
|
double m_longitude; // In degrees
|
||||||
double m_height; // In metres
|
double m_height; // In metres
|
||||||
double m_speed; // In m/s
|
double m_speed; // In m/s
|
||||||
double m_heading; // In degreees
|
double m_heading; // In degrees
|
||||||
double m_verticalRate; // In m/s
|
double m_verticalRate; // In m/s
|
||||||
int m_satellitesUsed;
|
int m_satellitesUsed;
|
||||||
|
|
||||||
|
@ -176,7 +176,7 @@ protected:
|
|||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// modnn -- modulo replacement for galois field arithmetics, optionally w/ table acceleration
|
// modnn -- modulo replacement for galois field arithmetic, optionally w/ table acceleration
|
||||||
//
|
//
|
||||||
// @x: the value to reduce (will never be -'ve)
|
// @x: the value to reduce (will never be -'ve)
|
||||||
//
|
//
|
||||||
|
@ -78,7 +78,7 @@ private:
|
|||||||
QNetworkAccessManager *m_networkManager;
|
QNetworkAccessManager *m_networkManager;
|
||||||
QNetworkDiskCache *m_cache;
|
QNetworkDiskCache *m_cache;
|
||||||
|
|
||||||
// Index page isn't cachable (using network cache), so we cache it ourselves, as it can take up to 5 seconds to fetch
|
// Index page isn't cacheable (using network cache), so we cache it ourselves, as it can take up to 5 seconds to fetch
|
||||||
QCache<QDate, QByteArray> m_indexCache;
|
QCache<QDate, QByteArray> m_indexCache;
|
||||||
QDateTime m_todayCacheDateTime;
|
QDateTime m_todayCacheDateTime;
|
||||||
QByteArray *m_todayCache;
|
QByteArray *m_todayCache;
|
||||||
|
@ -37,7 +37,7 @@ public:
|
|||||||
struct SpyServer {
|
struct SpyServer {
|
||||||
QString m_generalDescription;
|
QString m_generalDescription;
|
||||||
QString m_deviceType;
|
QString m_deviceType;
|
||||||
QString m_streamingHost; // IP addrss
|
QString m_streamingHost; // IP address
|
||||||
int m_streamingPort; // IP port
|
int m_streamingPort; // IP port
|
||||||
int m_currentClientCount;
|
int m_currentClientCount;
|
||||||
int m_maxClients;
|
int m_maxClients;
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
#include "export.h"
|
#include "export.h"
|
||||||
|
|
||||||
// List of VLF transmitters
|
// List of VLF transmitters
|
||||||
// Built-in list can be overriden by user supplied vlftransmitters.csv file, that is read at startup, from the app data dir
|
// Built-in list can be overridden by user supplied vlftransmitters.csv file, that is read at startup, from the app data dir
|
||||||
class SDRBASE_API VLFTransmitters
|
class SDRBASE_API VLFTransmitters
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -332,7 +332,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handler of /sdrangel/audio/output/paramaters (DELETE) swagger/sdrangel/code/html2/index.html#api-Default-instanceChannels
|
* Handler of /sdrangel/audio/output/parameters (DELETE) swagger/sdrangel/code/html2/index.html#api-Default-instanceChannels
|
||||||
* returns the Http status code (default 501: not implemented)
|
* returns the Http status code (default 501: not implemented)
|
||||||
*/
|
*/
|
||||||
virtual int instanceAudioOutputDelete(
|
virtual int instanceAudioOutputDelete(
|
||||||
|
@ -32,7 +32,7 @@ class QPushButton;
|
|||||||
class DialogPositioner;
|
class DialogPositioner;
|
||||||
|
|
||||||
// A popup dialog for QDials that uses a slider instead, which is easier to use
|
// A popup dialog for QDials that uses a slider instead, which is easier to use
|
||||||
// on a touch screen. Actived with tap and hold or right mouse click
|
// on a touch screen. Activated with tap and hold or right mouse click
|
||||||
class SDRGUI_API DialPopup : public QDialog {
|
class SDRGUI_API DialPopup : public QDialog {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
|
|
||||||
// Class to allow frameless windows (Qt::FramelessWindowHint) to be resized
|
// Class to allow frameless windows (Qt::FramelessWindowHint) to be resized
|
||||||
// by clicking and draging on the border
|
// by clicking and dragging on the border
|
||||||
// The window needs to forward the mousePressEvent, mouseReleaseEvent, mouseMoveEvent
|
// The window needs to forward the mousePressEvent, mouseReleaseEvent, mouseMoveEvent
|
||||||
// and leaveEvent events to this class
|
// and leaveEvent events to this class
|
||||||
// Child widgets should have mouse tracking enabled, so cursor can be controlled properly
|
// Child widgets should have mouse tracking enabled, so cursor can be controlled properly
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
/*
|
/*
|
||||||
* SWGFrequencyBand.h
|
* SWGFrequencyBand.h
|
||||||
*
|
*
|
||||||
* A band of frequencies given its boudaries in Hertz (Hz)
|
* A band of frequencies given its boundaries in Hertz (Hz)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef SWGFrequencyBand_H_
|
#ifndef SWGFrequencyBand_H_
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
/*
|
/*
|
||||||
* SWGPreferences.h
|
* SWGPreferences.h
|
||||||
*
|
*
|
||||||
* Repreents a Prefernce object
|
* Represents a Preference object
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef SWGPreferences_H_
|
#ifndef SWGPreferences_H_
|
||||||
|
Loading…
Reference in New Issue
Block a user