389ff92cc1
* Makefile, Scripts: new linter * About: remove ID from IC * Firmware: remove double define for DIVC/DIVR * Scripts: check folder names too. Docker: replace syntax check with make lint. * Reformat Sources and Migrate to new file naming convention * Docker: symlink clang-format-12 to clang-format * Add coding style guide
35 lines
749 B
C++
35 lines
749 B
C++
#pragma once
|
|
#include <furi.h>
|
|
#include "key_info.h"
|
|
#include "key_reader.h"
|
|
#include "key_emulator.h"
|
|
#include "key_writer.h"
|
|
#include "../ibutton_key.h"
|
|
#include <one_wire_master.h>
|
|
#include <one_wire_slave.h>
|
|
|
|
class KeyWorker {
|
|
public:
|
|
KeyReader::Error read(iButtonKey* key);
|
|
void start_read();
|
|
void stop_read();
|
|
|
|
bool emulated();
|
|
void start_emulate(iButtonKey* key);
|
|
void stop_emulate();
|
|
|
|
KeyWriter::Error write(iButtonKey* key);
|
|
void start_write();
|
|
void stop_write();
|
|
|
|
KeyWorker(const GpioPin* one_wire_gpio);
|
|
~KeyWorker();
|
|
|
|
private:
|
|
// one wire
|
|
OneWireMaster onewire_master;
|
|
OneWireSlave onewire_slave;
|
|
KeyReader key_reader;
|
|
KeyEmulator key_emulator;
|
|
KeyWriter key_writer;
|
|
}; |