mirror of https://github.com/wh201906/Proxmark3GUI
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.2 KiB
C++
60 lines
1.2 KiB
C++
#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);
|
|
|
|
struct LFConfig
|
|
{
|
|
uint8_t divisor;
|
|
uint8_t bitsPerSample;
|
|
uint8_t decimation;
|
|
bool averaging;
|
|
uint8_t triggerThreshold;
|
|
uint16_t samplesToSkip;
|
|
};
|
|
|
|
static constexpr LFConfig defaultLFConfig =
|
|
{
|
|
95,
|
|
8,
|
|
1,
|
|
true,
|
|
0,
|
|
0
|
|
};
|
|
|
|
void read();
|
|
void sniff();
|
|
void search();
|
|
void tune();
|
|
void getLFConfig();
|
|
void setLFConfig(LF::LFConfig lfconfig);
|
|
void resetLFConfig();
|
|
static float divisor2Freq(uint8_t divisor);
|
|
static uint8_t freq2Divisor(float freq);
|
|
|
|
void setConfigMap(const QVariantMap &configMap);
|
|
private:
|
|
QWidget* parent;
|
|
Ui::MainWindow *ui;
|
|
Util* util;
|
|
LFConfig currLFConfig;
|
|
QRegularExpression* LFconfigPattern;
|
|
QVariantMap configMap;
|
|
void syncWithUI();
|
|
bool getLFConfig_helper(const QVariantMap& map, QString& str, int* result);
|
|
signals:
|
|
|
|
};
|
|
|
|
#endif // LF_H
|