New LF-RFID app (#534)
* Hal lfrfid: add read timer pulse and period config fns * New debug application for lfrfid subsystem * New lfrfid: app, fix naming * App lfrfid: assets * Container view module * App ibutton: remove unused header * App lfrfid scenes * App notification, add yield to blocking operations, add speaker volume control * App lfrfid: reading key scene * Assets: placeholder icon * App lfrfid: reworked container view module * App lfrfid: new scenes * App lfrfid: write scene * App lfrfid: write hid * App lfrfid: emulate scene * App lfrfid: save name scene * App lfrfid: add missing file
This commit is contained in:
46
applications/lfrfid/helpers/rfid-worker.h
Normal file
46
applications/lfrfid/helpers/rfid-worker.h
Normal file
@@ -0,0 +1,46 @@
|
||||
#pragma once
|
||||
#include "key-info.h"
|
||||
#include "rfid-reader.h"
|
||||
#include "rfid-writer.h"
|
||||
#include "rfid-timer-emulator.h"
|
||||
#include "rfid-key.h"
|
||||
#include "state-sequencer.h"
|
||||
|
||||
class RfidWorker {
|
||||
public:
|
||||
RfidWorker();
|
||||
~RfidWorker();
|
||||
|
||||
void start_read();
|
||||
bool read();
|
||||
void stop_read();
|
||||
|
||||
enum class WriteResult : uint8_t {
|
||||
Ok,
|
||||
NotWritable,
|
||||
Nothing,
|
||||
};
|
||||
|
||||
void start_write();
|
||||
WriteResult write();
|
||||
void stop_write();
|
||||
|
||||
void start_emulate();
|
||||
void stop_emulate();
|
||||
|
||||
RfidKey key;
|
||||
|
||||
private:
|
||||
RfidWriter writer;
|
||||
RfidReader reader;
|
||||
RfidTimerEmulator emulator;
|
||||
|
||||
WriteResult write_result;
|
||||
TickSequencer* write_sequence;
|
||||
|
||||
void sq_write();
|
||||
void sq_write_start_validate();
|
||||
void sq_write_validate();
|
||||
uint8_t validate_counts;
|
||||
void sq_write_stop_validate();
|
||||
};
|
Reference in New Issue
Block a user