60 lines
1.2 KiB
C
Raw Normal View History

#ifndef LF_H
#define LF_H
#include <QObject>
#include "common/util.h"
#include "ui_mainwindow.h"
class LF : public QObject
{
Q_OBJECT
public:
explicit LF(Ui::MainWindow *ui, Util *addr, QWidget *parent = nullptr);
2021-09-20 15:32:00 +08:00
struct LFConfig
2021-02-23 16:35:58 +08:00
{
uint8_t divisor;
2021-09-20 15:32:00 +08:00
uint8_t bitsPerSample;
2021-02-23 16:35:58 +08:00
uint8_t decimation;
bool averaging;
uint8_t triggerThreshold;
uint16_t samplesToSkip;
};
2021-09-20 15:32:00 +08:00
static constexpr LFConfig defaultLFConfig =
{
95,
8,
1,
true,
0,
0
};
void read();
void sniff();
void search();
void tune();
2021-09-20 15:32:00 +08:00
void getLFConfig();
void setLFConfig(LF::LFConfig lfconfig);
void resetLFConfig();
2021-02-23 16:35:58 +08:00
static float divisor2Freq(uint8_t divisor);
static uint8_t freq2Divisor(float freq);
2021-09-20 15:32:00 +08:00
void setConfigMap(const QVariantMap &configMap);
private:
QWidget* parent;
Ui::MainWindow *ui;
Util* util;
2021-09-20 15:32:00 +08:00
LFConfig currLFConfig;
QRegularExpression* LFconfigPattern;
QVariantMap configMap;
2021-02-23 16:35:58 +08:00
void syncWithUI();
2021-09-20 15:32:00 +08:00
bool getLFConfig_helper(const QVariantMap& map, QString& str, int* result);
signals:
};
#endif // LF_H