12static const char *
const TAG =
"pn532_i2c";
39 ESP_LOGV(TAG,
"Reading response");
45 ESP_LOGV(TAG,
"Reading response of length %d",
len);
47 ESP_LOGD(TAG,
"No response data");
51 if (data[1] != 0x00 || data[2] != 0x00 || data[3] != 0xFF) {
53 ESP_LOGV(TAG,
"read data invalid preamble!");
57 bool valid_header = (
static_cast<uint8_t
>(data[4] + data[5]) == 0 &&
59 data[7] == command + 1);
62 ESP_LOGV(TAG,
"read data invalid header!");
66 data.erase(data.begin(), data.begin() + 6);
69 for (
int i = 0; i <
len + 1; i++) {
70 uint8_t dat = data[i];
76 ESP_LOGV(TAG,
"read data invalid checksum! %02X != %02X", data[
len],
checksum);
80 if (data[
len + 2] != 0x00) {
81 ESP_LOGV(TAG,
"read data invalid postamble!");
85 data.erase(data.begin(), data.begin() + 2);
86 data.erase(data.end() - 2, data.end());
92 std::vector<uint8_t> data;
97 if (data[1] != 0x00 || data[2] != 0x00 || data[3] != 0xFF) {
99 ESP_LOGV(TAG,
"read data invalid preamble!");
103 bool valid_header = (
static_cast<uint8_t
>(data[4] + data[5]) == 0 &&
107 ESP_LOGV(TAG,
"read data invalid header!");
114 uint8_t full_len = data[4];
116 uint8_t
len = full_len - 1;
123 PN532::dump_config();
124 LOG_I2C_DEVICE(
this);
ErrorCode write(const uint8_t *data, size_t len) const
writes an array of bytes to a device using an I2CBus
optional< std::array< uint8_t, N > > read_bytes_raw()
enum PN532ReadReady read_ready_(bool block)
uint8_t read_response_length_()
bool write_data(const std::vector< uint8_t > &data) override
bool read_response(uint8_t command, std::vector< uint8_t > &data) override
void dump_config() override
bool is_read_ready() override
bool read_data(std::vector< uint8_t > &data, uint8_t len) override
@ ERROR_OK
No error found during execution of method.
void HOT delay(uint32_t ms)