-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdisplay.hpp
71 lines (61 loc) · 1.58 KB
/
display.hpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#pragma once
#include "detail/utility.hpp"
#include "session.hpp"
static bool is_display_enabled = true;
template<typename... Args>
static nfc::Status print(Args &&... args) {
if (is_display_enabled)
Serial.print(FWD(args)...);
}
template<typename... Args>
static nfc::Status println(Args &&... args) {
if (is_display_enabled)
Serial.println(FWD(args)...);
}
static void enable_display(bool value) { is_display_enabled = value; }
static nfc::Status error_handler(nfc::Status status) {
using namespace nfc;
switch (status) {
case Status::OK:
break;
case Status::NO_CARD_DETECTED:
println("No card detected");
break;
case Status::NO_UID_RECEIVED:
println("No uid received");
break;
case Status::BAD_KEY:
println("Bad key");
break;
case Status::NO_ACTIVE_PICC:
println("No PICC selected");
break;
case Status::HALT_DENIED:
println("PICC denied the halt request");
break;
case Status::ACCESS_DENIED:
println("PICC didn't grant access to this block");
break;
case Status::FATAL:
println("An unrecoverable error has occured and connection has been terminated");
break;
default:
print("Unknown error : ");
println(static_cast<int>(status));
break;
}
return status;
}
static void print_byte_sequence(const uint8_t *sequence, size_t size) {
for (size_t i = 0; i < size; i++) {
if (sequence[i] <= 0xf)
print('0');
print(sequence[i], HEX);
print(' ');
}
println();
}
template<size_t N>
static void print_byte_sequence(const uint8_t (&array)[N]) {
print_byte_sequence(array, N);
}