MakerLabs ACM
hid_global_reader.h
Go to the documentation of this file.
1 #pragma once
7 
8 #include "hid_global_tag_id.h"
9 #include "wiegand_reader.h"
10 
11 #include <atomic>
12 #include <experimental/optional>
13 
15 //: private WiegandReader
16 : public WiegandReader
17 {
18 public:
19  using MaybeTagId = std::experimental::optional<HIDGlobalTagID>;
20 
21  explicit HIDGlobalReader(const WiegandReader::Config& config) noexcept;
22 
23  enum class ScanState
24  {
28  };
29 
30  auto scan_tag()
31  -> MaybeTagId;
32 
33  auto beep(TimeDuration duration)
34  -> void;
35 
36  auto IRAM_ATTR scanning_fsm()
37  -> void;
38 
39  //std::atomic<HIDGlobalTagID> last_scanned_tag;
41 
42 protected:
44 };
auto scan_tag() -> MaybeTagId
Definition: hid_global_reader.cpp:132
ScanState
Definition: hid_global_reader.h:23
Definition: wiegand_reader.h:26
MaybeTagId last_scanned_tag
Definition: hid_global_reader.h:40
Definition: config.production.yml:1
Definition: hid_global_reader.h:14
HIDGlobalReader(const WiegandReader::Config &config) noexcept
Definition: hid_global_reader.cpp:26
ScanState scan_state
Definition: hid_global_reader.h:43
std::chrono::microseconds TimeDuration
Definition: timestamp.h:19
auto beep(TimeDuration duration) -> void
Definition: hid_global_reader.cpp:149
std::experimental::optional< HIDGlobalTagID > MaybeTagId
Definition: hid_global_reader.h:19
Definition: wiegand_reader.h:23
auto scanning_fsm() -> void
Definition: hid_global_reader.cpp:80